/* The home hero is one cinematic canvas; inner pages keep their existing header. */
body.video-home { padding-top:0; }
.video-home main { max-width:none; }
.video-home main > :not(.cinema-hero) { max-width:1800px; margin-inline:auto; }
.video-home .site-header:not(.is-compact)::before {
  background:transparent; border:0;
}
.video-home:not(.menu-open) .site-header:not(.is-compact) .menu-toggle {
  color:#fff; background:rgba(12,12,12,.28); border:1px solid rgba(255,255,255,.36); border-radius:50%;
}
.video-home .site-header:not(.is-compact) > .brand-logo img {
  filter:drop-shadow(0 2px 12px rgba(0,0,0,.5));
}
.video-home.menu-open .site-header > .brand-logo img { filter:none; }
.cinema-hero {
  position:relative; isolation:isolate; display:flex; flex-direction:column;
  justify-content:flex-end; align-items:stretch; gap:0; overflow:hidden;
  min-height:100vh; min-height:100svh; padding:calc(180px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 80px max(24px,env(safe-area-inset-left));
  background:#171717; color:#fff;
}
.cinema-media,.cinema-shade { position:absolute; inset:0; z-index:-2; pointer-events:none; }
.cinema-media { overflow:hidden; }
.cinema-poster,.cinema-video {
  position:absolute; inset:0; width:100%; height:100%; display:block;
  object-fit:cover; object-position:50% 36%;
}
.cinema-video { opacity:0; transition:opacity 650ms ease; }
.cinema-hero.video-ready .cinema-video { opacity:1; }
.cinema-shade {
  z-index:-1; background:linear-gradient(180deg,rgba(10,10,10,.16) 0%,rgba(10,10,10,.04) 24%,rgba(10,10,10,.12) 34%,rgba(10,10,10,.74) 58%,rgba(10,10,10,.95) 100%);
}
.cinema-copy { width:100%; max-width:540px; margin-inline:auto; }
.cinema-copy .eyebrow { margin-bottom:14px; color:#f1e7da; font-size:.8125rem; letter-spacing:.12em; }
.cinema-hero h1 { margin-bottom:16px; font-size:clamp(2.5rem,10.5vw,3.35rem); line-height:1.08; letter-spacing:-.035em; text-wrap:balance; }
.cinema-hero h1 em { color:#eee1d0; font-size:.8em; line-height:1.18; }
.cinema-copy .lead { max-width:380px; color:#edeae6; font-size:1rem; line-height:1.6; }
.cinema-actions { display:flex; flex-direction:column; align-items:stretch; gap:6px; margin-top:22px; }
.cinema-hero .button { min-height:54px; padding:15px 24px; background:#f5eee4; color:#2d2620; border-color:#f5eee4; font-weight:600; }
.cinema-hero .button:hover { background:#fff; border-color:#fff; color:#171717; }
.cinema-link { display:inline-flex; justify-content:center; align-items:center; min-height:44px; color:#fff; font-size:.9375rem; text-decoration:underline; text-underline-offset:5px; text-decoration-color:rgba(255,255,255,.45); }
.cinema-link:hover { text-decoration-color:#fff; }
.cinema-hero .hero-price { margin-top:12px; gap:4px 6px; color:#e5ddd3; font-size:.8125rem; }
.cinema-hero .hero-price strong { font-family:inherit; font-size:inherit; font-weight:600; }
.cinema-hero .hero-price span { color:#d0c8be; font-size:inherit; }
.cinema-scroll { position:absolute; bottom:25px; left:24px; display:inline-flex; align-items:center; gap:10px; min-height:44px; color:#e8e2da; font-size:.75rem; letter-spacing:.07em; text-decoration:none; }
.scroll-line { display:block; height:25px; width:1px; background:rgba(255,255,255,.65); }
.hero-motion {
  position:absolute; right:24px; bottom:25px; display:grid; place-items:center;
  width:44px; height:44px; padding:10px; color:#fff; border:1px solid rgba(255,255,255,.48); border-radius:50%;
  background:rgba(20,20,20,.3); cursor:pointer;
}
.hero-motion[hidden] { display:none; }
.hero-motion svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; }
.hero-motion .motion-play,.hero-motion.is-paused .motion-pause { display:none; }
.hero-motion.is-paused .motion-play { display:block; }
.cinema-hero :focus-visible { outline:2px solid #fff; outline-offset:5px; }
.video-home.hero-in-view .mobile-cta { transform:translateY(110%); visibility:hidden; pointer-events:none; }
.video-home .mobile-cta { transition:transform 240ms ease,visibility 240ms ease; }
.video-home .ribbon { border-top:0; }

@media (prefers-reduced-motion:no-preference) {
  .cinema-copy { animation:cinema-enter 850ms cubic-bezier(.2,.7,.2,1) both; }
  @keyframes cinema-enter { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
}
@media (min-width:801px) {
  .cinema-hero { min-height:760px; min-height:max(760px,100svh); justify-content:center; padding:200px clamp(40px,6.5vw,140px) 115px; }
  .cinema-media { left:30%; mask-image:linear-gradient(90deg,transparent,#000 26%); -webkit-mask-image:linear-gradient(90deg,transparent,#000 26%); }
  .cinema-poster,.cinema-video { object-position:50% 33%; }
  .cinema-shade { background:linear-gradient(90deg,#171717 0%,rgba(23,23,23,.98) 27%,rgba(23,23,23,.85) 38%,rgba(23,23,23,.35) 57%,rgba(23,23,23,.08) 80%),linear-gradient(0deg,rgba(14,14,14,.62),transparent 28%); }
  .cinema-copy { max-width:610px; width:48%; margin:0; }
  .cinema-copy .eyebrow { margin-bottom:24px; font-size:.875rem; letter-spacing:.15em; }
  .cinema-hero h1 { margin-bottom:24px; font-size:clamp(3.25rem,5.3vw,5.4rem); line-height:1.08; }
  .cinema-hero h1 em { font-size:.74em; }
  .cinema-copy .lead { max-width:440px; font-size:1.0625rem; }
  .cinema-hero .cinema-actions { flex-direction:row; align-items:center; flex-wrap:wrap; gap:12px 26px; margin-top:30px; }
  .cinema-hero .button { width:auto; }
  .cinema-link { justify-content:flex-start; }
  .cinema-hero .hero-price { margin-top:20px; font-size:.875rem; }
  .cinema-scroll { left:clamp(40px,6.5vw,140px); bottom:32px; }
  .hero-motion { right:clamp(32px,4vw,80px); bottom:32px; }
}
@media (min-width:801px) and (max-width:1100px) {
  .cinema-copy { width:53%; }
  .cinema-hero .cinema-actions { flex-direction:column; align-items:flex-start; gap:5px; }
}
@media (max-width:800px) and (max-height:720px) {
  .cinema-hero { padding-top:190px; padding-bottom:70px; }
  .cinema-hero h1 { margin-bottom:12px; font-size:2.4rem; }
  .cinema-copy .eyebrow { margin-bottom:10px; }
  .cinema-copy .lead { line-height:1.45; }
  .cinema-actions { margin-top:16px; }
  .cinema-hero .hero-price { margin-top:8px; }
  .cinema-scroll,.hero-motion { bottom:14px; }
}
