/* ==========================================================================
   KARBO — Typography tokens
   Typeface: Plus Jakarta Sans (self-hosted variable font) — the permanent
   choice, not a placeholder. The real Devialet reference site uses Euclid
   Square (Swiss Typefaces, commercial license); the user does not hold
   that license, so Plus Jakarta Sans — the geometric sans most commonly
   used as a free Euclid Circular/Square substitute (monocular 'a', similar
   proportions/weight range) — is used everywhere instead: display titles,
   body copy, and overline labels. IBM Plex Mono remains for figures
   (prices, scores, Max Wire Price).
   ========================================================================== */

@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('../assets/fonts/PlusJakartaSans-Variable.woff2') format('woff2');
  font-weight: 200 1000;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('../assets/fonts/IBMPlexMono-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('../assets/fonts/IBMPlexMono-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-serif-display: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
  --font-serif-body:    'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
  --font-sans:          'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
  --font-mono:          'IBM Plex Mono', 'SF Mono', Consolas, monospace;

  /* ---- Display (report covers, hero titles) ---- */
  --text-display-size:   clamp(3rem, 2.4rem + 3vw, 6rem);
  --text-display-weight: 800;
  --text-display-lh:     1.02;
  --text-display-ls:     -0.01em;

  /* ---- Headline (section titles) ---- */
  --text-h1-size:   clamp(2rem, 1.7rem + 1.4vw, 3rem);
  --text-h1-weight: 800;
  --text-h1-lh:     1.08;

  --text-h2-size:   1.75rem;
  --text-h2-weight: 700;
  --text-h2-lh:     1.15;

  --text-h3-size:   1.25rem;
  --text-h3-weight: 600;
  --text-h3-lh:     1.25;

  /* ---- Body ---- */
  --text-body-size:   1.0625rem;
  --text-body-weight: 400;
  --text-body-lh:     1.6;

  --text-body-lg-size: 1.25rem;
  --text-body-lg-lh:   1.55;

  --text-small-size: 0.875rem;
  --text-small-lh:   1.5;

  /* ---- Eyebrow / overline labels (spaced capitals) ---- */
  --text-eyebrow-size:   0.75rem;
  --text-eyebrow-weight: 500;
  --text-eyebrow-ls:     0.18em;
  --text-eyebrow-lh:     1.4;

  /* ---- Figures (score, price, verdict codes) ---- */
  --text-figure-size:   3rem;
  --text-figure-weight: 500;
}
