/* ============================================================
   Tellus Power — Typography tokens
   Single family: DM Sans (Regular 400 / Medium 500 / SemiBold 600).
   Scale + metrics follow the brand usage chart:
     00–16px  lh 120%  tracking -1%   Regular
     16–28px  lh 140%  tracking -2%   Regular/Medium
     28–42px  lh 100%  tracking -2%   Medium
     42–76px  lh  90%  tracking -3%   Medium
     76px+    lh  90%  tracking -4%   SemiBold
   ============================================================ */
:root {
  --font-sans: "DM Sans", "DM Sans Fallback", system-ui, sans-serif;
  --font-mono: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --weight-regular: 400; /* @kind other */
  --weight-medium: 500; /* @kind other */
  --weight-semibold: 600; /* @kind other */

  /* Type scale */
  --text-xs: 12px;      /* captions, product numbers */
  --text-sm: 14px;      /* body small, card copy */
  --text-md: 16px;      /* body */
  --text-lg: 20px;      /* lede, card titles */
  --text-xl: 26px;      /* small headlines */
  --text-2xl: 34px;     /* slide sub-headlines */
  --text-3xl: 44px;     /* slide headlines */
  --text-4xl: 60px;     /* stats, hero on content slides */
  --text-5xl: 84px;     /* cover headlines */

  /* Metrics per band */
  --leading-caption: 1.2; /* @kind other */
  --leading-body: 1.4; /* @kind other */
  --leading-heading: 1.0; /* @kind other */
  --leading-display: 0.95; /* @kind other */

  --tracking-caption: -0.01em; /* @kind other */
  --tracking-body: -0.02em; /* @kind other */
  --tracking-heading: -0.02em; /* @kind other */
  --tracking-display: -0.03em; /* @kind other */
  --tracking-hero: -0.04em; /* @kind other */
  --tracking-eyebrow: 0.08em; /* @kind other */ /* uppercase eyebrows letterspaced open */
}

/* ---- LEGACY ALIASES (deprecated v1 names) ---- */
:root {
  --fw-regular: var(--weight-regular); /* @kind other */
  --fw-medium: var(--weight-medium); /* @kind other */
  --fw-semibold: var(--weight-semibold); /* @kind other */

  --text-display-size: var(--text-5xl);
  --text-display-lh: 0.9; /* @kind other */
  --text-display-ls: var(--tracking-hero); /* @kind other */
  --text-display-fw: var(--weight-semibold); /* @kind other */
  --text-h1-size: 56px;
  --text-h1-lh: 0.95; /* @kind other */
  --text-h1-ls: var(--tracking-display); /* @kind other */
  --text-h1-fw: var(--weight-medium); /* @kind other */
  --text-h2-size: 36px;
  --text-h2-lh: 1.0; /* @kind other */
  --text-h2-ls: var(--tracking-heading); /* @kind other */
  --text-h2-fw: var(--weight-medium); /* @kind other */
  --text-h3-size: 24px;
  --text-h3-lh: 1.3; /* @kind other */
  --text-h3-ls: var(--tracking-heading); /* @kind other */
  --text-h3-fw: var(--weight-medium); /* @kind other */
  --text-body-lg-size: 18px;
  --text-body-lg-lh: 1.5; /* @kind other */
  --text-body-lg-ls: var(--tracking-caption); /* @kind other */
  --text-body-size: var(--text-md);
  --text-body-lh: 1.5; /* @kind other */
  --text-body-ls: var(--tracking-caption); /* @kind other */
  --text-small-size: var(--text-sm);
  --text-small-lh: 1.45; /* @kind other */
  --text-small-ls: 0em; /* @kind other */
  --text-overline-size: var(--text-xs);
  --text-overline-lh: 1.2; /* @kind other */
  --text-overline-ls: var(--tracking-eyebrow); /* @kind other */
  --text-overline-fw: var(--weight-medium); /* @kind other */
}
