.gallery-page{min-height:55vh}.gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}.gallery-heading .section-heading{margin-bottom:12px}.gallery-heading p{color:#64748b;line-height:1.8;margin:0}.gallery-count{white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:8px 16px;font-size:.85rem;color:#475569}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-card{margin:0;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;background:#fff}.gallery-card>a{display:block;color:inherit;text-decoration:none;height:100%}.gallery-card>a:focus-visible{outline:3px solid #2563eb;outline-offset:-4px}.gallery-photo{position:relative;aspect-ratio:4/3;overflow:hidden;background:#f1f5f9}.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.gallery-card a:hover .gallery-photo img{transform:scale(1.025)}.gallery-expand{position:absolute;inset-inline-end:14px;bottom:14px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:#0f3e5b;box-shadow:0 2px 8px #0002}.gallery-expand svg{width:18px;height:18px}.gallery-card figcaption{padding:20px}.gallery-card h2{font-size:1.05rem;line-height:1.7;margin:0 0 8px;overflow-wrap:anywhere}.gallery-card p{font-size:.9rem;color:#64748b;line-height:1.9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 12px}.gallery-view{font-size:.8rem;color:#0f766e;font-weight:700}.gallery-empty{border:1px dashed #cbd5e1;background:#f8fafc;border-radius:16px;padding:64px 24px;text-align:center}.gallery-empty>svg{width:44px;height:44px;color:#64748b;margin:auto}.gallery-empty h2{font-size:1.2rem;margin:18px 0 10px}.gallery-empty p{color:#64748b;line-height:1.8}.gallery-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:36px}.gallery-lightbox{width:min(1000px,94vw);max-width:94vw;max-height:94dvh;box-sizing:border-box;overflow:auto;border:1px solid #334155;border-radius:16px;padding:0;background:#101b2c;color:#f8fafc;box-shadow:0 24px 80px #0008}.gallery-lightbox::backdrop{background:#07101bdc}.gallery-lightbox-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;gap:16px}.gallery-lightbox-bar p{margin:0;color:#cbd5e1;font-size:.85rem;direction:ltr}.gallery-lightbox button{border:1px solid #475569;background:#1e293b;color:#f8fafc;border-radius:8px;min-height:40px;padding:8px 16px;cursor:pointer;font:inherit;font-size:.85rem}.gallery-lightbox button:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}.gallery-lightbox button:disabled{opacity:.5;cursor:default}.gallery-lightbox-stage{background:#080f1b;min-height:150px;display:grid;place-items:center}.gallery-lightbox-stage img{display:block;width:100%;max-height:58dvh;object-fit:contain}.gallery-lightbox-stage p{padding:24px;color:#fecaca}.gallery-lightbox-caption{padding:20px 24px 8px}.gallery-lightbox-caption h2{font-size:1.15rem;line-height:1.8;margin:0}.gallery-lightbox-caption p{font-size:.9rem;line-height:1.9;color:#cbd5e1;white-space:pre-wrap;margin:8px 0;overflow-wrap:anywhere}.gallery-lightbox-controls{display:flex;justify-content:space-between;padding:16px 24px 24px;gap:12px}.dark .gallery-card{background:#172033;border-color:#334155}.dark .gallery-count,.dark .gallery-empty{background:#172033;border-color:#475569;color:#cbd5e1}.dark .gallery-heading p,.dark .gallery-card p,.dark .gallery-empty p{color:#cbd5e1}.dark .gallery-view{color:#5eead4}@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}@media(max-width:560px){.gallery-heading{align-items:flex-start;gap:12px}.gallery-heading p{font-size:.85rem}.gallery-count{padding:6px 10px;font-size:.75rem}.gallery-grid{grid-template-columns:1fr;gap:20px}.gallery-card figcaption{padding:18px}.gallery-empty{padding:40px 20px}.gallery-lightbox{width:96vw;max-width:96vw;border-radius:12px}.gallery-lightbox-bar,.gallery-lightbox-caption,.gallery-lightbox-controls{padding-inline:16px}.gallery-pagination{gap:12px;font-size:.8rem}}@media(prefers-reduced-motion:reduce){.gallery-photo img{transition:none}}
