Cards

Generated from data-products/tokens/aleris-tokens.css at build. The values, the usage and constraint notes, and the contrast ratios are read and measured from that file — there is no card text to keep in step, because there is no card text. Ratios are against the three grounds a colour actually meets; a value clearing one can fail another.

Petrol

Structure and trust. Primary text, headings, navigation, dark surfaces.

Orange

Action and warmth. The ramp splits by job: 100–500 are brand tints for print and digital, 600–700 are interaction fills that exist to hold contrast on screen.

Sand

The calm everything rests on. Page ground is sand, never white; cards are white, never sand.

Warm neutrals

Even the greys lean brown, never blue.

Status

State communication only, never decoration.

Goal status

Dashboard KPI indicators, instrumental surfaces only. Always paired with an icon or shape — colour never carries a goal state alone.

Chart palette

Deliberately distinct from the brand palette, so a data point is never mistaken for interactive UI.

Type scale

14px is the hard accessibility floor.

Weights

Museo Sans has two working weights. There is no 400 — declaring one causes browser synthesis and distorts the letterforms.

Spacing

A 1.5 modular scale on a 4px grid.

Radius by role

Radius is chosen by role, not by size.

Elevation

Petrol-tinted, never neutral black. Two-part and directional since 2026-09-17: a soft light source at the top right, so every shadow drifts down and to the left.

Focus, hover and press

Focus is a dual ring and both halves are always drawn. Hover draws the outer ring only and never a fill change.

Motion

Only transform and opacity animate. ease-out arrives, ease-in-out moves; ease-in alone is never used, because a slow start reads as unresponsive.