Font Pair · Arial Black + Inter
All headlines use Arial Black (weight 900) — a system font with zero load overhead. Body copy uses Inter, optimised for screen and print readability. Sizes are set larger than typical to ensure comfort for all audiences.
- Never use Inter below 14 px. At 14 px use weight 500 or above, never 400.
- Body text minimum is 16 px. Preferred default is 18 px (--text-body-lg).
- Line height for all body text is 1.75 — do not tighten below 1.6.
- Max paragraph width is 65 ch (~65 characters). Wider lines fatigue the eye.
- Never use light grey body text on white. Minimum contrast ratio: 4.5 : 1 (AA).
- Avoid all-caps for anything longer than 3 words (labels and overlines only).
Reserved for full-width hero headlines only. One per page maximum.
One H1 per page. Pair with a lead paragraph (20 px Inter).
Primary section divider. Use gold (#f59b00) for accent H2 on dark backgrounds.
Card headlines and page subsections. Always followed by body text.
Use where H3 would feel too large. Avoid more than 3 H4 levels deep.
Smallest permissible headline. Never go below 18 px for Arial Black.
One lead paragraph immediately below a Display or H1. Max 2–3 sentences.
Recommended default for all marketing and web body copy.
Absolute minimum body size. Use 18 px wherever layout allows.
Use for emphasis within body text. Never use weight 700 for body — reserve that for labels.
Must use weight 500 minimum. Colour must be ≥ 4.5 : 1 contrast. Never use #aec6e8 on white at this size.
UI labels, form field labels, nav items, section eyebrows. Never use for body text — too small.
Brand Colour System
A structured palette built around Navy and Gold as primary brand anchors, with accessible tints/shades for each use context. Click any Copy button to copy the hex value to your clipboard.
Spacing Scale
An 8 px base grid. All padding, margin, and gap values snap to this scale. Never use arbitrary pixel values.
UI Components
All components use the type scale and colour tokens above. Targets are sized for touch (44 px minimum tap target) and large cursors.
| Service | Status | SLA | Last checked |
|---|---|---|---|
| Endpoint Detection | Active | 99.97% | 2 min ago |
| Cloud Posture | Active | 99.94% | 5 min ago |
| Vulnerability Scan | Scheduled | 99.80% | 12 min ago |
| SIEM Integration | Syncing | 99.91% | 1 min ago |
Contrast & Legibility Rules
WCAG 2.2 AA is the minimum. CAS targets AAA where practical. The preview column shows the text colour on its background — click Copy to grab the hex.
| Text colour | Background | Ratio | Rating | Use for | Preview & Copy |
|---|---|---|---|---|---|
#002f54 Navy | White #ffffff | 18.4 : 1 | AAA | All body text on white/off-white | A color:#002f54 |
#002f54 Navy | Off-white #f5f8fc | 17.1 : 1 | AAA | Body text on page background | A color:#002f54; background:#f5f8fc |
#324a6e Mid-blue | White #ffffff | 8.2 : 1 | AAA | Secondary body, captions | A color:#324a6e |
#f59b00 Gold | Navy #002f54 | 6.0 : 1 | AA | Headline accents on dark bg | A color:#f59b00; background:#002f54 |
#fdb94b Gold Light | Navy #002f54 | 7.7 : 1 | AAA | Body text on dark bg (Pair B) | A color:#fdb94b; background:#002f54 |
#aec6e8 Text Muted | Navy #002f54 | 7.4 : 1 | AAA | Secondary text on dark bg (Pair B) | A color:#aec6e8; background:#002f54 |
#ffffff White | Navy #002f54 | 18.4 : 1 | AAA | Body & headline text on dark bg | A color:#ffffff; background:#002f54 |
#002f54 Navy | Gold #f59b00 | 6.0 : 1 | AA | Button text on gold buttons | A color:#002f54; background:#f59b00 |
#5a7a9a Blue-grey | White #ffffff | 4.6 : 1 | AA | Placeholder text — 16 px+ only | A color:#5a7a9a |
#aec6e8 Text Muted | White #ffffff | 2.5 : 1 | Fail | ❌ Never use on white/light bg | ADo not use color:#aec6e8 ← ❌ Fail |
Copy-paste Reference
Add this block to any stylesheet that imports cas-brand.css. Inter is self-hosted from /fonts/ via /css/cas-fonts.css.
/* Typography tokens — add to any stylesheet that loads cas-brand.css */ /* Self-hosted Inter (weights 300–700, Latin) */ @import url('/css/cas-fonts.css'); :root { /* Font stacks */ --font-display: 'Arial Black', Arial, sans-serif; --font-body: 'Inter', Arial, Helvetica, sans-serif; --font-mono: 'Courier New', Courier, monospace; /* Type scale */ --text-display: 64px; --text-h1: 48px; --text-h2: 36px; --text-h3: 28px; --text-h4: 22px; --text-h5: 18px; --text-lead: 20px; --text-body-lg: 18px; /* preferred default */ --text-body: 16px; /* absolute minimum */ --text-caption: 14px; /* bold/500 only */ --text-label: 12px; /* UI labels only */ /* Line heights */ --lh-tight: 1.1; --lh-heading: 1.25; --lh-loose: 1.4; --lh-body: 1.75; --lh-caption: 1.6; /* Spacing (8 px grid) */ --space-4: 4px; --space-8: 8px; --space-12: 12px; --space-16: 16px; --space-24: 24px; --space-32: 32px; --space-48: 48px; --space-64: 64px; --space-96: 96px; /* Paragraph max-width */ --measure: 65ch; }