Layer 0 · Design tokens

Style Guide

The colour, font and size tokens this site is built from, each on a live specimen. Open this page in the Visual Builder and edit a token to watch it cascade — every preset and page that binds it follows. The presets that build ON these tokens live on the Preset Library page.

99

Colours

3

Fonts

68

Size tokens

Layer 0

Colours

Every global colour on this site. Each swatch paints from its variable, so they follow the flavour.

Primary Color

#0E6D80 · factory

Secondary Color

#66B9B4 · factory

Heading Text Color

#0C1A22 · factory

Body Text Color

#0C1A22 · factory

Link Color

#0E6D80 · factory

Silver

#B6BFB0

Green

#008037

Red

#F20000

White

#FFFFFF

Black

#000000

DL primary

↳ Primary Color

DL secondary

↳ Secondary Color

DL accent

#00A3AD

DL bg

#EFFAFF

DL surface

#FAFDFF

DL text

#0C1A22

DL success

#2E7D32

DL warning

#BC7000

DL danger

#C62828

DL surface-2

↳ DL bg L-3

DL surface-3

↳ DL bg L-7

DL border

↳ DL bg L-10

DL muted

↳ DL text L+24 S-28

DL link

↳ DL primary

DL inverse

↳ DL text

DL on-primary

↳ DL surface

DL on-secondary

↳ DL text

DL on-accent

↳ DL text

DL on-success

↳ DL surface

DL on-warning

↳ DL text

DL on-danger

↳ DL surface

DL on-inverse

↳ DL bg

DL on-surface

↳ DL text

DL accent-ink

↳ DL accent-shade-2

DL shadow

↳ DL primary L-20 S-40 12%

DL shadow-strong

↳ DL primary L-20 S-40 18%

DL neutral-50

#F9FAFB

DL neutral-100

#F4F5F6

DL neutral-200

#E2E7E9

DL neutral-300

#CED6D9

DL neutral-400

#ACB8BE

DL neutral-500

#7C8F98

DL neutral-600

#657881

DL neutral-700

#53636A

DL neutral-800

#3D484D

DL neutral-900

#262D31

DL neutral-950

#191D1F

DL primary-tint-1

↳ DL primary L+11

DL primary-tint-2

↳ DL primary L+25

DL primary-tint-3

↳ DL primary L+40

DL primary-tint-4

↳ DL primary L+52

DL primary-shade-1

↳ DL primary L-3

DL primary-shade-2

↳ DL primary L-8

DL primary-shade-3

↳ DL primary L-13

DL primary-shade-4

↳ DL primary L-18

DL primary-tone-1

↳ DL primary S-16

DL primary-tone-2

↳ DL primary S-32

DL primary-tone-3

↳ DL primary S-48

DL primary-tone-4

↳ DL primary S-64

DL primary-hover

↳ DL primary-shade-1

DL secondary-tint-1

↳ DL secondary L+7

DL secondary-tint-2

↳ DL secondary L+15

DL secondary-tint-3

↳ DL secondary L+24

DL secondary-tint-4

↳ DL secondary L+31

DL secondary-shade-1

↳ DL secondary L-7

DL secondary-shade-2

↳ DL secondary L-17

DL secondary-shade-3

↳ DL secondary L-27

DL secondary-shade-4

↳ DL secondary L-37

DL secondary-tone-1

↳ DL secondary S-7

DL secondary-tone-2

↳ DL secondary S-15

DL secondary-tone-3

↳ DL secondary S-22

DL secondary-tone-4

↳ DL secondary S-30

DL secondary-hover

↳ DL secondary-shade-1

DL accent-tint-1

↳ DL accent L+10

DL accent-tint-2

↳ DL accent L+23

DL accent-tint-3

↳ DL accent L+36

DL accent-tint-4

↳ DL accent L+48

DL accent-shade-1

↳ DL accent L-4

DL accent-shade-2

↳ DL accent L-10

DL accent-shade-3

↳ DL accent L-16

DL accent-shade-4

↳ DL accent L-22

DL accent-tone-1

↳ DL accent S-20

DL accent-tone-2

↳ DL accent S-40

DL accent-tone-3

↳ DL accent S-60

DL accent-tone-4

↳ DL accent S-80

DL accent-hover

↳ DL accent-shade-1

DL primary-subtle

↳ DL primary-tint-4

DL on-primary-subtle

↳ DL primary-shade-3

DL border-brand

↳ DL primary-tint-3

DL info

#128FA8

DL on-info

#0C1A22

DL success-subtle

#F4FBF4

DL on-success-subtle

#29822D

DL warning-subtle

#FCF8F3

DL on-warning-subtle

#A36100

DL danger-subtle

#FCF3F3

DL on-danger-subtle

#CD2121

DL info-subtle

#F3FAFC

DL on-info-subtle

#0A7B91

Layer 0

Fonts

The font roles. Presets bind these by role, so swapping a flavour re-letters the site.

DL Display

Ag

Source Sans Pro

DL Body

Ag

Open Sans

DL Mono

Ag

JetBrains Mono

Layer 0

Type scale

Every step is a fluid clamp() that interpolates with the viewport — no breakpoint jumps.

DL text-4xs

clamp(0.3686rem, calc(8.8789px - 0.003011 * (100vw - 360px)), 0.5549rem)

The quick brown fox

DL text-3xs

clamp(0.4608rem, calc(9.9887px - 0.002642 * (100vw - 360px)), 0.6243rem)

The quick brown fox

DL text-2xs

clamp(0.576rem, calc(11.2373px - 0.002042 * (100vw - 360px)), 0.7023rem)

The quick brown fox

DL text-xs

clamp(0.72rem, calc(12.642px - 0.001133 * (100vw - 360px)), 0.7901rem)

The quick brown fox

DL text-s

clamp(0.8889rem, calc(0.00018 * (100vw - 360px) + 14.2222px), 0.9rem)

The quick brown fox

DL text-m

clamp(1rem, calc(0.00202 * (100vw - 360px) + 16px), 1.125rem)

The quick brown fox

DL text-l

clamp(1.125rem, calc(0.004545 * (100vw - 360px) + 18px), 1.4063rem)

The quick brown fox

DL text-xl

clamp(1.2656rem, calc(0.007955 * (100vw - 360px) + 20.25px), 1.7578rem)

The quick brown fox

DL text-2xl

clamp(1.4238rem, calc(0.0125 * (100vw - 360px) + 22.7813px), 2.1973rem)

The quick brown fox

DL text-3xl

clamp(1.6018rem, calc(0.018501 * (100vw - 360px) + 25.6289px), 2.7466rem)

The quick brown fox

DL text-4xl

clamp(1.802rem, calc(0.026363 * (100vw - 360px) + 28.8325px), 3.4332rem)

The quick brown fox

DL text-5xl

clamp(2.0273rem, calc(0.036594 * (100vw - 360px) + 32.4366px), 4.2915rem)

The quick brown fox

DL text-6xl

clamp(2.2807rem, calc(0.049838 * (100vw - 360px) + 36.4912px), 5.3644rem)

The quick brown fox

DL text-7xl

clamp(2.5658rem, calc(0.066905 * (100vw - 360px) + 41.0526px), 6.7055rem)

The quick brown fox

DL text-8xl

clamp(2.8865rem, calc(0.088814 * (100vw - 360px) + 46.1841px), 8.3819rem)

The quick brown fox

DL text-9xl

clamp(3.2473rem, calc(0.116849 * (100vw - 360px) + 51.9571px), 10.4774rem)

The quick brown fox

Layer 0

Spacing scale

Padding and margin steps. Each bar is drawn by the token it names.

DL space-3xs

clamp(0.25rem, calc(0.000505 * (100vw - 360px) + 4px), 0.2812rem)

DL space-2xs

clamp(0.3541rem, calc(11.2373px - 0.005628 * (100vw - 360px)), 0.7023rem)

DL space-xs

clamp(0.573rem, calc(12.642px - 0.00351 * (100vw - 360px)), 0.7901rem)

DL space-s

clamp(0.8889rem, calc(0.000617 * (100vw - 360px) + 14.2222px), 0.9271rem)

DL space-m

clamp(1rem, calc(0.008081 * (100vw - 360px) + 16px), 1.5rem)

DL space-l

clamp(1.125rem, calc(0.021042 * (100vw - 360px) + 18px), 2.427rem)

DL space-xl

clamp(1.2656rem, calc(0.04301 * (100vw - 360px) + 20.25px), 3.9269rem)

DL space-2xl

clamp(1.4238rem, calc(0.079675 * (100vw - 360px) + 22.7813px), 6.3537rem)

DL space-3xl

clamp(1.6018rem, calc(0.140258 * (100vw - 360px) + 25.6289px), 10.2803rem)

DL space-4xl

clamp(1.802rem, calc(0.239701 * (100vw - 360px) + 28.8325px), 16.6335rem)

Layer 0

Gap scale

The space between flex and grid children, on its own ramp — distinct from padding.

DL gap-0

0rem

DL gap-2xs

clamp(1.0851rem, calc(0.000421 * (100vw - 360px) + 17.3611px), 1.1111rem)

DL gap-xs

clamp(1.3021rem, calc(0.005892 * (100vw - 360px) + 20.8333px), 1.6667rem)

DL gap-s

clamp(1.5625rem, calc(0.015152 * (100vw - 360px) + 25px), 2.5rem)

DL gap-m

clamp(1.875rem, calc(0.030303 * (100vw - 360px) + 30px), 3.75rem)

DL gap-l

clamp(2.25rem, calc(0.054545 * (100vw - 360px) + 36px), 5.625rem)

DL gap-xl

clamp(2.7rem, calc(0.092727 * (100vw - 360px) + 43.2px), 8.4375rem)

DL gap-2xl

clamp(3.24rem, calc(0.152182 * (100vw - 360px) + 51.84px), 12.6563rem)

DL gap-3xl

clamp(3.888rem, calc(0.243982 * (100vw - 360px) + 62.208px), 18.9844rem)

Layer 0

Radius scale

Corner rounding, from a hairline curve to a full pill.

DL radius-2xs

clamp(0.118rem, calc(0.001908 * (100vw - 360px) + 1.8887px), 0.2361rem)

DL radius-xs

clamp(0.191rem, calc(0.003087 * (100vw - 360px) + 3.0559px), 0.382rem)

DL radius-s

clamp(0.309rem, calc(0.004994 * (100vw - 360px) + 4.9444px), 0.618rem)

DL radius-m

clamp(0.5rem, calc(0.008081 * (100vw - 360px) + 8px), 1rem)

DL radius-l

clamp(0.809rem, calc(0.013075 * (100vw - 360px) + 12.944px), 1.618rem)

DL radius-xl

clamp(1.309rem, calc(0.021155 * (100vw - 360px) + 20.9434px), 2.6179rem)

DL radius-2xl

clamp(2.1179rem, calc(0.034229 * (100vw - 360px) + 33.8864px), 4.2358rem)

DL radius-3xl

clamp(3.4268rem, calc(0.055382 * (100vw - 360px) + 54.8282px), 6.8535rem)

DL radius-pill

999px

Layer 0

Border scale

Rule widths, shown as a framed box.

DL border-m

clamp(0.0625rem, calc(0.00101 * (100vw - 360px) + 1px), 0.125rem)

DL border-l

clamp(0.1011rem, calc(0.001634 * (100vw - 360px) + 1.618px), 0.2023rem)

DL border-xl

clamp(0.1636rem, calc(0.002644 * (100vw - 360px) + 2.6179px), 0.3272rem)

DL border-2xl

clamp(0.2647rem, calc(0.004279 * (100vw - 360px) + 4.2358px), 0.5295rem)

Layer 0

Width scale

Container max-widths. Each bar spans the full row, capped at its token, so the steps read against the whole content area (the largest are simply wider than the page).

DL width-xs

clamp(11.8519rem, calc(0.041182 * (100vw - 360px) + 189.6296px), 14.4rem)

DL width-s

clamp(13.3333rem, calc(0.075421 * (100vw - 360px) + 213.3333px), 18rem)

DL width-m

clamp(15rem, calc(0.121212 * (100vw - 360px) + 240px), 22.5rem)

DL width-l

clamp(16.875rem, calc(0.181818 * (100vw - 360px) + 270px), 28.125rem)

DL width-xl

clamp(18.9844rem, calc(0.261364 * (100vw - 360px) + 303.75px), 35.1563rem)

DL width-2xl

clamp(21.3574rem, calc(0.365057 * (100vw - 360px) + 341.7188px), 43.9453rem)

DL width-3xl

clamp(24.0271rem, calc(0.499467 * (100vw - 360px) + 384.4336px), 54.9316rem)

DL width-4xl

clamp(27.0305rem, calc(0.672874 * (100vw - 360px) + 432.4878px), 68.6646rem)

DL width-5xl

clamp(30.4093rem, calc(0.895699 * (100vw - 360px) + 486.5488px), 85.8307rem)

DL width-6xl

clamp(34.2105rem, calc(1.181057 * (100vw - 360px) + 547.3674px), 107.2884rem)

Layer 0

Measure

The ideal line length for body copy — real text capped at the token.

DL measure

65ch

Good typography holds a line to a comfortable length. This paragraph is capped at the measure token, so the eye returns to the next line without hunting — which is why body copy is rarely set full-bleed.

Layer 0

Leading

Line height, as a multiple of the type size, so a step keeps its proportion at any font size. Each paragraph is set in the step it names.

DL leading-none

1em

Line height is the space a line of type occupies, not the gap between lines — which is why it is set as a multiple of the type size rather than in pixels. Tighten it for display copy, loosen it for anything a reader has to stay inside for more than a sentence.

DL leading-tight

1.1em

Line height is the space a line of type occupies, not the gap between lines — which is why it is set as a multiple of the type size rather than in pixels. Tighten it for display copy, loosen it for anything a reader has to stay inside for more than a sentence.

DL leading-snug

1.25em

Line height is the space a line of type occupies, not the gap between lines — which is why it is set as a multiple of the type size rather than in pixels. Tighten it for display copy, loosen it for anything a reader has to stay inside for more than a sentence.

DL leading-normal

1.5em

Line height is the space a line of type occupies, not the gap between lines — which is why it is set as a multiple of the type size rather than in pixels. Tighten it for display copy, loosen it for anything a reader has to stay inside for more than a sentence.

DL leading-relaxed

1.7em

Line height is the space a line of type occupies, not the gap between lines — which is why it is set as a multiple of the type size rather than in pixels. Tighten it for display copy, loosen it for anything a reader has to stay inside for more than a sentence.

Layer 0

Tracking

Letter spacing, in em rather than px, so it tracks the type it is applied to instead of drifting as the size changes. Tight for display, wide for small caps.

DL tracking-tight

-0.02em

Tracking the letterforms

DL tracking-normal

0em

Tracking the letterforms

DL tracking-wide

0.05em

Tracking the letterforms

DL tracking-wider

0.1em

Tracking the letterforms