/* Keep complete artwork visible; controls occupy their own row. */
.hero.responsive-slider{height:auto;min-height:0;max-height:none;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;background:#071322;overflow:hidden}
.hero.responsive-slider .hero-visuals{position:relative;inset:auto;grid-column:1;grid-row:1;width:100%;aspect-ratio:16/9;min-width:0;max-height:none}
.hero.responsive-slider .hero-slide{background-size:cover!important;background-position:center!important;background-color:#071322}
.hero.responsive-slider .hero-slide video{display:block;width:100%;height:100%;object-fit:contain;background:#071322}
.hero.responsive-slider>.wrap{grid-column:1;grid-row:1;min-width:0;height:auto;padding:clamp(20px,5vw,80px) 0;align-self:center}
.hero.responsive-slider.poster-slide>.wrap{display:none}
.hero.responsive-slider .hero-controls{position:relative;inset:auto;grid-column:1;grid-row:2;display:flex;justify-content:center;flex-wrap:wrap;gap:8px;width:100%;max-width:100%;margin:0;padding:12px max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left));border-radius:0;background:#071322;box-sizing:border-box}
.hero.responsive-slider .hero-dots{display:flex;gap:6px;max-width:100%;flex-wrap:wrap;justify-content:center}
.hero.responsive-slider .hero-controls button{min-width:44px;min-height:44px;flex-shrink:0;padding:8px 10px}
.hero.responsive-slider .hero-controls .hero-play{margin-left:0}
.hero.responsive-slider .hero-controls [hidden]{display:none!important}
.hero.responsive-slider .hero-bottom{display:none}
@media(max-width:600px){.hero.responsive-slider .hero-visuals{max-height:none}.hero.responsive-slider .hero-controls{gap:5px;padding-block:10px}.hero.responsive-slider .hero-dots{gap:3px}.hero.responsive-slider .hero-controls button{padding:7px;min-width:44px}.hero.responsive-slider .hero-play,.hero.responsive-slider .hero-sound{font-size:13px}.hero.responsive-slider>.wrap{padding:20px 0}.hero.responsive-slider h1{font-size:clamp(26px,6vw,38px)}}
.hero.responsive-slider .hero-slide{visibility:hidden;pointer-events:none}.hero.responsive-slider .hero-slide.is-active{visibility:visible}
.hero.responsive-slider .hero-controls{z-index:4}.hero.responsive-slider.poster-slide:after{display:none}
@media(max-width:900px){.hero.responsive-slider .hero-visuals{max-height:none}.hero.responsive-slider:not(.poster-slide)>.wrap{grid-row:2;padding:24px 0}.hero.responsive-slider:not(.poster-slide) .hero-controls{grid-row:3}.hero.responsive-slider:not(.poster-slide):after{display:none}}
/* Budget the viewport for header AND the measured, wrapping controls. */
.hero.responsive-slider .hero-visuals{aspect-ratio:auto;height:min(56.25vw,max(64px,calc(100svh - var(--hero-header,88px) - var(--hero-controls,116px) - 8px)));max-height:none}
.hero.responsive-slider .hero-slide{isolation:isolate;overflow:hidden;background-size:cover!important}
.hero.responsive-slider .hero-slide::before{content:'';position:absolute;inset:-20px;background-image:inherit;background-size:cover;background-position:center;filter:blur(18px) brightness(.55);z-index:0}
.hero.responsive-slider .hero-slide>img,.hero.responsive-slider .hero-slide>video{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;padding:0;background:transparent}
.hero-video-overlay{grid-column:1;grid-row:1;align-self:center;justify-self:center;z-index:3;background:#071322b8;color:white;border:1px solid #ffffffb3;border-radius:50%;width:88px;height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;box-shadow:0 4px 24px #0005}
.hero-video-overlay span{font-size:28px;line-height:1;margin-left:4px}.hero-video-overlay small{font:11px Arial}.hero-video-overlay:hover{background:#a82030}.hero-video-overlay[hidden]{display:none!important}.hero-video-overlay:focus-visible{outline:3px solid white;outline-offset:4px}
@media(max-width:600px),(max-height:500px){.hero-video-overlay{width:66px;height:66px}.hero-video-overlay span{font-size:23px}.hero-video-overlay small{font-size:9px}.hero.responsive-slider .hero-controls{padding:6px;gap:4px}}
