.carousel{position:relative;min-width:0;max-width:100%}
.carousel__track{display:flex!important;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;max-width:100%;min-width:0;cursor:grab;touch-action:pan-x pan-y pinch-zoom}
.carousel__track::-webkit-scrollbar{display:none}
.carousel__track>*{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.carousel__track img{-webkit-user-drag:none;user-select:none}
.carousel__track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.carousel__controls{display:flex;align-items:center;justify-content:center;height:32px;padding:0;gap:0;background:transparent}
.carousel__arrow,.carousel__dot{border:0;background:transparent;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;border-radius:50%;flex-shrink:0}
.carousel__arrow{position:absolute;top:calc((100% - 32px)/2);transform:translateY(-50%);z-index:3;width:44px;height:44px;font-size:24px;isolation:isolate;opacity:0;transition:opacity .15s}
.carousel__arrow::before{content:'';position:absolute;inset:8px;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 1px 5px #0002;z-index:-1}
.carousel__arrow:first-child{left:3px}.carousel__arrow:last-child{right:3px}
.carousel:hover>.carousel__controls>.carousel__arrow,.carousel:focus-within>.carousel__controls>.carousel__arrow{opacity:1}
.carousel__arrow:disabled{visibility:hidden;pointer-events:none}
.carousel__dots{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:0;max-width:100%}
.carousel__dot{width:28px;height:32px;min-width:28px;min-height:32px}
.carousel__dot span{display:block;width:10px;height:10px;border-radius:50%;background:#b8b8b8;transition:transform .2s,background-color .2s}
.carousel__dot[data-edge] span{transform:scale(.65)}
.carousel__dot[aria-current=true] span{width:10px;transform:none;background:#0095f6}
.carousel--products>.carousel__track>.card{flex-basis:calc((100% - 72px)/4)}
.carousel--series>.carousel__track>.public-series{flex-basis:72%;min-height:620px}
.carousel--categories>.carousel__track>a{flex-basis:calc((100% - 48px)/3)}
.carousel--guides>.carousel__track>a{flex-basis:calc((100% - 24px)/2);padding-right:35px}
.carousel--card>.carousel__track{gap:0;aspect-ratio:1}
.carousel--card .card__media{position:relative;display:block;aspect-ratio:1;width:100%;height:auto;overflow:hidden}
.carousel--card .card__media img{position:static;display:block;width:100%;height:100%;object-fit:cover;opacity:1;transform:none}
.carousel--card>.carousel__controls{position:static;height:32px;padding:0;background:transparent}
.carousel--gallery{align-self:start}.carousel--gallery>.public-gallery{gap:0;aspect-ratio:1;padding:0}
.carousel--gallery>.public-gallery>div{aspect-ratio:1}.carousel--gallery .public-gallery img{width:100%;height:100%;min-width:0;aspect-ratio:1;object-fit:cover;margin:0}
.carousel--lookbook>.carousel__track{gap:0}.carousel--lookbook .public-look{min-width:0;width:100%;margin:0}
.carousel--hero>.hero__media{gap:0;z-index:0;overflow-y:hidden}
.carousel--hero>.hero__media>div{height:100%;position:relative}.carousel--hero>.hero__media img{height:100%;width:100%;object-fit:cover}
.carousel--hero .hero__inner{position:relative;z-index:2;pointer-events:none}.carousel--hero .hero__inner a{pointer-events:auto}
.carousel--hero:after{pointer-events:none;z-index:1;background:linear-gradient(90deg,rgba(20,18,15,.68),rgba(20,18,15,.2)),linear-gradient(0deg,rgba(20,18,15,.45),transparent 65%)}
.carousel--hero{margin-bottom:32px}
.carousel--hero>.carousel__controls{position:absolute;bottom:-32px;left:0;width:100%;height:32px;z-index:3;padding:0;background:transparent}
.carousel--hero>.carousel__controls>.carousel__arrow{top:calc(-40vh + 16px)}
@media(max-width:1000px){.carousel--products>.carousel__track>.card{flex-basis:calc((100% - 48px)/3)}.carousel--categories>.carousel__track>a{flex-basis:44%}.carousel--series>.carousel__track>.public-series{min-height:500px}}
@media(max-width:700px){.carousel__track{gap:16px}.carousel--products>.carousel__track>.card{flex-basis:72%}.carousel--series>.carousel__track>.public-series{flex-basis:88%;min-height:450px}.carousel--categories>.carousel__track>a{flex-basis:76%}.carousel--guides>.carousel__track>a{flex-basis:86%;padding-right:12px}.carousel--gallery>.public-gallery{gap:0}.carousel--lookbook .public-look-image>img{height:390px}}
@media(hover:none){.carousel__arrow{display:none}}
@media(prefers-reduced-motion:reduce){.carousel__dot span,.carousel__arrow{transition:none}}
