/* Keep navigation within the photograph, with generous touch targets. */
.gallery-stage{position:relative}
.gallery-controls{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(10px,2vw,24px);pointer-events:none}
.gallery-controls[hidden]{display:none}
.gallery-controls button{display:grid;place-items:center;flex:0 0 auto;width:64px;height:64px;padding:14px;border:0;border-radius:50%;background:rgba(9,12,14,.7);color:#fff;box-shadow:0 3px 18px rgba(0,0,0,.2);cursor:pointer;pointer-events:auto;transition:background .2s ease,opacity .2s ease}
.gallery-controls button:hover:not(:disabled),.gallery-controls button:focus-visible{background:var(--paper);color:var(--ink)}
.gallery-controls button:disabled{opacity:.35;cursor:default}
.gallery-controls svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:square;stroke-linejoin:miter}
.gallery-count{display:block;min-width:48px;margin:0;padding:24px;font-size:.875rem;font-variant-numeric:tabular-nums;line-height:1.4}
.gallery-track{scrollbar-width:none}
.gallery-track::-webkit-scrollbar{display:none}
.gallery .gallery-stage{--gallery-slide-width:min(78vw,960px)}
.gallery .gallery-controls{left:calc((100% - var(--gallery-slide-width))/2);right:calc((100% - var(--gallery-slide-width))/2)}
.gallery .gallery-count{padding-bottom:44px}
.service-gallery .gallery-stage{--gallery-image-height:clamp(320px,54vw,700px)}
.service-gallery .gallery-slide img{height:var(--gallery-image-height)}
.service-gallery .gallery-controls{height:var(--gallery-image-height)}
.service-gallery .gallery-count{padding:12px 24px 0}
@media(max-width:560px){
  .gallery-controls button{width:52px;height:52px;padding:12px}
  .gallery .gallery-stage{--gallery-slide-width:86vw}
  .service-gallery .gallery-stage{--gallery-image-height:min(115vw,520px)}
}
@media(prefers-reduced-motion:reduce){.gallery-controls button{transition:none}}
