Sourdough Eatery
Design System · v1.0

The Sourdough Eatery

The visual language for everything we put in front of a customer — website pages, printed menus, window signage, and social tiles. Every rule below is shown working, not just described.

Industry · Sandwich eatery & deli Positioning · Family-run & personal Tone · Warm & tactile Stack · HTML/CSS/JS

Industry calibration: a family-run sourdough sandwich eatery borrows F&B's warmth and appetite appeal — warm color temperature, a characterful serif for display type, imagery-forward layouts — tempered by artisanal restraint: motion stays gentle, layouts stay unhurried, and nothing shouts.

01 · Typography

Type that feels hand-kneaded

A soft, characterful serif for headlines; a clean workhorse sans for everything customers actually read; a monospace for prices and specs.

Pairing options considered
Chosen
Offer and serve only the best
Twenty triple-decker sandwiches, built by the owners since day one.
Fraunces + Work Sans. Fraunces' soft, wonky old-style curves read literally "baked"; Work Sans' tall x-height keeps menus and body copy effortless. High mood contrast, matched proportions.
Offer and serve only the best
Twenty triple-decker sandwiches, built by the owners since day one.
Fraunces Italic + Work Sans. More editorial, café-menu romance. Rejected: italics at display sizes get precious on signage.
Offer and serve only the best
Twenty triple-decker sandwiches, built by the owners since day one.
Grotesque display + serif body. Modern-bistro flavor. Rejected: reads more "startup café chain" than family-run.
Type scale

Ratio ≈ 1.25 (major third). H1–H4 in Fraunces 600; H5–H6 switch to Work Sans 600 where the serif would get lost at small sizes.

The Very Best
H1 · Fraunces 600
56px / 1.1 / −0.015em
Sliced fresh at eleven
H2 · Fraunces 600
40px / 1.15 / −0.01em
Twenty triple-deckers
H3 · Fraunces 600
32px / 1.2
Recipes from the Brown Derby
H4 · Fraunces 600
24px / 1.3
Opening hours & ordering
H5 · Work Sans 600
20px / 1.4
Allergens and ingredients
H6 · Work Sans 600
17px / 1.45
Body large — Barbara's father cooked for Hollywood at the Brown Derby. His recipes are still behind our counter.
Body L · Work Sans 400
18px / 1.7
Body — Every sandwich is built by the owners: Swiss cheese, garden-fresh lettuce, our famous sourdough spread, and a pickle on the side.
Body · Work Sans 400
16px / 1.7
Body small — Phone and fax orders welcome; place them before 11 a.m. for same-day pickup.
Body S · Work Sans 400
14px / 1.6
Caption — Photo: the courtyard patio on North First Street.
Caption · Work Sans 400
13px / 1.5 · n-500
Overline — From the counter
Overline · Work Sans 600
12px / caps / +0.1em
From the counter

The sandwich San Jose trusts

Triple-deckers on sourdough and rye — lean meats, no MSG, and a formula the owners have refined for over twenty years.

The Eatery lives in the historic Lenhart building, across from Old City Hall. Out back is a European-style courtyard — brick patio, hanging flowers, waterfalls — with room for two hundred on a sunny afternoon. Inside, Barbara and Michael build every sandwich themselves, the way they have for twenty years: lean meats sliced thin, Swiss cheese, and the famous sourdough spread that made this a lunchtime landmark.

Barbara's original oil paintings hang in the dining room — the Eatery doubles as her gallery.
measure ≤ 65ch

Body text never runs wider than 65 characters. Wide paragraphs read as effort; we sell comfort.

line-height 1.7 / 1.1–1.3

Body sits at 1.7 for an easy, unhurried read. Display type tightens to 1.1–1.3 so headlines hold together as objects.

¶ spacing = 16px (s-4)

One spacing step between paragraphs, no first-line indents. Space between thoughts, like a good conversation.

02 · Color System

Crust, butter & sage

Everything is warm — even the grays lean toward flour and espresso. One appetite-driven primary, a herbal secondary, and butter reserved for moments of delight.

Brand
Crust#8A4B22Primary — CTAs, links, active states
Crust Deep#6F3C1BPrimary hover / pressed
Sage#5F6F52Secondary — supporting accents, tags
Butter#F2C14EAccent — highlights, badges; always with Espresso text
Crust Tint#F4E4D5Soft fills, hover washes
Sage Tint#E9ECE3Soft fills behind sage content
Neutrals — flour to espresso
Flour#FBF7F1Page background
n-100#F3EAE0Section tint, subtle fills
n-200#E5D8C8Borders, dividers
n-300#C9B9A5Disabled fills
n-400#A08D75Input borders, placeholders (3:1 on Flour)
n-500#7A6A57Captions, muted text (4.9:1)
n-600#5C4E3ESecondary text
n-700#40352ABody text
n-800#2A211AHigh-emphasis text
Espresso#1C1610Headings, dark surfaces
Semantic
Success#3E7A4EOrder confirmed, in stock
Warning#EEB652Low stock, closing soon — Espresso text only
Error#B3402FFailed payment, sold out
Info#3A6EA5Holiday hours, pickup notes
The palette applied — nav + menu card fragment
MenuOur storyVisit
Beef, Ham & Turkey Best seller№ 04

Top round roast beef, Idaho ham, and white turkey breast with Swiss — our best-selling triple-decker.

Contrast — WCAG AA
Espresso / Flour16.8 ✓
Body n-700 / Flour11.2 ✓
Muted n-500 / Flour4.9 ✓
White / Crust6.8 ✓
White / Sage5.4 ✓
Espresso / Butter10.7 ✓
White / Error5.7 ✓
White / Success5.1 ✓

Every text-on-background pair above passes WCAG AA (≥ 4.5:1 for body text). Butter and Warning are never used behind white text; n-400 is reserved for borders and placeholder text (3:1 UI minimum).

03 · Spacing & Layout

Room to breathe

A 4px base unit builds a nine-step scale. Generous whitespace is part of the brand — cramped layouts read as fast food.

s-1 · 4px
Icon-to-label gaps
s-2 · 8px
Chip padding, tight stacks
s-3 · 12px
Inside small components
s-4 · 16px
Paragraph spacing, card padding start
s-5 · 24px
Grid gutters, card padding
s-6 · 32px
Between related blocks
s-7 · 48px
Between sub-sections
s-8 · 64px
Major block separation
s-9 · 96px
Section padding
12 columnsdesktop ≥ 1024px
24px gutterss-5, all breakpoints
1152px maxcontent width, centered
65ch measureprose column cap

Breakpoints: 640 (large phones) · 768 (tablet — grids drop to 1–2 columns) · 1024 (sidebar nav appears, 12-col grid active) · 1280 (full section padding). This page eats its own cooking: resize it and watch the sidebar collapse to the chip nav at 1024, and every grid stack at 768.

04 · Components

The counter service

Every interactive piece with all five states side by side. The first column in each row is live — hover, click and tab through it.

Buttons
Default column is live. Radius r-md (10px) · weight 600 · state change in 150ms ease-out.
Default (live)HoverActiveFocusDisabled Primary Secondary Ghost
Form elements
Focus ring = 3px Crust Tint halo + Crust border. Error swaps both to the Error pair. n-400 borders clear the 3:1 UI-contrast minimum.

As it should appear on the bag.

Crust border + tint halo.

Pickup time must be in the future.

Not available for this order.

Custom chevron, same states as input.

Checkboxes (live)
Radios (live)
Badges & tags

New Seasonal Vegan 3 left Sold out

Cards
Menu cards lift 4px on hover over 250ms — the one moment of play we allow per component. All three are live.
Navigation pattern
Espresso bar, Butter underline for the active page, Butter CTA. Same bar works for the site header and the in-store ordering kiosk.
05 · Motion

Gentle, like proofing dough

Three duration tokens, two easings. Hover a token card to see its timing run. Everything below is real, not described.

fast · 150ms · ease-out

Hover and focus feedback — buttons, links, icons. Felt, not seen.

base · 250ms · ease-out

Card lifts, dropdowns, small layout shifts. The default for anything that moves.

slow · 400ms · ease-in-out

Modals, section reveals, page transitions. Big moves get a soft landing.

Button press
scale(0.95) + inset shadow on :active, fast token. Confirms the tap.
Card hover lift
translateY(−6px) + shadow-lg, base token. Signals "pick me up."
The № 04
Hover me — best seller
Modal enter / exit
Backdrop fades while the panel scales from 0.94 and rises 12px, slow token.
Scroll reveal
Sections fade + rise 24px when 15% visible, slow token, once only. Every block on this page uses it — you've been watching this demo the whole way down.
Replay this card's reveal
click me

"Motion confirms an action or guides attention — it never delays the user."

06 · Iconography & Imagery

Drawn with a warm hand

Line icons with rounded joints — closer to a chalkboard sketch than a tech pictogram. Photography does the appetite work; icons just point the way.

24px grid2px padding safe-area
1.75px strokenever filled
Round caps & joinsstroke-linecap: round
Colorn-700 default · Crust active
loaf
wheat
coffee
rolling-pin
hours
visit
Image treatment

Natural light, warm white balance (+5 warmth max), no heavy filters. Radius r-lg (16px). Text over photos always sits on the Espresso 35% bottom gradient shown below.

4:3
Hero & menu photography. The workhorse ratio for the site and printed menus.
1:1
Social tiles. Product centered, generous negative space, Flour or n-100 backdrop.
3:4
Portraits. Mike & Barbara behind the counter. People sell family-run better than sandwiches do.
07 · Voice & Tone

How we talk

Like the owner chatting across the counter — never like a brand addressing a market. Four words to check every sentence against.

Warm

DoCome in hungry — the courtyard's open and lunch runs eleven to two.
Don'tPremium artisanal sandwiches are now available for purchase.

Honest

DoNinety-five percent lean, no MSG, sliced by the owners. That's the whole secret.
Don'tOur revolutionary proprietary fermentation process delivers unmatched flavor.

Neighborly

DoAsk Barbara about the pastrami — she's been perfecting it for twenty years.
Don'tOur world-class team is committed to delivering excellence.

Unhurried

DoLunch is three hours a day, five days a week. Worth planning around.
Don'tORDER NOW — LIMITED TIME ONLY! DON'T MISS OUT!