/* Film stays atmospheric. Real HTML copy has independent contrast protection. */
.film-hero{position:relative;isolation:isolate;padding-top:clamp(30px,3.5vw,52px);background:#101310}
.hero-film-media{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none;background:#101310}
.hero-film-media::after{content:'';position:absolute;inset:0;z-index:3;background:#1013101a}
.hero-film-poster,.hero-film-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;display:block}
.hero-film-poster{z-index:0}.hero-film-video{z-index:1;opacity:0}
.film-hero.is-film-static .hero-film-video{opacity:0!important}
.film-heading,.film-details{position:relative;z-index:2}
.film-heading::before,.film-details::before{content:'';position:absolute;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;pointer-events:none}
.film-heading::before{top:-60px;bottom:-160px;background:linear-gradient(180deg,#101310ed 0%,#101310e8 60px,#101310e8 calc(100% - 120px),#10131000 100%)}
.hero-film-window{height:clamp(180px,18vw,260px)}
.film-details::before{top:-100px;bottom:-1px;background:linear-gradient(180deg,#10131000 0%,#101310e6 100px,#101310ed 100%)}
.film-hero h1{position:relative;text-shadow:0 2px 20px #00000030}
.film-hero h1>span+span{color:#ffb18f;animation-name:film-line-arrive;animation-duration:1.15s;animation-delay:.15s}
.film-hero h1 em{display:inline-block;position:relative;color:inherit;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.065em;margin-right:.035em;transform:rotate(-3deg);animation:film-word-arrive 1.25s cubic-bezier(.16,1,.3,1) .2s both}
.film-hero h1 em::after{content:'';position:absolute;left:8%;right:-2%;bottom:.01em;height:.035em;background:currentColor;border-radius:100%;transform:rotate(-4deg) scaleX(1);transform-origin:left;animation:film-stroke-arrive .75s cubic-bezier(.16,1,.3,1) .55s both}
@keyframes film-line-arrive{from{opacity:0;transform:translateX(-35px)}to{opacity:1;transform:none}}
@keyframes film-word-arrive{from{opacity:0;transform:translateX(-22px) rotate(-9deg)}to{opacity:1;transform:rotate(-3deg)}}
@keyframes film-stroke-arrive{from{transform:rotate(-4deg) scaleX(0)}to{transform:rotate(-4deg) scaleX(1)}}
.motion-paused .film-hero h1>span,.motion-paused .film-hero h1 em,.motion-paused .film-hero h1 em::after{animation-play-state:paused}
.film-hero .poster-bottom{padding-top:18px}
.film-hero .poster-bottom>p{color:#f3f2ed}
.film-hero .cinema-cta{color:#fffefa;border-color:#ff693b}
.film-hero .cinema-baseline{color:#f3f2ed;border-color:#ffffff40}
.film-hero .motion-toggle{background:#101310cc;color:#fffefa;border-color:#ffffff66}
.film-hero .motion-toggle:hover{background:#242a24}
@media(max-width:760px){.hero-film-window{height:230px}.hero-film-poster,.hero-film-video{object-position:55% center}.film-heading::before{bottom:-125px;background:linear-gradient(180deg,#101310e8 0%,#101310e8 calc(100% - 100px),#10131000 100%)}.film-details::before{top:-75px;background:linear-gradient(180deg,#10131000,#101310e6 75px,#101310ed)}.film-hero .poster-bottom>p{font-size:1rem}}
@media(max-width:520px){.hero-film-window{height:210px}.film-hero .cinema-baseline{align-items:center}.film-hero .poster-bottom .cinema-cta{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.hero-film-video{display:none}.film-hero h1>span,.film-hero h1 em,.film-hero h1 em::after{animation:none}}
@media print{.hero-film-media{display:none}.hero-film-window{height:20px}.film-hero{background:white;color:black}.film-heading::before,.film-details::before{display:none}.film-hero h1>span+span,.film-hero h1 em,.film-hero .poster-bottom>p,.film-hero .cinema-cta,.film-hero .cinema-baseline{color:black}.film-hero .motion-toggle{display:none}}
