Design System

Nourished Natural Health

A comprehensive guide to our brand's visual language, typography, and color palette

Page chrome only — style-guide__hero-* uses custom sizes in _style-guide.scss, not the fluid h1 scale.

Brand Identity

Our logo variations and primary brand marks

nourished

natural health

n
Primary Logo Light backgrounds

nourished

NATURAL HEALTH

Alternative Logo Compact spaces

Typography

Our carefully selected typefaces create a warm, trustworthy, and modern voice

Aa

Fraunces

Display & Headings

Bold 700 (h1–h3) · Semibold 600 (.stat-display mobile)

Aa

DM Sans

Body & Interface

Regular & Medium

Aa

DM Mono

Captions & Code

Regular 400 · .subtitle uppercase

Click to copy — swatches, hex values, SCSS tokens, utility classes, and table codes copy to your clipboard.

Section SCSS rule: Use h1h6 or typography utility classes in Liquid. Section SCSS is layout, spacing, and color only — do not redeclare font-size, font-family, or font-weight on those elements.

Source of truth: base/_typography.scss and utils/_variables.scss. Bare <p> uses fluid $type-body; .body-default is fixed 16px. h1h6 all use font-weight-bold (700). h1h3 are Fraunces; h4h6 are DM Sans. Utility .text-muted$gray-600 (#525252); SCSS token $text-muted is #655E5C.

Heading 1 · h1 $type-h1 · 26px → 42px fluid · Fraunces · bold 700

Almost before we knew it, we had left the ground

Heading 2 · h2 $type-h2 · 22px → 34px fluid · Fraunces · bold 700

Almost before we knew it, we had left the ground

Heading 3 · h3 $type-h3 · 20px → 27px fluid · Fraunces · bold 700

Almost before we knew it, we had left the ground

Heading 4 · h4 $type-h4 · 17px → 20px fluid · DM Sans · bold 700

Almost before we knew it, we had left the ground

Heading 5 · h5 $type-h5 · 16px → 18px fluid · DM Sans · bold 700
Almost before we knew it, we had left the ground
Heading 6 · h6 $type-h6 · 14px → 16px fluid · DM Sans · bold 700
Almost before we knew it, we had left the ground

Body utility classes

Pair with BEM layout classes in Liquid — defined in base/_typography.scss

.body-lead $type-lead · 18px → 24px fluid

Lead body copy for intros and emphasis.

.lead Alias of .body-lead

Same styles as .body-lead.

.body-default 16px fixed · DM Sans

Explicit 16px body — not the same as bare p.

.body-med 15px fixed · DM Sans (legacy)

Legacy — prefer .body-default for new markup.

.body-small 14px · DM Sans

Small body, labels, supporting copy.

.body-xs 12px · $font-size-xs

Captions, meta, fine print.

.body-2xs 10px · DM Sans

Micro labels, compact pills, save tablets.

.body-sm-md-base 14px → 16px at tablet+

Responsive body — sm on mobile, base on tablet+.

.body-caption 12px → 14px at tablet · italic

Package subtitles, founder credentials.

.subtitle 16px · DM Mono · uppercase

Section eyebrows and mono labels.

Text color & weight utilities

Combine with body classes — e.g. body-small text-muted

.body-small .text-muted $gray-600 · #525252

Utility class — buy-box secondary copy, ongoing rows.

.body-small .text-muted-subtle $neutral-400 · #737373

Lighter muted — PDP supporting copy.

.body-small .text-primary-brand $primary-main · #E51550

Brand pink — savings, icons, links.

.body-small .text-accent $accent-main · #B31570

Accent emphasis — promos, highlights.

.body-xs .text-uppercase .font-weight-semibold Buy-box eyebrow pattern

SUBSCRIBE & SAVE:

.body-small .text-decoration-line-through Strikethrough utility

$55.00

.body-small .text-on-primary color: $white

Banner text — pair with $bg-dark in SCSS

Commerce typography

PDP pricing roles — pair with BEM layout in Liquid

.price-display 22px bold · DM Sans
$41.25
.price-display-sm 18px → 22px at tablet+
$41.25
.price-compare 16px · line-through built-in
$55.00
.label-micro 11px · DM Sans
Best Value
.savings-badge-text .badge-red 10px bold · .badge-red = white text
SAVE 40%
.savings-badge-text .text-primary-brand 10px bold · $primary-main
SAVE 15%
.label-badge 12px · white on $primary (#E81050)
Best Seller
.h3 $type-h3 · Fraunces bold · nnh-buy-box price

$41.25/mo

.display-3 $type-display-3 · weight 300 default

87%

.display-3 .text-primary-brand .font-weight-bold PDP pattern — overrides display weight

87%

.stat-display 60px italic 600 → 34px bold at desktop

101

Blog card roles

Used in snippets/article-card.liquid

.card-title $font-size-lg → $font-size-xl at desktop

Article title

.card-excerpt 14px · $gray-600 (#525252)

Short excerpt from the article body.

.card-meta 12px · $gray-500 (#adb5bd)
Jan 12 · 5 min read
.card-meta-strong medium · $text-main
Author name
.card-meta-accent medium · $primary (#E81050)
5 min read

Additional utilities

Also defined in base/_typography.scss

.display-1 $type-display-1 · weight 300
Hero stat
.display-2 $type-display-2 · weight 300
Hero stat
.display-4 $type-display-4 · weight 300
Hero stat
.trademark-sup 14px → 16px at desktop
.body-small .text-primary .text-primary → $primary-color (#E81050)
Legacy bootstrap utility
.body-small .text-center text-align: center
Centered copy

Color Palette

A vibrant, accessible color system designed for clarity and emotional resonance

Two layers: This tab shows the $primary-* / $accent-* scale steps from _variables.scss. The Semantic tab shows runtime tokens like $primary-main (#E51550) and $primary / $primary-color (alias of $primary-600 #E81050) — both exist in the theme.

Primary

Core brand colors for primary actions, links, and brand identity

AAA
91
100
#FDE8EF
AA
81
200
#FBCFDD
AA
65
300
#F7A0BB
A
47
400
#F3719A
AA
67
500
#ED3770
AAA
78
600
#E81050
AAA
94
700
#BC0E40
AAA
100+
800
#A40D38
AAA
94
900
#8B0F32
AAA
100+
950
#6F293C

Secondary

Complementary colors for alternative actions

AAA
100
50
#FEF6F6
AAA
97
100
#FDF1E8
AA
80
200
#FBDDCD
AA
61
300
#F8B8A2
A
36
400
#F37C44
AA
66
500
#CD6533
AA
91
600
#C34828
AAA
97
700
#A63921
AAA
98
800
#903728
AAA
100+
900
#4E1B0E
AAA
105
950
#2B0E08

Accent

Highlight colors for drawing attention

AAA
98
50
#FCF3F8
AAA
93
100
#FBE5F3
AA
83
200
#F8CEE7
AA
66
300
#F5A4D5
A
41
400
#EE6DB9
AA
67
500
#E14694
AA
86
600
#CD2B78
AAA
96
700
#AF1B62
AAA
100+
800
#901A53
AAA
95
900
#761948
AAA
99
950
#490627

Neutral

Foundation colors for text and UI structure

AAA
94
50
#FAFAFA
AA
70
100
#E6E6E6
A
56
200
#A3A3A3
AA
76
400
#737373
AA
87
600
#525252
AAA
99
700
#424242
AAA
100+
800
#262626
AAA
100+
900
#171717

System States

Primitive feedback tokens — $success, $warning, $danger. Legacy utilities map to Semantic feedback tokens ($success-color$feedback-success).

Success ($success)

Primitive system state — not the same as $feedback-success (#037A5C)

Warning ($warning)

Primitive system state — $warning-color aliases $feedback-warning

Danger ($danger)

Primitive system state — $danger-color aliases $feedback-danger

Values below are exact utils/_variables.scss tokens used in section SCSS and utilities. Scale step names (e.g. primary-600) may differ from the hex on the Colors tab.

Base

black
prim/neutral-darkest

Primary text colour for headings or high-priority content.

white
#FFFFFF

Neutral colour for light backgrounds, text, and default states.

primary-main
$primary-main

Semantic brand pink — .text-primary-brand, buy-box savings, stars ($color-stars).

primary-dark
$primary-dark → $primary-700

Hover / pressed states. Final SCSS value after legacy alias.

primary-light
$primary-light

Light pink wash — save tablets, soft highlights.

primary
$primary / $primary-color → $primary-600

Legacy alias — .label-badge background, .text-primary utility, older components.

accent-main
$accent-main

Accent emphasis — .text-accent, promos.

accent-dark
$accent-dark

Deep accent for high-emphasis UI.

accent-light
$accent-light

Light accent backgrounds — not the same hex as $accent-200 (#F8CEE7).

secondary-main
$secondary-main

Secondary actions — not the same hex as $secondary-300 (#F8B8A2).

secondary-dark
$secondary-dark

Deep secondary tone.

secondary-light
$secondary-light

Soft secondary backgrounds.

Background Color

bg-primary
sem/Base/white

Base background colour for general use. This is the primary background colour for the full site, including the main canvas or body area.

bg-secondary
prim/Secondary/secondary-50

The alternating background colour, used to break up sections or rows for better readability,

bg-tertiary
prim/Secondary/secondary-100

A muted variation of bg-secondary, designed for low-emphasis areas such as footers, summaries, or low-priority content.

bg-accent
prim/Accent/accent-100

Used sparingly to highlight promotional sections, limited-time offers, or important calls-to-action. Reserve this for attention-grabbing sections that demand focus without overwhelming the user.

bg-alternate
prim/Secondary/secondary-200

A subtle emphasis colour, ideal for featured elements or sections requiring soft attention without pulling focus. Good for important but non-transactional sections.

bg-dark
$bg-dark

Dark section backgrounds (buy-box banners) — custom token, not $accent-950.

bg-warm-ivory
PDP hero background

Warm ivory — universal PDP / protocol hero backgrounds

bg-modular-blush
Modular band wash

Soft lilac — primary modular section wash

bg-modular-lilac
Modular alt band

Soft pink — alternate modular band (also $primary-light)

bg-modular-rose
Modular rose band

Soft rose — clinical authority cards

bg-package-active
Active selection

Active package / card selection background

Specific Uses

border
sem/Base/neutral-lighter

Used for borders around containers, cards, or inputs to visually separate elements while maintaining a clean aesthetic.

color-stars
sem/Base/primary-main

Used specifically for star ratings, ensuring visibility and alignment with brand colors. Used in product reviews or feedback components.

primary-link
sem/Base/primary-main

Primary link and button color

selected-stroke
sem/Base/neutral-dark

Used for strokes or outlines on selected items, such as color swatches or selected filters

Icons

icon-primary
$icon-primary

Default icon color on light backgrounds.

icon-dark
$icon-dark

High-contrast icons.

icon-light
$icon-light

Subtle icon emphasis — not $primary-300 (#F7A0BB).

icon-invert
$icon-invert

Icons on dark backgrounds.

Feedback

feedback-success
$feedback-success / $success-color

UI feedback — .text-success utility uses this via $success-color alias.

feedback-warning
$feedback-warning / $warning-color

Warnings and cautions in product UI.

feedback-danger
$feedback-danger / $danger-color

Errors and destructive states.

Text

text-main
prim/neutral-darkest

Primary text colour for most content, including product descriptions, headings, and general text across the site.

text-mid
prim/Neutral/neutral-dark

Secondary text colour for subheadings, labels, or secondary information

text-muted
prim/Neutral/neutral-mid-dark

SCSS token for section styles. Note: utility .text-muted uses $gray-600 (#525252) instead.

text-muted-subtle
$neutral-400

Utility .text-muted-subtle — lighter PDP supporting copy.

text-light-gray
$text-light-gray

SCSS variable only — rgba($text-main, 0.6). No utility class.

text-white
sem/Base/white

Used for text on dark backgrounds, such as in footers, buttons, or dark-themed hero sections.

Breakpoints

Mobile-first only — use @include media-breakpoint-up(tablet|desktop)

Name Min width SCSS variable
mobile0px (base)$breakpoints.mobile
tablet768px$breakpoint-tablet
desktop1024px$breakpoint-desktop

Font families

TokenStackUse
$font-frauncesFraunces, Georgia, serifh1–h3, .card-title, .stat-display
$font-dm-sansDM Sans, system-ui…h4–h6, body utilities, .price-display
$font-dm-monoDM Mono, monospace.subtitle, code labels

Fluid type scale (SCSS)

Defined in utils/_variables.scss · exposed as CSS vars on :root

TokenCSS variableRange
$type-h1--nnh-type-h126px → 42px
$type-h2--nnh-type-h222px → 34px
$type-h3--nnh-type-h320px → 27px
$type-h4--nnh-type-h417px → 20px
$type-h5--nnh-type-h516px → 18px
$type-h6--nnh-type-h614px → 16px
$type-body--nnh-type-body16px → 17px
$type-lead--nnh-type-lead18px → 24px
$type-display-136px → 80px · .display-1
$type-display-232px → 72px · .display-2
$type-display-328px → 64px · .display-3
$type-display-424px → 56px · .display-4

Font weights

TokenValueUtility class
$font-weight-light300.font-weight-light
$font-weight-normal400.font-weight-normal
$font-weight-medium500.font-weight-medium
$font-weight-semibold600.font-weight-semibold
$font-weight-bold700.font-weight-bold
h1h6700Always bold — not configurable per level
.display-1.display-4300Default light — override in Liquid when needed
.stat-display600 → 700Italic semibold mobile → normal bold desktop

Layout tokens (PDP)

TokenValueUse
$max-width-pdp90rem (1440px)PDP content cap
$pdp-hero-row-max68remTwo-column hero row
$nnh-pdp-section-padding-mobile20px 10pxModular section shell
$nnh-pdp-section-padding-desktop4.5remModular section shell

PDP & breakpoint mixins

Subset from utils/_mixins.scss — not an exhaustive list

  • media-breakpoint-up($name) — min-width queries (tablet, desktop)
  • media-breakpoint-down($name) — max-width queries
  • nnh-pdp-section-shell-padding — modular section outer padding
  • nnh-pdp-section-inner($content-max) — centered content max-width
  • nnh-pdp-pdp-inner — hero / PDP inner width
  • pdp-two-column-grid — gallery + buy box grid