Ready

Typography

The Quantum Design System type system provides a consistent, scalable hierarchy for every Q360 application. It is built from CSS custom properties (design tokens) plus a set of opt-in qds- utility and semantic classes, so applications adopt the scale deliberately rather than having base HTML elements restyled underneath them.

Font Families

QDS has two primary typefaces: IBM Plex Sans for interface and body text, and EB Garamond for display and editorial headings. IBM Plex Mono is the numeric typeface used wherever figures must align. Roboto and Open Sans are retained only as sans-serif fallbacks and should not be chosen as primary faces.

Primary · Sans

IBM Plex Sans

AaBbCcDd 0123456789 &?!

Token
--theme-font-family
Use for
UI, body copy, labels, controls
Fallbacks
Roboto, Open Sans, sans-serif
Primary · Serif

EB Garamond

AaBbCcDd 0123456789 &?!

Token
--theme-font-family-serif
Use for
Display headings, editorial & brand moments
Fallbacks
Georgia, Times New Roman, serif
Numeric · Mono

IBM Plex Mono

0123456789 $ € £ .,%

Token
--theme-font-family-mono
Alias
--qds-font-family-numeric
Use for
Financial tables, code, aligned figures

Type Scale

Font sizes are exposed as tokens. The xslg body sizes are the long-standing defaults; xl through display are the display/heading steps. Reference the token rather than a raw pixel value.

--theme-font-size-xs · 12px
The quick brown fox jumps over the lazy dog
--theme-font-size-sm · 14px
The quick brown fox jumps over the lazy dog
--theme-font-size-md · 16px
The quick brown fox jumps over the lazy dog
--theme-font-size-lg · 18px
The quick brown fox jumps over the lazy dog
--theme-font-size-xl · 20px
The quick brown fox jumps over the lazy dog
--theme-font-size-2xl · 24px
The quick brown fox jumps over the lazy dog
--theme-font-size-3xl · 30px
The quick brown fox jumps over the lazy dog
--theme-font-size-4xl · 36px
The quick brown fox jumps over the lazy dog
--theme-font-size-display · 48px
Display

Semantic Text Styles

These opt-in classes bundle size, weight, and line-height into a canonical hierarchy. Apply them to any element (<h1>, <p>, <span>) — because they are classes, adopting them never changes the appearance of unstyled markup elsewhere.

.qds-display
Display heading
.qds-h1
Heading level 1
.qds-h2
Heading level 2
.qds-h3
Heading level 3
.qds-h4
Heading level 4
.qds-h5
Heading level 5
.qds-h6
Heading level 6
.qds-body-lg
Large body text for lead paragraphs and introductions.
.qds-body
Default body text used for the bulk of readable content.
.qds-caption
Caption text for secondary, supporting detail.
.qds-overline
Overline label
.qds-code
const rate = 0.075;

Font Weights

IBM Plex Sans is available across five weights. Reference the weight tokens rather than raw numbers.

--theme-font-weight-light · 300
Light
--theme-font-weight-normal · 400
Normal
--theme-font-weight-medium · 500
Medium
--theme-font-weight-semibold · 600
Semibold
--theme-font-weight-bold · 700
Bold

Line Height

Line-height tokens control vertical rhythm. Use tighter values for headings and looser values for long-form reading.

--theme-line-height-tight · 1.2
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
--theme-line-height-snug · 1.35
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
--theme-line-height-normal · 1.5
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
--theme-line-height-relaxed · 1.7
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.

Numeric & Financial Data

Financial tables, ledgers, and metric readouts depend on digits lining up into clean columns. Proportional fonts give each digit a different width, so right-aligned numbers still look ragged. QDS solves this two ways:

Default figures (proportional)
FundCommitment
Fund I$1,240,000.00
Fund II$98,500.50
Fund III$1,111,111.11
Fund IV$47,900.75
With .qds-numeric
FundCommitment
Fund I$1,240,000.00
Fund II$98,500.50
Fund III$1,111,111.11
Fund IV$47,900.75

Notice how the right-hand column aligns the decimal points and thousands separators once .qds-numeric is applied.

Usage Guidelines

Tokens vs. classes

Use the tokens when authoring component CSS, and the opt-in classes when composing markup. Both draw from the same scale, so they stay in sync.

/* In component CSS — reference tokens */
.report-title {
  font-family: var(--theme-font-family-serif);
  font-size: var(--theme-font-size-3xl);
  line-height: var(--theme-line-height-snug);
}

/* In markup — apply opt-in classes */
<h1 class="qds-h1">Portfolio overview</h1>
<p class="qds-body">Supporting copy.</p>
<td class="qds-numeric">$1,240,000.00</td>

Non-breaking by design

These tokens and classes are purely additive. Bare h1h6 and p element styles are intentionally left unchanged, so existing applications are unaffected until they opt in to the new scale.

Accessibility

Best Practices

  • Use IBM Plex Sans for interface text and EB Garamond for display/editorial headings.
  • Reach for .qds-numeric (or .qds-tabular-nums) on any column of figures that must align.
  • Reference size, weight, and line-height tokens instead of hardcoded values.
  • Treat Roboto and Open Sans as fallbacks only — never as primary faces.
  • Adopt the semantic classes (.qds-h1.qds-body) for a consistent hierarchy in new work.