/* Achieve page: photo gallery with a lightbox */
.a-gal{position:relative;isolation:isolate;overflow:hidden;background:#f4f8fd;padding:clamp(48px,8vw,96px) 0 clamp(56px,8vw,104px)}
.a-gal::before,.a-gal::after,.a-gal .wrap::before,.a-gal .wrap::after{content:none!important}
.a-gal .wrap{max-width:1180px;margin-left:auto;margin-right:auto;float:none}
.a-gal .a-head{max-width:760px;margin:0 auto clamp(26px,4vw,40px);text-align:center}
.a-gal .a-head p:last-child{color:#4a5a73}
.gal-grid{list-style:none;margin:0 auto;padding:0;width:100%;display:grid;justify-content:center;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:600px){.gal-grid{grid-template-columns:repeat(3,1fr);gap:14px}}
@media(min-width:900px){.gal-grid{grid-template-columns:repeat(4,1fr);gap:16px}}
@media(min-width:1180px){.gal-grid{grid-template-columns:repeat(5,1fr)}}
.gal-i{display:block;width:100%;padding:0;border:0;background:#dfe8f6;border-radius:14px;overflow:hidden;cursor:zoom-in;aspect-ratio:2/3;box-shadow:0 10px 26px -16px rgba(6,27,61,.55);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;-webkit-tap-highlight-color:transparent}
.gal-i img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.gal-i:hover,.gal-i:focus-visible{box-shadow:0 22px 40px -18px rgba(6,27,61,.6)}

.gal-i:focus-visible{outline:3px solid #0757c9;outline-offset:3px}
.gal-lb{border:0;padding:0;margin:0;width:100vw;height:100vh;max-width:none;max-height:none;background:rgba(4,12,28,.94);color:#fff;overflow:hidden}
.gal-lb::backdrop{background:rgba(4,12,28,.94)}
.gal-lb[open]{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:env(safe-area-inset-top) 8px env(safe-area-inset-bottom)}
.gal-lb figure{margin:0;display:grid;justify-items:center;gap:10px;min-width:0}
.gal-lb figure img{max-width:100%;max-height:calc(100vh - 90px);width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.6);background:#0b1a33}
.gal-lb figcaption{font:600 13px/1 Manrope,system-ui,sans-serif;letter-spacing:.14em;color:#9ab7e6}
.gal-n,.gal-x{border:0;cursor:pointer;color:#fff;background:rgba(255,255,255,.1);border-radius:50%;display:grid;place-items:center;transition:background .2s}
.gal-n{width:48px;height:48px;font-size:34px;line-height:1;padding-bottom:4px}.gal-n:hover,.gal-x:hover{background:rgba(255,255,255,.22)}
.gal-x{position:absolute;top:calc(env(safe-area-inset-top) + 14px);right:14px;width:44px;height:44px;font-size:28px;line-height:1;z-index:2}
@media(max-width:600px){.gal-lb[open]{grid-template-columns:1fr;grid-template-rows:1fr auto}.gal-n{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 18px);width:46px;height:46px}.gal-n.prev{left:16px}.gal-n.next{right:16px}.gal-lb figure img{max-height:calc(100vh - 150px)}}
@media(prefers-reduced-motion:reduce){.gal-i,.gal-i img{transition:none}}
/* masonry: every photo keeps its own shape, columns fill evenly */
.gal-grid{display:block!important;columns:2;column-gap:12px}
@media(min-width:600px){.gal-grid{columns:3;column-gap:14px}}@media(min-width:900px){.gal-grid{columns:4;column-gap:16px}}@media(min-width:1180px){.gal-grid{columns:5}}
.gal-li{break-inside:avoid;margin:0 0 12px;display:block}
.gal-i{aspect-ratio:auto!important;height:auto!important}.gal-i img{width:100%!important;height:auto!important;object-fit:contain!important;display:block}
