Type, colour, spacing, radii, elevation, motion. Everything downstream is built from these. Token names map 1:1 to CSS custom properties in web-system.css.
Inter for UI, IBM Plex Serif for editorial, JetBrains Mono for labels.
Reuses the brand framework tokens. See full scales in figma-handoff / 01-tokens.
8-pt grid. Use within components for padding, between for layout gap.
| Token | Value | Use |
|---|---|---|
| --s-1 | 4px | Hairline gaps within icons or between very tight elements. |
| --s-2 | 8px | Tight inline gaps, badge padding. |
| --s-3 | 12px | Form field internal padding, inline button gap. |
| --s-4 | 16px | Default gap between siblings, card inner padding. |
| --s-6 | 24px | Card padding (default), grid gutter. |
| --s-8 | 32px | Section sub-divisions, large card padding. |
| --s-12 | 48px | Section breaks within a page. |
| --s-16 | 64px | Vertical rhythm between major sections. |
| --s-20 | 80px | Page outer margins (desktop), hero padding. |
| --s-24 | 96px | Hero vertical padding. |
Web-flat. Pair with elevation to add lift.
Five levels. Combine drop shadow with hairline ring for crisp edges.
Three durations. One easing curve.
| Token | Value | Use |
|---|---|---|
| --d-1 | 120ms | Hover, focus, button press. |
| --d-2 | 200ms | Tooltips, dropdowns, accordion open. |
| --d-3 | 320ms | Modals, sheets, page transitions. |
| --ease | cubic-bezier(.4,0,.2,1) | The single curve. Standard ease-in-out. |
@media (prefers-reduced-motion: reduce) and shorten to 0–80ms or replace with cross-fades.