Email

Transactional email

A table-based layout with every value inlined, because a mail client will not read a stylesheet or resolve a custom property.

Open standalone examples/raw/email.html

Why the literals are correct here

This is the sanctioned exception. Custom properties do not resolve in most mail clients, so every colour is written as a hex — and every one of them is a value the palette declares. Audited: zero off-palette colours.

What is NOT excused by that

The constraint is that var() cannot be used, not that the values may drift. font-size and border-radius are ordinary properties every mail client handles, so their literals still have to equal ramp values. Making that assertable is the open work here.