| Colour | Role | 400 (main accent) | CSS var |
|---|---|---|---|
| Warm Brown | Primary | #9C7B6A | --brown-400 |
| Ochre | Secondary | #B8960F | --ochre-400 |
| Terracotta | Tertiary / Brand | #C47A5C | --terra-400 |
| Violet | Support · Politics | #7B6EDF | --violet-400 |
| Sage | Support · Sports | #30A054 | --sage-400 |
| Rose | Support · Retail | #F0508A | --rose-400 |
| Sky | Support · Tech | #4490E0 | --sky-400 |
| Earthy Red | Support · Error | #D04A3E | --red-400 |
| Cool Grey | Neutral · blank states | #7A7A7A | --grey-400 |
#1C0E08. Previous muted values (#6E4E3E) failed AA — replaced throughout.#F5EDE6
Primary text — headings, labels
AAA 14.8:1
#E2CEBF
Body copy, secondary text (replaces #C4A899)
AAA 11.2:1
#C4A899
Supporting text, captions
AAA 7.4:1
#9C7B6A
Eyebrows, muted labels (large text only, ≥18px bold)
AA 4.7:1
#6E4E3E
Previous --text3 (failed AA at 2.8:1)
FAIL 2.8:1
| --bg-primary | #1C0E08 | Page, hero sections | |
| --bg-secondary | #231208 | Nav, marquee, quiz strip | |
| --bg-card | #2A1810 | Cards, steps, plans | |
| --bg-hover | #38201A | Card hover state |
| --text | #F5EDE6 | Primary · headings AAA 14.8 | |
| --text2 | #E2CEBF (updated) | Body copy AAA 11.2 | |
| --text3 | #C4A899 (updated) | Labels, eyebrows AAA 7.4 |
| --border | rgba(245,237,230,0.07) | Default dividers | |
| --border2 | rgba(245,237,230,0.13) | Emphasis, tags, icons |