:root{
  --bg:#04050d;--bg2:#0a0c1c;--ink:#f4f6ff;--muted:#9aa3c8;--muted2:#737ca6;
  --line:rgba(150,165,230,.14);--line2:rgba(150,165,230,.22);
  --card:rgba(120,140,230,.05);--card2:rgba(120,140,230,.09);
  --accent:#aebcff;--accent2:#6e8bff;--glow:#7d9bff;--good:#7df5c0;
  --maxw:1180px;--radius:20px;
  --shadow:0 18px 50px rgba(0,0,0,.45);
  --shadow-accent:0 18px 60px color-mix(in srgb,var(--accent) 30%,transparent);
  /* motion tokens — one vocabulary for smooth, consistent easing */
  --ease:cubic-bezier(.22,.61,.36,1);          /* smooth ease-out */
  --ease-soft:cubic-bezier(.4,0,.2,1);          /* material standard */
  --spring:cubic-bezier(.34,1.56,.64,1);        /* gentle overshoot */
  --t-fast:.22s;--t:.4s;--t-slow:.7s;
}
*{box-sizing:border-box;margin:0;padding:0}
*,*::before,*::after{transition-timing-function:var(--ease)}
html{scroll-behavior:smooth;scroll-padding-top:92px;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,sans-serif;line-height:1.62;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;animation:pageIn .8s var(--ease) both;touch-action:manipulation;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@keyframes pageIn{from{opacity:0}to{opacity:1}}

/* ── Ambient background: aurora + grain ─────────────────────────────────── */
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(700px 500px at 12% 8%,color-mix(in srgb,var(--accent2) 16%,transparent),transparent 60%),
    radial-gradient(680px 520px at 88% 0%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 58%),
    radial-gradient(900px 700px at 50% 120%,color-mix(in srgb,var(--good) 8%,transparent),transparent 60%);
  animation:drift 26s ease-in-out infinite alternate}
@keyframes drift{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(0,-26px,0)}}
body::after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.035;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

canvas#stars{position:fixed;inset:0;z-index:0;pointer-events:none}
.glow-top{position:fixed;top:-30%;left:50%;transform:translateX(-50%);width:1150px;height:760px;z-index:0;pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,var(--accent2) 16%,transparent),transparent 62%);filter:blur(26px)}

/* ── Scrollbar + selection ──────────────────────────────────────────────── */
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 28%,transparent);border-radius:999px;border:3px solid var(--bg)}
::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--accent) 45%,transparent)}
html{scrollbar-color:color-mix(in srgb,var(--accent) 30%,transparent) var(--bg);scrollbar-width:thin}
::selection{background:color-mix(in srgb,var(--accent) 40%,transparent);color:#fff}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;position:relative;z-index:2}
.narrow{max-width:820px}
.muted{color:var(--muted)}.accent{color:var(--accent)}
h1,h2,h3,h4,.dsp{font-family:'Space Grotesk',sans-serif;letter-spacing:-.022em;line-height:1.08;font-weight:700}
a{color:inherit;text-decoration:none}

/* ── Header / nav ───────────────────────────────────────────────────────── */
header.nav{position:fixed;top:0;left:0;right:0;z-index:60;backdrop-filter:blur(18px) saturate(1.3);background:linear-gradient(180deg,rgba(4,5,13,.85),rgba(4,5,13,.18));border-bottom:1px solid transparent;transition:.35s}
header.nav.scrolled{border-bottom:1px solid var(--line);background:rgba(4,5,13,.9);box-shadow:0 10px 40px rgba(0,0,0,.35)}
.navbar{display:flex;align-items:center;justify-content:space-between;height:70px;gap:18px}
.logo{display:flex;align-items:center;gap:11px;font-family:'Space Grotesk';font-weight:700;font-size:20px;letter-spacing:-.01em}
.logo .moon{width:27px;height:27px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--accent) 45%,#5a72d8 100%);box-shadow:0 0 22px var(--glow);animation:floaty 6s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.navlinks{display:flex;gap:6px;align-items:center}
.navlinks a{color:var(--muted);font-size:14.5px;font-weight:500;transition:color var(--t-fast) var(--ease),background var(--t-fast) var(--ease);padding:8px 13px;border-radius:999px}
.navlinks a:hover{color:var(--ink);background:var(--card)}
.navlinks a.active{color:var(--ink);background:color-mix(in srgb,var(--accent) 12%,transparent)}

/* ── Buttons ────────────────────────────────────────────────────────────── */
.btn{position:relative;display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:600;font-size:14.5px;border:1px solid var(--line);transition:transform var(--t) var(--spring),box-shadow var(--t) var(--ease),background var(--t) var(--ease),border-color var(--t) var(--ease),color var(--t) var(--ease);cursor:pointer;white-space:nowrap;overflow:hidden;isolation:isolate;will-change:transform}
.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#080a18;border:none;box-shadow:var(--shadow-accent)}
.btn.primary::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.55),transparent 80%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn.primary:hover{transform:translateY(-3px);box-shadow:0 18px 54px color-mix(in srgb,var(--accent) 50%,transparent)}
.btn.primary:hover::before{transform:translateX(120%)}
.btn.ghost{background:var(--card)}
.btn.ghost:hover{border-color:var(--accent);color:var(--ink);background:var(--card2);transform:translateY(-3px)}
.btn:active{transform:translateY(-1px) scale(.98);transition-duration:.08s}

.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--ink);font-size:20px;cursor:pointer;line-height:1;padding:8px 11px;border-radius:12px;transition:.2s}
.menu-btn:hover{background:var(--card);border-color:var(--line2)}
.skip-link{position:fixed;top:-60px;left:14px;z-index:200;background:var(--accent);color:#080a18;padding:10px 18px;border-radius:0 0 12px 12px;font-weight:600;font-size:14px;transition:top .2s}
.skip-link:focus{top:0;outline:2px solid #fff;outline-offset:2px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}

.mobile-menu{position:fixed;left:0;right:0;top:70px;z-index:55;background:rgba(4,5,13,.97);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);max-height:calc(100vh - 70px);overflow-y:auto;opacity:0;transform:translateY(-12px);transition:opacity var(--t) var(--ease),transform var(--t) var(--ease);will-change:opacity,transform}
.mobile-menu.show{opacity:1;transform:none}
.mobile-inner{display:flex;flex-direction:column;gap:2px;padding:16px 24px 26px}
.mobile-inner a{color:var(--ink);font-size:17px;font-weight:500;padding:15px 8px;border-bottom:1px solid var(--line);border-radius:10px;transition:.2s}
.mobile-inner a:hover{background:var(--card);padding-left:16px}
.mobile-inner a.active{color:var(--accent)}
.mobile-inner a:last-of-type{border-bottom:none}
.mobile-cta{justify-content:center;margin-top:14px;border-bottom:none!important}
body.menu-open{overflow:hidden}

/* ── Hero ───────────────────────────────────────────────────────────────── */
.hero{position:relative;padding:185px 0 70px;text-align:center}
.page-hero{position:relative;padding:158px 0 50px}
.page-hero::before{content:"";position:absolute;top:64px;left:50%;transform:translateX(-50%);width:640px;max-width:90vw;height:300px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 13%,transparent),transparent 70%);filter:blur(34px);pointer-events:none;z-index:0}
.page-hero>.wrap{z-index:2}
.crumbs{font-size:13px;color:var(--muted2);margin-bottom:18px;letter-spacing:.02em}
.crumbs a{transition:.2s}.crumbs a:hover{color:var(--accent)}
.pill{position:relative;display:inline-flex;align-items:center;gap:9px;padding:8px 17px;border:1px solid var(--line2);border-radius:999px;font-size:13px;color:var(--muted);background:color-mix(in srgb,var(--accent) 6%,transparent);margin-bottom:28px;backdrop-filter:blur(8px)}
.pill .dot{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 12px var(--good);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 12px var(--good)}50%{opacity:.35;box-shadow:0 0 4px var(--good)}}
.hero h1{font-size:clamp(44px,7.4vw,86px);margin-bottom:22px;letter-spacing:-.035em}
.page-hero h1{font-size:clamp(34px,5.5vw,62px);margin-bottom:18px;letter-spacing:-.03em}
.grad{background:linear-gradient(120deg,#fff 4%,var(--accent) 48%,var(--accent2) 96%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 8s ease-in-out infinite}
@keyframes shimmer{0%,100%{background-position:0% center}50%{background-position:100% center}}
.hero p.sub,.page-hero p.sub{font-size:clamp(16px,2.2vw,21px);color:var(--muted);max-width:660px;margin:0 0 34px}
.hero p.sub{margin:0 auto 36px;max-width:640px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero .hero-cta{justify-content:center}
.trust{margin-top:54px;display:flex;gap:34px;justify-content:center;flex-wrap:wrap;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted2)}

/* ── Orbit stage ────────────────────────────────────────────────────────── */
.orbit-stage{position:relative;width:min(560px,86vw);aspect-ratio:1;margin:60px auto 8px}
.orbit-ring{position:absolute;inset:0;border:1px solid var(--line);border-radius:50%;box-shadow:inset 0 0 60px color-mix(in srgb,var(--accent) 5%,transparent)}
.orbit-ring:nth-child(1){animation:spin 32s linear infinite}
.orbit-ring:nth-child(2){inset:14%;border-color:var(--line2);animation:spin 24s linear infinite reverse}
.orbit-ring:nth-child(3){inset:28%;animation:spin 18s linear infinite}
.ring-dot{position:absolute;top:-5px;left:50%;width:9px;height:9px;border-radius:50%;transform:translateX(-50%);background:radial-gradient(circle,#fff,var(--accent));box-shadow:0 0 14px var(--accent),0 0 4px #fff}
/* core "Ledger Moon" */
.core{position:absolute;top:50%;left:50%;width:128px;height:128px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--accent) 45%,#4a63cf 100%);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),0 0 110px var(--glow),inset -14px -14px 44px rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;animation:corePulse 6s var(--ease-soft) infinite}
.core::before{content:"";position:absolute;inset:-22px;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);opacity:.6;animation:haloPulse 6s var(--ease-soft) infinite}
.core-label{position:relative;font-family:'Space Grotesk';font-weight:700;font-size:14px;line-height:1.05;letter-spacing:-.02em;color:#0a0c1c;text-align:center;text-shadow:0 1px 0 rgba(255,255,255,.25)}
@keyframes corePulse{0%,100%{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),0 0 100px var(--glow),inset -14px -14px 44px rgba(0,0,0,.45)}50%{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent),0 0 140px var(--glow),inset -14px -14px 44px rgba(0,0,0,.45)}}
@keyframes haloPulse{0%,100%{transform:scale(1);opacity:.55}50%{transform:scale(1.08);opacity:.2}}
/* satellites ride the rings, labels stay upright (counter-rotate) */
.sat{position:absolute;top:50%;left:50%;width:0;height:0}
.sat span{position:absolute;left:0;display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:999px;background:rgba(10,12,28,.86);border:1px solid var(--line2);backdrop-filter:blur(8px);font-size:13px;font-weight:500;white-space:nowrap;transform:translate(-50%,-50%);box-shadow:0 8px 26px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05)}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes counter{to{transform:translate(-50%,-50%) rotate(-360deg)}}
.sat.o1{animation:spin 30s linear infinite}.sat.o1 span{top:calc(min(560px,86vw) * -0.5 + 2px);animation:counter 30s linear infinite}
.sat.o2{animation:spin 44s linear infinite reverse}.sat.o2 span{top:calc(min(560px,86vw) * -0.43);animation:counter 44s linear infinite reverse}
.sat.o3{animation:spin 24s linear infinite}.sat.o3 span{top:calc(min(560px,86vw) * -0.36);animation:counter 24s linear infinite}
.sat.o4{animation:spin 38s linear infinite reverse}.sat.o4 span{top:calc(min(560px,86vw) * -0.22);animation:counter 38s linear infinite reverse}

/* ── Sections ───────────────────────────────────────────────────────────── */
section{position:relative;padding:84px 0}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:'Space Grotesk';font-size:12.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.eyebrow::before{content:"";width:26px;height:1px;background:linear-gradient(90deg,transparent,var(--accent))}
.sec-head{max-width:720px;margin:0 auto 56px;text-align:center}
.sec-head .eyebrow{justify-content:center}
.sec-head h2{font-size:clamp(30px,4.5vw,47px);margin-bottom:16px;letter-spacing:-.03em}
.sec-head p{color:var(--muted);font-size:17px}

.grid{display:grid;gap:20px}
.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g2{grid-template-columns:repeat(2,1fr)}

/* ── Cards ──────────────────────────────────────────────────────────────── */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:transform var(--t) var(--ease),border-color var(--t) var(--ease),background var(--t) var(--ease),box-shadow var(--t) var(--ease);position:relative;overflow:hidden;z-index:1;will-change:transform;transform:translateZ(0)}
.card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 70%,transparent),transparent 45%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--t) var(--ease);pointer-events:none}
.card::after{content:"";position:absolute;inset:0;background:radial-gradient(360px circle at var(--mx,50%) var(--my,-10%),color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%);opacity:0;transition:opacity .5s var(--ease);pointer-events:none}
.card:hover{transform:translateY(-6px);border-color:transparent;background:var(--card2);box-shadow:var(--shadow),0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent)}
.card:hover::before{opacity:1}.card:hover::after{opacity:1}
a.card:hover .more{gap:10px}
.card .ic{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:23px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 24%,transparent),color-mix(in srgb,var(--accent2) 6%,transparent));border:1px solid var(--line2);margin-bottom:18px;transition:transform var(--t) var(--spring),box-shadow var(--t) var(--ease);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.card:hover .ic{transform:scale(1.06) rotate(-3deg);box-shadow:0 8px 26px color-mix(in srgb,var(--accent) 30%,transparent)}
.card h3{font-size:20px;margin-bottom:10px}.card p{color:var(--muted);font-size:15px}
.card .more{display:inline-flex;align-items:center;gap:6px;margin-top:16px;color:var(--accent);font-size:14px;font-weight:600;transition:gap .25s}

/* ── Stats ──────────────────────────────────────────────────────────────── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;text-align:center;border:1px solid var(--line);border-radius:26px;padding:46px 24px;background:linear-gradient(180deg,var(--card2),transparent);position:relative;overflow:hidden}
.stats::before{content:"";position:absolute;inset:0;background:radial-gradient(600px circle at 50% -40%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%);pointer-events:none}
.stat{padding:0 18px;position:relative}
.stat+.stat::before{content:"";position:absolute;left:0;top:14%;height:72%;width:1px;background:var(--line)}
.stat .n{font-family:'Space Grotesk';font-size:clamp(30px,5vw,50px);font-weight:700;background:linear-gradient(120deg,#fff,var(--accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat .l{color:var(--muted);font-size:14px;margin-top:6px}

/* ── Flow / steps ───────────────────────────────────────────────────────── */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step}
.step{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;position:relative;transition:transform var(--t) var(--ease),border-color var(--t) var(--ease),background var(--t) var(--ease);overflow:hidden;will-change:transform}
.step:hover{border-color:var(--line2);transform:translateY(-4px);background:var(--card2)}
.step::before{counter-increment:step;content:"0" counter(step);font-family:'Space Grotesk';font-weight:700;font-size:36px;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent2) 80%,transparent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.55;display:block;margin-bottom:12px}
.step h3{font-size:17px;margin-bottom:8px}.step p{color:var(--muted);font-size:14px}

/* ── Code ───────────────────────────────────────────────────────────────── */
.codewrap{background:linear-gradient(180deg,#080b16,#06080f);border:1px solid var(--line2);border-radius:18px;overflow:hidden;font-family:'SFMono-Regular',ui-monospace,monospace;box-shadow:var(--shadow),0 0 60px color-mix(in srgb,var(--accent) 8%,transparent)}
.codebar{display:flex;align-items:center;gap:7px;padding:13px 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.015)}
.codebar i{width:11px;height:11px;border-radius:50%;display:inline-block}
.codebar i:nth-child(1){background:#ff5f57}.codebar i:nth-child(2){background:#febc2e}.codebar i:nth-child(3){background:#28c840}
.codebar span{margin-left:10px;color:var(--muted2);font-size:12.5px}
pre{padding:26px;font-size:13.5px;line-height:1.8;overflow-x:auto;color:#c9d4ff;font-family:'SFMono-Regular',ui-monospace,monospace}
pre .k{color:#7d9bff}pre .s{color:#7df5c0}pre .c{color:#5a648c}pre .nm{color:#ffb27d}

/* ── Prose ──────────────────────────────────────────────────────────────── */
.prose{font-size:16.5px}
.prose h2{font-size:clamp(24px,3.4vw,34px);margin:48px 0 16px;letter-spacing:-.02em}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:20px;margin:32px 0 12px}
.prose p{color:var(--muted);margin-bottom:16px}
.prose ul,.prose ol{color:var(--muted);margin:0 0 18px 4px;padding:0;display:grid;gap:10px;list-style:none}
.prose ul li{position:relative;padding-left:26px}
.prose ul li::before{content:"";position:absolute;left:4px;top:.62em;width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 10px color-mix(in srgb,var(--accent) 60%,transparent)}
.prose ol{list-style:decimal;margin-left:22px}.prose ol li{padding-left:4px}
.prose strong{color:var(--ink)}
.prose a{color:var(--accent);background:linear-gradient(var(--accent),var(--accent)) no-repeat left bottom/0 1px;transition:background-size .3s;padding-bottom:1px}
.prose a:hover{background-size:100% 1px}

/* ── Table ──────────────────────────────────────────────────────────────── */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;margin:22px 0;background:var(--card)}
table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:520px}
th,td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--line)}
th{font-family:'Space Grotesk';color:var(--ink);font-weight:600;background:rgba(255,255,255,.02)}
td{color:var(--muted)}tr:last-child td{border-bottom:none}
tbody tr,table tr{transition:.2s}
table tr:hover td{background:color-mix(in srgb,var(--accent) 5%,transparent);color:var(--ink)}
td code,p code,li code{background:color-mix(in srgb,var(--accent) 14%,transparent);padding:2px 7px;border-radius:6px;font-family:ui-monospace,monospace;font-size:.9em;color:#dbe2ff}
.method{font-family:ui-monospace,monospace;font-weight:700;font-size:12px;padding:3px 9px;border-radius:6px;margin-right:8px;letter-spacing:.04em}
.get{background:rgba(125,245,192,.16);color:#7df5c0}.post{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent)}

/* ── Accordion ──────────────────────────────────────────────────────────── */
.acc{border:1px solid var(--line);border-radius:16px;margin-bottom:12px;overflow:hidden;background:var(--card);transition:.3s}
.acc:hover{border-color:var(--line2)}
.acc[open]{background:var(--card2);border-color:color-mix(in srgb,var(--accent) 22%,transparent)}
.acc summary{cursor:pointer;padding:21px 24px;font-family:'Space Grotesk';font-weight:600;font-size:17px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";color:var(--accent);font-size:22px;transition:.3s;flex:none}
.acc[open] summary::after{content:"−";transform:rotate(180deg)}
.acc .body{padding:0 24px 22px;color:var(--muted)}

/* ── Family / ecosystem cards ───────────────────────────────────────────── */
.family{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fam{display:block;border:1px solid var(--line);border-radius:18px;padding:28px;background:var(--card);transition:transform var(--t) var(--ease),border-color var(--t) var(--ease),background var(--t) var(--ease),box-shadow var(--t) var(--ease);position:relative;overflow:hidden;will-change:transform}
.fam::after{content:"";position:absolute;inset:0;background:radial-gradient(380px circle at 50% -10%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 70%);opacity:0;transition:opacity var(--t) var(--ease);pointer-events:none}
.fam:hover{border-color:color-mix(in srgb,var(--accent) 35%,transparent);transform:translateY(-5px);background:var(--card2);box-shadow:var(--shadow)}
.fam:hover::after{opacity:1}
.fam .nm{font-family:'Space Grotesk';font-size:19px;font-weight:600;margin-bottom:6px}
.fam .t{color:var(--muted);font-size:14px}
.fam .u{color:var(--accent);font-size:12.5px;margin-top:12px;letter-spacing:.04em}

/* ── CTA band ───────────────────────────────────────────────────────────── */
.cta-band{position:relative;text-align:center;border:1px solid var(--line2);border-radius:30px;padding:78px 30px;overflow:hidden;background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 65%),linear-gradient(180deg,var(--card2),transparent)}
.cta-band::before{content:"";position:absolute;width:520px;height:520px;left:50%;top:-60%;transform:translateX(-50%);background:conic-gradient(from 0deg,transparent,color-mix(in srgb,var(--accent) 22%,transparent),transparent 55%);filter:blur(40px);opacity:.5;animation:spin 24s linear infinite;pointer-events:none}
.cta-band>*{position:relative}
.cta-band h2{font-size:clamp(30px,5vw,52px);margin-bottom:16px;letter-spacing:-.03em}
.cta-band p{color:var(--muted);max-width:520px;margin:0 auto 30px;font-size:17px}

/* ── Founder profile ────────────────────────────────────────────────────── */
.profile{display:grid;grid-template-columns:200px 1fr;gap:44px;align-items:center}
.avatar{width:200px;height:200px;border-radius:26px;background:radial-gradient(circle at 35% 30%,#fff,var(--accent) 40%,#4a63cf 100%);box-shadow:0 0 80px var(--glow),inset -10px -10px 40px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk';font-weight:700;font-size:64px;color:#0a0c1c;flex:none}

/* ── Footer ─────────────────────────────────────────────────────────────── */
footer{border-top:1px solid var(--line);padding:64px 0 40px;position:relative;z-index:2;margin-top:48px}
footer::before{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 50%,transparent),transparent)}
.foot-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr 1fr;gap:34px;margin-bottom:46px}
.foot-grid h4{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2);margin-bottom:16px}
.foot-grid a{display:block;color:var(--muted);font-size:14px;margin-bottom:10px;transition:.2s;width:fit-content}
.foot-grid a:hover{color:var(--ink);transform:translateX(3px)}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:26px;border-top:1px solid var(--line);color:var(--muted2);font-size:13.5px;flex-wrap:wrap;gap:12px}

/* ── Reveal animation ───────────────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(30px);transition:opacity var(--t-slow) var(--ease),transform var(--t-slow) var(--ease);will-change:opacity,transform}
.reveal.in{opacity:1;transform:none}

/* ── Search trigger (nav) ───────────────────────────────────────────────── */
.search-trigger{display:inline-flex;align-items:center;gap:9px;padding:9px 13px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:13.5px;font-weight:500;cursor:pointer;transition:color var(--t) var(--ease),border-color var(--t) var(--ease),background var(--t) var(--ease)}
.search-trigger:hover{color:var(--ink);border-color:var(--line2);background:var(--card2)}
.search-trigger svg{width:15px;height:15px;fill:currentColor}
.search-trigger kbd{font-family:'Space Grotesk',sans-serif;font-size:11px;padding:2px 7px;border-radius:6px;border:1px solid var(--line2);color:var(--muted2);background:rgba(255,255,255,.03)}

/* ── ⌘K command palette ─────────────────────────────────────────────────── */
.cmdk{position:fixed;inset:0;z-index:120;display:none}
.cmdk.show{display:block}
.cmdk-backdrop{position:absolute;inset:0;background:rgba(3,4,11,.62);backdrop-filter:blur(6px);animation:fade .25s var(--ease)}
@keyframes fade{from{opacity:0}to{opacity:1}}
.cmdk-panel{position:absolute;top:12vh;left:50%;transform:translateX(-50%);width:min(620px,92vw);background:linear-gradient(180deg,#0b0e1f,#070912);border:1px solid var(--line2);border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.6),0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent);overflow:hidden;animation:cmdkIn .28s var(--spring)}
@keyframes cmdkIn{from{opacity:0;transform:translateX(-50%) translateY(-14px) scale(.97)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}
.cmdk-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.cmdk-head svg{width:19px;height:19px;fill:var(--muted);flex:none}
.cmdk-head input{flex:1;background:none;border:none;outline:none;color:var(--ink);font-size:17px;font-family:'Inter',sans-serif}
.cmdk-head input::placeholder{color:var(--muted2)}
.cmdk-head kbd{font-family:'Space Grotesk',sans-serif;font-size:11px;padding:3px 8px;border-radius:6px;border:1px solid var(--line2);color:var(--muted2)}
.cmdk-list{max-height:52vh;overflow-y:auto;padding:8px}
.cmdk-item{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;padding:11px 14px;border-radius:12px;cursor:pointer;border:1px solid transparent}
.cmdk-item .cmdk-sec{grid-row:1 / span 2;align-self:center;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:5px 9px;border-radius:8px;font-family:'Space Grotesk';font-weight:600}
.cmdk-item .cmdk-t{font-family:'Space Grotesk';font-weight:600;font-size:15px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmdk-item .cmdk-d{color:var(--muted2);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmdk-item.active{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 28%,transparent)}
.cmdk-empty{padding:30px 18px;text-align:center;color:var(--muted2);font-size:14px}
.cmdk-foot{display:flex;gap:18px;justify-content:flex-end;padding:11px 18px;border-top:1px solid var(--line);color:var(--muted2);font-size:12px}
@media(max-width:980px){.search-trigger .sk,.search-trigger kbd{display:none}.search-trigger{padding:9px 11px}}

/* ── Media figure (indexable images) ────────────────────────────────────── */
.media{margin:0;border:1px solid var(--line2);border-radius:20px;overflow:hidden;background:var(--card);box-shadow:var(--shadow)}
.media img{display:block;width:100%;height:auto}
.media figcaption{padding:15px 20px;color:var(--muted2);font-size:13.5px;border-top:1px solid var(--line);text-align:center}

/* ── Scroll progress bar ────────────────────────────────────────────────── */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:100;background:linear-gradient(90deg,var(--accent),var(--accent2),var(--good));box-shadow:0 0 14px color-mix(in srgb,var(--accent) 70%,transparent);transition:width .12s linear;border-radius:0 3px 3px 0}

/* ── Code copy button ───────────────────────────────────────────────────── */
.copy-btn{position:absolute;top:9px;right:12px;z-index:4;font-size:12px;font-family:'Inter',sans-serif;font-weight:600;padding:6px 12px;border-radius:9px;border:1px solid var(--line2);background:rgba(10,12,28,.72);color:var(--muted);cursor:pointer;transition:color var(--t) var(--ease),border-color var(--t) var(--ease),background var(--t) var(--ease);backdrop-filter:blur(6px)}
.copy-btn:hover{color:var(--ink);border-color:var(--accent);background:rgba(10,12,28,.9)}
.copy-btn.done{color:var(--good);border-color:color-mix(in srgb,var(--good) 45%,transparent)}

/* ── Footer social icons ────────────────────────────────────────────────── */
.foot-social{display:flex;gap:10px;margin-top:18px}
.foot-social a{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);display:grid;place-items:center;color:var(--muted);background:var(--card);transition:color var(--t) var(--ease),border-color var(--t) var(--ease),background var(--t) var(--ease),transform var(--t) var(--spring)}
.foot-social a:hover{color:var(--ink);border-color:var(--accent);background:var(--card2);transform:translateY(-3px)}
.foot-social svg{width:17px;height:17px;fill:currentColor;display:block}

/* ── Interactive rail switcher ──────────────────────────────────────────── */
.switcher{border:1px solid var(--line2);border-radius:24px;padding:12px;background:linear-gradient(180deg,var(--card2),transparent);box-shadow:var(--shadow)}
.switch-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:6px;background:rgba(255,255,255,.02);border-radius:16px;border:1px solid var(--line)}
.switch-tab{flex:1;min-width:120px;padding:13px 16px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--muted);font-family:'Space Grotesk';font-weight:600;font-size:15px;cursor:pointer;transition:color var(--t) var(--ease),background var(--t) var(--ease),border-color var(--t) var(--ease)}
.switch-tab:hover{color:var(--ink);background:var(--card)}
.switch-tab.active{color:var(--ink);background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 32%,transparent);box-shadow:0 6px 22px color-mix(in srgb,var(--accent) 18%,transparent)}
.switch-panels{padding:22px 14px 12px}
.switch-panel{display:none}
.switch-panel.show{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;animation:feedIn .5s var(--ease) both}
.switch-meta{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 22px}
.switch-chip{font-size:12.5px;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--muted)}
.switch-chip b{color:var(--ink);font-family:'Space Grotesk'}

/* ── Marquee band ───────────────────────────────────────────────────────── */
.marquee-wrap{padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee{display:flex;width:max-content}
.marquee-track{display:flex;align-items:center;gap:30px;padding-right:30px;white-space:nowrap;animation:marquee 38s linear infinite;font-family:'Space Grotesk';font-weight:500;font-size:15px;color:var(--muted);letter-spacing:.03em}
.marquee-track span{opacity:.78}
.marquee-track .sep{color:var(--accent);opacity:.5}
.marquee-wrap:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ── Cursor tilt ────────────────────────────────────────────────────────── */
[data-tilt]{transition:transform .35s var(--ease);transform-style:preserve-3d;will-change:transform}

/* ── Live dashboard mockup ──────────────────────────────────────────────── */
.dash{position:relative;border:1px solid var(--line2);border-radius:22px;padding:22px;background:linear-gradient(180deg,var(--card2),rgba(8,10,22,.6));box-shadow:var(--shadow),0 0 70px color-mix(in srgb,var(--accent) 10%,transparent);overflow:hidden;backdrop-filter:blur(10px)}
.dash::before{content:"";position:absolute;inset:0;background:radial-gradient(520px circle at 80% -10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%);pointer-events:none}
.dash>*{position:relative}
.dash-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.dash-title{display:flex;align-items:center;gap:9px;font-family:'Space Grotesk';font-weight:600;font-size:15px}
.dash-title .moon-sm{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--accent) 45%,#4a63cf 100%);box-shadow:0 0 14px var(--glow)}
.dash-live{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--good);padding:5px 11px;border:1px solid color-mix(in srgb,var(--good) 30%,transparent);border-radius:999px;background:color-mix(in srgb,var(--good) 10%,transparent)}
.dash-live .dot{width:6px;height:6px;border-radius:50%;background:var(--good);box-shadow:0 0 10px var(--good);animation:pulse 1.8s infinite}
.dash-balance{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:16px 0 18px;border-bottom:1px solid var(--line)}
.dash-balance .lbl{font-size:12.5px;color:var(--muted2);letter-spacing:.1em;text-transform:uppercase;width:100%}
.dash-balance .amt{font-family:'Space Grotesk';font-weight:700;font-size:clamp(26px,4vw,34px);background:linear-gradient(120deg,#fff,var(--accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.dash-balance .delta{font-size:13px;color:var(--good);font-weight:600}
.dash-bars{display:flex;align-items:flex-end;gap:7px;height:64px;margin:18px 0}
.dash-bars i{flex:1;height:var(--h);border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent2) 80%,transparent));opacity:.85;transform-origin:bottom;animation:barRise 1s var(--ease) both}
@keyframes barRise{from{transform:scaleY(.05);opacity:0}to{transform:scaleY(1);opacity:.85}}
.dash-feed{display:grid;gap:8px}
.feed-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.015);font-size:13px;animation:feedIn .6s var(--ease) both}
.feed-row:nth-child(1){animation-delay:.05s}.feed-row:nth-child(2){animation-delay:.18s}.feed-row:nth-child(3){animation-delay:.31s}.feed-row:nth-child(4){animation-delay:.44s}
@keyframes feedIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.feed-row .rail{font-size:11px;font-weight:600;padding:4px 9px;border-radius:7px;letter-spacing:.02em}
.rail.wallet{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}
.rail.card{background:rgba(255,178,125,.16);color:#ffb27d}
.rail.offline{background:color-mix(in srgb,var(--good) 16%,transparent);color:var(--good)}
.rail.prox{background:rgba(174,188,255,.14);color:#cdd6ff}
.feed-row .who{color:var(--muted);font-family:ui-monospace,monospace;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.feed-row .st{font-size:11.5px;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.feed-row .st.ok{color:var(--good)}
.feed-row .st.ok::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--good);box-shadow:0 0 8px var(--good)}

/* ── Back to top ────────────────────────────────────────────────────────── */
.to-top{position:fixed;right:22px;bottom:22px;z-index:70;width:46px;height:46px;border-radius:50%;border:1px solid var(--line2);background:rgba(10,12,28,.8);color:var(--ink);font-size:18px;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(10px);opacity:0;transform:translateY(16px) scale(.9);pointer-events:none;transition:opacity var(--t) var(--ease),transform var(--t) var(--spring),background var(--t) var(--ease)}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:color-mix(in srgb,var(--accent) 22%,var(--bg));border-color:var(--accent);transform:translateY(-2px)}

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media(max-width:980px){
.g3,.g4,.flow,.family{grid-template-columns:repeat(2,1fr)}
.stats{grid-template-columns:repeat(2,1fr);gap:30px 0}
.stat:nth-child(3)::before,.stat:nth-child(2)::before{display:none}
.foot-grid{grid-template-columns:1fr 1fr 1fr}
.navlinks{display:none}.menu-btn{display:block}.nav-cta{display:none}.g2{grid-template-columns:1fr}
.profile{grid-template-columns:1fr;text-align:center;justify-items:center}
.hero{padding:150px 0 56px}
.switch-panel.show{grid-template-columns:1fr;gap:26px}
}
@media(max-width:560px){
.g3,.g4,.flow,.family,.stats{grid-template-columns:1fr}
.stat+.stat::before{display:none}
.foot-grid{grid-template-columns:1fr 1fr}.trust{gap:16px}
}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
.reveal{opacity:1;transform:none}
}
