Noir Bean · Design system

Style Guide

A reference for the typography, color, spacing, and components that power every page of the Noir Bean template. Reviewed on each publish to keep the system coherent.

Typography

Instrument Serif for display, Instrument Sans for body, JetBrains Mono for accents. Every heading binds to --font-display; body text inherits --font-body from the Body element.

Heading Styles

H1 Display Title

H2 Section Heading

H3 Subsection Heading

H4 Group Heading

H5 Card Heading

H6 Label Heading

Body Text

Large body text — 1.25rem. Used for lead paragraphs and emphasized introductions that deserve extra presence in the reading flow.

Medium body text — 1.125rem. Used for comfortable long-form reading when default regular size feels too small.

Regular body text — 1rem. The default paragraph size for most content. Line-height sits at 1.75 for editorial breathability.

Small body text — 0.875rem. Supporting notes, captions, and secondary information.

TINY ALLCAPS EYEBROW — 0.75REM WITH 0.14EM TRACKING

Weight

Light 300 — delicate reading flow

Normal 400 — the baseline body weight

Semibold 600 — subtle emphasis

Bold 700 — strong call-out

Style

“Quote style — Instrument Serif italic, the voice of testimonials and editorial pullquotes.”

Italic body — for foreign terms, emphasis within a line, species names.

Muted body — graphite tone, for meta info like timestamps and captions.

Color

Two-layer token system. Primitive tokens define the palette; semantic tokens describe purpose. Classes bind to semantic variables so theming stays decoupled from color names.

Semantic Backgrounds

background-color-primary

background-color-secondary

background-color-tertiary

background-color-alternate

Brand & Neutral Primitives

Brand / 500 · Roast

Brand / 900

Neutral / 100 · Paper

Neutral / 500 · Graphite

Neutral / 800 · Ink

Neutral / 900 · Charcoal

System

System / Success

System / Warning

System / Error

System / Info

Buttons

Primary button is base (transparent with currentColor border). Variants apply via is- combos: is-secondary, is-ghost, is-small, is-large, is-media. Text is JetBrains Mono uppercase with 0.14em tracking.

Spacing

Client-First rem scale. Combine direction utility with size utility: margin-top margin-medium = 2rem top margin, 0 elsewhere.

Scale

tiny · 0.125rem

xxsmall · 0.25rem

xsmall · 0.5rem

small · 1rem

medium · 2rem

large · 3rem

xlarge · 4rem

xxlarge · 5rem

huge · 6rem

xhuge · 8rem