Colour palette
Primitives are hidden from pickers. Periwinkle is deprecated in v1.1 and kept for existing pages only.
Theme modes
Five surfaces as Theme modes. Set the mode on the frame a block sits on and every sem token resolves. Components never use raw colour primitives.
White
Muted text for secondary content.
Mint
Muted text for secondary content.
Sand
Muted text for secondary content.
Nautical
Muted text for secondary content.
Black
Muted text for secondary content.
Gradients
Marketing site only. One gradient per section, never two gradient sections adjacent, text always on the solid part.
Typography
Playfair Display for page titles (h1) only; Inter for everything else. Sizes shown as Desktop / Tablet / Mobile. Resize the browser to see fluid scaling.
Marketing that earns its place
Marketing that earns its place
Structured thinking for B2B growth
Structured thinking for B2B growth
Structured thinking for B2B growth
Structured thinking for B2B growth
Structured thinking for B2B growth
Structured thinking for B2B growth
Structured thinking for B2B growth
Structured thinking for B2B growth
Structured thinking for B2B growth
Structured thinking for B2B growth
Structured thinking for B2B growth
Spacing and shape
Spacing space-1 to space-12. Square corners everywhere (radius/none); screenshots take radius/screenshot. No shadows.
4px
8px
12px
16px
20px
24px
32px
40px
48px
60px
80px
112px
Shape tokens
Motion tokens
Values live in the Motion collection. Everything respects reduced motion: it appears complete and still. Below 768, ambient motion runs at half amplitude and pauses off screen.
| Token | Value | Usage |
|---|---|---|
duration-fast | 200ms | Small state changes |
duration-normal | 300ms | Hovers and state changes |
duration-reveal | 700ms | One-off reveals (1/3 in view) |
duration-stagger | 130ms | Delay between staggered items |
duration-ambient | 26s | Gradient drift loop, max 40px |
duration-connector | 3s | StackMap dotted connector flow |
duration-ribbon-a | 11s | StatBand ribbon A |
duration-ribbon-b | 13s | StatBand ribbon B, offset so they never sync |
Easings
Motifs
The 65 degree slash, the 24px dot pitch and the AccentStroke. Fixed geometry: these never scale with the viewport.
The 65 degree slash
One job per form:
Thick, filled light blue slash behind a drawing (FeatureIcon, illustrations)
Thick, filled slash beside text in accent stroke colour (FeatureList titles)
Thin line after a number (AccentStroke on Stat, StatBand, ProofStrip)
Dot pitch
24px pitch, dots in sem/border. DotField masks stretch while dots stay on the grid.