.hero-section{isolation:isolate;overflow:hidden}
.vine-hero-media{position:absolute;inset:0;z-index:0;pointer-events:none}
.vine-hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.vine-hero-slide.is-active{opacity:1}
.vine-hero-slide img,.vine-hero-slide video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.vine-hero-slide video{opacity:0;transition:opacity .4s ease}
.vine-hero-slide video.is-playing{opacity:1}
.hero-section .hero-overlay{z-index:1;pointer-events:none}
.hero-section .top-nav,.hero-section .hero-content{position:relative;z-index:2}
.vine-hero-controls{position:absolute;bottom:24px;right:80px;z-index:3;display:flex;align-items:center;gap:8px;color:#fff}
.vine-hero-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:rgba(0,0,0,.25);color:inherit;cursor:pointer;font:inherit}
.vine-hero-prev,.vine-hero-next{line-height:1;font-size:28px!important}
.vine-hero-dots{display:flex;align-items:center;gap:0}
.vine-hero-controls .vine-hero-dot{border:0;background:transparent;position:relative}
.vine-hero-dot::after{content:"";display:block;width:8px;height:8px;background:rgba(255,255,255,.5);border-radius:50%}
.vine-hero-dot[aria-current=true]::after{background:#fff;width:22px;border-radius:8px}
.vine-hero-controls button:hover{background:rgba(0,0,0,.5)}
.vine-hero-controls button:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:768px){.vine-hero-controls{right:20px;bottom:14px;max-width:calc(100% - 40px)}.vine-hero-dots{flex-wrap:wrap;justify-content:center}.vine-hero-controls .vine-hero-dot{width:28px;height:44px}}
@media(prefers-reduced-motion:reduce){.vine-hero-slide,.vine-hero-slide video{transition:none}}
