.stage{position:fixed;inset:0;z-index:var(--z-stage);overflow:hidden}
.scene{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;will-change:opacity,transform}
/* el spacer define cuánto scroll hay (timeline continua) */
.scroll-spacer{height:760vh}
/* fallback apilado (reduced-motion) */
.reduced .stage{position:static}
.reduced .intro{display:none}
.reduced .scene{position:relative;opacity:1;visibility:visible;transform:none;min-height:100vh;pointer-events:auto}
.reduced .scroll-spacer{display:none}
