/* ==========================================================================
   Geek Partners — Typography tokens
   Geist for everything human; Geist Mono for the "engineering" voice
   (labels, kickers, metadata, code, stats). Tight, precise, technical.
   ========================================================================== */

:root {
  /* Families */
  --font-sans: 'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'Geist Mono', ui-monospace, 'SF Mono', 'JetBrains Mono', Menlo, monospace;
  --font-display: var(--font-sans);

  /* 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-black:    800; /* @kind other */

  /* Fluid type scale (clamp: min @ ~360px, max @ ~1440px) */
  --fs-display-xl: clamp(3rem, 1.6rem + 6.2vw, 5.5rem); /* @kind other */
  --fs-display-lg: clamp(2.5rem, 1.6rem + 4vw, 4rem); /* @kind other */
  --fs-display-md: clamp(2rem, 1.4rem + 2.7vw, 3rem); /* @kind other */
  --fs-heading-xl: clamp(1.625rem, 1.2rem + 1.9vw, 2.25rem); /* @kind other */
  --fs-heading-lg: clamp(1.375rem, 1.1rem + 1.2vw, 1.75rem); /* @kind other */
  --fs-heading-md: 1.375rem; /* @kind other */
  --fs-heading-sm: 1.125rem; /* @kind other */
  --fs-body-lg:    1.125rem; /* @kind other */
  --fs-body:       1rem; /* @kind other */
  --fs-body-sm:    0.875rem; /* @kind other */
  --fs-caption:    0.8125rem; /* @kind other */
  --fs-micro:      0.6875rem; /* @kind other */

  /* Line heights */
  --lh-tight:   1.05; /* @kind other */
  --lh-snug:    1.18; /* @kind other */
  --lh-heading: 1.25; /* @kind other */
  --lh-body:    1.6; /* @kind other */
  --lh-relaxed: 1.75; /* @kind other */

  /* Letter spacing */
  --ls-tighter: -0.03em; /* @kind other */
  --ls-tight:   -0.015em; /* @kind other */
  --ls-normal:  0em; /* @kind other */
  --ls-wide:    0.04em; /* @kind other */
  --ls-wider:   0.12em; /* @kind other */

  /* Semantic text roles */
  --text-display-weight: var(--fw-bold); /* @kind other */
  --text-heading-weight: var(--fw-semibold); /* @kind other */
  --text-eyebrow:        var(--fs-micro); /* @kind other */
}
