/* Regional hero films: matched landscape and portrait compositions. */
#hero { padding-top:var(--header-h); height:auto; min-height:0; overflow:hidden; }
#hero .hero-layout { position:relative; width:100%; height:min(50vw,calc(100svh - var(--header-h))); min-height:480px; isolation:isolate; }
#hero .hero-layout > .rail--hero { position:absolute; z-index:3; left:4%; top:50%; transform:translateY(-50%); width:42%; max-width:650px; padding:0; gap:22px; }
#hero .hero__title { font-size:clamp(38px,4.2vw,72px); line-height:1.06; max-width:16ch; }
#hero .hero__sub { font-size:clamp(15px,1.2vw,19px); line-height:1.55; max-width:48ch; }
#hero .herofilm { display:block; position:absolute; inset:0; min-height:0; overflow:hidden; transform:none!important; background:#091116; }
#hero .herofilm::after { content:''; position:absolute; inset:0; height:100%; width:100%; z-index:2; pointer-events:none; background:linear-gradient(90deg,rgba(5,12,16,.94),rgba(5,12,16,.86) 34%,rgba(5,12,16,.32) 46%,transparent 54%); }
#hero .herofilm__poster,#hero .herofilm__vid { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; }
#hero .herofilm__vid { opacity:0; z-index:1; transition:opacity 280ms linear; will-change:opacity; }
#hero .herofilm__vid.is-on { opacity:1; }
@media(max-width:1000px) {
 #hero .hero-layout { height:auto; min-height:0; aspect-ratio:auto; display:flex; flex-direction:column; }
 #hero .hero-layout > .rail--hero { position:relative; left:auto; top:auto; transform:none; width:auto; max-width:720px; margin:0 auto; padding:32px 24px; gap:18px; }
 #hero .hero__title { font-size:clamp(36px,6vw,56px); max-width:20ch; }
 #hero .hero__sub { font-size:16px; }
 #hero .herofilm { position:relative; inset:auto; width:100%; aspect-ratio:3/4; max-width:540px; margin:0 auto; }
 #hero .herofilm::after { display:none; }
 #hero .cinema-hero-note { display:none; }
}
@media(prefers-reduced-motion:reduce) { #hero .herofilm__vid { display:none; } }
