Color Palette
Warm documentary palette — aged paper, sepia ink, editorial gold. Evokes archival photographs and primary documents.
Typography
Playfair Display
'Playfair Display', serif
Source Serif 4
'Source Serif 4', serif
JOSEFIN SANS
'Josefin Sans', sans-serif
Spacing Scale
Masthead / Hero
Masthead: --warm-mid bg · Playfair Display title · Josefin eyebrow (8px tracking) · Hairline gradient rules · 2px solid sepia bottom border
Cards & Content Blocks
Testimony cards: --paper bg · 1px gap on --border · Left border --sepia on hover · Courier date · Playfair italic name · Source Serif quote
Statistical analysis of conviction rates and camp deportations 1933–1945. Hover: left border --sepia.
Stats & Data Callouts
First enacted
Men convicted 1933–45
Sent to camps
Year repealed
Stat blocks: --paper2 bg · 3px top border --sepia · Playfair Display number · Source Serif 4 italic label · No border-radius
Forms & Inputs
Input: --paper bg · 1px border --border · Focus: --sepia border · No border-radius · Label: Josefin 0.62rem, 3px tracking
Alerts & Banners
Alerts: warm paper bgs · Sepia left borders · Josefin label · Source Serif body · Ticker: --sepia bg, Courier 0.65rem
CSS Custom Property Tokens
:root {
/* ── Brand Colors ── */
--sepia: #8b6914; /* Primary editorial gold */
--sepia2: #c4a35a; /* Lighter sepia — display text on dark */
--sepia3: #e8d5a0; /* Pale sepia — large type on dark */
--border: #d4b87a; /* All borders and dividers */
--warm-dark: #1c1208; /* Nav / footer / darkest elements */
--warm-mid: #2e2010; /* Masthead background */
--warm-body: #3d2e18; /* Primary body text */
--paper: #f4edd8; /* Page background */
--paper2: #ede0c4; /* Card / sidebar backgrounds */
--paper3: #e2d0aa; /* Dividers / darker accents */
--muted: #8a7455; /* Secondary text, captions */
/* ── Typography ── */
--font-display: 'Playfair Display', Georgia, serif;
--font-body: 'Source Serif 4', Georgia, serif;
--font-sans: 'Josefin Sans', Arial, sans-serif;
--font-mono: 'Courier New', monospace;
/* ── Google Fonts ── */
/* family=Playfair+Display:ital,wght@0,400;0,700;1,400
&family=Source+Serif+4:ital,wght@0,300;0,400;1,400
&family=Josefin+Sans:wght@300;400;600 */
/* ── Spacing (4px base) ── */
--space-1: 0.25rem; --space-2: 0.5rem;
--space-4: 1rem; --space-6: 1.5rem;
--space-8: 2rem; --space-12: 3rem;
--space-16: 4rem; --space-20: 5rem;
/* ── Radius ── */
--radius: 0px; /* No border-radius — editorial flatness */
/* ── Special: Hairline Rules ── */
/* background: linear-gradient(90deg, transparent, var(--sepia), transparent); */
/* height: 1px; max-width: 400px; margin: 0 auto; */
/* ── Pattern Overlay ── */
/* Diamond cross-hatch via SVG data URI at 4% opacity on --warm-mid backgrounds */
}