.service-gallery{margin:38px 0 0 90px;min-width:0}.service-gallery-viewport{overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;outline:none}.service-gallery-viewport::-webkit-scrollbar{display:none}.service-gallery-viewport:focus-visible{outline:2px solid #647800;outline-offset:4px}.service-gallery-track{display:flex;gap:10px;width:max-content;list-style:none}.service-gallery-slide{flex:0 0 calc((100vw - (2 * var(--gutter)) - 90px - 20px) / 3);max-width:calc((1440px - (2 * var(--gutter)) - 90px - 20px) / 3);scroll-snap-align:start;scroll-snap-stop:always;background:#fff}.service-gallery-slide img{display:block;width:100%;height:260px;object-fit:contain}.service-gallery-controls{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.service-gallery-controls[hidden]{display:none}.service-gallery-status{font:500 10px var(--en);letter-spacing:.1em;color:var(--muted)}.service-gallery-controls>div{display:flex;gap:7px}.service-gallery-controls button{display:grid;place-items:center;width:38px;height:38px;border:1px solid #9ea895;border-radius:50%;background:transparent;color:var(--ink);font-size:17px;cursor:pointer;transition:background-color .35s,color .35s,border-color .35s}.service-gallery-controls button:hover:not(:disabled),.service-gallery-controls button:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--lime)}.service-gallery-controls button:disabled{opacity:.28;cursor:default}
@media(max-width:1100px){.service-gallery-slide{flex-basis:calc((100vw - (2 * var(--gutter)) - 90px - 10px) / 2);max-width:none}}
@media(max-width:760px){.service-gallery{margin:27px 0 0}.service-gallery-viewport{margin-right:calc(-1 * var(--gutter));padding-right:var(--gutter)}.service-gallery-track{gap:9px}.service-gallery-slide{flex-basis:82vw;max-width:none}.service-gallery-slide img{height:58vw;max-height:360px}}
@media(prefers-reduced-motion:reduce){.service-gallery-controls button{transition:none}}

/* Size slides from the available track width, independent of image count. */
.service-gallery-track{width:100%;margin:0;padding:0}
.service-gallery-slide{min-width:0;flex-basis:calc((100% - 20px) / 3);max-width:none}
@media(max-width:1100px){.service-gallery-slide{flex-basis:calc((100% - 10px) / 2)}}
@media(max-width:760px){.service-gallery-slide{flex-basis:82vw}}
