/* Roamn — Typography tokens
   Three families: Fraunces (display, worn field-guide serif),
   Hanken Grotesk (body), Spline Sans Mono (labels / meta / stamps). */

:root {
  /* ---- Families ---- */
  --font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
  --font-mono: 'Spline Sans Mono', ui-monospace, 'SF Mono', monospace;

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

  /* ---- Display scale (Fraunces) — used for headings & place names ---- */
  --text-display: 150px;   /* hero, clamp in use */
  --text-h1: 46px;
  --text-h2: 34px;
  --text-h3: 22px;
  --text-title: 19px;      /* place names, screen headers */

  /* ---- Body scale (Hanken Grotesk) ---- */
  --text-lede: 20px;
  --text-body-lg: 17px;
  --text-body: 15px;
  --text-body-sm: 13px;
  --text-caption: 11.5px;

  /* ---- Mono / label scale (Spline Sans Mono) ---- */
  --text-label: 12px;      /* section labels, nav */
  --text-label-sm: 10.5px; /* chips, stat keys, timestamps */

  /* ---- Line heights ---- */
  --lh-tight: 1.04;   /* @kind other */
  --lh-snug: 1.25;    /* @kind other */
  --lh-body: 1.6;     /* @kind other */

  /* ---- Letter spacing ---- */
  --ls-display: -0.02em;   /* @kind other */
  --ls-label: 0.1em;       /* @kind other */
  --ls-label-wide: 0.16em; /* @kind other */

  /* ---- Semantic ---- */
  --heading-family: var(--font-display);
  --body-family: var(--font-body);
  --label-family: var(--font-mono);
}
