Overview/Design system

Design system

The material
and the method.

A living specification for this site: tokens, glass surfaces, type scale, components, motion and accessibility — reviewed against the same rules the pages are built on.

Surfaces3 glass variants
Accent1 cyan + 1 violet
Type3 families
Motion≤ 700 ms

01 · Colour

Porcelain ground,
obsidian glass.

The site is light. Depth comes from smoked-glass surfaces, not from a dark page. Accents appear on less than five per cent of any screen.

Paper#EDF1F5
Paper 2#F7FAFC
Paper 3#E3E9F0
Ink#0B1420
Ink 2#1D2A38
Body#3B4A5A
Muted#5A6878
Cyan#06707E
Cyan bright#12AFC2
Violet#6558D6
Metal#C6A87C
Navy glassrgba(9,17,28,0.76)
RoleTokenRule
Ground--paperNever pure white; cool porcelain keeps glass readable
Text--ink / --body17.9:1 and 8.6:1 on paper
Accent--accentLinks, kickers, numbers only — never large fills
Secondary--violetBrand tags and rim refraction, never a gradient field
Metal--metalOne stop in the glass rim gradient; nowhere else

02 · Glass

Three surfaces,
one material logic.

Glass is an optical material: a 1px refractive rim, a specular sweep on hover, and a tint that changes with depth. It is used on navigation, hero, cards and CTA — never behind body copy.

Surface A · clear

Light tint, 18px blur, 165% saturation. Cards, meta panels, forms.

background rgba(255,255,255,.70→.34); rim 1px; shadow 0 32px 70px −34px

Surface B · smoked

Obsidian tint at 76–90%, 20px blur. Navigation, drawers, CTA panels.

background rgba(17,29,44,.90→9,17,28,.76)

Surface C · none

Editorial ground: steps, FAQ, timelines, body copy. No glass, no shadow.

Legibility first. Glass never sits behind long text.

Fallback: @supports not (backdrop-filter) swaps every surface to a 92% opaque tint — same geometry, same rim, no blur. Blur is capped at 22px and applied to fewer than a dozen elements per page; the morphing form is a single element, paused under reduced motion.

03 · Type

Serif for claims,
sans for facts.

Lora carries headlines and pull statements; Manrope carries everything a reader has to act on; Space Grotesk is reserved for labels and data.

Display · Lora 500 · clamp(38–88px) · −0.028emPowering the revolution.
H2 · Lora 500 · clamp(28–46px)One chain, six capabilities.
H3 · Manrope 600 · 19pxModule-level repair
Body · Manrope 400 · 16.5px / 1.65 · ≤ 62chEvery unit is opened, measured and logged before anything is replaced — so a module is only condemned when the data says so.
Micro · Space Grotesk · 10.5px · 0.16emCertified pre-owned

04 · Components

Buttons, fields,
cards, rows.

One primary action per screen. Glass is a container, not a decoration — if a container holds no action, it stays flat.

Text link
Focus ring

Card · capability

Icon, name, one line, link pinned to the base. Equal heights by grid.

How repair works

Card · with data

When a card carries numbers, the numbers use tabular figures and sit in their own row.

Browse grading

Card · training

No card ever holds more than 90 words. Long copy goes in an editorial block.

Curriculum

05 · Motion

Fast, quiet,
and skippable.

Motion explains a change or rewards a pointer. Nothing loops in the reader's peripheral vision except one decorative form, and that form stops under reduced motion.

MotionWhereTimingReduced motion
RevealSection entries14px rise, 700ms, 80ms staggerInstant
Specular sweepGlass on hover900ms, translateX onlyDisabled
Magnetic CTAPrimary buttons, pointer-fine only≤ 5px, spring 280msDisabled
Lens parallaxHero image3.5% of scroll, rAF-throttledDisabled
MorphDecorative orb22s ease-in-outStatic shape
DrawerMobile navigation320ms fade + 8pxInstant

06 · Content

Slots that wait
for evidence.

The testimonial and case-study components are built and styled, but they publish only with a verifiable source. No invented quotes, no placeholder logos.

Testimonial · CMS slot

“Quote pending verification.”

Fields: quote, name, role, organisation, market, date. Publish after written release.

Case study · CMS slot

Programme, market, scope, outcome.

Fields: client (or anonymised), market, fleet size, scope, handover date, outcome.

Service · CMS slot

Capability, scope, documents, lead time.

Fields: title, summary, bullet scope, document set, CTA target.

07 · Accessibility

AA, not
aspirational.

Checked against the contrast of every text/ground pair actually used, not against idealised swatches.

  • Contrast: ink on paper 17.9:1, body on paper 8.6:1, muted on paper 5.4:1, accent on paper 4.9:1 — all AA for body text.
  • Navigation: sticky bar is a real nav; drawer is role="dialog" with focus on open, Escape to close, and focus returned to the trigger.
  • Focus: 2px cyan ring at 3px offset, never removed.
  • Forms: every field has a visible label, a hint where it helps, and native validation.
  • Motion: prefers-reduced-motion removes reveal, sweep, parallax, magnetism and the morph.
  • Images: descriptive alt text, explicit width/height, lazy loading below the fold.

Why this is worth the budget

The material is the argument.

Anyone can buy a template. This is a system: a material, a type hierarchy, a content architecture and a set of evidence rules — built once, then reused across every market and every future page.