Typography
A comprehensive typography system with role-based font definitions, Tailwind v4 integration, and context-specific application rules.
The Ontopix typography system provides five font roles — each mapped to semantic CSS variables and Tailwind classes. Fonts are loaded automatically via @nuxt/fonts from Google Fonts declarations.
Font Families
| Role | Family | Tailwind Class | Usage |
|---|---|---|---|
| Logo | Helvetica | — | Logo wordmark only |
| Ui | Geist Sans | font-ui | Site-wide default body font, Web application interfaces, Navigation and controls, Form elements and labels |
| Docs | Literata | font-prose | Documentation and long-form content, Technical specifications, Blog posts and articles, Prose sections rendered by ContentRenderer |
| Code | Geist Mono | font-code | Code blocks and snippets, Terminal output, Technical identifiers (file paths, commands), Inline code references |
| Actionable | Monda | font-action | Buttons and CTAs, Actionable links, Interactive elements, Menu items and navigation actions |
For full font specifications, weights, and fallbacks, see Fonts. For the complete type scale, see Type Scale.
Typography by Context
Different contexts require different typographic treatment. The same brand voice adapts to context-specific needs.
Website & Marketing
Marketing site, landing pages, blog posts
| Setting | Value |
|---|---|
| Min Body Size | 16px |
| Max Line Length | 75ch |
| Heading Line Height | 1.2 |
| Body Line Height | 1.6 |
| Paragraph Spacing | 1.5em |
Font Usage:
- Headings:
ui - Body:
docs - Code:
code - Actionable:
actionable
Printed Materials
Business cards, letterheads, brochures, reports
| Setting | Value |
|---|---|
| Min Body Size | 11pt |
| Bleed | 3mm |
| Safe Zone | 5mm |
| Heading Line Height | 1.15 |
| Body Line Height | 1.4 |
Font Usage:
- Headings:
ui - Body:
docs
Application Interfaces
Desktop apps, web apps, dashboards, forms
| Setting | Value |
|---|---|
| Min Label Size | 12px |
| Min Body Size | 14px |
| Touch Target | 44px |
| Heading Line Height | 1.25 |
| Body Line Height | 1.5 |
| Compact Line Height | 1.3 |
Font Usage:
- Primary:
ui - Secondary:
ui - Code:
code - Actionable:
actionable
Documentation
Technical docs, API references, guides, READMEs
| Setting | Value |
|---|---|
| Max Line Length | 80ch |
| Min Body Size | 16px |
| Code Block Size | 14px |
| Heading Line Height | 1.3 |
| Body Line Height | 1.7 |
Font Usage:
- Headings:
docs - Body:
docs - Code:
code
Internal Communications
Presentations, reports, internal memos, Slack
| Setting | Value |
|---|---|
| Min Body Size | 14px |
| Presentation Min Size | 24px |
| Heading Line Height | 1.3 |
| Body Line Height | 1.5 |
Font Usage:
- Headings:
docs - Body:
docs
Commercial Documents
Proposals, contracts, quotes, invoices
| Setting | Value |
|---|---|
| Min Body Size | 10pt |
| Heading Line Height | 1.2 |
| Body Line Height | 1.4 |
| Table Cell Padding | 4pt |
Font Usage:
- Headings:
docs - Body:
docs
Responsive Typography
Typography scales responsively based on viewport:
| Breakpoint | Multiplier | Notes |
|---|---|---|
| lg | 1.0x | No change for large screens |
| md | 1.0x | Base scale |
| sm | 0.9375x | Small screens |
| xl | 1.0625x | Slightly larger for very large screens |
| xs | 0.875x | Slightly smaller for mobile |
Usage Guidelines
Hierarchy
Establish clear visual hierarchy using size, weight, and spacing.
Readability
Maintain optimal line length (45-75 characters) and line height (1.5-1.75) for body text.
Accessibility
All typography must meet WCAG 2.1 AA requirements:
- Minimum body size: 16px
- Minimum contrast ratio: 4.5:1
- Line height minimum: 1.5
- Zoom support: 200%