/*
 * Dovrin shared design tokens — palette + type.
 * Single source of truth for every page under this site so the palette stops
 * drifting per-page. Edit here; do not redeclare :root in a page <style> block.
 *
 * Page-specific layout (nav, hero, sections, components) stays in each page's
 * own <style> block and should reference these custom properties rather than
 * hardcoding hex values.
 */
:root{
  /* ink — dark surfaces (hero, demo panes, footers-on-dark) */
  --ink:#0a0e1a; --ink-2:#111729; --ink-3:#1b2236;

  /* paper — light surfaces */
  --paper:#ffffff; --paper-2:#f6f8fc; --line:#e6eaf2;

  /* text on light surfaces */
  --text:#0c1322; --muted:#586079; --faint:#8a92a6; --faint-2:#c3c9d6;

  /* brand */
  --brand:#2f5bff; --brand-2:#1d43d8; --brand-soft:#eaf0ff;

  /* status */
  --verify:#10b981; --verify-soft:#e8f8f1;
  --warn:#f59e0b; --warn-soft:#fef3e2;
  --crit:#ef4444; --crit-soft:#fdeceb;

  /* shape */
  --radius:16px; --radius-sm:10px;
  --shadow:0 1px 2px rgba(12,19,34,.04),0 8px 30px rgba(12,19,34,.08);
  --shadow-lg:0 24px 70px -20px rgba(12,19,34,.45);

  /* type */
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --sans:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}

/* ===== Base reset + primitives shared by every page ===== */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;line-height:1.55}
a{color:inherit;text-decoration:none}
h1,h2,h3{letter-spacing:-.02em;line-height:1.08;margin:0}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}

.btn{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;font-family:inherit;font-weight:600;font-size:15px;padding:12px 20px;border-radius:999px;transition:.18s}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 8px 22px -8px rgba(47,91,255,.7)}
.btn-primary:hover{background:var(--brand-2);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.btn-ghost:hover{background:var(--paper-2)}
.btn-sm{padding:9px 16px;font-size:14px}

.disclaimer{background:var(--warn-soft);border:1px solid #f6d99a;color:#7a5207;font-size:13px;border-radius:10px;padding:10px 14px;display:inline-flex;gap:9px;align-items:flex-start;margin-top:18px}
