.cinematic-stage {
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  background: radial-gradient(circle at 50% 45%, #152C21 0%, #070F0B 85%);
  z-index: 99999;
  display: flex;
  align-items: center; justify-content: center;
  pointer-events: auto; opacity: 1;
}
.intro-logo-box {
  width: min(84vw, 400px); max-width: 400px; height: auto;
  display: flex; align-items: center; justify-content: center;
  transform-origin: center center;
  will-change: transform, opacity;
}
.intro-svg-symbol { width: 100%; height: auto; display: block; overflow: visible; }
.sparkle-dot {
  transform-origin: 611px 564px;
  opacity: 0;
  animation: disneySpark 1.2s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
@keyframes disneySpark {
  0% { transform: scale(0); opacity: 0; }
  20% { transform: scale(1); opacity: 1; filter: drop-shadow(0 0 30px #F2E3C6); }
  50% { transform: scale(1.5); opacity: 1; filter: drop-shadow(0 0 50px #C5A059); }
  100% { transform: scale(0); opacity: 0; filter: drop-shadow(0 0 10px #F2E3C6); }
}
.trace-path {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  opacity: 0;
  will-change: stroke-dashoffset, opacity;
}
.trace-core { animation: sacredDraw 1.2s cubic-bezier(0.3, 0, 0.2, 1) 0.35s forwards; }
.trace-inner { animation: sacredDraw 1.4s cubic-bezier(0.3, 0, 0.2, 1) 0.70s forwards; }
.trace-outer { animation: sacredDraw 1.6s cubic-bezier(0.3, 0, 0.2, 1) 1.00s forwards; }
@keyframes sacredDraw {
  0% { stroke-dashoffset: 1; opacity: 1; }
  100% { stroke-dashoffset: 0; opacity: 1; }
}
.intro-wordmark {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.intro-wordmark.visible {
  opacity: 1;
  transform: translateY(0);
}
.page-content-manifest {
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
body.intro-running .page-content-manifest { 
  opacity: 0 !important; 
  pointer-events: none !important; 
}
body.page-revealing .page-content-manifest,
body.page-ready .page-content-manifest { 
  opacity: 1 !important; 
  pointer-events: auto !important; 
}
@keyframes heroBreath {
  0% { opacity: 0.35; transform: translate(-50%, -50%) scale(0.9); }
  100% { opacity: 0.85; transform: translate(-50%, -50%) scale(1.15); }
}
.hero-title-shimmer {
  position: relative; z-index: 1;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2.3rem, 5.8vw, 3.5rem); font-weight: 400; line-height: 1.25; margin-bottom: 16px; letter-spacing: 0.5px;
  background: linear-gradient(110deg, #F2E3C6 0%, #D4B26F 35%, #FFFFFF 50%, #D4B26F 65%, #F2E3C6 100%);
  background-size: 200% auto; color: #F2E3C6; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  animation: goldLiquidGleam 4.5s ease-in-out infinite; text-shadow: 0 2px 20px rgba(0,0,0,0.4);
}
@keyframes goldLiquidGleam {
  0% { background-position: 200% center; }
  50%, 100% { background-position: -200% center; }
}
@keyframes crossfadeDark {
  0% { opacity: 0; }
  100% { opacity: 1; }
}