Voices on paper.
Three faces, one philosophy. The grid is resolution, not ruling. Type hovers above its lines, like a person writing on graph paper.
The three voices.
rebuild itself.
Paper has a signature. The eye picks it up in microseconds and never un-picks it. So we tested candidates until that eye stopped complaining, then shipped.
The philosophy: grid is resolution, not ruling.
A person writing on graph paper doesn’t put their letters exactly on a line. They hover. Consistently. Different sizes occupy different numbers of squares of height — title more, subhead fewer, body fewer still.
So: every size has an allocated line-height in 12 px multiples. Body sits in 2 cells (24 px). h2 sits in 1 major (60 px). The baseline naturally hovers just above its grid line because of CSS font metrics — we didn’t have to engineer it.
The scale stack.
Why Kalam (and not Caveat).
Caveat was bouncier. On graph paper at headline size it read as schoolbook exercise. Kalam holds the hand-drawn warmth but looks like an adult held the pen. Caveat stays loaded at --font-hand-alt for moments where the bounce is the point.
Voice rules.
- One Poet moment + one Hand moment per visible viewport. Engineer carries everything else.
- Duet: Poet headline + Engineer kicker is the signature pattern.
- Hand for display in the Lab (the field-note energy). Poet for reflective headings. Engineer for body.
- Mono (Geist Mono) only for code, data, and timestamps.