@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --bg: #10151a;
  --surface: #161d23;
  --surface-2: #1c242b;
  --border: #263038;
  --text: #edf1f3;
  --muted: #8fa0aa;
  --accent: #e8a33d;
  --accent-2: #5fc9be;
  --radius: 10px;
  --max: 1080px;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin:0;
  background: var(--bg);
  color: var(--text);
  font-family: 'Inter', system-ui, sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3{
  font-family: 'Space Grotesk', system-ui, sans-serif;
  line-height: 1.15;
  margin: 0 0 .5em;
  letter-spacing: -0.01em;
}
p{ margin: 0 0 1em; color: var(--text); }
a{ color: var(--accent); text-decoration: none; }
a:hover{ text-decoration: underline; }
.eyebrow{
  font-family: 'JetBrains Mono', monospace;
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent-2);
  display:block;
  margin-bottom: 1rem;
}
.wrap{ max-width: var(--max); margin: 0 auto; padding: 0 24px; }

/* header */
header{
  border-bottom: 1px solid var(--border);
  position: sticky; top:0;
  background: rgba(16,21,26,0.9);
  backdrop-filter: blur(6px);
  z-index: 10;
}
.nav{
  display:flex; align-items:center; justify-content: space-between;
  padding: 18px 24px;
  max-width: var(--max); margin:0 auto;
}
.logo{
  font-family:'Space Grotesk', sans-serif;
  font-weight:700; font-size:1.05rem; color:var(--text);
  display:flex; flex-direction:column; line-height:1.1;
}
.logo span{ font-family:'JetBrains Mono',monospace; font-weight:400; font-size:.68rem; color:var(--muted); letter-spacing:.08em; }
nav ul{ display:flex; gap:28px; list-style:none; margin:0; padding:0; }
nav ul a{ color: var(--muted); font-size:.92rem; font-weight:500; }
nav ul a:hover{ color: var(--text); text-decoration:none; }

/* hero */
.hero{ padding: 90px 24px 60px; }
.hero-grid{
  max-width: var(--max); margin:0 auto;
  display:grid; grid-template-columns: 1.1fr .9fr; gap:56px; align-items:center;
}
.hero h1{ font-size: clamp(2.1rem, 4.4vw, 3.1rem); }
.hero h1 em{ font-style:normal; color: var(--accent); }
.hero p.lead{ color: var(--muted); font-size:1.08rem; max-width: 46ch; }
.cta-row{ display:flex; gap:14px; flex-wrap:wrap; margin-top: 28px; }
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding: 13px 22px; border-radius: var(--radius);
  font-weight:600; font-size:.95rem;
  border: 1px solid transparent;
}
.btn-primary{ background: var(--accent); color:#171106; }
.btn-primary:hover{ background:#f0af52; text-decoration:none; }
.btn-ghost{ border-color: var(--border); color: var(--text); }
.btn-ghost:hover{ border-color: var(--accent-2); color: var(--accent-2); text-decoration:none; }

/* flow diagram signature */
.flow{ width:100%; height:auto; }
.flow .line{
  fill:none; stroke: var(--accent-2); stroke-width:2; stroke-dasharray: 6 8;
  animation: dash 14s linear infinite;
}
.flow .node-circle{ fill: var(--surface-2); stroke: var(--border); stroke-width:1.5; }
.flow .node-dot{ fill: var(--accent); }
.flow text{ font-family:'JetBrains Mono', monospace; font-size:11px; fill: var(--muted); }
@keyframes dash{ to{ stroke-dashoffset: -140; } }
@media (prefers-reduced-motion: reduce){ .flow .line{ animation:none; } }

/* sections */
section{ padding: 64px 24px; }
.section-head{ max-width: 640px; margin-bottom: 40px; }
.section-head h2{ font-size: clamp(1.5rem,2.6vw,2rem); }
.section-head p{ color: var(--muted); }

.grid-3{ display:grid; grid-template-columns: repeat(3,1fr); gap:22px; max-width: var(--max); margin:0 auto; }
.card{
  background: var(--surface); border:1px solid var(--border); border-radius: var(--radius);
  padding: 26px;
}
.card .num{ font-family:'JetBrains Mono',monospace; color: var(--accent); font-size:.85rem; }
.card h3{ font-size:1.15rem; margin-top:8px; }
.card p{ color: var(--muted); font-size:.95rem; margin-bottom:0; }

.about{ background: var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.about .wrap{ max-width: 720px; }

.contact-cta{ text-align:center; padding: 80px 24px; }
.contact-cta h2{ font-size: clamp(1.6rem,3vw,2.2rem); }
.contact-cta p{ color: var(--muted); max-width:52ch; margin:0 auto 28px; }

footer{ border-top:1px solid var(--border); padding: 32px 24px; }
.footer-row{
  max-width: var(--max); margin:0 auto;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
}
.footer-row .legal{ color: var(--muted); font-size:.82rem; }
.footer-links{ display:flex; gap:18px; }
.footer-links a{ color: var(--muted); font-size:.82rem; }
.footer-links a:hover{ color: var(--text); }

/* simple/legal pages */
.page{ padding: 70px 24px 90px; }
.page .wrap{ max-width: 720px; }
.page h1{ font-size: clamp(1.7rem,3.4vw,2.3rem); margin-bottom: 6px; }
.page .updated{ color: var(--muted); font-size:.85rem; margin-bottom: 40px; display:block; }
.page h2{ font-size:1.2rem; margin-top: 2.2em; }
.page ul{ color: var(--text); padding-left: 1.2em; }
.page li{ margin-bottom: .5em; }

@media (max-width: 860px){
  .hero-grid{ grid-template-columns: 1fr; }
  .grid-3{ grid-template-columns: 1fr; }
  nav ul{ display:none; }
}
