.gallery-head{padding-top:44px}
.gallery-head .bc{margin-bottom:28px}
.gallery-section{padding:44px 0 0}
.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.gallery-filters{display:flex;gap:8px;flex-wrap:wrap}
.gfilter{appearance:none;border:1px solid var(--line);background:rgba(255,255,255,.46);color:var(--ink2);border-radius:999px;padding:10px 17px;font:600 13px/1 "Archivo",sans-serif;cursor:pointer;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),transform .18s var(--ease)}
.gfilter:hover{border-color:var(--ink);color:var(--ink);transform:translateY(-1px)}
.gfilter.on{background:var(--dark);border-color:var(--dark);color:#fff}
.gallery-count{font:500 12px/1.2 "IBM Plex Mono",monospace;color:var(--ink2);white-space:nowrap}
.gallery-count span{color:var(--ink);font-weight:600}
.gallery-grid{columns:3 300px;column-gap:16px}
.gallery-item{appearance:none;display:block;width:100%;padding:0;margin:0 0 16px;border:0;border-radius:18px;background:#dedbd3;overflow:hidden;position:relative;cursor:zoom-in;break-inside:avoid;text-align:left;color:#fff;isolation:isolate}
.gallery-item[hidden]{display:none!important}
.gallery-shot{display:block;aspect-ratio:4/3;overflow:hidden}
.gallery-item.is-wide .gallery-shot{aspect-ratio:16/9}
.gallery-item.is-tall .gallery-shot{aspect-ratio:4/5}
.gallery-shot img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease)}
.gallery-overlay{position:absolute;inset:auto 0 0;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:42px 18px 17px;background:linear-gradient(0deg,rgba(12,14,11,.83),rgba(12,14,11,.42) 54%,transparent);opacity:0;transform:translateY(8px);transition:opacity .25s var(--ease),transform .25s var(--ease)}
.gallery-overlay span{min-width:0}.gallery-overlay b{display:block;font:600 15px/1.3 "Archivo",sans-serif;color:#fff}.gallery-overlay small{display:block;margin-top:4px;font:500 10.5px/1.2 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}
.gallery-overlay i{width:34px;height:34px;flex:none;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);font:400 16px/1 sans-serif;color:#fff;font-style:normal}
.gallery-item:hover .gallery-shot img,.gallery-item:focus-visible .gallery-shot img{transform:scale(1.035)}
.gallery-item:hover .gallery-overlay,.gallery-item:focus-visible .gallery-overlay{opacity:1;transform:none}
.gallery-item:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.gallery-cta{padding-top:28px}.gallery-cta .pre-cta{margin-top:56px}
.gallery-lightbox{position:fixed;inset:0;z-index:1100;display:grid;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;padding:32px;background:rgba(12,14,11,.94);backdrop-filter:blur(12px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s var(--ease),visibility .22s}
.gallery-lightbox.open{opacity:1;visibility:visible;pointer-events:auto}
.gallery-lightbox figure{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;max-height:calc(100vh - 64px);margin:0}
.gallery-lightbox figure img{display:block;max-width:100%;max-height:calc(100vh - 128px);width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 28px 80px rgba(0,0,0,.42)}
.gallery-lightbox figcaption{width:min(100%,980px);display:flex;justify-content:space-between;gap:20px;margin-top:14px;color:rgba(255,255,255,.8);font-size:14px}
.gallery-lightbox figcaption small{font:500 11px/1.5 "IBM Plex Mono",monospace;color:rgba(255,255,255,.5)}
.glb-close,.glb-nav{appearance:none;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:background .16s,border-color .16s}
.glb-close:hover,.glb-nav:hover{background:var(--amber);border-color:var(--amber);color:#1e1a0c}
.glb-close{position:absolute;right:24px;top:22px;width:46px;height:46px;border-radius:50%;font-size:16px}
.glb-nav{width:52px;height:52px;border-radius:50%;font:300 36px/1 sans-serif;display:grid;place-items:center}
.glb-next{justify-self:end}
@media(max-width:760px){.gallery-head{padding-top:26px}.gallery-section{padding-top:30px}.gallery-toolbar{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:20px}.gallery-filters{gap:6px}.gfilter{padding:9px 13px;font-size:12px}.gallery-grid{columns:2 145px;column-gap:10px}.gallery-item{margin-bottom:10px;border-radius:12px}.gallery-overlay{opacity:1;transform:none;padding:36px 12px 11px}.gallery-overlay b{font-size:12.5px}.gallery-overlay i{display:none}.gallery-lightbox{grid-template-columns:48px minmax(0,1fr) 48px;padding:70px 8px 24px}.gallery-lightbox figure img{max-height:calc(100vh - 180px);border-radius:8px}.gallery-lightbox figcaption{padding:0 6px;font-size:12px}.glb-close{right:14px;top:14px}.glb-nav{width:42px;height:42px;font-size:30px}}
@media(prefers-reduced-motion:reduce){.gallery-shot img,.gallery-overlay,.gallery-lightbox{transition:none!important}}
