[data-carousel]{min-width:0;position:relative}
[data-carousel-track]{overscroll-behavior-x:contain}
.carousel-ready [data-carousel-track]{scroll-snap-type:none;overflow-anchor:none;scrollbar-width:none}
.carousel-ready [data-carousel-track]::-webkit-scrollbar{display:none}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin:22px auto 0;position:relative;width:fit-content;max-width:100%}
.carousel-controls[hidden],.carousel-rotation[hidden]{display:none}
.carousel-arrow{flex:none;width:46px;height:46px;border:1px solid var(--public-line);border-radius:50%;background:var(--public-panel);color:var(--public-ink);font:500 23px/1 Arial,sans-serif;cursor:pointer;transition:background 180ms,border-color 180ms}
.carousel-arrow:hover{border-color:var(--public-accent);background:var(--public-bg)}
.carousel-dots{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;min-width:0}
.carousel-dot{display:grid;place-items:center;width:26px;height:32px;padding:0;border:0;background:transparent;cursor:pointer}
.carousel-dot::after{content:"";display:block;width:7px;height:7px;border-radius:50%;background:var(--public-muted);opacity:.4;transition:transform 180ms,opacity 180ms}
.carousel-dot[aria-current="true"]::after{background:var(--site-accent-text,var(--public-accent));opacity:1;transform:scale(1.4)}
.carousel-rotation{display:flex;align-items:center;gap:10px;width:fit-content;margin:8px 0 10px auto;min-height:40px;padding:6px 0 6px 14px;border:0;background:transparent;color:var(--public-muted);font:700 12px/1.5 Manrope,Arial,sans-serif;cursor:pointer}
.carousel-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.carousel-arrow:focus-visible,.carousel-dot:focus-visible,.carousel-rotation:focus-visible,[data-carousel-track]:focus-visible{outline:3px solid var(--site-accent-text,var(--public-accent));outline-offset:3px}
.service-carousel__track{padding-left:0;padding-right:0}
@media(max-width:600px){.carousel-controls{gap:8px}.carousel-arrow{width:42px;height:42px}.carousel-dots{max-width:196px;gap:0}.carousel-dot{width:26px}}
@media(prefers-reduced-motion:reduce){.carousel-arrow,.carousel-dot::after{transition:none}}
