
:root{
  --bg:#0F1113; --surface:#16191C; --surface-2:#1E2329; --line:#2A2F34; --line-soft:#21262A;
  --text:#F4F1EA; --dim:#9A9486; --faint:#6E6A60;
  --accent:#1CB4C6; --accent-deep:#0E7C86; --tint:#10272C;
  --m1:#3A78F0; --m2:#1CB4C6; --m3:#27B07D; --m4:#8B63E6; --m5:#E0A52A; --m6:#D86A4F;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'Manrope',system-ui,-apple-system,sans-serif;line-height:1.62;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
h1,h2,h3{font-family:'Space Grotesk',sans-serif;font-weight:700;line-height:1.08;letter-spacing:-.01em}
.k{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.wrap{max-width:1060px;margin:0 auto;padding:0 24px}
::selection{background:var(--accent);color:#06181b}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}

/* header */
header.site{position:sticky;top:0;z-index:50;background:rgba(15,17,19,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{max-width:1060px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:11px;color:var(--text)}
.mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--accent);color:#06181b;font-family:'Space Grotesk';font-weight:700;font-size:13px;letter-spacing:.02em}
.wm{font-family:'Space Grotesk';font-weight:700;font-size:17px}
header nav{display:flex;align-items:center;gap:22px}
header nav a{color:var(--dim);font-weight:600;font-size:15px}
header nav a:hover,header nav a.on{color:var(--text)}
.btn-sm{background:var(--accent);color:#06181b!important;padding:9px 16px;border-radius:999px}
.btn-sm:hover{background:#34c6d6}

/* hero */
.hero{padding:88px 0 64px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(900px 360px at 18% -10%,rgba(28,180,198,.13),transparent 70%);pointer-events:none}
.hero .wrap{position:relative}
.hero h1{font-size:clamp(40px,7vw,76px);margin:16px 0 18px;max-width:13ch}
.hero h1 em{font-style:normal;color:var(--accent)}
.lead{font-size:clamp(17px,2.2vw,21px);color:var(--dim);max-width:54ch;margin-bottom:34px}
.stats{display:flex;gap:34px;flex-wrap:wrap;margin-top:40px}
.stat b{font-family:'Space Grotesk';font-size:30px;display:block;line-height:1}
.stat span{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}

/* waitlist form */
.wait{margin-top:6px;max-width:480px}
.wait form{display:flex;gap:10px;flex-wrap:wrap}
.wait input[type=email]{flex:1;min-width:220px;background:var(--surface);border:1px solid var(--line);color:var(--text);
  font-family:'Manrope';font-size:16px;padding:14px 16px;border-radius:10px}
.wait input::placeholder{color:var(--faint)}
.wait input:focus{border-color:var(--accent);outline:none}
.wait button{background:var(--accent);color:#06181b;border:0;font-family:'Manrope';font-weight:700;font-size:16px;
  padding:14px 24px;border-radius:10px;cursor:pointer}
.wait button:hover{background:#34c6d6}
.wait .fine{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.04em;color:var(--faint);margin-top:12px}

/* sections */
section.band{padding:74px 0;border-bottom:1px solid var(--line)}
.eyebrow-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:30px}
.eyebrow-row h2{font-size:clamp(26px,3.6vw,38px)}
.sub{color:var(--dim);max-width:60ch;margin:8px 0 0}

/* module grid */
.mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.mcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;border-top:3px solid var(--mc);transition:transform .15s,border-color .15s}
.mcard:hover{transform:translateY(-3px)}
.mcard .mk{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.16em;color:var(--mc);text-transform:uppercase}
.mcard h3{font-size:20px;margin:10px 0 8px;color:var(--text)}
.mcard p{color:var(--dim);font-size:14.5px}
.mcard .cnt{margin-top:14px;font-family:'JetBrains Mono';font-size:12px;color:var(--faint)}

/* sample cards */
.samples{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.scard{display:block;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;color:var(--text);transition:transform .15s,border-color .15s}
.scard:hover{transform:translateY(-3px);border-color:var(--accent)}
.scard .tag{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mc)}
.scard h3{font-size:18px;margin:9px 0 8px}
.scard p{color:var(--dim);font-size:14px;line-height:1.5}
.scard .open{margin-top:14px;font-family:'JetBrains Mono';font-size:11px;letter-spacing:.1em;color:var(--accent)}

/* catalog */
.catmod{margin:0 0 44px}
.catmod .head{display:flex;align-items:baseline;gap:14px;padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.catmod .head .dot{width:11px;height:11px;border-radius:50%;background:var(--mc);flex:0 0 auto;align-self:center}
.catmod .head h3{font-size:22px}
.catmod .head .c{margin-left:auto;font-family:'JetBrains Mono';font-size:12px;color:var(--faint)}
.tool{display:flex;gap:14px;align-items:flex-start;padding:13px 4px;border-bottom:1px solid var(--line-soft)}
.tool .ti{flex:1}
.tool .tt{font-weight:600;font-size:16px}
.tool a.tt{color:var(--accent)}
.tool .bl{color:var(--dim);font-size:13.5px;margin-top:2px}
.tool .badge{font-family:'JetBrains Mono';font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px;white-space:nowrap;align-self:center}
.tool.lock{opacity:.62}
.tool.lock .tt{color:var(--dim)}
.badge.free{background:rgba(28,180,198,.15);color:var(--accent);border:1px solid rgba(28,180,198,.4)}
.badge.locked{background:var(--surface);color:var(--faint);border:1px solid var(--line)}

/* cta band */
.ctaband{padding:84px 0;background:linear-gradient(180deg,var(--surface),var(--bg));border-bottom:1px solid var(--line)}
.cwrap{max-width:760px;margin:0 auto;padding:0 24px;text-align:center}
.cwrap .ck{font-family:'JetBrains Mono';font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.cwrap h2{font-size:clamp(28px,4.4vw,44px);margin-bottom:14px}
.csub{color:var(--dim);font-size:17px;max-width:52ch;margin:0 auto 28px}
.btn{display:inline-block;font-weight:700;border-radius:999px;padding:14px 26px;margin:6px}
.btn:not(.ghost){background:var(--accent);color:#06181b}
.btn:not(.ghost):hover{background:#34c6d6}
.btn.ghost{border:1px solid var(--line);color:var(--text)}
.btn.ghost:hover{border-color:var(--accent)}

/* footer */
footer.site{padding:54px 0 60px}
.fwrap{max-width:1060px;margin:0 auto;padding:0 24px}
.fbrand{font-family:'Space Grotesk';font-weight:700;font-size:18px;display:flex;align-items:center;gap:10px}
.fnote{color:var(--dim);margin:12px 0 18px;max-width:48ch}
.flinks{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.flinks a{color:var(--dim);font-size:14px}
.flinks a:hover{color:var(--text)}
.fcopy{font-family:'JetBrains Mono';font-size:11px;color:var(--faint)}

/* thanks */
.thanks{min-height:62vh;display:grid;place-items:center;text-align:center;padding:80px 24px}
.thanks h1{font-size:clamp(34px,6vw,58px);margin:18px 0 14px}
.thanks p{color:var(--dim);font-size:18px;max-width:46ch;margin:0 auto 26px}

@media (max-width:620px){
  .hero{padding:60px 0 48px}
  header nav{gap:14px}.wm{display:none}
  .stats{gap:24px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
