Skip to main content

Brand kit

Typography

Three faces with separate jobs. Families and sizes are in tokens.json.

TokenFaceJob
font.statementExposure, a serif (licensed separately, not in this kit)The one statement on a surface
font.textGeist (SIL Open Font License)Everything a person reads
font.labelGeist Mono (SIL Open Font License)Section labels and step numbers

Rules

  • Set one statement per surface in the serif, and nothing else. Because the serif marks the single idea the surface exists to say; a second serif line competes with it.
  • Balance the statement's lines and never break a hyphenated word across them. Because a statement read in one glance should not end on an orphaned word or a dangling "Claude-".
  • Set body copy in Geist at 15px or larger. Because smaller text strains at the distance people hold phones.
  • Set labels in Geist Mono, uppercase, 11px, in stone. Because labels name a section without competing with its content.
  • Fall back to the listed system fonts, never to a different brand face. Because a missing font should degrade quietly, not change the brand.