/* Homepage-only photo gallery. Keep each selected crop intact at every width. */
.gallery2026{background:var(--ink-800)}
.gallery2026 .sec-head{max-width:var(--reading)}
.gallery-note{margin-top:var(--s-4);color:var(--paper-100);font-size:var(--t-sm)}
.gallery-topics{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-6);padding-bottom:var(--s-6);border-bottom:1px solid var(--line)}
.gallery-topics a{display:inline-flex;align-items:center;min-height:44px;border-bottom:2px solid transparent;color:var(--paper-100);font-size:var(--t-sm)}
.gallery-topics a:hover{border-color:var(--red-text)}
/* Reuse the 2025 carousel as is: 3:2 cover-cropped cards, border, hover zoom, arrows, dots and drift. */
.gallery-chapter{padding-top:var(--s-24)}
.gallery-chapter .sec-head h3{font-size:clamp(30px,5vw,var(--t-hero));margin-top:var(--s-4);text-wrap:balance}
.gallery2026 .carousel-slide a{display:block;width:100%;height:100%;cursor:zoom-in}
.gallery2026 .carousel-slide a:focus-visible{outline:3px solid var(--paper-100);outline-offset:-5px}
.gallery-topics a:focus-visible{outline:3px solid var(--paper-100);outline-offset:4px}
.gallery-thanks{margin-top:var(--s-12);padding-top:var(--s-6);border-top:1px solid var(--line);color:var(--paper-100);max-width:var(--reading)}
.gallery-thanks a{color:var(--red-text);text-decoration:underline;text-underline-offset:3px}

.gallery-dialog{width:calc(100% - 32px);max-width:1440px;height:calc(100vh - 32px);height:calc(100dvh - 32px);max-height:none;margin:auto;padding:0;border:1px solid var(--line);background:var(--ink-900);color:var(--text)}
.gallery-dialog::backdrop{background:rgba(10,10,11,.94)}
.gallery-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
html.gallery-viewing{overflow:hidden}
.gallery-dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-3) var(--s-6);font-size:var(--t-sm)}
.gallery-dialog button{min-width:48px;min-height:48px;padding:var(--s-2) var(--s-3);border:1px solid var(--line);background:var(--ink-800);color:var(--text);font:inherit;cursor:pointer}
.gallery-dialog button:hover{border-color:var(--paper-100)}
.gallery-dialog button:focus-visible{outline:3px solid var(--paper-100);outline-offset:3px}
.gallery-close{display:flex;align-items:center;gap:var(--s-3)}
.gallery-close span{font-size:var(--t-h3)}
.gallery-stage{display:flex;align-items:center;justify-content:center;min-height:0;padding:0 var(--s-6)}
.gallery-stage img{display:block;width:100%;height:100%;object-fit:contain}
.gallery-dialog-footer{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:var(--s-4);align-items:center;padding:var(--s-4) var(--s-6)}
.gallery-dialog-footer p{font-size:var(--t-sm);line-height:1.5;text-align:center;color:var(--paper-100)}
.gallery-dialog-footer button{font-size:var(--t-h3)}
@media(max-width:760px){
  .gallery-chapter{padding-top:var(--s-12)}
  .gallery-topics{gap:var(--s-1) var(--s-5)}
  .gallery-dialog{width:100%;height:100vh;height:100dvh;border:0}
  .gallery-dialog-bar,.gallery-dialog-footer{padding:var(--s-3)}
  .gallery-stage{padding:0 var(--s-2)}
  .gallery-dialog-footer{gap:var(--s-2);padding-bottom:max(var(--s-3),env(safe-area-inset-bottom))}
}
/* Two drone clips share one row instead of leaving empty wide tracks. */
.gallery2026 .vids.duo{max-width:820px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
