.hero-gallery{position:relative}
.gallery-track{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-slide{flex:0 0 100%;min-width:0;height:100%;scroll-snap-align:start;scroll-snap-stop:always;margin:0}
.gallery-slide img{width:100%;height:100%;object-fit:cover;object-position:var(--focus,50% 45%);user-select:none}
.hero-gallery .photo-caption{pointer-events:none}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:48px;height:48px;border:1px solid #ffffff80;border-radius:3px;background:#282929ba;color:white;display:grid;place-items:center;cursor:pointer;font:28px/1 Onest,Arial,sans-serif;transition:background .18s,color .18s}
.gallery-arrow:hover{background:var(--lime);color:var(--ink);border-color:var(--lime)}
.gallery-prev{left:18px}.gallery-next{right:18px}
.gallery-controls{display:flex;align-items:center;justify-content:center;gap:16px;min-height:48px;margin-top:8px}
.gallery-dots{display:flex;gap:0}.gallery-dot{width:40px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;display:grid;place-items:center}
.gallery-dot:before{content:'';width:7px;height:7px;border-radius:50%;background:#a2a6a1;transition:background .18s,width .18s}
.gallery-dot[aria-current=true]:before{width:25px;border-radius:4px;background:#597900}
.gallery-count{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums;min-width:35px}
.hero-gallery button:focus-visible,.gallery-controls button:focus-visible,.gallery-track:focus-visible{outline:3px solid #638500;outline-offset:3px}
.gallery-arrow[hidden],.gallery-controls[hidden]{display:none}
@media(max-width:760px){.hero-gallery .hero-photo{height:auto;aspect-ratio:4/3}.hero-gallery .photo-caption{left:14px;right:14px;bottom:14px;gap:10px;font-size:.6875rem;align-items:end}.hero-gallery .photo-caption>span:first-child{max-width:145px;line-height:1.4}.hero-gallery .photo-label{display:block;font-size:.5625rem;letter-spacing:.04em;white-space:nowrap}.gallery-arrow{width:44px;height:44px;font-size:25px}.gallery-prev{left:10px}.gallery-next{right:10px}.gallery-controls{margin-top:3px}}
