Brand A, light, proposition. All 15 contrast pairs pass.
Offer
Pay in 3
On your next purchase
0% interest
Read the full terms
Offer
Pay in 3
On your next purchase
0% interest
Read the full terms
How interactive / primary resolves
Tokeninteractive/primary
Statelight · default → step 800
Sentimentproposition → {brand.accent}
BrandBrand A accent → violet
Primitiveviolet-800 = #4c308f
Components read the token at the top. Nothing below it is visible to them, so a brand, a mode or a sentiment changes the value without touching the component.
Every token on the card
A flat system would store 780 values for this one card across three brands, two modes, five sentiments and four states. The layers define 173: 110 primitives, 6 brand mappings, 5 sentiments and 52 global definitions.
System · sep 2026
One payment ticket, unchanged across three brands, two modes and five payment states. Switch the controls to see how each layer resolves the same component. Brand gives it a voice; semantic tokens preserve its meaning, so an overdue payment still reads as overdue in every brand.