
  :root{
    /* --- your existing tokens --- */
    --navy:#0A1A33;
    --navy-2:#0f2544;
    --navy-3:#16304f;
    --ink:#16223a;
    --ink-mute:#5a6b82;
    --paper:#F6F3EC;
    --paper-2:#efeadf;
    --gold:#C6A15B;
    --gold-soft:#d8bd86;
    --on-dark:#E9EEF6;
    --on-dark-mute:#9db0c9;
    --line:rgba(198,161,91,0.30);
    --line-soft:rgba(233,238,246,0.09);

    --f-display:"Fraunces",Georgia,serif;
    --f-body:"Inter",system-ui,-apple-system,sans-serif;
    --f-mono:"JetBrains Mono",monospace;
    --maxw:1160px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{background:var(--navy);color:var(--on-dark);font-family:var(--f-body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  ::selection{background:var(--gold);color:var(--navy)}
  a:focus-visible,button:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px;border-radius:2px}
  .wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 28px}
  .eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:22px}
  .eyebrow::before{content:"";width:24px;height:1px;background:var(--gold)}

  /* header */
  header{position:sticky;top:0;z-index:50;background:rgba(10,26,51,0.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:72px}
  .brand{font-family:var(--f-display);font-weight:600;font-size:1.34rem;letter-spacing:0.02em}
  .brand .g{color:var(--gold)}
  .nav-links{display:flex;gap:32px;align-items:center}
  .nav-links a{font-size:0.9rem;color:var(--on-dark-mute);font-weight:500;transition:color .2s}
  .nav-links a:hover{color:var(--on-dark)}
  .nav-cta{font-size:0.9rem;font-weight:500;color:var(--navy);background:var(--gold);padding:9px 18px;border-radius:6px;transition:background .2s}
  .nav-cta:hover{background:var(--gold-soft)}
  .menu-btn{display:none;background:none;border:0;color:var(--on-dark);cursor:pointer}

  /* hero */
  .hero{padding:84px 0 40px}
  .hero h1{font-family:var(--f-display);font-weight:500;font-size:clamp(2.4rem,5.2vw,4.1rem);line-height:1.05;letter-spacing:-0.01em;max-width:17ch}
  .hero h1 em{font-style:italic;color:var(--gold-soft)}
  .hero .sub{margin-top:22px;font-size:clamp(1.02rem,1.6vw,1.2rem);color:var(--on-dark-mute);max-width:58ch}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
  .btn-primary{background:var(--gold);color:var(--navy);font-weight:600;font-size:0.95rem;padding:13px 24px;border-radius:8px;transition:background .2s,transform .2s}
  .btn-primary:hover{background:var(--gold-soft)}
  .btn-ghost{border:1px solid var(--line);color:var(--on-dark);font-weight:500;font-size:0.95rem;padding:13px 24px;border-radius:8px;transition:background .2s}
  .btn-ghost:hover{background:var(--navy-2)}
  .hero-meta{margin-top:30px;font-size:0.86rem;color:var(--on-dark-mute);display:flex;gap:8px;align-items:center;font-family:var(--f-mono);letter-spacing:.03em}
  .pulse{width:8px;height:8px;border-radius:50%;background:#57c98a;box-shadow:0 0 0 0 rgba(87,201,138,.6);animation:pulse 2.2s infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(87,201,138,.5)}70%{box-shadow:0 0 0 8px rgba(87,201,138,0)}100%{box-shadow:0 0 0 0 rgba(87,201,138,0)}}

  /* three doors */
  .doors{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:64px 0 0}
  .door{position:relative;padding:34px 28px 30px;border:1px solid var(--line-soft);border-radius:15px;background:var(--navy-2);display:flex;flex-direction:column;overflow:hidden;transition:transform .32s cubic-bezier(.2,.8,.2,1),border-color .32s,box-shadow .32s}
  .door::before{content:"";position:absolute;width:340px;height:340px;left:var(--mx,50%);top:var(--my,50%);transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(198,161,91,.16),transparent 66%);opacity:0;transition:opacity .35s}
  .door::after{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:translateX(-100%);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
  .door:hover,.door:focus-within{transform:translateY(-6px);border-color:var(--line);box-shadow:0 26px 48px -30px rgba(0,0,0,.85)}
  .door:hover::before,.door:focus-within::before{opacity:1}
  .door:hover::after,.door:focus-within::after{transform:translateX(100%)}
  .door-badge{width:46px;height:46px;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;color:var(--gold);margin-bottom:18px;background:rgba(198,161,91,.07);transition:background .3s,color .3s,transform .3s}
  .door:hover .door-badge{background:var(--gold);color:var(--navy);transform:rotate(-6deg) scale(1.06)}
  .door .kicker{font-family:var(--f-mono);font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--on-dark-mute);margin-bottom:7px}
  .door h3{font-family:var(--f-display);font-weight:600;font-size:1.5rem;margin-bottom:12px}
  .door .lead{font-size:0.93rem;color:var(--on-dark-mute);margin-bottom:20px}
  .door ul{list-style:none;margin-bottom:26px}
  .door li{font-size:0.86rem;padding:8px 0 8px 21px;position:relative;border-top:1px solid var(--line-soft)}
  .door li:first-child{border-top:0}
  .door li::before{content:"";position:absolute;left:0;top:15px;width:6px;height:6px;border-radius:50%;background:var(--gold)}
  .door .go{margin-top:auto;display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:0.91rem;color:var(--gold-soft)}
  .door .go svg{transition:transform .28s cubic-bezier(.2,.8,.2,1)}
  .door:hover .go svg{transform:translateX(6px)}
  .door-link{position:absolute;inset:0;z-index:2}

  /* ============ STATS ============ */
  .stats{margin-top:58px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(135deg,var(--navy-2),var(--navy));display:grid;grid-template-columns:repeat(5,1fr);overflow:hidden}
  .stat{padding:26px 20px;border-right:1px solid var(--line-soft);text-align:center}
  .stat:last-child{border-right:0}
  .stat b{display:block;font-family:var(--f-display);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:600;color:var(--gold);line-height:1}
  .stat span{display:block;margin-top:8px;font-size:.8rem;color:var(--on-dark-mute);line-height:1.35}

  /* ============ SOCIALS ============ */
  .socials{display:flex;gap:10px;margin-top:20px}
  .socials a{width:38px;height:38px;border:1px solid var(--line-soft);border-radius:9px;display:grid;place-items:center;color:var(--on-dark-mute);transition:color .2s,border-color .2s,background .2s,transform .2s}
  .socials a:hover{color:var(--navy);background:var(--gold);border-color:var(--gold);transform:translateY(-2px)}
  .socials svg{width:17px;height:17px;fill:currentColor}

  .rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
  .rv.in{opacity:1;transform:none}

  /* trusted (consent-safe) */
  .trusted{margin-top:56px;padding:28px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
  .trusted p{font-family:var(--f-mono);font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--on-dark-mute);text-align:center}
  .trusted .sectors{display:flex;gap:14px 34px;justify-content:center;flex-wrap:wrap;margin-top:16px}
  .trusted .sectors span{font-family:var(--f-display);font-size:1.05rem;color:var(--paper);opacity:.85}

  /* meaning (F-T-A-L-K) — kept from your build */
  .meaning{padding:88px 0 60px}
  .meaning .head{text-align:center;margin-bottom:44px}
  .meaning h3{font-family:var(--f-display);font-weight:500;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.1}
  .meaning .head p{color:var(--on-dark-mute);margin-top:12px}
  .acrowrap{position:relative;z-index:2;margin-top:46px;text-align:center}
  .letters{display:flex;justify-content:center;align-items:stretch;gap:12px;flex-wrap:wrap}
  .letter{cursor:default;padding:16px 20px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.1);min-width:132px;
          opacity:0;transform:translateY(28px);filter:blur(8px);
          transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1),filter .7s ease,background .3s ease,border-color .3s ease}
  .letter.in{opacity:1;transform:none;filter:blur(0)}
  .letter .big{font-family:"Fraunces",serif;font-size:clamp(3rem,7vw,4.6rem);line-height:1;color:var(--on-dark-mute);transition:color .3s ease,text-shadow .3s ease}
  .letter .w{margin-top:10px;font-size:.92rem;font-weight:600;color:#fff;letter-spacing:.01em;transition:color .3s ease}
  .letter.in:hover,.letter.in.active{background:rgba(198,161,91,.08);border-color:var(--gold);transform:translateY(-8px)}
  .letter:hover .big,.letter.active .big{color:var(--gold);text-shadow:0 10px 34px rgba(198,161,91,.45)}
  .letter:hover .w,.letter.active .w{color:var(--gold-soft)}
  .acro-caption{margin-top:32px;min-height:30px;font-size:1.08rem;color:var(--on-dark-mute);transition:opacity .25s ease}
  .acro-caption b{color:#fff;font-weight:600}

  /* why */
  .why{padding:70px 0 40px}
  .why .head{margin-bottom:40px}
  .why h3{font-family:var(--f-display);font-weight:500;font-size:clamp(1.8rem,3.2vw,2.4rem);max-width:22ch;line-height:1.12}
  .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
  .why-item .mark{font-family:var(--f-display);color:var(--gold);border:1px solid var(--line);border-radius:50%;width:42px;height:42px;display:grid;place-items:center;margin-bottom:16px}
  .why-item h4{font-family:var(--f-display);font-size:1.18rem;font-weight:600;margin-bottom:9px}
  .why-item p{font-size:0.93rem;color:var(--on-dark-mute)}

  /* footer */
  footer{padding:66px 0 40px;border-top:1px solid var(--line-soft);margin-top:40px}
  .foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;margin-bottom:44px}
  .foot-brand .brand{font-size:1.5rem;margin-bottom:14px;display:inline-block}
  .foot-brand p{color:var(--on-dark-mute);font-size:0.9rem;max-width:34ch}
  .foot-col h5{font-family:var(--f-mono);font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--on-dark-mute);margin-bottom:16px}
  .foot-col a{display:block;color:var(--on-dark-mute);font-size:0.9rem;margin-bottom:11px;transition:color .2s}
  .foot-col a:hover{color:var(--on-dark)}
  .foot-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px;border-top:1px solid var(--line-soft);font-size:0.82rem;color:var(--on-dark-mute)}
  .foot-bottom a{color:var(--on-dark-mute)}
  .foot-bottom a:hover{color:var(--gold-soft)}

  .reveal{opacity:0;transform:translateY(14px);animation:rise .7s ease forwards}
  .reveal.d1{animation-delay:.05s}.reveal.d2{animation-delay:.14s}.reveal.d3{animation-delay:.22s}
  @keyframes rise{to{opacity:1;transform:none}}

  @media (prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
    .reveal,.rv{opacity:1;transform:none}.pulse{animation:none}
    .letter{opacity:1;transform:none;filter:none}
  }
  @media (max-width:900px){
    .nav-links{display:none}.menu-btn{display:block}
    .doors{grid-template-columns:1fr}
    .letter{min-width:110px;padding:12px 14px 12px}
    .why-grid{grid-template-columns:1fr;gap:26px}
    .foot-grid{grid-template-columns:1fr 1fr}
    .hero{padding:58px 0 28px}
  }
  @media (max-width:980px){
    .stats{grid-template-columns:repeat(2,1fr)}
    .stat{border-bottom:1px solid var(--line-soft)}
    .stat:nth-child(2n){border-right:0}
  }
  @media (max-width:520px){.stats{grid-template-columns:1fr}.stat{border-right:0}.letters{gap:8px}.letter{min-width:calc(33.333% - 8px);padding:12px 6px 10px}.letter .w{font-size:.78rem}.foot-grid{grid-template-columns:1fr}}

  /* ===== PRELOADER ===== */
  #pre{position:fixed;inset:0;z-index:9999;background:var(--navy);display:grid;place-items:center;
       transition:opacity .7s ease,visibility .7s ease}
  #pre.gone{opacity:0;visibility:hidden}
  #pre::before{content:"";position:absolute;inset:0;
       background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
       background-size:60px 60px;mask-image:radial-gradient(ellipse 65% 65% at 50% 50%,#000,transparent 75%)}
  #pre::after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;
       background:radial-gradient(circle,rgba(198,161,91,.16),transparent 62%);filter:blur(10px);
       animation:preglow 4s ease-in-out infinite}
  @keyframes preglow{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
  .pre-in{position:relative;z-index:2;text-align:center;padding:20px}
  .pre-letters{display:flex;justify-content:center;gap:6px;margin-bottom:22px;flex-wrap:wrap}
  .pre-letters span{font-family:"Fraunces",serif;font-size:clamp(2.6rem,9vw,5rem);line-height:1;color:#fff;
       opacity:0;transform:translateY(26px) scale(.8);filter:blur(9px);
       animation:preletter .75s cubic-bezier(.2,.9,.25,1) forwards}
  .pre-letters span.g{color:var(--gold);text-shadow:0 10px 40px rgba(198,161,91,.5)}
  .pre-letters span.dot{font-size:clamp(1.6rem,5vw,2.6rem);color:var(--gold);opacity:.5;align-self:flex-end;padding-bottom:.35em}
  @keyframes preletter{to{opacity:1;transform:none;filter:blur(0)}}
  .pre-words{font-size:.92rem;color:var(--on-dark-mute);letter-spacing:.02em;min-height:1.5em}
  .pre-words b{color:var(--gold-soft);font-weight:600}
  .cursor{display:inline-block;width:2px;height:1em;background:var(--gold);margin-left:3px;vertical-align:-2px;animation:blink 1s steps(1) infinite}
  @keyframes blink{50%{opacity:0}}
  .pre-bar{width:180px;height:2px;background:rgba(255,255,255,.12);border-radius:2px;margin:26px auto 0;overflow:hidden}
  .pre-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),#f0dcb4);animation:preload 2.4s cubic-bezier(.4,0,.2,1) forwards}
  @keyframes preload{to{width:100%}}
  @media(prefers-reduced-motion:reduce){#pre{display:none}}
