.aso-gallery{max-width:1200px;margin:0 auto;padding:64px 32px;color:#20344b;scroll-margin-top:110px}
.aso-gallery__header{max-width:740px;margin-bottom:30px}
.aso-gallery__eyebrow,.aso-gallery__category{color:#176979;font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.aso-gallery h2{font-family:Archivo, sans-serif;font-size:clamp(1.8rem,3.2vw,2.75rem);line-height:1.15;margin:12px 0 16px}
.aso-gallery__header p{font-size:1rem;line-height:1.7;color:#526275}
.aso-gallery__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.aso-gallery__card{margin:0;min-width:0}
.aso-gallery__photo{display:block;position:relative;overflow:hidden;border-radius:14px;background:#e6edf1;aspect-ratio:8/5}
.aso-gallery__photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}
.aso-gallery__photo noscript img{position:absolute;inset:0}
.aso-gallery__photo:hover img{transform:scale(1.025)}
.aso-gallery__expand{position:absolute;right:14px;bottom:14px;background:#132b43e8;color:white;border-radius:24px;padding:9px 14px;font-size:.8rem;font-weight:700}
.aso-gallery figcaption{padding:18px 2px 6px}
.aso-gallery h3{font-size:1.18rem;line-height:1.45;margin:8px 0 12px}
.aso-gallery figcaption a{font-weight:800;color:#1b596b;text-underline-offset:4px}
.aso-gallery :is(a,button):focus-visible{outline:3px solid #ce9227;outline-offset:4px}
.aso-gallery__dialog{width:min(1000px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:20px;border:0;border-radius:16px;background:#10283e;color:#fff;overscroll-behavior:contain}
.aso-gallery__dialog::backdrop{background:#071321e8}
.aso-gallery__dialog img{display:block;width:100%;height:min(62dvh,650px);object-fit:contain}
.aso-gallery__dialog p{font-size:1rem;line-height:1.5;margin:16px 0;color:#fff}
.aso-gallery__toolbar,.aso-gallery__navigation{display:flex;justify-content:space-between;align-items:center;gap:16px}
.aso-gallery__toolbar{margin-bottom:12px}
.aso-gallery__dialog button{font:inherit;cursor:pointer;min-height:44px;border:1px solid #8195a7;border-radius:8px;padding:10px 16px;background:#203e59;color:#fff}
@media(max-width:600px){.aso-gallery{padding:40px 20px}.aso-gallery__grid{grid-template-columns:1fr;gap:24px}.aso-gallery__dialog{padding:14px}.aso-gallery__dialog img{height:48dvh}}
@media(prefers-reduced-motion:reduce){.aso-gallery__photo img{transition:none}.aso-gallery__photo:hover img{transform:none}}
