.gallery-intro{padding:66px 0 46px;background:#fff;border-bottom:1px solid var(--archive-rule)}
.gallery-intro h1{font-size:clamp(36px,4vw,52px);margin:0 0 14px}
.gallery-intro p{max-width:58ch;margin:0;color:var(--archive-muted);font-size:17px}
.gallery-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.gallery-filter{min-height:44px;padding:8px 16px;border:1px solid var(--archive-rule);border-radius:999px;background:#fff;color:var(--archive-muted);font:600 14px/1.35 Inter,sans-serif;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.gallery-filter:hover{border-color:#214b67;color:var(--ink)}
.gallery-filter[aria-pressed="true"]{border-color:#214b67;background:#214b67;color:#fff}
.gallery-filter:focus-visible{outline:3px solid #214b67;outline-offset:3px}
.gallery-section{padding:54px 0 84px}
.gallery-group--latest{margin-top:56px;padding-top:48px;border-top:1px solid var(--archive-rule)}
.gallery-group--standalone{margin-top:0;padding-top:0;border-top:0}
.gallery-group__heading{margin-bottom:24px}
.gallery-group__heading p{max-width:58ch;margin:0;color:var(--archive-muted);font-size:16px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gallery-grid figure{margin:0;min-width:0}
.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#e9dfd3}
.gallery-thumb{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.gallery-thumb img{transition:filter .2s ease}
.gallery-thumb:hover img{filter:brightness(.88)}
.gallery-thumb:focus-visible{outline:3px solid #214b67;outline-offset:4px}

.gallery-viewer{box-sizing:border-box;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:16px 24px;border:0;background:#18201e;color:#fff}
.gallery-viewer[open]{display:flex;flex-direction:column}
.gallery-viewer::backdrop{background:rgba(0,0,0,.85)}
.gallery-viewer__top,.gallery-viewer__controls{display:flex;align-items:center;justify-content:space-between;flex:none}
.gallery-viewer__top{min-height:48px}
.gallery-viewer__count{font:500 14px/1.4 Inter,sans-serif;font-variant-numeric:tabular-nums}
.gallery-viewer__status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.gallery-viewer button{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.4);border-radius:4px;background:transparent;color:#fff;font:400 30px/1 Arial,sans-serif;cursor:pointer}
.gallery-viewer button:hover{background:rgba(255,255,255,.15)}
.gallery-viewer button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.gallery-viewer__close{margin-left:auto}
.gallery-viewer__stage{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;padding:12px 0}
.gallery-viewer__stage img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;background:transparent}
.gallery-viewer__controls{min-height:56px;gap:16px}
@media(max-width:800px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:560px){
  .gallery-intro{padding:42px 0 34px}
  .gallery-filters{gap:6px;margin-top:20px}
  .gallery-filter{min-height:44px;padding:8px 12px;font-size:13px}
  .gallery-section{padding:32px 0 60px}
  .gallery-group--latest{margin-top:40px;padding-top:32px}
  .gallery-group__heading{margin-bottom:18px}
  .gallery-grid{gap:12px}
  .gallery-viewer{padding:12px 16px 20px}
}
@media(max-width:380px){
  .gallery-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.gallery-filter,.gallery-thumb img{transition:none}}
