:root{
  --bg:#FAFBFF;--bg-soft:#F4F5FB;
  --fg:#0A0E1A;--fg-dim:#3B4257;--fg-muted:#6B7389;
  --accent:#4D6FFF;--accent2:#8B6CF6;--accent3:#0EA5E9;
  --surface:rgba(255,255,255,.75);
  --border:rgba(10,14,26,.08);--border-hover:rgba(77,111,255,.2);
  --ease:cubic-bezier(.22,1,.36,1);
  --display:'Plus Jakarta Sans',Inter,system-ui,-apple-system,Segoe UI,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--fg);
  font:400 16.5px/1.75 Inter,system-ui,-apple-system,Segoe UI,sans-serif;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale
}
a{color:var(--accent);text-decoration:none;transition:opacity .2s ease}
a:hover{opacity:.75}

/* === ACCENT BAR + TOPBAR =========================================== */
.accent-bar{
  position:fixed;top:0;left:0;right:0;height:2px;z-index:1000;
  background:linear-gradient(90deg,var(--accent),var(--accent2),var(--accent3));
  opacity:.7
}
.topbar{
  position:sticky;top:2px;z-index:900;
  display:flex;align-items:center;gap:16px;
  padding:14px 5%;
  background:rgba(250,251,255,.88);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2)
}
.topbar img.brand-logo{height:44px;width:44px;object-fit:cover;object-position:50% 55%;border-radius:10px}
.topbar .brand{font:700 17px/1 var(--display);letter-spacing:-.01em;color:var(--fg)}
.topbar nav.links{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap}
.topbar nav.links a{
  padding:8px 14px;border-radius:10px;font:500 13.5px/1 Inter;color:var(--fg-dim);
  transition:all .25s var(--ease)
}
.topbar nav.links a:hover,.topbar nav.links a.active{
  color:var(--fg);background:var(--surface);opacity:1
}
.topbar nav.links a.cta{
  color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));
  box-shadow:0 0 20px rgba(107,138,255,.18)
}
.topbar nav.links a.cta:hover{box-shadow:0 0 30px rgba(107,138,255,.3)}
@media(max-width:720px){.topbar .brand{display:none}.topbar nav.links a{padding:8px 10px;font-size:12.5px}}

/* === BREADCRUMBS =================================================== */
.crumbs{
  max-width:880px;margin:32px auto 0;padding:0 24px;
  font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;
  color:var(--fg-muted)
}
.crumbs a{color:var(--fg-muted)}
.crumbs a:hover{color:var(--accent);opacity:1}
.crumbs .sep{margin:0 10px;opacity:.5}

/* === PAGE LAYOUT =================================================== */
main.page{max-width:880px;margin:0 auto;padding:48px 24px 96px}
main.page.wide{max-width:1160px}

.eyebrow{
  font:500 12px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent);margin:0 0 16px
}
h1{
  font:800 clamp(34px,5vw,58px)/1.1 var(--display);letter-spacing:-.03em;
  margin:0 0 22px;color:var(--fg)
}
h2{
  font:700 clamp(22px,3vw,30px)/1.25 var(--display);letter-spacing:-.02em;
  margin:56px 0 14px;color:var(--fg)
}
h3{font:700 17px/1.35 Inter,sans-serif;margin:26px 0 8px;color:var(--fg)}
p,li{color:var(--fg-dim);font-size:16.5px;line-height:1.8}
strong{color:var(--fg);font-weight:600}
ul{padding-left:22px;margin:12px 0}
li{margin-bottom:8px}
blockquote{
  margin:32px 0;padding:18px 22px 18px 24px;
  border-left:3px solid var(--accent);
  background:linear-gradient(90deg,rgba(77,111,255,.05),transparent);
  border-radius:0 12px 12px 0;
  font-style:normal;color:var(--fg-dim);font-size:16px;line-height:1.75
}
.lead{font-size:19px;color:var(--fg-dim);line-height:1.7;margin-top:0}
.meta{
  display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px;
  font:500 12px/1 var(--mono);letter-spacing:.05em;color:var(--fg-muted)
}
.meta .pill{
  padding:6px 12px;border-radius:999px;
  background:var(--surface);border:1px solid var(--border)
}
.meta .pill.accent{color:var(--accent);border-color:rgba(77,111,255,.25);background:rgba(77,111,255,.06)}

/* === HERO =========================================================== */
.page-hero{position:relative;overflow:hidden;padding:56px 24px 12px;max-width:880px;margin:0 auto}
.page-hero::before,.page-hero::after{
  content:"";position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none;opacity:.45
}
.page-hero::before{top:-80px;left:-80px;width:420px;height:420px;background:radial-gradient(closest-side,rgba(77,111,255,.35),transparent)}
.page-hero::after{top:60px;right:-80px;width:420px;height:420px;background:radial-gradient(closest-side,rgba(139,108,246,.3),transparent)}
.page-hero .inner{position:relative;z-index:1}

/* === CALLOUT + GRID ================================================= */
.callout{
  margin:28px 0;padding:22px 26px;
  border-radius:16px;border:1px solid var(--border);
  background:linear-gradient(135deg,rgba(77,111,255,.05),rgba(139,108,246,.05));
  font-size:15.5px;color:var(--fg-dim);line-height:1.7
}
.callout strong{color:var(--fg)}

.factgrid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;
  margin:28px 0
}
.fact{
  padding:22px;border-radius:16px;border:1px solid var(--border);
  background:var(--surface);transition:all .3s var(--ease)
}
.fact:hover{border-color:var(--border-hover);box-shadow:0 6px 24px rgba(10,14,26,.06);transform:translateY(-2px)}
.fact .k{font:700 28px/1 var(--display);letter-spacing:-.02em;color:var(--fg);margin-bottom:6px}
.fact .k.accent{background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.fact .l{font:500 11px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted)}

/* === CARDS (list pages) ============================================= */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:28px 0}
.card-link{
  display:block;padding:26px;border-radius:18px;
  border:1px solid var(--border);background:var(--surface);
  transition:all .35s var(--ease);color:inherit;opacity:1
}
.card-link:hover{border-color:var(--border-hover);box-shadow:0 12px 40px rgba(10,14,26,.08);transform:translateY(-3px);opacity:1}
.card-link .kicker{font:500 11px/1 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.card-link h3{margin:0 0 8px;font:700 19px/1.3 var(--display);letter-spacing:-.01em}
.card-link p{margin:0;font-size:14.5px;color:var(--fg-dim);line-height:1.65}
.card-link .go{margin-top:14px;display:inline-flex;align-items:center;gap:6px;font:500 13px/1 Inter;color:var(--accent)}

/* === CTA SECTION ==================================================== */
.page-cta{
  margin:56px 0 0;padding:40px;border-radius:22px;
  background:linear-gradient(135deg,rgba(77,111,255,.08),rgba(139,108,246,.08));
  border:1px solid var(--border);
  text-align:center
}
.page-cta h2{margin-top:0;font-size:24px}
.page-cta p{max-width:560px;margin:0 auto 22px}
.page-cta .actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 24px;border-radius:999px;
  font:600 14px/1 Inter;letter-spacing:.01em;
  transition:all .25s var(--ease);cursor:pointer;border:1px solid transparent
}
.btn-primary{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 24px rgba(107,138,255,.18)}
.btn-primary:hover{box-shadow:0 0 40px rgba(107,138,255,.35);opacity:1;transform:translateY(-1px)}
.btn-ghost{color:var(--fg-dim);background:var(--surface);border-color:var(--border)}
.btn-ghost:hover{color:var(--fg);border-color:var(--border-hover);opacity:1}

/* === FOOTER ========================================================= */
footer.sitefoot{
  text-align:center;padding:48px 24px 60px;margin-top:40px;
  border-top:1px solid var(--border);color:var(--fg-muted);font-size:12.5px
}
footer.sitefoot nav{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;margin-top:14px}
footer.sitefoot a{color:var(--fg-muted)}
footer.sitefoot .disc{max-width:760px;margin:16px auto 0;font-size:11.5px;opacity:.7;line-height:1.6}

/* === RESPONSIVE ===================================================== */
@media(max-width:640px){
  main.page{padding:28px 20px 72px}
  .page-hero{padding:32px 20px 8px}
  h2{margin-top:44px}
  .fact .k{font-size:22px}
}
