/* Overse — Typography tokens
 * One geometric family (Montserrat) carries both display & UI, echoing the
 * lowercase wordmark. Headings are heavy (700/800) and tight; body is calm.
 */

:root {
  --font-display: 'Montserrat', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-body: 'Montserrat', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-mono: ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;

  /* Weights */
  --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 (px) */
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-md: 18px;
  --text-lg: 20px;
  --text-xl: 24px;
  --text-2xl: 30px;
  --text-3xl: 38px;
  --text-4xl: 48px;
  --text-5xl: 62px;
  --text-6xl: 78px;

  /* Fluid display sizes for hero headings */
  --display-1: clamp(40px, 6vw, 78px);   /* @kind font */
  --display-2: clamp(32px, 4.4vw, 56px); /* @kind font */
  --display-3: clamp(26px, 3vw, 40px);   /* @kind font */

  /* Line heights */
  --leading-tight: 1.05;
  --leading-snug: 1.18;
  --leading-normal: 1.5;
  --leading-relaxed: 1.65;

  /* Letter spacing */
  --tracking-tighter: -0.03em;
  --tracking-tight: -0.015em;
  --tracking-normal: 0;
  --tracking-wide: 0.04em;
  --tracking-caps: 0.12em;

  /* Heading scale (H1–H6). Montserrat Bold, tight tracking, tight leading.
   * H1 may use the fluid --display-* sizes in hero contexts. */
  --h1: var(--text-5xl);   /* 62px */
  --h2: var(--text-4xl);   /* 48px */
  --h3: var(--text-3xl);   /* 38px */
  --h4: var(--text-2xl);   /* 30px */
  --h5: var(--text-xl);    /* 24px */
  --h6: var(--text-md);    /* 18px */
  /* Heavy, ebook-style headings: H1–H3 ExtraBold (800), H4–H6 Bold (700). */
  --h1-weight: var(--fw-extrabold);
  --h2-weight: var(--fw-extrabold);
  --h3-weight: var(--fw-extrabold);
  --h4-weight: var(--fw-bold);
  --h5-weight: var(--fw-bold);
  --h6-weight: var(--fw-bold);

  /* Paragraph sizes */
  --text-body-lg: var(--text-md);   /* 18px — lead paragraph */
  --text-body-sm: var(--text-sm);   /* 14px — small / caption paragraph */

  /* Semantic roles */
  --heading-weight: var(--fw-extrabold); /* headings are ExtraBold (800) */
  --heading-tracking: var(--tracking-tight);
  --heading-leading: var(--leading-tight);
  --body-weight: var(--fw-regular);
  --body-leading: var(--leading-relaxed);
  --eyebrow-weight: var(--fw-semibold);  /* clearly heavier & bigger than body */
  --eyebrow-tracking: var(--tracking-caps);
  --eyebrow-size: 18px;
}
