.carousel{--carousel-page-color:color-mix(in oklch, var(--color-section-foreground) 14%, transparent);--carousel-page-color-active:var(--color-section-foreground);container-type:inline-size;position:relative;display:flex;width:100%;min-width:0;flex-direction:column;gap:var(--space-4)}.carousel-frame{position:relative;min-width:0}.carousel-viewport{width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;padding-block:var(--space-4);scroll-padding-inline:clamp(var(--space-4), 3cqi, var(--space-12));scroll-snap-type:inline mandatory;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.carousel-viewport::-webkit-scrollbar{display:none}.carousel-track{display:flex;width:max-content;min-width:100%;gap:var(--space-4);padding-inline-start:clamp(var(--space-4), 3cqi, var(--space-12))}.carousel-track::after{content:'';flex:0 0 clamp(var(--space-4), 3cqi, var(--space-12))}.carousel [data-carousel-item]{flex:0 0 calc((100cqi - (2 * clamp(var(--space-4), 3cqi, var(--space-12))) - (3 * var(--space-4))) / 4.15);min-width:0;scroll-snap-align:start}.carousel-arrow{position:absolute;z-index:1;top:50%;display:inline-flex;width:var(--control-height);height:var(--control-height);align-items:center;justify-content:center;padding:0;transform:translateY(-50%);border:1px solid var(--color-card-border);border-radius:var(--radius-full);outline:none;background:color-mix(in oklch,var(--color-card-background) 88%,transparent);box-shadow:var(--shadow-md);color:var(--color-card-foreground);cursor:pointer;backdrop-filter:blur(var(--space-2));-webkit-backdrop-filter:blur(var(--space-2));transition:opacity var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast)}.carousel-arrow-previous{inset-inline-start:var(--space-2)}.carousel-arrow-next{inset-inline-end:var(--space-2)}.carousel-arrow svg{width:var(--space-5);height:var(--space-5);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.carousel-arrow:disabled,.carousel.is-static .carousel-arrow{opacity:0;pointer-events:none}.carousel-arrow:focus-visible,.carousel-page:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.carousel-pagination{display:flex;min-height:var(--space-8);flex-wrap:wrap;align-items:center;justify-content:center}.carousel.is-static .carousel-pagination{display:none}.carousel-page{position:relative;display:inline-flex;width:var(--space-8);height:var(--space-8);flex:0 0 var(--space-8);align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--radius-full);outline:none;background:#fff0;color:var(--carousel-page-color);cursor:pointer}.carousel-page::before{content:'';width:var(--space-2);height:var(--space-2);border-radius:var(--radius-full);background:currentColor;transition:width var(--transition-normal),color var(--transition-fast),transform var(--transition-fast)}.carousel-page.is-active{color:var(--carousel-page-color-active)}.carousel-page.is-active::before{width:var(--space-6)}@media (hover:hover){.carousel-arrow:not(:disabled):hover{transform:translateY(-50%) scale(1.08);background:var(--color-card-background)}.carousel-page:not(.is-active):hover::before{transform:scale(1.25)}}@container (max-width:68.75rem){.carousel [data-carousel-item]{flex-basis:calc((100cqi - (2 * clamp(var(--space-4), 3cqi, var(--space-12))) - (2 * var(--space-4))) / 3.15)}}@container (max-width:48rem){.carousel [data-carousel-item]{flex-basis:calc((100cqi - (2 * clamp(var(--space-4), 3cqi, var(--space-12))) - var(--space-4)) / 2.15)}}@container (max-width:31.25rem){.carousel-pagination{display:none}.carousel [data-carousel-item]{flex-basis:calc((100cqi - (2 * clamp(var(--space-4), 3cqi, var(--space-12)))) / 1.15)}}@media (prefers-reduced-motion:reduce){.carousel-arrow,.carousel-page::before{transition:none}}@media print{.carousel-viewport{overflow:visible;padding-block:0;scroll-snap-type:none}.carousel-track{width:100%;flex-wrap:wrap;padding-inline-start:0}.carousel-track::after,.carousel-arrow,.carousel-pagination,.carousel [data-carousel-status]{display:none!important}}