Typography

Rasuke's primary typeface is BDO Grotesk, with Host Grotesk for display / headings, DM Sans for meta text, and Bonheur Royale for script accents. There are no product utility classes such as .fs-1; size comes from tokens applied on semantic or BEM classes in section SCSS.


Families
  • Sans: "BDO Grotesk", "Host Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif — var(--font-family-sans)
  • Display: "Host Grotesk", "BDO Grotesk", system-ui, … — var(--font-family-display)
  • Meta: "DM Sans", "BDO Grotesk", system-ui, sans-serif — var(--font-family-meta)
  • Script: "Bonheur Royale", cursive — var(--font-family-script)
  • Mono: ui-monospace, SFMono-Regular, Menlo, monospace — var(--font-family-mono)

The root layout loads Host Grotesk, DM Sans, and Bonheur Royale from Google Fonts with <link> tags in src/app/layout.tsx (plus preconnect hints). BDO Grotesk is licensed and is not shipped — add your local @font-face when available; until then the stack falls back cleanly. To change a family, edit font.family in tokens/tokens.json (and the font links if the source changes), then run npm run tokens.

Weights

400 regular · 500 medium · 600 semibold · 700 bold · 800 extrabold — var(--font-weight-regular) and siblings.

Size scale
TokenCSS variableValueLine heightNotes
tiny--font-size-tiny12px22pxMeta / labels
sm--font-size-sm14px24px
md--font-size-md16px26pxBody default
lg--font-size-lg18px26px
xl--font-size-xl20px30px
2xl--font-size-2xl22px32px
3xl--font-size-3xl24px34px
h6--font-size-h620px28px
h5--font-size-h530px36pxFluid down to xl
h4--font-size-h450px58pxFluid down to h5
h3--font-size-h360px70pxFluid down to h4
h2--font-size-h274px84pxFluid down to h3
h1--font-size-h175px75pxFluid down to h3

Tracking tokens: --font-tracking-none (0), --font-tracking-tight (−0.05em), --font-tracking-tighter (−0.07em), --font-tracking-display (−0.05em), --font-tracking-wide (0.08em). Individual sections add their own display sizes as layout.* tokens (for example showcase titles and the preloader wordmark / counter) instead of growing the global ramp.

Usage
.hero-3__title {
  font-family: var(--font-family-display);
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--font-tracking-display);
}

The document chrome on this site is styled separately; product typography always comes from the token scale above.