.carousel{--carousel-slide-width:80vw;--carousel-gap:var(--space-20);--carousel-peek:var(--space-30);--carousel-static-columns:4;--carousel-static-min-width:var(--page-max-width);--carousel-scroll-duration:20;--carousel-scroll-end:max(0px, calc(100cqi - var(--carousel-slide-width)));--carousel-arrow-size:2.5625rem;--carousel-arrow-glyph:1.79025rem;--carousel-arrow-duration:.3s;--carousel-arrow-easing:var(--ease-out);--carousel-arrow-color:var(--palette-brand-black);--carousel-arrow-hover-bg:var(--palette-brand-black);--carousel-arrow-hover-color:var(--palette-white);--carousel-progress-track:#38313333;--carousel-progress-fill:var(--palette-brand-black);--carousel-bleed-inline:max(var(--container-padding-inline), calc((100% - min(100%, var(--layout-max))) / 2 + var(--container-padding-inline)));container:carousel/inline-size}.carousel__controls[data-carousel-arrow-color=red]{--carousel-arrow-color:var(--palette-red);--carousel-arrow-hover-bg:var(--palette-red);--carousel-arrow-hover-color:var(--palette-cream)}.carousel__controls[data-carousel-arrow-color=white]{--carousel-arrow-color:var(--palette-white);--carousel-arrow-hover-bg:var(--palette-white);--carousel-arrow-hover-color:var(--palette-red)}.carousel__progress[data-carousel-progress-color=red]{--carousel-progress-track:#d8d4c766;--carousel-progress-fill:var(--palette-red)}.carousel__progress[data-carousel-progress-color=white]{--carousel-progress-track:#fff3;--carousel-progress-fill:var(--palette-white)}.carousel__controls{gap:var(--space-8);display:flex}.carousel>.carousel__controls:first-child{margin-block-end:var(--space-30)}.carousel__viewport~.carousel__controls,.carousel__progress~.carousel__controls{margin-block-start:var(--space-30)}.carousel__arrow{width:var(--carousel-arrow-size);height:var(--carousel-arrow-size);color:var(--carousel-arrow-color);border:1px solid var(--carousel-arrow-color);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:color var(--carousel-arrow-duration) var(--carousel-arrow-easing), background-color var(--carousel-arrow-duration) var(--carousel-arrow-easing), border-color var(--carousel-arrow-duration) var(--carousel-arrow-easing), opacity var(--carousel-arrow-duration) var(--carousel-arrow-easing);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.carousel__arrow :is(svg,img){width:var(--carousel-arrow-glyph);height:var(--carousel-arrow-glyph);display:block}.carousel__arrow:is(:hover,:focus-visible):not(:disabled){color:var(--carousel-arrow-hover-color);background-color:var(--carousel-arrow-hover-bg);border-color:var(--carousel-arrow-hover-bg)}.carousel__arrow:disabled{cursor:default;opacity:.4}.carousel__progress{height:2px;background-color:var(--carousel-progress-track);margin-block-start:var(--space-30);display:none;overflow:hidden}.carousel--engine-active .carousel__progress{display:block}.carousel--bleed-full .carousel__progress{margin-inline:var(--carousel-bleed-inline)}.carousel--bleed-full .carousel__controls{padding-inline:var(--carousel-bleed-inline)}.carousel--bleed-right .carousel__progress{margin-inline-end:var(--carousel-bleed-inline)}.carousel__progress-fill{background-color:var(--carousel-progress-fill);transform-origin:0;width:100%;height:100%;transform:scaleX(0)}.carousel--engine-active{--carousel-scroll-end:0px}.carousel--engine-active .carousel__viewport{overflow:hidden}.carousel--engine-active .carousel__viewport.is-dragging{-webkit-user-select:none;user-select:none}.carousel--bleed-full .carousel__viewport{padding-inline:var(--carousel-bleed-inline)}.carousel--bleed-right .carousel__viewport{width:calc(100% + var(--carousel-bleed-inline));max-width:none;margin-inline-end:calc(-1 * var(--carousel-bleed-inline));padding-inline-end:var(--carousel-bleed-inline)}.carousel__track{gap:var(--carousel-gap);touch-action:pan-y pinch-zoom;display:flex}.carousel__slide{flex:0 0 var(--carousel-slide-width);min-width:0}.carousel__scroll-end{flex:0 0 var(--carousel-scroll-end);min-width:var(--carousel-scroll-end);pointer-events:none}@container carousel (width<=80rem){.carousel__controls,.carousel__track{display:flex}.carousel__slide{flex:0 0 var(--carousel-slide-width)}.carousel__scroll-end{display:block}.carousel:not(.carousel--bleed-full):not(.carousel--bleed-right){--carousel-slide-width:calc(100cqi - var(--carousel-peek))}.carousel--bleed-full{--carousel-slide-width:calc(100vw - var(--carousel-bleed-inline) - var(--carousel-peek));--carousel-scroll-end:calc(100vw - var(--carousel-bleed-inline) - var(--carousel-slide-width))}.carousel--bleed-right{--carousel-slide-width:calc(100cqi - var(--carousel-peek));--carousel-scroll-end:calc(100cqi - var(--carousel-slide-width))}}@container carousel (width>=80rem){.carousel:not([data-carousel-layout=carousel]):not(.carousel--engine-active) .carousel__controls,.carousel:not([data-carousel-layout=carousel]):not(.carousel--engine-active) .carousel__progress{display:none}.carousel:not([data-carousel-layout=carousel]):not(.carousel--engine-active) .carousel__viewport{overflow:visible}.carousel:not([data-carousel-layout=carousel]):not(.carousel--engine-active) .carousel__track{grid-template-columns:repeat(var(--carousel-static-columns), minmax(0, 1fr));display:grid}.carousel:not([data-carousel-layout=carousel]):not(.carousel--engine-active) .carousel__slide{flex:initial;width:auto}.carousel:not([data-carousel-layout=carousel]):not(.carousel--engine-active) .carousel__scroll-end{display:none}}.carousel[data-carousel-layout=carousel] .carousel__controls{display:flex}.carousel[data-carousel-layout=carousel] .carousel__viewport{overflow:hidden}.carousel[data-carousel-layout=carousel] .carousel__track{display:flex}.carousel[data-carousel-layout=carousel] .carousel__slide{flex:0 0 var(--carousel-slide-width)}.carousel[data-carousel-layout=carousel] .carousel__scroll-end{display:block}.carousel[data-carousel-layout=carousel]:not(.carousel--bleed-full):not(.carousel--bleed-right){--carousel-slide-width:calc(100cqi - var(--carousel-peek))}.carousel[data-carousel-layout=carousel].carousel--bleed-full{--carousel-slide-width:calc(100vw - var(--carousel-bleed-inline) - var(--carousel-peek));--carousel-scroll-end:calc(100vw - var(--carousel-bleed-inline) - var(--carousel-slide-width))}.carousel[data-carousel-layout=carousel].carousel--bleed-right{--carousel-slide-width:calc(100cqi - var(--carousel-peek));--carousel-scroll-end:calc(100cqi - var(--carousel-slide-width))}@media (width>=64rem){.carousel__viewport~.carousel__controls,.carousel__progress~.carousel__controls{margin-block-start:var(--space-50)}}@media (prefers-reduced-motion:reduce){.carousel__arrow{transition:none}}
