/* Approved V2 is frozen. Scope: portrait chip behavior and Disney opening only. */
@font-face { font-family: Disney Cormorant; src: url('./assets/disney-opening/fonts/cormorant-regular.ttf') format('truetype'); font-display: swap; }
@font-face { font-family: Disney Cormorant; src: url('./assets/disney-opening/fonts/cormorant-italic.ttf') format('truetype'); font-style: italic; font-display: swap; }
@font-face { font-family: Disney Manrope; src: url('./assets/disney-opening/fonts/manrope.ttf') format('truetype'); font-display: swap; }
.disney-opening { background: #030409; container-type: inline-size; }
.disney-opening::after { display: none; }
.disney-world, .disney-tint, .disney-light, .disney-ears, .disney-stage, .disney-vignette { position: absolute; inset: 0; pointer-events: none; }
.disney-world { z-index: 0; background: url('./assets/disney-opening/magic-world.webp') center 60% / cover; opacity: var(--disney-world,0); transform: scale(var(--disney-scale,1.12)); filter: blur(var(--disney-blur,8px)); mask-image: radial-gradient(ellipse var(--disney-aperture,.3%) var(--disney-aperture-y,.21%) at 50% 57%,#000 70%,transparent 100%); }
.disney-tint { z-index: 1; background: #030409; opacity: var(--disney-quiet,0); }
.disney-light { z-index: 2; background: radial-gradient(ellipse 6% 7% at 50% 57%,#fff8da,#efca8640 40%,transparent 100%); opacity: var(--disney-light,0); transform: scale(var(--disney-light-scale,1)); }
.disney-ears { z-index: 3; background: url('./assets/disney-opening/magic-ears-source.webp') center / cover; opacity: var(--disney-fallback,1); }
.disney-stage { z-index: 4; }
.disney-stage canvas { display: block; width: 100%; height: 100%; }
.disney-vignette { z-index: 5; background: radial-gradient(ellipse 50% 48%,transparent 24%,#03040940 70%,#030409ab 100%); }
.disney-intro { position: absolute; z-index: 6; top: 15%; left: 0; width: 100%; text-align: center; opacity: var(--disney-intro,1); }
.web-card .disney-intro p { color: #e3dccf; font: 9px/1.8 Disney Manrope,sans-serif; letter-spacing: .24em; min-height: 0; margin: 0 12px 15px; }
.web-card .disney-wordmark { display: block; width: clamp(195px,38cqw,280px); height: auto; aspect-ratio: auto; margin: 0 auto 18px; max-width: 85%; border: 0; border-radius: 0; }
.disney-intro .trip-trigger { margin-top: 15px; }
.disney-final-inside { text-align: center; color: #f8efd8; }
.disney-final-inside { position: absolute; z-index: 6; inset: 0; display: flex; flex-direction: column; justify-content: center; opacity: var(--disney-reveal,0); pointer-events: none; }
.web-card .disney-final-inside p { font: 9px/1.8 Disney Manrope,sans-serif; letter-spacing: .3em; min-height: 0; margin: 0 0 20px; color: #f8efd8; }
.web-card .disney-final-inside h4 { margin: 0; font: 400 clamp(48px,12cqw,76px)/.95 Disney Cormorant,Georgia,serif; letter-spacing: -.04em; }
.disney-final-inside h4 em { font-weight: 400; }
.mobile-chip-online { display: none; }
@media(max-width:960px) {
  .disney-opening { height: 475px; min-height: 475px; }
  .disney-intro { top: 23%; }
  .disney-intro .trip-trigger { margin-top: 20px; }
  .web-card .disney-intro p { font-size: 8px; letter-spacing: .18em; }
  .cinema-ready .hero:has(.mobile-chip-track) { overflow-x: clip; overflow-y: visible; }
  .mobile-chip-track { grid-column: 1 / -1; height: calc(var(--mobile-chip-height) + var(--mobile-chip-runway)); position: relative; }
  .cinema-ready .mobile-chip-track .hero-visual { position: sticky; top: 74px; height: var(--mobile-chip-height); min-height: 0; overflow: visible; }
  .cinema-ready .mobile-chip-track .stack-stage { transform-style: flat; transform: translate3d(calc(var(--stack-x,0px) + var(--mobile-composition-x,0px)),calc(var(--float-y,0px) + var(--mobile-composition-y,-60px)),0) rotateX(var(--stack-rx,0deg)) rotateY(var(--stack-ry,0deg)) rotateZ(var(--stack-rz,0deg)) scale(var(--mobile-camera,1)); }
  .cinema-ready .mobile-chip-track .chip-annotations { inset: 0; right: auto; width: 392px; opacity: var(--annotation-opacity,0); }
  .mobile-chip-track .chip-annotations li { left: 242px; width: 130px; top: var(--mobile-label-y,50%); transform: translateY(-8px) !important; }
  .mobile-chip-track .chip-annotations small { opacity: var(--mobile-detail,0); }
  .cinema-ready .mobile-chip-track .chip-current { top: var(--mobile-current-top,18%); height: var(--mobile-current-height,64%); opacity: var(--mobile-current-opacity,0); }
  .mobile-chip-online { display: flex; position: absolute; bottom: 16px; left: 0; width: 100%; justify-content: center; align-items: center; gap: 12px; color: #8c9c9f; font: 10px/1.7 "JetBrains Mono",monospace; opacity: var(--online-opacity,0); }
  .mobile-chip-online b { color: #e7faff; font-size: 14px; font-weight: 500; letter-spacing: .18em; }
  .mobile-chip-online::after { content: ''; position: absolute; top: 35px; height: 28px; width: 1px; background: linear-gradient(#c1e8ed80,transparent); }
  .hero.is-locked .mobile-chip-online > i { animation: mobileSignalExit 650ms ease-in 200ms both; }
  @keyframes mobileSignalExit { to { transform: translate(0,48px); opacity: 0; } }
}
@media(prefers-reduced-motion:reduce) {
  .disney-opening * { transition: none !important; }
  .cinema-ready .web-card .engine-toggle { display: flex; }
  .web-card .portal-front { transition: none; }
  .web-card:not(.is-open) .portal-front { width: 84%; left: 8%; }
  .disney-stage { display: none; }
}
@media(max-width:960px) and (prefers-reduced-motion:reduce) {
  .web-card:not(.is-open) .portal-front { width: 100%; left: 0; }
}

/* Delta 02: one persistent customer viewport beside the conceptual R3 engine. */
.web-card .portal-front, .web-card.is-open .portal-front,
html:not(.cinema-ready) .web-card .portal-front,
.web-card:not(.is-open) .portal-front { left: 0; width: 50%; transform: none; transition: none; }
.web-card .system-engine { opacity: 1; transform: none; }
.web-card .portal-connection { opacity: 1; }
.web-card .engine-note { color: #8ea1a7; font: 10px/1.5 "JetBrains Mono",monospace; min-height: 0; margin: 4px 0 12px; }
.web-card.is-engine-pulsing .engine-route li:nth-child(-n+3) { animation: engineAcknowledgement 1200ms ease-out both; }
.web-card.is-engine-pulsing .engine-route li:nth-child(2) { animation-delay: 100ms; }
.web-card.is-engine-pulsing .engine-route li:nth-child(3) { animation-delay: 200ms; }
@keyframes engineAcknowledgement { 20% { color: #ecfcff; background: #c1e8ed12; } 100% { background: transparent; } }
.mobile-layer-detail { display: none !important; }
@media(max-width:960px) {
  .web-card .portal-front, .web-card.is-open .portal-front,
  html:not(.cinema-ready) .web-card .portal-front,
  .web-card:not(.is-open) .portal-front { width: 100%; }
  .web-card .system-engine, .web-card.is-open .system-engine { display: block; animation: none; }
  .cinema-ready .mobile-chip-track .hero-visual { justify-content: center; }
  .cinema-ready .mobile-chip-track .stack-stage { margin-left: 0; }
  .cinema-ready .mobile-chip-track .chip-slices { transform: none; }
  .mobile-chip-track { margin-top: -45px; }
  .mobile-chip-track .chip-annotations small:not(.mobile-layer-detail) { display: none; }
  .mobile-chip-track .chip-annotations .mobile-layer-detail { display: block !important; }
}
@media(max-width:380px) {
  .mobile-chip-track .chip-annotations li { left: 234px; width: 112px; font-size: 9px; }
  .mobile-chip-track .chip-annotations small { font-size: 11px; }
}
@media(prefers-reduced-motion:reduce) {
  .web-card.is-engine-pulsing .engine-route li { animation: none; }
}
