Color
primary
#5645d4
primary-pressed
#4534b3
primary-deep
#3a2a99
on-primary
#ffffff
brand-navy
#0a1530
brand-navy-deep
#070f24
brand-navy-mid
#1a2a52
link-blue
#0075de
link-blue-pressed
#005bab
brand-orange
#dd5b00
brand-orange-deep
#793400
brand-pink
#ff64c8
brand-pink-deep
#a02e6d
brand-purple
#7b3ff2
brand-purple-300
#d6b6f6
brand-purple-800
#391c57
brand-teal
#2a9d99
brand-green
#1aae39
brand-yellow
#f5d75e
brand-brown
#523410
card-tint-peach
#ffe8d4
card-tint-rose
#fde0ec
card-tint-mint
#d9f3e1
card-tint-lavender
#e6e0f5
card-tint-sky
#dcecfa
card-tint-yellow
#fef7d6
card-tint-yellow-bold
#f9e79f
card-tint-cream
#f8f5e8
card-tint-gray
#f0eeec
canvas
#ffffff
surface
#f6f5f4
surface-soft
#fafaf9
hairline
#e5e3df
hairline-soft
#ede9e4
hairline-strong
#c8c4be
ink-deep
#000000
ink
#1a1a1a
charcoal
#37352f
slate
#5d5b54
steel
#787671
stone
#a4a097
muted
#bbb8b1
on-dark
#ffffff
on-dark-muted
#a4a097
semantic-success
{brand-green}
semantic-warning
{brand-orange}
semantic-error
#e03131
Typography
- sans
- "Notion Sans", Inter, -apple-system, system-ui, "Segoe UI", Helvetica, sans-serif
Display
hero-display
80px / 1.05 · 600 · -2px
hero-display
display-lg
56px / 1.1 · 600 · -1px
display-lg
heading-1
48px / 1.15 · 600 · -0.5px
heading-1
heading-2
36px / 1.2 · 600 · -0.5px
heading-2
heading-3
28px / 1.25 · 600 · 0
heading-3
heading-4
22px / 1.3 · 600 · 0
heading-4
heading-5
18px / 1.4 · 600 · 0
heading-5
Text
subtitle
18px / 1.5 · 400 · 0
subtitle
body-md
16px / 1.55 · 400 · 0
body-md
body-md-medium
16px / 1.55 · 500 · 0
body-md-medium
body-sm
14px / 1.5 · 400 · 0
body-sm
body-sm-medium
14px / 1.5 · 500 · 0
body-sm-medium
caption
13px / 1.4 · 400 · 0
caption
caption-bold
13px / 1.4 · 600 · 0
caption-bold
micro
12px / 1.4 · 500 · 0
micro
micro-uppercase
11px / 1.4 · 600 · 1px
micro-uppercase
button-md
14px / 1.3 · 500 · 0
button-md
Spacing
space-xxs
4px
space-xs
8px
space-sm
12px
space-md
16px
space-lg
20px
space-xl
24px
space-xxl
32px
space-xxxl
40px
space-section-sm
48px
space-section
64px
space-section-lg
96px
space-hero
120px
Radius
radius-xs
4px
radius-sm
6px
radius-md
8px
radius-lg
12px
radius-xl
16px
radius-xxl
20px
radius-xxxl
24px
radius-full
9999px
Elevation
shadow-none
none
shadow-subtle
rgba(15, 15, 15, 0.04) 0px 1px 2px 0px
shadow-card
rgba(15, 15, 15, 0.08) 0px 4px 12px 0px
shadow-mockup
rgba(15, 15, 15, 0.20) 0px 24px 48px -8px
shadow-modal
rgba(15, 15, 15, 0.16) 0px 16px 48px -8px
Components
Buttons
Buttons are 8px-radius rectangles, never pills, with a purple primary, a black dark button, an outlined secondary, a ghost, a blue text link, and white and outlined variants for the navy band.
- Do use
nt-btn--primary(primaryfill,on-primarylabel,radius-md,button-md) as the one dominant action. Its pressed fill isprimary-pressed. - Do pair it with
nt-btn--secondary(transparent,inklabel, 1pxhairline-strongborder) or, onbrand-navy, withnt-btn--on-darkandnt-btn--secondary-on-dark(1pxon-dark-mutedborder). - Do use
nt-btn--link(link-blue,body-sm-medium) for inline text links; its pressed color islink-blue-pressed. - Do keep the minimum height at
size-button-min-height; the source says 40 to 44px effective. - Don't make a button a pill;
radius-fullis for badges and pill tabs only. - Don't use
link-bluefor the main action orprimaryfor inline links. - Don't expect a hover style: the source documents none.
- Known failing pair kept exact: the disabled label (
mutedonhairline) is 1.55:1.
- Do use
Cards
Cards are 12px-radius panels: white with a hairline for content, pastel-tinted for features, a purple-bordered featured pricing tier, and the workspace mockup that breaks out of the navy hero band.
- Do give standard cards
canvas, a 1pxhairlineandradius-lg, withspace-xlpadding (space-lgfor templates,space-xxlfor feature, pricing and testimonial). - Do set tinted cards in a
card-tint-*fill withcharcoaltext and no border; usecard-tint-yellow-boldfor the single high-emphasis banner card. - Do mark the featured pricing tier with a
surfacefill and a 2pxprimaryborder, plusbadge-popular. - Do put the mockup on
brand-navywithshadow-mockup(level 3). The Cards preview shortens the band's padding tospace-section-sm; the real band takesspace-hero. - Do set badges in
caption-bold:radius-fullfor status badges,radius-smfor tag chips. - Don't add heavy shadows to flat documentation cards; use
shadow-noneand the hairline. - Don't use the purple for card backgrounds.
- Known failing pairs kept exact: white on
brand-pink(2.66:1) andbrand-orange(3.77:1),brand-greentext oncard-tint-mint(2.50:1). - Not previewed: the source's stat-row and logo-wall-item.
- Do give standard cards
Inputs
Inputs are 44px white fields with an 8px radius and a 1px strong hairline that turns to a 2px purple border on focus, plus the gray search pill.
- Do set the field on
canvaswithinktext inbody-md, a 1pxhairline-strongborder,radius-mdandsize-input-height. - Do switch the border to 2px solid
primaryon focus, as the source documents; the previews trim the padding by 1px so the text does not move. - Do set the search pill on
surfacewith a 1pxhairlineborder andsteeltext. - Do show errors in
semantic-errorwith the word "Error" in the message. The source gives no error border. - Don't use
mutedplaceholder text for content a reader needs: it is 1.98:1 oncanvas. The search pill'ssteeltext is 4.17:1 onsurface. Both kept exact from the source. - Don't invent a success state or a disabled input style; the source documents neither.
- The label style is a preview choice (
body-sm-medium); the source defines none.
- Do set the field on
Navigation
Navigation is the sticky white top bar with a hairline, a promo strip above it, pill and underline tabs, and the multi-column light footer.
- Do set the top bar on
canvasatsize-nav-heightwith a 1pxhairlinebottom border, product links on the left, and a log-in link and onent-btn--primaryon the right. - Do set the promo strip on
surfaceinbody-sm-medium, above the bar. - Do style the active pill tab as
ink-deepwithon-darktext andradius-full; inactive tabs aresteelwith a 1pxhairline. - Do underline the active segmented tab with 2px
inkand set its text inink. - Do set footer links in
steelandbody-sm, oncanvaswith a 1pxhairlinetop border, six columns on desktop. - Do collapse the top bar to a hamburger below 1024px; the second bar in the preview shows a text "Menu" stand-in because no icons are included.
- Don't use
radius-fullon regular buttons; pill shapes are for tabs and badges. - The inactive tab and footer link
steeltext is 4.54:1 oncanvas, just above the floor, and fails onsurface(4.17:1).
- Do set the top bar on