/* The live rig owns only this temporary surface; the hero keeps its layout. */
html[data-intro="boot"] { height: 100%; overflow: hidden; overscroll-behavior: none; }
html[data-intro="boot"] body { position: fixed; inset: 0; overflow: hidden; }
html[data-intro="boot"] body > * { visibility: hidden; }
html[data-intro="boot"] body > #intro-preloader { display:grid; visibility:visible; z-index:31; }
.intro-preloader-activity { width:96px; height:96px; }
.intro-character { display:block; width:100%; height:100%; }
.intro-preloader { position: fixed; inset: 0; z-index: 26; display: grid; place-items: center; background: #fff; pointer-events: none; }
.intro-preloader.intro-logo-handoff { background:transparent; display:block; }
.intro-logo-handoff .intro-preloader-activity { position:absolute; left:0; top:0; width:378px; height:352px; transform-origin:0 0; will-change:transform,opacity; }
.intro-preloader[hidden] { display:none; }
.intro-loading-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
html[data-intro-scroll-locked] { height: 100%; overflow: hidden; overscroll-behavior: none; }
html[data-intro-scroll-locked] body { position: fixed; top: var(--intro-scroll-y, 0px); left: 0; right: var(--intro-scrollbar, 0px); overflow: hidden; overscroll-behavior: none; }
.intro-stage { position: fixed; inset: 0; z-index: 25; overflow: hidden; pointer-events: none; }
.intro-backdrop { position: absolute; inset: 0; background: #fff; opacity: var(--intro-backdrop, 1); }
.intro-surface { position: absolute; left: 0; top: 0; transform-origin: 0 0; opacity: var(--intro-opacity, 1); will-change: transform, opacity; }
.intro-surface canvas { position:static; display:block; width:100% !important; height:100% !important; background:transparent; pointer-events:none; filter:blur(var(--intro-blur,0px)); will-change:filter; }
body > .intro-skip[hidden] { display: none; }
body > .intro-skip { position: fixed; right: max(24px, env(safe-area-inset-right)); top: max(20px, env(safe-area-inset-top)); z-index: 26;}
.motion-button[hidden] { display: none;}
html[data-intro] .hero-copy > .eyebrow,
html[data-intro] .offer-note,
html[data-intro] .viewer-hint{ opacity: var(--intro-details, 0);}
html[data-intro] .hero-description,
html[data-intro] .viewer-controls,
html[data-intro] .hero .availability { opacity: var(--intro-details, 0); }
html[data-intro] .hero h1 { opacity: var(--intro-headline, 0); }
html[data-intro] .hero-actions { opacity: var(--intro-actions, 0); }
html[data-intro] .navigation { opacity: var(--intro-navigation, 0); }
html[data-intro] #device-viewer { cursor: default; pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
  .intro-stage, .intro-preloader { display: none; } .intro-skip{ display: none;}
  html[data-intro] .hero-copy > *, html[data-intro] .viewer-controls, html[data-intro] .hero .availability,
  html[data-intro] .navigation { opacity: 1; }
  html[data-intro] .viewer-hint{ opacity: 1;}
}

/* Replay remains available after the full-page opening returns to the hero. */
.viewer-wrap { position:relative; }
.viewer-controls #motion-toggle { position:relative; }
.intro-replay { cursor:pointer;}
.intro-replay:disabled { cursor:default;}
@media(prefers-reduced-motion:reduce) { .intro-replay { display:none;} }
