/* Moii type tokens
   Outfit (SemiBold) — display & headings; ties directly to the wordmark.
   Hanken Grotesk — body & UI; warm, humanist, enterprise-legible.
   IBM Plex Mono — data, eyebrows, timestamps, operational labels. */
:root {
  --font-display: 'Outfit', 'Hanken Grotesk', sans-serif;
  --font-body: 'Hanken Grotesk', -apple-system, sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, monospace;

  /* Display — hero statements */
  --text-display-xl: 600 64px/1.06 var(--font-display); /* ls -0.02em */
  --text-display:    600 52px/1.08 var(--font-display); /* ls -0.02em */

  /* Headings */
  --text-h1: 600 40px/1.15 var(--font-display); /* ls -0.015em */
  --text-h2: 600 32px/1.2  var(--font-display); /* ls -0.01em */
  --text-h3: 600 24px/1.3  var(--font-display);
  --text-h4: 600 20px/1.35 var(--font-display);

  /* Body */
  --text-lead:    400 19px/1.6 var(--font-body);
  --text-body:    400 16px/1.6 var(--font-body);
  --text-body-sm: 400 14px/1.55 var(--font-body);
  --text-caption: 400 13px/1.5 var(--font-body);

  /* Operational / data */
  --text-eyebrow: 500 12px/1.4 var(--font-mono); /* uppercase, ls 0.09em */
  --text-data:    500 13px/1.45 var(--font-mono);
  --text-stat:    600 48px/1.05 var(--font-display); /* ls -0.02em */

  --tracking-display: -0.02em;
  --tracking-heading: -0.01em;
  --tracking-eyebrow: 0.09em;
}
body {
  margin: 0;
  font: var(--text-body);
  color: var(--text-primary);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--navy-800); text-decoration-color: var(--neutral-300); }
a:hover { color: var(--green-600); }
