:root{
  color-scheme:dark;
  --void:#09090B;
  --void-elevated:#14110B;
  --void-warm:#1A150D;
  --ink-deep:#050507;
  --aurum:#D4A84B;
  --aurum-bright:#E8C46A;
  --aurum-vivid:#F0D07A;
  --aurum-soft:#F8E4A8;
  --aurum-deep:#8B6914;
  --aurum-shadow:#3A2A0E;
  --copper:#C28560;
  --c-yellow:#E8C46A;
  --c-green:#7DD87D;
  --c-blue:#7DB8E8;
  --c-orange:#FFAB76;
  --glass-white:rgba(255,255,255,0.05);
  --glass-border:rgba(255,255,255,0.10);
  --glass-border-strong:rgba(255,255,255,0.18);
  --text-primary:rgba(255,255,255,0.94);
  --text-secondary:rgba(255,255,255,0.64);
  --text-tertiary:rgba(255,255,255,0.40);
  --text-quaternary:rgba(255,255,255,0.22);
  --aura-active:212,168,75;
}
*,*::before,*::after{ margin:0; padding:0; box-sizing:border-box; }
html, body{
  background:var(--ink-deep);
  color:var(--text-primary);
  font-family:'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  height:100%;
  width:100%;
  overscroll-behavior:none;
}
html{ overflow:hidden; }
body{ position:relative; overflow:hidden; }
body::before{
  content:'';
  position:fixed; inset:0; pointer-events:none; z-index:0;
  background:radial-gradient(ellipse at 50% 50%,
      rgba(var(--aura-active), 0.08) 0%,
      rgba(var(--aura-active), 0.04) 25%,
      rgba(var(--aura-active), 0.015) 50%,
      transparent 70%), radial-gradient(ellipse at 50% 100%,
      rgba(var(--aura-active), 0.05) 0%,
      transparent 50%);
  transition:background 1.6s ease;
}

.starfield{
  position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:radial-gradient(1px 1px at 20% 30%, rgba(255,255,255,0.6), transparent), radial-gradient(1px 1px at 40% 70%, rgba(255,255,255,0.4), transparent), radial-gradient(1px 1px at 60% 20%, rgba(255,255,255,0.5), transparent), radial-gradient(1px 1px at 80% 50%, rgba(255,255,255,0.3), transparent), radial-gradient(1px 1px at 15% 80%, rgba(255,255,255,0.4), transparent), radial-gradient(1.5px 1.5px at 70% 85%, rgba(212,168,75,0.4), transparent), radial-gradient(1px 1px at 90% 15%, rgba(255,255,255,0.3), transparent), radial-gradient(1px 1px at 30% 50%, rgba(212,168,75,0.25), transparent), radial-gradient(1px 1px at 50% 10%, rgba(255,255,255,0.35), transparent), radial-gradient(1px 1px at 85% 90%, rgba(255,255,255,0.3), transparent);
  background-size:100% 100%;
  opacity:0.7;
  animation:starTwinkle 14s ease-in-out infinite;
}
@keyframes starTwinkle{
  0%,100%{ opacity:0.55; }
  50%{ opacity:0.85; }
}

.aura-pulse{
  position:fixed; inset:0;
  display:flex; align-items:center; justify-content:center;
  pointer-events:none; z-index:1;
}
.aura-pulse::before{
  content:'';
  width:1200px; height:1200px; border-radius:50%;
  background:radial-gradient(circle,
    rgba(var(--aura-active), 0.10) 0%,
    rgba(var(--aura-active), 0.05) 20%,
    rgba(var(--aura-active), 0.02) 45%,
    rgba(var(--aura-active), 0.008) 65%,
    transparent 82%);
  animation:auraPulse 12s ease-in-out infinite;
  filter:blur(12px);
  transition:background 1.6s ease;
}
@keyframes auraPulse{
  0%,100%{ opacity:0.6; transform:scale(1); }
  50%{ opacity:1;   transform:scale(1.12); }
}
.ring{
  position:fixed; border-radius:50%;
  border:1px solid rgba(255,255,255,0.020);
  left:50%; top:50%;
  transform:translate(-50%,-50%);
  pointer-events:none; z-index:1;
}
.ring.r1{ width:780px;  height:780px; }
.ring.r2{ width:1080px; height:1080px; border-color:rgba(255,255,255,0.014); }
.ring.r3{ width:1400px; height:1400px; border-color:rgba(255,255,255,0.010); }
.ring.r4{ width:1750px; height:1750px; border-color:rgba(255,255,255,0.007); }
.particles{ position:fixed; inset:0; pointer-events:none; z-index:1; overflow:hidden; }
.particle{
  position:absolute;
  width:2px; height:2px;
  border-radius:50%;
  background:rgba(var(--aura-active), 0.6);
  box-shadow:0 0 6px rgba(var(--aura-active), 0.5);
  opacity:0;
  animation:particleFloat var(--dur, 18s) linear infinite;
  animation-delay:var(--delay, 0s);
  left:var(--x, 50%);
  bottom:-10px;
}
@keyframes particleFloat{
  0%{ opacity:0;   transform:translate(0,0) scale(0.4); }
  10%{ opacity:0.7; transform:translate(0,-100px) scale(1); }
  90%{ opacity:0.5; transform:translate(var(--drift,30px), -90vh) scale(0.7); }
  100%{ opacity:0;   transform:translate(calc(var(--drift,30px) * 1.4), -100vh) scale(0.3); }
}

.night-atmosphere{
  position:fixed; inset:0; z-index:0;
  opacity:0; pointer-events:none;
  transition:opacity 2.4s ease, background 2.4s ease;
}
.night-atmosphere.show{ opacity:1; }
.night-atmosphere.moment-amanecer{
  background:radial-gradient(ellipse at 50% 95%, rgba(255,140,60,0.22) 0%, transparent 55%), radial-gradient(ellipse at 30% 70%, rgba(255,180,90,0.14) 0%, transparent 50%), linear-gradient(180deg, rgba(20,12,8,0.3), rgba(40,18,8,0.45) 70%, transparent 100%);
}
.night-atmosphere.moment-mañana{
  background:radial-gradient(ellipse at 50% 100%, rgba(255,210,110,0.20) 0%, transparent 60%), radial-gradient(ellipse at 60% 30%, rgba(255,230,150,0.10) 0%, transparent 50%), linear-gradient(180deg, rgba(20,16,8,0.25), transparent 70%);
}
.night-atmosphere.moment-tarde{
  background:radial-gradient(ellipse at 50% 90%, rgba(255,170,80,0.18) 0%, transparent 55%), radial-gradient(ellipse at 40% 40%, rgba(255,200,100,0.10) 0%, transparent 50%), linear-gradient(180deg, rgba(28,18,8,0.30), transparent 65%);
}
.night-atmosphere.moment-atardecer{
  background:radial-gradient(ellipse at 50% 95%, rgba(255,90,50,0.22) 0%, transparent 55%), radial-gradient(ellipse at 30% 60%, rgba(220,80,60,0.14) 0%, transparent 50%), linear-gradient(180deg, rgba(35,10,8,0.40), rgba(50,18,12,0.30) 60%, transparent 100%);
}
.night-atmosphere.moment-noche{
  background:radial-gradient(ellipse at 50% 20%, rgba(80,90,200,0.18) 0%, transparent 55%), radial-gradient(ellipse at 30% 80%, rgba(140,100,210,0.14) 0%, transparent 50%), linear-gradient(180deg, rgba(10,12,40,0.55), rgba(15,8,30,0.40) 70%, transparent 100%);
}
.night-atmosphere.moment-madrugada{
  background:radial-gradient(ellipse at 50% 30%, rgba(60,80,180,0.20) 0%, transparent 55%), radial-gradient(ellipse at 70% 80%, rgba(100,90,200,0.10) 0%, transparent 50%), linear-gradient(180deg, rgba(8,10,30,0.60), rgba(12,10,28,0.35) 60%, transparent 100%);
}
.journey-tint{
  position:fixed; inset:0; z-index:0;
  pointer-events:none;
  opacity:var(--journey-tint-opacity, 0);
  background:var(--journey-tint-bg, transparent);
  transition:opacity 2.4s ease, background 2.4s ease;
  mix-blend-mode:screen;
}

.deep-night{
  position:fixed; inset:0; z-index:0;
  pointer-events:none;
  opacity:0;
  transition:opacity 2.4s ease;
}
.deep-night.show{ opacity:1; }
.deep-night .milky-way{
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 80% 12% at 50% 50%,
      rgba(180, 170, 220, 0.14) 0%,
      rgba(140, 130, 200, 0.08) 30%,
      rgba(110, 100, 180, 0.04) 55%,
      transparent 75%), radial-gradient(ellipse 40% 8% at 35% 45%,
      rgba(255, 230, 200, 0.08) 0%, transparent 60%), radial-gradient(ellipse 30% 6% at 65% 55%,
      rgba(200, 180, 230, 0.07) 0%, transparent 60%);
  transform:rotate(-22deg) scale(1.4);
  transform-origin:center;
  filter:blur(2px);
  opacity:0.85;
}
.deep-night .star-canvas{
  position:absolute; inset:0;
}
.deep-star{
  position:absolute;
  background:white;
  border-radius:50%;
  pointer-events:none;
  will-change:opacity, transform;
}
.deep-star.s-xs{ width:1px;   height:1px;   opacity:0.45; }
.deep-star.s-sm{ width:1.5px; height:1.5px; opacity:0.65; }
.deep-star.s-md{ width:2px;   height:2px;   opacity:0.80;
                  box-shadow:0 0 4px rgba(255,255,255,0.4); }
.deep-star.s-lg{ width:3px;   height:3px;   opacity:0.95;
                  box-shadow:0 0 8px rgba(255,255,255,0.65), 0 0 16px rgba(180,200,255,0.4); }
.deep-star.s-xl{ width:4px;   height:4px;   opacity:1;
                  background:#f8e4a8;
                  box-shadow:0 0 12px rgba(248,228,168,0.8), 0 0 28px rgba(232,196,106,0.5); }
.deep-star.t-slow{ animation:starTwinkleSlow 7s ease-in-out infinite; }
.deep-star.t-med{ animation:starTwinkleMed 4.5s ease-in-out infinite; }
.deep-star.t-fast{ animation:starTwinkleFast 2.8s ease-in-out infinite; }
@keyframes starTwinkleSlow{
  0%, 100%{ opacity:var(--star-base, 0.5); transform:scale(1); }
  50%{ opacity:1;                     transform:scale(1.3); }
}
@keyframes starTwinkleMed{
  0%, 100%{ opacity:var(--star-base, 0.6); transform:scale(1); }
  45%{ opacity:0.2; }
  50%{ opacity:1;   transform:scale(1.4); }
}
@keyframes starTwinkleFast{
  0%, 100%{ opacity:var(--star-base, 0.4); transform:scale(1); }
  30%{ opacity:0.95; transform:scale(1.5); }
  60%{ opacity:0.2;  transform:scale(0.8); }
}
.shooting-star{
  position:absolute;
  top:0; left:0;
  width:2px; height:2px;
  background:white;
  border-radius:50%;
  opacity:0;
  will-change:transform, opacity;
}
.shooting-star::after{
  content:'';
  position:absolute;
  top:0; right:0;
  width:140px; height:1px;
  background:linear-gradient(90deg, rgba(255,255,255,0.95), rgba(255,255,255,0.4) 40%, transparent);
  transform-origin:right center;
  border-radius:99px;
}
.shooting-star.s1{
  animation:shoot1 14s ease-out infinite;
  animation-delay:3s;
}
.shooting-star.s2{
  animation:shoot2 22s ease-out infinite;
  animation-delay:11s;
}
@keyframes shoot1{
  0%{ transform:translate(-10vw, 12vh) rotate(20deg); opacity:0; }
  3%{ opacity:1; }
  9%{ transform:translate(50vw, 38vh) rotate(20deg);  opacity:0; }
  100%{ transform:translate(50vw, 38vh) rotate(20deg);  opacity:0; }
}
@keyframes shoot2{
  0%{ transform:translate(85vw, -5vh) rotate(155deg); opacity:0; }
  3%{ opacity:1; }
  8%{ transform:translate(25vw, 45vh) rotate(155deg); opacity:0; }
  100%{ transform:translate(25vw, 45vh) rotate(155deg); opacity:0; }
}
.deep-night .crescent-moon{
  position:absolute;
  top:12%;
  right:10%;
  width:64px; height:64px;
  border-radius:50%;
  background:radial-gradient(circle at 38% 38%, #f8e4a8 0%, #d4a84b 65%, #8B6914 100%);
  box-shadow:0 0 32px rgba(248, 228, 168, 0.45), 0 0 72px rgba(232, 196, 106, 0.25), 0 0 140px rgba(212, 168, 75, 0.15);
  animation:moonBreath 6s ease-in-out infinite;
}
.deep-night .crescent-moon::after{
  content:'';
  position:absolute;
  top:0; left:18%;
  width:100%; height:100%;
  border-radius:50%;
  background:rgba(5, 5, 7, 0.92);
  filter:blur(1px);
}
@keyframes moonBreath{
  0%, 100%{ box-shadow:0 0 32px rgba(248,228,168,0.45), 0 0 72px rgba(232,196,106,0.25), 0 0 140px rgba(212,168,75,0.15); }
  50%{ box-shadow:0 0 44px rgba(248,228,168,0.65), 0 0 100px rgba(232,196,106,0.40), 0 0 180px rgba(212,168,75,0.22); }
}
.deep-night.m-madrugada .crescent-moon{
  background:radial-gradient(circle at 38% 38%, #e8f0ff 0%, #a8b8d4 65%, #455870 100%);
  box-shadow:0 0 32px rgba(232,240,255,0.55), 0 0 72px rgba(168,184,212,0.30), 0 0 140px rgba(120,140,180,0.18);
}
.deep-night.m-madrugada .milky-way{
  background:radial-gradient(ellipse 80% 12% at 50% 50%,
      rgba(160, 180, 230, 0.18) 0%,
      rgba(120, 140, 200, 0.10) 30%,
      rgba(90, 110, 180, 0.04) 55%,
      transparent 75%);
  filter:blur(2px);
}
.deep-night.m-amanecer{
  background:radial-gradient(ellipse 95% 55% at 50% 115%,
      rgba(255, 70, 50, 0.55) 0%,
      rgba(255, 130, 70, 0.32) 25%,
      rgba(255, 180, 100, 0.16) 45%,
      transparent 70%), linear-gradient(180deg,
      rgba(20, 10, 30, 0.45) 0%,
      rgba(60, 20, 40, 0.35) 35%,
      rgba(140, 50, 50, 0.20) 60%,
      transparent 100%);
}
.deep-night .sun-rising{
  position:absolute;
  left:50%; bottom:4%;
  transform:translateX(-50%);
  width:220px; height:220px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%,
    #fff0c0 0%,
    #ffb060 18%,
    #ff6030 42%,
    rgba(220, 60, 30, 0.4) 65%,
    transparent 100%);
  filter:blur(1px);
  opacity:0;
  animation:sunRiseGlow 6s ease-out forwards;
}
@keyframes sunRiseGlow{
  0%{ opacity:0; transform:translate(-50%, 30%) scale(0.7); }
  100%{ opacity:1; transform:translate(-50%, 0) scale(1); }
}
.deep-night .sun-rising::after{
  content:'';
  position:absolute;
  inset:-100%;
  background:conic-gradient(
    from 0deg,
    transparent 0%,
    rgba(255, 180, 100, 0.10) 5%,
    transparent 10%,
    transparent 20%,
    rgba(255, 180, 100, 0.10) 25%,
    transparent 30%,
    transparent 40%,
    rgba(255, 180, 100, 0.10) 45%,
    transparent 50%,
    transparent 60%,
    rgba(255, 180, 100, 0.10) 65%,
    transparent 70%,
    transparent 80%,
    rgba(255, 180, 100, 0.10) 85%,
    transparent 90%);
  border-radius:50%;
  filter:blur(6px);
  animation:sunRays 60s linear infinite;
  z-index:-1;
}
.deep-night.m-manana{
  background:linear-gradient(180deg,
      rgba(120, 180, 230, 0.28) 0%,
      rgba(170, 210, 240, 0.18) 50%,
      rgba(220, 230, 235, 0.08) 100%);
}
.deep-night .sun-morning{
  position:absolute;
  top:12%;
  left:16%;
  width:100px; height:100px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%,
    #fffce0 0%, #ffe890 35%, #ffd060 65%, transparent 100%);
  box-shadow:0 0 60px rgba(255, 220, 120, 0.6), 0 0 140px rgba(255, 200, 100, 0.35);
  animation:sunPulse 8s ease-in-out infinite;
}
@keyframes sunPulse{
  0%, 100%{ box-shadow:0 0 60px rgba(255,220,120,0.6), 0 0 140px rgba(255,200,100,0.35); }
  50%{ box-shadow:0 0 80px rgba(255,230,140,0.75), 0 0 180px rgba(255,200,100,0.45); }
}
.deep-night.m-tarde{
  background:radial-gradient(ellipse 80% 60% at 50% 0%,
      rgba(255, 200, 100, 0.18) 0%,
      rgba(255, 170, 80, 0.10) 40%,
      transparent 70%), linear-gradient(180deg,
      rgba(255, 210, 130, 0.16) 0%,
      rgba(255, 180, 100, 0.08) 50%,
      transparent 100%);
}
.deep-night .sun-noon{
  position:absolute;
  top:8%;
  left:50%;
  transform:translateX(-50%);
  width:140px; height:140px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%,
    #ffffe8 0%, #fff0a0 30%, #ffc060 65%, transparent 100%);
  box-shadow:0 0 80px rgba(255, 230, 150, 0.7), 0 0 180px rgba(255, 190, 90, 0.4);
}
.deep-night .sun-noon::before{
  content:'';
  position:absolute;
  inset:-150%;
  background:conic-gradient(from 0deg,
    rgba(255,220,120,0.12) 0deg 6deg, transparent 6deg 30deg,
    rgba(255,220,120,0.12) 30deg 36deg, transparent 36deg 60deg,
    rgba(255,220,120,0.12) 60deg 66deg, transparent 66deg 90deg,
    rgba(255,220,120,0.12) 90deg 96deg, transparent 96deg 120deg,
    rgba(255,220,120,0.12) 120deg 126deg, transparent 126deg 150deg,
    rgba(255,220,120,0.12) 150deg 156deg, transparent 156deg 180deg,
    rgba(255,220,120,0.12) 180deg 186deg, transparent 186deg 210deg,
    rgba(255,220,120,0.12) 210deg 216deg, transparent 216deg 240deg,
    rgba(255,220,120,0.12) 240deg 246deg, transparent 246deg 270deg,
    rgba(255,220,120,0.12) 270deg 276deg, transparent 276deg 300deg,
    rgba(255,220,120,0.12) 300deg 306deg, transparent 306deg 330deg,
    rgba(255,220,120,0.12) 330deg 336deg, transparent 336deg);
  border-radius:50%;
  filter:blur(4px);
  animation:sunRays 80s linear infinite;
  z-index:-1;
}
@keyframes sunRays{
  to{ transform:rotate(360deg); }
}
.deep-night.m-atardecer{
  background:radial-gradient(ellipse 100% 70% at 50% 105%,
      rgba(255, 110, 50, 0.55) 0%,
      rgba(255, 160, 80, 0.32) 25%,
      rgba(220, 120, 100, 0.18) 45%,
      rgba(140, 70, 110, 0.10) 70%,
      transparent 90%), linear-gradient(180deg,
      rgba(40, 20, 60, 0.42) 0%,
      rgba(100, 40, 80, 0.30) 35%,
      rgba(200, 90, 80, 0.20) 65%,
      transparent 100%);
}
.deep-night .sun-setting{
  position:absolute;
  left:50%; bottom:0;
  transform:translate(-50%, 35%);
  width:280px; height:280px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%,
    #fff8b0 0%,
    #ff9050 20%,
    #ff5030 45%,
    rgba(220, 60, 60, 0.55) 65%,
    transparent 95%);
  filter:blur(1px);
  box-shadow:0 0 100px rgba(255, 100, 60, 0.5), 0 0 200px rgba(255, 80, 50, 0.3);
  animation:sunsetGlow 7s ease-in-out infinite;
}
@keyframes sunsetGlow{
  0%, 100%{ box-shadow:0 0 100px rgba(255,100,60,0.5), 0 0 200px rgba(255,80,50,0.3); }
  50%{ box-shadow:0 0 130px rgba(255,130,70,0.65), 0 0 250px rgba(255,100,60,0.4); }
}
.deep-night .cloud{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  will-change:transform;
}
.deep-night.m-manana .cloud{
  background:radial-gradient(ellipse at 30% 50%,
    rgba(255, 255, 255, 0.55) 0%,
    rgba(245, 250, 255, 0.30) 45%,
    transparent 75%);
  filter:blur(8px);
  animation:cloudDriftL 80s linear infinite;
}
.deep-night.m-amanecer .cloud{
  background:radial-gradient(ellipse at 50% 60%,
    rgba(255, 150, 100, 0.45) 0%,
    rgba(220, 100, 90, 0.25) 50%,
    transparent 75%);
  filter:blur(10px);
  animation:cloudDriftL 120s linear infinite;
}
.deep-night.m-atardecer .cloud{
  background:radial-gradient(ellipse at 50% 70%,
      rgba(255, 130, 80, 0.55) 0%,
      rgba(200, 70, 90, 0.32) 40%,
      transparent 75%), radial-gradient(ellipse at 50% 30%,
      rgba(80, 40, 70, 0.30) 0%, transparent 60%);
  filter:blur(8px);
  animation:cloudDriftR 110s linear infinite;
}
.deep-night.m-tarde .cloud{
  background:radial-gradient(ellipse,
    rgba(255, 240, 200, 0.30) 0%, rgba(255, 220, 150, 0.15) 50%, transparent 75%);
  filter:blur(10px);
  animation:cloudDriftL 100s linear infinite;
}

@keyframes cloudDriftL{
  from{ transform:translateX(-12vw); }
  to{ transform:translateX(112vw); }
}
@keyframes cloudDriftR{
  from{ transform:translateX(112vw); }
  to{ transform:translateX(-12vw); }
}
.dust-mote{
  position:absolute;
  width:3px; height:3px;
  border-radius:50%;
  background:rgba(255, 230, 160, 0.6);
  box-shadow:0 0 6px rgba(255, 220, 140, 0.5);
  pointer-events:none;
  animation:dustFloat var(--dur, 14s) ease-in-out infinite;
  animation-delay:var(--delay, 0s);
}
@keyframes dustFloat{
  0%, 100%{ transform:translate(0, 0) scale(1);    opacity:0.4; }
  50%{ transform:translate(20px, -30px) scale(1.4);  opacity:0.9; }
}
.bird{
  position:absolute;
  top:25%;
  width:12px; height:4px;
  background:transparent;
  pointer-events:none;
}
.bird::before, .bird::after{
  content:'';
  position:absolute; top:0;
  width:7px; height:2px;
  background:rgba(0, 0, 0, 0.55);
  border-radius:100% 0;
}
.bird::before{ left:0;  transform:rotate(-22deg); }
.bird::after{ right:0; transform:rotate(22deg); }
.bird.b1{ animation:birdFly 50s linear infinite; animation-delay:0s; }
.bird.b2{ animation:birdFly 65s linear infinite; animation-delay:-15s; top:18%; }
.bird.b3{ animation:birdFly 80s linear infinite; animation-delay:-32s; top:32%; }
@keyframes birdFly{
  from{ transform:translate(-10vw, 0); opacity:0; }
  4%{ opacity:0.7; }
  50%{ transform:translate(50vw, -10vh); opacity:0.7; }
  96%{ opacity:0.7; }
  to{ transform:translate(115vw, 0); opacity:0; }
}
@media (max-width: 640px){
  .deep-night .crescent-moon{ width:48px; height:48px; top:8%; right:8%; }
  .shooting-star::after{ width:100px; }
  .deep-night .sun-rising{ width:160px; height:160px; }
  .deep-night .sun-setting{ width:200px; height:200px; }
  .deep-night .sun-noon{ width:100px; height:100px; }
  .deep-night .sun-morning{ width:70px;  height:70px; left:12%; }
}
@media (prefers-reduced-motion: reduce){
  .deep-night .cloud,
  .bird,
  .dust-mote,
  .sun-rising::after,
  .sun-noon::before{ animation:none !important; }
}
.breath{
  position:fixed; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:60px; height:60px;
  border-radius:50%;
  border:1px solid rgba(212,168,75,0.18);
  pointer-events:none;
  opacity:0;
  z-index:2;
}
.breath.show{ opacity:1; animation:breathPulse 5s ease-in-out infinite; }
@keyframes breathPulse{
  0%,100%{ transform:translate(-50%,-50%) scale(1);   opacity:0.3; }
  50%{ transform:translate(-50%,-50%) scale(1.8); opacity:0.6; }
}
.top-mark{
  position:fixed; top:24px; left:50%;
  transform:translateX(-50%); z-index:30;
  display:flex; align-items:center; gap:10px;
  opacity:0.62;
  transition:opacity .4s ease;
}
.top-mark:hover{ opacity:1; }
.top-mark svg{
  width:22px; height:22px;
  filter:drop-shadow(0 0 6px rgba(212,168,75,0.4));
  animation:spiralBreath 6s ease-in-out infinite;
}
@keyframes spiralBreath{
  0%,100%{ filter:drop-shadow(0 0 6px rgba(212,168,75,0.35)); }
  50%{ filter:drop-shadow(0 0 14px rgba(232,196,106,0.7)); }
}
.top-mark .name{
  font-size:9px;
  letter-spacing:0.42em;
  color:var(--aurum);
  font-weight:600;
}

.lang-rail{
  position:fixed; top:24px; right:24px; z-index:30;
  display:flex; align-items:center; gap:6px;
  background:rgba(8,8,12,0.55);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border:1px solid var(--glass-border);
  border-radius:99px;
  padding:6px 10px;
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:0.08em;
}
.lang-opt{
  padding:4px 8px; border-radius:99px; cursor:pointer;
  color:var(--text-tertiary);
  transition:all .25s ease;
  user-select:none;
}
.lang-opt.active{
  color:var(--aurum-bright);
  background:rgba(212,168,75,0.08);
  box-shadow:inset 0 0 0 1px rgba(212,168,75,0.20);
}
.lang-opt:hover{ color:var(--aurum-bright); }
.lang-sep{ color:var(--text-quaternary); }
.exp-back{
  position:fixed; top:24px; left:24px; z-index:30;
  display:none; align-items:center; justify-content:center;
  width:38px; height:38px; padding:0;
  background:rgba(8,8,12,0.55);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border:1px solid var(--glass-border);
  border-radius:99px;
  color:var(--text-tertiary);
  font-family:'JetBrains Mono', monospace;
  font-size:22px; line-height:1; cursor:pointer;
  opacity:0.6;
  transition:opacity .3s ease, color .25s ease, background .25s ease;
}
.exp-back.show{ display:flex; }
.exp-back:hover{ opacity:1; color:var(--aurum-bright); background:rgba(212,168,75,0.08); }
.devtools{
  position:fixed; bottom:24px; right:24px; z-index:30;
  display:flex; gap:6px; align-items:center;
  padding:6px;
  background:rgba(8,8,12,0.7);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border:1px solid var(--glass-border);
  border-radius:12px;
  font-size:10px;
}
.devtools button{
  background:transparent;
  border:1px solid var(--glass-border);
  color:var(--text-secondary);
  padding:6px 10px;
  border-radius:8px;
  cursor:pointer;
  font-family:'JetBrains Mono', monospace;
  font-size:11px; font-weight:500;
  transition:all .2s;
}
.devtools button:hover{ color:var(--aurum-bright); border-color:var(--aurum-bright); }
.devtools .lab{
  font-size:9px; letter-spacing:0.3em;
  color:var(--aurum-deep); font-weight:600;
  padding:0 4px;
}
.stage{
  position:fixed; inset:0; z-index:5;
  width:100vw;
  height:100vh; height:100dvh;
  overflow-y:auto; overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.stage::-webkit-scrollbar{ display:none; }
.stage{ scrollbar-width:none; -ms-overflow-style:none; }

.scene{
  display:none;
  flex-direction:column;
  align-items:center; justify-content:center;
  padding:110px 24px 160px;
  opacity:0;
  transition:opacity 0.9s cubic-bezier(.4,0,.2,1);
  min-height:100vh; min-height:100dvh;
  width:100vw;
  box-sizing:border-box;
}
.scene.active{ display:flex; opacity:1; }

.stage::after{
  content:'';
  position:fixed; left:0; right:0; bottom:0;
  height:90px;
  pointer-events:none; z-index:24;
  background:linear-gradient(180deg,
    rgba(5,5,7,0) 0%,
    rgba(5,5,7,0.55) 45%,
    rgba(5,5,7,0.92) 100%);
}
.scroll-cue{
  position:fixed; right:22px; top:50%;
  transform:translateY(-50%);
  display:none; flex-direction:column;
  align-items:center; gap:6px;
  z-index:26; pointer-events:none;
  opacity:0.55;
  font-family:'JetBrains Mono', monospace;
  font-size:9px; letter-spacing:0.24em;
  color:var(--aurum);
  writing-mode:vertical-rl;
  text-orientation:mixed;
  animation:scrollCue 2.8s ease-in-out infinite;
}
.scroll-cue.show{ display:flex; }
.scroll-cue::after{
  content:'↓';
  writing-mode:horizontal-tb;
  font-size:14px; margin-top:4px;
}
@keyframes scrollCue{
  0%,100%{ opacity:0.35; transform:translateY(-50%) translateY(0); }
  50%{ opacity:0.9;  transform:translateY(-50%) translateY(6px); }
}
.scene-content{ max-width:680px; width:100%; text-align:center; position:relative; }
.scene-content.wide{ max-width:920px; }
.scene-content.narrow{ max-width:540px; }
.eyebrow{
  font-size:9px;
  letter-spacing:0.42em;
  text-transform:uppercase;
  color:var(--aurum);
  font-weight:600;
  margin-bottom:24px;
  opacity:0.85;
}

.lead{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(28px, 4.4vw, 48px);
  color:var(--text-primary);
  line-height:1.20;
  letter-spacing:-0.005em;
}
.lead.large{ font-size:clamp(34px, 5.5vw, 58px); }
.lead.small{ font-size:clamp(22px, 3vw, 32px); line-height:1.35; }
.lead.signature-text{
  font-size:clamp(26px, 3.6vw, 38px);
  line-height:1.28;
}

.lead .gold{
  color:var(--aurum-bright);
  text-shadow:0 0 24px rgba(212,168,75,0.45), 0 0 48px rgba(212,168,75,0.20);
}
.lead .soft{ color:var(--text-tertiary); font-style:italic; }
.lead .dim{ color:var(--text-tertiary); }
.lead .strong{ font-style:normal; font-weight:500; }

.body-text{
  font-size:16px;
  color:var(--text-secondary);
  font-weight:300;
  margin-top:20px;
  max-width:560px; margin-left:auto; margin-right:auto;
  line-height:1.65;
}
.body-text.cite{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:17px;
  color:var(--text-secondary);
}

.poem{
  font-family:'Cormorant Garamond', serif;
  font-weight:400;
  font-size:clamp(20px, 2.6vw, 28px);
  line-height:1.55;
  color:var(--text-primary);
  margin-top:24px;
}
.poem .gold{ color:var(--aurum-bright); }
.poem .dim{ color:var(--text-tertiary); }

.small{
  font-size:11px; color:var(--text-tertiary);
  font-weight:300; letter-spacing:0.06em;
}
.chapters-explainer{
  max-width:620px;
  margin:20px auto 0;
  padding:20px 22px;
  text-align:left;
  background:rgba(255,255,255,0.035);
  border:1px solid rgba(212,168,75,0.18);
  border-radius:14px;
}
.chapters-explainer p{
  font-style:normal;
  font-family:'Inter', system-ui, -apple-system, sans-serif;
  font-weight:300;
  font-size:14.5px;
  line-height:1.62;
  color:rgba(255,255,255,0.80);
  margin:0 0 12px;
}
.chapters-explainer p:last-child{ margin-bottom:0; }
.mono{ font-family:'JetBrains Mono', monospace; }
.you{
  color:var(--aurum-bright);
  font-style:italic;
  font-family:'Cormorant Garamond', serif;
}
.gold{
  color:var(--aurum-bright);
  text-shadow:0 0 24px rgba(212,168,75,0.30);
}
.dim{ color:var(--text-tertiary); }
.soft{ color:var(--text-tertiary); font-style:italic; }
.brand-codigo{ color:var(--text-primary); font-weight:500; }
.brand-aurico{ color:var(--aurum-bright); font-weight:500; }
.key-word{
  background:linear-gradient(120deg, transparent 0%, rgba(212,168,75,0.18) 50%, transparent 100%);
  padding:0 6px;
  border-radius:4px;
}
.fade-in{
  opacity:0; transform:translateY(12px);
  animation:fadeIn 1.2s cubic-bezier(.4,0,.2,1) forwards;
}
.delay-1{ animation-delay:.5s; }
.delay-2{ animation-delay:1.1s; }
.delay-3{ animation-delay:1.8s; }
.delay-4{ animation-delay:2.6s; }
.delay-5{ animation-delay:3.4s; }
.delay-6{ animation-delay:4.2s; }
.delay-7{ animation-delay:5.0s; }
.delay-8{ animation-delay:5.8s; }
@keyframes fadeIn{ to{ opacity:1; transform:translateY(0); } }

.fade-in-slow{ opacity:0; animation:fadeInSlow 2.4s ease-out forwards; }
@keyframes fadeInSlow{ to{ opacity:1; } }
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 32px;
  border-radius:99px;
  font-family:'DM Sans', sans-serif;
  font-size:12.5px; font-weight:600;
  letter-spacing:0.16em; text-transform:uppercase;
  cursor:pointer; border:0;
  transition:all .35s cubic-bezier(.4,0,.2,1);
  text-decoration:none;
  position:relative; overflow:hidden;
}
.btn.primary{
  background:linear-gradient(135deg, var(--aurum-vivid), var(--aurum) 60%, var(--copper));
  color:#1A0F08;
  box-shadow:0 0 32px rgba(212,168,75,0.42), 0 0 64px rgba(212,168,75,0.18), 0 4px 18px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.25);
}
.btn.primary:hover{
  transform:translateY(-2px);
  box-shadow:0 0 44px rgba(232,196,106,0.55), 0 0 90px rgba(212,168,75,0.30), 0 8px 24px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.35);
}
.btn.ghost{
  background:rgba(255,255,255,0.03);
  color:var(--text-secondary);
  border:1px solid var(--glass-border);
}
.btn.ghost:hover{
  color:var(--aurum-bright);
  border-color:rgba(212,168,75,0.5);
  background:rgba(212,168,75,0.04);
}
.btn.minimal{
  background:transparent;
  color:var(--aurum-bright);
  padding:10px 16px;
  font-size:11px; letter-spacing:0.20em;
  border:1px solid rgba(212,168,75,0.25);
}
.btn.minimal:hover{ border-color:var(--aurum-bright); background:rgba(212,168,75,0.04); }
.btn:disabled{ opacity:0.32; cursor:not-allowed; transform:none; }

.actions{ margin-top:42px; display:flex; justify-content:center; gap:12px; flex-wrap:wrap; align-items:center; }
.actions.stacked{ flex-direction:column; }

.link-secondary{
  color:var(--text-secondary);
  font-size:13px;
  text-decoration:none;
  letter-spacing:0.08em;
  transition:color .25s;
  cursor:pointer;
  border:0; background:transparent;
  padding:10px 14px;
  font-family:inherit;
}
.link-secondary:hover{ color:var(--aurum-bright); }
.progress{
  position:fixed; bottom:24px; left:50%;
  transform:translateX(-50%);
  display:flex; gap:5px;
  z-index:4; align-items:center;
  padding:8px 14px;
  background:rgba(8,8,12,0.6);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border:1px solid var(--glass-border);
  border-radius:99px;
  max-width:90vw;
  overflow:hidden;
}
.progress .dot{
  width:4px; height:4px; border-radius:50%;
  background:rgba(255,255,255,0.10);
  transition:all .35s cubic-bezier(.4,0,.2,1);
  flex-shrink:0;
}
.progress .dot.done{ background:var(--aurum-deep); }
.progress .dot.now{
  background:var(--aurum-bright);
  box-shadow:0 0 12px var(--aurum), 0 0 24px rgba(212,168,75,0.4);
  width:18px; border-radius:99px;
}
.progress .step-label{
  font-family:'JetBrains Mono', monospace;
  font-size:9px; color:var(--text-tertiary);
  margin-left:8px; letter-spacing:0.06em;
}
.input-wrap{ display:flex; flex-direction:column; gap:7px; text-align:left; width:100%; margin:0 auto; }
.input-wrap label{
  font-size:10px; letter-spacing:0.32em; text-transform:uppercase;
  color:var(--aurum-deep); font-weight:600;
}
.input{
  background:rgba(255,255,255,0.03);
  border:1px solid var(--glass-border);
  border-radius:14px;
  padding:16px 18px;
  color:var(--text-primary);
  font-family:'DM Sans', sans-serif;
  font-size:16px;
  width:100%;
  transition:all .25s ease;
  -webkit-appearance:none; appearance:none;
}
.input:focus{
  outline:none;
  border-color:rgba(212,168,75,0.55);
  background:rgba(212,168,75,0.04);
  box-shadow:0 0 0 4px rgba(212,168,75,0.10);
}
.input::placeholder{
  color:var(--text-quaternary);
  font-style:italic;
  font-family:'Cormorant Garamond', serif;
}

.input-row{
  display:grid; grid-template-columns:1.9fr 1fr; gap:14px;
  align-items:end;
  margin-top:28px;
  max-width:580px; margin-left:auto; margin-right:auto;
}
.input-row .dob-error:empty{ min-height:0; margin-top:0; }
.input-row{ position:relative; z-index:40; }
.input-row.single{ grid-template-columns:1fr; max-width:440px; }
.input-row .input-wrap.full{ grid-column:1 / -1; }
@media (max-width: 600px){ .input-row{ grid-template-columns:1fr; } }

input[type="date"], input[type="time"]{ color-scheme:dark; }
.autocomplete{ position:relative; width:100%; }
.autocomplete-list{
  position:absolute; top:100%; left:0; right:0;
  border-radius:12px;
  margin-top:6px;
  max-height:240px; overflow-y:auto;
  z-index:20;
  display:none;
}
.autocomplete-list.open{ display:block; }
.autocomplete-list.flip-up{ top:auto; bottom:100%; margin-top:0; margin-bottom:6px; }
[data-action="express"]:focus-visible,
[data-action="express-home"]:focus-visible{
  outline:2px solid var(--aurum-bright, #E0C07B);
  outline-offset:3px;
  border-radius:4px;
}
.autocomplete-item{
  padding:12px 16px;
  font-size:14px;
  color:var(--text-secondary);
  cursor:pointer;
  border-bottom:1px solid rgba(255,255,255,0.04);
  transition:all .15s ease;
}
.autocomplete-item:hover, .autocomplete-item.active{
  background:rgba(212,168,75,0.08);
  color:var(--aurum-bright);
}
.autocomplete-item:last-child{ border-bottom:0; }
.autocomplete-item .country{ color:var(--text-quaternary); font-size:11px; margin-left:8px; }
.hint-chip{
  display:inline-flex; align-items:center; gap:6px;
  margin-top:14px;
  padding:8px 14px;
  border-radius:99px;
  background:rgba(255,255,255,0.03);
  border:1px solid var(--glass-border);
  color:var(--aurum);
  font-size:12px;
  font-family:'JetBrains Mono', monospace;
  letter-spacing:0.04em;
  cursor:pointer;
  transition:all .2s;
}
.hint-chip:hover{ color:var(--aurum-bright); border-color:rgba(212,168,75,0.3); }
.hint-chip.active{
  color:var(--aurum-bright);
  background:rgba(212,168,75,0.08);
  border-color:rgba(212,168,75,0.4);
}
.input-note{
  margin-top:18px;
  font-family:'Cormorant Garamond', serif;
  font-style:normal;
  font-weight:500;
  font-size:17px;
  color:var(--aurum-bright);
  letter-spacing:0.005em;
  line-height:1.55;
  max-width:480px;
  margin-left:auto;
  margin-right:auto;
}
.modal-overlay{
  position:fixed; inset:0; z-index:100;
  background:rgba(5,5,7,0.86);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  display:none;
  align-items:center; justify-content:center;
  padding:24px;
  opacity:0;
  transition:opacity .35s ease;
}
.modal-overlay.show{ display:flex; opacity:1; }
.modal{
  background:linear-gradient(180deg, var(--void-elevated), var(--void));
  border:1px solid rgba(212,168,75,0.25);
  border-radius:24px;
  padding:40px 32px;
  max-width:560px; width:100%;
  box-shadow:0 30px 80px rgba(0,0,0,0.6), 0 0 60px rgba(212,168,75,0.08);
  position:relative;
  max-height:90vh; overflow-y:auto;
}
.modal-close{
  position:absolute; top:14px; right:14px;
  background:transparent; border:0;
  color:var(--text-tertiary);
  font-size:22px; cursor:pointer;
  padding:6px 10px;
  transition:color .2s;
}
.modal-close:hover{ color:var(--aurum-bright); }
.modal-title{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:26px;
  color:var(--aurum-bright);
  margin-bottom:18px;
  text-align:center;
}
.modal-body{
  font-size:15px;
  color:var(--text-secondary);
  line-height:1.65;
  margin-bottom:28px;
}
.modal-actions{
  display:flex; flex-direction:column; gap:10px;
}
.modal-actions .btn{ width:100%; }
.modal-actions .link-secondary{ width:100%; text-align:center; }
.modal-email-step{ display:none; }
.modal-email-step.show{ display:block; }
.modal-step.hide{ display:none; }
.time-travel{
  position:relative;
  width:100%; height:280px;
  display:flex; align-items:center; justify-content:center;
  margin:40px 0;
}
.year-counter{
  font-family:'JetBrains Mono', monospace;
  font-size:clamp(72px, 12vw, 140px);
  font-weight:300;
  color:var(--aurum-bright);
  text-shadow:0 0 30px rgba(212,168,75,0.55), 0 0 60px rgba(212,168,75,0.25);
  letter-spacing:-0.02em;
  font-variant-numeric:tabular-nums;
  line-height:1;
  position:relative; z-index:3;
}
.year-counter::after{
  content:'';
  position:absolute;
  bottom:-10px; left:50%;
  transform:translateX(-50%);
  width:30%; height:1px;
  background:linear-gradient(90deg, transparent, var(--aurum), transparent);
  opacity:0.5;
}
.orbital-lines{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  pointer-events:none;
}
.orbital-lines::before, .orbital-lines::after{
  content:'';
  position:absolute;
  border:1px dashed rgba(212,168,75,0.15);
  border-radius:50%;
}
.orbital-lines::before{
  width:340px; height:340px;
  animation:orbitalReverse 20s linear infinite;
}
.orbital-lines::after{
  width:480px; height:480px;
  animation:orbitalReverse 35s linear infinite;
  animation-direction:normal;
  border-color:rgba(212,168,75,0.08);
}
@keyframes orbitalReverse{ to{ transform:rotate(-360deg); } }
.orbital-light{
  position:absolute;
  width:6px; height:6px;
  border-radius:50%;
  background:var(--aurum-vivid);
  box-shadow:0 0 10px var(--aurum-vivid), 0 0 20px rgba(232,196,106,0.5);
  top:50%; left:50%;
  margin-top:-3px; margin-left:-3px;
  transform-origin:0 0;
}
.orbital-light.l1{ animation:orbitLightReverse 12s linear infinite; }
.orbital-light.l2{ animation:orbitLightReverse 17s linear infinite; animation-delay:-4s; }
.orbital-light.l3{ animation:orbitLightReverse 22s linear infinite; animation-delay:-8s; }
@keyframes orbitLightReverse{
  from{ transform:rotate(0deg) translateX(170px) rotate(0deg); }
  to{ transform:rotate(-360deg) translateX(170px) rotate(360deg); }
}

.calculation-lines{
  display:flex; flex-direction:column; gap:8px;
  margin-top:32px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  color:var(--text-tertiary);
  letter-spacing:0.05em;
  min-height:80px;
}
.calc-line{ opacity:0; animation:fadeIn .8s ease-out forwards; }
.calc-line.done::before{ content:'✓ '; color:var(--aurum-bright); }
.calc-line.pending::before{ content:'· '; color:var(--text-quaternary); }
.calc-spinner{
  display:inline-flex; align-items:center; gap:10px;
  margin-top:18px;
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  letter-spacing:0.20em;
  text-transform:uppercase;
  color:var(--aurum);
}
.calc-spinner .ring-loader{
  width:16px; height:16px;
  border-radius:50%;
  border:2px solid rgba(212,168,75,0.18);
  border-top-color:var(--aurum-vivid);
  animation:spinLoader .9s linear infinite;
}
@keyframes spinLoader{ to{ transform:rotate(360deg); } }
.night-scene{ position:relative; padding:40px 0 24px; }

.night-opener{
  margin-top:14px;
  display:flex; flex-direction:column;
  align-items:center;
  gap:6px;
}
.night-date{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(32px, 5vw, 52px);
  line-height:1.15;
  color:var(--text-primary);
  letter-spacing:-0.005em;
  margin:0;
}
.night-place{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(22px, 3vw, 32px);
  line-height:1.25;
  color:var(--aurum-soft);
  margin:0;
}
.night-prose{
  margin:38px auto 0;
  max-width:640px;
  display:flex;
  flex-direction:column;
  gap:28px;
  text-align:center;
}
.night-prose p{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(20px, 2.5vw, 27px);
  line-height:1.55;
  color:var(--text-primary);
  letter-spacing:-0.002em;
  margin:0;
}
.night-prose p.night-beat{
  font-size:clamp(22px, 2.9vw, 30px);
  margin:4px 0;
}
.night-prose .gold{ color:var(--aurum-bright); }
.night-prose .you{ color:var(--aurum-bright); font-style:italic; font-family:inherit; }

@media (max-width: 640px){
  .night-prose{ gap:22px; }
  .night-prose p{ font-size:17.5px; line-height:1.55; }
  .night-prose p.night-beat{ font-size:19px; }
  .night-place{ font-size:30px; }
  .night-date{ font-size:20px; }
}
.timeline{
  display:flex; justify-content:center; align-items:center; gap:14px;
  margin-top:42px;
  opacity:0; animation:fadeInSlow 2s ease-out 1.6s forwards;
}
.timeline-dot{
  width:5px; height:5px; border-radius:50%;
  background:var(--aurum);
  box-shadow:0 0 8px var(--aurum);
}
.timeline-line{
  flex:1; height:1px; max-width:80px;
  background:linear-gradient(90deg, transparent, var(--aurum-deep), transparent);
}
.timeline-now{
  font-family:'JetBrains Mono', monospace;
  font-size:10px; letter-spacing:0.16em;
  color:var(--aurum-bright);
}
.bodygraph-stage{
  position:relative;
  width:100%; max-width:480px;
  margin:24px auto;
  aspect-ratio:240 / 320;
}
.bodygraph-stage svg{
  width:100%; height:100%;
  filter:drop-shadow(0 0 24px rgba(212,168,75,0.10));
}
.bg-aura-bg{
  position:absolute; inset:-10%;
  border-radius:50%;
  background:radial-gradient(circle,
    rgba(var(--aura-active), 0.18) 0%,
    rgba(var(--aura-active), 0.10) 18%,
    rgba(var(--aura-active), 0.04) 36%,
    rgba(var(--aura-active), 0.015) 58%,
    transparent 80%);
  filter:blur(20px);
  z-index:0; pointer-events:none;
  opacity:0;
  transition:opacity 1.8s ease;
}
.bg-aura-bg.show{ opacity:1; animation:auraBreath 8s ease-in-out infinite; }
@keyframes auraBreath{
  0%,100%{ transform:scale(1);   opacity:0.95; }
  50%{ transform:scale(1.05); opacity:1; }
}
.gem-spotlight{
  fill:none;
  stroke:rgba(212,168,75,0.6);
  stroke-width:1.2;
  stroke-dasharray:3,3;
  opacity:0;
  animation:spotlightPulse 2.6s ease-in-out infinite;
}
.gem-spotlight.show{ opacity:1; }
@keyframes spotlightPulse{
  0%,100%{ opacity:0.4;  stroke-width:1; }
  50%{ opacity:0.95; stroke-width:1.6; }
}
.lunar-orbit{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  pointer-events:none;
}
.lunar-orbit .moon{
  position:absolute;
  width:22px; height:22px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%, #F8E4A8 0%, #D4A84B 60%, #8B6914 100%);
  box-shadow:0 0 18px rgba(232,196,106,0.6), 0 0 36px rgba(212,168,75,0.3);
  top:50%; left:50%;
  margin-top:-11px; margin-left:-11px;
  transform-origin:0 0;
  animation:lunarOrbit 18s linear infinite;
}
.lunar-orbit .moon::after{
  content:'';
  position:absolute;
  inset:4px 0 4px 8px;
  border-radius:50%;
  background:rgba(0,0,0,0.55);
}
@keyframes lunarOrbit{
  from{ transform:rotate(0deg) translateX(140px) rotate(0deg); }
  to{ transform:rotate(360deg) translateX(140px) rotate(-360deg); }
}
.metrics-row{
  display:flex; justify-content:center; gap:24px;
  flex-wrap:wrap;
  margin-bottom:20px;
  opacity:0; animation:fadeInSlow 1.2s ease-out .5s forwards;
}
.metric{
  display:flex; flex-direction:column; align-items:center; gap:4px;
  min-width:64px;
}
.metric .num{
  font-family:'JetBrains Mono', monospace;
  font-size:26px; font-weight:400;
  color:var(--aurum-bright);
  letter-spacing:-0.02em;
  text-shadow:0 0 14px rgba(212,168,75,0.4);
  font-variant-numeric:tabular-nums;
}
.metric .lab{
  font-size:8px; letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--text-tertiary);
  font-weight:600;
  text-align:center;
  max-width:80px;
  line-height:1.3;
}
.scene7-hero{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(28px, 4.2vw, 44px);
  line-height:1.2;
  color:var(--text-primary);
  letter-spacing:-0.005em;
  margin:0 auto;
  max-width:760px;
}
.scene7-footnotes{
  display:flex; flex-direction:column; gap:14px;
  margin:38px auto 0;
  max-width:640px;
  font-family:'Cormorant Garamond', serif;
  font-style:normal;
  font-weight:500;
  font-size:clamp(18px, 2.1vw, 22px);
  line-height:1.55;
  color:var(--text-primary);
  text-align:center;
}
.scene7-footnotes p{ margin:0; }
.scene7-footnotes p:first-child{ color:var(--aurum-bright); font-weight:600; }
.scene7-footnotes .strong{ font-weight:600; color:var(--aurum-bright); }
.bodygraph-footnotes{ display:none; }
.callout{
  display:inline-block;
  padding:20px 28px;
  margin-top:24px;
  background:linear-gradient(180deg, rgba(212,168,75,0.06), rgba(212,168,75,0.02));
  border:1px solid rgba(212,168,75,0.25);
  border-radius:18px;
  text-align:center;
  min-width:280px;
  position:relative;
  overflow:hidden;
}
.callout::before{
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(circle at 50% 0%, rgba(212,168,75,0.10), transparent 60%);
  pointer-events:none;
}
.callout .lab{
  font-size:9px; letter-spacing:0.32em; text-transform:uppercase;
  color:var(--aurum-deep); font-weight:600;
  margin-bottom:6px;
}
.callout .val{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:32px;
  color:var(--aurum-bright);
  letter-spacing:-0.01em;
  line-height:1.1;
}
.callout .sub{
  font-size:13px; color:var(--text-tertiary);
  margin-top:6px; font-weight:300;
}
.light-shadow{
  display:grid; grid-template-columns:1fr 1fr; gap:14px;
  margin-top:32px;
  max-width:760px; margin-left:auto; margin-right:auto;
  text-align:left;
}
.ls-card{
  padding:24px 26px;
  border-radius:16px;
  background:rgba(255,255,255,0.025);
  border:1px solid var(--glass-border);
}
.ls-card.light{
  background:linear-gradient(180deg, rgba(212,168,75,0.07), rgba(212,168,75,0.015));
  border-color:rgba(212,168,75,0.25);
}
.ls-card.shadow{
  background:linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0.005));
}
.ls-card .h{
  font-size:11px; letter-spacing:0.18em;
  font-weight:600;
  margin-bottom:12px;
  text-transform:uppercase;
}
.ls-card.light  .h{ color:var(--aurum-bright); }
.ls-card.shadow .h{ color:var(--text-secondary); }
.ls-card .body{
  font-size:15px;
  line-height:1.65;
  color:var(--text-primary);
}
@media (max-width: 640px){ .light-shadow{ grid-template-columns:1fr; } }
.single-box{
  padding:26px 28px;
  margin-top:24px;
  max-width:760px; margin-left:auto; margin-right:auto;
  background:linear-gradient(180deg, rgba(212,168,75,0.06), rgba(212,168,75,0.015));
  border:1px solid rgba(212,168,75,0.25);
  border-radius:18px;
  text-align:left;
}
.single-box .h{
  font-size:11px; letter-spacing:0.18em; text-transform:uppercase;
  font-weight:600; color:var(--aurum-bright);
  margin-bottom:14px;
}
.single-box .body{
  font-size:15px;
  line-height:1.7;
  color:var(--text-primary);
}
.tension-box{
  margin-top:30px;
  padding:28px 30px;
  background:linear-gradient(180deg, rgba(212,168,75,0.09), rgba(212,168,75,0.02));
  border:1px solid rgba(232,196,106,0.40);
  border-radius:22px;
  max-width:720px; margin-left:auto; margin-right:auto;
  text-align:left;
  box-shadow:0 0 32px rgba(212,168,75,0.08), inset 0 0 30px rgba(212,168,75,0.04);
  position:relative;
}
.tension-box::before{
  content:'';
  position:absolute; top:-1px; left:30px; right:30px;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--aurum-bright), transparent);
}
.tension-box .label{
  font-size:10px; letter-spacing:0.32em;
  text-transform:uppercase;
  color:var(--aurum);
  font-weight:700;
  margin-bottom:14px;
}
.tension-box .body{
  font-family:'Cormorant Garamond', serif;
  font-weight:500;
  font-style:normal;
  font-size:clamp(18px, 2.3vw, 23px);
  line-height:1.55;
  color:var(--text-primary);
}
.tension-box .example{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(212,168,75,0.18);
  font-size:14px;
  color:var(--text-tertiary);
  font-style:italic;
  line-height:1.6;
}
.profile-role{
  margin-top:22px;
  font-size:16px;
  color:var(--text-secondary);
  line-height:1.7;
  max-width:640px; margin-left:auto; margin-right:auto;
  font-weight:300;
}
.centers-split{
  display:grid; grid-template-columns:1fr 1fr; gap:18px;
  margin-top:34px;
  max-width:760px; margin-left:auto; margin-right:auto;
  text-align:left;
}
.center-card{
  position:relative;
  padding:24px;
  border-radius:18px;
  background:rgba(255,255,255,0.025);
  border:1px solid var(--glass-border);
}
.center-card.defined{
  background:linear-gradient(180deg, rgba(212,168,75,0.10), rgba(212,168,75,0.02));
  border-color:rgba(212,168,75,0.35);
  box-shadow:inset 0 0 24px rgba(212,168,75,0.04), 0 0 24px rgba(212,168,75,0.06);
}
.center-card.open{
  background:linear-gradient(180deg, rgba(167,139,250,0.05), rgba(167,139,250,0.01));
  border-color:rgba(167,139,250,0.20);
}
.center-card .glyph{
  font-size:30px;
  margin-bottom:12px;
  opacity:0.85;
}
.center-card .name{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:22px;
  margin-bottom:4px;
}
.center-card.defined .name{ color:var(--aurum-bright); }
.center-card.open    .name{ color:#A78BFA; }
.center-card .tag{
  font-size:9px; letter-spacing:0.30em; text-transform:uppercase;
  color:var(--text-tertiary);
  font-weight:600;
  margin-bottom:14px;
}
.center-card .desc{
  font-size:14px; color:var(--text-secondary);
  line-height:1.6; font-weight:300;
}
.center-card .desc strong{ color:var(--text-primary); font-weight:500; }
.center-card.edge{
  grid-column:1 / -1;
  background:linear-gradient(180deg, rgba(212,168,75,0.08), rgba(212,168,75,0.02));
  border-color:rgba(212,168,75,0.35);
  padding:32px 36px;
}
.center-card.edge .desc{ font-size:16px; line-height:1.7; }
.center-card.edge .name{ font-size:26px; margin-bottom:10px; }

@media (max-width: 640px){ .centers-split{ grid-template-columns:1fr; } }
.logo-reveal{
  width:120px; height:120px;
  margin:0 auto 32px;
  position:relative;
}
.logo-reveal svg{ width:100%; height:100%; animation:logoBreath 4s ease-in-out infinite; }
@keyframes logoBreath{
  0%,100%{ filter:drop-shadow(0 0 8px rgba(212,168,75,0.4)) drop-shadow(0 0 20px rgba(212,168,75,0.2)); }
  50%{ filter:drop-shadow(0 0 16px rgba(232,196,106,0.7)) drop-shadow(0 0 36px rgba(212,168,75,0.4)); }
}

.creator-signature{
  margin-top:32px;
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:19px;
  color:var(--text-primary);
  letter-spacing:0.02em;
}
.creator-signature .gold{ color:var(--aurum-bright); font-weight:500; }
.exp-book-stage{
  position:relative;
  display:flex; align-items:center; justify-content:center;
  width:100%; margin:28px auto 22px;
  opacity:0;
  animation:expBookStageIn 1.7s ease-out 0.6s forwards;
}
@keyframes expBookStageIn{ from{ opacity:0; } to{ opacity:1; } }
.exp-book-stage .hero-book3d{
  position:relative; z-index:1; width:100%; max-width:300px;
  perspective:760px; perspective-origin:52% 42%;
}
.exp-book-stage .hero-book3d__stack{
  --bw:300px; --bh:424px; --bt:26px;
  position:relative; width:var(--bw); height:var(--bh); max-width:100%;
  margin:0 auto;
  transform-style:preserve-3d;
  transform:rotateY(-19deg) rotateX(5deg);
  animation:book3dFloat 7.5s ease-in-out infinite;
  will-change:transform;
}
@keyframes book3dFloat{
  0%,100%{ transform:rotateY(-19deg) rotateX(5deg) translateY(0); }
  50%{ transform:rotateY(-14.5deg) rotateX(3deg) translateY(-13px); }
}
.exp-book-stage .hero-book3d__face{ position:absolute; top:50%; left:50%; }
.exp-book-stage .hero-book3d__front,
.exp-book-stage .hero-book3d__back{
  width:var(--bw); height:var(--bh);
  border-radius:3px 11px 11px 3px;
}
.exp-book-stage .hero-book3d__front{
  transform:translate(-50%, -50%) translateZ(calc(var(--bt) / 2));
  background:#0D0A06;
  box-shadow:0 0 0 1px rgba(232,196,106,0.22), 0 0 30px rgba(232,196,106,0.30), 0 0 84px rgba(212,168,75,0.18);
}
.exp-book-stage .hero-book3d__back{
  transform:translate(-50%, -50%) translateZ(calc(var(--bt) / -2)) rotateY(180deg);
  background:linear-gradient(135deg, #0A0805, #15100A 60%, #0A0805);
}
.exp-book-stage .hero-book3d__pages{
  width:var(--bt); height:var(--bh);
  transform:translate(-50%, -50%) rotateY(90deg) translateZ(calc(var(--bw) / 2));
  background:linear-gradient(90deg, rgba(0,0,0,0.34), rgba(0,0,0,0) 38%), repeating-linear-gradient(180deg, #efe6cf 0 1.3px, #cdbd97 1.3px 2.6px);
}
.exp-book-stage .hero-book3d__pages-top{
  width:var(--bw); height:var(--bt);
  transform:translate(-50%, -50%) rotateX(-90deg) translateZ(calc(var(--bh) / 2));
  background:linear-gradient(0deg, rgba(0,0,0,0.30), rgba(0,0,0,0) 48%), repeating-linear-gradient(90deg, #efe6cf 0 1.3px, #cdbd97 1.3px 2.6px);
}
.exp-book-stage .hero-book3d__pages-bottom{
  width:var(--bw); height:var(--bt);
  transform:translate(-50%, -50%) rotateX(90deg) translateZ(calc(var(--bh) / 2));
  background:linear-gradient(180deg, rgba(0,0,0,0.42), rgba(0,0,0,0) 52%), repeating-linear-gradient(90deg, #e7ddc4 0 1.3px, #c3b48d 1.3px 2.6px);
}
.exp-book-stage .hero-book3d__spine{
  width:var(--bt); height:var(--bh);
  transform:translate(-50%, -50%) rotateY(-90deg) translateZ(calc(var(--bw) / 2));
  background:linear-gradient(0deg, rgba(232,196,106,0.20), rgba(232,196,106,0) 60%), linear-gradient(90deg, #0A0805, #1A130B 50%, #100B06);
  box-shadow:inset 0 0 14px rgba(0,0,0,0.5);
}
.exp-book-stage .hero-book3d__front .hero-codex-mount,
.exp-book-stage .hero-book3d__front .hero-mockup{
  position:absolute; inset:0;
  width:100%; height:100%; max-width:none; margin:0;
  border-radius:3px 11px 11px 3px; overflow:hidden;
}
.exp-book-stage .hero-book3d__front .hero-codex-mount{
  display:flex; align-items:center; justify-content:center; z-index:1;
}
.exp-book-stage .hero-book3d__front .hero-codex-mount.cv-mount{ max-width:none; }
.exp-book-stage .hero-book3d__front .hero-mockup{ object-fit:cover; z-index:0; }
.exp-book-stage .hero-book3d__front .cover-layer{ transition:opacity 1.05s ease; will-change:opacity; }
.exp-book-stage .book-aura{
  position:absolute; top:50%; left:50%;
  width:440px; height:440px;
  transform:translate(-50%, -50%);
  z-index:0; pointer-events:none;
}
.exp-book-stage .book-aura > span{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%, -50%);
  border-radius:50%;
  pointer-events:none;
  will-change:transform, opacity;
}
.exp-book-stage .ba-bloom{
  width:168%; height:168%;
  background:radial-gradient(circle at 50% 50%,
    rgba(232,196,106,0.21) 0%,
    rgba(212,168,75,0.10) 34%,
    rgba(212,168,75,0.035) 56%,
    transparent 73%);
  filter:blur(22px);
}
.exp-book-stage .ba-halo{
  width:117%; height:117%;
  background:radial-gradient(circle at 50% 48%,
    rgba(250,232,176,0.46) 0%,
    rgba(240,208,122,0.31) 22%,
    rgba(212,168,75,0.16) 44%,
    rgba(212,168,75,0.05) 64%,
    transparent 79%);
  filter:blur(5px);
}
.exp-book-stage .ba-floor{
  top:auto; bottom:-6%;
  width:60%; height:13%;
  transform:translate(-50%, 0);
  background:radial-gradient(ellipse 50% 50% at 50% 50%,
    rgba(232,196,106,0.30) 0%,
    rgba(212,168,75,0.12) 44%,
    transparent 72%);
  filter:blur(9px);
}
.exp-book-stage .ba-rays{
  width:150%; height:150%;
  opacity:0;
  background:conic-gradient(from 0deg at 50% 50%,
    transparent 0deg,
    rgba(248,228,168,0.10) 46deg,
    transparent 104deg,
    transparent 196deg,
    rgba(232,196,106,0.075) 244deg,
    transparent 310deg,
    transparent 360deg);
  -webkit-mask:radial-gradient(circle at 50% 50%, transparent 36%, #000 54%, #000 64%, transparent 84%);
          mask:radial-gradient(circle at 50% 50%, transparent 36%, #000 54%, #000 64%, transparent 84%);
  filter:blur(20px);
}
.exp-book-stage .ba-ring{
  width:66%; height:66%;
  border:1.5px solid rgba(240,208,122,0.75);
  box-shadow:0 0 12px rgba(232,196,106,0.30);
  filter:blur(0.6px);
  opacity:0;
}
html[data-tier="mid"]  .exp-book-stage .ba-ring,
html[data-tier="high"] .exp-book-stage .ba-ring{ animation:baRingPulse 7s ease-out infinite; }
html[data-tier="high"] .exp-book-stage .ba-ring--2{ animation-delay:2.33s; }
html[data-tier="high"] .exp-book-stage .ba-ring--3{ animation-delay:4.66s; }
html[data-tier="mid"]  .exp-book-stage .ba-ring--2{ animation-delay:2.33s; }
html[data-tier="mid"]  .exp-book-stage .ba-ring--3{ animation-delay:4.66s; }
html[data-tier="high"] .exp-book-stage .ba-rays{ opacity:1; animation:baRaysSpin 44s linear infinite; }
html[data-tier="mid"]  .exp-book-stage .ba-halo,  html[data-tier="high"] .exp-book-stage .ba-halo,
html[data-tier="mid"]  .exp-book-stage .ba-bloom, html[data-tier="high"] .exp-book-stage .ba-bloom{ animation:baBreath 9s ease-in-out infinite; }
html[data-tier="mid"]  .exp-book-stage .ba-bloom, html[data-tier="high"] .exp-book-stage .ba-bloom{ animation-delay:-2s; }

@keyframes baBreath{
  0%,100%{ transform:translate(-50%,-50%) scale(1);     opacity:0.86; }
  50%{ transform:translate(-50%,-50%) scale(1.045); opacity:1; }
}
@keyframes baRingPulse{
  0%{ opacity:0;     transform:translate(-50%,-50%) scale(0.6); }
  16%{ opacity:0.62; }
  100%{ opacity:0;     transform:translate(-50%,-50%) scale(2.0); }
}
@keyframes baRaysSpin{
  from{ transform:translate(-50%,-50%) rotate(0deg); }
  to{ transform:translate(-50%,-50%) rotate(360deg); }
}
@media (prefers-reduced-motion: reduce){
  .exp-book-stage{ animation:none !important; }
  .exp-book-stage .ba-ring, .exp-book-stage .ba-rays{ display:none !important; }
  .exp-book-stage .ba-halo, .exp-book-stage .ba-bloom, .exp-book-stage .hero-book3d__stack{ animation:none !important; }
}
@media (max-width: 600px){
  .exp-book-stage .hero-book3d{ max-width:208px; }
  .exp-book-stage .hero-book3d__stack{ --bw:208px; --bh:294px; --bt:19px; }
  .exp-book-stage .book-aura{ width:300px; height:300px; }
}
.manual-stage{
  position:relative;
  width:260px; height:360px;
  margin:32px auto 24px;
  perspective:1200px;
}
.manual-book{
  position:relative;
  width:100%; height:100%;
  transform-style:preserve-3d;
  animation:manualFloat 6s ease-in-out infinite;
  cursor:pointer;
}
@keyframes manualFloat{
  0%,100%{ transform:rotateY(-8deg) rotateX(2deg) translateY(0); }
  50%{ transform:rotateY(-12deg) rotateX(-1deg) translateY(-8px); }
}
.manual-cover{
  position:absolute; inset:0;
  border-radius:6px 10px 10px 6px;
  border:1px solid rgba(232,196,106,0.40);
  box-shadow:0 30px 70px rgba(0,0,0,0.7), 0 0 80px rgba(232,196,106,0.30), 0 0 170px rgba(212,168,75,0.18), inset 0 0 40px rgba(212,168,75,0.06);
  overflow:hidden;
  background:linear-gradient(135deg, #0D0A06 0%, #1A140B 50%, #0D0A06 100%);
  display:flex; flex-direction:column; align-items:center;
}
.manual-cover::before{
  content:'';
  position:absolute; left:0; top:0; bottom:0;
  width:14px;
  background:linear-gradient(90deg, rgba(0,0,0,0.6), transparent);
  pointer-events:none;
}
.manual-cover.apart{
  background:#0D0A06;
}
.manual-cover.apart .cover-image{
  position:absolute; inset:0;
  width:100%; height:100%;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-color:#0D0A06;
}
.manual-cover.apart .cover-image img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}
.manual-cover.apart::before{ display:none; }
.manual-cover.personal{
  padding:28px 22px;
}
.manual-brand{
  display:flex; gap:3px;
  font-size:8px; letter-spacing:0.32em; font-weight:700;
  margin-bottom:18px;
}
.manual-brand .a{ color:rgba(255,255,255,0.4); }
.manual-brand .b{ color:var(--aurum); }
.manual-mini-bodygraph{
  flex:1; display:flex; align-items:center; justify-content:center;
  width:100%; position:relative;
}
.manual-mini-bodygraph svg{ width:120px; height:160px; opacity:0.95; }
.manual-mini-aura{
  position:absolute; inset:0;
  background:radial-gradient(circle at center,
    rgba(var(--aura-active), 0.20) 0%,
    rgba(var(--aura-active), 0.08) 30%,
    transparent 70%);
  filter:blur(14px);
  pointer-events:none;
}
.manual-title{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-weight:500;
  font-size:18px;
  color:var(--aurum-bright);
  text-align:center;
  margin-top:8px;
  line-height:1.25;
  width:100%;
  padding:0 10px;
}
.manual-name{
  font-family:'DM Sans', sans-serif;
  font-weight:300;
  font-size:11px;
  letter-spacing:0.28em;
  color:rgba(255,255,255,0.78);
  text-align:center;
  margin-top:10px;
}
.manual-footer{ margin-top:auto; text-align:center; }
.manual-footer svg{ width:22px; height:22px; display:block; margin:0 auto 4px; }
.manual-footer .url{
  font-size:6px; letter-spacing:0.25em;
  color:rgba(212,168,75,0.55); font-weight:500;
}
.cover-toggle{
  display:inline-flex;
  margin:18px auto 0;
  padding:4px;
  background:rgba(255,255,255,0.04);
  border:1px solid var(--glass-border);
  border-radius:99px;
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:0.08em;
}
.cover-toggle button{
  padding:6px 14px;
  border:0; background:transparent;
  color:var(--text-tertiary);
  border-radius:99px;
  cursor:pointer;
  transition:all .25s;
  font-family:inherit; font-size:inherit; letter-spacing:inherit;
}
.cover-toggle button.active{
  background:rgba(212,168,75,0.10);
  color:var(--aurum-bright);
  box-shadow:inset 0 0 0 1px rgba(212,168,75,0.25);
}
.chapters-accordion{
  margin:28px auto 0;
  max-width:720px;
  display:flex; flex-direction:column;
  gap:6px;
  text-align:left;
}
.chapter-row{
  border:1px solid var(--glass-border);
  background:rgba(255,255,255,0.02);
  border-radius:12px;
  overflow:hidden;
  transition:all .25s ease;
}
.chapter-row:hover{ background:rgba(212,168,75,0.03); border-color:rgba(212,168,75,0.20); }
.chapter-row.open{
  background:rgba(212,168,75,0.05);
  border-color:rgba(212,168,75,0.32);
  box-shadow:0 0 24px rgba(212,168,75,0.05);
}
.chapter-head{
  display:grid;
  grid-template-columns:56px 1fr 24px;
  align-items:center;
  padding:14px 18px;
  cursor:pointer;
  user-select:none;
}
.chapter-head .num{
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  color:var(--aurum-deep);
  letter-spacing:0.06em;
}
.chapter-row.open .num{ color:var(--aurum-bright); }
.chapter-head .title{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:18px;
  color:var(--text-primary);
  line-height:1.3;
}
.chapter-row.open .title{ color:var(--aurum-bright); }
.chapter-head .chevron{
  width:18px; height:18px;
  display:inline-flex; align-items:center; justify-content:center;
  color:var(--aurum-deep);
  font-size:14px;
  transition:transform .3s ease;
}
.chapter-row.open .chevron{ transform:rotate(180deg); color:var(--aurum-bright); }
.chapter-body{
  max-height:0;
  overflow:hidden;
  transition:max-height .45s ease;
}
.chapter-row.open .chapter-body{ max-height:360px; }
.chapter-body-inner{
  padding:4px 22px 20px 78px;
  font-size:14.5px;
  color:var(--text-secondary);
  line-height:1.7;
  font-weight:300;
}
@media (max-width: 640px){
  .chapter-head{ grid-template-columns:48px 1fr 22px; padding:12px 14px; }
  .chapter-head .title{ font-size:16px; }
  .chapter-body-inner{ padding:4px 18px 18px 62px; font-size:14px; }
}
.testimonial-videos{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin:30px auto 0;
  max-width:760px;
}
@media (max-width: 640px){ .testimonial-videos{ grid-template-columns:1fr; } }
.testimonial-videos.single{ grid-template-columns:1fr; max-width:420px; }
.video-card{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  cursor:pointer;
  background:rgba(255,255,255,0.03);
  border:1px solid var(--glass-border);
  transition:all .3s ease;
  aspect-ratio:16 / 10;
}
.video-card:hover{
  transform:translateY(-2px);
  border-color:rgba(212,168,75,0.40);
  box-shadow:0 12px 40px rgba(0,0,0,0.4), 0 0 30px rgba(212,168,75,0.10);
}
.video-thumb{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
}
.video-thumb::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0.05) 30%, rgba(0,0,0,0.65) 100%);
}
.video-play{
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%, -50%);
  width:56px; height:56px;
  border-radius:50%;
  background:rgba(212,168,75,0.92);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 24px rgba(212,168,75,0.5);
  z-index:2;
  transition:transform .25s ease;
}
.video-card:hover .video-play{ transform:translate(-50%, -50%) scale(1.08); }
.video-play::after{
  content:'';
  width:0; height:0;
  border-style:solid;
  border-width:10px 0 10px 16px;
  border-color:transparent transparent transparent #1A0F08;
  margin-left:4px;
}
.video-meta{
  position:absolute; left:16px; right:16px; bottom:14px;
  z-index:3;
  color:white;
}
.video-meta .name{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:19px;
  font-weight:500;
  color:var(--aurum-bright);
  margin-bottom:2px;
  text-shadow:0 1px 4px rgba(0,0,0,0.6);
}
.video-meta .role{
  font-size:11px;
  color:rgba(255,255,255,0.78);
  letter-spacing:0.04em;
  text-shadow:0 1px 3px rgba(0,0,0,0.6);
}

.videos-footer{
  margin-top:24px;
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:16px;
  color:var(--text-secondary);
  max-width:600px;
  margin-left:auto; margin-right:auto;
  line-height:1.6;
}
.video-modal-overlay{
  position:fixed; inset:0; z-index:200;
  background:rgba(0,0,0,0.96);
  display:none; align-items:center; justify-content:center;
  padding:24px;
  opacity:0;
  transition:opacity .3s ease;
}
.video-modal-overlay.show{ display:flex; opacity:1; }
.video-modal{
  position:relative;
  width:100%;
  max-width:960px;
  aspect-ratio:16 / 9;
  background:#000;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 40px 100px rgba(0,0,0,0.7);
}
.video-modal.shorts{ max-width:420px; aspect-ratio:9 / 16; }
.video-modal iframe{ width:100%; height:100%; border:0; }
.video-modal-close{
  position:absolute;
  top:-42px; right:0;
  background:transparent; border:0;
  color:white; font-size:28px;
  cursor:pointer;
  padding:4px 12px;
}
.proof-strip{
  display:flex; justify-content:center; gap:48px;
  flex-wrap:wrap;
  margin-top:32px;
}
.proof-num{
  font-family:'JetBrains Mono', monospace;
  font-size:32px; font-weight:400;
  color:var(--aurum-bright);
  text-shadow:0 0 16px rgba(212,168,75,0.4);
}
.proof-lab{
  font-size:9px; letter-spacing:0.30em;
  text-transform:uppercase;
  color:var(--text-tertiary);
  text-align:center;
  margin-top:4px;
}
.seal{
  width:120px; height:120px;
  margin:24px auto 12px;
  position:relative;
  display:flex; align-items:center; justify-content:center;
}
.seal-ring{
  position:absolute; inset:0;
  border-radius:50%;
  border:1px solid rgba(212,168,75,0.30);
  animation:sealRotate 30s linear infinite;
}
.seal-ring::before{
  content:'';
  position:absolute; inset:6px;
  border-radius:50%;
  border:1px dashed rgba(212,168,75,0.20);
}
@keyframes sealRotate{ to{ transform:rotate(360deg); } }
.seal-num{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:46px;
  color:var(--aurum-bright);
  text-shadow:0 0 20px rgba(212,168,75,0.5);
}
.seal-text{
  font-size:9px; letter-spacing:0.30em; text-transform:uppercase;
  color:var(--aurum);
  font-weight:600;
  margin-top:8px;
  text-align:center;
}
.final-constellation{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  pointer-events:none;
  opacity:0.32;
  z-index:-1;
}
.final-constellation svg{
  width:80%; max-width:520px;
  filter:blur(0.5px);
}
.final-ctas{
  display:flex; flex-direction:column;
  gap:18px;
  align-items:center;
  margin-top:42px;
}
.final-ctas .btn.primary{ min-width:280px; }
@media (max-width: 640px){
  .scene{ padding:60px 16px calc(132px + env(safe-area-inset-bottom, 0px)); }
  .lead{ font-size:24px; line-height:1.25; }
  .lead.large{ font-size:30px; }
  .body-text{ font-size:14px; }
  .top-mark .name{ display:none; }
  .lang-rail{ top:16px; right:16px; padding:4px 8px; font-size:9px; }
  .exp-back{ top:14px; left:14px; width:34px; height:34px; font-size:20px; }
  .progress{ padding:6px 10px; }
  .progress .step-label{ display:none; }
  .devtools{
    bottom:auto; top:16px; right:auto; left:16px;
    flex-wrap:wrap; max-width:60vw;
  }
  .devtools .lab{ display:none; }
  .modal{ padding:28px 22px; }
  .modal-title{ font-size:22px; }
  .tension-box{ padding:20px 22px; }
  .video-modal-close{ top:-36px; }
}
.pattern-bg{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  pointer-events:none;
  opacity:0.16;
  z-index:-1;
}
.pattern-bg svg{ width:50%; max-width:340px; filter:blur(1px); }
.s-hero{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(28px, 4.4vw, 46px);
  line-height:1.22;
  letter-spacing:-0.005em;
  color:var(--text-primary);
  margin:0;
}
.s-hero-sub{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(20px, 2.6vw, 28px);
  line-height:1.4;
  color:rgba(248, 228, 168, 0.72);
  margin:0;
}
.s-detail{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(18px, 2.2vw, 23px);
  line-height:1.6;
  color:var(--text-secondary);
  max-width:600px;
  margin:0 auto;
}
.s-prose{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(19px, 2.4vw, 25px);
  line-height:1.6;
  color:var(--text-primary);
  max-width:640px;
  margin:0 auto;
}
.s-close{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(22px, 3vw, 30px);
  line-height:1.4;
  color:var(--text-primary);
  margin:0;
}
.s-block{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.s-stack{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:40px;
  margin-top:32px;
}
.s-stack.tight{ gap:28px; }
.s-stack.loose{ gap:52px; }
.s-detail-list{
  list-style:none;
  padding:0;
  margin:0 auto;
  max-width:600px;
  display:flex;
  flex-direction:column;
  gap:8px;
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(18px, 2.2vw, 23px);
  line-height:1.55;
  color:var(--text-secondary);
}
.s-hero .gold, .s-hero-sub .gold, .s-detail .gold,
.s-prose .gold, .s-close .gold,
.s-detail-list .gold{
  color:var(--aurum-bright);
  text-shadow:0 0 24px rgba(212, 168, 75, 0.30);
}
.s-prose .you, .s-close .you,
.s-hero .you, .s-detail .you{
  color:var(--aurum-bright);
  font-style:italic;
  font-family:inherit;
}
.s-prose .dim, .s-close .dim, .s-detail .dim,
.s-detail-list .dim{
  color:var(--text-tertiary);
}
.s-prose strong, .s-close strong, .s-detail strong{
  font-weight:600;
  color:var(--text-primary);
}
.s-prose em, .s-close em, .s-hero em{
  font-style:italic;
}

@media (max-width: 640px){
  .s-stack{ gap:32px; margin-top:24px; }
  .s-stack.tight{ gap:22px; }
  .s-stack.loose{ gap:40px; }
  .s-block{ gap:12px; }
  .s-prose, .s-detail, .s-detail-list{ font-size:17px; }
  .s-close{ font-size:21px; }
}
.umbral-spiral path,
.logo-reveal path{
  stroke-dasharray:1200;
  stroke-dashoffset:1200;
  animation:drawSpiral 3.5s cubic-bezier(.4, 0, .2, 1) forwards;
  animation-delay:.4s;
}
.umbral-spiral circle,
.logo-reveal circle{
  opacity:0;
  animation:fadeInSlow 1.2s ease-out forwards;
  animation-delay:3.6s;
}
@keyframes drawSpiral{ to{ stroke-dashoffset:0; } }
.bodygraph-stage.bg-draw .centers polygon,
.bodygraph-stage.bg-draw .centers rect{
  stroke-dasharray:200;
  stroke-dashoffset:200;
  animation:gemDraw 1.4s ease-out forwards;
}
.bodygraph-stage.bg-draw .channels path{
  stroke-dasharray:120;
  stroke-dashoffset:120;
  animation:gemDraw 1.8s ease-out forwards;
  animation-delay:.4s;
}
@keyframes gemDraw{ to{ stroke-dashoffset:0; } }
.word-stagger .word{
  display:inline-block;
  opacity:0;
  transform:translateY(6px);
  animation:wordRise .7s cubic-bezier(.4, 0, .2, 1) forwards;
}
@keyframes wordRise{
  from{ opacity:0; transform:translateY(8px); filter:blur(2px); }
  to{ opacity:1; transform:translateY(0);   filter:blur(0); }
}
.btn.primary::after{
  content:'';
  position:absolute;
  top:0; left:-100%;
  width:60%; height:100%;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.18),
    transparent
  );
  pointer-events:none;
  transform:skewX(-18deg);
  animation:btnShimmer 6.5s ease-in-out infinite;
  animation-delay:2.4s;
}
@keyframes btnShimmer{
  0%, 80%, 100%{ left:-100%; }
  90%{ left:130%;  }
}
.btn.primary:hover::after{ animation-duration:1.6s; animation-delay:0s; }
.btn:focus-visible,
.input:focus-visible,
.link-secondary:focus-visible,
.chapter-head:focus-visible,
.video-card:focus-visible,
.cover-toggle button:focus-visible,
.lang-opt:focus-visible,
.hint-chip:focus-visible{
  outline:2px solid var(--aurum-bright);
  outline-offset:4px;
  border-radius:6px;
}
.btn:focus-visible{ outline-offset:6px; border-radius:99px; }
.chapter-row{
  transform:translateY(0);
}
.chapter-row:not(.open):hover{
  transform:translateY(-1px);
  box-shadow:0 4px 16px rgba(0, 0, 0, 0.25), 0 0 22px rgba(212, 168, 75, 0.06);
}
.chapter-row:not(.open):active{
  transform:translateY(0px);
}
.center-card{
  transform:translateY(0);
  transition:all .35s cubic-bezier(.4, 0, .2, 1);
}
.center-card:hover{
  transform:translateY(-2px);
}
.center-card.defined:hover{
  box-shadow:inset 0 0 24px rgba(212, 168, 75, 0.06), 0 8px 32px rgba(0, 0, 0, 0.35), 0 0 38px rgba(212, 168, 75, 0.10);
}
.ls-card{ transition:all .35s cubic-bezier(.4, 0, .2, 1); transform:translateY(0); }
.ls-card:hover{ transform:translateY(-2px); }
.ls-card.light:hover{
  box-shadow:0 8px 32px rgba(0, 0, 0, 0.3), 0 0 32px rgba(212, 168, 75, 0.08);
}
.tension-box{ position:relative; }
.tension-box::before{
  content:'';
  position:absolute; inset:-1px;
  border-radius:inherit;
  box-shadow:0 0 32px rgba(212, 168, 75, 0.08), inset 0 0 30px rgba(212, 168, 75, 0.04);
  pointer-events:none;
  animation:tensionGlow 5s ease-in-out infinite;
}
@keyframes tensionGlow{
  0%, 100%{ box-shadow:0 0 32px rgba(212, 168, 75, 0.08), inset 0 0 30px rgba(212, 168, 75, 0.04); }
  50%{ box-shadow:0 0 44px rgba(212, 168, 75, 0.18), inset 0 0 36px rgba(212, 168, 75, 0.08); }
}
.single-box{ position:relative; }
.single-box::before{
  content:'';
  position:absolute; inset:-1px;
  border-radius:inherit;
  box-shadow:0 0 22px rgba(212, 168, 75, 0.04);
  pointer-events:none;
  animation:singleBoxGlow 7s ease-in-out infinite;
}
@keyframes singleBoxGlow{
  0%, 100%{ box-shadow:0 0 22px rgba(212, 168, 75, 0.04); }
  50%{ box-shadow:0 0 34px rgba(212, 168, 75, 0.12); }
}
.manual-stage:hover .manual-book{
  animation-play-state:paused;
}
.manual-stage:hover .manual-book{
  transform:rotateY(-2deg) rotateX(0deg) scale(1.04) translateY(-6px);
  transition:transform .8s cubic-bezier(.2, .8, .2, 1);
}
.video-card .video-thumb{
  transition:transform 1.2s cubic-bezier(.2, .8, .2, 1);
}
.video-card:hover .video-thumb{
  transform:scale(1.06);
}
.cover-toggle button{
  position:relative;
  overflow:hidden;
}
.cover-toggle button.active::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:99px;
  background:radial-gradient(circle at 50% 50%, rgba(232, 196, 106, 0.20), transparent 70%);
  animation:coverPing .7s ease-out;
}
@keyframes coverPing{
  0%{ opacity:0; transform:scale(.6); }
  100%{ opacity:1; transform:scale(1.4); }
}
.final-ctas .btn.primary{
  animation:heartbeat 3.2s ease-in-out infinite;
  animation-delay:6s;
}
@keyframes heartbeat{
  0%, 12%, 100%{ transform:translateY(0) scale(1);     }
  4%{ transform:translateY(-1px) scale(1.012); }
  8%{ transform:translateY(0) scale(1);     }
}
.top-mark:hover svg{
  animation-duration:2.2s;
}
@keyframes yearSettle{
  0%{ transform:scale(1.05); filter:blur(2px); }
  100%{ transform:scale(1);    filter:blur(0); }
}
.year-counter.settled{ animation:yearSettle .9s ease-out; }
.hint-chip:not(.active){
  animation:hintPulse 3.4s ease-in-out infinite;
}
@keyframes hintPulse{
  0%, 100%{ box-shadow:0 0 0 0 rgba(212, 168, 75, 0.0); }
  50%{ box-shadow:0 0 0 10px rgba(212, 168, 75, 0.04); }
}
.lang-opt.active{
  position:relative;
}
.lang-opt.active::after{
  content:'';
  position:absolute;
  inset:-2px;
  border-radius:99px;
  background:radial-gradient(circle, rgba(232,196,106,0.18), transparent 70%);
  pointer-events:none;
  z-index:-1;
}
@media (hover: none){
  .btn:active{ transform:scale(.98); }
  .chapter-head:active{ background:rgba(212, 168, 75, 0.06); }
  .video-card:active{ transform:scale(.98); }
  .center-card:active{ transform:scale(.99); }
  .cover-toggle button:active{ transform:scale(.95); }
}
::selection{
  background:rgba(212, 168, 75, 0.35);
  color:var(--text-primary);
}
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:0.001ms !important;
    animation-delay:0ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
  }
  .umbral-spiral path,
  .logo-reveal path{ stroke-dashoffset:0; }
  .fade-in,
  .fade-in-slow{
    opacity:1 !important;
    transform:none !important;
  }
  .word-stagger .word{ opacity:1; transform:none; }
  .btn.primary::after{ display:none; }
  .orbital-light,
  .lunar-orbit .moon{ animation:none; opacity:.6; }
  .starfield{ animation:none; opacity:.55; }
  .aura-pulse::before{ animation:none; }
  .bg-aura-bg.show{ animation:none; }
  .ring{ display:none; }
  .particles{ display:none; }
}
html, body{ overflow-x:hidden; max-width:100vw; }
.top-mark{ padding-top:max(28px, env(safe-area-inset-top, 0px) + 12px); }
.scroll-cue{ bottom:max(20px, env(safe-area-inset-bottom, 0px) + 12px); }
.lang-rail{ top:max(22px, env(safe-area-inset-top, 0px) + 6px); }
@supports (height: 100dvh){
  .stage,
  .scene{ min-height:100dvh; }
}
@media (max-width: 380px){
  .top-mark .name{ font-size:11px; letter-spacing:0.18em; }
  .lang-rail{ font-size:11px; }
  .scroll-cue{ font-size:10px; }
}
html[data-perf="low"] .starfield,
html[data-perf="low"] .deep-night .star,
html[data-perf="low"] .deep-night .cloud,
html[data-perf="low"] .deep-night .dust-mote,
html[data-perf="low"] .deep-night .shooting-star,
html[data-perf="low"] .deep-night .milky-way,
html[data-perf="low"] .bird,
html[data-perf="low"] .particles,
html[data-perf="low"] .ring,
html[data-perf="low"] .breath,
html[data-perf="low"] .aura-pulse::before{ animation:none !important; }
html[data-perf="low"] .ring{ display:none; }
html[data-perf="low"] .particles{ display:none; }
html[data-perf="low"] .breath{ opacity:0.4; }
html[data-perf="low"] .word-stagger .word{ animation:none; opacity:1; transform:none; }
html[data-perf="low"] .deep-night .crescent-moon,
html[data-perf="low"] .deep-night .sun-noon::before{ animation:none !important; }
html[data-perf="low"] .chart-svg .channel,
html[data-perf="low"] .chart-svg .gem{ filter:none !important; }
html[data-perf="low"] .journey-tint{ opacity:0.4; }
@media (prefers-reduced-data: reduce){
  .starfield, .ring, .particles, .breath{ animation:none !important; }
  .ring, .particles{ display:none; }
}
body{ overscroll-behavior:contain; }
.engine-error-scene{
  display:flex; align-items:center; justify-content:center;
  padding:24px 20px;
  min-height:100dvh;
}
.engine-error{
  max-width:480px; margin:0 auto; text-align:center;
}
.engine-error-title{
  font-family:'Cormorant Garamond', serif;
  font-weight:400; font-size:28px; line-height:1.18;
  color:#F0D07A; margin:0 0 18px;
}
.engine-error-body{
  font-family:'DM Sans', sans-serif;
  font-size:16px; line-height:1.55;
  color:rgba(255,255,255,0.78); margin:0 0 28px;
}
.engine-error-actions{
  display:flex; flex-direction:column; gap:12px; align-items:stretch;
}
.engine-error-actions .btn,
.engine-error-actions a.btn{
  display:inline-block; text-decoration:none; text-align:center;
  padding:14px 22px;
}
@media (min-width: 520px){
  .engine-error-actions{ flex-direction:row; justify-content:center; }
}
.input-hint{ font-family:'DM Sans', sans-serif; }
.consent-footer-link,
[class*="consent-footer"]{ display:none !important; }
.btn.secondary{
  background:transparent;
  color:var(--aurum-bright);
  border:1px solid rgba(212,168,75,0.45);
  padding:14px 30px;
  font-size:13px;
  letter-spacing:0.18em;
  font-weight:600;
  text-transform:uppercase;
  border-radius:99px;
  font-family:'JetBrains Mono', monospace;
  cursor:pointer;
  text-decoration:none;
  display:inline-block;
  transition:all .25s ease;
}
.btn.secondary:hover{
  border-color:var(--aurum-bright);
  background:rgba(212,168,75,0.08);
  color:var(--text-primary);
  text-decoration:none;
}
.btn.secondary:active{ transform:scale(.98); }
.top-mark,
.scroll-cue{ display:none !important; }
.deep-night .sun-rising{
  bottom:-18%;
  width:360px;
  height:200px;
  border-radius:50%;
  background:radial-gradient(ellipse at 50% 50%,
    rgba(255, 240, 192, 0.55) 0%,
    rgba(255, 176, 96, 0.40) 28%,
    rgba(255, 96, 60, 0.22) 55%,
    rgba(180, 50, 30, 0.10) 80%,
    transparent 100%);
  filter:blur(28px);
  box-shadow:0 -10px 80px 30px rgba(255, 176, 96, 0.18), 0 -20px 160px 60px rgba(255, 120, 70, 0.12);
}
.deep-night .sun-rising::after{ display:none; }
.deep-night .sun-noon{
  width:280px !important;
  height:280px !important;
  background:radial-gradient(circle at 50% 50%,
    rgba(255, 240, 200, 0.55) 0%,
    rgba(255, 215, 140, 0.30) 28%,
    rgba(255, 190, 100, 0.14) 58%,
    transparent 92%) !important;
  filter:blur(22px);
  box-shadow:0 0 120px 20px rgba(255, 220, 130, 0.22), 0 0 260px 40px rgba(255, 190, 100, 0.12) !important;
}
.deep-night .sun-noon::before{ display:none; }
.deep-night .sun-setting{
  width:420px !important;
  height:280px !important;
  bottom:-10% !important;
  background:radial-gradient(ellipse at 50% 50%,
    rgba(255, 230, 175, 0.60) 0%,
    rgba(255, 160, 90, 0.38) 28%,
    rgba(240, 90, 70, 0.22) 55%,
    rgba(140, 50, 60, 0.10) 80%,
    transparent 100%) !important;
  filter:blur(26px);
  box-shadow:0 -10px 90px 35px rgba(255, 160, 90, 0.22), 0 -20px 200px 70px rgba(255, 110, 70, 0.14) !important;
  animation:sunsetGlowSoft 9s ease-in-out infinite !important;
}
@keyframes sunsetGlowSoft{
  0%, 100%{ opacity:0.95; }
  50%{ opacity:1.00; }
}
.night-prose p{ color:#fff; }
.night-prose .signature-lead{ color:#fff; }
.night-prose .you{
  color:var(--aurum-bright);
  font-style:italic;
  font-family:inherit;
}
@media (max-width: 640px){
  .deep-night .sun-noon{
    width:180px !important;
    height:180px !important;
  }
  .deep-night .sun-setting{
    width:280px !important;
    height:200px !important;
  }
}
.checkout-edit-modal .modal{ padding:32px 28px 28px; }
.checkout-edit-modal .modal-title{ margin-bottom:4px; }
.checkout-edit-modal .modal-body{ margin-bottom:22px; }
.checkout-edit-modal .input-wrap label{
  font-size:11px;
  letter-spacing:0.10em;
  color:var(--aurum-bright);
  text-transform:uppercase;
  font-family:'DM Sans', sans-serif;
  margin-bottom:6px;
  display:block;
}
.checkout-edit-modal .input-note{
  color:#C28560;
  font-size:12px;
  margin-top:6px;
  font-family:'DM Sans', sans-serif;
}
.checkout-edit-modal .autocomplete-list{
  margin-top:4px;
}
.input-wrap.full{ position:relative; z-index:100; }
.autocomplete{ position:relative; z-index:100; }
.autocomplete-list{
  z-index:9999;
  background:#0A0807 !important;
  background-color:#0A0807 !important;
  backdrop-filter:none; -webkit-backdrop-filter:none;
  border:1px solid rgba(212,168,75,0.40);
  box-shadow:0 18px 48px rgba(0,0,0,0.85), 0 0 0 1px rgba(0,0,0,0.5);
}
.autocomplete-item{ background:#0A0807; }
.autocomplete-item:hover,
.autocomplete-item.active{ background:rgba(212,168,75,0.14); }
#progress{ transition:opacity .2s ease; }
body:has(.autocomplete-list.open) #progress{ opacity:0; pointer-events:none; }
body:has(.autocomplete-list.open) .stage::after{ opacity:0; }
.scene-content .hint-chip, .scene-content .actions{ transition:opacity .2s ease; }
body:has(.autocomplete-list.open) .scene-content .hint-chip,
body:has(.autocomplete-list.open) .scene-content .actions{ opacity:0; pointer-events:none; }
.scene7-hero{
  font-size:clamp(20px, 3.6vw, 32px);
}
.scene7-bodygraph{
  margin:22px auto 18px;
  max-width:200px;
}
.scene7-bodygraph svg{
  width:100%;
  height:auto;
  max-height:38dvh;
}
.scene7-footnotes{
  margin-top:16px;
  font-size:clamp(15px, 1.9vw, 18px);
}
@media (max-width: 640px){
  .scene7-bodygraph{ max-width:170px; }
  .scene7-footnotes{ font-size:14px; }
}
@media (min-width: 720px){
  .scene7-hero{ font-size:clamp(28px, 3.4vw, 42px); }
  .scene7-bodygraph{ max-width:clamp(280px, 32vw, 400px); margin-top:32px; }
  .scene7-bodygraph svg{ max-height:58dvh; }
  .scene7-footnotes{ font-size:clamp(17px, 1.4vw, 21px); margin-top:28px; gap:16px; }
}
.video-modal-close{
  position:absolute;
  top:8px;
  right:8px;
  width:44px;
  height:44px;
  background:rgba(0,0,0,0.78);
  border:1px solid rgba(255,255,255,0.18);
  color:white;
  font-size:26px;
  line-height:42px;
  text-align:center;
  border-radius:50%;
  cursor:pointer;
  padding:0;
  z-index:2;
  display:flex; align-items:center; justify-content:center;
  transition:background .2s ease;
}
.video-modal-close:hover{ background:rgba(212,168,75,0.5); }
.video-modal-back{
  position:fixed;
  top:max(20px, env(safe-area-inset-top, 0px) + 12px);
  left:max(16px, env(safe-area-inset-left, 0px) + 8px);
  z-index:210;
  background:rgba(0,0,0,0.78);
  border:1px solid rgba(255,255,255,0.18);
  color:white;
  font-family:'DM Sans', sans-serif;
  font-size:13px;
  font-weight:500;
  letter-spacing:0.03em;
  padding:12px 18px;
  border-radius:99px;
  cursor:pointer;
  transition:background .2s ease;
}
.video-modal-back:hover{ background:rgba(212,168,75,0.45); }
@media (min-width: 720px){
  .video-modal-back{ display:none; }
}
.cover-toggle{ display:none !important; }
.manual-cover.apart .cover-image img{
  width:100%;
  height:auto;
  display:block;
  border-radius:12px;
  box-shadow:0 20px 60px rgba(0,0,0,0.55);
}
.final-ctas .btn.secondary{ min-width:280px; }
@media (max-width: 480px){
  .final-ctas .btn.primary,
  .final-ctas .btn.secondary{ min-width:0; width:100%; max-width:320px; }
}

.engine-error-actions a.btn.secondary{ text-decoration:none; }
.checkout-scene{
  text-align:left;
  max-width:540px;
  margin:0 auto;
}
.checkout-scene .eyebrow,
.checkout-scene .lead,
.checkout-scene .body-text,
.checkout-scene .input-note,
.checkout-scene .checkout-footnote{
  text-align:center;
}
.checkout-footnote{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:14px;
  color:var(--text-tertiary);
  margin-top:18px;
}
.progress.checkout-mode{
  background:rgba(8,8,12,0.78);
  padding:8px 18px;
  bottom:max(24px, env(safe-area-inset-bottom, 0px) + 12px);
}
.checkout-step-indicator{
  font-family:'JetBrains Mono', monospace;
  font-size:11px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--aurum-bright);
  font-weight:600;
}
body[data-checkout-mode="1"] .lang-rail{ display:none !important; }
.consent-row{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  margin-top:14px;
  background:rgba(255,255,255,0.025);
  border:1px solid var(--glass-border);
  border-radius:12px;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease;
}
.consent-row:hover{
  background:rgba(212,168,75,0.05);
  border-color:rgba(212,168,75,0.30);
}
.consent-row input[type="checkbox"]{
  flex-shrink:0;
  width:20px; height:20px;
  margin-top:2px;
  accent-color:var(--aurum-bright);
  cursor:pointer;
}
.consent-row span{
  font-family:'DM Sans', sans-serif;
  font-size:14px;
  line-height:1.55;
  color:var(--text-secondary);
}
.consent-row a{
  color:var(--aurum-bright);
  text-decoration:underline;
}
.consent-list{
  display:flex; flex-direction:column;
  margin-top:24px;
}
.grecaptcha-badge{ visibility:hidden; }
.checkout-recaptcha{
  margin-top:14px;
  font-family:'DM Sans', sans-serif;
  font-size:11px;
  line-height:1.5;
  text-align:center;
  color:var(--text-quaternary, var(--text-tertiary));
}
.checkout-recaptcha a{
  color:var(--text-tertiary);
  text-decoration:underline;
  text-underline-offset:2px;
}
.checkout-recaptcha a:hover{ color:var(--aurum-bright); }
.gender-row{
  display:flex; gap:10px; flex-wrap:wrap;
  margin-top:24px;
  justify-content:center;
}
.gender-pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 22px;
  min-height:44px;
  border-radius:99px;
  background:rgba(255,255,255,0.03);
  border:1px solid var(--glass-border);
  cursor:pointer;
  transition:all .2s ease;
  font-family:'DM Sans', sans-serif;
  font-size:14px;
  color:var(--text-secondary);
  user-select:none;
}
.gender-pill:hover{
  border-color:rgba(212,168,75,0.45);
  color:var(--aurum-bright);
}
.gender-pill.active{
  background:rgba(212,168,75,0.10);
  border-color:var(--aurum-bright);
  color:var(--aurum-bright);
  font-weight:600;
}
.gender-pill input[type="radio"]{ display:none; }
.accent-choices{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:36px;
}
.accent-card{
  background:rgba(255,255,255,0.025);
  border:1px solid var(--glass-border);
  border-radius:18px;
  padding:28px 22px;
  text-align:center;
  cursor:pointer;
  transition:all .25s ease;
  color:var(--text-secondary);
  font-family:'DM Sans', sans-serif;
}
.accent-card:hover{
  background:rgba(212,168,75,0.06);
  border-color:var(--aurum-bright);
  color:var(--text-primary);
  transform:translateY(-2px);
}
.accent-eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:14px; font-weight:600;
  letter-spacing:0.28em;
  color:var(--aurum-bright);
  margin-bottom:12px;
}
.accent-sample{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:18px;
  line-height:1.5;
}
.tier-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-top:28px;
}
@media (min-width: 720px){
  .tier-grid{ grid-template-columns:1fr 1fr 1fr; }
}
.tier-card{
  background:rgba(255,255,255,0.025);
  border:1px solid var(--glass-border);
  border-radius:18px;
  padding:22px 20px;
  text-align:center;
  cursor:pointer;
  transition:all .25s ease;
  font-family:'DM Sans', sans-serif;
  color:var(--text-secondary);
}
.tier-card:hover{
  border-color:rgba(212,168,75,0.45);
  background:rgba(212,168,75,0.04);
}
.tier-card.active{
  background:rgba(212,168,75,0.08);
  border-color:var(--aurum-bright);
  box-shadow:0 0 30px rgba(212,168,75,0.25);
}
.tier-badge{
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:0.28em;
  color:var(--aurum-bright);
  margin-bottom:10px;
  font-weight:600;
}
.tier-title{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:22px;
  color:var(--text-primary);
  margin-bottom:6px;
}
.tier-sub{
  font-size:13px;
  line-height:1.5;
  margin-bottom:18px;
}
.tier-price{
  display:flex; align-items:baseline; justify-content:center;
  gap:10px;
  font-family:'DM Sans', sans-serif;
  margin-top:8px;
  flex-wrap:wrap;
}
.tier-anchor{
  color:var(--text-quaternary);
  text-decoration:line-through;
  font-size:14px;
}
.tier-now{
  font-size:24px;
  font-weight:700;
  color:var(--aurum-bright);
}
.tier-curr{
  font-size:11px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--text-tertiary);
}
.tier-price-loading{
  color:var(--text-tertiary);
  font-style:italic;
}
.multi-choices{
  display:flex; flex-direction:column;
  gap:12px;
  margin-top:28px;
}
.multi-card{
  background:rgba(255,255,255,0.025);
  border:1px solid var(--glass-border);
  border-radius:16px;
  padding:20px 22px;
  text-align:left;
  cursor:pointer;
  transition:all .2s ease;
  color:var(--text-secondary);
  font-family:'DM Sans', sans-serif;
}
.multi-card:hover{
  border-color:var(--aurum-bright);
  background:rgba(212,168,75,0.05);
  transform:translateY(-1px);
}
.multi-title{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:20px;
  color:var(--text-primary);
  margin-bottom:6px;
}
.multi-sub{
  font-size:13px;
  line-height:1.55;
}
.review-card{
  background:rgba(255,255,255,0.03);
  border:1px solid var(--glass-border);
  border-radius:14px;
  padding:18px 20px;
  margin-top:22px;
  display:flex; flex-direction:column;
  gap:8px;
}
.review-row{
  display:flex; justify-content:space-between; gap:12px;
  font-family:'DM Sans', sans-serif;
  font-size:13px;
  padding:6px 0;
  border-bottom:1px solid rgba(255,255,255,0.04);
}
.review-row:last-child{ border-bottom:0; }
.review-label{
  color:var(--text-tertiary);
  letter-spacing:0.04em;
  font-weight:500;
}
.review-value{
  color:var(--text-primary);
  text-align:right;
  word-break:break-word;
  max-width:60%;
}
.review-subhead{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:22px;
  color:var(--aurum-bright);
  margin-top:28px;
  text-align:center;
}
.payment-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}
.payment-pill{
  display:flex; align-items:center; justify-content:center;
  padding:14px 12px;
  border-radius:14px;
  background:rgba(255,255,255,0.025);
  border:1px solid var(--glass-border);
  cursor:pointer;
  font-family:'DM Sans', sans-serif;
  font-size:14px;
  font-weight:500;
  color:var(--text-secondary);
  transition:all .2s ease;
  user-select:none;
}
.payment-pill input[type="radio"]{ display:none; }
.payment-pill:hover{
  border-color:rgba(212,168,75,0.45);
  color:var(--aurum-bright);
}
.payment-pill.active{
  background:rgba(212,168,75,0.08);
  border-color:var(--aurum-bright);
  color:var(--aurum-bright);
  font-weight:600;
}
.review-error{
  margin-top:16px;
  text-align:center;
  color:#ff7878;
  font-family:'DM Sans', sans-serif;
  font-size:13px;
}
.coupon-banner{
  display:flex; align-items:center; gap:10px;
  margin-top:18px;
  padding:12px 16px;
  border-radius:12px;
  background:rgba(125,180,110,0.10);
  border:1px solid rgba(125,180,110,0.30);
  color:#C4E4B0;
  font-family:'DM Sans', sans-serif;
  font-size:13px;
}
.coupon-banner-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px;
  border-radius:50%;
  background:rgba(125,180,110,0.20);
  font-weight:700;
  flex-shrink:0;
}
.coupon-banner-text strong{ color:#DAEFCC; margin-right:4px; }
.review-value-wrap{
  display:flex; align-items:center; gap:10px;
  justify-content:flex-end;
  max-width:60%;
}
.review-edit{
  background:transparent;
  border:0;
  color:var(--aurum-bright);
  font-family:'DM Sans', sans-serif;
  font-size:12px;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
  padding:6px 4px;
  letter-spacing:0.04em;
  min-height:32px;
}
.review-edit:hover{ color:#f5d7a0; }
.review-edit:focus-visible{
  outline:2px solid var(--aurum-bright);
  outline-offset:2px;
  border-radius:4px;
}
.review-anchor{
  color:var(--text-quaternary);
  text-decoration:line-through;
  font-size:12px;
  margin-right:6px;
}
.review-total-row{
  border-top:1px solid rgba(212,168,75,0.20);
  border-bottom:0 !important;
  margin-top:6px;
  padding-top:12px;
}
.review-total{
  font-weight:600;
  color:var(--aurum-bright) !important;
  font-size:15px;
}
@media (max-width: 640px){
  .accent-choices{ grid-template-columns:1fr; }
  .review-row{ flex-direction:column; gap:4px; }
  .review-value{ text-align:left; max-width:100%; }
  .review-value-wrap{ max-width:100%; justify-content:flex-start; }
  .payment-grid{ grid-template-columns:1fr; }
}
select option,
select optgroup{
  background-color:var(--void-elevated);
  color:var(--text-primary);
}
