/* Keep the veil behind the portrait and the particles above the Language box. */
.eeg-intro-overlay {
  pointer-events: none;
  visibility: hidden;
}
.eeg-intro-overlay.is-playing { visibility: visible; }
.eeg-intro-veil, .eeg-intro-canvas {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
}
.eeg-intro-veil {
  z-index: 17;
  background: radial-gradient(ellipse at 50% 46%, #251740f7 0%, #100c1dee 43%, #0a0814bc 100%);
  opacity: 0;
  transition: opacity .34s ease;
}
.eeg-intro-canvas { z-index: 28; }
.hero-visual .portrait-surface { z-index: 18; }
.eeg-intro-active .header-inner { transition: none; }
.is-playing > .eeg-intro-veil { opacity: 1; }
.is-landing > .eeg-intro-veil { opacity: .04; }
.is-signature > .eeg-intro-veil { opacity: .12; }
.signature-baseline {
  display: inline-block;
  width: 0;
  height: 0;
  vertical-align: baseline;
}
.hero h1.signature-hidden { opacity: 0; }
.hero h1.signature-reveal { transition: opacity .28s ease-out; }
.eeg-intro-caption {
  position: fixed;
  z-index: 29;
  left: 50%;
  top: 72%;
  width: max-content;
  max-width: calc(100vw - 32px);
  transform: translateX(-50%);
  display: grid;
  justify-items: center;
  gap: 12px;
  color: #d7cbf0;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .15em;
  text-align: center;
  transition: opacity .22s ease;
}
.is-landing .eeg-intro-caption { opacity: 0; }
.eeg-intro-progress { display: flex; gap: 5px; }
.eeg-intro-progress i {
  min-width: 30px;
  height: 2px;
  border-radius: 3px;
  background: #ae94e04a;
}
.eeg-intro-progress i.is-current {
  background: #d2b6ff;
  box-shadow: 0 0 10px #bda0ffab;
}
.eeg-intro-dock {
  position: fixed;
  right: max(22px, env(safe-area-inset-right));
  bottom: max(22px, env(safe-area-inset-bottom));
  z-index: 35;
  display: flex;
  gap: 14px;
  align-items: center;
  border: 1px solid #bda0ff58;
  border-radius: 16px;
  padding: 7px;
  color: #f1eaff;
  background: #1e1729f2;
  box-shadow: 0 8px 40px #110a2590;
  backdrop-filter: blur(14px);
}
.eeg-intro-dock[hidden], .eeg-intro-dock [hidden] { display: none !important; }
.eeg-intro-dock button {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 11px;
  border-radius: 10px;
  background: #bca8ff;
  color: #20152d;
  font-size: 12px;
  font-weight: 700;
}
.eeg-intro-dock button:hover { background: #e1d0ff; }
.eeg-intro-dock button:focus-visible { outline: 2px solid #e6d6ff; outline-offset: 4px; }
.eeg-intro-dock button:disabled { opacity: .55; cursor: default; }
.eeg-intro-hint { max-width: 200px; color: #dbccec; font-size: 11px; }
.portrait-surface.eeg-intro-steady-portrait :is(.portrait, .signal-atmosphere) { transition: none; }
#home .portrait-surface.eeg-intro-steady-portrait :is(.signal-flow, .signal-ambient-nodes circle,
  .portrait-energy-glow, .portrait-energy-ring > i, .portrait-energy-dust, .motion-wave) {
  animation-play-state: paused;
}
.eeg-intro-hide-word .signal-word-label { opacity: 0; }
.eeg-intro-landing .signal-language-token { animation: eeg-landing-glow .85s ease-out both; }
.eeg-intro-landing .signal-word-label { animation: eeg-landing-word .65s ease-out both; }
@keyframes eeg-landing-glow {
  0% { stroke: #f1d9ff; filter: drop-shadow(0 0 13px #be92ff); }
  100% { filter: drop-shadow(0 0 0 #be92ff00); }
}
@keyframes eeg-landing-word {
  0% { opacity: 0; text-shadow: 0 0 9px #d5b6ff; }
  36% { opacity: 1; }
  100% { text-shadow: 0 0 0 #d5b6ff00; }
}
@media (max-width: 560px) {
  .eeg-intro-caption { top: 66%; font-size: 10px; }
  .eeg-intro-dock { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); gap: 8px; }
  .eeg-intro-hint { max-width: 135px; }
}
@media (prefers-reduced-motion: reduce) {
  .eeg-intro-veil, .eeg-intro-caption, .hero h1.signature-reveal { transition: none; }
  .eeg-intro-landing .signal-language-token, .eeg-intro-landing .signal-word-label { animation: none; }
}
