Effective typography is essential to Lighthouse. It establishes a clear visual hierarchy, enhances readability, and ensures that QubicaAMF's brand voice is communicated consistently across all digital products. Our typographic system is built upon a set of design tokens that define our font families, weights, sizes, and line heights, ensuring clarity and a harmonious user experience.
Guiding principles
Our typography is guided by the following principles:
- Clarity: Text should be easy to read and understand across all devices and contexts.
- Hierarchy: A clear typographic scale helps users navigate content and understand the importance of different pieces of information.
- Consistency: Applying typographic styles consistently, driven by tokens, reinforces our brand and improves usability.
- Accessibility: We aim for high levels of legibility and readability for all users, adhering to accessibility standards.
Global Guidelines
Global settings include font size, font weight and text formatting guidelines.
- Maintain Hierarchy: Use the defined typographic styles (H1, H2, Paragraph, Display, etc.) consistently to differentiate between levels of information and guide the user's eye effectively.
- Limit Variations: While a comprehensive set of styles is available, avoid using too many different typographic treatments on a single page to maintain clarity and a clean, professional appearance.
Headings
This group defines the font sizes for standard HTML headings. Use headings to break up and organize large amounts of information, they make it easier for users to find the information they are looking for. Headings also help to create a visual hierarchy, making it easier to scan and recognize content.
Display Headings
These Qubica-specific (q-) display heading sizes are for large, impactful typographic statements. Use display headings to make a heading stand out. Display headings are larger, slightly more opinionated heading style.
Paragraph
This group defines a versatile range of font sizes primarily for body copy, captions, and other general text needs Use paragraphs to communicate a message to the user, provide information, and guide them through the user experience. Paragraphs should be clear, concise and formatted in a way that is aesthetically pleasing and easy to read.
Lead
Use lead paragraphs for special paragraphs that need to catch the attention of the user.
Blockquote
Use block quotes to quote content from another source within your document.
Inline text
Use inline text elements to give a different style to part of your text; you can either cross them out, underline them or write them in italic.
Typography tokens
All typographic values are defined in Figma's primitives collection and compiled into the design system at build time. They are fixed values — they do not change across themes.
Font families
| Figma variable | Value | Usage |
|---|---|---|
font-family-sans-serif-primary | Barlow | Primary UI font — body text, labels, buttons, headings |
font-family-monospace-primary | Inter | Code blocks and monospace text |
Font weights
| Figma variable | Value | Usage |
|---|---|---|
font-weight-lighter | lighter | Relative — lighter than the inherited weight |
font-weight-light | 300 | Light text — decorative, large display copy |
font-weight-normal | 400 | Body text default |
font-weight-medium | 500 | Slightly emphasized labels, nav items |
font-weight-semibold | 600 | Subheadings, table headers, badges |
font-weight-bold | 700 | Headings, strong emphasis |
font-weight-bolder | bolder | Relative — bolder than the inherited weight |
Paragraph font sizes
| Figma variable | Value | CSS token | Usage |
|---|---|---|---|
p/q-font-size-xs | 12px | --q-font-size-xs | Captions, helper text, badges |
p/font-size-sm | 14px | --q-input-font-size-sm | Small inputs, secondary labels |
p/q-font-size-md | 16px | --q-font-size-md / --q-input-font-size | Base body text, default input |
p/font-size-lg | 20px | --q-input-font-size-lg | Large inputs, emphasized text |
p/q-font-size-xl | 24px | --q-font-size-xl | Section subtitles, large labels |
p/q-font-size-xxl | 32px | --q-font-size-xxl | Page-level titles |
Heading font sizes
| Figma variable | Value | HTML tag |
|---|---|---|
h/h1-font-size | 40px | <h1> |
h/h2-font-size | 32px | <h2> |
h/h3-font-size | 28px | <h3> |
h/h4-font-size | 24px | <h4> |
h/h5-font-size | 20px | <h5> |
h/h6-font-size | 16px | <h6> |
Display font sizes
| Figma variable | Value | CSS token | Usage |
|---|---|---|---|
display/q-d6-font-size | 40px | --q-d6-font-size | Display 6 / H1 equivalent |
display/q-d5-font-size | 48px | --q-d5-font-size | Display 5 |
display/q-d4-font-size | 56px | --q-d4-font-size | Display 4 |
display/q-d3-font-size | 64px | --q-d3-font-size | Display 3 |
display/q-d2-font-size | 72px | --q-d2-font-size | Display 2 |
display/q-d1-font-size | 80px | --q-d1-font-size | Display 1 — hero titles |
Line heights
| Figma variable | Value | Usage |
|---|---|---|
line-height-sm | 20px | Compact text — badges, labels, captions |
line-height-base | 24px | Body text default |
line-height-lg | 32px | Large text, display headings |