.home-carousel{touch-action:pan-y pinch-zoom;background:#080909}
.home-carousel .home-feature-panel{display:block;width:100%;height:auto;min-height:0}
.home-poster-frame{position:relative;width:100%;max-width:1600px;margin:0 auto;overflow:hidden}
.home-carousel .hero-poster{display:block;width:100%;max-width:none;margin:0;aspect-ratio:16/9;overflow:hidden}
.home-carousel .hero-poster img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.home-carousel .hero-copy h1:not(:has(.sr-only)){font-size:clamp(28px,4vw,48px);letter-spacing:-.5px;line-height:1.1;margin:12px 0}
.feature-controls{position:absolute;z-index:3;bottom:5px;left:50%;transform:translateX(-50%);display:flex;justify-content:center;align-items:center}
.feature-controls>button,.feature-controls .feature-position{display:none}
.feature-dots{display:flex;gap:0;align-items:center}
.feature-dots button{display:grid;place-items:center;width:34px;height:34px;min-height:34px;padding:0;background:transparent;border:0;border-radius:50%}
.feature-dots button::before{content:'';display:block;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.28);box-shadow:0 1px 3px rgba(0,0,0,.5)}
.feature-dots button.active::before{background:rgba(255,255,255,.7)}
.feature-dots button:focus-visible{outline:1px solid #edc367;outline-offset:0}
@media(max-width:650px){.home-poster-frame{max-width:500px}.home-carousel .hero-poster{aspect-ratio:9/16}.home-carousel .hero-copy h1:not(:has(.sr-only)){font-size:30px}}

/* Preserve full approved poster artwork in every feature frame. */
.home-carousel .hero-poster img{object-fit:contain;background:#080909}
