/* ============================================================
   India Weather Stack — Typography
   ------------------------------------------------------------
   Display / UI : Eudoxus Sans  (the "IWS" mark — geometric)
   Serif accent : Tinos / Times New Roman ("India Weather Stack")
   Mono / data  : JetBrains Mono (coordinates, metrics, dBZ)
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-display: "Eudoxus Sans", "Plus Jakarta Sans", system-ui, sans-serif;
  --font-sans:    "Eudoxus Sans", "Plus Jakarta Sans", system-ui, sans-serif;
  --font-serif:   "Tinos", "Times New Roman", Times, serif;
  --font-mono:    "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

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

  /* ---- Type scale (1.250 major-third-ish, tuned) ---- */
  --fs-2xs:  11px;
  --fs-xs:   12px;
  --fs-sm:   14px;
  --fs-base: 16px;
  --fs-md:   18px;
  --fs-lg:   20px;
  --fs-xl:   24px;
  --fs-2xl:  30px;
  --fs-3xl:  38px;
  --fs-4xl:  48px;
  --fs-5xl:  62px;
  --fs-6xl:  80px;
  --fs-7xl:  104px;

  /* ---- Line heights ---- */
  --lh-tight:   1.05; /* @kind other */
  --lh-snug:    1.18; /* @kind other */
  --lh-normal:  1.45; /* @kind other */
  --lh-relaxed: 1.65; /* @kind other */

  /* ---- Letter spacing ---- */
  --ls-tighter: -0.03em; /* @kind other */
  --ls-tight:   -0.015em; /* @kind other */
  --ls-normal:  0; /* @kind other */
  --ls-wide:    0.04em; /* @kind other */
  --ls-wider:   0.12em; /* @kind other */ /* eyebrows / labels */
  --ls-widest:  0.22em; /* @kind other */ /* satellite-style overline */

  /* ---- Semantic roles ---- */
  --text-display-size:  var(--fs-6xl);
  --text-display-weight: var(--fw-extrabold); /* @kind font */
  --text-h1-size: var(--fs-5xl);
  --text-h2-size: var(--fs-3xl);
  --text-h3-size: var(--fs-2xl);
  --text-body-size: var(--fs-base);
  --text-label-size: var(--fs-xs);
}

/* ---- Optional helper classes (consumers may use tokens directly) ---- */
.iws-eyebrow {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  letter-spacing: var(--ls-wider);
  text-transform: uppercase;
  color: var(--color-accent);
}
.iws-display {
  font-family: var(--font-display);
  font-weight: var(--fw-extrabold);
  font-size: var(--text-display-size);
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-tight);
}
.iws-serif {
  font-family: var(--font-serif);
}
.iws-mono {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}
