/* ===== THEME TOKENS ===== */
:root{
  --bg:#ffffff; --bg2:#f7fafc; --text:#0b1020; --muted:#5b6477;
  --card:#ffffff; --border:rgba(10,16,32,.08);
  --brand:#0ea5e9; --accent:#7c3aed; --ok:#16a34a; --warn:#f59e0b; --bad:#ef4444;
  /* Light-mode highlight tuned (soft lavender for readability) */
  --highlight-bg:#eceaff;         /* was too pale earlier */
  --highlight-text:#4b3ca3;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0a0b0f; --bg2:#0e1118; --text:#e8ecf8; --muted:#a8b0c3;
    --card:#0f1420; --border:rgba(255,255,255,.10);
    --brand:#5eead4; --accent:#7c3aed; --ok:#34d399; --warn:#fbbf24; --bad:#f87171;
    --highlight-bg:rgba(124,58,237,.16);
    --highlight-text:#c7b8ff;
  }
}
/* User override via toggle */
:root[data-theme="light"]{ --bg:#ffffff; --bg2:#f7fafc; --text:#0b1020; --muted:#5b6477;
  --card:#ffffff; --border:rgba(10,16,32,.08); --brand:#0ea5e9; --accent:#7c3aed;
  --highlight-bg:#eceaff; --highlight-text:#4b3ca3; }
:root[data-theme="dark"]{ --bg:#0a0b0f; --bg2:#0e1118; --text:#e8ecf8; --muted:#a8b0c3;
  --card:#0f1420; --border:rgba(255,255,255,.10); --brand:#5eead4; --accent:#7c3aed;
  --highlight-bg:rgba(124,58,237,.16); --highlight-text:#c7b8ff; }

/* ===== BASE ===== */
html,body{background:var(--bg); color:var(--text)}
.container{max-width:1080px;margin:0 auto;padding:0 20px}

/* Sticky header stays above content */
.hdr{
  position:sticky; top:0; z-index:1000;
  backdrop-filter:saturate(180%) blur(8px);
  background:linear-gradient(180deg,
    color-mix(in oklab, var(--bg) 85%, transparent),
    color-mix(in oklab, var(--bg) 65%, transparent));
  border-bottom:1px solid var(--border);
}
.nav a{color:var(--text);text-decoration:none}
.nav .btn{margin-left:2px}

.btn{border:1px solid var(--border);
  background:linear-gradient(180deg,
    color-mix(in oklab, var(--bg) 96%, transparent),
    color-mix(in oklab, var(--bg) 92%, transparent));
  color:var(--text);padding:10px 14px;border-radius:12px}
.btn.primary{border-color:transparent;
  background:linear-gradient(135deg,var(--accent),var(--brand));color:#071118}

.badge,.chip,.pill,.eyebrow{background:var(--highlight-bg);color:var(--highlight-text)}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px}
.chip{display:inline-block;padding:8px 12px;border-radius:999px;
  border:1px solid color-mix(in oklab, var(--highlight-bg) 70%, #0000 30%);font-weight:500}
.pill{display:inline-block;padding:6px 10px;border-radius:999px;
  border:1px solid color-mix(in oklab, var(--highlight-bg) 70%, #0000 30%);font-size:12px}
.eyebrow{display:inline-block;padding:8px 12px;border-radius:999px;font-weight:600}

h1{font-size:44px;margin:.2em 0 .5em} h2{font-size:28px;margin:0 0 .6em} h3{font-size:20px;margin:.2em 0 .4em}
.sub,.muted,.l{color:var(--muted)}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:color-mix(in oklab, var(--bg) 92%, var(--card) 8%); border:1px solid var(--border);
  border-radius:16px; padding:18px}
.pill-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
.kpi .v{font-weight:700;font-size:20px} .kpi .l{font-size:12px}
.sec-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
@media (max-width:980px){.cards{grid-template-columns:1fr} .kpis{grid-template-columns:repeat(2,1fr)}}

/* Client strip */
.logos{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;opacity:.95;margin-top:6px}
.logo-tile{background:color-mix(in oklab, var(--bg) 92%, var(--card) 8%);
  border:1px solid var(--border);border-radius:12px;height:60px;display:flex;align-items:center;justify-content:center;
  filter:grayscale(1);transition:.25s}
.logo-tile:hover{filter:none;transform:translateY(-2px)}
.logo-tile img{max-height:36px;max-width:120px;opacity:.9}
@media (max-width:980px){.logos{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.logos{grid-template-columns:repeat(2,1fr)}}

/* Theme toggle */
.theme-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;border:1px solid var(--border);cursor:pointer;user-select:none}
.theme-toggle .state{font-size:12px;color:var(--muted)}
.theme-toggle .dot{width:8px;height:8px;border-radius:999px;background:var(--accent)}

/* ===== Static fixed background ===== */
.bg-fixed{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(1200px 700px at 80% -10%, rgba(124,58,237,.12), transparent 60%),
    radial-gradient(900px 600px at 10% 20%, rgba(94,234,212,.10), transparent 50%),
    var(--bg);
}

/* ===== Reveal on scroll ===== */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease;will-change:opacity,transform}
.reveal.is-visible{opacity:1;transform:none}
.cards .card.reveal:nth-child(1){transition-delay:80ms}
.cards .card.reveal:nth-child(2){transition-delay:160ms}
.cards .card.reveal:nth-child(3){transition-delay:240ms}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1 !important; transform:none !important; transition:none !important}
}
