.carousel{--car-radius:1rem;--car-accent:#2f6fed;position:relative}.carousel__viewport{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;cursor:grab;border-radius:var(--car-radius);touch-action:pan-y}.carousel__viewport::-webkit-scrollbar{display:none}.carousel__viewport:focus-visible{outline:2px solid var(--car-accent);outline-offset:3px}.carousel__viewport.is-dragging{cursor:grabbing;scroll-behavior:auto}.carousel__viewport.is-dragging,.carousel__viewport.is-dragging *{user-select:none}.carousel__track{display:contents;list-style:none;margin:0;padding:0}.carousel__slide{flex:0 0 82%;scroll-snap-align:center;opacity:.55;transform:scale(.96);transition:opacity .35s ease,transform .35s ease}@media (min-width:40rem){.carousel__slide{flex-basis:62%}}.carousel__slide.is-active{opacity:1;transform:scale(1)}.carousel__controls{display:flex;gap:1rem;margin-top:1.1rem}.carousel__arrow,.carousel__controls{align-items:center;justify-content:center}.carousel__arrow{display:inline-flex;width:2.5rem;height:2.5rem;border-radius:999px;border:1px solid #e3ded0;background:#fff;font-size:1.1rem;cursor:pointer;flex:none}.carousel__arrow:focus-visible{outline:2px solid var(--car-accent);outline-offset:2px}.carousel__dots{display:flex;gap:.5rem}.carousel__dot{width:.55rem;height:.55rem;border-radius:50%;border:none;padding:0;background:#d9d4c4;cursor:pointer}.carousel__dot:focus-visible{outline:2px solid var(--car-accent);outline-offset:3px}.carousel__dot[aria-current=true]{background:var(--car-accent)}.carousel__status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){.carousel__viewport{scroll-behavior:auto}.carousel__slide{transition:none}}.carousel-strip{overflow:hidden;width:100%}.carousel-strip__track{display:flex;width:max-content;animation:carousel-strip-scroll 22s linear infinite}.carousel-strip__group{display:flex;align-items:center;gap:2.5rem;padding-right:2.5rem;flex:none}@keyframes carousel-strip-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.carousel-strip.is-paused .carousel-strip__track{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.carousel-strip__track{animation:none}}