/* Expert OPTIC — Typography tokens
   Display + UI + Body: Hanken Grotesk  ·  Script accent: Yellowtail  ·  Specs: Spline Sans Mono */

:root {
  /* Families */
  --font-display: 'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-sans:    'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-script:  'Yellowtail', 'Segoe Script', cursive;
  --font-mono:    'Spline Sans Mono', ui-monospace, 'SFMono-Regular', monospace;

  /* Weights */
  --fw-light: 300;     /* @kind other */
  --fw-regular: 400;   /* @kind other */
  --fw-medium: 500;    /* @kind other */
  --fw-semibold: 600;  /* @kind other */
  --fw-bold: 700;      /* @kind other */
  --fw-extrabold: 800; /* @kind other */

  /* Type scale (1.250 major-third-ish, tuned) */
  --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 */
  --text-lg:  1.375rem;   /* 22px */
  --text-xl:  1.75rem;    /* 28px */
  --text-2xl: 2.25rem;    /* 36px */
  --text-3xl: 3rem;       /* 48px */
  --text-4xl: 4rem;       /* 64px */
  --text-5xl: 5.5rem;     /* 88px — hero display */

  /* Line heights */
  --lh-tight: 1.05;    /* @kind other */
  --lh-snug: 1.2;      /* @kind other */
  --lh-normal: 1.5;    /* @kind other */
  --lh-relaxed: 1.7;   /* @kind other */

  /* Letter spacing */
  --ls-tight: -0.02em; /* @kind other */
  --ls-snug: -0.01em;  /* @kind other */
  --ls-normal: 0;      /* @kind other */
  --ls-wide: 0.04em;   /* @kind other */
  --ls-caps: 0.16em;   /* @kind other */

  /* ---- Semantic roles ---- */
  --display-font: var(--font-display);
  --heading-font: var(--font-display);
  --body-font: var(--font-sans);
  --label-font: var(--font-sans);
  --eyebrow-font: var(--font-sans);
  --script-font: var(--font-script);
  --spec-font: var(--font-mono);
}
