/* ── Krupal Tandel · Typography tokens ──────────────────────────
   Avenir-style geometric sans for everything human; IBM Plex Mono
   for technical detail (labels, metadata, code, coordinates). */

:root {
  /* Families */
  --font-sans: "Avenir LT Std", "Avenir Next", "Avenir", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

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

  /* Type scale — 1.25 major-third, tuned for screen */
  --text-xs:   12px;
  --text-sm:   14px;
  --text-base: 16px;
  --text-md:   18px;
  --text-lg:   22px;
  --text-xl:   28px;
  --text-2xl:  36px;
  --text-3xl:  48px;
  --text-4xl:  64px;
  --text-5xl:  84px;

  /* Line heights */
  --leading-tight:   1.08;
  --leading-snug:    1.25;
  --leading-normal:  1.5;
  --leading-relaxed: 1.7;

  /* Letter spacing */
  --tracking-tight:  -0.02em;
  --tracking-normal: 0;
  --tracking-wide:   0.04em;
  --tracking-mono:   0.06em;  /* for mono uppercase labels */

  /* Semantic roles */
  --display-family: var(--font-sans);
  --display-weight: var(--weight-heavy);
  --display-tracking: var(--tracking-tight);

  --heading-family: var(--font-sans);
  --heading-weight: var(--weight-bold);

  --body-family: var(--font-sans);
  --body-weight: var(--weight-regular);
  --body-size:   var(--text-base);
  --body-leading:var(--leading-relaxed);

  --label-family: var(--font-mono);
  --label-weight: var(--weight-medium);
  --label-size:   var(--text-xs);
  --label-tracking: var(--tracking-mono);
}
