/* FlyHuman — Typography tokens
 * Three voices:
 *   SERIF (Source Serif Pro) — H1 display + secondary prose / pull-quotes.
 *   SANS  (Radio Canada Big) — H2–H4, body (Paragraph 1), nav links. The workhorse.
 *   MONO  (Geist Mono) — button text + captions / labels / data. Usually
 *                         UPPERCASE + tracked when used as a label. */
:root {
  --font-serif: 'Source Serif 4', 'Source Serif Pro', 'Iowan Old Style', Georgia, 'Times New Roman', serif;
  --font-sans:  'Radio Canada Big', system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-mono:  'Geist Mono', ui-monospace, 'SFMono-Regular', 'Menlo', monospace;
  --font-logo:  'Inter', 'Helvetica Neue', Arial, sans-serif;  /* wordmark lockup ONLY — FLY HUMAN, Inter Extrabold */
  --font-ui:    var(--font-sans);   /* product UI body/nav defaults to sans */
  --font-display: var(--font-serif);

  /* Weights */
  --fw-regular: 400; /* @kind font */
  --fw-medium:  500; /* @kind font */
  --fw-semibold:600; /* @kind font */
  --fw-bold:    700; /* @kind font */
  --fw-display: 800; /* @kind font */

  /* Type scale (px) */
  --text-3xs: 0.6875rem;  /* 11 */
  --text-2xs: 0.75rem;    /* 12 */
  --text-xs:  0.8125rem;  /* 13 */
  --text-sm:  0.875rem;   /* 14 */
  --text-base:1rem;       /* 16 */
  --text-md:  1.125rem;   /* 18 */
  --text-lg:  1.3125rem;  /* 21 */
  --text-xl:  1.625rem;   /* 26 */
  --text-2xl: 2.0625rem;  /* 33 */
  --text-3xl: 2.625rem;   /* 42 */
  --text-4xl: 3.375rem;   /* 54 */
  --text-5xl: 4.25rem;    /* 68 */
  --text-6xl: 5.5rem;     /* 88 */

  /* Line heights */
  --lh-tight:   1.04; /* @kind font */
  --lh-snug:    1.18; /* @kind font */
  --lh-default: 1.5; /* @kind font */
  --lh-relaxed: 1.62; /* @kind font */

  /* Tracking */
  --tracking-display: -0.02em;  /* large serif tightens */
  --tracking-tight:   -0.01em;
  --tracking-normal:  0;
  --tracking-mono:    0.01em;
  --tracking-label:   0.1em;    /* uppercase mono labels */

  /* Semantic roles */
  --role-display-font: var(--font-serif);   /* H1 — Source Serif Pro */
  --role-display-weight: var(--fw-bold);
  --role-heading-font: var(--font-sans);    /* H2–H4 — Radio Canada Big */
  --role-body-font:    var(--font-sans);    /* Paragraph 1 — Radio Canada Big */
  --role-prose-font:   var(--font-serif);   /* Paragraph 2 / pull-quote — Source Serif Pro */
  --role-nav-font:     var(--font-sans);    /* Nav links — Radio Canada Big */
  --role-button-font:  var(--font-mono);    /* Button text — Geist Mono */
  --role-caption-font: var(--font-mono);    /* Caption — Geist Mono */
  --role-label-font:   var(--font-mono);
  --role-data-font:    var(--font-mono);
}
