Design System
Hover over any sample to see its CSS.
Colors
Typography
Typography classes (.eyebrow, .subtitle, .org, etc.) define only font styling — no margins or padding. Spacing is applied explicitly in HTML via margin utilities (e.g. mb-6, mb-12, mt-32). See Spacing section for the full utility scale.
Type scale
Font sizes and one example use each. Use these sizes consistently for hierarchy.
| Size | Example use |
|---|---|
| 0.75rem | Metric labels |
| 0.8rem | case-block__title captions |
| 0.85rem | Logo role, footer brand |
| 0.9rem | .text-small, accent label |
| 1rem | p (body), .eyebrow |
| 1.1rem | .subtitle |
| 1.4rem | Logo (script) |
| 1.5rem | h3 |
| 1.75rem | h2, .org |
| 3rem | Case study h1 |
| 3.5rem | .hero h1 (homepage) |
Typography (by hierarchy — largest to smallest)
| Role / Style | Purpose | HTML | Classes / IDs | Example |
|---|---|---|---|---|
| Hero headline | Main page title on the homepage | h1 | .hero | Designing for Impact.hero h1 {
font-family: "Pacifico", cursive;
font-size: 3.5rem;
background: var(--gradient-primary);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
} |
| Section title | Major section headings (e.g. Recommendations). Use h2. | h2 | — | Recommendationsh2 {
font-size: 1.75rem;
font-weight: 700;
line-height: 1.3;
} |
| Card org / company | Company or organization name in case study heroes and cards | p | .org | The Walt Disney Company .org {
font-size: 1.75rem;
font-weight: 700;
color: var(--accent-indigo);
} |
| Index work card company | Company name on homepage work blocks | h4 | .blue | The Walt Disney Companyh4.blue {
font-size: 1.25rem;
font-weight: 700;
color: var(--accent-indigo);
} |
| Subsection / Card title | Section subheadings and case card titles. Use h3. | h3 | — | Profitability through price increasesh3 {
font-size: 1.5rem;
font-weight: 700;
line-height: 1.3;
} |
| Logo (script) | Site name in script/display font | span | .logo__name | Caroline Win .logo__name {
font-family: "Pacifico", cursive;
font-size: 1.4rem;
color: var(--accent-indigo);
} |
| Subtitle | Supporting text below section titles | p | .subtitle | Thanks to all my teammates! .subtitle {
font-size: 1.1rem;
color: var(--text-muted);
} |
| Body text | Primary body: hero intro, card summary | p | — | As a scientist-turned-designer… p {
font-size: 1rem;
line-height: 1.6;
color: var(--text-main);
} |
| Footer body / links | Footer body text and navigation links (use standard p and a) | p, a | — | |
| Text small | Small body copy (e.g. metadata) | p | .text-small | Jan 2023 to present .text-small {
font-size: 0.9rem;
line-height: 1.4;
} |
| Logo subtitle | Tagline or role below logo | span | .logo__role | Product Designer, Researcher, & Builder .logo__role {
font-size: 0.85rem;
font-weight: 600;
color: var(--text-main);
} |
| Eyebrow | Small uppercase labels above section titles | p | .eyebrow | Selected Work .eyebrow {
font-size: 1rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--text-muted);
} |
Buttons
| Style | Purpose | Example |
|---|---|---|
| Primary CTA | Main call-to-action for primary actions | Learn More .btn .btn--primary |
| Ghost / secondary | Secondary or less prominent actions | Secondary action .btn .btn--ghost |
| Text link | Minimal link style for tertiary actions | .btn .btn--text |
Corners and shadows
| Style | Purpose | Example |
|---|---|---|
| Radius extra large | Largest corner radius for major containers | --radius-xl: 24px; |
| Radius large | Standard large radius for cards and sections | --radius-lg: 18px; |
| Radius medium | Medium radius for buttons and smaller elements | --radius-md: 14px; |
| Pill | Fully rounded for pill-shaped elements | --radius-pill: 999px; |
| Shadow soft | Subtle depth shadow for elevated elements | --shadow-soft |
| Shadow primary | Primary button default shadow | --shadow-primary |
Layout
Container
Main content width and horizontal margins. --container-max: 1280px, --container-margin: 72px
Reading width (measure)
Comfortable line length: 45–75 characters. .hero p uses max-width: 42rem.
Sections
.section, .section__header, .section--work, .section--recommendations, .section--anchor
Recommendations section content
Content fills 100% viewport width minus 72px left and right margins (36px each side). Use .recommendations__inner with max-width: 1280px; section keeps full-width background.
Marquee
Infinite left-sliding text. Use .marquee, .marquee__track, .marquee__text. Respects prefers-reduced-motion.
Media: static vs lightbox
.static_media — no zoom. .case-block__media — hover lift, click opens lightbox.
Footer
Spacing
Explicit spacing in HTML
Apply spacing via margin utilities: mb-6, mb-12, mt-32, etc.
Margin utilities
mb-0, mb-2, mb-4, mb-6, mb-8, mb-12, mb-16, mb-24, mb-32, mb-40 (and mt-*).
Space token scale (CSS)
--space-2 through --space-120. Section gaps use --space-120.