/* GLOBAL ACCESS real-photo galleries (loaded only on pages that use them) */
.ga-gal{padding:4rem 0;background:#fff;border-top:1px solid #e2e8f0}
.ga-gal.alt{background:#f8fafc}
.ga-gal .ga-wrap{max-width:72rem;margin:0 auto;padding:0 1.5rem}
.ga-gal .ga-head{text-align:center;margin-bottom:2rem}
.ga-gal .ga-eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#0D9488;margin-bottom:.6rem}
.ga-gal h2{font-family:'DM Serif Display',serif;font-weight:400;color:#0F092B;font-size:1.9rem;line-height:1.2}
.ga-gal .ga-sub{max-width:40rem;margin:.9rem auto 0;color:#475569;font-size:.9rem;line-height:1.6}
.ga-gal .ga-note{margin:1.5rem auto 0;max-width:46rem;text-align:center;font-size:11px;line-height:1.55;color:#64748b}
.ga-gal .ga-more{display:inline-block;margin-top:1.25rem;font-weight:700;font-size:.85rem;color:#0D9488}
.ga-item{position:relative;display:block;width:100%;padding:0;border:0;background:#0F092B;border-radius:1rem;overflow:hidden;cursor:zoom-in}
.ga-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.ga-item:hover img,.ga-item:focus-visible img{transform:scale(1.04)}
.ga-item:focus-visible{outline:3px solid #2DD4BF;outline-offset:2px}
.ga-item .ga-cap{position:absolute;left:0;right:0;bottom:0;padding:1.6rem .85rem .6rem;background:linear-gradient(transparent,rgba(15,9,43,.82));color:#fff;font-size:11px;line-height:1.35;text-align:left;opacity:0;transform:translateY(6px);transition:.25s}
.ga-item:hover .ga-cap,.ga-item:focus-visible .ga-cap{opacity:1;transform:none}
@media (hover:none){.ga-item .ga-cap{opacity:1;transform:none}}
.ga-item .ga-zoom{position:absolute;top:.6rem;right:.6rem;width:2rem;height:2rem;border-radius:9999px;background:rgba(15,9,43,.6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem}
/* layouts */
.ga-mosaic{display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}
.ga-mosaic .ga-item:first-child{grid-column:1/-1;aspect-ratio:16/8}
.ga-mosaic .ga-item{aspect-ratio:4/3}
@media(min-width:768px){.ga-mosaic{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr}.ga-mosaic .ga-item:first-child{grid-column:1;grid-row:1/3;aspect-ratio:auto;min-height:22rem}.ga-mosaic .ga-item{aspect-ratio:auto}}
.ga-grid4{display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}
.ga-grid4 .ga-item{aspect-ratio:4/3}
@media(min-width:768px){.ga-grid4{grid-template-columns:repeat(4,1fr)}}
.ga-trio{display:grid;gap:.75rem;grid-template-columns:1fr}
.ga-trio .ga-item{aspect-ratio:16/10}
@media(min-width:768px){.ga-trio{grid-template-columns:repeat(3,1fr)}}
.ga-strip-box{position:relative}
.ga-strip{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem;scrollbar-width:thin}
.ga-strip .ga-item{flex:0 0 78%;aspect-ratio:4/3;scroll-snap-align:start}
@media(min-width:768px){.ga-strip .ga-item{flex-basis:32%}}
.ga-arrow{position:absolute;top:calc(50% - 1.25rem);width:2.5rem;height:2.5rem;border-radius:9999px;border:0;background:#fff;color:#0F092B;box-shadow:0 4px 14px rgba(0,0,0,.25);cursor:pointer;display:none;z-index:2}
@media(min-width:768px){.ga-arrow{display:block}}
.ga-arrow.prev{left:-.9rem}.ga-arrow.next{right:-.9rem}
/* lightbox */
#ga-gal-lb{position:fixed;inset:0;z-index:100;background:rgba(8,5,26,.94);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:1rem}
#ga-gal-lb[hidden]{display:none}
#ga-gal-lb img{max-width:min(94vw,1200px);max-height:76vh;border-radius:.75rem;object-fit:contain;background:#000}
#ga-gal-lb .lb-cap{color:#e2e8f0;font-size:.85rem;max-width:44rem;text-align:center;margin-top:.9rem;line-height:1.5}
#ga-gal-lb .lb-count{color:#94a3b8;font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-top:.4rem}
#ga-gal-lb button{position:absolute;border:0;border-radius:9999px;width:2.75rem;height:2.75rem;background:rgba(255,255,255,.14);color:#fff;font-size:1.1rem;cursor:pointer}
#ga-gal-lb button:hover,#ga-gal-lb button:focus-visible{background:#0D9488;outline:none}
#ga-gal-lb .lb-close{top:1rem;right:1rem}
#ga-gal-lb .lb-prev{left:.75rem;top:45%}#ga-gal-lb .lb-next{right:.75rem;top:45%}
body.ga-lb-open{overflow:hidden}
@media (prefers-reduced-motion:reduce){.ga-item img,.ga-item .ga-cap{transition:none}}
