.carousel{max-width:1100px;height:100%;background:rgba(255,255,255,.75);backdrop-filter:blur(2px);border-radius:2rem;box-shadow:0 20px 40px -12px rgba(0,0,0,.3),0 1px 3px rgba(0,0,0,5%);padding:1rem;transition:all .2s}.carousel-viewport{overflow:hidden;border-radius:1.5rem;background:#f8fafc;box-shadow:inset 0 1px 2px rgba(0,0,0,2%),0 8px 20px rgba(0,0,0,.1)}.carousel-track{display:flex;width:100%;animation:autoScroll 16s ease-in-out infinite;will-change:transform}.slide{flex:0 0 100%;scroll-snap-align:start}.slide img{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:16/9;background:#d9e2ef;border-radius:1rem;transition:transform .3s ease;box-shadow:0 4px 10px rgba(0,0,0,5%)}.slide img:hover{transform:scale(1.01)}@keyframes autoScroll{0%{transform:translateX(0%)}20%{transform:translateX(0%)}25%{transform:translateX(-100%)}45%{transform:translateX(-100%)}50%{transform:translateX(-200%)}70%{transform:translateX(-200%)}75%{transform:translateX(-300%)}95%{transform:translateX(-300%)}100%{transform:translateX(0%)}}.carousel:hover .carousel-track{animation-play-state:paused}.dots{display:flex;justify-content:center;gap:.75rem;margin-top:1.5rem;margin-bottom:.5rem;flex-wrap:wrap}.dot{width:48px;height:6px;background:#cbd5e1;border-radius:6px;transition:all .2s;opacity:.7;box-shadow:inset 0 1px 1px rgba(0,0,0,2%)}.dots{position:relative}.dot{animation:dotGlowSequence 16s ease-in-out infinite;transform-origin:center}.dot:nth-child(1){animation-delay:0s}.dot:nth-child(2){animation-delay:4s}.dot:nth-child(3){animation-delay:8s}.dot:nth-child(4){animation-delay:12s}@keyframes dotGlowSequence{0%{background:#cbd5e1;width:48px;opacity:.6;transform:scaleX(1)}5%{background:#912b3b;width:64px;opacity:1;box-shadow:0 0 6px red}20%{background:#912b3b;width:64px;opacity:1}25%{background:#cbd5e1;width:48px;opacity:.6}100%{background:#cbd5e1;width:48px;opacity:.6}}.carousel:hover .dot{animation-play-state:paused}@media(max-width:640px){.carousel{padding:.75rem}.dot{width:32px}@keyframes dotGlowSequence{0%,100%{width:32px}5%,20%{width:48px}}.info{font-size:.65rem}}