/* TipGoldVault — light, simple consumer landing page */
:root{
  /* ── TYPE ──
     Newsreader was already being loaded and never used. An editorial serif on
     the display layer against a geometric sans for interface is what separates
     a heritage money brand from a generic fintech page. */
  --font-display:'Newsreader',Georgia,'Times New Roman',serif;
  /* ── RADII: three steps, not sixteen ── */
  --r-sm:8px;
  --r-md:18px;
  --r-lg:28px;
  --r-pill:999px;
  /* ── ELEVATION: two steps, not six ── */
  --shadow-soft:0 12px 34px rgba(45,38,24,.07);
  --shadow-lift:0 22px 60px rgba(45,38,24,.12);
  --hair:rgba(212,134,10,.28);
  --page:#F4F4F2;
  --card:#FFFFFF;
  --border:#F0E6D3;
  --gold:#D4860A;
  --gold-accent:#F8B319;
  --gold-bright:#FFB830;
  --gold-tint:#FFF3D6;
  /* #D4860A is only 2.9:1 on white, so it cannot carry text. --gold-ink is the
     same hue darkened to 5.3:1 and is used for every gold text/white-on-gold use. */
  --gold-ink:#9C5D08;
  --gold-ink-hover:#875105;
  --teal:#0D9488;
  /* Loss red. Warm brick (hue 3deg) so it harmonises with the gold (hue 34deg)
     instead of clashing like a cool crimson. Held at 71% saturation / 41%
     lightness: serious like the financial press rather than an error dialog,
     since saturated red raises alarm and costs trust on a money product.
     6.54:1 on white and 5.94:1 on the page tone, so it clears WCAG AA —
     pure #FF0000 (4.0:1) and #E53935 (4.23:1) both fail. */
  --loss:#B3261E;
  --loss-tint:#FDECEA;
  --text:#1A1A2E;
  /* Approved Text Secondary is #6B7280, but it measures 4.38:1 on the #F4F4F2 page
     and #FFF3D6 tint — just under WCAG AA. #656C79 is the nearest shade that clears
     4.5:1 on every surface this page uses. */
  --text-2:#656C79;
  --text-2-approved:#6B7280;
  /* #9CA3AF is 2.5:1 on white, so it is never used for text — borders/icons only. */
  --muted:#9CA3AF;
  --danger:#B45309;
  --shadow:0 18px 50px rgba(45,38,24,.08);
  --shadow-soft:0 8px 24px rgba(45,38,24,.06);
  --sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:"Newsreader",Georgia,serif;
  --mono:"DM Mono",SFMono-Regular,Consolas,monospace;
  --ease:cubic-bezier(.16,1,.3,1);
  --shell:1180px;
  --pad:clamp(20px,4.5vw,72px);
  /* aliases retained for existing semantic markup */
  --black:var(--page);--ink:var(--text);--ivory:var(--text);
  --mist:var(--text-2);--dim:var(--muted);--line:var(--border);
  --white-line:var(--border);--gold-hot:var(--gold-accent);
  --gold-pale:var(--gold);--green:var(--teal);--red:var(--danger);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--page);-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;background:var(--page);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}
::selection{background:var(--gold-tint);color:var(--text)}
:focus-visible{outline:3px solid rgba(212,134,10,.34);outline-offset:4px}
.skip{position:fixed;z-index:10000;left:16px;top:-80px;padding:12px 18px;border-radius:10px;background:var(--gold-ink);color:#fff;text-decoration:none;font-weight:700;transition:top .2s}.skip:focus{top:16px}
.grain,.cursor-light,.particle-field,.join-particles,.ambient,.mechanism__halo,.ownership__beam{display:none!important}
.scroll-line{position:fixed;z-index:9998;left:0;top:0;width:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-bright))}

/* Navigation */
.nav{position:fixed;z-index:100;inset:0 0 auto;padding:17px var(--pad);border-bottom:1px solid transparent;background:rgba(244,244,242,.92);transition:padding .25s,background .25s,border-color .25s,box-shadow .25s}
.nav.is-stuck{padding-top:11px;padding-bottom:11px;background:rgba(255,255,255,.96);border-color:var(--border);box-shadow:0 5px 24px rgba(45,38,24,.06);backdrop-filter:blur(14px)}
.nav__inner{max-width:var(--shell);margin:auto;display:flex;align-items:center;gap:32px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-size:15px;font-weight:800;letter-spacing:-.025em;white-space:nowrap}.brand>span>span,.brand--footer>span{color:var(--gold-ink)}
.brand__mark{width:34px;height:34px;fill:var(--gold-tint);stroke:var(--gold);stroke-width:1.35}
.nav__links{display:flex;gap:30px;margin-left:auto}.nav__links a{color:var(--text-2);font-size:13px;font-weight:600;text-decoration:none}.nav__links a:hover{color:var(--gold-ink)}
.nav__cta{margin-left:8px;padding:11px 19px;border-radius:999px;background:var(--gold-ink);color:#fff;font-size:12px;font-weight:800;text-decoration:none;box-shadow:0 7px 16px rgba(212,134,10,.18);transition:transform .2s,background .2s}.nav__cta:hover{background:var(--gold-ink-hover);transform:translateY(-1px)}

/* Shared section language */
.scene{position:relative;padding:clamp(94px,11vw,145px) var(--pad);overflow:hidden}
.scene__inner{position:relative;z-index:2;width:100%;max-width:var(--shell);margin:auto}
.scene-index{display:none}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--gold-ink)}
.display{margin-top:16px;font-size:clamp(2.7rem,5.6vw,5.2rem);font-weight:750;line-height:1.02;letter-spacing:-.055em}
.display>span:not(.mask){color:var(--gold-ink)}
.display--hero{font-size:clamp(2.6rem,4.3vw,4.05rem);line-height:1.02;letter-spacing:-.045em}
.lead{max-width:650px;margin-top:24px;color:var(--text-2);font-size:clamp(16px,1.5vw,20px);line-height:1.65}
.fine{max-width:580px;margin-top:20px;padding:14px 16px;border-left:4px solid var(--gold-accent);border-radius:0 10px 10px 0;background:var(--gold-tint);color:var(--text-2);font-size:11px;line-height:1.65}
.metal-text{color:var(--gold-ink)!important;background:none!important;-webkit-text-fill-color:currentColor}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .7s var(--ease)}.reveal.is-in{opacity:1;transform:none}.reveal--2{transition-delay:.06s}.reveal--3{transition-delay:.12s}.no-js .reveal{opacity:1;transform:none}
.mask{display:block;overflow:hidden;padding:.03em .05em .06em 0}.mask>span{display:block;opacity:0;transform:translateY(106%);transition:transform .75s var(--ease),opacity .25s}.page-ready .mask>span{opacity:1;transform:none}.mask:nth-child(2)>span{transition-delay:.08s}.mask:nth-child(3)>span{transition-delay:.16s}

/* Hero */
.hero{min-height:760px;padding-top:145px;background:radial-gradient(circle at 82% 35%,var(--gold-tint),transparent 34%),var(--page)}
.hero__inner{display:grid;grid-template-columns:minmax(430px,1fr) minmax(420px,1fr);gap:clamp(40px,5.5vw,76px);align-items:center}
.hero__copy .lead{max-width:480px;margin-top:20px;font-size:clamp(17px,1.6vw,21px)}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.btn{display:inline-flex;align-items:center;gap:9px;min-height:52px;padding:0 26px;border-radius:999px;font-size:14px;font-weight:800;text-decoration:none;transition:transform .2s,background .2s,border-color .2s}
.btn--primary{background:var(--gold-ink);color:#fff;box-shadow:0 10px 22px rgba(212,134,10,.22)}.btn--primary:hover{background:var(--gold-ink-hover);transform:translateY(-2px)}
.btn--ghost{background:var(--card);border:1px solid var(--border);color:var(--text)}.btn--ghost:hover{border-color:#E2C994;transform:translateY(-2px)}.btn--ghost span{color:var(--gold-ink)}
.quiet-link{display:inline-flex;align-items:center;gap:9px;margin-top:29px;padding:12px 17px;border-radius:999px;background:var(--card);border:1px solid var(--border);color:var(--text);font-size:12px;font-weight:800;text-decoration:none}.quiet-link span{color:var(--gold-ink)}
.loss-visual{position:relative;min-height:480px;padding:36px;display:grid;grid-template-columns:1fr 52px 1fr;align-items:center;border:1px solid var(--border);border-radius:30px;background:var(--card);box-shadow:var(--shadow)}
.loss-visual__glow,.loss-visual::before{display:none}
/* ── HERO LOSS ──
   The first screen carries one number. Everything here exists to make
   that number land without the visitor doing anything. */
.hero__copy .display--hero{font-size:clamp(3.2rem,7.5vw,6rem);line-height:.98}
#lossAmount{font-variant-numeric:tabular-nums}
.hero__physical{max-width:22ch;margin-top:18px;color:var(--text);font-size:clamp(17px,1.9vw,22px);font-weight:650;line-height:1.4}
.hero__physical b{color:var(--loss);font-weight:800}
.hero__replacement{max-width:39ch;margin-top:12px;color:var(--text-2);font-size:15px;font-weight:650;line-height:1.55}
.hero__replacement b{color:var(--loss);font-weight:800;font-variant-numeric:tabular-nums}
.hero__picker{max-width:440px;margin-top:26px}
.hero__picker-label{display:block;margin-bottom:9px;color:var(--text-2);font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.hero__picker-label b{color:var(--text);font-variant-numeric:tabular-nums}
/* Dragging beats typing: one gesture, no keyboard, every amount covered. */
.hero__range{width:100%;height:34px;margin:0 0 12px;background:none;-webkit-appearance:none;appearance:none;cursor:pointer}
.hero__range:focus-visible{outline:3px solid var(--gold-accent);outline-offset:4px;border-radius:8px}
.hero__range::-webkit-slider-runnable-track{height:8px;border-radius:99px;background:linear-gradient(90deg,var(--loss) 0%,var(--loss) 13%,#E4E5E8 13%,#E4E5E8 100%)}
.hero__range::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;margin-top:-11px;border:3px solid #fff;border-radius:50%;background:var(--loss);box-shadow:0 3px 10px rgba(179,38,30,.35)}
.hero__range::-moz-range-track{height:8px;border-radius:99px;background:#E4E5E8}
.hero__range::-moz-range-progress{height:8px;border-radius:99px;background:var(--loss)}
.hero__range::-moz-range-thumb{width:24px;height:24px;border:3px solid #fff;border-radius:50%;background:var(--loss)}
.hero__amounts{display:flex;flex-wrap:wrap;gap:9px}
/* A tap, never a text field: skimmers will not type. */
.amt{min-height:48px;padding:0 20px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--text-2);font:inherit;font-size:15px;font-weight:800;cursor:pointer;transition:border-color .18s,background .18s,color .18s,transform .18s}
.amt:hover{border-color:#E2C994;color:var(--text)}
.amt.is-on{border-color:var(--loss);background:var(--loss-tint);color:var(--loss)}
.amt:active{transform:scale(.96)}
/* Method and citations belong after the visual, never competing with the number. */
.hero__method{grid-column:1/-1;max-width:760px;margin:26px auto 0;color:#5F6674;font-size:10px;line-height:1.6;text-align:center}
.hero__live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* The shrink card: same money, shorter bar. */
.shrink{padding:clamp(22px,3vw,32px);border:1px solid var(--border);border-radius:26px;background:var(--card);box-shadow:var(--shadow-soft)}
.shrink__row+.shrink__row{margin-top:14px}
.shrink__tag{display:block;margin-bottom:7px;color:var(--text-2);font-size:9.5px;font-weight:800;letter-spacing:.08em}
.shrink__bar{display:flex;align-items:center;height:46px;padding:0 14px;border-radius:10px;color:#fff;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.shrink__bar em{font-style:normal}
.shrink__bar--then{width:100%;background:linear-gradient(90deg,#C8850D,#E0A32B)}
.shrink__bar--now{width:65.8%;background:linear-gradient(90deg,#8E1D17,var(--loss));transition:width .7s var(--ease)}
.shrink__gap{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.shrink__gap span{color:var(--text-2);font-size:10px;font-weight:800;letter-spacing:.08em}
.shrink__gap strong{color:var(--loss);font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}

.loss-card{min-height:300px;padding:24px 18px;display:flex;flex-direction:column;align-items:center;border:1px solid var(--border);border-radius:22px;background:#FBFAF7;text-align:center}
.loss-card--basket{background:var(--gold-tint)}
.loss-card__head{width:100%;padding-bottom:14px;border-bottom:1px solid var(--border);color:var(--text-2);font-size:10px;font-weight:800;letter-spacing:.08em}.loss-card__head i{display:none}
.loss-card>strong{margin-top:42px;font-size:34px;line-height:1;font-weight:800;color:var(--text)}
.loss-card>small{margin-top:auto;color:var(--text-2);font-size:9px;font-weight:700;letter-spacing:.05em}
.balance-line{position:relative;width:72%;height:30px;margin-top:18px;border-bottom:3px solid #B7E1DC}.balance-line i{position:absolute;left:0;right:0;bottom:-3px;height:3px;background:var(--teal);transform-origin:left;transition:transform .6s}
.loss-transfer{position:relative;height:3px;border-radius:99px;background:var(--border)}.loss-transfer::after{content:"→";position:absolute;left:50%;top:50%;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--gold-ink);color:#fff;font-size:17px;font-weight:800;transform:translate(-50%,-50%)}.loss-transfer span,.loss-transfer i{display:none}
.basket{position:relative;width:130px;height:115px;margin-top:20px;display:flex;align-items:flex-end;justify-content:center}.basket__handle{position:absolute;left:31px;right:31px;top:11px;height:48px;border:3px solid #A1783C;border-bottom:0;border-radius:50px 50px 0 0}.basket__body{position:absolute;left:10px;right:10px;bottom:0;height:65px;border:3px solid #A1783C;background:#FFF9E9;clip-path:polygon(0 0,100% 0,88% 100%,12% 100%)}.basket__body::after{content:"";position:absolute;inset:15px 12px;background:repeating-linear-gradient(90deg,transparent 0,transparent 13px,rgba(161,120,60,.35) 14px,rgba(161,120,60,.35) 16px)}.basket__goods{position:absolute;z-index:2;left:20px;right:20px;bottom:55px;display:flex;align-items:flex-end;justify-content:center;gap:4px}.basket__goods i{width:13px;height:30px;border-radius:10px 10px 4px 4px;background:#F59E0B;transform-origin:bottom;transition:opacity .5s,transform .55s var(--ease)}.basket__goods i:nth-child(even){height:24px;background:var(--teal)}
.loss-card--basket>strong{margin-top:10px;font-size:25px;color:var(--loss);opacity:0;transform:translateY(5px);transition:.4s}
.loss-caption{position:absolute;left:38px;right:38px;bottom:25px;display:flex;align-items:center;gap:16px;color:var(--text-2);font-size:10px;font-weight:700}.loss-caption>i{flex:1;height:4px;border-radius:99px;background:var(--border);overflow:hidden}.loss-caption b{display:block;width:0;height:100%;background:var(--gold-ink);transition:width .5s}
.loss-visual[data-step="2"] .basket__goods i:nth-child(2),.loss-visual[data-step="2"] .basket__goods i:nth-child(3),.loss-visual[data-step="2"] .basket__goods i:nth-child(5){opacity:.16;transform:translateY(24px) scale(.35)}.loss-visual[data-step="2"] .loss-card--basket>strong{opacity:1;transform:none}

/* Evidence: static, scannable consumer cards */
.evidence-film{position:relative;padding:clamp(100px,11vw,145px) var(--pad);background:var(--page)}
.evidence-film__atmosphere,.evidence-anchor{display:none}
.evidence-scroll{height:auto!important;max-width:var(--shell);margin:auto}
.stage{position:static!important;height:auto!important;padding:0!important;display:block!important;overflow:visible!important}
.stage__head{margin-bottom:38px;display:block;text-align:center}.stage__head h2{max-width:940px;margin:11px auto 0;font-size:clamp(2.5rem,4.8vw,4.4rem);font-weight:750;line-height:1.06;letter-spacing:-.05em}.stage__head h2 span{color:var(--gold-ink)}.stage__sub{margin-top:14px;color:var(--text-2);font-size:17px;font-weight:600}.stage__rail{display:none}
.stage__frames{position:relative;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.beat{position:relative!important;inset:auto!important;min-height:520px;padding:28px;display:flex!important;flex-direction:column;align-items:flex-start;gap:13px;border:1px solid var(--border);border-radius:26px;background:var(--card);opacity:1!important;transform:none!important;pointer-events:auto!important;text-align:left;box-shadow:none;transition:border-color .2s,transform .2s,box-shadow .2s}
.beat:hover{border-color:#E2C994;transform:translateY(-2px)!important;box-shadow:var(--shadow-soft)}
.beat__visual{position:relative;width:100%;height:210px!important;min-height:210px;display:grid;place-items:center;border-radius:18px;background:#F6F7F8;overflow:hidden}
.beat__art{width:100%;height:100%;object-fit:contain;filter:none}
.beat--food .beat__visual{background:var(--loss-tint)}.tomatoes{display:grid;place-items:center;width:100%}.tomatoes img{width:min(230px,72%);height:auto}
.beat__tag{position:absolute;left:14px;bottom:13px;margin:0;padding:7px 11px;border-radius:999px;background:var(--card);border:1px solid var(--border);color:var(--text-2);font-size:9px;font-weight:800;letter-spacing:.05em}.beat__tag b{margin:0 4px;color:var(--gold-ink);font-size:12px}
.beat--housing .beat__visual{background:var(--loss-tint)}.beat--housing .beat__art{max-width:430px;padding:12px}.beat__swap{position:absolute;left:50%;bottom:12px;top:auto;z-index:2;margin:0;padding:8px 13px;display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.94);font-size:12px;white-space:nowrap;transform:translateX(-50%)}.beat__swap s{color:var(--text-2)}.beat__swap em{color:var(--loss);font-style:normal}.beat__swap b{color:var(--loss);font-weight:800}
/* The employment card shows the human impact before naming the program. */
.beat--ei .beat__visual{background:var(--loss-tint)}.beat--ei .beat__visual::before{content:"INCOME\A ↓";white-space:pre;width:112px;height:112px;display:grid;place-items:center;border-radius:50%;background:var(--loss);color:#fff;font-size:20px;font-weight:800;line-height:1.05;text-align:center;box-shadow:0 0 0 18px rgba(179,38,30,.08)}
.beat--economy .beat__visual{background:var(--loss-tint)}.beat--economy .beat__visual::before{content:"Q4  ↓  Q1";padding:22px 28px;border-radius:18px;background:var(--card);color:var(--loss);font-size:24px;font-weight:800;box-shadow:var(--shadow-soft)}.beat__swap--quarters{bottom:12px}.beat__swap--quarters span{display:flex;gap:5px;color:var(--text-2);font-size:9px;font-weight:700}.beat__swap--quarters b{color:var(--loss)}
.beat__figure{margin:2px 0 0;line-height:1}.beat__figure b{font-size:clamp(2.9rem,5.2vw,4.7rem);font-weight:800;letter-spacing:-.055em;color:var(--loss);background:none;-webkit-text-fill-color:currentColor;font-variant-numeric:tabular-nums}.beat__figure--words b{font-size:clamp(2.1rem,3.5vw,3.2rem)}
.beat__line{max-width:32ch;color:var(--text);font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:750;line-height:1.35;letter-spacing:-.02em}.beat__support{display:flex;flex-wrap:wrap;gap:8px}.beat__support span{padding:7px 10px;border-radius:999px;background:var(--loss-tint);color:#5F6674;font-size:11px;font-weight:700}.beat__support b{color:var(--loss)}
/* Compact food-price comparison inside the grocery card. */
.beat-compare{width:100%;margin-top:4px;padding:14px;border:1px solid var(--border);border-radius:16px;background:#FAFAF8}
.beat-compare__title{margin:0 0 11px;color:var(--text);font-size:10px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.beat-compare__rows{margin:0;padding:0;display:grid;gap:9px;list-style:none}
.beat-compare__rows li{display:grid;grid-template-columns:62px minmax(50px,1fr) 47px;align-items:center;gap:8px}
.beat-compare__rows span{color:var(--text-2);font-size:10px;font-weight:700}
.beat-compare__rows i{height:7px;border-radius:99px;background:#E8E9EC;overflow:hidden}
.beat-compare__rows i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8E1D17,var(--loss));transform-origin:left;animation:gapGrow 1s var(--ease) both}
.beat-compare__rows strong{color:var(--loss);font-size:10px;font-weight:800;text-align:right;font-variant-numeric:tabular-nums}
/* ── CARD REFERENCE ──
   The cards no longer carry their own compliance paragraphs. Each one ends
   with a single quiet pointer to the numbered note beneath the grid, so the
   figure and the headline are the only things competing for attention.
   margin-top:auto keeps the pointers aligned along the bottom of the row. */
.beat__ref{width:100%;margin:auto 0 0;padding-top:13px;border-top:1px solid var(--border)}
/* Kept inline rather than inline-flex so the <sup> still renders raised;
   as a flex item it would drop to the baseline and read as body text. */
.beat__ref a{color:#5F6674;font-size:10px;font-weight:750;letter-spacing:.01em;text-decoration:underline;text-decoration-color:rgba(95,102,116,.4);text-underline-offset:3px}
.beat__ref a:hover{color:var(--gold-ink);text-decoration-color:var(--gold)}
.beat__ref sup{margin-left:2px;color:var(--gold-ink);font-size:8.5px;font-weight:800;vertical-align:super;text-decoration:none}

/* ── NOTES ──
   One block for every source and qualifier in the section. Nothing here is
   collapsed, timed or reduced in size; the gain came from removing the two
   sentences that used to repeat on all three cards. The zone is bounded by a
   gold hairline and a tint so the eye reads it as notes and can skip it in
   one pass, which is what a card-internal grey paragraph could never do.
   #5F6674 clears 4.5:1 on this tint as well as on white. */
.evnotes{max-width:820px;margin:26px auto 0;padding:20px 22px;border:1px solid var(--border);border-top:2px solid var(--hair);border-radius:var(--r-md);background:#FBFAF7}
.evnotes__title{margin:0;color:var(--gold-ink);font-family:'Manrope',system-ui,sans-serif;font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
/* What every figure in the section has in common, stated once. */
.evnotes__shared{margin:9px 0 0;color:#5F6674;font-size:10px;line-height:1.65}
.evnotes__list{margin:11px 0 0;padding:0 0 0 18px;color:#5F6674;font-size:10px;line-height:1.65}
.evnotes__list li{padding-top:8px;margin-top:8px;border-top:1px solid var(--border)}
.evnotes__list li::marker{color:var(--gold-ink);font-weight:800}
.evnotes__list b{color:#4E5561;font-weight:800}
.evnotes cite{font-style:italic}
/* Arriving from a card pointer must be unmistakable. */
.evnotes__list li:target{color:#4E5561;background:var(--gold-tint);box-shadow:0 0 0 7px var(--gold-tint);border-radius:2px}
.beat--close{grid-column:1/-1;min-height:300px;align-items:center;justify-content:center;text-align:center;background:var(--gold-tint)}.beat--close .beat__visual{height:90px!important;min-height:90px;background:transparent}.beat--close .beat__visual::before{content:"$";width:76px;height:76px;display:grid;place-items:center;border-radius:50%;background:var(--gold-ink);color:#fff;font-size:34px;font-weight:800}.beat--close .beat__figure b{font-size:clamp(2.2rem,4vw,3.7rem);color:var(--text)}.beat__line--close{color:var(--gold-ink)}.beat--close .beat__caveat{max-width:720px;text-align:center}
.evidence-context-note{max-width:760px;margin:22px auto 0;color:#5F6674;font-size:11px;line-height:1.6;text-align:center}.evidence-context-note strong{color:var(--text);font-weight:800}

/* ── 03 · THE GAP: prices against pay, in one look ── */
.gap{background:var(--card)}
.gap__inner{display:block}
.gap__head{max-width:820px;margin:0 auto 40px;text-align:center}
.gap__head .display{font-size:clamp(2.6rem,5vw,4.4rem)}
.gap__head .lead{margin-left:auto;margin-right:auto}
/* Red owns loss even inside a display heading, where gold is the default. */
.loss-text{color:var(--loss)!important;background:none!important;-webkit-text-fill-color:currentColor}
.gap-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;align-items:stretch}
/* The decade comparison has one scale and one job: show what happened to
   the same nominal $10,000, then expose cash's hidden real-value loss. */
.chart,.gap-bars-panel{padding:30px 28px;border:1px solid var(--border);border-radius:26px;background:var(--page)}
.gap-bars-panel{margin-top:20px}
.chart__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.chart__head>div{min-width:0}
.chart__kicker{margin:0 0 6px;color:var(--gold-ink);font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.chart h3,.gap-chart__title{margin:0;color:var(--text);font-size:clamp(1.25rem,2.4vw,1.8rem);font-weight:700;letter-spacing:-.015em}
.chart__unit{flex:none;margin:0;color:var(--text-2);font-size:9.5px;font-weight:750;letter-spacing:.045em;text-transform:uppercase}
.chart svg{display:block;width:100%;height:auto;margin-top:20px;overflow:visible}
.chart__grid line{stroke:#DDE0E5;stroke-width:.65}
.chart__grid line:nth-child(4){stroke:#BFC4CC;stroke-dasharray:3 3}
.chart__axis text{fill:#656C79;font-family:var(--sans);font-size:6.5px;font-weight:650}
.chart__line{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.chart__line--cash{stroke:#6B7280;stroke-width:2.5;stroke-dasharray:6 4}
.chart__line--snp{stroke:#1E5AA8;stroke-width:3}
.chart__line--gold{stroke:#C99012;stroke-width:4}
.chart__start{fill:var(--card);stroke:var(--text);stroke-width:1.5;vector-effect:non-scaling-stroke}
.chart__end{stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}
.chart__end--gold{fill:#C99012}.chart__end--snp{fill:#1E5AA8}.chart__end--cash{fill:#6B7280}
.chart__direct{font-family:var(--sans);font-size:6.4px;font-weight:850;letter-spacing:.05em}
/* The plain-language gloss sits under its label, one step quieter. */
.chart__direct-sub{font-size:5.6px;font-weight:800;letter-spacing:.04em;opacity:.82}
.chart__direct--gold{fill:#A46B06}.chart__direct--snp{fill:#1E5AA8}.chart__direct--cash{fill:#4F5662}
.chart-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 0;padding:0;list-style:none}
.chart-result{min-width:0;padding:17px 16px;border:1px solid var(--border);border-radius:16px;background:var(--card)}
.chart-result--gold{border-color:#E7CF97;background:var(--gold-tint)}
.chart-result--snp{border-color:#CDDAEA;background:#F3F7FC}
.chart-result--cash{border-color:#F0C4BF;background:var(--loss-tint)}
.chart-result__label{display:flex;align-items:center;gap:8px;color:var(--text);font-size:10px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.chart-result__label i{flex:none;width:17px;height:4px;border-radius:99px}
.chart-result--gold .chart-result__label i{background:#C99012}
.chart-result--snp .chart-result__label i{background:#1E5AA8}
.chart-result--cash .chart-result__label i{background:#6B7280}
.chart-result>strong{display:block;margin-top:8px;color:var(--text);font-size:clamp(1.45rem,2.5vw,2rem);font-weight:800;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.chart-result--gold>strong{color:var(--gold-ink)}
.chart-result--cash>strong{color:var(--loss)}
.chart-result>span{display:block;margin-top:8px;color:#5F6674;font-size:10.5px;line-height:1.45}
.chart-result>em{display:inline-flex;margin-top:10px;padding:5px 8px;border-radius:999px;background:var(--loss);color:#fff;font-size:10px;font-weight:800;font-style:normal;font-variant-numeric:tabular-nums}
.chart__takeaway{margin:18px 0 0;padding:16px 18px;border-left:4px solid var(--loss);border-radius:0 12px 12px 0;background:var(--card);color:var(--text-2);font-size:14px;line-height:1.55}
.chart__takeaway strong{color:var(--text);font-weight:800}
.chart__note{display:block;margin-top:14px;padding-top:14px;border-top:1px solid var(--border);color:#5F6674;font-size:10px;line-height:1.65}
.chart__note b{color:var(--text);font-weight:800}
.chiprow{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chip{padding:6px 11px;border-radius:999px;background:var(--gold-tint);color:#6B5313;font-size:11px;font-weight:700}
.gap-chart__note strong{color:var(--text);font-weight:800}
.gap-bars{display:grid;gap:16px}
.gap-bar{display:grid;grid-template-columns:96px 1fr 72px;gap:14px;align-items:center}
.gap-bar__label{color:var(--text);font-size:13px;font-weight:700}
.gap-bar__track{height:26px;border-radius:8px;background:#ECEDEF;overflow:hidden}
.gap-bar__fill{display:block;height:100%;border-radius:8px;transform-origin:left;animation:gapGrow 1s var(--ease) both}
.gap-bar__fill--loss{background:linear-gradient(90deg,#8E1D17,var(--loss))}
.gap-bar__fill--pay{background:#B9BEC7}
.gap-bar__val{color:var(--text);font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;text-align:right}
.gap-bar__val--loss{color:var(--loss)}
.gap-bar--pay .gap-bar__label,.gap-bar--pay .gap-bar__val{color:var(--text-2)}
@keyframes gapGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.gap-chart__note{margin:22px 0 0;padding-top:15px;border-top:1px solid var(--border);color:#5F6674;font-size:10px;line-height:1.6}
.gap-chart__note cite{font-style:italic}
.gap-shortfall{align-self:start;display:flex;flex-direction:column;padding:30px 26px;border:1px solid #F3D3CF;border-radius:26px;background:var(--loss-tint)}
.gap-shortfall__eyebrow{margin:0;color:var(--loss);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.gap-shortfall__figure{margin:8px 0 0;line-height:1}
.gap-shortfall__figure b{color:var(--loss);font-size:clamp(2.9rem,5vw,4.2rem);font-weight:800;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.gap-shortfall__line{margin:12px 0 0;color:var(--text);font-size:17px;font-weight:750;line-height:1.35}
.gap-ladder{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:0}
.gap-ladder li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid rgba(179,38,30,.16);color:var(--text-2);font-size:12px}
.gap-ladder li b{color:var(--text);font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}
.gap-ladder li b.is-loss{color:var(--loss)}
.gap-ladder__result{margin-top:4px;border-top:2px solid rgba(179,38,30,.4)!important}
.gap-ladder__result span{color:var(--text);font-weight:800}
.gap-ladder__result b{font-size:19px}
.gap-shortfall__note{margin:18px 0 0;color:#5F6674;font-size:10px;line-height:1.6}

/* Two simple jobs for savings */
.plan{background:var(--page)}.plan__inner{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(45px,7vw,95px);align-items:center}.plan__copy .display{font-size:clamp(2.7rem,5vw,4.7rem)}
.money-split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.money-source{grid-column:1/-1;justify-self:start;width:auto;height:auto;padding:9px 13px;border:0;border-radius:999px;background:var(--gold-tint);color:var(--gold-ink);font-size:11px;font-weight:800}.money-source::before,.money-source::after,.money-source i,.split-line,.money-split::after{display:none}
.money-job{min-height:285px;padding:28px 24px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--border);border-radius:22px;background:var(--card);text-align:left;box-shadow:var(--shadow-soft)}.money-job small{margin:22px 0 10px;color:var(--gold-ink);font-size:11px;font-weight:800;letter-spacing:.06em}.money-job strong{color:var(--text-2);font-size:14px;font-weight:500;line-height:1.65}.money-job__icon{position:relative;width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:#EAF7F5}.money-job__icon i:first-child{width:28px;height:23px;border:2px solid var(--teal);border-radius:4px}.money-job__icon i:nth-child(2),.money-job__icon i:nth-child(3){position:absolute;width:32px;height:2px;background:var(--teal);transform:rotate(45deg)}.money-job__icon i:nth-child(3){transform:rotate(-45deg)}.money-job__icon--orbit{background:var(--gold-tint)}.money-job__icon--orbit i:first-child{width:33px;height:33px;border:0;border-radius:50%;background:var(--gold-ink)}.money-job__icon--orbit i:last-child{display:none}

/* The receipt no longer needs a full display heading; the process strip
   already carries that message, so this section is compact. */
.proof--compact{min-height:0;padding-top:clamp(60px,7vw,90px);padding-bottom:clamp(60px,7vw,90px)}
.proof--compact .proof__inner{grid-template-columns:1fr;gap:26px}
.proof__title{max-width:24ch;color:var(--text);font-size:clamp(1.6rem,3vw,2.3rem);font-weight:750;letter-spacing:-.03em;line-height:1.2}
.proof__sub{margin-top:12px;color:var(--text-2);font-size:14px;line-height:1.6}

/* ── THE CHOICE: two doors on one screen ──
   Wording must not claim coins prevent loss. It contrasts what cash has
   done with what ownership is, and the risk line sits inside the section. */
.doors{background:var(--card)}
.doors__inner{display:block;text-align:center}
.doors__inner .display{font-size:clamp(2.6rem,5vw,4.4rem)}
.doors__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px;text-align:left}
.door{padding:30px 26px;border:1px solid var(--border);border-radius:26px;background:var(--page)}
.door__tag{margin:0;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.door__figure{margin:10px 0 0;font-size:clamp(2.8rem,5vw,4rem);font-weight:800;line-height:1;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.door__line{margin:10px 0 0;color:var(--text);font-size:16px;font-weight:700;line-height:1.4}
.door__list{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:9px}
.door__list li{position:relative;padding-left:20px;color:var(--text-2);font-size:12.5px;line-height:1.5}
.door__list li::before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%}
.door--cash{border-color:#F3D3CF;background:var(--loss-tint)}
.door--cash .door__tag,.door--cash .door__figure{color:var(--loss)}
.door--cash .door__list li::before{background:var(--loss)}
.door--gold{border-color:#EBD6A6;background:var(--gold-tint)}
.door--gold .door__tag,.door--gold .door__figure{color:var(--gold-ink)}
.door--gold .door__list li::before{background:var(--gold-ink)}
.doors__cta{display:inline-flex;align-items:center;gap:8px;min-height:54px;margin:22px auto 0;padding:0 30px;border-radius:999px;background:var(--gold-ink);color:#fff;font-size:15px;font-weight:800;text-decoration:none}
.doors__cta:hover{background:var(--gold-ink-hover)}
.doors__scarcity{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0 0;color:var(--text-2);font-size:12px;font-weight:650}
.doors__scarcity b{color:var(--loss);font-weight:800;font-variant-numeric:tabular-nums}
.doors__scarcity i{width:8px;height:8px;border-radius:50%;background:var(--loss);animation:spotPulse 1.9s ease-out infinite}
@keyframes spotPulse{0%,100%{box-shadow:0 0 0 0 rgba(179,38,30,.45)}60%{box-shadow:0 0 0 8px rgba(179,38,30,0)}}
.doors__risk{max-width:700px;margin:18px auto 0;color:#5F6674;font-size:11px;line-height:1.6}

/* ── FOUNDING SPOTS ──
   Scarcity, the joined count and the one unconditional benefit. */
.founding{max-width:560px;margin:26px 0 0;padding:24px 26px;border:1px solid var(--border);border-radius:22px;background:var(--card);box-shadow:var(--shadow-soft)}
.founding__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px}
.founding__count{margin:0;color:var(--text);font-size:16px;font-weight:800}
.founding__count b{color:var(--loss);font-size:22px;font-variant-numeric:tabular-nums}
.founding__joined{margin:0;color:var(--text-2);font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}
.founding__track{height:9px;margin-top:13px;border-radius:99px;background:#ECEDEF;overflow:hidden}
.founding__track b{display:block;width:0;height:100%;border-radius:99px;background:linear-gradient(90deg,#C8850D,#F8B319);transition:width 1s var(--ease)}
.founding__label{margin:9px 0 0;color:var(--text-2);font-size:11px;line-height:1.55}
.founding__perks{margin:20px 0 0;padding:18px 0 0;border-top:1px solid var(--border);list-style:none;display:grid;gap:15px}
.founding__perks li{display:flex;align-items:flex-start;gap:13px}
.founding__perk-val{flex:none;min-width:56px;padding:7px 0;border-radius:10px;background:var(--gold-tint);color:var(--gold-ink);font-size:14px;font-weight:800;text-align:center;font-variant-numeric:tabular-nums}
.founding__perk-txt{color:var(--text-2);font-size:12.5px;line-height:1.6}
.founding__perk-txt b{color:var(--text);font-weight:800}
.doors .strip{justify-content:center;max-width:640px;margin-left:auto;margin-right:auto}
.gap-grid--single{grid-template-columns:1fr}

/* The zero-tap version of the process, for anyone who will not tap. */
.strip{margin:24px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;counter-reset:s}
.strip li{flex:1 1 130px;padding:15px 16px;border:1px solid var(--border);border-radius:16px;background:var(--card)}
.strip li b{display:block;color:var(--gold-ink);font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.strip li span{display:block;margin-top:4px;color:var(--text-2);font-size:11px;font-weight:650}
.strip li+li{position:relative}

/* ── 05 · THE JOURNEY CINEMA ──
   The page stays light. The dark field is justified by the object: it is
   a phone screen, so the gold reads warm instead of washing out. */
.mechanism{background:var(--page)}
.mechanism__inner{display:grid;grid-template-columns:1fr .82fr;gap:clamp(40px,6vw,80px);align-items:center}
.mechanism__copy .display{font-size:clamp(2.7rem,5vw,4.7rem)}
.cinema{display:flex;flex-direction:column;align-items:center;gap:20px}
.phone{position:relative;width:min(100%,370px);padding:12px 16px 20px;border-radius:38px;background:linear-gradient(168deg,#15141C,#1B1922 55%,#14131A);box-shadow:0 0 0 1px rgba(212,134,10,.16),0 26px 60px rgba(26,26,46,.3);transition:transform .3s var(--ease)}
.phone.is-landed{animation:phoneLand .48s var(--ease)}
@keyframes phoneLand{0%,100%{transform:translateY(0)}25%{transform:translateY(-4px)}55%{transform:translateY(2px)}}
.phone__notch{display:block;width:86px;height:20px;margin:0 auto 14px;border-radius:0 0 14px 14px;background:#0C0B10}
.phone__rail{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid rgba(212,134,10,.22);border-radius:11px;background:rgba(212,134,10,.06)}
.phone__rail>span{color:rgba(255,255,255,.72);font-size:9px;font-weight:800;letter-spacing:.09em;white-space:nowrap}
.phone__rail>i{flex:1;height:4px;border-radius:99px;background:rgba(255,255,255,.09);overflow:hidden}
.phone__rail>i b{display:block;width:0;height:100%;border-radius:99px;background:linear-gradient(90deg,#C8850D,#F8B319);transition:width .7s var(--ease)}
.phone__rail>em{color:#F8B319;font-size:10.5px;font-weight:800;font-style:normal;font-variant-numeric:tabular-nums}
.phone__screen{position:relative;height:346px;margin-top:12px;border-radius:16px;background:radial-gradient(circle at 50% 26%,rgba(248,179,25,.09),transparent 62%),#100F16;overflow:hidden;cursor:pointer}
.phone__tag{position:absolute;right:22px;bottom:26px;margin:0;color:rgba(255,255,255,.26);font-size:8px;font-weight:800;letter-spacing:.14em}

/* one scene */
.cs{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:26px 20px;text-align:center;opacity:0;transform:translateX(22px);transition:opacity .32s var(--ease),transform .32s var(--ease)}
.cs.is-in{opacity:1;transform:none}
.cs.is-out{opacity:0;transform:translateX(-22px)}
.cs [data-pop]{opacity:0;transform:translateY(7px);transition:opacity .34s var(--ease),transform .34s var(--ease)}
.cs [data-pop].is-on{opacity:1;transform:none}
.cs__kicker{margin:0;color:rgba(248,179,25,.85);font-size:8.5px;font-weight:800;letter-spacing:.16em}
.cs__label{margin:0;color:#fff;font-size:15px;font-weight:750;line-height:1.3}
.cs__amount{margin:6px 0 0;color:#F8B319;font-size:52px;font-weight:800;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.cs__sub{margin:0;color:rgba(255,255,255,.75);font-size:12px;font-weight:600}
.cs__idle{margin:8px 0 0;color:#fff;font-size:26px;font-weight:750;line-height:1.25;letter-spacing:-.02em}
.cs__foot{margin:auto 0 0;color:rgba(255,255,255,.7);font-size:10px;line-height:1.55;max-width:31ch}
.cs__metals{display:flex;gap:12px;margin-top:8px}
.cs__metal{display:grid;place-items:center;gap:5px;width:84px;padding:15px 0;border:1px solid rgba(255,255,255,.16);border-radius:15px;color:rgba(255,255,255,.72);font-size:10.5px;font-weight:700}
.cs__metal b{font-size:19px;font-weight:800}
.cs__metal.is-picked{border-color:#F8B319;background:rgba(248,179,25,.12);color:#fff}
.cs__metal.is-picked b{color:#F8B319}
.cs__price{margin-top:8px;padding:15px 22px;border:1px solid rgba(248,179,25,.3);border-radius:15px;background:rgba(248,179,25,.08)}
.cs__price span{display:block;color:rgba(255,255,255,.75);font-size:8.5px;font-weight:800;letter-spacing:.09em}
.cs__price b{display:block;margin-top:6px;color:#F8B319;font-size:34px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.cs__ping{display:flex;align-items:center;gap:7px;margin:0;color:rgba(255,255,255,.78);font-size:10.5px;font-weight:600}
.cs__ping i{width:7px;height:7px;border-radius:50%;background:#3FD3A5;box-shadow:0 0 0 0 rgba(63,211,165,.5);animation:pingDot 1.8s ease-out infinite}
@keyframes pingDot{0%{box-shadow:0 0 0 0 rgba(63,211,165,.5)}70%{box-shadow:0 0 0 9px rgba(63,211,165,0)}100%{box-shadow:0 0 0 0 rgba(63,211,165,0)}}
.cs__coins{display:flex;gap:9px;margin-top:6px}
.cs__coin{width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#FFDD8C,#E0A32B 52%,#A97512);box-shadow:0 5px 14px rgba(0,0,0,.4),inset 0 0 0 2px rgba(255,240,200,.28)}
.cs__count{margin:4px 0 0;color:#fff;font-size:14px;font-weight:700}
.cs__count b{color:#F8B319;font-size:22px;font-weight:800}
.cs__math{display:grid;gap:4px;margin-top:6px;width:100%;max-width:250px}
.cs__math span{display:flex;justify-content:center;padding:6px 10px;border-radius:8px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.8);font-size:10px;font-weight:650;font-variant-numeric:tabular-nums}
/* Money that cannot buy a whole coin is returned, not held. */
.cs__math .is-return{background:rgba(63,211,165,.14);color:#7FE6C5;font-weight:750}
.cs__vault{position:relative;display:grid;place-items:center;width:104px;height:84px;margin-top:6px;border:2px solid rgba(212,134,10,.3);border-radius:13px;background:linear-gradient(150deg,#1E1A22,#171420)}
.cs__vault i{width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#FFDD8C,#E0A32B 52%,#A97512);box-shadow:inset 0 0 0 2px rgba(255,240,200,.3)}
.cs__vault-glow{position:absolute;inset:0;border-radius:11px;background:radial-gradient(circle,rgba(248,179,25,.3),transparent 62%)}
.cs__checks{margin:12px 0 auto;padding:0;list-style:none;display:grid;gap:6px}
.cs__checks li{display:flex;align-items:center;gap:7px;color:rgba(255,255,255,.78);font-size:10.5px}
.cs__checks li::before{content:"✓";flex:none;width:15px;height:15px;display:grid;place-items:center;border-radius:50%;background:rgba(63,211,165,.16);color:#3FD3A5;font-size:8px;font-weight:800}
.cs__summary{margin:6px 0 0;color:rgba(255,255,255,.85);font-size:14px;font-weight:600;line-height:1.7}
.cs__summary b{color:#F8B319;font-size:20px;font-weight:800}
.cs__cta{margin-top:14px;padding:12px 24px;border-radius:999px;background:linear-gradient(135deg,#C8850D,#F8B319);color:#1A1A2E;font-size:12px;font-weight:800;text-decoration:none}
.cs__replay{margin:10px 0 auto;padding:6px 4px;border:0;background:none;color:rgba(255,255,255,.75);font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cs__replay:hover{color:#F8B319}
.cinema__tap{position:relative;min-height:54px;padding:0 34px;border:0;border-radius:999px;background:var(--gold-ink);color:#fff;font-size:14px;font-weight:800;cursor:pointer;transition:transform .2s var(--ease),background .2s,opacity .3s}
.cinema__tap:hover{background:var(--gold-ink-hover);transform:translateY(-2px)}
.cinema__tap:active{transform:scale(.97)}
.cinema__tap>i{position:absolute;inset:0;border-radius:999px;animation:tapPulse 2.1s ease-in-out infinite;pointer-events:none}
@keyframes tapPulse{0%,100%{box-shadow:0 0 0 0 rgba(212,134,10,.3)}50%{box-shadow:0 0 0 12px rgba(212,134,10,0)}}
.cinema__tap.is-done{opacity:0;pointer-events:none;transform:scale(.92)}
.cinema__live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.process-film{width:100%}.process-film::before{display:none}.process-frame{min-height:0;padding:28px;border:1px solid var(--border);border-radius:26px;background:var(--page);box-shadow:none}.process-frame::before,.process-frame__top,.process-track,.process-stage,.process-caption{display:none}
.process-nodes{position:relative;left:auto;right:auto;top:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;counter-reset:steps}.process-node{width:auto;padding:16px 8px;display:flex;flex-direction:column;align-items:center;gap:10px;border-radius:16px;background:var(--card);opacity:1!important;transform:none!important;text-align:center;counter-increment:steps}.process-node::before{content:counter(steps);width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:var(--gold-ink);color:#fff;font-size:11px;font-weight:800}.process-node>span{color:var(--text-2);font-size:9px;font-weight:800;letter-spacing:.02em}.node-icon{position:relative;width:52px;height:52px;display:grid;place-items:center;border:0;border-radius:15px;background:var(--gold-tint)}.node-icon>*{display:none}.node-icon::after{color:var(--gold-ink);font-size:18px;font-weight:800}.node-icon--amount::after{content:"$"}.node-icon--metal::after{content:"Au";font-size:14px}.node-icon--price::after{content:"✓"}.node-icon--coins::after{content:"●●";font-size:12px;letter-spacing:-2px}.node-icon--rest::after{content:"↩"}

/* Ownership-work comparison — copied from the Full System Simulation's
   “What owning gold properly actually takes” table and adapted to this site's
   palette. The table remains a real table; only its scroll container handles
   narrow screens. */
.proof{background:var(--page)}
.proof__inner{max-width:1050px}
.proof__copy{text-align:center}
.proof__copy .lead{max-width:760px;margin-left:auto;margin-right:auto}
.proof__copy .display{font-size:clamp(2.7rem,5.4vw,4.9rem)}
.proof-table-card{max-width:1000px;margin:38px auto 0;padding:22px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-soft)}
.proof-table-card__label{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.proof-table-card__label span{padding:5px 10px;border-radius:var(--r-pill);background:var(--gold-tint);color:var(--gold-ink);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.proof-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.proof-table-scroll:focus-visible{outline:3px solid rgba(212,134,10,.34);outline-offset:3px;border-radius:var(--r-sm)}
.vtable{width:100%;margin:0;border-collapse:collapse;table-layout:fixed;color:var(--text);font-size:12.5px}
.vtable th,.vtable td{padding:11px 12px;border:1px solid var(--border);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.vtable th:nth-child(1),.vtable td:nth-child(1){width:42%}
.vtable th:nth-child(2),.vtable td:nth-child(2){width:30%}
.vtable th:nth-child(3),.vtable td:nth-child(3){width:28%}
.vtable th{background:#F7F3EA;color:var(--text);font-size:10.5px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.vtable .oldcol{color:var(--loss);font-weight:800}
.vtable .inccol{color:#287A5B;font-size:11.5px;font-weight:900;letter-spacing:.02em;text-transform:uppercase}
.vtable tr.total td{border-top:2px solid var(--text);background:#F7F3EA;color:var(--text);font-weight:850}
.vtable tr.total .oldcol{color:var(--loss)}
.vtable tr.total .inccol{color:#287A5B}
.proof-table-card__note{margin:13px 2px 0;color:#5F6674;font-size:10px;line-height:1.65}

/* Pricing and whole-coin planner */
.pricing{background:linear-gradient(180deg,var(--card) 0%,#F8F6F0 100%)}
.pricing__inner{max-width:1120px}
.pricing__head{max-width:800px;margin:0 auto;text-align:center}
.pricing__head .lead{max-width:720px;margin-left:auto;margin-right:auto}
.pricing-grid{margin-top:42px;display:grid;grid-template-columns:minmax(0,1.24fr) repeat(2,minmax(0,.88fr));gap:14px;align-items:stretch}
.price-card{min-width:0;padding:25px;border:1px solid var(--border);border-radius:var(--r-lg);background:rgba(255,255,255,.82)}
.price-card--primary{padding:30px;border:2px solid rgba(158,107,8,.36);background:linear-gradient(145deg,#FFFDF8,#F4E8CC);box-shadow:var(--shadow-soft)}
.price-card--secondary{background:rgba(248,247,243,.74);border-color:#E5E1D8}
.price-card__label{margin-bottom:22px;color:var(--gold-ink);font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.price-card__value{min-height:68px;margin-bottom:14px;display:flex;flex-direction:column;justify-content:flex-end}
.price-card__value strong{color:var(--text);font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.45rem);font-weight:600;line-height:1}
.price-card__value span{margin-top:7px;color:var(--text-2);font-size:12px;font-weight:750}
.price-card__value .price-card__fee{color:var(--gold-ink);font-family:var(--font-display);font-size:clamp(2rem,3.4vw,2.7rem);font-weight:650;line-height:1}
.price-card__support,.price-card>p:last-child{color:var(--text-2);font-size:11px;line-height:1.65}
.price-card__note{display:block;margin-top:14px;padding-top:12px;border-top:1px solid rgba(158,107,8,.16);color:#77746D;font-size:9.5px;line-height:1.6}
.terms-strip{margin-top:14px;padding:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--border);overflow:hidden}
.terms-strip p{min-width:0;padding:5px 17px;background:#FBFAF7}
.terms-strip strong,.terms-strip span{display:block}
.terms-strip strong{margin-bottom:5px;color:var(--text);font-size:11px;font-weight:850}
.terms-strip span{color:var(--text-2);font-size:9.5px;line-height:1.5}
.coin-planner{margin-top:clamp(54px,8vw,88px);display:grid;grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);border:1px solid rgba(158,107,8,.22);border-radius:30px;background:var(--card);box-shadow:var(--shadow-lift);overflow:hidden}
.coin-planner__controls{padding:clamp(28px,4.5vw,54px)}
.coin-planner__intro h3{max-width:560px;margin:7px 0 13px;font-family:var(--font-display);font-size:clamp(1.8rem,3.4vw,2.7rem);font-weight:600;line-height:1.04;letter-spacing:-.018em}
.coin-planner__intro>p:last-child{max-width:580px;color:var(--text-2);font-size:11px;line-height:1.65}
.schedule-control{margin:30px 0 0;padding:0;border:0}
.schedule-control legend,.planner-field label{margin-bottom:9px;color:var(--text);font-size:11px;font-weight:800}
.schedule-control__options{padding:4px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;border:1px solid var(--border);border-radius:var(--r-pill);background:#F5F3EE}
.schedule-control button{min-height:42px;padding:7px 10px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--text-2);font-size:10.5px;font-weight:800;cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease),box-shadow .25s var(--ease),transform .2s var(--ease)}
.schedule-control button:hover{color:var(--gold-ink)}
.schedule-control button[aria-checked="true"]{background:var(--card);color:var(--gold-ink);box-shadow:0 3px 12px rgba(45,38,24,.09)}
.schedule-control button:active{transform:scale(.98)}
.planner-field{margin-top:27px}
.planner-field__head{display:flex;align-items:baseline;justify-content:space-between;gap:20px}
.planner-field__head output{color:var(--gold-ink);font-size:20px;font-weight:850;font-variant-numeric:tabular-nums}
.planner-field--amount input[type="range"]{--fill:11.11%;width:100%;height:5px;margin:12px 0 3px;border-radius:999px;background:linear-gradient(90deg,var(--gold-ink) 0 var(--fill),#E7E2D7 var(--fill) 100%);outline:none;appearance:none;-webkit-appearance:none}
.planner-field--amount input[type="range"]::-webkit-slider-thumb{width:25px;height:25px;border:5px solid var(--card);border-radius:50%;background:var(--gold-ink);box-shadow:0 2px 10px rgba(45,38,24,.24);cursor:grab;appearance:none;-webkit-appearance:none}
.planner-field--amount input[type="range"]::-moz-range-thumb{width:16px;height:16px;border:5px solid var(--card);border-radius:50%;background:var(--gold-ink);box-shadow:0 2px 10px rgba(45,38,24,.24);cursor:grab}
.planner-field--amount input[type="range"]:focus-visible{outline:3px solid rgba(212,134,10,.34);outline-offset:8px}
.range-scale{display:flex;justify-content:space-between;color:#8A8E96;font-size:9px;font-weight:700}
.field-hint{margin-top:8px;color:#777D86;font-size:9.5px;line-height:1.55}
.currency-input{height:48px;display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--r-md);background:#FBFAF7;transition:border-color .2s,box-shadow .2s}
.currency-input:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,134,10,.12)}
.currency-input span{padding-left:16px;color:var(--text-2);font-size:13px;font-weight:800}
.currency-input input{width:100%;height:100%;padding:0 14px 0 5px;border:0;background:transparent;color:var(--text);font-size:15px;font-weight:800;outline:0;font-variant-numeric:tabular-nums}
.planner-basis{margin-top:26px;padding-top:16px;border-top:1px solid var(--border);color:#777D86;font-size:10px;line-height:1.6}

/* ── THE STACK ──
   The horizon total leads and the per-cycle figures support it, because a
   pile of 104 coins is the thing worth wanting and 2 is not. Metal only:
   coins and ounces, never a projected dollar value. */
.coin-planner__result{position:relative;min-width:0;padding:clamp(34px,5vw,56px);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(150deg,#2A2721 0%,#141613 100%);color:#fff;overflow:hidden}
.coin-planner__result::before{content:"";position:absolute;width:460px;height:460px;right:-190px;top:-210px;border-radius:50%;background:radial-gradient(circle,rgba(229,181,57,.22),transparent 68%)}
.stack__kicker{position:relative;color:#D8C995;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.stack__count{position:relative;margin:12px 0 9px;display:flex;align-items:flex-end;gap:13px}
.stack__count strong{font-family:'Manrope',system-ui,sans-serif;font-size:clamp(4.6rem,8.4vw,7.2rem);font-weight:800;line-height:.8;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.stack__count span{max-width:96px;padding-bottom:9px;color:#D7D4CC;font-size:13px;font-weight:750;line-height:1.25}
.stack__weight{position:relative;color:#F0D474;font-size:13px;font-weight:750;letter-spacing:.01em;font-variant-numeric:tabular-nums}

.coin-stack{position:relative;min-height:96px;margin:24px 0 4px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 0}
/* Real coin photography, drawn as a background so the one asset is decoded
   once and reused across every disc in the pile. */
.coin-stack__coin{position:relative;width:28px;height:28px;margin-right:-7px;background:url("silver-coin.png") center/contain no-repeat;filter:drop-shadow(0 3px 6px rgba(0,0,0,.55))}
.coin-stack__more{margin-left:19px;color:#C9C6BE;font-size:10.5px;font-weight:800;letter-spacing:.02em;font-variant-numeric:tabular-nums}
/* Coins settle rather than spring: metal has mass. */
.coin-stack__coin.is-arriving{animation:coinSettle .58s cubic-bezier(.16,.84,.28,1) backwards}
@keyframes coinSettle{
  from{opacity:0;transform:translateY(-15px) scale(.82)}
  to{opacity:1;transform:none}
}

.stack__facts{position:relative;margin:22px 0 0;padding:15px 0;display:flex;flex-wrap:wrap;gap:12px 34px;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.stack__facts dt{color:#A9A7A0;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.stack__facts dd{margin-top:4px;color:#fff;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}

.horizon-control{position:relative;margin-top:22px;padding:4px;display:inline-grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;border:1px solid rgba(255,255,255,.14);border-radius:var(--r-pill);background:rgba(255,255,255,.05)}
.horizon-control button{min-height:38px;padding:7px 17px;border:0;border-radius:var(--r-pill);background:transparent;color:#C4C1BA;font-size:10.5px;font-weight:800;cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease),transform .2s var(--ease)}
.horizon-control button:hover{color:#F3E4B2}
.horizon-control button[aria-checked="true"]{background:#F0D474;color:#2A2721}
.horizon-control button:active{transform:scale(.98)}
.horizon-control button:focus-visible{outline:3px solid rgba(240,212,116,.55);outline-offset:2px}
.pricing-disclosure{max-width:930px;margin:22px auto 0;color:#6E737C;font-size:9.5px;line-height:1.65;text-align:center}

@media (max-width:900px){
  .pricing-grid{grid-template-columns:1fr}.price-card__value{min-height:0}.terms-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.coin-planner{grid-template-columns:1fr}.stack__count strong{font-size:7.4rem}
}
@media (max-width:600px){
  .pricing__head{text-align:left}.pricing__head .lead{margin-left:0}.pricing-grid{margin-top:30px}.price-card{padding:21px}.terms-strip{padding:0;grid-template-columns:1fr}.terms-strip p{padding:16px 19px}.coin-planner{margin-top:50px;border-radius:var(--r-lg)}.coin-planner__controls{padding:25px 19px 30px}.schedule-control__options{grid-template-columns:1fr;border-radius:var(--r-md)}.schedule-control button{min-height:40px;border-radius:var(--r-sm)}.coin-planner__result{padding:34px 21px 30px}.stack__count strong{font-size:6.2rem}.stack__count span{max-width:74px;font-size:12px}.coin-stack{min-height:84px;margin-top:22px}.coin-stack__coin{width:24px;height:24px;margin-right:-7px}.coin-stack__more{margin:7px 0 0 13px}.horizon-control{display:grid;width:100%}.horizon-control button{padding:7px 10px}.pricing-disclosure{text-align:left}
}

/* Waitlist */
.join{min-height:760px;background:var(--gold-tint)}.join::before{display:none}.join__inner{display:flex;align-items:center}.join__content{position:relative;z-index:3;width:min(760px,64%)}.display--join{font-size:clamp(2.8rem,5.4vw,5.1rem)}.join__content .lead{max-width:700px}.join__coin{position:absolute;z-index:1;right:-4vw;top:50%;width:min(50vw,650px);transform:translateY(-50%);opacity:.2}.join__coin span{display:none}.join__coin img{width:100%;filter:none;animation:none!important}.join__action{width:min(520px,100%);margin-top:32px}.join__form{padding:20px;border:1px solid var(--border);border-radius:20px;background:var(--card);box-shadow:var(--shadow)}.join__form form-widget{display:block}.join__action>p{margin:13px 4px 0;color:var(--text-2);font-size:10px;line-height:1.6}

/* Footer and mobile action */
.footer{padding:40px var(--pad) 34px;background:var(--card);border-top:1px solid var(--border)}.footer__inner{max-width:var(--shell);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand--footer{font-size:14px}.footer p,.footer a{color:var(--text-2);font-size:10px;text-decoration:none}.footer nav{display:flex;gap:20px}.footer nav a:hover{color:var(--gold-ink)}.footer__disclosure{max-width:760px;margin:26px auto 0!important;text-align:center;line-height:1.65}.mobile-join{display:none}

@media (max-width:980px){
  .hero__inner{grid-template-columns:1fr;max-width:760px}.hero__copy{text-align:center}.hero__copy .lead{margin-left:auto;margin-right:auto}.loss-visual{margin-top:15px}
  .stage__frames{grid-template-columns:1fr;max-width:720px;margin-left:auto;margin-right:auto}
  .plan__inner,.mechanism__inner,.ownership__inner{grid-template-columns:1fr}.plan__copy,.mechanism__copy,.ownership__copy{text-align:center}.plan__copy .lead,.mechanism__copy .lead,.ownership__copy .lead,.fine{margin-left:auto;margin-right:auto}.money-split,.process-film,.risk-panel{width:min(100%,760px);margin-left:auto;margin-right:auto}.ownership-object{width:min(62vw,430px)}
  .join__content{width:72%}
}

@media (max-width:720px){
  .nav{padding:13px 18px}.nav__links{display:none}.nav__cta{margin-left:auto;padding:9px 13px;font-size:10px}.brand{font-size:13px}.brand__mark{width:30px;height:30px}
  .scene{padding:88px 18px}.display,.display--hero{font-size:clamp(2.75rem,13vw,4.4rem)}.lead{font-size:15px}
  .hero{padding-top:112px}.hero__actions{justify-content:center}.btn{min-height:50px;padding:0 20px;font-size:13px}.stage__sub{font-size:14px}.loss-visual{min-height:610px;padding:25px 16px 65px;grid-template-columns:1fr;grid-template-rows:1fr 40px 1fr}.loss-card{min-height:215px}.loss-card>strong{margin-top:24px}.loss-transfer{width:3px;height:100%;justify-self:center}.loss-transfer::after{content:"↓"}.loss-caption{left:18px;right:18px;bottom:20px}
  .evidence-film{padding:76px 16px}.stage__head{text-align:left;margin-bottom:24px}.stage__head h2{margin-left:0}.stage__frames{grid-template-columns:1fr;gap:16px}.beat{min-height:0;padding:18px;gap:10px}.beat__visual{height:140px!important;min-height:140px}.beat__ref{padding-top:11px}.evnotes{padding:16px 15px}.beat--close{grid-column:auto}.beat--close .beat__visual{height:82px!important;min-height:82px}.beat__figure b{font-size:clamp(2.8rem,14vw,4rem)}.beat__figure--words b{font-size:clamp(2rem,10vw,2.8rem)}.evidence-context-note{text-align:left}
  .gap-grid{grid-template-columns:1fr}.gap__head{margin-bottom:30px;text-align:left}.gap__head .lead{margin-left:0}.chart,.gap-shortfall,.gap-bars-panel{padding:22px 16px}.chart__head{display:block}.chart__unit{margin-top:7px}.chart-results{grid-template-columns:1fr;gap:9px}.chart-result{padding:15px}.chart__takeaway{padding:14px;font-size:13px}.gap-bar{grid-template-columns:74px 1fr 62px;gap:10px}.gap-bar__label{font-size:12px}.gap-bar__val{font-size:13px}
  .phone{width:100%;padding:10px 12px 16px;border-radius:32px}.phone__screen{height:334px}.cinema__tap{width:100%}.risk-panel__advice{padding-left:0}
  .doors__grid{grid-template-columns:1fr}.door{padding:22px 18px}.strip li{flex:1 1 100%}
  .money-split{grid-template-columns:1fr}.money-job{min-height:220px}.proof-table-card{margin-top:28px;padding:14px}.proof-table-card__label{margin-bottom:10px}.vtable{min-width:680px}.vtable th,.vtable td{padding:9px 10px}.ownership-object{width:min(85vw,380px)}
  .join{min-height:850px}.join__content{width:100%;text-align:center}.join__action{margin-left:auto;margin-right:auto;text-align:left}.join__coin{right:-45vw;width:105vw;opacity:.09}.join__form{padding:14px}
  .footer{padding-bottom:102px}.footer__inner{display:grid;justify-items:center;text-align:center}
  .mobile-join{position:fixed;z-index:90;left:10px;right:10px;bottom:10px;padding:9px 9px 9px 16px;display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 12px 30px rgba(45,38,24,.12);opacity:0;transform:translateY(16px);pointer-events:none;transition:.35s var(--ease)}.mobile-join.is-on{opacity:1;transform:none;pointer-events:auto}.mobile-join span{flex:1;color:var(--text-2);font-size:10.5px;font-weight:650}.mobile-join span b{color:var(--loss);font-weight:800}.mobile-join a{padding:10px 14px;border-radius:999px;background:var(--gold-ink);color:#fff;font-size:10px;font-weight:800;text-decoration:none}
}

@media (hover:none){.cursor-light{display:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal,.mask>span{opacity:1;transform:none}}
@supports (overflow-x:clip){body{overflow-x:clip}}
@media print{.nav,.scroll-line,.mobile-join{display:none!important}.scene,.evidence-film{padding:35px;background:#fff!important}.reveal,.mask>span{opacity:1;transform:none}.loss-visual,.process-film,.proof-window,.ownership-object,.join__coin{display:none}}

/* ═══════════════════════════════════════════════════════════════════════
   CRAFT PASS
   Appended last so it overrides earlier one-off values by cascade order,
   which keeps the change reversible: delete this block to revert.

   Audit that motivated it: 16 distinct border-radius values, 6 distinct
   shadows, 22 unrelated font sizes, and Newsreader loaded but never used.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── 1. TYPE: editorial serif for display, sans for interface ──
   High-contrast serif reads as a statement of fact, which is what a money
   figure should feel like. Interface, labels and data stay in Manrope. */
.display,.display--hero,.display--join,
.stage__head h2,#choiceTitle,#cashProofTitle,#gapTitle,.proof__title,
.chart h3,.beat__line,.beat__line--close{
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:-.018em;
}
.display,.display--hero,.display--join{line-height:1.04}
/* The serif's own proportions carry the weight, so the old tight tracking
   made for a geometric sans is dialled back. */
.display--hero{letter-spacing:-.02em}
.stage__head h2{letter-spacing:-.022em;font-weight:600}
.beat__line{font-size:clamp(1.15rem,1.9vw,1.45rem);font-weight:600;letter-spacing:-.01em}
.chart h3{font-size:clamp(1rem,1.6vw,1.2rem);font-weight:600;letter-spacing:-.01em}
.proof__title{font-weight:600}

/* Money figures in the serif, with lining tabular numerals so columns line up. */
/* Newsreader ships old-style figures, where 3 4 7 9 drop below the baseline.
   Charming in body text, wrong on a headline money figure, so lining and
   tabular figures are forced through font-feature-settings as well as the
   font-variant shorthand, since the shorthand alone does not win here. */
/* Newsreader's Google build ships old-style figures and does not expose a
   lining set, so 4 and 2 sit below the baseline. Acceptable in running text,
   but at headline size on a money figure it reads as a rendering fault. So
   figures stay in the geometric sans: serif for words, sans for numbers. */
#lossAmount,.beat__figure b,.gap-shortfall__figure b,.door__figure,
.shrink__gap strong,.founding__count b,.hero__physical b{
  font-family:'Manrope',system-ui,sans-serif;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.045em;
}

/* Micro-labels get the sans back, plus real letterspacing for the editorial feel. */
.eyebrow,.scene-index,.founding__perk-val,.door__tag,.shrink__tag,
.phone__rail>span,.cs__kicker{font-family:'Manrope',system-ui,sans-serif}
.eyebrow{letter-spacing:.14em}

/* Any serif figure elsewhere on the page follows the same rule. */
/* Data keeps the sans everywhere for the same reason. */
.chart svg text,.strip li b,.cs__amount,.gap-bar__val,.gap-ladder li b,
.shrink__bar em,.founding__joined{font-family:'Manrope',system-ui,sans-serif}

/* ── 2. Kill the Arial leak: controls must inherit the brand font ── */
input,button,select,textarea{font-family:inherit}

/* Four presets should sit on one line rather than wrapping a lone chip. */
.amt{min-height:44px;padding:0 15px;font-size:14px}
.hero__amounts{gap:7px}

/* ── 3. RADII: collapse sixteen values to three plus the pill ── */
.beat,.chart,.gap-bars-panel,.gap-shortfall,.door,.shrink,.money-job,
.process-frame,.proof-window,.founding,.evidence-film .stage{border-radius:var(--r-lg)}
.beat__visual,.beat__source,.gap-tag,.strip li,.cs__price,.cs__metal,
.founding__perk-val,.hero__method,.loss-card,.phone__rail{border-radius:var(--r-md)}
.gap-bar__track,.gap-bar__fill,.shrink__bar,.founding__track,
.founding__track b,.beat__tag{border-radius:var(--r-sm)}
.btn,.amt,.chip,.gap-legend__item,.beat__support span,
.doors__cta,.cinema__tap,.nav__cta,.mobile-join,.mobile-join a{border-radius:var(--r-pill)}

/* ── 4. ELEVATION: flat by default, one lift for the two focal cards ── */
.beat,.chart,.gap-bars-panel,.gap-shortfall,.door,.money-job{box-shadow:none}
.shrink,.founding{box-shadow:var(--shadow-soft)}
.beat:hover{box-shadow:var(--shadow-soft)}
.phone{box-shadow:0 0 0 1px rgba(212,134,10,.16),var(--shadow-lift)}

/* ── 5. Gold hairlines: the cheapest editorial signal there is ──
   A 1px rule in brand gold between sections replaces hard background jumps. */
main>section+section{border-top:1px solid var(--hair)}
.stage__head,.gap__head,.doors__inner>.display{position:relative}
.stage__head::after,.gap__head::after{content:"";display:block;width:54px;height:2px;margin:22px auto 0;border-radius:2px;background:linear-gradient(90deg,var(--gold),var(--gold-accent))}
.gap__head::after{margin-left:auto;margin-right:auto}

/* ── 6. Let the display layer breathe ── */
.hero__physical{font-family:var(--font-display);font-weight:500;font-size:clamp(18px,2vw,23px);letter-spacing:-.01em}
.hero__physical b{font-weight:700}
.doors__inner .display{margin-bottom:6px}
.door__line{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}

@media (max-width:720px){
  .stage__head::after,.gap__head::after{margin-left:0;margin-right:auto}
}

/* Final token tidy: the stragglers that were not on the scale. The remaining
   off-scale radii are deliberate object shapes, not card styling: 50% for
   circles, 38px for the phone shell, and the notch. */
.phone__screen{border-radius:var(--r-md)}
.proof-coin{border-radius:var(--r-lg)}
.loss-caption>i,.loss-caption b,.balance-line i{border-radius:var(--r-pill)}
.proof-window{box-shadow:var(--shadow-soft)}


/* ═══════════════════════════════════════════════════════════════════════
   THE GOLD RULE
   A milled gold ruler across the top of the page. Three zones, three
   segments each, so the shape of the page is read before a word is. Each
   segment is poured with metal as its section is read: highlight on top,
   shadow underneath, and a single specular sweep when it completes.
   Full presence over the hero, then it condenses into a quiet instrument.
   ═══════════════════════════════════════════════════════════════════════ */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* The rule is the page's only progress indicator. */
.scroll-line{display:none!important}

.nav{padding:16px var(--pad) 0}
.nav.is-stuck{padding-top:11px}
.nav__cta{margin-left:auto}

.jrule{position:relative;max-width:var(--shell);margin:15px auto 0;padding:13px 0 18px;border-top:1px solid rgba(158,107,8,.14);transition:margin .45s var(--ease),padding .45s var(--ease)}
.jrule__zones{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.6vw,34px)}

/* The number opens the chapter; the words are indented clear of the widest
   numeral so no zone ever crowds. */
.jzone{position:relative;min-width:0;padding:3px 0 0 72px}
.jzone__ghost{position:absolute;z-index:0;left:0;top:0;font-family:var(--font-display);font-size:44px;font-weight:600;line-height:.86;letter-spacing:-.035em;color:rgba(158,107,8,.19);font-variant-numeric:lining-nums tabular-nums;transition:color .5s var(--ease),transform .6s cubic-bezier(.19,1,.28,1)}
.jzone.is-past .jzone__ghost{color:rgba(158,107,8,.3)}
.jzone.is-active .jzone__ghost{color:var(--gold-ink)}

.jzone__head{position:relative;z-index:1;display:flex;align-items:baseline;gap:11px;min-height:22px}
.jzone__name{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.012em;color:#9AA0A9;white-space:nowrap;transition:color .5s var(--ease)}
.jzone.is-past .jzone__name{color:#8A7538}
.jzone.is-active .jzone__name{color:var(--text)}
/* The label keeps its line whether or not it has text, so the band always
   holds a clean rectangle. */
.jzone__label{min-width:0;overflow:hidden;color:var(--gold-ink);font-size:11px;font-weight:750;letter-spacing:.015em;white-space:nowrap;text-overflow:ellipsis;opacity:0;transform:translateY(2px);transition:opacity .45s var(--ease),transform .55s cubic-bezier(.19,1,.28,1)}
.jzone.is-active .jzone__label{opacity:1;transform:none}

/* Three segments span the zone, so each chapter owns a third of the rule. */
.jzone__bar{position:relative;z-index:1;margin-top:11px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.jseg{display:block;padding:7px 0 0;text-decoration:none}
/* An empty channel, recessed into the page and waiting to be poured. */
.jseg i{position:relative;display:block;height:7px;border-radius:3.5px;background:linear-gradient(180deg,rgba(140,96,10,.19),rgba(140,96,10,.1));box-shadow:inset 0 1px 2px rgba(120,82,8,.2),inset 0 -1px 0 rgba(255,255,255,.85);overflow:hidden;transition:height .45s var(--ease),box-shadow .45s var(--ease)}
.jseg:hover i{box-shadow:inset 0 1px 2px rgba(120,82,8,.2),0 0 0 1px rgba(200,136,12,.5)}
/* Poured metal: lit from above, warm in the body, dark at the base. */
.jseg i b{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:3px;background:
  linear-gradient(180deg,#FBDF9A 0%,#EFBB45 26%,#D79A17 55%,#B0790B 82%,#946408 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -1px 0 rgba(90,60,4,.3),0 1px 5px rgba(176,121,11,.34);transition:width .6s cubic-bezier(.19,1,.28,1)}
/* The milling continues across the poured metal. */
.jseg i b::before{content:"";position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(90deg,rgba(120,80,6,.11) 0 .5px,transparent .5px 4px)}
/* One specular sweep the moment a segment completes. */
.jseg i b::after{content:"";position:absolute;top:0;bottom:0;left:0;width:42%;border-radius:inherit;background:linear-gradient(105deg,transparent 20%,rgba(255,248,225,.85) 50%,transparent 80%);opacity:0;transform:translateX(-140%)}
.jseg.is-just-filled i b::after{animation:jsegSheen .95s cubic-bezier(.3,.9,.3,1) both}
@keyframes jsegSheen{0%{opacity:0;transform:translateX(-140%)}18%{opacity:1}100%{opacity:0;transform:translateX(320%)}}
.jseg.is-past i b{width:100%}
.jseg.is-active i{height:9px}
.jseg.is-active i b{box-shadow:inset 0 1px 0 rgba(255,255,255,.8),inset 0 -1px 0 rgba(90,60,4,.32),0 2px 9px rgba(216,154,22,.45)}

/* Crossing into a chapter is acknowledged once, quietly. */
.jzone.is-entered .jzone__ghost{animation:jzonePulse 1.1s cubic-bezier(.22,1,.32,1) both}
@keyframes jzonePulse{0%{transform:translateY(3px) scale(.985)}55%{transform:none}100%{transform:none}}

/* Once the reader is past the hero the rule steps back. */
.jrule.is-condensed{margin-top:9px;padding:9px 0 11px}
.jrule.is-condensed .jzone{padding:0 0 0 34px}
.jrule.is-condensed .jzone__ghost{font-size:22px;top:-2px;color:rgba(158,107,8,.28)}
.jrule.is-condensed .jzone.is-active .jzone__ghost{color:var(--gold-ink)}
.jrule.is-condensed .jzone__head{min-height:0}
.jrule.is-condensed .jzone__name{font-family:'Manrope',system-ui,sans-serif;font-size:11px;font-weight:750;letter-spacing:.01em}
.jrule.is-condensed .jzone__label{font-size:10px}
.jrule.is-condensed .jzone__bar{margin-top:7px}
.jrule.is-condensed .jseg i{height:5px}
.jrule.is-condensed .jseg.is-active i{height:6px}

#hero,#food-prices,#cash-proof,#how,#proof,#ownership,#waitlist-intro,#founding,#waitlist-form{scroll-margin-top:132px}
/* Jumping from a card pointer must clear the fixed nav and the gold rule. */
.evnotes__list li{scroll-margin-top:140px}
.hero{padding-top:236px}

@media (max-width:980px){
  .jzone{padding-left:56px}
  .jzone__ghost{font-size:36px}
  .jzone__name{font-size:14px}
  .jzone__label{display:none}
  .hero{padding-top:214px}
}

@media (max-width:720px){
  .nav{padding:11px 16px 0}
  .nav.is-stuck{padding-top:9px}
  .jrule{margin-top:11px;padding-bottom:12px}
  .jrule__zones{gap:9px}
  .jzone{padding:0 0 0 27px}
  .jzone__ghost{font-size:21px;top:0;left:0}
  .jzone__head{min-height:15px}
  .jzone__name{font-size:11px}
  .jzone__bar{margin-top:7px;gap:4px}
  .jseg{padding-top:6px}
  .jseg i{height:5px;border-radius:2.5px}
  .jseg.is-active i{height:6px}
  .jrule.is-condensed .jseg i{height:3.5px}
  #hero,#food-prices,#cash-proof,#how,#proof,#ownership,#waitlist-intro,#founding,#waitlist-form{scroll-margin-top:108px}
  /* Nav plus the gold rule measures 121px on mobile, so the note must clear it. */
  .evnotes__list li{scroll-margin-top:134px}
  .hero{padding-top:168px}
}

@media (prefers-reduced-motion:reduce){
  .jseg i,.jseg i b,.jzone__ghost,.jzone__label,.jzone__name,.jrule{transition:none!important}
  .jseg.is-just-filled i b::after,.jzone.is-entered .jzone__ghost{animation:none!important}
}

@media print{.jrule{display:none!important}}

/* ═══════════════════════════════════════════════════════════════════════
   MOBILE READING PASS — SECTION 01
   The three subsection headings (1.1 hero, 1.2 evidence, 1.3 the decade)
   were set with clamp() floors chosen for desktop: 3.2rem, 2.5rem and
   2.6rem. Below roughly 530px viewport the vw term stops winning, so
   every heading landed on its floor and a 390px phone rendered the same
   type size as a 700px tablet. That is what made section 01 tall and
   uncomfortable to read on a phone.

   Fix, in two parts:
   1. Recalibrate the floors so the headings actually scale down, and
      raise the vw term so they climb back to the existing desktop sizes
      by the time the breakpoint ends. The caps match the old floors, so
      nothing changes at 720px and above.
   2. Reclaim the vertical rhythm around those headings. The savings are
      small per rule but section 01 has three subsections, so it compounds.

   Appended last so it wins by cascade order: delete this block to revert.
   ═══════════════════════════════════════════════════════════════════════ */
@media (max-width:720px){
  /* 1.1 — the hero carries a two-line heading above a large number. */
  /* Cap is 54px, which is exactly what the desktop rule's 7.5vw resolves to
     at 720px, so the size is continuous across the breakpoint. */
  .hero__copy .display--hero{font-size:clamp(2.05rem,9.5vw,3.375rem)}

  /* 1.2 — the longest heading on the page, so it gains the most here. */
  .stage__head h2{font-size:clamp(1.75rem,7.4vw,2.5rem)}

  /* 1.3 — kept a touch above 1.2 to preserve the existing hierarchy. */
  .gap__head .display{font-size:clamp(1.8rem,7.6vw,2.6rem)}

  /* Vertical rhythm: section padding, head margins and the gold divider.
     Scoped to section 01 only. The hero's top padding is left alone because
     it is reserved clearance for the fixed nav and the gold rule above it. */
  .hero{padding-bottom:62px}
  .evidence-film{padding:58px 16px}
  .gap{padding-top:62px;padding-bottom:62px}
  .stage__head{margin-bottom:18px}
  .gap__head{margin-bottom:20px}
  .stage__head::after,.gap__head::after{margin-top:14px}
}

/* ═══════════════════════════════════════════════════════════════════════
   SOLUTION 2.1 — THE BRIDGE
   A deliberately quiet three-beat transition between the evidence in
   chapter 01 and the automatic process in 2.2. There is no card, diagram or
   control here: the copy is the object, which keeps the handoff clean.
   ═══════════════════════════════════════════════════════════════════════ */
.solution-intro{min-height:clamp(500px,68vh,720px);display:grid;align-items:center;background:linear-gradient(180deg,var(--card),#FBFAF7)}
.solution-intro__inner{max-width:980px;text-align:center}
.solution-intro__fact{margin:0;color:var(--gold-ink);font-family:'Manrope',system-ui,sans-serif;font-size:clamp(.72rem,1.1vw,.88rem);font-weight:800;line-height:1.45;letter-spacing:.14em}
.solution-intro__action{max-width:22ch;margin:28px auto 0;color:var(--text);font-family:var(--font-display);font-size:clamp(2.5rem,5.2vw,4.8rem);font-weight:600;line-height:1.06;letter-spacing:-.022em;text-wrap:balance}
.solution-intro__steps{max-width:900px;margin:30px auto 0;padding:24px 0 0;border-top:1px solid var(--hair);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none;counter-reset:solution-steps;text-align:left}
.solution-intro__steps li{min-width:0;padding:2px 22px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:11px;color:var(--text-2);font-size:clamp(.92rem,1.2vw,1.06rem);font-weight:700;line-height:1.55;counter-increment:solution-steps}
.solution-intro__steps li::before{content:counter(solution-steps);width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--hair);border-radius:50%;background:var(--gold-tint);color:var(--gold-ink);font-family:'Manrope',system-ui,sans-serif;font-size:.78rem;font-weight:800;line-height:1}
.solution-intro__steps li+li{border-left:1px solid var(--border)}
#solution-intro{scroll-margin-top:132px}

@media (max-width:720px){
  .solution-intro{min-height:0;padding:72px 18px}
  .solution-intro__fact{max-width:30ch;margin-left:auto;margin-right:auto;font-size:.7rem;letter-spacing:.11em}
  .solution-intro__action{margin-top:22px;font-size:clamp(2rem,9.4vw,2.65rem);line-height:1.08}
  .solution-intro__steps{max-width:350px;margin-top:24px;padding-top:20px;grid-template-columns:1fr;gap:0}
  .solution-intro__steps li{padding:12px 0;grid-template-columns:32px minmax(0,1fr);gap:11px;font-size:.95rem;line-height:1.5}
  .solution-intro__steps li::before{width:30px;height:30px}
  .solution-intro__steps li+li{border-left:0;border-top:1px solid var(--border)}
  #solution-intro{scroll-margin-top:108px}
}

/* Solution 2.1 material cues. Each color remains dark enough to carry the
   large display text on both white and the warm #FBFAF7 section surface. */
.solution-intro__gold{color:var(--gold-ink)}
.solution-intro__silver{color:#66717D;text-shadow:0 1px 0 rgba(255,255,255,.9),0 -1px 0 rgba(72,78,86,.16)}
.solution-intro__habit{color:#287A5B}

/* ═══════════════════════════════════════════════════════════════════════
   ONE PAYDAY FILM — the beats the rewrite added.
   Real coin photography replaces the old CSS discs, because the product
   is a physical object and a gradient never sold one.
   ═══════════════════════════════════════════════════════════════════════ */
.cs__real-coins{display:flex;align-items:center;justify-content:center;gap:0;margin:6px 0 18px}
/* The asset is already a transparent cut-out, so the coin is drawn whole:
   no circular clip and no upscaling, both of which shaved the rim. */
.cs__real-coin{width:clamp(74px,20vw,104px);margin-right:-16px;filter:drop-shadow(0 12px 20px rgba(0,0,0,.5))}
.cs__real-coin:last-child{margin-right:0}
.cs__real-coin img{display:block;width:100%;height:auto}
.cs__real-coin[data-pop]{opacity:0;transform:translateY(-22px) scale(.86) rotate(-7deg)}
.cs__real-coin[data-pop].is-on{opacity:1;transform:none;transition:opacity .5s var(--ease),transform .72s cubic-bezier(.16,.86,.26,1)}

.cs__returned{margin-top:11px;color:#CFCCC4;font-size:12.5px;font-weight:650;line-height:1.5}
.cs__returned span{color:#7FD8A8;font-weight:850}

.cs__payoff{display:flex;align-items:center;justify-content:center;gap:14px;margin:4px 0 14px}
.cs__payoff b{font-family:'Manrope',system-ui,sans-serif;font-size:clamp(3.6rem,15vw,5.2rem);font-weight:800;line-height:.8;letter-spacing:-.06em;color:#fff;font-variant-numeric:tabular-nums}
.cs__payoff span{text-align:left;color:#E3D9B4;font-size:12.5px;font-weight:750;line-height:1.3}

@media (prefers-reduced-motion:reduce){
  .cs__real-coin[data-pop]{opacity:1;transform:none}
}

/* ── TAP HINT ──
   The film waits for the visitor, so something has to ask. A drawn hand
   taps the glass on a slow loop with a ripple under the fingertip. */
.cs--idle{cursor:pointer}
.cs__hint{position:absolute;left:50%;bottom:26%;width:42px;height:52px;transform:translateX(-50%);pointer-events:none}
.cs__hint-ripple{position:absolute;left:50%;top:5px;width:15px;height:15px;margin-left:-7.5px;border-radius:50%;border:2px solid rgba(240,212,116,.85);opacity:0;animation:hintRipple 2.4s ease-out infinite}
.cs__hint-hand{position:absolute;inset:0;width:100%;height:100%;animation:hintTap 2.4s cubic-bezier(.36,.66,.28,1) infinite}
.cs__hint-finger{fill:#F6F4EE}
.cs__hint-palm,.cs__hint-thumb{fill:#E6E2D6}
.cs__hint-hand{filter:drop-shadow(0 6px 12px rgba(0,0,0,.55))}

@keyframes hintTap{
  0%,100%{transform:translateY(0) scale(1)}
  38%{transform:translateY(9px) scale(.95)}
  56%{transform:translateY(0) scale(1)}
}
@keyframes hintRipple{
  0%{opacity:0;transform:scale(.4)}
  34%{opacity:.9;transform:scale(1)}
  70%{opacity:0;transform:scale(2.5)}
  100%{opacity:0;transform:scale(2.5)}
}
@media (prefers-reduced-motion:reduce){
  .cs__hint-hand,.cs__hint-ripple{animation:none}
  .cs__hint-ripple{opacity:.8}
}

/* ── OWNERSHIP RECORD ──
   The proof beat. A card with the coin, its weight and purity, and a name,
   then a stamp that presses down and settles. Ownership is paperwork you
   can see, so the beat shows paperwork instead of a glowing vault. */
.cs--vault .cs__vault,.cs--vault .cs__checks{display:none}
.cs__deed{position:relative;width:min(100%,286px);margin:14px auto 0;padding:13px 14px 11px;border:1px solid rgba(240,212,116,.3);border-radius:13px;background:linear-gradient(158deg,rgba(255,252,240,.1),rgba(255,255,255,.03) 46%,rgba(0,0,0,.14));box-shadow:0 14px 28px rgba(0,0,0,.45),0 1px 0 rgba(255,255,255,.08) inset;text-align:left;overflow:hidden}
/* A faint guilloche wash, the way a certificate carries one. */
.cs__deed::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(240,212,116,.07) 0 1px,transparent 1px 7px);pointer-events:none}

.cs__deed-head{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.13)}
.cs__deed-head b{color:#F3E4B2;font-size:9px;font-weight:900;letter-spacing:.16em}
.cs__deed-head i{color:#94918A;font-size:7.5px;font-style:normal;font-weight:800;letter-spacing:.12em}

.cs__deed-body{position:relative;display:flex;align-items:center;gap:12px;padding:12px 0 11px}
.cs__deed-coin{flex:0 0 46px;width:46px;filter:drop-shadow(0 5px 10px rgba(0,0,0,.55))}
.cs__deed-coin img{display:block;width:100%;height:auto}
.cs__deed-lines{display:flex;flex-direction:column;gap:3px;min-width:0}
.cs__deed-lines>b{color:#fff;font-size:12.5px;font-weight:800;letter-spacing:-.005em}
.cs__deed-lines>i{color:#B4B1A9;font-size:9.5px;font-style:normal;font-weight:650}
.cs__deed-lines>em{margin-top:3px;color:#CFCCC4;font-size:9.5px;font-style:normal;font-weight:650}
.cs__deed-lines>em b{color:#F0D474;font-weight:850;letter-spacing:.04em}

.cs__deed-foot{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.1)}
.cs__deed-foot i{color:#8E8B84;font-size:7.5px;font-style:normal;font-weight:750;letter-spacing:.07em;text-transform:uppercase}

/* The stamp is the ownership moment, so it is the last thing to land. */
.cs__deed-stamp{position:absolute;right:-7px;bottom:7px;padding:4px 10px;border:2px solid rgba(240,212,116,.7);border-radius:5px;color:#F0D474;font-size:9.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;transform:rotate(-12deg) scale(1.55);opacity:0;text-shadow:0 1px 0 rgba(0,0,0,.4)}
.cs__deed-stamp.is-on{animation:deedStamp .46s cubic-bezier(.2,1.06,.32,1) forwards}
@keyframes deedStamp{
  0%{opacity:0;transform:rotate(-26deg) scale(1.55)}
  62%{opacity:1;transform:rotate(-11deg) scale(.96)}
  100%{opacity:1;transform:rotate(-12deg) scale(1)}
}
@media (prefers-reduced-motion:reduce){
  .cs__deed-stamp{opacity:1;transform:rotate(-12deg) scale(1)}
  .cs__deed-stamp.is-on{animation:none}
}

/* ── SOLUTION INTRO: the vault sits beside the instruction ──
   The section was a centred block of type. With the vault on the left the
   copy moves to a left-aligned column, and the three steps stack so they
   are not squeezed into three narrow columns beside the art. */
.solution-intro__inner{max-width:1180px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(30px,5vw,72px);align-items:center;text-align:left}
.solution-intro__art{min-width:0}
.solution-intro__art img{display:block;width:100%;height:auto;filter:drop-shadow(0 28px 48px rgba(45,38,24,.26))}
.solution-intro__copy{min-width:0}
.solution-intro__fact{margin-left:0;margin-right:0}
.solution-intro__action{max-width:20ch;margin-left:0;margin-right:0}
.solution-intro__steps{max-width:none;margin-left:0;margin-right:0;grid-template-columns:1fr}
.solution-intro__steps li{padding:11px 0}
.solution-intro__steps li+li{border-left:0;border-top:1px solid var(--border)}

@media (max-width:900px){
  .solution-intro__inner{grid-template-columns:1fr;gap:26px;text-align:center}
  .solution-intro__art{width:min(330px,74%);margin:0 auto}
  .solution-intro__fact,.solution-intro__action{margin-left:auto;margin-right:auto}
  .solution-intro__steps{max-width:360px;margin-left:auto;margin-right:auto}
}
