  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    background:var(--bg);color:var(--fg);font-family:var(--sans);
    font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;overflow-x:hidden;
  }
  ::selection{background:var(--gold);color:var(--bg)}
  a{color:var(--gold-bright);text-decoration:none;cursor:pointer}
  a:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px;border-radius:2px}
  .wrap{max-width:1120px;margin:0 auto;padding:0 24px;position:relative}

  .atmo{position:fixed;inset:0;pointer-events:none;z-index:0}
  .atmo::before{
    content:"";position:absolute;inset:0;
    background:
      radial-gradient(ellipse 90% 60% at 78% 18%,rgba(212,175,94,.10),transparent 60%),
      radial-gradient(ellipse 70% 50% at 12% 92%,rgba(212,175,94,.05),transparent 60%);
  }
  .atmo::after{
    content:"";position:absolute;inset:0;opacity:.5;
    background-image:
      linear-gradient(rgba(245,242,234,.022) 1px,transparent 1px),
      linear-gradient(90deg,rgba(245,242,234,.022) 1px,transparent 1px);
    background-size:72px 72px;
    mask-image:radial-gradient(ellipse 100% 80% at 50% 20%,#000 30%,transparent 85%);
    -webkit-mask-image:radial-gradient(ellipse 100% 80% at 50% 20%,#000 30%,transparent 85%);
  }
  .grain{
    position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.05;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  #progress{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--gold-dim),var(--gold-bright));z-index:100}

  /* ── HERO ─────────────────────────────────────────── */
  .hero{
    position:relative;min-height:100svh;
    display:flex;flex-direction:column;justify-content:center;
    overflow:hidden;z-index:1;
  }
  #cage{
    position:absolute;top:50%;right:-6%;
    transform:translateY(-50%);
    width:min(66vw,700px);height:min(66vw,700px);
    pointer-events:none;will-change:transform,opacity;
  }
  .hero-inner{position:relative;z-index:2}
  .eyebrow{
    font-family:var(--mono);font-size:.75rem;letter-spacing:.34em;
    text-transform:uppercase;color:var(--gold);margin-bottom:2.2rem;
    display:flex;align-items:center;gap:1rem;
  }
  .eyebrow::before{content:"";width:34px;height:1px;background:var(--gold)}
  h1{
    font-weight:700;font-size:clamp(2.7rem,8vw,7rem);
    line-height:1.0;letter-spacing:-.04em;max-width:13ch;
  }
  h1 .thin{font-weight:300;color:var(--fg-dim)}
  .line-mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
  .line-mask>span{display:block}
  .hero-sub{
    margin-top:2.4rem;max-width:44ch;
    font-size:clamp(1.05rem,1.7vw,1.35rem);
    font-weight:300;color:var(--fg-dim);line-height:1.65;
  }
  .hero-verify{
    margin-top:3.4rem;font-family:var(--mono);font-size:.8rem;color:var(--fg-dim);
    display:flex;flex-wrap:wrap;gap:.5rem 1.8rem;
  }
  .hero-verify b{color:var(--gold);font-weight:500}
  .scroll-cue{
    position:absolute;bottom:2.2rem;left:24px;z-index:2;
    font-family:var(--mono);font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;
    color:var(--fg-dim);display:flex;align-items:center;gap:.8rem;
  }
  .scroll-cue::after{content:"";width:1px;height:42px;background:linear-gradient(var(--gold),transparent);animation:cueDrop 2.4s var(--ease-out) infinite}
  @keyframes cueDrop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

  .rv{opacity:0;transform:translateY(28px)}
  .rv-up>span{transform:translateY(110%)}
  body.loaded .rv{animation:riseIn 1s var(--ease-out) forwards}
  body.loaded .rv-up>span{animation:maskUp 1.1s var(--ease-out) forwards}
  body.loaded .d1{animation-delay:.05s} body.loaded .d2{animation-delay:.18s}
  body.loaded .d3{animation-delay:.32s} body.loaded .d4{animation-delay:.55s}
  body.loaded .d5{animation-delay:.75s} body.loaded .d6{animation-delay:1.1s}
  @keyframes riseIn{to{opacity:1;transform:none}}
  @keyframes maskUp{to{transform:none}}

  /* ── TICKER ───────────────────────────────────────── */
  .ticker{
    border-top:1px solid var(--border);border-bottom:1px solid var(--border);
    overflow:hidden;white-space:nowrap;position:relative;z-index:1;
    background:rgba(14,18,25,.6);backdrop-filter:blur(4px);
    mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  }
  .ticker-track{display:inline-flex;animation:marquee 46s linear infinite;will-change:transform}
  .ticker:hover .ticker-track{animation-play-state:paused}
  .ticker span{
    font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
    color:var(--fg-dim);padding:1rem 0;
  }
  .ticker i{font-style:normal;color:var(--gold);padding:0 2.2rem}
  @keyframes marquee{to{transform:translateX(-50%)}}

  /* ── SECTIONS ─────────────────────────────────────── */
  section{padding:clamp(5rem,10vw,9rem) 0;position:relative;z-index:1}
  section+section{border-top:1px solid var(--border)}
  .sec-label{
    font-family:var(--mono);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;
    color:var(--gold);margin-bottom:3rem;display:flex;align-items:center;gap:1rem;
  }
  .sec-label::after{
    content:"";flex:1;max-width:90px;height:1px;background:var(--border-gold);
    transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease-out) .25s;
  }
  .sec-label.in::after{transform:scaleX(1)}
  .sec-index{color:var(--gold-dim);margin-right:.4rem}

  .sr{opacity:0;transform:translateY(36px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
  .sr.in{opacity:1;transform:none}
  .sr-stag{transition-delay:calc(var(--i,0)*70ms)}

  /* ── 01 FACTS: registry printout ──────────────────── */
  .facts{
    display:grid;grid-template-columns:minmax(170px,250px) 1fr;
    border:1px solid var(--border);background:var(--bg-raise);
    box-shadow:0 30px 80px -40px rgba(0,0,0,.8);
    position:relative;overflow:hidden;
  }
  .scanline{
    position:absolute;left:0;right:0;top:-12%;height:10%;z-index:3;pointer-events:none;
    background:linear-gradient(rgba(243,206,107,0),rgba(243,206,107,.14),rgba(243,206,107,0));
    opacity:0;
  }
  .facts.printed .scanline{animation:scan 1.6s var(--ease-out) forwards}
  @keyframes scan{0%{top:-12%;opacity:1}90%{opacity:1}100%{top:104%;opacity:0}}
  .facts .row{display:contents}
  .facts dt,.facts dd{
    padding:1.05rem 1.5rem;border-bottom:1px solid var(--border);font-size:.92rem;
    position:relative;transition:background .25s ease;
  }
  .facts dt{
    font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;
    color:var(--fg-dim);border-right:1px solid var(--border);display:flex;align-items:center;
  }
  .facts dd{font-family:var(--mono);font-size:.88rem;color:var(--fg);word-break:break-word;min-height:1.4em}
  .facts dd.typing::after{
    content:"";display:inline-block;width:.55em;height:1.05em;margin-left:2px;
    background:var(--gold-bright);vertical-align:text-bottom;
    animation:caret .7s steps(1) infinite;
  }
  @keyframes caret{50%{opacity:0}}
  .facts dd::before{
    content:"";position:absolute;left:0;top:0;bottom:0;width:2px;
    background:var(--gold);transform:scaleY(0);transform-origin:top;
    transition:transform .3s var(--ease-out);
  }
  .facts .row:hover dt,.facts .row:hover dd{background:rgba(212,175,94,.045)}
  .facts .row:hover dd::before{transform:scaleY(1)}
  .facts .row:last-child dt,.facts .row:last-child dd{border-bottom:none}
  .facts a{border-bottom:1px solid var(--border-gold);transition:border-color .2s}
  .facts a:hover{border-bottom-color:var(--gold-bright)}

  /* ── 02 RESEARCH: word-by-word rise ───────────────── */
  .research p{
    max-width:64ch;font-size:clamp(1.15rem,2vw,1.55rem);
    font-weight:300;line-height:1.7;color:var(--fg);
  }
  .research p+p{margin-top:1.6rem;font-size:.95rem;color:var(--fg-dim);max-width:66ch}
  .w{display:inline-block;overflow:hidden;vertical-align:bottom}
  .w>span{display:inline-block;transform:translateY(115%);transition:transform .8s var(--ease-out);transition-delay:calc(var(--i,0)*28ms)}
  .research p.in .w>span{transform:none}
  .term{
    font-style:normal;font-weight:400;color:var(--fg);
    background:linear-gradient(var(--border-gold),var(--border-gold)) left bottom / 0 2px no-repeat;
    transition:color .8s ease,background-size .8s var(--ease-out),text-shadow .8s ease;
  }
  .term.lit{color:var(--gold-bright);background-size:100% 2px;text-shadow:0 0 24px rgba(243,206,107,.35)}

  /* ── 03 CONTACT: mono decode ──────────────────────── */
  .contact-link{
    font-family:var(--mono);font-size:clamp(1.3rem,3.4vw,2.4rem);letter-spacing:.01em;
    display:inline-flex;align-items:center;gap:1rem;padding:.4rem 0;position:relative;
    transition:letter-spacing .45s var(--ease-out);
  }
  .contact-link:hover{letter-spacing:.06em}
  .contact-link::after{
    content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
    background:var(--gold-bright);transform:scaleX(0);transform-origin:left;
    transition:transform .45s var(--ease-out);
  }
  .contact-link:hover::after{transform:scaleX(1)}
  .contact-link svg{transition:transform .35s var(--ease-out);flex:none}
  .contact-link:hover svg{transform:translate(5px,-5px)}
  .contact-link .decode{white-space:pre}

  /* ── FOOTER: line-by-line settle ──────────────────── */
  footer{padding:4rem 0 4.5rem;border-top:1px solid var(--border);position:relative;z-index:1;overflow:hidden}
  footer .draw{
    position:absolute;top:-1px;left:0;height:1px;width:100%;
    background:linear-gradient(90deg,var(--gold),transparent 70%);
    transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease-out);
  }
  footer.in .draw{transform:scaleX(1)}
  .legal{max-width:78ch;font-size:.8rem;line-height:1.75;color:var(--fg-dim)}
  .legal .fl{opacity:0;transform:translateY(10px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);transition-delay:calc(var(--i,0)*140ms);display:inline}
  footer.in .legal .fl{opacity:1;transform:none}
  .copyright{margin-top:2.2rem;font-family:var(--mono);font-size:.74rem;color:var(--gold-dim)}

  @media (max-width:720px){
    #cage{opacity:.5;right:-34%;width:118vw;height:118vw}
    .facts{grid-template-columns:1fr}
    .facts dt{border-right:none;border-bottom:none;padding-bottom:.15rem}
    .facts dd{padding-top:.15rem}
    .scroll-cue{display:none}
  }

  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation:none!important;transition:none!important}
    .rv,.sr{opacity:1!important;transform:none!important}
    .rv-up>span,.w>span{transform:none!important}
    .term{color:var(--gold-bright);background-size:100% 2px}
    .ticker-track{animation:none!important}
    footer .draw{transform:scaleX(1)}
    .legal .fl{opacity:1;transform:none}
    .sec-label::after{transform:scaleX(1)}
  }

/* ── NAV + NOTES PAGE (V1) ──────────────────────── */
  .pagenav{display:flex;justify-content:space-between;align-items:center;padding:28px 0 0;}
  .pagenav .brand{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg);text-decoration:none;}
  .pagenav .brand small{color:var(--fg-dim);letter-spacing:.14em;margin-left:.9em;font-weight:400;}
  .pagenav .back{font-family:'IBM Plex Mono',monospace;font-size:.74rem;letter-spacing:.1em;color:var(--fg-dim);text-decoration:none;border-bottom:1px solid var(--border);padding-bottom:2px;transition:color .3s,border-color .3s;}
  .pagenav .back:hover{color:var(--gold-bright);border-color:var(--gold-dim);}
  .pagenav-idx{position:absolute;top:0;left:0;right:0;z-index:3;display:block;padding:28px 0 0;}
  .pagenav-idx .wrap{display:flex;justify-content:flex-end;}
  .notes-intro{max-width:62ch;color:var(--fg);font-weight:300;font-size:clamp(1.02rem,1.6vw,1.18rem);line-height:1.75;margin:0 0 12px;}
  .note{border-top:1px solid var(--border);padding:44px 0 48px;}
  .note:last-of-type{border-bottom:1px solid var(--border);}
  .note .n-date{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.14em;color:var(--gold-dim);text-transform:uppercase;display:block;margin-bottom:14px;}
  .note h3{font-weight:500;font-size:clamp(1.25rem,2.4vw,1.7rem);letter-spacing:-.01em;line-height:1.25;margin:0 0 16px;color:var(--fg);}
  .note p{max-width:66ch;color:var(--fg-dim);font-weight:300;line-height:1.8;margin:0 0 22px;font-size:.98rem;}
  .note p .src{color:var(--fg);font-weight:400;}
  .note .n-link{font-family:'IBM Plex Mono',monospace;font-size:.78rem;letter-spacing:.1em;color:var(--gold);text-decoration:none;display:inline-flex;align-items:center;gap:.55em;border-bottom:1px solid var(--gold-dim);padding-bottom:3px;transition:color .3s,border-color .3s;}
  .note .n-link:hover{color:var(--gold-bright);border-color:var(--gold);}
  .note .n-link svg{width:15px;height:15px;}
  main.notes-main{padding-top:8px;}
  section.notes-sec{padding:56px 0 30px;}
