/* Carousel styles */
.carousel{position:relative;max-width:1000px;margin:1.5rem auto;overflow:hidden;background:#000;border-radius:8px}
.carousel__viewport{display:flex;transition:transform .45s ease;will-change:transform}
.carousel__slide{position:relative;min-width:100%;aspect-ratio:16/9;background:#111;display:flex;align-items:center;justify-content:center}
.carousel__slide img{width:100%;height:100%;object-fit:cover;display:block;opacity:.95}
.carousel__caption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.6) 60%);color:#fff;padding:1rem}
.carousel__caption h3{margin:0 0 .5rem;font-size:1.1rem}
.carousel__control{position:absolute;top:50%;transform:translateY(-50%);background:rgba(17,17,17,.6);color:#fff;border:0;border-radius:999px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.carousel__control:hover{background:rgba(17,17,17,.8)}
.carousel__control.prev{left:.5rem}
.carousel__control.next{right:.5rem}
.carousel__dots{position:absolute;left:0;right:0;bottom:.5rem;display:flex;gap:.4rem;justify-content:center;align-items:center}
.carousel__dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.5);border:0;cursor:pointer}
.carousel__dot[aria-selected="true"],.carousel__dot.is-active{background:#fff}
@media (prefers-reduced-motion:reduce){.carousel__viewport{transition:none}}
