Typography System
Aevum Encyclopedia's typographic foundation establishes hierarchy, readability, and brand consistency across all editorial and interface surfaces. Built for clarity at scale.
Type Scale
Our scale follows a 1.125 (minor third) ratio, optimized for digital reading and editorial density. All sizes are fluid-ready and clamp-adjusted for responsive layouts.
Font Families
Aevum uses a deliberate pairing of editorial serif for headings and highly legible sans-serif for body text. Monospace is reserved exclusively for code and technical tokens.
Spacing & Metrics
Typography is only as effective as its spacing. Aevum enforces strict vertical rhythm and optical alignment across all breakpoints.
| Property | Heading | Body | Small/Meta |
|---|---|---|---|
| Line Height | 1.15–1.2 |
1.6 |
1.5 |
| Letter Spacing | -0.02em to 0 |
0 |
0.02em |
| Margin Bottom | 0.6em |
1.25rem |
0.75rem |
| Max Width | 65ch (optimal reading width) |
||
Usage Guidelines
Editorial vs. Interface
Use Playfair Display exclusively for article titles, section headers, and pull quotes. Inter powers all navigation, forms, buttons, metadata, and body copy. Never mix font families within the same typographic level.
Contrast & Accessibility
All text must meet WCAG 2.1 AA standards. Primary text requires a 4.5:1 ratio against backgrounds. Decorative large text (>18pt bold) requires 3:1. Aevum's dark theme uses #E6E8F0 on #0B0C10 (ratio 14.2:1).
Responsive Scaling
Fluid type is preferred over breakpoint-dependent sizes. Use CSS clamp() with the following formula:clamp(min, preferred, max)
Implementation
Apply typography via CSS custom properties. Tokens are automatically scoped to the Aevum design namespace.
:root { --font-sans: 'Inter', system-ui, sans-serif; --font-serif: 'Playfair Display', Georgia, serif; --font-mono: 'JetBrains Mono', monospace; --text-h1: 2rem; --text-h2: 1.5rem; --text-h3: 1.25rem; --text-body: 1rem; --text-small: 0.875rem; --leading-tight: 1.15; --leading-normal: 1.6; --leading-relaxed: 1.5; --tracking-heading: -0.01em; --tracking-body: 0em; --tracking-meta: 0.02em; } .article-heading { font-family: var(--font-serif); font-size: clamp(1.75rem, 5vw, 2.5rem); line-height: var(--leading-tight); letter-spacing: var(--tracking-heading); }