/* Gallery page only. Loaded by gallery.html, not by the shared stylesheet. */
.gallery{list-style:none;margin:0;padding:0;columns:3;column-gap:clamp(10px,1.4vw,20px)}
.gallery li{break-inside:avoid;margin:0 0 clamp(10px,1.4vw,20px)}
.gi{display:block;position:relative;overflow:hidden;background:var(--green-900);cursor:zoom-in;
  aspect-ratio:var(--ar,auto);outline-offset:3px}
.gi img{display:block;width:100%;height:auto;transition:transform .6s var(--ease)}
@media (hover:hover){.gi:hover img{transform:scale(1.04)}}
.gi:focus-visible{outline:2px solid var(--gold-300)}
@media (max-width:900px){.gallery{columns:2}}
@media (max-width:420px){.gallery{column-gap:8px}.gallery li{margin-bottom:8px}}

.lb{position:fixed;inset:0;z-index:300;background:rgba(4,20,13,.96);display:flex;align-items:center;justify-content:center;
  touch-action:pan-y;overscroll-behavior:contain}
.lb[hidden]{display:none}
.lb-img{max-width:min(94vw,1500px);max-height:86vh;max-height:86svh;width:auto;height:auto;object-fit:contain;
  opacity:0;transition:opacity .25s var(--ease)}
.lb-img.on{opacity:1}
.lb button{position:absolute;background:none;border:1px solid var(--line-dark);color:var(--ivory);width:48px;height:48px;
  font:300 30px/1 var(--f-sans);cursor:pointer;display:grid;place-items:center;padding:0 0 4px;-webkit-tap-highlight-color:transparent}
.lb button:focus-visible{outline:2px solid var(--gold-300);outline-offset:2px}
@media (hover:hover){.lb button:hover{background:rgba(201,164,78,.16)}}
.lb-x{top:max(14px,env(safe-area-inset-top));right:14px}
.lb-p,.lb-n{top:50%;margin-top:-24px}
.lb-p{left:14px}.lb-n{right:14px}
.lb-c{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));left:0;right:0;margin:0;text-align:center;
  font:400 13px/1 var(--f-sans);letter-spacing:.12em;color:rgba(251,249,244,.7)}
@media (max-width:700px){.lb-p,.lb-n{top:auto;bottom:max(8px,env(safe-area-inset-bottom));margin:0}.lb-p{left:14px}.lb-n{right:14px}}
@media (prefers-reduced-motion:reduce){.gi img,.lb-img{transition:none}}
