/* ============ TOKENS / RESET ============ */
:root{
  --bg0:#03141b; --bg1:#05212b; --bg2:#07303c; --panel:#06242e;
  --ink:#f2ede1; --ink-dim:#b9b4a5; --ink-faint:#8b8778;
  --green:#3ce89e; --green-dim:#2bbf82; --green-soft:rgba(60,232,158,.12);
  --line:rgba(242,237,225,.12); --line-soft:rgba(242,237,225,.07);
  --fd:'Unbounded',system-ui,sans-serif; --fb:'Instrument Sans',system-ui,sans-serif; --fm:'IBM Plex Mono',ui-monospace,monospace;
  --r:14px; --nav-h:72px;
  --ease:cubic-bezier(.22,.9,.28,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{overflow-x:clip}
body{
  background:
    radial-gradient(1100px 700px at 78% -12%, #0a3542 0%, transparent 60%),
    radial-gradient(900px 640px at 4% 108%, #062b33 0%, transparent 62%),
    var(--bg0);
  color:var(--ink); font-family:var(--fb); font-size:16.5px; line-height:1.6;
  -webkit-font-smoothing:antialiased; min-height:100vh;
}
body::after{content:""; position:fixed; inset:0; z-index:3; pointer-events:none; opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E");}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
ul,ol{list-style:none}
::selection{background:var(--green);color:#04241a}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}
.skip{position:fixed;left:1rem;top:-4rem;z-index:400;background:var(--green);color:#04241a;padding:.6rem 1rem;border-radius:8px;font-weight:600;transition:top .3s}
.skip:focus{top:1rem}
.wrap{width:min(1240px,92vw);margin-inline:auto}
.mono{font-family:var(--fm)}
.kicker{font-family:var(--fm);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--green);display:flex;align-items:center;gap:.6rem}
.kicker::before{content:"";width:26px;height:1px;background:var(--green)}
h1,h2,h3{font-family:var(--fd);font-weight:700;line-height:1.08;letter-spacing:-.01em}
.h2{font-size:clamp(1.7rem,4.2vw,3rem);margin:.9rem 0 1rem}
.lead{color:var(--ink-dim);max-width:56ch}
section{position:relative}
