.gallery-section{max-width:var(--max);margin:auto;padding:0 7% 85px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px}
.gallery-card{margin:0;min-width:0}
.gallery-card:first-child{grid-column:span 2}
.gallery-card a{display:block;position:relative;overflow:hidden;border-radius:var(--radius);background:#e9e8df}
.gallery-card img{width:100%;height:300px;object-fit:cover;transition:transform .25s}
.gallery-card:first-child img{object-position:50% 65%}
.gallery-card:nth-child(3) img{object-position:50% 60%}
.gallery-card:nth-child(4) img{object-position:50% 40%}
.gallery-card a:hover img{transform:scale(1.025)}
.gallery-zoom{position:absolute;bottom:14px;right:14px;padding:8px 12px;background:#242528e8;color:white;font-size:.75rem;border-radius:3px}
.gallery-card figcaption{padding-top:12px;font-size:.9rem;line-height:1.5}
.gallery-note{margin:28px 0 0;max-width:700px;color:var(--muted);font-size:.875rem}
.gallery-dialog{width:min(1100px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:16px 22px;border:0;border-radius:8px;background:#202124;color:#fff;overflow:auto}
.gallery-dialog::backdrop{background:#101114ed}
.gallery-dialog-top,.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:15px}
.gallery-dialog-top{margin-bottom:12px;font-size:.85rem}
.gallery-dialog button{background:transparent;color:#fff;border:1px solid #757571;border-radius:4px;padding:11px 15px;min-height:44px;cursor:pointer;font-size:.9rem}
.gallery-dialog button:hover{background:#393a3d}
.gallery-dialog button:focus-visible{outline-color:var(--gold)}
.gallery-dialog figure{margin:0}
.gallery-dialog figure img{width:100%;height:calc(100dvh - 230px);min-height:120px;object-fit:contain}
.gallery-dialog figcaption{padding:14px 0;text-align:center;line-height:1.4;font-size:.95rem}
.gallery-controls{margin-top:2px}
body:has(.gallery-dialog[open]){overflow:hidden}
@media(max-width:1050px){.gallery-section{padding-inline:5%}.gallery-card img{height:250px}.site-header{gap:20px}.site-header nav{gap:18px}}
@media(max-width:800px) and (min-width:701px){.site-header nav{gap:12px;font-size:.85rem}.site-header .header-cta{padding-inline:12px;font-size:.78rem}}
@media(max-width:700px){.gallery-section{padding:0 6% 60px}.gallery-grid{grid-template-columns:1fr 1fr;gap:24px 14px}.gallery-card:first-child,.gallery-card:nth-child(2),.gallery-card:last-child{grid-column:span 2}.gallery-card img{height:auto;aspect-ratio:4/3}.gallery-card:nth-child(3) img,.gallery-card:nth-child(4) img{aspect-ratio:3/4}.gallery-card figcaption{font-size:.85rem}.gallery-zoom{bottom:9px;right:9px;font-size:.7rem;padding:6px 8px}.gallery-dialog{padding:12px;width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.gallery-dialog figure img{height:calc(100dvh - 220px)}.gallery-note{font-size:.875rem}.site-header nav{gap:0}}
