:root {
  --bg:#FAFAFA; --white:#FFFFFF; --surface:#F4F2F7;
  --text:#1F1D29; --text-secondary:#65636E; --text-muted:#9896A0;
  --heading:#1A1825; --purple-900:#2E1065; --purple-800:#3B0F7F;
  --purple-700:#5B21B6; --purple-600:#7C3AED; --purple-100:#EDE9FE;
  --purple-50:#F5F3FF; --amber-500:#F59E0B; --amber-100:#FEF3C7;
  --border:#E5E2EB; --border-light:#F0EDF5;
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
body {
  font-family:Inter,system-ui,sans-serif; background:var(--bg); color:var(--text);
  line-height:1.65;
}
a { color:var(--purple-700); text-decoration:none; }
a:hover { color:var(--purple-600); }
h1,h2,h3 { color:var(--heading); font-feature-settings:"ss01"; line-height:1.12; }
.site-header {
  background:var(--white); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:10;
}
.header-inner {
  max-width:1120px; margin:0 auto; height:64px; padding:0 1.25rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.logo { display:flex; align-items:center; gap:0.6rem; font-weight:800; color:var(--heading); }
.logo-mark {
  width:32px; height:32px; border-radius:6px; background:var(--purple-700); color:white;
  display:grid; place-items:center; font:700 0.65rem "JetBrains Mono",monospace;
}
.nav { display:flex; align-items:center; gap:1rem; font-size:0.82rem; font-weight:600; }
.nav a { color:var(--text-secondary); }
.nav .cta {
  background:var(--purple-700); color:white; border-radius:6px; padding:0.45rem 0.8rem;
}
.page-hero {
  background:linear-gradient(135deg,var(--purple-900),var(--purple-700));
  color:white; padding:4.5rem 1.25rem 3.75rem;
}
.page-hero-inner { max-width:1120px; margin:0 auto; }
.eyebrow {
  color:var(--amber-500); font-size:0.68rem; font-weight:800; letter-spacing:0.12em;
  text-transform:uppercase; margin-bottom:0.85rem;
}
.page-hero h1 { color:white; font-size:clamp(2rem,5vw,3.4rem); max-width:820px; }
.lead { color:rgba(255,255,255,0.78); font-size:1.05rem; max-width:720px; margin-top:1rem; }
.content { max-width:1120px; margin:0 auto; padding:3rem 1.25rem; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; }
.card {
  background:white; border:1px solid var(--border); border-radius:8px; padding:1.25rem;
}
.card h3 { font-size:1rem; margin-bottom:0.45rem; }
.card p,.content p,.content li { color:var(--text-secondary); font-size:0.92rem; }
.content h2 { font-size:1.45rem; margin:2rem 0 0.85rem; }
.content h2:first-child { margin-top:0; }
.content ul,.content ol { margin-left:1.2rem; }
.stat { font:800 2rem Inter,system-ui,sans-serif; color:var(--purple-700); font-variant-numeric:tabular-nums; }
.newsletter-module {
  margin:2.25rem 0; background:linear-gradient(135deg,var(--purple-50),#FFFBEB);
  border:1px solid var(--purple-100); border-radius:10px; padding:1.25rem;
}
.newsletter-module form { display:flex; gap:0.55rem; flex-wrap:wrap; margin-top:1rem; }
input,select,textarea {
  border:1px solid var(--border); border-radius:6px; min-height:40px; padding:0.5rem 0.7rem;
  font:inherit; background:white;
}
button,.button {
  border:0; border-radius:6px; background:var(--purple-700); color:white;
  font-weight:800; padding:0.58rem 0.9rem; cursor:pointer; display:inline-block;
}
.quote {
  font-family:Newsreader,serif; font-size:1.25rem; color:var(--purple-800);
  border-left:3px solid var(--amber-500); padding-left:1rem; margin:1.5rem 0;
}
.footer {
  background:var(--heading); color:rgba(255,255,255,0.55); padding:2rem 1.25rem;
}
.footer-inner { max-width:1120px; margin:0 auto; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.footer a { color:rgba(255,255,255,0.72); }
@media (max-width:720px) {
  .nav { gap:0.55rem; font-size:0.74rem; flex-wrap:wrap; justify-content:flex-end; }
  .header-inner { height:auto; min-height:64px; align-items:flex-start; padding-top:0.85rem; padding-bottom:0.85rem; }
}
