:root{
  --bg:#F4F7FB;
  --surface:#FFFFFF;
  --ink:#0E1A2B;
  --muted:#5B6B83;
  --line:#DAE2EC;
  --tint:#E6F0FC;
  --brand:#2D86E0;
  --logo-grad-1:#1A57C4;
  --logo-grad-2:#2D86E0;
  --logo-grad-3:#35CDEB;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0B1220;
    --surface:#121C2E;
    --ink:#EEF3F9;
    --muted:#93A3B8;
    --line:#22304A;
    --tint:#16294B;
    --logo-grad-1:#2D86E0;
    --logo-grad-2:#4AA8F5;
    --logo-grad-3:#5FE1F7;
  }
}
:root[data-theme="dark"]{
  --bg:#0B1220;
  --surface:#121C2E;
  --ink:#EEF3F9;
  --muted:#93A3B8;
  --line:#22304A;
  --tint:#16294B;
  --logo-grad-1:#2D86E0;
  --logo-grad-2:#4AA8F5;
  --logo-grad-3:#5FE1F7;
}

*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; }
.skip-link{
  position:absolute; left:-9999px; top:0;
  background:var(--surface); color:var(--ink); padding:8px 16px;
  border-radius:0 0 8px 0; z-index:100;
}
.skip-link:focus{ left:0; }

.site-nav{
  position:sticky; top:0; z-index:10;
  background:var(--surface);
  border-bottom:1px solid var(--line);
}
.site-nav__inner{
  max-width:1120px; margin:0 auto; padding:14px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.site-nav__logo{ display:flex; align-items:center; gap:8px; text-decoration:none; color:var(--ink); }
.logo-mark{ display:block; }
.logo-mark--sm{ width:28px; height:28px; }
.logo-mark--lg{ width:min(220px,45vw); height:auto; }
.logo-word{ font-size:18px; letter-spacing:-0.02em; }
.logo-word__mix{ font-weight:500; }
.logo-word__lab{ font-weight:700; }
.site-nav__links{ display:flex; gap:20px; }
.site-nav__anchor{ color:var(--muted); text-decoration:none; font-size:14px; font-weight:500; }
.site-nav__anchor:hover{ color:var(--ink); }
.site-nav__controls{ display:flex; align-items:center; gap:8px; }
.icon-btn{
  border:1px solid var(--line); background:var(--surface); color:var(--ink);
  border-radius:8px; padding:6px 10px; font-family:"Geist Mono",monospace; font-size:12px;
  cursor:pointer; text-decoration:none; display:flex; align-items:center; justify-content:center;
}
.icon-btn:hover{ border-color:var(--brand); color:var(--brand); }
.theme-icon{ width:16px; height:16px; }

.hero{
  background:#0B1220; color:#EEF3F9;
  position:relative; overflow:hidden;
  padding:80px 24px;
}
.hero::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(55% 70% at 50% 40%, rgba(45,134,224,.34), transparent 70%);
  pointer-events:none;
}
.hero__inner{
  position:relative; max-width:720px; margin:0 auto; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:24px;
}
.hero__mark{ filter:drop-shadow(0 18px 40px rgba(45,134,224,.35)); }
.hero__title{ font-size:clamp(30px,4vw,44px); letter-spacing:-0.03em; line-height:1.1; margin:0; font-weight:600; }
.hero__subtitle{ font-size:17px; color:#93A3B8; margin:0; max-width:56ch; }
.hero__ctas{ display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 20px; border-radius:10px; font-size:14px; font-weight:600;
  text-decoration:none; border:1px solid transparent; cursor:pointer;
}
.btn--primary{ background:var(--brand); color:#fff; }
.btn--primary:hover{ background:#2470bd; }
.btn--ghost{ background:transparent; border-color:var(--line); color:var(--ink); }
.hero .btn--ghost{ border-color:#22304A; color:#EEF3F9; }
.btn--ghost:hover{ border-color:var(--brand); color:var(--brand); }

.section{ padding:88px 24px; border-top:1px solid var(--line); }
.section--alt{ background:var(--tint); }
.section__inner{ max-width:1120px; margin:0 auto; }
.section__eyebrow{
  font-family:"Geist Mono",monospace; font-size:12px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--muted); margin:0 0 8px;
}
.section__title{ font-size:32px; letter-spacing:-0.02em; margin:0 0 14px; font-weight:600; }
.section__lede{ max-width:64ch; color:var(--muted); font-size:16px; margin:0 0 24px; }
.badge{
  display:inline-flex; align-items:center; font-family:"Geist Mono",monospace;
  font-size:12px; padding:4px 10px; border-radius:999px; margin-bottom:24px;
}
.badge--soon{ background:var(--tint); color:var(--brand); border:1px solid var(--line); }
.section--alt .badge--soon{ background:var(--surface); }
.section__grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px; margin:0 0 32px;
}
.feature-card{ background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:20px; }
.feature-card__title{ font-size:16px; margin:0 0 6px; font-weight:600; }
.feature-card__text{ font-size:14px; color:var(--muted); margin:0; }
.section__ctas{ display:flex; gap:12px; flex-wrap:wrap; }
.section__license{ margin:16px 0 0; font-size:13px; color:var(--muted); }

.site-footer{ border-top:1px solid var(--line); padding:32px 24px; }
.site-footer__inner{
  max-width:1120px; margin:0 auto; display:flex; align-items:center;
  gap:16px; flex-wrap:wrap; justify-content:space-between;
}
.site-footer__rights{ color:var(--muted); font-size:13px; margin:0; }
.site-footer__links{ display:flex; gap:16px; }
.site-footer__links a{ color:var(--muted); font-size:13px; text-decoration:none; }
.site-footer__links a:hover{ color:var(--ink); }

@media (max-width:768px){
  .site-nav__links{ display:none; }
  .section{ padding:56px 20px; }
  .hero{ padding:56px 20px; }
}
