.carousel{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:min(1067px,79vw);margin:0 auto;position:relative}.carousel__row{display:flex;align-items:center;justify-content:center;gap:1.25rem;width:100%}@media (max-width:768px){.carousel__row{width:120%}}.carousel__arrow{flex:0 0 auto;width:48px;height:48px;min-width:2.75rem;min-height:2.75rem;border:none;border-radius:50%;background:var(--accent);color:var(--bg);cursor:pointer;display:none;align-items:center;justify-content:center;font-size:1.25rem;padding:0;line-height:1;transition:opacity .2s,background .2s}@media (max-width:768px){.carousel--multiple .carousel__arrow{display:flex}.carousel__arrow{width:40px;height:40px;min-width:2.5rem;min-height:2.5rem;font-size:1.1rem}}@media (min-width:769px){.carousel--many .carousel__arrow,.carousel--multiple .carousel__arrow{display:flex}}.carousel__arrow:hover:not(:disabled){opacity:.9}.carousel__arrow:disabled{opacity:.4;cursor:default;pointer-events:none}.carousel__arrow--next::before,.carousel__arrow--prev::before{content:'\2039';line-height:1}.carousel__arrow--next::before{content:'\203A'}.carousel__track{display:flex;align-items:stretch;gap:1.5rem;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;flex:1 1 auto;min-width:0;padding:.5rem 0;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;user-select:none;-webkit-overflow-scrolling:touch}.carousel__track::-webkit-scrollbar{display:none}.carousel__track.dragging{cursor:grabbing;scroll-behavior:auto}.carousel--fit .carousel__arrow,.carousel--fit .carousel__dots{display:none!important}.carousel--fit .carousel__track{overflow-x:visible;cursor:default}.carousel__dots{display:flex;align-items:center;justify-content:center;gap:.125rem;margin-top:1rem;flex-wrap:wrap}.carousel__dot{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem;padding:0;border:none;border-radius:50%;background:0 0;cursor:pointer;transition:transform .2s;position:relative}.carousel__dot::before{content:'';position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--border);transition:background .2s,transform .2s}.carousel__dot:hover::before{background:var(--text-muted)}.carousel__dot--active::before{background:var(--accent);transform:scale(1.2)}