Colors

Every colour is a variable. The theme colours point at base colours, so a whole palette swap is two or three edits.

Base
Background
rgba(8, 8, 8)
Panel
Surface
rgba(13, 13, 13)
Well
Surface
rgba(15, 15, 15)
Raised
Surface
rgba(20, 20, 20)
Brand
Accent
rgba(252, 150, 76)
Fill
Accent
rgba(255, 255, 255)
Text
Accent
rgba(255, 255, 255, 0.8)
Error
Feedback
rgba(255, 34, 68, 0.15)
Primary
Text
rgba(255, 255, 255)
Secondary
Text
rgba(153, 153, 153)
Muted
Text
rgba(255, 255, 255, 0.5)
On Ink
Text
rgba(255, 255, 255, 0.7)
On Accent
Text
rgba(13, 13, 13)
Subtle
Border
rgba(255, 255, 255, 0.05)
Default
Border
rgba(255, 255, 255, 0.12)
Hover
Border
rgba(255, 255, 255, 0.22)
Transparent
Background
rgba(255, 255, 255, 0)
60
Scrim
rgba(8, 8, 8, 0.6)
70
Scrim
rgba(8, 8, 8, 0.7)
86
Scrim
rgba(8, 8, 8, 0.86)
92
Scrim
rgba(8, 8, 8, 0.92)

Thirteen roles, one typeface.

Six heading levels, five body sizes, the weight and colour utilities, and the tags themselves. Every piece of text on the site uses one of these, so the type scale never drifts.

Ag

Ag
Heading 1  ·  Heading Style H1
h1 · 4.2rem · 100%

Ag

Ag
Heading 2  ·  Heading Style H2
h2 · 3rem · 105%

Ag

Ag
Heading 3  ·  Heading Style H3
h3 · 2.25rem · 115%

Ag

Ag
Heading 4  ·  Heading Style H4
h4 · 1.75rem · 130%
Ag
Ag
Heading 5  ·  Heading Style H5
h5 · 1.25rem · 120%
Ag
Ag
Heading 6  ·  Heading Style H6
h6 · 1rem · 140%
Automation that ships
Body / L
Text Body L · 1.0625rem · 140%
Automation that ships
Body / M
Text Body M · 1rem · 145%
Automation that ships
Body / M Medium
Text Body M Medium · 1rem · 145% · 500
Automation that ships
Body / S
Text Body S · 0.875rem · 150%
Automation that ships
Body / S Medium
Text Body S Medium · 0.875rem · 150% · 500
Automation that ships
Label / L
Text Label L · 0.75rem · 100% · 0.06em
Automation that ships
Label / S
Text Label S · 0.625rem · 140% · 500

Every system on this page is one somebody uses on a Tuesday.

Paragraph
p tag

A sentence with a text link inside it.

Link
a tag
  • Audit what already runs
  • Build the smallest useful piece
Unordered list
ul tag
  1. Audit what already runs
  2. Build the smallest useful piece
Ordered list
ol tag
The handover was the impressive part. Our own team changed it three times.
Blockquote
blockquote tag
Dark office corridor with warm light spilling from an open door
A figure caption sits under the image and explains it.
Figure
figure and figcaption tags
Legal Heading
CMS rich text · 1.75rem · 130%
Legal Text
CMS rich text · 1rem · 145%
Legal List
CMS rich text · keep this card

Buttons

Buttons are a component with three variants. Hover is a single GSAP timeline that plays in and reverses out.

Icons

All icons are Phosphor Icons, light weight, MIT licensed. They are white SVGs and take their colour from the element they sit in.

icon-1x1-small / medium / large

Square icon sizes. Width and height stay equal.

icon-height-small / medium / large

Sets only the height and lets the width follow the artwork.

Icon Box / Icon Box Icon

The rounded icon tile used on the cards in this template, in its normal and large size.

Spacing and radius

Every gap, padding and corner comes from these. The steps marked as shrinking do so through variable modes, so nothing is ever set per breakpoint.

Layout Gap

Ten steps for every gap on the site. 2XL, 3XL and 4XL shrink on smaller screens.

3XS
0.25rem · 4px
2XS
0.5rem · 8px
XS
0.625rem · 10px
S
0.9375rem · 15px
M
1.25rem · 20px
L
1.5625rem · 25px
XL
2.1875rem · 35px
2XL
3.125rem · 50 → 40px
3XL
5rem · 80 → 70px
4XL
6.25rem · 100 → 60px
Structure

The container width, and the padding used by every section, card and button.

Container Max Width
87.5rem · 1400px
Section Vertical
100 → 80 → 70px
Section Horizontal
40 → 35 → 15px
Section Page Top
9.375rem · 150px
Card Vertical
100 → 72 → 60px
Card Horizontal
40 → 24 → 15px
Button Horizontal
1.5rem · 24px
Radius

Eight corner sizes. Round is a large fixed value, so pills stay pills at any height.

XSmall
0.5rem · 8px
Icon
0.625rem · 10px
Small
0.75rem · 12px
Medium
0.875rem · 14px
Large
1rem · 16px
XLarge
1.25rem · 20px
XXLarge
1.5rem · 24px
Round
100rem