/* Every scene has a normal-flow fallback. Only this layer responds to scroll. */
@media (prefers-reduced-motion: no-preference) {
  html.motion-enabled, html.motion-enabled body { overflow-x: clip; }
  .motion-enabled .opening.pin-scene { height: var(--opening-track); }
  .motion-enabled .opening.pin-scene .opening-stage { position: sticky; top: 200px; height: var(--opening-stage); padding-block: 12px; }
  .motion-enabled .opening.pin-scene .opening-grid { height: 100%; min-height: 0; }
  .motion-enabled .logo-orbit {
    transform: perspective(1300px) translate3d(var(--logo-x, 0px), var(--logo-y, 0px), 0) rotateY(var(--logo-yaw, 0deg)) rotateX(var(--logo-pitch, 0deg)) rotateZ(var(--logo-roll, 0deg)) scale(var(--logo-scale, 1));
  }
  .motion-enabled .logo-aura { transform: scale(var(--aura-scale, 1)); opacity: var(--aura-opacity, 1); }
  .motion-enabled .opening.pin-scene .opening-copy { transform: translate3d(0, var(--opening-copy-y, 0px), 0); }
  .motion-enabled .performance-window { clip-path: inset(0 var(--photo-inset, 0%) round var(--photo-radius, 28px)); }
  .motion-enabled .performance-photo { transform: translate3d(0, var(--photo-y, 0px), 0) scale(var(--photo-scale, 1)); }
  .motion-enabled .performance-heading h2 { transform: translate3d(0, var(--photo-text-y, 0px), 0); }
  .motion-enabled .sound-scene.pin-scene .instrument-stage { position: sticky; top: 200px; height: var(--instrument-height); }
  .motion-enabled .sound-scene.pin-scene .sound-step { min-height: var(--step-height); display: flex; flex-direction: column; justify-content: center; padding-block: 65px; }
  .motion-enabled .sound-scene.pin-scene .sound-steps { padding-top: 0; }
  .motion-enabled .guitar-rig { transform: perspective(1500px) translate3d(var(--guitar-x, 0px), var(--guitar-y, 0px), 0) rotateX(var(--guitar-pitch, 0deg)) rotateY(var(--guitar-yaw, 0deg)) rotateZ(var(--guitar-roll, 0deg)) scale(var(--guitar-scale, 1)); }
  .motion-enabled .loop-layer { transform: perspective(1100px) translate3d(var(--layer-x, 0px), var(--layer-y, 0px), 0) rotateX(var(--layer-pitch, 0deg)) rotateZ(var(--layer-roll, -9deg)) scale(var(--layer-scale, 1)); opacity: var(--layer-opacity, 1); }
  .motion-enabled .instrument-halo { transform: scale(var(--halo-scale, 1)); }
  .motion-enabled .signal { transform: translateX(var(--signal-x, 0px)); }
  .motion-enabled .chapter-meter span.is-current { background: #ed8ad1; box-shadow: 0 0 12px #ff3b8d80; }
  .motion-enabled [data-reveal] { transform: translate3d(0, var(--reveal-y, 0px), 0); opacity: var(--reveal-opacity, 1); }
  .motion-enabled .sound-step { opacity: var(--step-opacity, 1); }
  .motion-enabled .scene-active .logo-orbit, .motion-enabled .scene-active .performance-photo,
  .motion-enabled .scene-active .guitar-rig, .motion-enabled .scene-active .loop-layer { will-change: transform; }
  .motion-enabled [data-reveal]:focus-within, .motion-enabled .opening:focus-within .opening-copy { transform: none; opacity: 1; }
  .motion-enabled .sound-step:focus-within { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .experience *, .experience *::before, .experience *::after { animation: none !important; transition: none !important; }
}

@media (prefers-reduced-motion: no-preference) {
  .motion-enabled .booking-art { transform: perspective(1000px) translateY(var(--diary-y, 0px)) rotateY(var(--diary-yaw, 0deg)) rotateZ(var(--diary-roll, 0deg)) scale(var(--diary-scale, 1)); }
  .motion-enabled .booking-section.scene-active .booking-art { will-change: transform; }
}

@media (prefers-reduced-motion: no-preference) and (orientation: landscape) and (max-height: 600px) {
  .motion-enabled .sound-scene.pin-scene .instrument-stage { top: 112px; }
}
