/* Full-screen imagery; editorial copy follows the image. */
.cinematic-home .site-header { position:fixed; inset:0 0 auto; width:100%; }
.cinematic-home .site-header:not(.is-solid) { background:linear-gradient(180deg,rgba(8,16,19,.6),rgba(8,16,19,0)); border-color:transparent; color:#fff; }
.cinematic-home .site-header:not(.is-solid) .wordmark-on-light { display:none; }
.cinematic-home .site-header:not(.is-solid) .wordmark-on-dark { display:block; }
.cinematic-home .site-header:not(.is-solid) .header-inner nav:not(.is-open) { background:transparent; }
.cinematic-home .site-header:not(.is-solid) .theme-control { color:#e4e8e5; }
.cinematic-home .site-header:not(.is-solid) .theme-control select { background:rgba(15,24,25,.22); border-color:rgba(255,255,255,.3); color:#fff; }
.cinematic-home .site-header:not(.is-solid) .menu-toggle i { border-color:#fff; }
.cinematic-home .site-header:not(.is-solid) .menu-toggle i::after { background:#fff; }
.cinematic-home .site-header:not(.is-solid) .button-small { background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.5); color:#fff; backdrop-filter:blur(12px); }
.cinematic-home .site-header:has(.is-open) { background:var(--panel); color:var(--ink); }
.cinematic-home .site-header .is-open { color:var(--ink); }
.cinematic-home .site-header .is-open .theme-control,.cinematic-home .site-header .is-open .theme-control select { color:var(--ink); }
.cinematic-home .site-header:has(.is-open) .button-small { color:var(--surface); background:var(--ink); border-color:var(--ink); }
.cinematic-home .site-header:has(.is-open) .menu-toggle i { border-color:var(--ink); }
.cinematic-home .site-header:has(.is-open) .menu-toggle i::after { background:var(--ink); }
:root:not([data-theme=dark]) .cinematic-home .site-header:has(.is-open) .wordmark-on-light { display:block; }
:root:not([data-theme=dark]) .cinematic-home .site-header:has(.is-open) .wordmark-on-dark { display:none; }
.cinematic-home .theme-control select option { color:var(--ink); background:var(--panel); }
.group-film-hero { position:relative; height:100svh; background:#152021; }
.group-film-hero.sequence-enabled { height:220svh; }
.group-film-stage { position:sticky; top:0; width:100%; height:100svh; overflow:hidden; background:#152021; }
.group-film-media { position:absolute; inset:0; width:100%; height:100%; }
.group-film-media video,.group-film-media canvas { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
.group-film-media::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,17,20,.62),transparent 68%),linear-gradient(0deg,rgba(7,17,20,.38),transparent 52%); pointer-events:none; }
.hero-intro { position:absolute; z-index:2; left:0; right:0; bottom:clamp(130px,18svh,210px); color:#fff; opacity:var(--hero-copy-opacity,1); pointer-events:none; }
.hero-intro-eyebrow { margin-bottom:18px; font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; }
.hero-intro h1 { max-width:780px; font-size:clamp(46px,5.5vw,78px); line-height:1.05; letter-spacing:-.055em; font-weight:500; text-wrap:balance; text-shadow:0 2px 24px rgba(0,0,0,.28); }
.hero-intro-subtitle { margin-top:22px; font-size:clamp(13px,1.15vw,17px); line-height:1.5; text-shadow:0 1px 14px rgba(0,0,0,.5); }
#group-sequence { opacity:0; transition:opacity .45s ease; }
.is-scrubbing #group-sequence[data-ready=true] { opacity:1; }
.hero-scroll-cue { position:absolute; left:50%; bottom:clamp(26px,5svh,58px); transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:16px; z-index:2; color:#fff; padding:14px 25px; text-shadow:0 1px 12px #000; }
.hero-scroll-cue::before { content:''; position:absolute; inset:-30px -60px; z-index:-1; background:radial-gradient(ellipse,rgba(0,0,0,.38),transparent 70%); pointer-events:none; }
.hero-scroll-cue > span { font-size:10px; letter-spacing:.2em; text-transform:uppercase; font-weight:500; white-space:nowrap; }
.hero-scroll-cue i { display:block; position:relative; width:1px; height:48px; background:rgba(255,255,255,.35); overflow:hidden; }
.hero-scroll-cue b { display:block; width:1px; height:25px; background:#fff; animation:scroll-cue 2.2s cubic-bezier(.65,0,.35,1) infinite; }
@keyframes scroll-cue { 0% { transform:translateY(-28px); } 70%,100% { transform:translateY(52px); } }
.hero-film-progress,.architecture-progress { position:absolute; bottom:0; left:0; height:2px; width:100%; background:var(--accent); transform:scaleX(var(--film-progress,0)); transform-origin:left; }
.architecture-chapter { position:relative; background:var(--paper); }
.architecture-chapter.sequence-enabled { height:210svh; }
.architecture-stage { position:sticky; top:0; height:100svh; display:flex; flex-direction:column; }
.architecture-media { position:relative; flex:1; min-height:0; overflow:hidden; background:#172124; }
.architecture-media picture,.architecture-media img,.architecture-media canvas { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.architecture-media canvas { opacity:0; transition:opacity .6s; }
.sequence-enabled .architecture-media canvas[data-ready=true] { opacity:1; }
.architecture-caption { display:grid; grid-template-columns:1.05fr 1fr auto; align-items:center; gap:28px; padding-block:28px; }
.architecture-caption .eyebrow { margin-bottom:8px; }
.architecture-caption h2 { font-size:clamp(24px,2.8vw,38px); }
.architecture-caption > p { font-size:13px; color:var(--ink); line-height:1.8; }
.architecture-caption > p span { color:var(--muted); font-size:11px; }
.architecture-progress { transform:scaleX(var(--scene-progress,0)); }
@media(max-width:700px) {
  .group-film-hero.sequence-enabled,.architecture-chapter.sequence-enabled { height:180svh; }
  .hero-intro { bottom:130px; }
  .hero-intro-eyebrow { margin-bottom:15px; font-size:9px; }
  .hero-intro h1 { max-width:360px; font-size:clamp(38px,9.5vw,56px); }
  .hero-intro-subtitle { max-width:280px; margin-top:17px; font-size:12px; }
  .architecture-caption { grid-template-columns:1fr; gap:10px; padding-block:19px; }
  .architecture-caption > p { display:none; }
  .architecture-caption .text-link { width:fit-content; font-size:11px; }
  .hero-scroll-cue { bottom:30px; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-scroll-cue b { animation:none; }
  #group-sequence,.architecture-media canvas { transition:none; }
}
.cinematic-home .site-header:not(.is-solid) .theme-toggle { border-color:rgba(255,255,255,.4); }
.cinematic-home .site-header .theme-options { color:var(--ink); }
.cinematic-home .site-header:has(.is-open) .theme-control { color:var(--ink); }
