TYPEMATCHSEO

TYPEMATCH.

V2.1

700
400
PAIRING ID: BAD-COU // ETHOS: HANDWRITING + MONOSPACE

Balancing Bad Script with Courier Prime

Anchor the expressive personality of Bad Script with the utilitarian clarity of Courier Prime.

Display Face

Bad Script

Weight: 700

Body Face

Courier Prime

Weight: 400

This pairing is engineered for teams that need a clear hierarchy without sacrificing brand voice. Bad Script brings casual, messy, handwritten energy to hero units, pricing sections, and campaign headlines. Courier Prime absorbs the heavy lifting for paragraphs, product storytelling, and UI labels with its screenplay, typewriter, classic texture and dependable rhythm. Together they create a typography stack that scales from high-impact landing pages to dense documentation without retooling your CSS tokens.

Typographic Hierarchy & Scale

H1The Quick Fox
H2The Quick Fox
H3The Quick Fox
PThe quick brown fox jumps over...
Dark Context
Aa

High contrast negative space.

Accent
Gg

Legibility on high-chroma.

Pairing Strategy

Balancing Bad Script with Courier Prime

Anchor the expressive personality of Bad Script with the utilitarian clarity of Courier Prime.

This pairing is engineered for teams that need a clear hierarchy without sacrificing brand voice. Bad Script brings casual, messy, handwritten energy to hero units, pricing sections, and campaign headlines. Courier Prime absorbs the heavy lifting for paragraphs, product storytelling, and UI labels with its screenplay, typewriter, classic texture and dependable rhythm. Together they create a typography stack that scales from high-impact landing pages to dense documentation without retooling your CSS tokens.

Bad Script thrives as a headline face thanks to its casual, messy, handwritten qualities. Use weights 400–600 for crisp editorial lockups.
Courier Prime excels in paragraphs and UI thanks to its screenplay, typewriter, classic traits. Keep it between weights 400–600 for optimal readability.
Hierarchy guidance: run a 1:1.4 modular scale and reserve Bad Script for H1–H3 while Courier Prime powers captions, body copy, and data tables.

Best-Fit Use Cases

  • High-growth SaaS landing pages that require casual hero statements with trustworthy product copy.
  • Editorial magazines and thought-leadership hubs where Bad Script can dramatize pull quotes while Courier Prime keeps 1,500-word essays skimmable.
  • Conversion funnels or onboarding flows that need Courier Prime's screenplay voice to balance Bad Script's attention-grabbing display.

Accessibility Notes

Maintain a minimum 4.5:1 contrast ratio for Courier Prime body copy and loosen letter-spacing to 0.01em for uppercase Bad Script moments. Pairing different categories demands disciplined color pairing—test both light and dark themes to ensure Courier Prime does not bloom at small sizes.

CSS Implementation Cheatsheet

:root {
  --tm-header-family: 'Bad Script', handwriting;
  --tm-body-family: 'Courier Prime', monospace;
  --tm-header-weight: 400;
  --tm-body-weight: 400;
  --tm-header-tracking: -0.04em;
  --tm-body-tracking: 0em;
}
Heading scale: clamp(2.75rem, 4.5vw, 5.25rem) for H1, clamp(1.5rem, 2.8vw, 3rem) for H2, and keep paragraph size at 1rem–1.125rem with 1.6 line-height.
Component guidance: Buttons inherit Bad Script at 400 for momentum, while forms, tables, and footnotes stay on Courier Prime with 400 weight for predictable kerning.

FAQs

Why does Bad Script make sense as the lead font?

Bad Script owns the emotional register of this system. Its casual, messy, handwritten profile helps anchor campaign creative, meaning marketing and product teams can reuse the same voice without reinventing the scale.

Where should Courier Prime show up?

Courier Prime is the workhorse. Keep it in paragraphs, long-form editorial, knowledge bases, or anywhere legibility is non-negotiable. Its screenplay, typewriter, classic qualities reduce fatigue on dense layouts.

Does this pairing support complex localization?

Yes—both families are available on Google Fonts with generous glyph coverage. Test cyrillic/latin accents early, but most Latin-based locales and UI patterns are fully supported.