Light the way
- Size Comp / Comf / Spac
- 60px / 95px / 180px
- ms-8
- Line height
- 1
- leading-none
- Weight
- 700
- font-weight.bold
- Family (Inter)
- Inter, sans-serif
- family.primary
- Tracking
- -0.05em
- tracking-tighter
Tokens
18 type roles, each a composed font shorthand plus a tracking value. Sizes come from the modular scale, so they change with density; families come from the kit's typeface (here: Inter).
Headings h1–h6 already use their roles (Beam foundations). Everything else opts in with a .u-type-* class — don’t set font-size or font-weight by hand. Choose a role by job: label-* for UI controls and form labels, body-* for reading text, caption and overline for metadata, display-* only for marketing-scale headlines.
Light the way
Light the way
Light the way forward
Page title
Section heading
Subsection heading
Card title
Group label
Minor heading
Lead paragraph for introductions and summaries.
Default body copy for paragraphs and UI text.
Secondary copy, table cells and dense UI.
Captions, timestamps and metadata.
Overline · eyebrow
const kit = "abl";
Large button label
Form label
Badge / small label
Each role is font: var(--beam-type-<role>) plus letter-spacing: var(--beam-type-<role>-tracking); the .u-type-* utilities set both. Example: --beam-type-h1: var(--beam-type-h1-weight) var(--beam-type-h1-size)/var(--beam-type-h1-line-height) var(--beam-type-h1-family)
primary is the UI and reading face; secondary is an editorial serif for special cases; mono is code. The kit’s typeface mode chooses all three. Kits load their own font files — if a face isn’t installed or shipped by the kit, the browser uses the generic fallback (sans-serif, serif, monospace).
| Token | Sample | Rubik | Montserrat | Inter | Geist | Roboto | System |
|---|---|---|---|---|---|---|---|
| family.primary | Acuity Experience Design | Rubik, sans-serif | Montserrat, sans-serif | Inter, sans-serif | Geist, sans-serif | Roboto, sans-serif | Inter, sans-serif |
| family.secondary | Acuity Experience Design | "Playfair Display", serif | "Playfair Display", serif | "Playfair Display", serif | "Playfair Display", serif | "Playfair Display", serif | "Playfair Display", serif |
| family.mono | Acuity Experience Design | "JetBrains Mono", monospace | "JetBrains Mono", monospace | "JetBrains Mono", monospace | "Fira Code", monospace | "Fira Code", monospace | "Cascadia Code", monospace |
| Token | Value |
|---|---|
| font-weight.regular | 400 |
| font-weight.medium | 500 |
| font-weight.semibold | 600 |
| font-weight.bold | 700 |
| Token | Sample | Value |
|---|---|---|
| leading-none | Two lines of text show the leading between them clearly. | 1 |
| leading-tight | Two lines of text show the leading between them clearly. | 1.25 |
| leading-snug | Two lines of text show the leading between them clearly. | 1.375 |
| leading-normal | Two lines of text show the leading between them clearly. | 1.5 |
| leading-relaxed | Two lines of text show the leading between them clearly. | 1.625 |
| leading-loose | Two lines of text show the leading between them clearly. | 2 |
| Token | Sample | Value |
|---|---|---|
| tracking-tighter | Acuity Experience | -0.05em |
| tracking-tight | Acuity Experience | -0.025em |
| tracking-normal | Acuity Experience | 0em |
| tracking-wide | Acuity Experience | 0.025em |
| tracking-wider | Acuity Experience | 0.05em |
| tracking-widest | Acuity Experience | 0.1em |
Generated from beam.manifest.json v0.1.0 · 2026-11-06T09:38:51.936Z · source 8dcb01076f81