Accessibility
Accessibility isn’t a feature we add at the end — it’s the starting point for every decision, and it’s why the site looks the way it does. Here’s the whole system, in plain words.
Two modes, one promise
The Calm mode switch in the navigation restyles every page into a lower-stimulation layout. The content, its order, and every word stay identical — only the presentation gets quieter. Your choice is saved on your device and applied before the page paints, so there’s never a flash of the wrong mode.
- Predictable navigation. The menu never collapses into a hamburger, never reorders, and is identical on every page in both modes.
- Legible by design. Body text is set in Atkinson Hyperlegible, designed by the Braille Institute for maximum legibility. Body text never drops below 15px, lines stay comfortably short, and nothing is justified or set in all-caps.
- Keyboard-first. Every interactive element shows a visible two-tone focus ring, a skip link is the first thing the keyboard reaches, and the tab order always matches the visual order.
- Forms that talk back kindly. Errors are written in plain language, announced to screen readers, and the cursor moves to the field that needs fixing. Nothing shakes.
- Comfortable targets. Every link and button is at least 44px tall — beyond the WCAG 2.2 requirement.
- High-contrast modes respected. The site adapts to Windows High Contrast / forced-colors mode, and prints cleanly with link URLs spelled out.
Our motion policy: things we never do
Movement can be delightful for some minds and exhausting for others. Our rule: motion may only add grace to something you chose to do — never demand attention. Specifically:
- No motion plays on its own. Nothing animates on page load — decorations respond only while you hover them, and stop the moment you leave.
- No parallax, no scroll-linked animation, no scroll-jacking.
- No spring, bounce or overshoot effects; nothing faster than 200 milliseconds.
- No shakes, pulses or flashes when a form has an error. The cursor simply moves to the field that needs attention.
- No spinners. When something is working, we say so in words (“One moment…”).
- No element ever changes its position on hover, and content revealed by scrolling never hides again.
- No toasts, popups, modals or anything that appears over what you're reading.
- No autoplaying media, ever.
- Calm mode is enforced stillness: a style rule strips animation from every element, with exactly two documented exceptions — the toggle's own 250ms switch and the 0.4s page-color fade.
- Your system's reduced-motion setting is honored in both modes, independently of Calm mode.
Contrast, measured
Every text color on this site meets WCAG AA at minimum; almost all of it clears the stricter AAA bar:
| Text / surface pair | Ratio | Level |
|---|---|---|
| Body text on the page background | 7.2:1 | AAA |
| Headings on the page background | 12.5:1 | AAA |
| Captions & meta text on the page background | 6.4:1 | AA+ |
| Links (deep green) on the page background | 9.3:1 | AAA |
| Footer text on deep green | 8.8:1 | AAA |
| Body text on the deep purple band | 9.4:1 | AAA |
| Form error text on white | 9.9:1 | AAA |
If something here isn’t working for you, that’s a bug — please tell us about it and we’ll fix it.