Welcome to my

Design System

This site was built entirely with Claude Code

View Github repo ↗
Background

--color-background

#FAFAFA

Text

--color-text

#000000

Link / Brand Blue

--color-link

#0000FF

Muted

--color-muted

#4E4E4E

--font-size-display  ·  clamp(2.75rem → 5rem)  ·  44px–80px

Display

--font-size-h1  ·  clamp(2.25rem → 4rem)  ·  36px–64px

Heading 1

--font-size-h2  ·  clamp(1.875rem → 3.2rem)  ·  30px–51px

Heading 2

--font-size-h3  ·  clamp(1.625rem → 2.25rem)  ·  26px–36px

Heading 3

--font-size-largebody  ·  clamp(1.375rem → 1.625rem)  ·  22px–26px

Large body — used for the about headline and lead copy. Sits between h3 and body in the scale.

--font-size-body  ·  clamp(1.125rem → 1.25rem)  ·  18px–20px

Body — the default paragraph size. Used across all content blocks, case study sections, and meta items. Readable at all viewport widths with fluid scaling.

--font-size-small  ·  1.1rem  ·  ~17.6px fixed

Small — labels, captions, nav items, footer text, CTAs

--font-size-nav  ·  1.1rem  ·  ~17.6px fixed

Nav — matches small; separate token for independent control

--font-weight-base  ·  500  ·  Single file (Mabry Medium) — all weights render identically

The quick brown fox

Display  ·  .95

Hero text display tight

Tight  ·  1.1

Headings and titles

Snug  ·  1.25

Pull quotes and subheadings benefit from slightly looser spacing here.

Normal  ·  1.55

Default paragraph text. Comfortable reading rhythm for longer passages of content on the page.

Loose  ·  1.7

Case study body copy. Slightly airy to aid long-form legibility in content-heavy sections.

--letter-spacing-tight  ·  -0.03em

Tight — headlines, labels, CTAs

--letter-spacing-normal  ·  0em

Normal — nav links

2xs

0.25rem  /  4px

xs

0.5rem  /  8px

sm

1rem  /  16px

md

1.5rem  /  24px

lg

2rem  /  32px

xl

3rem  /  48px

2xl

4.5rem  /  72px

3xl

6.5rem  /  104px

4xl

9rem  /  144px

5xl

12rem  /  192px

Hover each box to compare speed

Fast

150ms ease

Base

250ms ease

Slow

400ms ease

--grid-columns

12

--grid-gap

clamp(1rem, 2vw, 1.5rem) — column gutter

--grid-row-gap

clamp(2rem, 4vw, 3rem) — row gap, 2× column gutter

12-column grid — .grid + .col-{n}

1
2
3
4
5
6
7
8
9
10
11
12

Common span examples

.col-6 (half)
.col-6 (half)
.col-4 (third)
.col-4 (third)
.col-4 (third)
.col-3 (quarter)
.col-3 (quarter)
.col-3 (quarter)
.col-3 (quarter)
.col-8
.col-4
.col-start-2 .col-10 (offset 1)

Classes available

.col-{1–12}  ·  .col-sm-{1–12} (≥768px)  ·  .col-lg-{1–12} (≥1024px)  ·  .col-start-{1–12}  ·  .col-sm-start-{1–12}  ·  .col-lg-start-{1–12}

--max-width

1700px — content container cap

--container-padding

clamp(1.25rem, 4vw, 3rem) — fluid horizontal gutter

--nav-height

80px — fixed nav bar, page-body offset

Breakpoint: tablet

≥ 768px — 2-col grids, branding teaser row layout

Breakpoint: desktop

≥ 1024px — 3–4-col grids, desktop nav visible

Breakpoint: ultra-wide

> 1710px — container locks at max-width

.nav-logo

.nav-link

01 / 02 / (active) Etc.

.section-label

.arrow-link

Resume ↗ LinkedIn ↗ View Live Site ↗ View Case Study  See More 

.svg-link

Smile

.text-link

Inline text link

.display-link

Progressive

.btn-pill

See work 

.reveal → .is-visible (scroll fade-up)

Scroll this into view — fades up from 24px below

--font-family

'Mabry', system-ui, -apple-system, 'Helvetica Neue', Arial, sans-serif

File

fonts/mabry-medium.woff2 — single file, weight range 100–900

Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz

0 1 2 3 4 5 6 7 8 9 ! @ # $ % & * ( ) — ↗ →