The Heritage Village Record About the System
A companion essay to the specimen — the vocabulary, tokens, and intentions behind every page. Merriweather for the reading, Merriweather Sans for the marginalia, and a handful of warm neutrals that do most of the rest of the work.
I.
Part One
The parts of a publication's page, as named in this specimen. Old-newspaper vocabulary — if a term looks unfamiliar, this is where it is defined.
h1, display, display-xl.h1 or display size.Colophon section of this specimen.II.
Part Two
The properties of type these components use — the grammar behind the editorial vocabulary.
line-height). Tighter for big type, looser for small. Body here runs at 1.7, display at 1.0–1.05.letter-spacing). Negative tracking tightens big type; positive tracking opens up small uppercase labels. Display here uses −0.035 to −0.045em; small-caps eyebrows use +0.18em.clamp(). Used for display sizes; fixed rem values are used for body and UI, per design-system convention.remchmax-width on paragraphs by character count.clamp(min, preferred, max)hanging-punctuation: first last.font-variant-numeric: oldstyle-nums).tabular-nums).III.
Part Three
A quick reference for the tokens, scale, weights, measure, and palette — enough to drop the system into any page.
| Token | Stack |
|---|---|
--font-serif | “Merriweather”, Iowan Old Style, Georgia, serif |
--font-sans | “Merriweather Sans”, Inter, Arial, sans-serif |
Merriweather carries every word that carries meaning — headings, body, pull quotes, lede. Merriweather Sans is reserved for the architecture around the words: eyebrows, bylines, captions, datelines, tags, folios, small UI.
| Token | Size | Leading | Use |
|---|---|---|---|
--step-overline | 11 px | 1.4 | Small-caps eyebrows, section markers |
--step-caption | 12.5 px | 1.5 | Image captions, byline meta |
--step-small | 14 px | 1.55 | Footnotes, marginalia |
--step-body | 17 px | 1.7 | Article body (max-width 68ch) |
--step-lede | 20 → 24 px | 1.55 | Italic opening paragraphs |
--step-h4 | 22 px | 1.25 | Subheads |
--step-h3 | 26 → 32 px | 1.2 | Section headings |
--step-h2 | 32 → 44 px | 1.15 | Major headings |
--step-h1 | 44 → 68 px | 1.05 | Article titles |
--step-display | 68 → 128 px | 1.0 | Landing displays |
--step-display-xl | 56 → 220 px | 0.92 | Mastheads, issue covers |
Display sizes are fluid (clamp), body and UI sizes are fixed rem values — consistent with the guidance that app and UI chrome use fixed scales while editorial displays breathe with the viewport.
Preferred defaults: body 400, emphasis italic 400, headings 700–900, sans labels 500–600.
--measure)−0.02 to −0.045em); +0.18em + uppercase for eyebrows and small-caps sans| Token | Hex | Use |
|---|---|---|
--ink | #2a2522 | Body text, headings |
--ink-muted | #5a5752 | Secondary copy, metadata |
--ink-quiet | #8a857f | Tertiary copy, folios |
--paper | #f7f3f0 | Background |
--paper-deep | #efe9e4 | Editorial spread, figure plates |
--accent-warm | #b08783 | Eyebrows, rules, dropcap flourish, editorial accents |
--accent-cool | #0f9488 | Call-to-action links (used sparingly) |
--rule / --rule-strong | #d8d1c9 / #a9a29a | Hairlines |
--invert-paper | #1e1b19 | Dark specimen spread |
Neutrals are warm-tinted toward parchment; rosy-taupe does most of the expressive work. Teal appears only for occasional interactive cues — it's rare on purpose.
IV.
Part Four
Each class in typography.css maps to something a
magazine page actually needs.
.display, .display--xl — titling.lede — italic opening paragraph.eyebrow, .eyebrow--accent, .eyebrow--small — small-caps sans label.smallcaps — inline small-caps sans.byline, .dateline, .caption, .footnote, .folio — magazine furniture.article, .article__title, .article__lede, .article__graf, .article__pullquote, .article__subhead, .dropcap — long-form article shell (with two-column body).inline-link — body link with soft underline growth on hover.rule, .rule--double — horizontal rulesV.
Part Five
What this system refuses to do, and what it reaches for instead.
VI.
Part Six
To use this on any Heritage Village page — three steps, no build tooling, no dependencies beyond Google Fonts.
index.html in your document <head>.typography.css — or copy the :root token block plus the base rules.