.carousel{position:relative;width:100%;height:100%;margin:0;padding:0}.carousel__viewport{overflow:hidden;width:100%;height:100%;margin:0;padding:0;position:relative}.carousel__container{display:flex;height:100%;touch-action:pan-y;margin:0;padding:0}.carousel__slide{flex:0 0 100%;min-width:0;position:relative;height:100%;overflow:hidden}.carousel__image{display:block;width:100%;height:100%;object-fit:cover}.carousel__nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#fff3;border:1px solid rgba(255,255,255,.4);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:10;outline:none}.carousel__nav-btn:hover{background:#fff6;transform:translateY(-50%) scale(1.1)}.carousel__nav-prev{left:1rem}.carousel__nav-next{right:1rem}.carousel__dots{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;gap:.75rem;z-index:10}.carousel__dot{width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:transparent;cursor:pointer;padding:0;transition:all .3s ease;outline:none}.carousel__dot:hover{background:#ffffff4d}.carousel__dot.is-active{background:#fff;border-color:#fff;transform:scale(1.2)}@media(min-width:769px){.carousel__nav-btn{width:48px;height:48px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.carousel__nav-prev{left:2rem}.carousel__nav-next{right:2rem}.carousel__dots{bottom:2rem}}.carousel__dot{position:relative}.carousel__dot:after{content:"";position:absolute;inset:-12px}.carousel__nav-btn:active{background:#ffffff8c;transform:translateY(-50%) scale(.92);transition-duration:.05s}
