.gallery-section{padding:75px 40px 65px}.gallery-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:35px}.gallery-heading h2{margin-bottom:0}.gallery-heading>p{font-size:14px;max-width:390px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 26px}.gallery-image{display:block;position:relative;overflow:hidden;border:1px solid #ffffff26;border-radius:10px;background:#182134}.gallery-image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;transition:transform .25s ease}.gallery-image:hover img{transform:scale(1.02)}.gallery-image>span{position:absolute;right:13px;bottom:13px;display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#101524e8;color:white;border:1px solid #ffffff45;font-size:22px}.gallery-grid figcaption{padding:18px 0 0}.gallery-grid figcaption>span{font-size:10px;letter-spacing:2px;color:var(--gold)}.gallery-grid h3{margin:9px 0 9px;font-size:25px}.gallery-grid figcaption p{margin:0;color:var(--muted);font-size:14px}.gallery-wide{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:32px}.image-dialog{max-width:min(95vw,1400px);width:95vw;padding:58px 18px 14px;border:1px solid #536883;border-radius:12px;background:#101524;color:var(--ink)}.image-dialog::backdrop{background:#030710e8;backdrop-filter:blur(5px)}.image-dialog img{display:block;width:100%;max-height:76vh;object-fit:contain}.image-dialog p{margin:12px 0 0;font-size:13px;color:var(--muted)}.dialog-close{position:absolute;top:12px;right:15px;padding:8px 15px;color:var(--ink);background:#243249;border:1px solid #52637b;border-radius:6px;font:inherit;cursor:pointer}.dialog-close:focus-visible{outline:3px solid var(--gold)}footer>div>a{display:block;margin-top:10px}@media(max-width:760px){.gallery-section{padding:45px 22px}.gallery-heading{display:block}.gallery-heading>p{margin-top:20px}.gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-wide{grid-column:auto;display:block}.gallery-grid h3{font-size:23px}}@media(max-width:520px){header{flex-wrap:wrap;gap:18px}header nav{width:100%;justify-content:space-between;gap:10px}header nav a{font-size:13px}.image-dialog{padding:58px 10px 12px}.image-dialog img{max-height:70vh}}@media(prefers-reduced-motion:reduce){.gallery-image img{transition:none}}
