/* ============================================================================
   AAIF, THE LIVING PROSPECTUS  ·  Sovereign AI Treasury
   An engraved sovereign-wealth-fund certificate that is quietly coming alive.
   ============================================================================ */

/* -------------------------------------------------- @property (animatable) */
@property --angle   { syntax:'<angle>';  inherits:false; initial-value:0deg; }
@property --sheen-x { syntax:'<percentage>'; inherits:false; initial-value:-150%; }

/* -------------------------------------------------- TOKENS */
:root{
  /* Navy substrate, treasury paper */
  --vault-navy:    #060E22;
  --treasury-navy: #0A1733;
  --panel-navy:    #11224A;
  --hairline-navy: #1C3566;

  /* Treasury gold, always a gradient sweep, never flat */
  --gold-shadow:   #9A7B2E;
  --gold-core:     #C9A227;
  --gold-highlight:#F2D67B;
  --gold-spark:    #FFD66B;

  /* Living AI stratum, electric blue from the coin's brain */
  --ai-blue:  #2E8BFF;
  --ai-glow:  #5FB0FF;
  --ai-spark: #BFE4FF;

  /* Parchment ink */
  --parchment:       #E8DEC2;
  --parchment-muted: #B9AE8E;

  /* Reserved */
  --wax-red:      #B11A2B;
  --signal-green: #2BD98A;

  /* Composed */
  --gold-foil: linear-gradient(105deg,#C9A227 0%,#F2D67B 34%,#FFF6D8 50%,#F2D67B 64%,#C9A227 100%);
  --gold-rule: linear-gradient(90deg,transparent,#C9A227 18%,#F2D67B 50%,#C9A227 82%,transparent);
  --ai-radial: radial-gradient(circle,var(--ai-spark),var(--ai-blue) 45%,transparent 72%);

  /* Fonts */
  --f-seal:   'Cinzel', serif;
  --f-quote:  'Cormorant Garamond', serif;
  --f-body:   'Spectral', Georgia, serif;
  --f-mono:   'JetBrains Mono', ui-monospace, monospace;

  --maxw: 1240px;
  --ease: cubic-bezier(.16,1,.3,1);
  --section-pad: clamp(5.5rem,12vh,10rem);
}

/* -------------------------------------------------- RESET */
*{ margin:0; padding:0; box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
html.js{ scroll-behavior:auto; } /* Lenis takes over */
body{
  background:var(--vault-navy);
  color:var(--parchment);
  font-family:var(--f-body);
  font-size:18px;
  line-height:1.7;
  overflow-x:hidden;
  position:relative;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
::selection{ background:rgba(201,162,39,.3); color:#fff; }

/* The deep navy field with a faint engraved tooth + radial vignette built in */
body::before{
  content:""; position:fixed; inset:0; z-index:-3; pointer-events:none;
  background:
    radial-gradient(120% 80% at 50% -10%, rgba(46,139,255,.10), transparent 60%),
    radial-gradient(100% 100% at 50% 120%, rgba(201,162,39,.06), transparent 55%),
    var(--vault-navy);
}
body::after{
  content:""; position:fixed; inset:0; z-index:-2; pointer-events:none; opacity:.5;
  background-image:
    repeating-linear-gradient(0deg,  rgba(28,53,102,.16) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(90deg, rgba(28,53,102,.10) 0 1px, transparent 1px 3px);
  mask-image:radial-gradient(120% 100% at 50% 30%, #000 30%, transparent 85%);
}

/* -------------------------------------------------- GLOBAL CHROME */
.grain{
  position:fixed; inset:-20%; z-index:9996; pointer-events:none; opacity:.05;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain .7s steps(4) infinite;
}
@keyframes grain{
  0%{transform:translate(0,0)}25%{transform:translate(-2%,1%)}
  50%{transform:translate(1%,-2%)}75%{transform:translate(-1%,2%)}100%{transform:translate(2%,-1%)}
}
.scanlines{
  position:fixed; inset:0; z-index:9995; pointer-events:none; opacity:.35;
  background:repeating-linear-gradient(0deg, rgba(0,0,0,.18) 0 1px, transparent 1px 3px);
  mix-blend-mode:multiply;
}
.vignette{
  position:fixed; inset:0; z-index:9994; pointer-events:none;
  box-shadow:inset 0 0 240px 60px rgba(2,6,15,.9);
}
.progress-bar{
  position:fixed; top:0; left:0; height:3px; width:100%; z-index:9999;
  transform:scaleX(0); transform-origin:0 50%;
  background:linear-gradient(90deg,var(--gold-core),var(--gold-highlight) 50%,var(--ai-blue));
  box-shadow:0 0 12px rgba(46,139,255,.5);
}

/* Custom cursor */
.cursor{
  position:fixed; top:0; left:0; width:40px; height:40px; z-index:10000;
  border:1.4px solid rgba(242,214,123,.85); border-radius:50%;
  transform:translate(-50%,-50%); pointer-events:none;
  transition:width .25s var(--ease), height .25s var(--ease), background .25s, border-color .25s;
  mix-blend-mode:difference;
}
.cursor-dot{
  position:absolute; inset:0; margin:auto; width:4px; height:4px; border-radius:50%;
  background:var(--gold-highlight);
}
.cursor.grow{ width:70px; height:70px; background:rgba(242,214,123,.12); border-color:rgba(242,214,123,.4); }
.cursor.grow .cursor-dot{ opacity:0; }
body.has-cursor{ cursor:none; }
body.has-cursor a, body.has-cursor button{ cursor:none; }

/* -------------------------------------------------- REVEAL (progressive) */
html.js .reveal{ opacity:0; transform:translateY(34px); will-change:opacity,transform; }
html.js .reveal.in{
  opacity:1; transform:none;
  transition:opacity 1s var(--ease), transform 1s var(--ease);
}
html.js .pillar-grid .reveal.in:nth-child(2){ transition-delay:.12s; }
html.js .pillar-grid .reveal.in:nth-child(3){ transition-delay:.24s; }
html.js .math-grid .reveal:nth-child(2).in{ transition-delay:.08s; }
html.js .math-grid .reveal:nth-child(3).in{ transition-delay:.16s; }
html.js .math-grid .reveal:nth-child(4).in{ transition-delay:.24s; }
html.js .steps .reveal:nth-child(2).in{ transition-delay:.1s; }
html.js .steps .reveal:nth-child(3).in{ transition-delay:.2s; }
html.js .steps .reveal:nth-child(4).in{ transition-delay:.3s; }

/* -------------------------------------------------- TYPOGRAPHY HELPERS */
.gold-foil{
  background:var(--gold-foil);
  background-size:220% auto;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
  animation:foilSheen 7s linear infinite;
}
@keyframes foilSheen{ to{ background-position:-220% center; } }

.gold{ color:var(--gold-core); }
.kicker{
  font-family:var(--f-seal); font-weight:600; font-size:.74rem;
  letter-spacing:.34em; text-transform:uppercase; color:var(--gold-core);
  display:inline-block; margin-bottom:1.4rem; position:relative; padding-left:2.6rem;
}
.kicker::before{
  content:""; position:absolute; left:0; top:50%; width:2rem; height:1px;
  background:var(--gold-rule);
}
.kicker.red{ color:var(--wax-red); }
.kicker.red::before{ background:linear-gradient(90deg,transparent,var(--wax-red),transparent); }

.section-title{
  font-family:var(--f-seal); font-weight:700; line-height:1.12;
  font-size:clamp(1.9rem,4.2vw,3.5rem); letter-spacing:.02em;
  margin-bottom:1.6rem; text-wrap:balance;
}
.section-lede{
  font-family:var(--f-body); font-size:clamp(1.05rem,1.5vw,1.3rem);
  color:var(--parchment); max-width:58ch; margin-bottom:3.4rem; opacity:.92;
}

/* -------------------------------------------------- LAYOUT */
.section{ padding:var(--section-pad) clamp(1.4rem,5vw,2.5rem); position:relative; }
.wrap{ max-width:var(--maxw); margin:0 auto; position:relative; }

/* Certificate plate, double hairline gold rule + registration corners */
.plate{
  position:relative; background:
    linear-gradient(180deg, rgba(17,34,74,.55), rgba(10,23,51,.7));
  border:1px solid var(--hairline-navy);
  box-shadow:inset 0 0 0 1px rgba(201,162,39,.18), 0 30px 60px -30px rgba(0,0,0,.7);
}
.plate-corner{ position:absolute; width:14px; height:14px; pointer-events:none; }
.plate-corner::before,.plate-corner::after{ content:""; position:absolute; background:var(--gold-core); }
.plate-corner::before{ width:14px; height:1.5px; } .plate-corner::after{ width:1.5px; height:14px; }
.plate-corner.tl{ top:7px; left:7px; } .plate-corner.tr{ top:7px; right:7px; }
.plate-corner.tr::after{ right:0; } .plate-corner.tr::before{ right:0; }
.plate-corner.bl{ bottom:7px; left:7px; } .plate-corner.bl::after{ bottom:0; } .plate-corner.bl::before{ bottom:0; }
.plate-corner.br{ bottom:7px; right:7px; }
.plate-corner.br::before{ right:0; bottom:0; } .plate-corner.br::after{ right:0; bottom:0; }

/* -------------------------------------------------- BUTTONS */
.btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--f-mono); font-weight:700; font-size:.82rem; letter-spacing:.16em;
  text-transform:uppercase; padding:1.05rem 2rem; overflow:hidden; isolation:isolate;
  border-radius:2px;
}
.btn span{ position:relative; z-index:2; display:inline-block; }
.btn-gold{
  color:#1a1304; background:var(--gold-foil); background-size:220% auto;
  box-shadow:0 0 0 1px rgba(255,246,216,.5) inset, 0 12px 30px -12px rgba(201,162,39,.7);
}
.btn-gold::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.7) 48%,rgba(255,255,255,.9) 50%,rgba(255,255,255,.7) 52%,transparent 70%);
  transform:translateX(var(--sheen-x)) skewX(-18deg);
  animation:btnSheen 4.5s ease-in-out infinite;
}
@keyframes btnSheen{ 0%,18%{--sheen-x:-150%} 60%,100%{--sheen-x:150%} }
.btn-gold:hover{ background-position:-110% center; }
.btn-ghost{
  color:var(--gold-highlight); border:1px solid var(--gold-core); background:transparent;
}
.btn-ghost::after{
  content:""; position:absolute; inset:0; z-index:1; background:var(--gold-foil); opacity:0;
  transition:opacity .4s;
}
.btn-ghost:hover{ color:#1a1304; }
.btn-ghost:hover::after{ opacity:1; }
.btn-ghost:hover span{ color:#1a1304; }
.btn-xl{ padding:1.4rem 3.2rem; font-size:.95rem; }
.magnetic{ will-change:transform; }

/* ============================================================================
   PRELOADER, DOCUMENT BOOT SEQUENCE
   ============================================================================ */
.preloader{
  position:fixed; inset:0; z-index:10001; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 50% 40%, #0a1733, #060E22 70%);
}
.preloader.done{ opacity:0; visibility:hidden; transition:opacity .8s var(--ease), visibility .8s; }
/* failsafe: if JS never removes it, fade out after 7s so content is never blocked */
.preloader{ animation:preFailsafe 0s linear 7s forwards; }
@keyframes preFailsafe{ to{ opacity:0; visibility:hidden; } }
.preloader-cert{
  position:relative; width:min(560px,86vw); aspect-ratio:3/2;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.2rem;
}
.pre-frame{ position:absolute; inset:0; width:100%; height:100%; }
.pre-microprint{
  position:absolute; top:6%; left:0; right:0; text-align:center;
  font-family:var(--f-mono); font-size:.5rem; letter-spacing:.42em; color:var(--gold-core);
  opacity:.7; white-space:nowrap; overflow:hidden;
}
.pre-issue{
  font-family:var(--f-seal); font-size:.62rem; letter-spacing:.3em; color:var(--parchment-muted);
  text-transform:uppercase;
}
.pre-serial{
  font-family:var(--f-mono); font-size:.95rem; letter-spacing:.24em; color:var(--parchment);
}
.pre-seal{
  position:relative; width:96px; height:96px; display:grid; place-items:center;
  opacity:0; transform:scale(1.7);
}
.pre-seal.stamp{ animation:sealSlam .5s var(--ease) forwards; }
.pre-seal-ring{
  position:absolute; inset:0; border-radius:50%;
  border:2px solid var(--wax-red);
  box-shadow:0 0 0 4px rgba(177,26,43,.25), inset 0 0 14px rgba(177,26,43,.4);
}
.pre-seal-text{
  font-family:var(--f-seal); font-weight:700; font-size:.78rem; letter-spacing:.14em;
  color:var(--wax-red);
}
@keyframes sealSlam{
  0%{opacity:0; transform:scale(1.7) rotate(-12deg)}
  60%{opacity:1; transform:scale(.9) rotate(-6deg)}
  80%{transform:scale(1.06) rotate(-7deg)}
  100%{opacity:1; transform:scale(1) rotate(-6deg)}
}
.pre-skip{
  position:absolute; bottom:5%; font-family:var(--f-mono); font-size:.56rem;
  letter-spacing:.3em; color:var(--parchment-muted); opacity:.6; cursor:pointer;
}
.preloader.shake{ animation:preShake .12s 2; }
@keyframes preShake{ 0%,100%{transform:translate(0,0)} 33%{transform:translate(-3px,1px)} 66%{transform:translate(2px,-2px)} }

/* ============================================================================
   NAV
   ============================================================================ */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:9000;
  display:flex; align-items:center; gap:2rem;
  padding:.9rem clamp(1.2rem,4vw,2.4rem);
  background:linear-gradient(180deg, rgba(6,14,34,.92), rgba(6,14,34,.55) 70%, transparent);
  backdrop-filter:blur(8px);
  border-bottom:1px solid transparent;
  transition:border-color .4s, background .4s, padding .4s;
}
.nav.scrolled{ border-bottom-color:rgba(201,162,39,.25); background:rgba(6,14,34,.92); padding-top:.65rem; padding-bottom:.65rem; }
.nav-brand{ display:flex; align-items:center; gap:.75rem; margin-right:auto; }
.nav-seal{ width:42px; height:42px; border-radius:50%; box-shadow:0 0 0 1px rgba(201,162,39,.5), 0 0 18px rgba(46,139,255,.25); }
.nav-ticker{ font-family:var(--f-seal); font-weight:700; font-size:1.1rem; color:var(--gold-core); letter-spacing:.06em; display:block; line-height:1; }
.nav-sub{ font-family:var(--f-mono); font-size:.52rem; letter-spacing:.26em; color:var(--parchment-muted); display:block; margin-top:3px; }
.nav-links{ display:flex; gap:1.7rem; }
.nav-links a{
  font-family:var(--f-mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--parchment-muted); position:relative; padding:.3rem 0; transition:color .3s;
}
.nav-links a::after{ content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold-core); transition:width .35s var(--ease); }
.nav-links a:hover{ color:var(--gold-highlight); }
.nav-links a:hover::after{ width:100%; }
.nav-cta{ padding:.72rem 1.4rem; font-size:.72rem; }

/* ============================================================================
   HERO
   ============================================================================ */
.hero{
  position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:center;
  padding:clamp(7rem,14vh,10rem) clamp(1.4rem,5vw,3rem) 4rem;
  overflow:hidden;
}
.hero-net{ position:absolute; inset:0; width:100%; height:100%; z-index:0; opacity:.65; }
.hero-frame{ position:absolute; inset:clamp(1rem,3vw,2.4rem); z-index:1; pointer-events:none; border:1px solid rgba(201,162,39,.16); }
.corner{ position:absolute; width:26px; height:26px; }
.corner::before,.corner::after{ content:""; position:absolute; background:var(--gold-core); box-shadow:0 0 8px rgba(201,162,39,.5); }
.corner::before{ width:26px; height:1.5px; } .corner::after{ width:1.5px; height:26px; }
.corner.tl{ top:-1px; left:-1px; } .corner.tr{ top:-1px; right:-1px; } .corner.tr::before,.corner.tr::after{ right:0; }
.corner.bl{ bottom:-1px; left:-1px; } .corner.bl::before,.corner.bl::after{ bottom:0; }
.corner.br{ bottom:-1px; right:-1px; } .corner.br::before,.corner.br::after{ right:0; bottom:0; }

.hero-grid{
  position:relative; z-index:2; max-width:var(--maxw); margin:0 auto; width:100%;
  display:grid; grid-template-columns:1.05fr .95fr; gap:3rem; align-items:center;
}
.eyebrow{
  font-family:var(--f-seal); font-weight:600; font-size:.76rem; letter-spacing:.36em;
  text-transform:uppercase; color:var(--gold-core); margin-bottom:1.6rem;
  display:inline-block; padding:.4rem 0; border-top:1px solid rgba(201,162,39,.3); border-bottom:1px solid rgba(201,162,39,.3);
}
.hero-title{
  font-family:var(--f-seal); font-weight:600; line-height:1.06;
  font-size:clamp(2.8rem,7.5vw,6.6rem); letter-spacing:.03em; margin-bottom:1.8rem;
}
.hero-title em{ font-style:normal; }
.hero-lede{
  font-size:clamp(1.05rem,1.6vw,1.34rem); max-width:46ch; color:var(--parchment); opacity:.94; margin-bottom:2.4rem;
}
.hero-lede strong{ color:var(--gold-highlight); font-weight:600; }
.hero-cta{ display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2.4rem; }
.hero-marks{ list-style:none; display:flex; flex-wrap:wrap; gap:1.2rem 2rem; }
.hero-marks li{ font-family:var(--f-mono); font-size:.74rem; letter-spacing:.08em; color:var(--parchment-muted); display:flex; align-items:center; gap:.6rem; }
.hero-marks .dot{ width:6px; height:6px; border-radius:50%; background:var(--ai-blue); box-shadow:0 0 8px var(--ai-glow); }

/* Coin stage */
.hero-coin-stage{ position:relative; display:grid; place-items:center; aspect-ratio:1/1; }
.guilloche{ position:absolute; inset:-6%; width:112%; height:112%; opacity:.55; overflow:visible; pointer-events:none; }
.guilloche path{ fill:none; vector-effect:non-scaling-stroke; }
.coin-halo{
  position:absolute; width:78%; height:78%; border-radius:50%;
  background:var(--ai-radial); filter:blur(14px); opacity:.55;
  animation:haloBreathe 3.4s ease-in-out infinite;
}
@keyframes haloBreathe{ 0%,100%{transform:scale(.94); opacity:.4} 50%{transform:scale(1.06); opacity:.62} }
.coin-tilt{
  position:relative; width:78%; max-width:430px; aspect-ratio:1/1; border-radius:50%;
  transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  transform-style:preserve-3d; transition:transform .25s ease-out;
}
.coin-rim{
  position:absolute; inset:-7%; border-radius:50%;
  background:conic-gradient(from var(--angle), #9A7B2E, #FFF6D8 12%, #C9A227 25%, #6e5413 38%, #FFD66B 55%, #9A7B2E 70%, #F2D67B 86%, #9A7B2E);
  -webkit-mask:radial-gradient(circle, transparent 60%, #000 61%, #000 70%, transparent 71%);
          mask:radial-gradient(circle, transparent 60%, #000 61%, #000 70%, transparent 71%);
  animation:rimSpin 6s linear infinite; opacity:.9;
}
@keyframes rimSpin{ to{ --angle:360deg; } }
.coin-img{
  position:absolute; inset:0; width:100%; height:100%; border-radius:50%; object-fit:cover;
  box-shadow:0 0 0 2px rgba(201,162,39,.55), 0 24px 60px -18px rgba(0,0,0,.8), 0 0 50px rgba(46,139,255,.28);
}
.coin-sheen{
  position:absolute; inset:0; border-radius:50%; overflow:hidden; pointer-events:none;
}
.coin-sheen::after{
  content:""; position:absolute; inset:-20%;
  background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.45) 48%,rgba(255,255,255,.7) 50%,rgba(255,255,255,.45) 52%,transparent 62%);
  transform:translateX(-130%) skewX(-16deg); animation:coinSheen 6s ease-in-out infinite;
}
@keyframes coinSheen{ 0%,30%{transform:translateX(-130%) skewX(-16deg)} 65%,100%{transform:translateX(130%) skewX(-16deg)} }
.coin-caption{
  position:absolute; bottom:-2.2rem; font-family:var(--f-mono); font-size:.6rem;
  letter-spacing:.24em; color:var(--parchment-muted); text-align:center; white-space:nowrap;
}

.scroll-cue{
  position:absolute; bottom:1.6rem; left:50%; transform:translateX(-50%); z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:.6rem;
  font-family:var(--f-mono); font-size:.6rem; letter-spacing:.34em; color:var(--parchment-muted);
}
.scroll-line{ width:1px; height:42px; background:linear-gradient(var(--gold-core),transparent); position:relative; overflow:hidden; }
.scroll-line::after{ content:""; position:absolute; top:-50%; left:0; width:100%; height:50%; background:var(--gold-highlight); animation:scrollDrop 1.8s ease-in-out infinite; }
@keyframes scrollDrop{ to{ top:100%; } }

/* ============================================================================
   TICKER
   ============================================================================ */
.ticker{
  position:relative; z-index:3; display:flex; align-items:center; gap:1.4rem;
  background:linear-gradient(90deg,var(--vault-navy),#0a1838,var(--vault-navy));
  border-top:1px solid rgba(201,162,39,.3); border-bottom:1px solid rgba(201,162,39,.3);
  padding:.8rem 0; overflow:hidden;
}
.ticker-pulse{
  flex:none; width:10px; height:10px; border-radius:50%; margin-left:1.4rem; background:var(--wax-red);
  box-shadow:0 0 0 0 rgba(177,26,43,.7); animation:tickerPulse 1.8s infinite;
}
@keyframes tickerPulse{ 0%{box-shadow:0 0 0 0 rgba(177,26,43,.6)} 70%{box-shadow:0 0 0 10px rgba(177,26,43,0)} 100%{box-shadow:0 0 0 0 rgba(177,26,43,0)} }
.ticker-track{ display:flex; gap:0; white-space:nowrap; will-change:transform; animation:marquee 38s linear infinite; }
.ticker:hover .ticker-track{ animation-play-state:paused; }
.ticker-track span{
  font-family:var(--f-mono); font-size:.78rem; letter-spacing:.18em; color:var(--parchment);
  padding:0 2rem; display:inline-flex; align-items:center;
}
.ticker-track span::after{ content:"◆"; color:var(--gold-core); margin-left:2rem; font-size:.6rem; opacity:.7; }
@keyframes marquee{ to{ transform:translateX(-50%); } }

/* ============================================================================
   THESIS
   ============================================================================ */
.thesis{ background:linear-gradient(180deg,var(--vault-navy),var(--treasury-navy)); }
.thesis-body{ max-width:74ch; }
.thesis-body p{ margin-bottom:1.6rem; color:var(--parchment); }
.thesis-body strong{ color:var(--gold-highlight); font-weight:600; }
.lede{ font-size:clamp(1.1rem,1.7vw,1.4rem); }
.drop-cap::first-letter{
  font-family:var(--f-seal); font-weight:900; float:left; font-size:4.6rem; line-height:.78;
  padding:.4rem .6rem .2rem 0; background:var(--gold-foil); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.proclamation{
  font-family:var(--f-quote); font-style:italic; font-weight:600;
  font-size:clamp(1.8rem,4vw,3.2rem); line-height:1.2; text-align:center;
  margin:3rem auto; max-width:18ch;
}
.margin-notes{ display:flex; gap:2rem; flex-wrap:wrap; border-top:1px solid rgba(201,162,39,.2); padding-top:1.6rem; }
.mnote{ font-family:var(--f-mono); font-size:.72rem; letter-spacing:.06em; color:var(--parchment-muted); }
.mfig{ display:block; color:var(--gold-core); margin-bottom:.3rem; letter-spacing:.18em; }

/* ============================================================================
   PILLARS
   ============================================================================ */
.pillar-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.pillar{ padding:2.2rem 1.8rem 2rem; overflow:hidden; min-height:340px; display:flex; flex-direction:column; }
.pillar-motif{ position:absolute; inset:0; opacity:.16; pointer-events:none; mix-blend-mode:screen; }
.motif-compute{
  background:
    repeating-linear-gradient(0deg, rgba(46,139,255,.5) 0 1px, transparent 1px 14px),
    repeating-linear-gradient(90deg, rgba(46,139,255,.5) 0 1px, transparent 1px 14px);
  -webkit-mask:radial-gradient(circle at 70% 20%, #000, transparent 70%); mask:radial-gradient(circle at 70% 20%, #000, transparent 70%);
  animation:motifPan 14s linear infinite;
}
.motif-energy{
  background:repeating-linear-gradient(115deg, rgba(242,214,123,.5) 0 1px, transparent 1px 9px);
  -webkit-mask:linear-gradient(180deg,#000,transparent 80%); mask:linear-gradient(180deg,#000,transparent 80%);
  animation:motifEnergy 5s linear infinite;
}
.motif-data{
  background:repeating-linear-gradient(0deg, rgba(46,139,255,.5) 0 2px, transparent 2px 11px);
  -webkit-mask:linear-gradient(180deg,#000,transparent 85%); mask:linear-gradient(180deg,#000,transparent 85%);
  animation:dataStream 3.5s linear infinite;
}
@keyframes motifPan{ to{ background-position:14px 14px, 14px 14px; } }
@keyframes motifEnergy{ to{ background-position:60px 0; } }
@keyframes dataStream{ to{ background-position:0 22px; } }
.pillar-no{ font-family:var(--f-mono); font-size:.66rem; letter-spacing:.28em; color:var(--gold-core); position:relative; }
.pillar-title{ font-family:var(--f-seal); font-weight:700; font-size:2.1rem; margin:.4rem 0 1rem; color:var(--parchment); position:relative; }
.pillar[data-pillar="compute"] .pillar-title{ text-shadow:0 0 22px rgba(46,139,255,.35); }
.pillar[data-pillar="energy"] .pillar-title{ text-shadow:0 0 22px rgba(242,214,123,.35); }
.pillar[data-pillar="data"] .pillar-title{ text-shadow:0 0 22px rgba(95,176,255,.3); }
.pillar-def{ font-size:1rem; color:var(--parchment); opacity:.86; position:relative; margin-bottom:auto; }
.pillar-stat{ position:relative; margin-top:1.8rem; padding-top:1.4rem; border-top:1px solid rgba(201,162,39,.22); }
.stat-val{ font-family:var(--f-mono); font-weight:700; font-size:2rem; color:var(--gold-highlight); display:block; }
.pillar[data-pillar="compute"] .stat-val{ color:var(--ai-glow); }
.stat-label{ font-family:var(--f-mono); font-size:.6rem; letter-spacing:.16em; color:var(--parchment-muted); display:block; margin-top:.4rem; }

/* Consolidation */
.consolidation{ position:relative; margin-top:4rem; text-align:center; padding-top:2rem; }
.consol-conduits{ position:absolute; top:0; left:0; width:100%; height:200px; pointer-events:none; }
.consol-conduits path{ fill:none; stroke:var(--gold-core); stroke-width:1; opacity:.4; vector-effect:non-scaling-stroke; }
.consol-conduits .packet{ fill:var(--ai-spark); }
.consol-coin{ position:relative; display:inline-grid; place-items:center; margin-top:1.5rem; }
.consol-coin img{ width:120px; height:120px; border-radius:50%; box-shadow:0 0 0 2px rgba(201,162,39,.5), 0 0 40px rgba(46,139,255,.4); }
.consol-stamp{
  position:absolute; font-family:var(--f-seal); font-weight:700; font-size:1rem; letter-spacing:.1em;
  color:var(--gold-spark); border:2px solid var(--gold-spark); padding:.4rem 1rem; border-radius:2px;
  transform:rotate(-9deg) scale(1.6); opacity:0; background:rgba(6,14,34,.6);
}
.consol-stamp.show{ animation:stampThud .5s var(--ease) forwards; }
@keyframes stampThud{ 0%{opacity:0; transform:rotate(-9deg) scale(1.6)} 70%{opacity:1; transform:rotate(-9deg) scale(.92)} 100%{opacity:1; transform:rotate(-9deg) scale(1)} }
.consol-caption{ font-family:var(--f-quote); font-style:italic; font-size:1.5rem; color:var(--parchment); margin-top:1.6rem; }
.consol-caption strong{ color:var(--gold-highlight); font-style:normal; }

/* ============================================================================
   PRECEDENT
   ============================================================================ */
.precedent{ background:linear-gradient(180deg,var(--treasury-navy),var(--vault-navy)); }
.dossier-row{ display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:1rem; align-items:stretch; }
.dossier{ padding:2rem 1.7rem; display:flex; flex-direction:column; }
.dossier-fig{ font-family:var(--f-mono); font-size:.62rem; letter-spacing:.24em; color:var(--gold-core); }
.dossier-year{ font-family:var(--f-mono); font-size:.95rem; color:var(--parchment-muted); margin:.2rem 0 1rem; letter-spacing:.1em; }
.dossier-name{ font-family:var(--f-seal); font-weight:600; font-size:1.3rem; color:var(--parchment); margin-bottom:.6rem; }
.dossier-figure{ font-family:var(--f-mono); font-weight:700; font-size:2.6rem; color:var(--gold-highlight); margin-bottom:1rem; line-height:1; }
.dossier-figure.live-figure{ background:var(--gold-foil); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.dossier-text{ font-size:.96rem; color:var(--parchment); opacity:.85; }
.dossier-text strong{ color:var(--gold-highlight); font-weight:600; }
.dossier-live{ box-shadow:inset 0 0 0 1px rgba(46,139,255,.35), 0 0 40px -10px rgba(46,139,255,.35); }
.relay-conductor{ width:42px; align-self:center; height:2px; background:rgba(201,162,39,.3); position:relative; overflow:visible; }
.relay-packet{ position:absolute; top:50%; left:0; width:8px; height:8px; border-radius:50%; background:var(--ai-spark); box-shadow:0 0 12px var(--ai-glow); transform:translate(-50%,-50%); animation:relayRun 2.6s ease-in-out infinite; }
@keyframes relayRun{ 0%{left:0; opacity:0} 20%{opacity:1} 80%{opacity:1} 100%{left:100%; opacity:0} }

/* ============================================================================
   CATALYST, THE BILL
   ============================================================================ */
.catalyst{ background:linear-gradient(180deg,var(--vault-navy),#0b1226); }
.memo{ padding:clamp(2rem,5vw,3.6rem); position:relative; overflow:hidden; }
.memo-bar{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; border-bottom:1px solid rgba(201,162,39,.22); padding-bottom:1.2rem; margin-bottom:1.8rem; }
.bill-status{ font-family:var(--f-mono); font-size:.74rem; letter-spacing:.16em; color:var(--wax-red); display:flex; align-items:center; gap:.6rem; }
.bill-dot{ width:9px; height:9px; border-radius:50%; background:var(--wax-red); box-shadow:0 0 10px var(--wax-red); animation:blink 1.3s steps(1) infinite; }
@keyframes blink{ 50%{ opacity:.2; } }
.memo-ref{ font-family:var(--f-mono); font-size:.68rem; letter-spacing:.2em; color:var(--parchment-muted); }
.classified-wipe{
  position:absolute; top:50%; left:0; right:0; transform:translateY(-50%); z-index:5;
  background:var(--wax-red); text-align:center; padding:1rem; pointer-events:none;
  font-family:var(--f-seal); font-weight:700; font-size:clamp(1.4rem,4vw,2.4rem); letter-spacing:.4em; color:#fff;
  box-shadow:0 0 40px rgba(177,26,43,.6);
}
.memo-title{ font-family:var(--f-seal); font-weight:700; font-size:clamp(1.7rem,3.8vw,3rem); line-height:1.12; margin-bottom:1.4rem; }
.memo-lede{ font-size:clamp(1.05rem,1.6vw,1.3rem); color:var(--parchment); margin-bottom:1.4rem; }
.memo-lede em{ font-family:var(--f-quote); font-style:italic; color:var(--gold-highlight); }
.memo-lede .hot{ color:var(--wax-red); font-family:var(--f-mono); font-weight:700; }
.memo-body{ color:var(--parchment); opacity:.9; margin-bottom:2.4rem; max-width:70ch; }
.memo-body strong{ color:var(--gold-highlight); font-weight:600; }

.bill-rail{ margin:2rem 0 2.6rem; }
.rail-line{ height:2px; background:rgba(201,162,39,.2); position:relative; }
.rail-fill{ position:absolute; left:0; top:0; height:100%; width:0; background:linear-gradient(90deg,var(--gold-core),var(--wax-red)); box-shadow:0 0 10px rgba(177,26,43,.5); }
.rail-steps{ list-style:none; display:flex; justify-content:space-between; margin-top:1rem; }
.rail-steps li{ font-family:var(--f-mono); font-size:.6rem; letter-spacing:.14em; color:var(--parchment-muted); position:relative; flex:1; text-align:center; }
.rail-steps li:first-child{ text-align:left; } .rail-steps li.rail-end{ text-align:right; color:var(--wax-red); }
.rail-node{ display:block; width:9px; height:9px; border-radius:50%; background:var(--hairline-navy); border:1px solid var(--gold-core); margin:0 auto .5rem; }
.rail-steps li:first-child .rail-node{ margin-left:0; } .rail-steps li.rail-end .rail-node{ margin-right:0; }
.rail-node.lit{ background:var(--gold-core); box-shadow:0 0 12px var(--gold-highlight); }

.memo-foot{ display:flex; align-items:center; gap:2rem; flex-wrap:wrap; }
.wax-stamp{
  font-family:var(--f-seal); font-weight:700; font-size:.78rem; line-height:1.15; letter-spacing:.1em;
  color:var(--wax-red); text-align:center; border:2px solid var(--wax-red); border-radius:50%;
  width:120px; height:120px; display:grid; place-items:center; padding:1rem;
  transform:rotate(-12deg) scale(.6); opacity:0; box-shadow:inset 0 0 18px rgba(177,26,43,.3);
}
.wax-stamp.show{ animation:waxIn .6s var(--ease) forwards; }
@keyframes waxIn{ 0%{opacity:0; transform:rotate(-12deg) scale(.6)} 70%{opacity:1; transform:rotate(-12deg) scale(1.08)} 100%{opacity:.92; transform:rotate(-12deg) scale(1)} }

.disclaimer-strip{
  margin-top:2.6rem; padding:1.1rem 1.3rem; border:1px dashed rgba(185,174,142,.35);
  font-family:var(--f-mono); font-size:.66rem; line-height:1.8; letter-spacing:.03em; color:var(--parchment-muted);
}
.disclaimer-strip strong{ color:var(--wax-red); }

/* ============================================================================
   MATH
   ============================================================================ */
.math-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; margin-bottom:3.4rem; }
.math-plate{ position:relative; padding:2rem 1.4rem; text-align:center; border:1px solid var(--hairline-navy); background:rgba(17,34,74,.4); overflow:hidden; }
.math-plate::before{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 30%, rgba(201,162,39,.1), transparent 65%); }
.math-val{ font-family:var(--f-mono); font-weight:700; font-size:clamp(2rem,3.5vw,2.8rem); background:var(--gold-foil); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; position:relative; }
.math-ctx{ font-size:.86rem; color:var(--parchment); opacity:.82; margin:.8rem 0 1rem; position:relative; }
.math-src{ font-family:var(--f-mono); font-size:.58rem; letter-spacing:.16em; color:var(--parchment-muted); position:relative; }

.float-contrast{ text-align:center; border-top:1px solid rgba(201,162,39,.25); padding-top:3rem; }
.float-line{ display:flex; align-items:center; justify-content:center; gap:1.4rem; flex-wrap:wrap; font-family:var(--f-quote); font-style:italic; font-size:clamp(1.2rem,2.4vw,1.8rem); color:var(--parchment); }
.float-line strong{ color:var(--gold-highlight); font-style:normal; }
.float-vs{ font-family:var(--f-mono); font-size:.7rem; letter-spacing:.3em; color:var(--wax-red); font-style:normal; }
.float-odometer{
  font-family:var(--f-mono); font-weight:700; font-size:clamp(2.4rem,7vw,5.4rem); letter-spacing:.04em;
  background:var(--gold-foil); background-size:220% auto; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  animation:foilSheen 6s linear infinite; margin:1rem 0;
}
.float-sub{ font-family:var(--f-mono); font-size:.72rem; letter-spacing:.1em; color:var(--parchment-muted); max-width:58ch; margin:0 auto; line-height:1.9; }

/* ============================================================================
   INSTRUMENT, SPECIMEN
   ============================================================================ */
.instrument{ background:linear-gradient(180deg,#0b1226,var(--vault-navy)); }
.specimen{ display:grid; grid-template-columns:.85fr 1.15fr; gap:0; overflow:hidden; }
.specimen-overprint{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) rotate(-24deg); z-index:4;
  font-family:var(--f-seal); font-weight:900; font-size:clamp(2rem,6vw,4.6rem); letter-spacing:.1em;
  color:rgba(177,26,43,.12); pointer-events:none; white-space:nowrap;
}
.specimen-denom{ position:relative; display:grid; place-items:center; padding:3rem 2rem; border-right:1px solid rgba(201,162,39,.25); min-height:380px; }
.specimen-guilloche{ position:absolute; inset:0; width:100%; height:100%; opacity:.4; }
.engrave-art{ position:absolute; width:62%; height:62%; opacity:.85; }
.engrave-art path, .engrave-art circle, .engrave-art line{ fill:none; stroke:var(--gold-core); stroke-width:1.2; vector-effect:non-scaling-stroke; }
.engrave-art .spark{ fill:var(--ai-spark); stroke:none; }
.specimen-coin{ position:relative; z-index:2; width:160px; height:160px; border-radius:50%; box-shadow:0 0 0 2px rgba(201,162,39,.5), 0 0 44px rgba(46,139,255,.35); }
.specimen-denom-label{ position:absolute; bottom:1.4rem; text-align:center; }
.specimen-denom-label .dn{ font-family:var(--f-mono); font-size:.58rem; letter-spacing:.26em; color:var(--parchment-muted); display:block; }
.specimen-denom-label .dv{ font-family:var(--f-seal); font-weight:700; font-size:1.1rem; color:var(--gold-core); letter-spacing:.14em; display:block; margin-top:.2rem; }

.specimen-table{ padding:2.4rem clamp(1.6rem,3vw,2.6rem); display:flex; flex-direction:column; }
.spec-row{ display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.95rem 0; border-bottom:1px solid rgba(28,53,102,.6); }
.spec-k{ font-family:var(--f-body); font-size:1rem; color:var(--parchment-muted); }
.spec-v{ font-family:var(--f-mono); font-weight:500; font-size:1rem; color:var(--parchment); letter-spacing:.04em; }
.spec-v.ok{ color:var(--signal-green); }
.ca-block{ margin-top:1.8rem; }
.ca-label{ font-family:var(--f-mono); font-size:.6rem; letter-spacing:.2em; color:var(--gold-core); display:block; margin-bottom:.6rem; }
.ca-box{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  background:rgba(6,14,34,.7); border:1px solid var(--hairline-navy); padding:.9rem 1rem;
  font-family:var(--f-mono); color:var(--parchment); cursor:pointer; transition:border-color .3s, background .3s; border-radius:2px;
}
.ca-box:hover{ border-color:var(--gold-core); background:rgba(11,18,38,.9); }
.ca-text{ font-size:.78rem; letter-spacing:.04em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ca-box svg{ flex:none; color:var(--gold-core); }
.ca-box.copied{ border-color:var(--signal-green); }
.ca-box.copied .ca-text{ color:var(--signal-green); }
.ca-note{ font-family:var(--f-mono); font-size:.6rem; letter-spacing:.06em; color:var(--parchment-muted); display:block; margin-top:.6rem; opacity:.8; }
.instrument-foot{ text-align:center; max-width:64ch; margin:2.4rem auto 0; font-family:var(--f-quote); font-style:italic; font-size:1.2rem; color:var(--parchment); opacity:.9; }

/* ============================================================================
   ROADMAP
   ============================================================================ */
.timeline{ position:relative; display:grid; gap:1.4rem; padding-left:2.4rem; }
.timeline-line{ position:absolute; left:7px; top:6px; bottom:6px; width:2px; background:rgba(201,162,39,.25); overflow:visible; }
.timeline-packet{ position:absolute; left:50%; top:0; width:8px; height:8px; border-radius:50%; transform:translateX(-50%); background:var(--ai-spark); box-shadow:0 0 14px var(--ai-glow); animation:packetDown 4s ease-in-out infinite; }
@keyframes packetDown{ 0%{top:0; opacity:0} 10%{opacity:1} 90%{opacity:1} 100%{top:100%; opacity:0} }
.stub{ position:relative; padding:1.8rem 2rem; }
.stub::before{ content:""; position:absolute; left:-2.4rem; top:1.9rem; width:16px; height:16px; border-radius:50%; background:var(--vault-navy); border:2px solid var(--gold-core); box-shadow:0 0 12px rgba(201,162,39,.4); }
.stub[data-status="live"]::before{ background:var(--signal-green); border-color:var(--signal-green); box-shadow:0 0 16px var(--signal-green); }
.stub-head{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.4rem; }
.stub-no{ font-family:var(--f-mono); font-size:.66rem; letter-spacing:.26em; color:var(--gold-core); }
.status-pill{ font-family:var(--f-mono); font-size:.58rem; letter-spacing:.16em; padding:.3rem .7rem; border:1px solid var(--hairline-navy); color:var(--parchment-muted); border-radius:2px; }
.status-pill.live{ color:var(--signal-green); border-color:var(--signal-green); box-shadow:0 0 14px rgba(43,217,138,.25); }
.status-pill.next{ color:var(--ai-glow); border-color:rgba(95,176,255,.5); }
.stub-title{ font-family:var(--f-seal); font-weight:700; font-size:1.7rem; color:var(--parchment); }
.stub-window{ font-family:var(--f-mono); font-size:.6rem; letter-spacing:.2em; color:var(--parchment-muted); display:block; margin:.3rem 0 1rem; }
.stub-text{ font-size:.96rem; color:var(--parchment); opacity:.85; max-width:70ch; }

/* ============================================================================
   HOW TO BUY
   ============================================================================ */
.howtobuy{ background:linear-gradient(180deg,var(--vault-navy),var(--treasury-navy)); }
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.3rem; }
.step{ padding:2.2rem 1.6rem; display:flex; flex-direction:column; }
.step-no{ font-family:var(--f-mono); font-weight:700; font-size:2.6rem; background:var(--gold-foil); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; line-height:1; margin-bottom:1.2rem; }
.step-title{ font-family:var(--f-seal); font-weight:600; font-size:1.2rem; color:var(--parchment); margin-bottom:.7rem; }
.step-text{ font-size:.92rem; color:var(--parchment); opacity:.82; margin-bottom:1.4rem; }
.step-final{ box-shadow:inset 0 0 0 1px rgba(201,162,39,.4), 0 0 40px -12px rgba(201,162,39,.4); }
.step-final .btn{ margin-top:auto; width:100%; }

/* ============================================================================
   CLOSING
   ============================================================================ */
.closing{ position:relative; text-align:center; overflow:hidden; background:linear-gradient(180deg,var(--treasury-navy),var(--vault-navy)); padding-top:7rem; padding-bottom:7rem; }
.closing-net{ opacity:.4; }
.closing-wrap{ position:relative; z-index:2; }
.ratify-seal{ position:relative; width:130px; height:130px; margin:0 auto 2.4rem; display:grid; place-items:center; transform:scale(.5) rotate(-14deg); opacity:0; }
.ratify-seal.show{ animation:waxIn .7s var(--ease) forwards; }
.ratify-ring{ position:absolute; inset:0; border-radius:50%; border:3px solid var(--wax-red); box-shadow:0 0 0 5px rgba(177,26,43,.18), inset 0 0 18px rgba(177,26,43,.4); }
.ratify-text{ font-family:var(--f-seal); font-weight:700; font-size:1.1rem; letter-spacing:.12em; color:var(--wax-red); }
.closing-title{ font-family:var(--f-seal); font-weight:900; font-size:clamp(2.4rem,6vw,5rem); line-height:1.05; margin-bottom:1.6rem; }
.closing-lede{ max-width:60ch; margin:0 auto 2.6rem; font-size:clamp(1.05rem,1.6vw,1.28rem); color:var(--parchment); opacity:.92; }
.closing-cta{ margin-bottom:2.8rem; }
.closing-socials{ display:flex; gap:1.2rem; justify-content:center; }
.social-medallion{
  width:54px; height:54px; border-radius:50%; display:grid; place-items:center;
  border:1px solid var(--gold-core); color:var(--gold-highlight); font-size:1.2rem;
  transition:transform .3s var(--ease), background .3s, color .3s; background:rgba(17,34,74,.5);
}
.social-medallion:hover{ transform:translateY(-4px); background:var(--gold-foil); color:#1a1304; }

/* ============================================================================
   FOOTER
   ============================================================================ */
.site-footer{ background:var(--vault-navy); border-top:1px solid rgba(201,162,39,.25); padding:4rem clamp(1.4rem,5vw,2.5rem) 0; position:relative; }
.footer-grid{ max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr; gap:2.4rem; padding-bottom:2.6rem; border-bottom:1px solid rgba(28,53,102,.6); }
.footer-brand{ display:flex; gap:1.2rem; align-items:flex-start; }
.footer-seal{ width:64px; height:64px; border-radius:50%; box-shadow:0 0 0 1px rgba(201,162,39,.5), 0 0 22px rgba(46,139,255,.25); }
.footer-name{ font-family:var(--f-seal); font-weight:700; font-size:1.1rem; color:var(--gold-core); letter-spacing:.06em; }
.footer-sub{ font-size:.9rem; color:var(--parchment-muted); margin-top:.5rem; max-width:42ch; }
.footer-col{ display:flex; flex-direction:column; gap:.7rem; }
.footer-col-label{ font-family:var(--f-mono); font-size:.6rem; letter-spacing:.24em; color:var(--gold-core); margin-bottom:.4rem; }
.footer-col a{ font-family:var(--f-mono); font-size:.78rem; letter-spacing:.04em; color:var(--parchment-muted); transition:color .3s; }
.footer-col a:hover{ color:var(--gold-highlight); }
.footer-legal{ max-width:var(--maxw); margin:2rem auto; font-family:var(--f-mono); font-size:.66rem; line-height:2; letter-spacing:.02em; color:var(--parchment-muted); opacity:.8; }
.footer-legal strong{ color:var(--parchment); }
.footer-stamp{ max-width:var(--maxw); margin:0 auto; display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding:1.4rem 0; font-family:var(--f-mono); font-size:.64rem; letter-spacing:.12em; color:var(--parchment-muted); }
.microprint-border{ overflow:hidden; border-top:1px solid rgba(201,162,39,.2); padding:.5rem 0; }
.microprint-track{ display:flex; white-space:nowrap; font-family:var(--f-mono); font-size:.56rem; letter-spacing:.3em; color:rgba(201,162,39,.4); animation:marquee 60s linear infinite; }
.microprint-track span{ padding:0 1.4rem; }

/* ============================================================================
   RESPONSIVE
   ============================================================================ */
@media (max-width:980px){
  .hero-grid{ grid-template-columns:1fr; gap:2rem; text-align:center; }
  .hero-coin-stage{ order:-1; width:min(340px,74vw); max-width:340px; margin:1.4rem auto 2.6rem; }
  .hero-cta{ justify-content:center; } .hero-marks{ justify-content:center; }
  .eyebrow{ margin-inline:auto; }
  .pillar-grid{ grid-template-columns:1fr; }
  .dossier-row{ grid-template-columns:1fr; }
  .relay-conductor{ width:2px; height:42px; justify-self:center; }
  .relay-packet{ animation:relayRunV 2.6s ease-in-out infinite; }
  @keyframes relayRunV{ 0%{top:0;left:50%;opacity:0} 20%{opacity:1} 80%{opacity:1} 100%{top:100%;left:50%;opacity:0} }
  .math-grid{ grid-template-columns:repeat(2,1fr); }
  .specimen{ grid-template-columns:1fr; }
  .specimen-denom{ border-right:none; border-bottom:1px solid rgba(201,162,39,.25); }
  .steps{ grid-template-columns:repeat(2,1fr); }
  .nav-links{ display:none; }
  .footer-grid{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  body{ font-size:16px; }
  .math-grid{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:1fr; }
  .memo-foot{ flex-direction:column; align-items:flex-start; }
  .float-line{ flex-direction:column; gap:.4rem; }
  .nav-cta{ display:none; }
  .coin-caption{ font-size:.5rem; }
}

/* ============================================================================
   REDUCED MOTION
   ============================================================================ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  html.js .reveal{ opacity:1 !important; transform:none !important; }
  .grain,.scanlines{ display:none; }
  .coin-rim,.coin-sheen::after,.coin-halo,.ticker-track,.microprint-track{ animation:none !important; }
  .preloader{ display:none !important; }
}

/* ============================================================================
   ON-CHAIN SWAP  ·  JUPITER (professional)
   ============================================================================ */
/* Jupiter Plugin theme (rgb triplets) tuned to the treasury palette */
:root{
  --jupiter-plugin-primary: 201, 162, 39;
  --jupiter-plugin-primaryText: 234, 230, 214;
  --jupiter-plugin-background: 9, 18, 40;
  --jupiter-plugin-module: 16, 29, 60;
  --jupiter-plugin-interactive: 26, 45, 86;
  --jupiter-plugin-warning: 242, 180, 60;
}

.swap{ background:linear-gradient(180deg, var(--vault-navy), #091532 50%, var(--vault-navy)); text-align:center; }
.swap .section-lede{ margin-left:auto; margin-right:auto; }

.swap-stage{ position:relative; max-width:460px; margin:3rem auto 0; }
.swap-glow{ position:absolute; left:-12%; right:-12%; top:-6%; height:74%; z-index:0; pointer-events:none;
  background:
    radial-gradient(60% 60% at 50% 26%, rgba(201,162,39,.15), transparent 70%),
    radial-gradient(60% 60% at 50% 64%, rgba(46,139,255,.13), transparent 72%);
  filter:blur(28px); }

.swap-card{ position:relative; z-index:1; padding:0; overflow:hidden; border-radius:16px;
  background:linear-gradient(180deg,#0b1838,#080f28);
  box-shadow:inset 0 0 0 1px rgba(201,162,39,.28), 0 26px 60px -26px rgba(0,0,0,.8); }
.swap-card-head{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1.1rem;
  border-bottom:1px solid rgba(201,162,39,.15); background:rgba(255,255,255,.012); }
.swap-brand{ display:inline-flex; align-items:center; gap:.55rem; }
.jup-logo{ width:24px; height:24px; display:block; }
.swap-brand-text{ font-family:var(--f-body); font-size:.88rem; color:var(--parchment-muted); }
.swap-brand-text strong{ color:var(--parchment); font-weight:600; }
.swap-secure{ display:inline-flex; align-items:center; gap:.35rem; font-family:var(--f-mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--signal-green); background:rgba(43,217,138,.1); border:1px solid rgba(43,217,138,.3); padding:.3rem .6rem; border-radius:999px; }
.swap-secure svg{ width:13px; height:13px; }

.swap-body{ position:relative; min-height:580px; }
#jupiter-plugin{ width:100%; min-height:580px; }

.swap-loading{ position:absolute; inset:0; z-index:6; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem;
  background:linear-gradient(180deg,#0b1838,#080f28); transition:opacity .6s var(--ease), visibility .6s; }
.swap-loading.done{ opacity:0; visibility:hidden; }
.swap-spinner{ width:34px; height:34px; border-radius:50%; border:2.5px solid rgba(201,162,39,.16); border-top-color:var(--gold-core); animation:swapSpin .8s linear infinite; }
@keyframes swapSpin{ to{ transform:rotate(360deg); } }
.swap-loading-text{ font-family:var(--f-mono); font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--parchment-muted); }

.swap-fallback{ position:absolute; inset:0; z-index:7; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.2rem; padding:2rem; background:#080f28; text-align:center; }
.swap-fallback p{ font-family:var(--f-body); font-size:.92rem; color:var(--parchment-muted); max-width:32ch; }

.trust-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:.9rem; margin-top:1.6rem; text-align:left; }
.trust-item{ background:rgba(17,34,74,.4); border:1px solid var(--hairline-navy); border-radius:12px; padding:1.1rem 1rem; }
.trust-ic{ display:inline-flex; width:34px; height:34px; border-radius:9px; align-items:center; justify-content:center;
  color:var(--gold-core); background:rgba(201,162,39,.1); border:1px solid rgba(201,162,39,.2); margin-bottom:.7rem; }
.trust-ic svg{ width:18px; height:18px; }
.trust-item b{ display:block; font-family:var(--f-body); font-weight:600; font-size:.9rem; color:var(--parchment); margin-bottom:.2rem; }
.trust-d{ font-family:var(--f-body); font-size:.75rem; line-height:1.5; color:var(--parchment-muted); }

.swap-note{ font-family:var(--f-mono); font-size:.62rem; line-height:1.7; letter-spacing:.04em; color:var(--parchment-muted); margin:1.6rem auto 0; max-width:54ch; opacity:.8; }

@media (max-width:600px){
  .swap-stage{ max-width:100%; }
  .trust-row{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){
  .swap-spinner{ animation:none !important; }
}
