How the system is built
The technical side for people who will maintain it: layers, axes, pipeline and proof in code.
Three layers of tokens
A component asks for a meaning. A meaning points to a primitive. Only primitives hold raw values, so nothing above them ever hardcodes a color.
Reads a meaning. Never a raw value.
button.primary.bgSays what a value is for: text, fill, border.
color.fill.primaryThe only layer with real colors, sizes and fonts.
color.product1.500Two axes: brand and mode
Brand and light/dark are independent. Four brands times two modes give eight combinations from the same components. Pick a cell to see that lobby.
Components
Component sets in Figma and the properties each one exposes. The same component appears in every brand.
Pipeline
From a design decision to a CSS variable in production, with checks on the way.
Variables and Token Studio sets.
Tokens as JSON in the repository.
Token JSON to CSS custom properties, with checks.
One file of variables per brand and theme.
Proof in code
Open DevTools on the demo: the brand is an attribute on the root element, and the computed values follow it.
<html data-brand="aurum">
Pick another brand to see what changes.