:root{
  --ink:#161a1f;
  --paper:#f0f2ef;
  --paper-raised:#ffffff;
  --line:#d7dbd6;
  --muted:#5b6560;
  --accent:#2d4bff;
  --accent-ink:#ffffff;
  --tag:#ffcc33;
  --tag-ink:#161a1f;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ink:#eef0ec;
    --paper:#111412;
    --paper-raised:#181c19;
    --line:#2a2f2b;
    --muted:#9aa39c;
    --accent:#6b84ff;
    --accent-ink:#0a0c12;
    --tag:#ffd34d;
    --tag-ink:#161a1f;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --ink:#eef0ec;
  --paper:#111412;
  --paper-raised:#181c19;
  --line:#2a2f2b;
  --muted:#9aa39c;
  --accent:#6b84ff;
  --accent-ink:#0a0c12;
  --tag:#ffd34d;
  --tag-ink:#161a1f;
  color-scheme:dark;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--ink);
  margin:0;
  font-family:'Public Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  padding-inline:20px;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent);}
.wrap{max-width:960px;margin:0 auto;}

header.top{
  display:flex;justify-content:space-between;align-items:center;
  padding-block:22px;border-bottom:1px solid var(--line);
  flex-wrap:wrap;gap:12px;
}
.brand{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:1.3rem;
  letter-spacing:-0.01em;
  display:flex;align-items:center;gap:8px;
  text-decoration:none;color:var(--ink);
}
.brand .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block;}
nav.topnav{display:flex;gap:22px;font-size:0.85rem;color:var(--muted);}
nav.topnav a{color:var(--muted);text-decoration:none;}
nav.topnav a:hover{color:var(--ink);}
nav.topnav a.active{color:var(--ink);font-weight:600;}

.eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:0.72rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--muted);
}

.hero{
  padding-block:56px 40px;
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:40px;
  align-items:center;
}
@media (max-width:760px){ .hero{grid-template-columns:1fr;} }

h1{
  font-family:'Fraunces', serif;
  font-weight:600;
  font-size:clamp(2.1rem, 4.4vw, 3.1rem);
  line-height:1.05;
  letter-spacing:-0.01em;
  margin:14px 0 18px;
  text-wrap:balance;
}
h1 em{color:var(--accent);font-style:normal;}

.lede{
  font-size:1.05rem;
  color:var(--muted);
  max-width:46ch;
  line-height:1.55;
  margin-bottom:28px;
}

.cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.btn{
  font-family:'Public Sans', sans-serif;
  font-weight:600;
  font-size:0.92rem;
  padding:12px 20px;
  border-radius:8px;
  border:1px solid transparent;
  cursor:pointer;
  text-decoration:none;
  display:inline-block;
}
.btn.primary{background:var(--accent);color:var(--accent-ink);}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line);}
.btn.primary:hover{opacity:0.9;}
.btn.ghost:hover{border-color:var(--muted);}

.mock{
  background:var(--paper-raised);
  border:1px solid var(--line);
  border-radius:14px;
  padding:18px;
  box-shadow:0 1px 0 var(--line);
}
.mock .query{
  font-size:0.85rem;color:var(--muted);
  border-bottom:1px solid var(--line);
  padding-bottom:12px;margin-bottom:12px;
}
.mock .query b{color:var(--ink);}
.reasoning{
  font-family:'JetBrains Mono', monospace;
  font-size:0.76rem;
  color:var(--muted);
  line-height:1.6;
  margin-bottom:14px;
  white-space:pre-wrap;
}
.picks{display:flex;gap:10px;}
.pick{
  flex:1;background:var(--paper);border:1px solid var(--line);
  border-radius:10px;padding:10px;font-size:0.78rem;
}
.pick .swatch{
  height:46px;border-radius:6px;margin-bottom:8px;
}
.pick .name{font-weight:600;margin-bottom:2px;}
.pick .why{color:var(--muted);font-size:0.72rem;}
.tagpill{
  display:inline-block;background:var(--tag);color:var(--tag-ink);
  font-family:'JetBrains Mono', monospace;font-size:0.68rem;
  padding:2px 7px;border-radius:5px;margin-top:6px;
}

section{padding-block:48px;border-top:1px solid var(--line);}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:28px;flex-wrap:wrap;}
h2{
  font-family:'Fraunces', serif;font-weight:600;
  font-size:1.6rem;margin:0;letter-spacing:-0.01em;
}
h3{font-family:'Fraunces',serif;font-weight:600;letter-spacing:-0.01em;}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:760px){ .steps{grid-template-columns:1fr;} }
.step{border:1px solid var(--line);border-radius:12px;padding:18px;background:var(--paper-raised);}
.step .num{
  font-family:'JetBrains Mono', monospace;color:var(--accent);
  font-size:0.78rem;margin-bottom:10px;
}
.step h3{font-size:1rem;margin:0 0 8px;font-family:'Public Sans',sans-serif;font-weight:700;}
.step p{font-size:0.88rem;color:var(--muted);line-height:1.5;margin:0;}

.stats{display:flex;gap:30px;flex-wrap:wrap;margin-top:6px;}
.stat{min-width:120px;}
.stat .n{
  font-family:'Fraunces',serif;font-weight:600;font-size:1.8rem;
  font-variant-numeric:tabular-nums;
}
.stat .l{font-size:0.78rem;color:var(--muted);}

.waitlist{
  background:var(--paper-raised);border:1px solid var(--line);
  border-radius:14px;padding:26px;
  display:flex;gap:20px;justify-content:space-between;align-items:center;flex-wrap:wrap;
}
.waitlist h3{font-size:1.2rem;margin:0 0 6px;}
.waitlist p{margin:0;color:var(--muted);font-size:0.9rem;max-width:40ch;}
form.join{display:flex;gap:8px;flex-wrap:wrap;}
input[type=email]{
  border:1px solid var(--line);border-radius:8px;padding:11px 12px;
  font-family:'Public Sans',sans-serif;font-size:0.9rem;background:var(--paper);color:var(--ink);
  min-width:220px;
}
.note{font-size:0.78rem;color:var(--muted);margin-top:10px;}

footer{padding-block:34px 50px;color:var(--muted);font-size:0.82rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}
footer .contact{display:flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;}
.copybtn{
  border:1px solid var(--line);background:transparent;color:var(--muted);
  border-radius:6px;padding:3px 8px;font-size:0.72rem;cursor:pointer;
}
.copybtn:hover{color:var(--ink);border-color:var(--muted);}

/* --- about & team pages --- */
.page-head{padding-block:48px 16px;}
.page-head .eyebrow{margin-bottom:10px;}
.page-head h1{font-size:clamp(1.9rem, 3.6vw, 2.6rem);}
.page-head p.lede{margin-bottom:0;}

.content-block{max-width:68ch;}
.content-block p{line-height:1.65;color:var(--ink);font-size:0.98rem;margin-bottom:16px;}
.content-block p.muted-lede{color:var(--muted);font-size:1.02rem;}

.arch-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.arch-list li{
  border:1px solid var(--line);border-radius:10px;padding:14px 16px;
  background:var(--paper-raised);display:grid;grid-template-columns:150px 1fr;gap:14px;
}
@media (max-width:640px){ .arch-list li{grid-template-columns:1fr;} }
.arch-list .svc{
  font-family:'JetBrains Mono', monospace;font-size:0.8rem;color:var(--accent);font-weight:500;
}
.arch-list .desc{font-size:0.88rem;color:var(--muted);line-height:1.5;}

.roadmap{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;}
.roadmap li{
  display:grid;grid-template-columns:110px 1fr;gap:16px;
  padding-block:16px;border-top:1px solid var(--line);
}
.roadmap li:first-child{border-top:none;}
@media (max-width:640px){ .roadmap li{grid-template-columns:1fr;} }
.roadmap .when{font-family:'JetBrains Mono',monospace;font-size:0.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.04em;}
.roadmap .what strong{display:block;margin-bottom:3px;}
.roadmap .what span{color:var(--muted);font-size:0.9rem;}

.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
@media (max-width:640px){ .team-grid{grid-template-columns:1fr;} }
.team-card{
  border:1px solid var(--line);border-radius:14px;background:var(--paper-raised);
  padding:24px;display:flex;flex-direction:column;gap:14px;
}
.avatar{
  width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif;font-weight:600;font-size:1.2rem;
  background:var(--accent);color:var(--accent-ink);
}
.team-card .name{font-family:'Fraunces',serif;font-weight:600;font-size:1.2rem;}
.team-card .role{
  font-family:'JetBrains Mono',monospace;font-size:0.76rem;color:var(--accent);
  text-transform:uppercase;letter-spacing:0.04em;
}
.team-card .affil{font-size:0.82rem;color:var(--muted);}
.team-card .bio{font-size:0.9rem;color:var(--ink);line-height:1.55;margin:0;}
