Skip to main content

Typography

Senco uses the system font stack for fast rendering on all platforms — especially budget Android devices where custom web fonts add latency.

Font families

RoleFont stackTokenUsage
Sans (primary)system-ui, -apple-system, "Segoe UI", sans-serif--ds-font-sansAll UI text — headings, body, labels, buttons, amounts
Mono (code only)ui-monospace, "SF Mono", "Cascadia Code", monospace--ds-font-monoCode blocks, tokens, developer-facing text
DocumentationArial, Helvetica, sans-serif--ds-font-docEmails, PDFs, external documents, help articles

Why system fonts?

  • Zero download cost — no web font requests, instant text render
  • Native feel — text matches the OS, builds familiarity and trust
  • Performance — critical for users on 3G / low-end devices
  • Localization-ready — system fonts handle non-Latin scripts automatically

Why Arial for documentation?

  • Universal availability — installed on every OS, renders in all email clients
  • Consistent rendering — PDFs, print, and email look identical across devices
  • Professional tone — clean, neutral, appropriate for financial documents
  • Email-safe — no fallback surprises in transactional emails (receipts, confirmations)
System UI — Primary
System UI
Token: --ds-font-sansStack: system-ui, -apple-system, "Segoe UI", sans-serifRole: All UI — headings, body, labels, buttons
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789
!@#$%^&*()_+-=[]{}|;':",./<>?
$ € £ ¥ ₦ ₱ ₹ ₩ ₫ ₵ ₸ ₺
Regular400
The quick brown fox jumps over the lazy dog
Medium500
The quick brown fox jumps over the lazy dog
Semibold600
The quick brown fox jumps over the lazy dog
Bold700
The quick brown fox jumps over the lazy dog
Arial — Email & Documentation
Arial
Token: --ds-font-docStack: Arial, Helvetica, sans-serifRole: Emails, PDFs, help articles, external documents
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789
!@#$%^&*()_+-=[]{}|;':",./<>?
$ € £ ¥ ₦ ₱ ₹ ₩ ₫ ₵ ₸ ₺
Regular400
The quick brown fox jumps over the lazy dog
Bold700
The quick brown fox jumps over the lazy dog
Do / Don't
Do
Ask for their info
We'll email them a secure form to fill in their payment details.
Their name
e.g. Yuki Tanaka

Clear heading hierarchy (H3, body, label) with distinct sizes and weights.

Don't
Ask for their info
We'll email them a secure form to fill in their payment details.
Their name
e.g. Yuki Tanaka

All text the same size with no hierarchy. Flat and hard to scan.

Type scale

Font: system-ui (--ds-font-sans) · Ratio: 1.200 (Minor Third) · Base: 16px · Grid: 4px line-height

Letter-spacing rule

Larger text needs tighter tracking; smaller text needs looser tracking for legibility.

Size rangeLetter-spacingWhy
28px+ (Display, H1, H2)-0.02em to -0.01emSystem-ui splays at large sizes; tighten for cohesion
16–23px (H3, H4, Body)-0.01em to 0Neutral zone; system-ui optimized for this range
11–14px (Body Sm, Caption, XS)+0.005em to +0.02emCounter-forms close up at small sizes; open for readability

Line-height rule

Size rangeLine-height ratioWhy
28px+ (headings)1.2x–1.3xLarge headings need tight leading; too much air disconnects
16–18px (body)1.5xWCAG 1.4.12 minimum for sustained reading
11–14px (small)1.5xSmall text needs generous leading, especially on low-DPI

Headings

LevelSizeWeightLine heightLetter spacingUsage
Display2.5rem (40px)7001.2 (48px)-0.02emAccount balance, hero numbers
H1clamp(1.75rem, 1.25rem + 1.5vw, 2.063rem)7001.21 (40px)-0.02emPage titles
H21.75rem (28px)7001.29 (36px)-0.015emSection headings
H31.438rem (23px)7001.22 (28px)-0.01emCard titles, subsections
H41.188rem (19px)6001.26 (24px)-0.005emMinor headings, labels

H2 and H3 use weight 700 (not 600) to qualify as WCAG "large text" (bold ≥ 18pt). H4 at 19px/600 does not qualify — always enforce 4.5:1 contrast for H4.

Body

LevelSizeWeightLine heightLetter spacingUsage
body-lg1.125rem (18px)4001.56 (28px)0Emphasized body, lead text
body1rem (16px)4001.5 (24px)0Default reading text
body-sm0.875rem (14px)4001.5 (21px)0.005emSecondary info, metadata
caption0.75rem (12px)5001.5 (18px)0.01emTimestamps, helper text
xs0.688rem (11px)5001.5 (16.5px)0.02emBadges, legal micro-text (non-essential only)

Weight scale

WeightTokenUsage
300 (Light)font-weight-lightLarge display numbers only (40px+). Avoid on body text and low-DPI screens.
400 (Regular)font-weight-regularBody text, descriptions, secondary content
500 (Medium)font-weight-mediumXS text reinforcement, labels, navigation
600 (SemiBold)font-weight-semiboldH2–H4 headings, card titles, form labels
700 (Bold)font-weight-boldDisplay, H1, account balances, primary emphasis

Responsive scaling

Headings scale up on desktop (768px+). Body text stays fixed.

LevelMobileDesktop
Display40px57px
H133px40px
H228px33px
H323px28px
H419px23px
Body and belowsamesame
Heading scale
Display
The quick brown fox jumps over the lazy dog
2.5rem / 700 / 1.2
H1
The quick brown fox jumps over the lazy dog
clamp(1.75rem, 1.25rem + 1.5vw, 2.063rem) / 700 / 1.21
H2
The quick brown fox jumps over the lazy dog
1.75rem / 700 / 1.29
H3
The quick brown fox jumps over the lazy dog
1.438rem / 700 / 1.22
H4
The quick brown fox jumps over the lazy dog
1.188rem / 600 / 1.26
Body scale
body-lg

The quick brown fox jumps over the lazy dog

1.125rem / 400 / 1.56
body

The quick brown fox jumps over the lazy dog

1rem / 400 / 1.5
body-sm

The quick brown fox jumps over the lazy dog

0.875rem / 400 / 1.5
caption

The quick brown fox jumps over the lazy dog

0.75rem / 500 / 1.5
xs

The quick brown fox jumps over the lazy dog

0.688rem / 500 / 1.5

Currency & numbers

Senco handles money — number rendering must be clear and consistent.

  • Use font-variant-numeric: tabular-nums for aligned columns in transaction lists, exchange rates, and amount displays
  • Use the system sans-serif font (not monospace) for all financial data
  • Account balances use Display size (40px) at weight 700
Currency & number rendering

Tabular numerals keep columns aligned in transaction lists and amount displays.

Amount (large)$1,250.00
Amount (body)₩345,000 KRW
Rate1 USD = 1,380 KRW
Fee$2.50 transfer fee
Tabular nums250.00 → 345,000

Documentation typography

For emails, PDFs, and external documents, use Arial to ensure consistent rendering across all clients and devices.

LevelSizeWeightUsage
Doc heading24pxBold (700)Email subject, document title
Doc subheading18pxSemibold (600)Section headers
Doc body14pxRegular (400)Email body, document text
Doc caption12pxRegular (400)Footer, legal, disclaimers
Email example — Arial in context

Transfer confirmed

Your money is on its way to Adaeze O.

You sent$250.00 USD
Fee$2.50
Exchange rate1 USD = 1,380 KRW
They receive₩345,000
View transfer details

This is an automated message from Senco. Do not reply to this email.
© 2026 Senco Inc. All rights reserved.

Accessibility

  • Heading hierarchy must be sequential — no skipping levels (h1 → h2 → h3)
  • Body text line height minimum 1.5 for readability
  • Minimum readable text size: 11px (xs) — with weight 500 and positive letter-spacing
  • Text spacing must be adjustable without loss of content (WCAG 1.4.12)
  • Support assistive technology navigation via semantic heading structure
  • Contrast ratios: 4.5:1 minimum for normal text, 3:1 for large text (18px+ bold or 24px+)
  • Avoid font-weight 300 on screens below 150 DPI — use 400 with a lighter color instead