/* ── Sigil typography ────────────────────────────────────────────────
   Trio: Inter (sans, everything structural) · Source Serif 4 (display —
   hero numerals & editorial titles only) · JetBrains Mono (data, callouts,
   metadata, spec sheets — NEVER body or headlines).
   Scale is in px with matched line-heights and tracking from the spec. */

:root {
  /* Families */
  --font-sans:    'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-serif:   'Source Serif 4', 'Iowan Old Style', Georgia, serif;
  --font-mono:    'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

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

  /* Type scale — size / line-height / tracking */
  --display-size: 96px;  --display-lh: 100px;  --display-track: -0.02em;  /* hero numerals, serif */
  --h1-size:      48px;  --h1-lh:      56px;   --h1-track:      -0.01em;
  --h2-size:      32px;  --h2-lh:      40px;   --h2-track:      -0.005em;
  --h3-size:      22px;  --h3-lh:      28px;   --h3-track:      0; /* @kind other */
  --body-lg-size: 18px;  --body-lg-lh: 28px;
  --body-size:    16px;  --body-lh:    26px;
  --body-sm-size: 14px;  --body-sm-lh: 22px;
  --caption-size: 12px;  --caption-lh: 16px;   --caption-track: 0.02em;
  /* Signature: letter-spaced small-caps section label. +0.12em tracking. */
  --overline-size: 11px; --overline-lh: 16px;  --overline-track: 0.12em;
  --data-tag-size: 10px; --data-tag-lh: 14px;  --data-tag-track: 0.06em;  /* mono */
}

/* Convenience utility classes (optional — tokens are the contract) */
.sg-display { font-family: var(--font-serif); font-weight: var(--fw-serif-light); font-size: var(--display-size); line-height: var(--display-lh); letter-spacing: var(--display-track); }
.sg-h1 { font-family: var(--font-sans); font-weight: var(--fw-semibold); font-size: var(--h1-size); line-height: var(--h1-lh); letter-spacing: var(--h1-track); }
.sg-h2 { font-family: var(--font-sans); font-weight: var(--fw-semibold); font-size: var(--h2-size); line-height: var(--h2-lh); letter-spacing: var(--h2-track); }
.sg-h3 { font-family: var(--font-sans); font-weight: var(--fw-medium); font-size: var(--h3-size); line-height: var(--h3-lh); }
.sg-body { font-family: var(--font-sans); font-weight: var(--fw-regular); font-size: var(--body-size); line-height: var(--body-lh); }
.sg-mono { font-family: var(--font-mono); font-weight: var(--fw-medium); font-variant-numeric: tabular-nums; }
/* THE signature gesture — one per view. */
.sg-overline { font-family: var(--font-sans); font-weight: var(--fw-semibold); font-size: var(--overline-size); line-height: var(--overline-lh); letter-spacing: var(--overline-track); text-transform: uppercase; }
