Design Tokens
Style Guide
The design tokens, typography, spacing, and component patterns that define this portfolio. A living reference for visual consistency.
Color Palette
A warm, muted palette built for high contrast and readability. Background tones are off-white to reduce eye strain. The accent green is used sparingly for labels and interactive cues.
Backgrounds
Text
Accent
Borders
Typography
Two typefaces form the typographic system. Space Grotesk provides geometric character for headings, while IBM Plex Sans offers clear readability for body text.
Headings
Space Grotesk
Body
IBM Plex Sans
Type Scale
Hero Heading
Section Title (h2)
Card Heading (h3)
Subsection Title
Card Title
Body text large. Used for hero descriptions and section introductions where slightly more visual weight is needed.
Body text base. The default text size used across the site for paragraphs and general content. Optimized for comfortable reading at normal distances.
Small text. Used for card descriptions, button labels, metadata, and supporting content that complements the primary copy.
Section Label / Tag
Spacing Scale
A geometric spacing scale based on a 4px / 0.25rem base unit. Used consistently for padding, margins, and gaps throughout the layout.
Components
Reusable patterns used across the portfolio. Buttons use pill-shaped borders for a modern feel. Cards follow a consistent structure with image, tag, title, and description.
Buttons
Tags & Labels
Selected Work
Work Card
Cards use a 16/10 aspect ratio image area, 16px border radius, and a subtle border. On hover they lift with a shadow transition.
Building a Unified Design System for Enterprise
Led the creation of a cross-product component library and governance model that replaced fragmented team libraries.
Border Radius
--radius-sm / 4px
--radius-md / 8px
--radius-lg / 12px
--radius-xl / 16px
100px (buttons)
Shadows
--shadow-sm
--shadow-md
--shadow-lg
--shadow-card
--shadow-card-hover
Layout
Layout is constrained by container widths and uses consistent section padding. The work grid uses CSS grid with auto-fill columns for responsive card layouts.
Max Width
1200px
--container-max
Narrow Width
800px
--container-narrow (text blocks)
Container Padding
1.5rem
--container-padding (24px)
Section Padding
8rem
--space-5xl top and bottom
Grid Patterns
Featured Work
2-column grid
repeat(2, 1fr) with --space-xl gap. Stacks to single column on mobile.
Work Grid
Auto-fill columns
repeat(auto-fill, minmax(340px, 1fr)). Responsive without breakpoints.
Approach Cards
2-column layout
Content + stat cards side by side. Flexbox with wrap.
Transitions
Duration Fast
150ms
Hover states, micro-interactions
Duration Normal
300ms
Card transitions, button hovers
Duration Slow
500ms
Background changes, scroll animations
Easing
ease-out
cubic-bezier(0.22, 1, 0.36, 1)