MCH DS

A senior-living design system built for legibility first: larger base type, higher contrast floors, and touch targets sized for hands that shake.

Status
In progress

Modern Care Homes is a senior-living operator. Its audience skews to residents over 70 and their adult children, two groups with very different devices, very different urgency, and the same low tolerance for a form that fights back.

The system starts from an accessibility floor rather than a brand palette. Every decision below is downstream of one rule: if it fails at 200% zoom, it isn't done.

Foundations

Color

The navy carries the brand. Everything else exists to keep contrast above the floor: AA is the minimum, AAA for body copy.

TokenValueContrast on surfaceUse
--mch-ink#0d1b2a16.8:1Body copy, headings
--mch-ink-muted#3d4c5c8.4:1Secondary copy, labels
--mch-brand#11326411.2:1Primary actions, links
--mch-brand-hover#0b245014.1:1Hover, pressed
--mch-surface#ffffffPage, card
--mch-surface-sunken#f4f6f9Wells, table stripes
--mch-focus#f0a2022.1:1 vs brandFocus ring only

The focus ring is deliberately off-palette. A brand-colored ring on a brand-colored button is invisible to the person who most needs it.

tokens/color.css
:root {
  --mch-ink: #0d1b2a;
  --mch-ink-muted: #3d4c5c;
  --mch-brand: #113264;
  --mch-brand-hover: #0b2450;
  --mch-surface: #ffffff;
  --mch-surface-sunken: #f4f6f9;
  --mch-focus: #f0a202;
}

Type scale

Base is 18px, not 16px. Every step below was tested at 200% browser zoom on a 1280px viewport: the condition, not the edge case.

StepSizeLine heightUse
display44px1.15Page titles
heading-132px1.2Section headings
heading-224px1.3Card titles
body-lg20px1.6Lead paragraphs
body18px1.6Default
caption16px1.5Metadata, helper text

There is no step below 16px. Legal copy included.

Spacing and targets

Base unit is 4px, but no interactive element uses less than 12px of internal padding.

Minimum touch target is 48×48px, above the WCAG 2.2 floor of 44px, because the audience skews older.

Adjacent targets carry at least 8px of dead space between them, so a near-miss does nothing rather than the wrong thing.

Components

Nothing is published to this library yet. The queue, in build order:

ComponentStatusNotes
ButtonIn FigmaThree sizes, all ≥48px tall
Text fieldIn FigmaLabel always visible, no placeholder-only inputs
Tour request formDesignThe system's highest-traffic flow
Care-level cardDesignComparison view for adult children
Site headerNot startedPhone number pinned at all breakpoints

Changelog

  • 2026-08-18: Focus ring moved off-palette after contrast testing.
  • 2026-07-09: Base type raised from 16px to 18px.
  • 2026-06-02: Foundations drafted.