/* Path Architects — Typography
   ------------------------------------------------------------------
   H1: Sora, heavy, tight tracking (-0.02em) — absolute authority.
   H2/H3: Sora, uppercase, wide tracking (0.1em) — structural labels.
   Body: Hanken Grotesk, light/regular, line-height >= 1.6.
   Mono: Space Mono — blueprint annotations & step indices. */

:root {
  /* Families */
  --font-display: 'Sora', 'Hanken Grotesk', system-ui, sans-serif;
  --font-body:    'Hanken Grotesk', system-ui, -apple-system, sans-serif;
  --font-mono:    'Space Mono', ui-monospace, 'SFMono-Regular', monospace;

  /* Weights */
  --weight-light:    300;
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;
  --weight-extra:    800;

  /* Type scale (1.250 major-third, 16px base) */
  --text-2xs:  0.6875rem;  /* 11px — micro labels */
  --text-xs:   0.75rem;    /* 12px */
  --text-sm:   0.875rem;   /* 14px */
  --text-base: 1rem;       /* 16px */
  --text-md:   1.125rem;   /* 18px — lede body */
  --text-lg:   1.375rem;   /* 22px */
  --text-xl:   1.75rem;    /* 28px */
  --text-2xl:  2.25rem;    /* 36px */
  --text-3xl:  3rem;       /* 48px */
  --text-4xl:  3.75rem;    /* 60px */
  --text-5xl:  4.75rem;    /* 76px — hero */

  /* Line heights */
  --leading-tight:   1.05;
  --leading-snug:    1.2;
  --leading-normal:  1.45;
  --leading-relaxed: 1.6;   /* body minimum */
  --leading-loose:   1.75;

  /* Letter spacing */
  --tracking-tighter: -0.03em;
  --tracking-tight:   -0.02em;  /* H1 */
  --tracking-normal:  0em;
  --tracking-wide:    0.06em;
  --tracking-wider:   0.1em;    /* H2/H3 structural labels */
  --tracking-widest:  0.18em;   /* eyebrow / overline */

  /* Composite semantic roles */
  --role-hero-size:    var(--text-5xl);
  --role-h1-size:      var(--text-4xl);
  --role-h2-size:      var(--text-xl);
  --role-h3-size:      var(--text-lg);
  --role-body-size:    var(--text-base);
  --role-lede-size:    var(--text-md);
  --role-label-size:   var(--text-xs);
}
