/* The scene stays within the opening only. Native scroll; no scroll hijacking. */
.relief-stage { position:relative; background:#090e18; }
.relief-stage[data-relief-ready="true"] { height:190svh; }
.relief-stage .hero { position:sticky; top:0; height:100svh; min-height:720px; overflow:hidden; }
.hero > .hero-relief { position:absolute; z-index:0; inset:0; overflow:hidden; pointer-events:none; background:#141c2a url('assets/leitmotif-relief-fallback.webp') center/cover no-repeat; }
.hero-relief canvas { display:block; width:100%; height:100%; opacity:0; transition:opacity .5s ease; }
.hero-relief[data-relief-state="ready"] canvas { opacity:1; }
.hero-relief[data-relief-state="fallback"] canvas { display:none; }
.relief-stage .hero::before { pointer-events:none; background:linear-gradient(180deg,rgba(4,8,17,.24),transparent 25%,rgba(4,8,17,.08) 45%,rgba(4,8,17,.73)); }
.relief-stage .hero h1 { max-width:11.6ch; font-size:clamp(62px,7.45vw,124px); line-height:.98; letter-spacing:-.048em; }
.relief-stage .hero { grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr); column-gap:clamp(40px,5vw,100px); }
.relief-stage .hero__argument { margin-top:0; }
.relief-stage .hero__content { padding-bottom:34px; }
.relief-stage .hero__content, .relief-stage .hero__argument { transform:translateY(calc(var(--relief-progress,0) * -18px)); }
.relief-stage .hero__footer { justify-content:space-between; }
.hero__explore { display:inline-flex; align-items:center; gap:16px; color:#fff; font-size:11px; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.hero__explore span { font-size:20px; }
@media(max-width:960px) {
  .relief-stage .hero { grid-template-columns:1fr; grid-template-rows:1fr auto auto; min-height:680px; }
  .relief-stage .hero h1 { max-width:12ch; font-size:clamp(58px,10vw,94px); }
  .relief-stage .hero__argument { max-width:480px; font-size:17px; }
}
@media(max-width:700px) {
  .relief-stage[data-relief-ready="true"] { height:165svh; }
  .relief-stage .hero { min-height:640px; padding-top:125px; padding-bottom:25px; }
  .relief-stage .hero h1 { font-size:clamp(47px,12.5vw,76px); max-width:11ch; line-height:.98; }
  .relief-stage .hero__content { padding-bottom:0; }
  .relief-stage .hero__argument { margin:22px 0 24px; font-size:16px; line-height:1.45; }
  .relief-stage .hero__footer { padding-top:20px; gap:20px; }
  .hero__explore { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .relief-stage[data-relief-ready="true"] { height:auto; }
  .relief-stage .hero { position:relative; }
  .relief-stage .hero__content,.relief-stage .hero__argument { transform:none; }
  .hero-relief canvas { transition:none; }
}
