Skip to main content
← All Foundations

Canon

Typography

Type that works. A modular scale based on φ (1.618) creates natural rhythm. Five weights for hierarchy. Fluid sizing for any screen.

Published January 8, 2026

Type Scale

Built on the golden ratio (φ = 1.618). Each step multiplies by φ for natural visual rhythm.

TokenSizeUse
--text-xs0.75remFine print, labels
--text-sm0.875remCaptions, metadata
--text-base1remBody text
--text-lg1.125remLead paragraphs
--text-xl1.25remSection intros
--text-2xl1.5remH4 headings
--text-3xl1.875remH3 headings
--text-4xl2.25remH2 headings
--text-5xl3remH1 headings
--text-display4remHero text

Font Weights

TokenWeightUse
--font-light300Display text
--font-normal400Body text
--font-medium500Emphasis
--font-semibold600Subheadings
--font-bold700Headings

Line Height

TokenValueUse
--leading-none1Single-line text
--leading-tight1.25Headings
--leading-normal1.5Body text
--leading-relaxed1.75Long-form reading

Letter Spacing

TokenValueUse
--tracking-tight-0.025emLarge headings
--tracking-normal0Body text
--tracking-wide0.025emButtons
--tracking-widest0.1emLabels, caps

Font Stack

--font-sans: 'Stack Sans Notch', system-ui, sans-serif;
--font-mono: 'JetBrains Mono', monospace;

Fluid Typography

Display text scales with viewport:

--text-display: clamp(2.5rem, 4vw + 1.5rem, 4.5rem);

Usage Example

.article-title {
  font-size: var(--text-4xl);
  font-weight: var(--font-bold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
}

.article-body {
  font-size: var(--text-base);
  font-weight: var(--font-normal);
  line-height: var(--leading-relaxed);
}

.article-meta {
  font-size: var(--text-sm);
  color: var(--color-fg-muted);
  letter-spacing: var(--tracking-wide);
}