/* ===== 1. TOKENS ===== */
:root{
  --bg:#070B16;--panel:#0E1630;--panel2:#121D3F;--ink:#E6EDFF;--muted:#9AA9CC;--line:#1F2D57;
  --cyan:#22D3EE;--violet:#8B5CF6;--lime:#A3E635;
  --glow:0 0 24px rgba(34,211,238,.25);
}
/* ===== 2. BASE ===== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font:17px/1.7 "Inter",system-ui,sans-serif;
  background:var(--bg);
  background-image:linear-gradient(rgba(34,211,238,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.05) 1px,transparent 1px);
  background-size:44px 44px}
h1,h2,h3{font-family:"Space Grotesk",sans-serif;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2.3rem,6vw,4rem)}
h2{font-size:clamp(1.7rem,4vw,2.4rem)}
h3{font-size:1.15rem}
.sub{margin-top:36px;color:var(--cyan)}
p{margin:0 0 1em;max-width:68ch}
a{color:var(--cyan)}
:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
section{padding:70px 0;border-top:1px solid var(--line)}
.code-tag{font-family:"JetBrains Mono",monospace;color:var(--lime);font-size:.9rem;margin-bottom:10px}
.glow{background:linear-gradient(90deg,var(--cyan),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
/* ===== 3. NAV ===== */
nav.top{background:rgba(7,11,22,.9);border-bottom:1px solid var(--line);padding:14px 0}
nav.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.brand{font-family:"JetBrains Mono",monospace;font-weight:700}
.brand span{color:var(--lime)}
nav.top ul{list-style:none;margin:0;padding:0;display:flex;gap:16px;flex-wrap:wrap;font-size:.92rem}
nav.top a{color:var(--ink);text-decoration:none}
nav.top a:hover{color:var(--cyan)}
/* ===== 4. HERO ===== */
.hero{padding:70px 0 80px;text-align:center}
.hero p{margin-left:auto;margin-right:auto}
.lead{font-size:1.2rem;color:var(--muted)}
.btn{display:inline-block;background:linear-gradient(90deg,var(--cyan),var(--violet));color:#050914;font-weight:700;padding:13px 24px;border-radius:10px;text-decoration:none;box-shadow:var(--glow)}
.btn:hover{filter:brightness(1.12)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--cyan);box-shadow:none;margin-left:10px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-top:44px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;color:var(--muted);font-size:.95rem}
.stat b{display:block;font-family:"Space Grotesk",sans-serif;font-size:1.9rem;color:var(--cyan)}
/* ===== 5. CARDS ===== */
.grid,.two{display:grid;gap:18px;margin-top:26px}
.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px;transition:transform .2s,border-color .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);border-color:var(--cyan);box-shadow:var(--glow)}
.card p{margin:0;font-size:.97rem;color:var(--muted)}
.card b{color:var(--ink)}
.card ul{margin:0;padding-left:20px;color:var(--muted)}
.card li{margin-bottom:.5em}
.tag{display:inline-block;font-family:"JetBrains Mono",monospace;font-size:.75rem;color:var(--violet);background:rgba(139,92,246,.15);padding:2px 10px;border-radius:6px;margin-bottom:10px}
.callout{background:var(--panel2);border-left:4px solid var(--lime);padding:16px 20px;border-radius:0 12px 12px 0;margin:24px 0;max-width:72ch}
.callout p{margin:0}
/* ===== 6. PIPELINE ===== */
ol.pipe{list-style:none;counter-reset:p;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;padding:0;margin:26px 0}
ol.pipe li{counter-increment:p;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--cyan);border-radius:12px;padding:16px}
ol.pipe li::before{content:"0" counter(p);font-family:"JetBrains Mono",monospace;color:var(--lime);font-size:.85rem}
ol.pipe b{display:block;font-family:"Space Grotesk",sans-serif;font-size:1.05rem;color:var(--cyan)}
ol.pipe span{font-size:.93rem;color:var(--muted)}
/* ===== 7. TABLE, CODE, DL, FAQ ===== */
.scroll{overflow-x:auto;margin-top:22px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:.95rem}
th,td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:"JetBrains Mono",monospace;font-size:.82rem;color:var(--lime);background:var(--panel2)}
td:first-child{color:var(--cyan);font-weight:600}
td{color:var(--muted)}
tr:last-child td{border-bottom:0}
tr:hover td{background:rgba(34,211,238,.05)}
pre.code{background:#03060F;border:1px solid var(--line);border-radius:12px;padding:18px;overflow-x:auto;font-family:"JetBrains Mono",monospace;font-size:.9rem;color:var(--lime);margin:18px 0}
dl{display:grid;grid-template-columns:minmax(130px,210px) 1fr;gap:12px 22px;margin:20px 0 0}
dt{font-family:"JetBrains Mono",monospace;color:var(--cyan);font-size:.92rem}
dd{margin:0;color:var(--muted)}
@media(max-width:560px){dl{grid-template-columns:1fr}dd{margin-bottom:8px}.btn.ghost{margin:10px 0 0}}
details{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:10px}
details[open]{border-color:var(--violet)}
summary{cursor:pointer;font-weight:600}
details p{margin:10px 0 0;color:var(--muted)}
/* ===== 8. FOOTER ===== */
footer{border-top:1px solid var(--line);padding:30px 0 44px;text-align:center;font-family:"JetBrains Mono",monospace;font-size:.82rem;color:var(--muted)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}