Design System
View
Marketing · Tokens

Color tokens

A full primitive ramp, semantic tokens for light and dark mode, an allowed-pairing contrast matrix, and approved Headline + Body + Icon + Button compositions — every pairing meets WCAG AA.

Primitive ramps

The raw palette. Three families, ten steps each. Semantics below reference these — never hardcode a hex in a component.

Navy
50
100
200
300
400
500
600
700
800
900
#eef3f8
#d3e0ec
#a9c0d8
#7398b9
#456f92
#2d4f6f
#1d3a55
#142d49
#10243d
#0a1729
Gold
50
100
200
300
400
500
600
700
800
900
#faf6ec
#f1e7c9
#e6d3a0
#d4b876
#c2a15a
#a8863f
#8a6a2e
#6d5324
#4f3c1a
#322610
Neutral
0
50
100
200
300
400
500
600
700
800
900
#ffffff
#fbf9f4
#f6f2ea
#ebe4d6
#d8d0c2
#b7ae9c
#8c8472
#5f594a
#45413a
#2c2a26
#1a1916
Named primitives

Single-value tokens that sit outside the ramps. The semantics reference these by name — so slate, cream, and the warm surfaces are real primitives, not labels invented in the table below.

--slate
#3f4f63
cool neutral · default muted text
--cream
#f4efe4
warm white · text/UI on navy
--ivory-card
#fffdf8
warm surface · cards & forms
--sand
#ece1cd
warm band
--goldwash
#f3ead6
gold-tinted highlight band

Semantic tokens — light & dark

One token name, two resolved values. Build with these and the page themes itself when data-theme flips.

TokenLightDark
--color-bg neutral-100 · #f6f2ea navy-900 · #0a1729
--color-surface ivory-card · #fffdf8 navy-800 · #10243d
--color-surface-raised neutral-0 · #ffffff navy-700 · #142d49
--color-text navy-800 · #10243d neutral-0 · #ffffff
--color-text-muted slate · #3f4f63 navy-200 · #a9c0d8
--color-text-accent gold-600 · #8a6a2e gold-300 · #d4b876
--color-border neutral-300 · #d8d0c2 navy-600 · #1d3a55
--color-action gold-400 · #c2a15a gold-400 · #c2a15a
--color-action-text navy-900 · #0a1729 navy-900 · #0a1729
--color-focus gold-400 · #c2a15a gold-300 · #d4b876
--text-on-media neutral-0 + shadow · #ffffff neutral-0 + shadow · #ffffff

Combination tokens — .combination-*

The usable mechanism behind the approved compositions. A .combination-* class on any section or card sets the contextual --c-* tokens; everything inside reads only those. Move a component between combos and it recolors itself — and every card below is rendered with the real classes, so flip dark mode (top right) to watch the remapping rules: light surfaces turn dark, dark surfaces turn darker, and the gold inverse stays gold.

Contextual tokenRole
--c-bgSection / surface background (with --c-bg-2 gradient partner)
--c-textDefault copy
--c-headingHeadlines
--c-mutedSecondary copy
--c-accentEyebrows, icons, hairline flourishes
--c-lineHairlines & borders (with --c-line-strong)
--c-actionButton fill (with --c-action-hover)
--c-on-actionButton label
Estate Planning
Protect your family's legacy
Compassionate guidance for wills, trusts, and probate across North Carolina.
Speak to an attorney
Low .combination-ivory Ivory · page base Dark mode: turns dark → #0e1f35
Estate Planning
Protect your family's legacy
Compassionate guidance for wills, trusts, and probate across North Carolina.
Speak to an attorney
Med .combination-paper Paper · cards & forms Dark mode: turns dark, stays raised → #142840
Estate Planning
Protect your family's legacy
Compassionate guidance for wills, trusts, and probate across North Carolina.
Speak to an attorney
Low .combination-sand Sand · warm band Dark mode: turns dark → #0b1a2e
Estate Planning
Protect your family's legacy
Compassionate guidance for wills, trusts, and probate across North Carolina.
Speak to an attorney
Med .combination-goldwash Goldwash · highlight band Dark mode: turns dark, gold-lined → #122138
Estate Planning
Protect your family's legacy
Compassionate guidance for wills, trusts, and probate across North Carolina.
Speak to an attorney
Med .combination-navy Navy · dark band Dark mode: turns darker → #081424
Estate Planning
Protect your family's legacy
Compassionate guidance for wills, trusts, and probate across North Carolina.
Speak to an attorney
High .combination-deep Deep · hero & footer Dark mode: turns darker → #050d18
Estate Planning
Protect your family's legacy
Compassionate guidance for wills, trusts, and probate across North Carolina.
Speak to an attorney
High .combination-gold Gold · inverse attention Dark mode: stays gold — grabs attention in both modes
Defined in src/styles/ds/marketing.css (expressive, art-directed per mode) and src/styles/ds/brand.css (.combination-gold, shared with Utility). Utility's functional combos live in src/styles/ds/utility.css and derive from semantic tokens, so they follow theme and mode automatically.

Allowed pairings — contrast matrix

Foreground token × surface. Green cells pass WCAG AA for normal text (≥ 4.5:1) and are approved; red cells fall below AA — don't use them for text or icons.

Foreground ↓ / Surface →neutral-0 #fffneutral-100 #f6f2eanavy-800 #10243dnavy-900 #0a1729
navy-900 #0a1729 18.0:1AA ✓16.1:1AA ✓1.1:1✗1.0:1✗
navy-800 #10243d 15.6:1AA ✓14.0:1AA ✓1.0:1✗1.1:1✗
slate #3f4f63 8.4:1AA ✓7.5:1AA ✓1.9:1✗2.2:1✗
gold-600 #8a6a2e 5.0:1AA ✓4.5:1AA ✓3.1:1✗3.6:1✗
gold-400 #c2a15a 2.5:1✗2.2:1✗6.4:1AA ✓7.3:1AA ✓
gold-300 #d4b876 1.9:1✗1.7:1✗8.1:1AA ✓9.3:1AA ✓
cream #f4efe4 1.1:1✗1.1:1✗13.6:1AA ✓15.7:1AA ✓
neutral-0 #ffffff 1.1:1✗1.1:1✗15.6:1AA ✓18.0:1AA ✓

Approved compositions

Headline + Body + Icon + Button realized on light and dark surfaces. Each card lists the measured contrast ratio for every element — all AA or better, in both modes — and an attention score that guides where to spend it.

High  Loud & saturated — heroes, primary CTAs, one moment per view. Med  Workhorse surfaces — content sections, cards, features. Low  Quiet & calm — long-form reading, dense or supporting bands.
Light surfaces
Estate Planning
Protect your family's legacy
Compassionate guidance for wills, trusts, and probate across North Carolina.
Speak to an attorney
Med Surface #ffffff Headline 18.0:1 ✓Body 8.4:1 ✓Icon 5.0:1 ✓Button 7.3:1 ✓
Estate Planning
Protect your family's legacy
Compassionate guidance for wills, trusts, and probate across North Carolina.
Speak to an attorney
Low Surface #f6f2ea Headline 14.0:1 ✓Body 7.5:1 ✓Icon 4.5:1 ✓Button 7.3:1 ✓
Dark surfaces
Estate Planning
Protect your family's legacy
Compassionate guidance for wills, trusts, and probate across North Carolina.
Speak to an attorney
High Surface #0a1729 Headline 18.0:1 ✓Body 9.6:1 ✓Icon 9.3:1 ✓Button 7.3:1 ✓
Estate Planning
Protect your family's legacy
Compassionate guidance for wills, trusts, and probate across North Carolina.
Speak to an attorney
Med Surface #10243d Headline 15.6:1 ✓Body 14.0:1 ✓Icon 8.1:1 ✓Button 7.3:1 ✓
Brand & expressive surfaces

Each card composes the same semantic roles — --surface · --text · --text-accent · --action — onto a richer surface. Swap the surface, repoint the role tokens, contrast holds.

Estate Planning
Protect your family's legacy
Compassionate guidance for wills, trusts, and probate across North Carolina.
Speak to an attorney
High Photography + scrim Headline 15.8:1 ✓Body 13.6:1 ✓Icon 8.1:1 ✓Button 7.3:1 ✓
Estate Planning
Protect your family's legacy
Compassionate guidance for wills, trusts, and probate across North Carolina.
Speak to an attorney
Med Darker gold Headline 7.2:1 ✓Body 6.3:1 ✓Icon 7.2:1 ✓Button 15.7:1 ✓
Estate Planning
Protect your family's legacy
Compassionate guidance for wills, trusts, and probate across North Carolina.
Speak to an attorney
High Accent gold Headline 7.3:1 ✓Body 6.4:1 ✓Icon 7.3:1 ✓Button 15.7:1 ✓
Estate Planning
Protect your family's legacy
Compassionate guidance for wills, trusts, and probate across North Carolina.
Speak to an attorney
Low Light navy Headline 13.4:1 ✓Body 6.2:1 ✓Icon 5.4:1 ✓Button 7.3:1 ✓
Illustration surfaces

Pair the engraved motifs two ways. A high-contrast foreground turns the illustration into a focal accent; a low-contrast watermark at ~8% opacity adds texture behind text without stealing from it. Same motif, opposite jobs — and opposite attention scores.

Estate Planning
Protect your family's legacy
Compassionate guidance for wills, trusts, and probate across North Carolina.
High Foreground accent gold motif · navy surface · full opacity
Probate
Settle an estate with care
Body copy stays fully legible — the motif is background texture, not a message.
Low Subtle watermark navy motif · ivory surface · ~8% opacity
Text over imagery

When type sits directly on a photo, it's always white with a shadow — in light and dark mode — so legibility never depends on the image behind it. That recipe is a token: --text-on-media (the colour) + --shadow-text (the drop shadow), applied here via the .on-media helper.

Your Legacy
Every family deserves a plan
White type + shadow holds up even on the brightest part of the photograph.
Start your plan
High Photo + on-media text --text-on-media + --shadow-text
--text-on-media

#ffffff · both modes

--shadow-text

0 1px 2px rgba(10,23,41,.6),
0 2px 14px rgba(10,23,41,.45)

Skip the scrim only when the photo has a dark, calm area. Over busy or bright imagery, add a navy gradient scrim and keep the shadow.

Ratios are WCAG 2.1 relative-luminance contrast. AA requires ≥ 4.5:1 for normal text and ≥ 3:1 for large text and UI/icons — every pairing above clears the normal-text bar in light, dark, and on the expressive surfaces (photography ratios are measured over the navy scrim). Text set directly on imagery uses the --text-on-media + --shadow-text tokens rather than a contrast ratio, since the backdrop varies per photo.