Typography
The type system blends two font families inspired by Swiss design, establishing a clear hierarchy between expressive headlines and functional body copy.
Design Philosophy
Section titled “Design Philosophy”Fonts typography uses proportion, rhythm, and tempo — achieved through type style, scale, weight, color, leading, horizontal space, and vertical space — to create clear visual hierarchy.
- Neusa Next Wide is inspired by type treatments from early space exploration, adding a human and expressive character to headlines and subheads
- Proxima Nova brings openness and geometric styling to harder-working moments such as body and utility copy
Hierarchy is established through descending type size and contrast via alternating lowercase/uppercase treatments. Sign-offs and CTAs use the wide bold face to pop from a lower hierarchy position.
Font Families
Section titled “Font Families”Neusa Next Wide
Section titled “Neusa Next Wide”Role: Headlines, subheads, pull quotes, CTAs, labels, numeric stats
The Brand Center specimen shows five styles:
| Style | Weight Value | CSS font-weight | CSS font-style |
|---|---|---|---|
| Light | 300 | 300 | normal |
| Regular | 400 | 400 | normal |
| Italic | 400 | 400 | italic |
| Medium | 500 | 500 | normal |
| Bold | 700 | 700 | normal |
Proxima Nova
Section titled “Proxima Nova”Role: Body copy, utility text, section headers, UI elements
The Brand Center specimen shows four styles:
| Style | Weight Value | CSS font-weight | CSS font-style |
|---|---|---|---|
| Regular | 400 | 400 | normal |
| Regular Italic | 400 | 400 | italic |
| Bold | 700 | 700 | normal |
| Bold Italic | 700 | 700 | italic |
Proxima Nova is separately licensed and is not included in the Brand Center font download. The theme ships with weights 400, 500, 600, and 700 in normal style.
Type Hierarchy
Section titled “Type Hierarchy”Core Principles
Section titled “Core Principles”- Establish hierarchy through descending type size combined with alternating case treatments
- Use Neusa Wide Bold, sentence case for campaign headlines and subheads
- Set headline leading to 1.1× the type size
- Use Proxima Nova Bold, UPPERCASE with letter-spacing for section headers to contrast with sentence-case headings
- Sign-offs and CTAs use Neusa Wide Bold with a right-facing caret (›) in Cloud Red to indicate action in digital experiences
Hierarchy Table
Section titled “Hierarchy Table”| Element | Font | Weight | Case | Notes |
|---|---|---|---|---|
| Headline | Neusa Wide | Bold (700) | Sentence | Leading = 1.1× type size |
| Eyebrow | Proxima Nova | Bold (700) | UPPERCASE | Small, with letter-spacing |
| Subhead / Intro | Neusa Wide | Medium (500) | Sentence | Or Proxima Nova if immediately followed by body copy |
| Section header | Proxima Nova | Bold (700) | UPPERCASE | With letter-spacing |
| Sub-subhead | Proxima Nova | Bold (700) | Sentence | |
| Body copy | Proxima Nova | Regular (400) | Sentence | |
| Bullet points | Proxima Nova | Regular (400) | Sentence | |
| Pull quote | Neusa Wide | Bold (700) | Sentence | Cloud Red color; large red quotation marks with attribution below |
| Sign-off / CTA | Neusa Wide | Bold (700) | Sentence | With right-facing caret (›) in Cloud Red |
Specialized Treatments
Section titled “Specialized Treatments”| Context | Font | Weight | Size/Leading | Notes |
|---|---|---|---|---|
| Collateral pull quotes | Neusa Wide | Bold (700) | 9pt / 14pt | Sentence case |
| eBook pull quotes | Neusa Wide | Regular (400) | 16pt / 19pt | With rule above |
| Infographic numerals/factoids | Neusa Wide | Light (300) | — | For visual impact at large sizes |
| Chart/bar numerals | Neusa Wide | Regular (400) | — | Standard chart labeling |
Title Case Usage
Section titled “Title Case Usage”Title case may be used for:
- Subheads
- Pull quotes
- Numeric stats
- Labels
All other elements default to sentence case.
Live Examples
Section titled “Live Examples”Headings
Section titled “Headings”Heading Level 2
Section titled “Heading Level 2”Heading Level 3
Section titled “Heading Level 3”Heading Level 4
Section titled “Heading Level 4”Heading Level 5
Section titled “Heading Level 5”Heading Level 6
Section titled “Heading Level 6”Text Styles
Section titled “Text Styles”This is bold text for emphasis.
This is italic text for subtle emphasis.
This is strikethrough text for deprecated content.
This is inline code for technical references.
This is bold italic text for strong emphasis.
This is a combination: bold with inline code inside and italic with code inside.
Ordered List
Section titled “Ordered List”- First item in the ordered list
- Second item with bold text
- Third item with
inline code - Fourth item with a link to Astro
Unordered List
Section titled “Unordered List”- First bullet point
- Second bullet with emphasis
- Third bullet with
code reference - Fourth bullet with a link
Nested Lists
Section titled “Nested Lists”- Top-level ordered item
- Nested unordered item A
- Nested unordered item B
- Deep nested ordered item
- Another deep nested item
- Back to first nesting level
- Second top-level item
- Another nested item
Blockquotes
Section titled “Blockquotes”This is a single-line blockquote.
This is a multi-line blockquote.
It spans multiple paragraphs and can contain bold, italic, and
codeformatting.
Nested blockquotes:
This is a nested blockquote inside the outer one.
It can contain its own formatting.
Horizontal Rule
Section titled “Horizontal Rule”Content above the rule.
Content below the rule.
- Internal link: Back to docs overview
- External link: Starlight Documentation
- Link with title: Astro
Footnotes
Section titled “Footnotes”Here is a sentence with a footnote reference1.
And another sentence with a different footnote2.
Font Assets
Section titled “Font Assets”The theme ships 10 woff2 files in the fonts/ directory:
Neusa Next Pro Wide
Section titled “Neusa Next Pro Wide”| File | Weight | Style | Size |
|---|---|---|---|
neusaNextProWide-300.woff2 | 300 (Light) | Normal | ~49 KB |
neusaNextProWide-400.woff2 | 400 (Regular) | Normal | ~49 KB |
neusaNextProWide-400i.woff2 | 400 (Regular) | Italic | ~49 KB |
neusaNextProWide-500.woff2 | 500 (Medium) | Normal | ~49 KB |
neusaNextProWide-700.woff2 | 700 (Bold) | Normal | ~49 KB |
neusaNextProWide-700i.woff2 | 700 (Bold) | Italic | ~49 KB |
Proxima Nova
Section titled “Proxima Nova”| File | Weight | Style | Size |
|---|---|---|---|
proximaNova-400.woff2 | 400 (Regular) | Normal | ~18 KB |
proximaNova-500.woff2 | 500 (Medium) | Normal | ~18 KB |
proximaNova-600.woff2 | 600 (Semi-Bold) | Normal | ~18 KB |
proximaNova-700.woff2 | 700 (Bold) | Normal | ~18 KB |
Naming Convention
Section titled “Naming Convention”Font files follow the pattern familyName-weight.woff2, with an i suffix for italic variants (e.g., neusaNextProWide-400i.woff2).
Coverage Gaps
Section titled “Coverage Gaps”The following italic variants are not yet available in the theme:
| Missing Variant | Reason |
|---|---|
| Proxima Nova 400 italic | Source file not available in current downloads |
| Proxima Nova 500 italic | Source file not available in current downloads |
| Proxima Nova 600 italic (Semi-Bold) | Source file not available |
| Proxima Nova 700 italic (Bold) | Source file not available |
To add Proxima Nova italic variants, obtain genuine woff2 files from a licensed source, name them following the convention (e.g., proximaNova-400i.woff2), and add corresponding @font-face rules to font-face.css.
@font-face Declarations
Section titled “@font-face Declarations”All font registrations live in fonts/font-face.css. Each declaration uses:
font-display: swap— text renders immediately with a fallback font, then swaps when the custom font loadsformat("woff2")— modern compressed format supported by all current browsers- Relative URLs —
./paths resolve relative to the CSS file location
To add a new font variant, append a @font-face block to font-face.css:
@font-face { font-family: "familyName"; font-weight: 400; font-style: italic; /* or normal */ font-display: swap; src: url("./familyName-400i.woff2") format("woff2");}CSS Integration
Section titled “CSS Integration”The theme plugin (index.ts) injects both CSS files via the config:setup hook:
index.ts → fonts/font-face.css → styles/custom.css → Starlight rendersFont Assignments
Section titled “Font Assignments”In styles/custom.css:
:root { --sl-font: "proximaNova", system-ui, "Segoe UI", Helvetica, Arial, sans-serif;}
h1, h2, h3, h4, h5, h6 { font-family: "neusaNextProWide", system-ui, "Segoe UI", Helvetica, Arial, sans-serif;}--sl-font(Starlight body font variable) → Proxima Nova for body text and UI--sl-font-heading(custom token) → Neusa Next Pro Wide for heading font referenceh1–h6→ Font family, weight, and case applied per the Cloud type hierarchy- Fallback stack:
system-ui, "Segoe UI", Helvetica, Arial, sans-seriffor fast initial rendering before custom fonts load
Starlight Typography Tokens
Section titled “Starlight Typography Tokens”The theme overrides these Starlight CSS custom properties:
| Token | Value | Purpose |
|---|---|---|
--sl-font | "proximaNova", ... | Body text, UI elements |
--sl-font-heading | "neusaNextProWide", ... | Custom token for heading font |
--sl-line-height-headings | 1.1 | Cloud brand headline leading |
--sl-text-h1 | var(--sl-text-5xl) | 2.625rem headline |
--sl-text-h2 | var(--sl-text-3xl) | 1.8125rem subhead |
--sl-text-h3 | var(--sl-text-2xl) | 1.5rem section intro |
--sl-text-h4 | var(--sl-text-lg) | 1.125rem sub-section |
Heading Hierarchy Mapping
Section titled “Heading Hierarchy Mapping”| HTML | Font Family | Weight | Case | Brand Role |
|---|---|---|---|---|
h1 | Neusa Next Wide | 700 (Bold) | Sentence | Headline |
h2 | Neusa Next Wide | 700 (Bold) | Sentence | Subhead |
h3 | Neusa Next Wide | 500 (Medium) | Sentence | Intro / Sub-subhead |
h4 | Proxima Nova | 700 (Bold) | UPPERCASE | Section header |
h5 | Proxima Nova | 700 (Bold) | UPPERCASE | Sub-section header |
h6 | Proxima Nova | 700 (Bold) | UPPERCASE | Minor section header |
Replacing Fonts
Section titled “Replacing Fonts”To use different font families:
- Add woff2 files to
fonts/using the naming conventionfamilyName-weight.woff2(addisuffix for italic) - Update
fonts/font-face.csswith new@font-facerules matching your file names, weights, and styles - Update
styles/custom.cssto set--sl-fontand headingfont-familyto your new family names - Keep the fallback stack (
system-ui, "Segoe UI", Helvetica, Arial, sans-serif) for fast initial rendering
Theme Checks
Section titled “Theme Checks”- H2 and H3 use
neusaNextProWidefont family with weight 700/500 - H4, H5, H6 use
proximaNovafont, uppercase, with letter-spacing 0.05em - Link accent color is
#f06680in dark mode,#e4002bin light mode - Inline code has a background tint from
--sl-color-gray-5 - Blockquote border-left is visible in both themes
- Footnote references are superscripted and linked
- Horizontal rule has appropriate contrast