Old Money, also called Quiet Luxury or Stealth Wealth, is an aesthetic rooted in the visual language of inherited wealth, generational taste, and understated refinement. It draws from the world of heritage brands like Loro Piana, Brunello Cucinelli, and Ralph Lauren – environments of country estates, ivy-covered prep schools, leather-bound club rooms, and tailored garments in muted cashmere and fine wool. Unlike the conspicuous opulence of new wealth, Old Money whispers rather than shouts: quality is felt in the weight of the fabric, not the size of the logo. The color palette revolves around cream, navy, deep burgundy, camel, olive, and brushed gold – tones drawn from equestrian leather, aged oak, heritage plaids, and the patina of well-maintained antiques. In web and UI design, this translates to generous whitespace, restrained serif typography with impeccable hierarchy, muted earth and jewel tones, fine hairline borders, and a deliberate absence of visual noise. Every element conveys confidence through restraint – the digital equivalent of a perfectly tailored suit with no visible label.
| Color Name | Hex | Role / Usage |
|---|---|---|
| Ivory Linen | #F8F5F0 |
Primary background, page canvas |
| Warm Parchment | #F0EBE3 |
Secondary background, card surfaces |
| Oyster | #E5DFD5 |
Tertiary surface, sidebar, input backgrounds |
| Camel | #C4A676 |
Primary warm accent, highlights, links |
| Brushed Gold | #B09860 |
Active states, monogram details, decorative rules |
| Deep Navy | #1B2A4A |
Primary text, headings, strong foreground |
| Oxford Blue | #263652 |
Secondary text, navigation, subheadings |
| Slate Grey | #6B7B8D |
Muted text, captions, metadata, placeholders |
| Burgundy | #6B2737 |
Tertiary accent, emphasis, notification badges |
| Hunter Green | #2D4A3E |
Alternate accent, success states, secondary CTA |
| Charcoal | #2E2E2E |
Footer background, inverse surfaces |
| Espresso | #3C2415 |
Dark accent, hover states on dark surfaces |
| Herringbone Tan | #D6CBBA |
Borders, dividers, subtle UI lines |
| Silver Mist | #B8B5AE |
Disabled states, secondary borders |
| Cream White | #FFFFFF |
Maximum light, modal overlays, card highlights |
:root {
/* Backgrounds */
--om-bg-primary: #F8F5F0;
--om-bg-secondary: #F0EBE3;
--om-bg-tertiary: #E5DFD5;
--om-bg-inverse: #2E2E2E;
--om-bg-white: #FFFFFF;
/* Text */
--om-text-primary: #1B2A4A;
--om-text-secondary: #263652;
--om-text-muted: #6B7B8D;
--om-text-on-accent: #F8F5F0;
--om-text-on-inverse: #F0EBE3;
/* Accents */
--om-accent-camel: #C4A676;
--om-accent-gold: #B09860;
--om-accent-burgundy: #6B2737;
--om-accent-hunter: #2D4A3E;
--om-accent-espresso: #3C2415;
/* UI Elements */
--om-border: #D6CBBA;
--om-border-light: #E5DFD5;
--om-border-muted: #B8B5AE;
--om-shadow-color: rgba(27, 42, 74, 0.06);
--om-shadow-strong: rgba(27, 42, 74, 0.12);
/* Gradients */
--om-gradient-linen: linear-gradient(180deg, #F8F5F0 0%, #F0EBE3 100%);
--om-gradient-navy: linear-gradient(180deg, #1B2A4A 0%, #263652 100%);
--om-gradient-warmth: linear-gradient(135deg, #F8F5F0 0%, #F0EBE3 50%, #E5DFD5 100%);
/* Typography */
--om-font-display: 'Cormorant Garamond', Garamond, 'Times New Roman', serif;
--om-font-heading: 'Playfair Display', Georgia, 'Times New Roman', serif;
--om-font-body: 'Libre Baskerville', Baskerville, Georgia, serif;
--om-font-sans: 'Raleway', 'Gill Sans', Calibri, sans-serif;
--om-font-mono: 'Cormorant', Garamond, serif;
/* Spacing */
--om-space-xs: 0.25rem;
--om-space-sm: 0.5rem;
--om-space-md: 1rem;
--om-space-lg: 2rem;
--om-space-xl: 4rem;
--om-space-2xl: 6rem;
/* Border Radius */
--om-radius-sm: 2px;
--om-radius-md: 4px;
--om-radius-lg: 8px;
--om-radius-pill: 9999px;
/* Transitions */
--om-transition-subtle: 0.25s ease;
--om-transition-gentle: 0.4s ease;
}
Old Money typography is rooted in the tradition of engraved stationery, fine printing, and editorial publishing. Display headings favor high-contrast transitional serifs and Didone forms – typefaces born from the neoclassical age of printing that convey authority without excess. Body text uses sturdy old-style serifs designed for sustained reading, with generous line-height and a comfortable measure. Sans-serif type is used only for functional UI elements – navigation labels, metadata, and captions – and should be thin, widely spaced, and uppercase to echo the restrained lettering found on heritage brand storefronts and luxury packaging. Letter-spacing is critical: headings are tight and confident, while labels and small caps are generously tracked. The overall typographic voice should feel as though every word has been carefully considered and precisely placed.
| Font | Style | Best For |
|---|---|---|
| Cormorant Garamond | Refined Garamond revival with tall x-height and elegant hairlines | Display headings, hero titles, brand names |
| Playfair Display | High-contrast transitional serif with sharp details | Section titles, editorial headings, pull quotes |
| Libre Baskerville | Sturdy and readable Baskerville optimized for screen | Body text, article content, long-form reading |
| EB Garamond | Faithful Claude Garamond revival with old-style figures | Block quotes, accent text, secondary body |
| Raleway | Thin, elegant geometric sans-serif | Navigation, labels, captions, uppercase metadata |
| Crimson Pro | Refined book-weight serif with extensive weight range | Alternative body text, versatile heading use |
| Spectral | Serif designed specifically for screen reading | Responsive-friendly body content |
| Cinzel | Roman inscription-inspired capitals | Monograms, decorative initials, section markers |
| Heading Font | Body Font | Mood |
|---|---|---|
| Cormorant Garamond | Libre Baskerville | Engraved stationery meets editorial prose; pure Old Money |
| Playfair Display | Libre Baskerville | Confident editorial authority with readable depth |
| Cormorant Garamond | Raleway (body light) | Classical headline with airy, modern readability |
| Cinzel (display only) | EB Garamond | Monumental inscriptions paired with literary warmth |
| Playfair Display | EB Garamond | High-contrast drama with soft old-style reading |
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Raleway:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap');
/* Display -- Hero titles, brand name */
.om-display {
font-family: var(--om-font-display);
font-size: clamp(2.5rem, 5vw, 4.5rem);
font-weight: 300;
line-height: 1.1;
letter-spacing: 0.02em;
color: var(--om-text-primary);
}
/* Heading 1 -- Page titles */
.om-h1 {
font-family: var(--om-font-heading);
font-size: clamp(2rem, 4vw, 3rem);
font-weight: 700;
line-height: 1.2;
letter-spacing: -0.01em;
color: var(--om-text-primary);
}
/* Heading 2 -- Section titles */
.om-h2 {
font-family: var(--om-font-display);
font-size: clamp(1.5rem, 3vw, 2.25rem);
font-weight: 400;
line-height: 1.25;
color: var(--om-text-primary);
}
/* Heading 3 -- Subsection titles */
.om-h3 {
font-family: var(--om-font-display);
font-size: clamp(1.25rem, 2vw, 1.5rem);
font-weight: 500;
line-height: 1.3;
color: var(--om-text-secondary);
}
/* Body -- Primary reading text */
.om-body {
font-family: var(--om-font-body);
font-size: 1.0625rem;
font-weight: 400;
line-height: 1.8;
letter-spacing: 0.01em;
color: var(--om-text-primary);
}
/* Label / Caption -- Navigation, metadata */
.om-label {
font-family: var(--om-font-sans);
font-size: 0.75rem;
font-weight: 500;
line-height: 1.5;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--om-text-muted);
}
/* Blockquote */
.om-blockquote {
font-family: var(--om-font-display);
font-size: 1.375rem;
font-style: italic;
font-weight: 300;
line-height: 1.7;
color: var(--om-text-secondary);
border-left: 2px solid var(--om-accent-camel);
padding-left: var(--om-space-lg);
margin: var(--om-space-xl) 0;
}
.om-card {
background: var(--om-bg-white);
border: 1px solid var(--om-border);
border-radius: var(--om-radius-md);
padding: var(--om-space-lg);
box-shadow:
0 1px 2px var(--om-shadow-color),
0 4px 16px var(--om-shadow-color);
transition: box-shadow var(--om-transition-gentle),
transform var(--om-transition-gentle);
}
.om-card:hover {
box-shadow:
0 2px 6px var(--om-shadow-strong),
0 8px 24px var(--om-shadow-color);
transform: translateY(-2px);
}
.om-card__overline {
font-family: var(--om-font-sans);
font-size: 0.6875rem;
font-weight: 500;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--om-accent-gold);
margin-bottom: var(--om-space-sm);
}
.om-card__title {
font-family: var(--om-font-display);
font-size: 1.5rem;
font-weight: 500;
line-height: 1.3;
color: var(--om-text-primary);
margin-bottom: var(--om-space-sm);
}
.om-card__text {
font-family: var(--om-font-body);
font-size: 0.9375rem;
line-height: 1.75;
color: var(--om-text-muted);
}
.om-card__image {
width: 100%;
border-radius: var(--om-radius-sm);
margin-bottom: var(--om-space-md);
object-fit: cover;
aspect-ratio: 16 / 10;
filter: saturate(0.85) contrast(1.02);
}
/* Primary button -- navy filled */
.om-button {
display: inline-flex;
align-items: center;
gap: 0.5rem;
font-family: var(--om-font-sans);
font-size: 0.75rem;
font-weight: 500;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--om-text-on-accent);
background: var(--om-text-primary);
border: 1.5px solid var(--om-text-primary);
border-radius: var(--om-radius-sm);
padding: 0.875rem 2.25rem;
cursor: pointer;
transition: all var(--om-transition-subtle);
text-decoration: none;
}
.om-button:hover {
background: var(--om-text-secondary);
border-color: var(--om-text-secondary);
}
.om-button:active {
transform: translateY(1px);
}
/* Secondary button -- outlined */
.om-button--outline {
background: transparent;
color: var(--om-text-primary);
border-color: var(--om-border);
}
.om-button--outline:hover {
border-color: var(--om-text-primary);
background: transparent;
}
/* Ghost button -- text only with underline */
.om-button--ghost {
background: transparent;
color: var(--om-text-secondary);
border: none;
padding: 0.5rem 0;
letter-spacing: 0.12em;
border-bottom: 1px solid var(--om-border);
border-radius: 0;
}
.om-button--ghost:hover {
color: var(--om-text-primary);
border-bottom-color: var(--om-text-primary);
background: transparent;
}
.om-nav {
display: flex;
align-items: center;
justify-content: space-between;
padding: 1.25rem 4rem;
background: var(--om-bg-primary);
border-bottom: 1px solid var(--om-border-light);
position: sticky;
top: 0;
z-index: 100;
}
.om-nav__brand {
font-family: var(--om-font-display);
font-size: 1.5rem;
font-weight: 400;
letter-spacing: 0.04em;
color: var(--om-text-primary);
text-decoration: none;
}
.om-nav__links {
display: flex;
gap: 2.5rem;
list-style: none;
margin: 0;
padding: 0;
}
.om-nav__link {
font-family: var(--om-font-sans);
font-size: 0.6875rem;
font-weight: 500;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--om-text-muted);
text-decoration: none;
padding-bottom: 2px;
border-bottom: 1px solid transparent;
transition: color var(--om-transition-subtle),
border-color var(--om-transition-subtle);
}
.om-nav__link:hover,
.om-nav__link--active {
color: var(--om-text-primary);
border-bottom-color: var(--om-accent-camel);
}
.om-hero {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
min-height: 90vh;
padding: 6rem 2rem;
background: var(--om-bg-primary);
position: relative;
overflow: hidden;
}
.om-hero::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg,
rgba(248, 245, 240, 0) 0%,
rgba(240, 235, 227, 0.5) 100%);
pointer-events: none;
}
.om-hero__overline {
font-family: var(--om-font-sans);
font-size: 0.6875rem;
font-weight: 500;
letter-spacing: 0.25em;
text-transform: uppercase;
color: var(--om-accent-gold);
margin-bottom: 2rem;
position: relative;
}
.om-hero__title {
font-family: var(--om-font-display);
font-size: clamp(3rem, 6vw, 5.5rem);
font-weight: 300;
line-height: 1.08;
color: var(--om-text-primary);
max-width: 16ch;
margin-bottom: 2rem;
position: relative;
}
.om-hero__rule {
width: 60px;
height: 1px;
background: var(--om-accent-camel);
margin: 0 auto 2rem;
position: relative;
}
.om-hero__subtitle {
font-family: var(--om-font-body);
font-size: clamp(1rem, 1.5vw, 1.125rem);
line-height: 1.8;
color: var(--om-text-muted);
max-width: 48ch;
margin-bottom: 2.5rem;
position: relative;
}
.om-quote {
position: relative;
max-width: 640px;
margin: var(--om-space-2xl) auto;
padding: var(--om-space-xl) 0;
text-align: center;
}
.om-quote::before,
.om-quote::after {
content: '';
display: block;
width: 40px;
height: 1px;
background: var(--om-accent-camel);
margin: 0 auto;
}
.om-quote::before {
margin-bottom: var(--om-space-lg);
}
.om-quote::after {
margin-top: var(--om-space-lg);
}
.om-quote__text {
font-family: var(--om-font-display);
font-size: clamp(1.25rem, 2.5vw, 1.75rem);
font-style: italic;
font-weight: 300;
line-height: 1.7;
color: var(--om-text-primary);
}
.om-quote__attribution {
display: block;
margin-top: var(--om-space-md);
font-family: var(--om-font-sans);
font-size: 0.6875rem;
font-style: normal;
font-weight: 500;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--om-text-muted);
}
.om-crest {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.75rem;
padding: var(--om-space-lg);
}
.om-crest__monogram {
width: 72px;
height: 72px;
border: 1.5px solid var(--om-accent-camel);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-family: var(--om-font-display);
font-size: 1.5rem;
font-weight: 400;
letter-spacing: 0.08em;
color: var(--om-accent-gold);
}
.om-crest__name {
font-family: var(--om-font-sans);
font-size: 0.625rem;
font-weight: 500;
letter-spacing: 0.25em;
text-transform: uppercase;
color: var(--om-text-muted);
}
.om-crest__tagline {
font-family: var(--om-font-display);
font-size: 0.875rem;
font-style: italic;
font-weight: 300;
color: var(--om-text-muted);
}
.om-features {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: var(--om-space-xl);
padding: var(--om-space-xl) 0;
}
.om-feature {
text-align: center;
padding: var(--om-space-lg);
}
.om-feature__icon {
font-family: var(--om-font-display);
font-size: 2rem;
font-weight: 300;
color: var(--om-accent-camel);
margin-bottom: var(--om-space-md);
display: block;
}
.om-feature__title {
font-family: var(--om-font-sans);
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--om-text-primary);
margin-bottom: var(--om-space-sm);
}
.om-feature__rule {
width: 24px;
height: 1px;
background: var(--om-accent-camel);
margin: var(--om-space-sm) auto var(--om-space-md);
}
.om-feature__text {
font-family: var(--om-font-body);
font-size: 0.9375rem;
line-height: 1.75;
color: var(--om-text-muted);
}
.om-input-group {
display: flex;
flex-direction: column;
gap: var(--om-space-xs);
margin-bottom: var(--om-space-lg);
}
.om-input-group__label {
font-family: var(--om-font-sans);
font-size: 0.6875rem;
font-weight: 500;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--om-text-muted);
}
.om-input {
font-family: var(--om-font-body);
font-size: 1rem;
color: var(--om-text-primary);
background: var(--om-bg-white);
border: 1px solid var(--om-border);
border-radius: var(--om-radius-sm);
padding: 0.875rem 1rem;
transition: border-color var(--om-transition-subtle);
}
.om-input::placeholder {
color: var(--om-border-muted);
font-style: italic;
}
.om-input:focus {
outline: none;
border-color: var(--om-text-primary);
}
| Aesthetic | Relationship |
|---|---|
| Light Academia | Shares the warm palette, serif typography, and scholarly refinement, but Light Academia emphasizes intellectual warmth and literary culture over wealth and social status |
| Dark Academia | Direct sibling in the Academia family; replaces cream and navy with candlelit darkness and Gothic moodiness while maintaining the classical taste |
| Minimalism | Both prize restraint and whitespace, but Old Money adds warmth, texture, and heritage references that pure Minimalism strips away |
| Grandmillennial | Shares the love of tradition and classic patterns but Grandmillennial embraces chintz, needlepoint, and maximalist layering that Old Money avoids |
| Scandinavian Design | Both value quality materials and understated elegance, but Scandinavian design favors cool neutrals and democratic simplicity over heritage exclusivity |
| Art Deco | Shares the taste for gold accents and formal composition but Art Deco is more geometric, glamorous, and deliberately showy |
| Victorian | Shares the historical foundation and attention to detail but Victorian design is ornamentally heavy and maximalist where Old Money is pared back |
| Wes Anderson | Both employ a curated, composed color palette and meticulous attention to detail, but Wes Anderson is whimsical and self-consciously stylized |
| Editorial / Magazine | Old Money borrows editorial conventions like strong typographic hierarchy and pull quotes, but softens the bold, high-contrast approach into something quieter |
| Monochrome Luxe | Shares the restrained palette and premium feel, but Monochrome Luxe works in strict black-and-white while Old Money introduces warm earth tones |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Whitfield & Associates -- Est. 1892</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Raleway:wght@300;400;500;600&display=swap" rel="stylesheet">
<style>
/* ===========================
CSS Custom Properties
=========================== */
:root {
--om-bg-primary: #F8F5F0;
--om-bg-secondary: #F0EBE3;
--om-bg-tertiary: #E5DFD5;
--om-bg-inverse: #1B2A4A;
--om-bg-white: #FFFFFF;
--om-text-primary: #1B2A4A;
--om-text-secondary: #263652;
--om-text-muted: #6B7B8D;
--om-text-on-accent: #F8F5F0;
--om-text-on-inverse: #F0EBE3;
--om-accent-camel: #C4A676;
--om-accent-gold: #B09860;
--om-accent-burgundy: #6B2737;
--om-accent-hunter: #2D4A3E;
--om-border: #D6CBBA;
--om-border-light: #E5DFD5;
--om-shadow-color: rgba(27, 42, 74, 0.06);
--om-shadow-strong: rgba(27, 42, 74, 0.12);
--om-font-display: 'Cormorant Garamond', Garamond, serif;
--om-font-heading: 'Playfair Display', Georgia, serif;
--om-font-body: 'Libre Baskerville', Baskerville, Georgia, serif;
--om-font-sans: 'Raleway', 'Gill Sans', sans-serif;
}
/* ===========================
Reset & Base
=========================== */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
font-family: var(--om-font-body);
font-size: 1.0625rem;
line-height: 1.8;
color: var(--om-text-primary);
background-color: var(--om-bg-primary);
-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--om-accent-gold); text-decoration: none; transition: color 0.25s ease; }
a:hover { color: var(--om-text-primary); }
/* ===========================
Navigation
=========================== */
.nav {
display: flex;
align-items: center;
justify-content: space-between;
padding: 1.5rem 4rem;
background: var(--om-bg-primary);
border-bottom: 1px solid var(--om-border-light);
position: sticky;
top: 0;
z-index: 100;
}
.nav__brand {
font-family: var(--om-font-display);
font-size: 1.375rem;
font-weight: 400;
letter-spacing: 0.04em;
color: var(--om-text-primary);
text-decoration: none;
}
.nav__links {
display: flex;
gap: 2.5rem;
list-style: none;
}
.nav__links a {
font-family: var(--om-font-sans);
font-size: 0.6875rem;
font-weight: 500;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--om-text-muted);
text-decoration: none;
padding-bottom: 2px;
border-bottom: 1px solid transparent;
transition: color 0.25s ease, border-color 0.25s ease;
}
.nav__links a:hover,
.nav__links a.active {
color: var(--om-text-primary);
border-bottom-color: var(--om-accent-camel);
}
/* ===========================
Hero Section
=========================== */
.hero {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
min-height: 92vh;
padding: 6rem 2rem;
background: var(--om-bg-primary);
position: relative;
}
.hero__overline {
font-family: var(--om-font-sans);
font-size: 0.625rem;
font-weight: 500;
letter-spacing: 0.3em;
text-transform: uppercase;
color: var(--om-accent-gold);
margin-bottom: 2.5rem;
}
.hero__title {
font-family: var(--om-font-display);
font-size: clamp(3rem, 6vw, 5.5rem);
font-weight: 300;
line-height: 1.06;
color: var(--om-text-primary);
max-width: 14ch;
margin-bottom: 2rem;
}
.hero__rule {
width: 48px;
height: 1px;
background: var(--om-accent-camel);
margin: 0 auto 2rem;
}
.hero__subtitle {
font-family: var(--om-font-body);
font-size: 1rem;
line-height: 1.9;
color: var(--om-text-muted);
max-width: 46ch;
margin-bottom: 3rem;
}
.hero__actions {
display: flex;
gap: 1rem;
flex-wrap: wrap;
justify-content: center;
}
/* ===========================
Buttons
=========================== */
.btn {
display: inline-flex;
align-items: center;
gap: 0.5rem;
font-family: var(--om-font-sans);
font-size: 0.6875rem;
font-weight: 500;
letter-spacing: 0.16em;
text-transform: uppercase;
text-decoration: none;
padding: 0.9375rem 2.25rem;
cursor: pointer;
transition: all 0.25s ease;
border: 1px solid transparent;
}
.btn--primary {
color: var(--om-text-on-accent);
background: var(--om-text-primary);
border-color: var(--om-text-primary);
}
.btn--primary:hover {
background: var(--om-text-secondary);
border-color: var(--om-text-secondary);
color: var(--om-text-on-accent);
}
.btn--outline {
color: var(--om-text-primary);
background: transparent;
border-color: var(--om-border);
}
.btn--outline:hover {
border-color: var(--om-text-primary);
color: var(--om-text-primary);
}
/* ===========================
Section Utilities
=========================== */
.section {
padding: 6rem 2rem;
}
.section--cream {
background: var(--om-bg-secondary);
}
.section--navy {
background: var(--om-bg-inverse);
color: var(--om-text-on-inverse);
}
.section__container {
max-width: 1080px;
margin: 0 auto;
}
.section__header {
text-align: center;
margin-bottom: 4rem;
}
.section__overline {
font-family: var(--om-font-sans);
font-size: 0.625rem;
font-weight: 500;
letter-spacing: 0.25em;
text-transform: uppercase;
color: var(--om-accent-gold);
margin-bottom: 1rem;
}
.section__title {
font-family: var(--om-font-display);
font-size: clamp(1.75rem, 3.5vw, 2.75rem);
font-weight: 300;
line-height: 1.2;
color: var(--om-text-primary);
margin-bottom: 1rem;
}
.section--navy .section__title {
color: var(--om-text-on-inverse);
}
.section__rule {
width: 36px;
height: 1px;
background: var(--om-accent-camel);
margin: 0 auto 1.5rem;
}
.section__desc {
font-family: var(--om-font-body);
font-size: 0.9375rem;
color: var(--om-text-muted);
max-width: 50ch;
margin: 0 auto;
line-height: 1.8;
}
.section--navy .section__desc {
color: rgba(240, 235, 227, 0.6);
}
/* ===========================
Feature Grid
=========================== */
.features {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 3rem;
}
.feature {
text-align: center;
padding: 2rem 1.5rem;
}
.feature__icon {
font-family: var(--om-font-display);
font-size: 2.5rem;
font-weight: 300;
color: var(--om-accent-camel);
margin-bottom: 1.25rem;
line-height: 1;
}
.feature__title {
font-family: var(--om-font-sans);
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--om-text-primary);
margin-bottom: 0.75rem;
}
.feature__rule {
width: 20px;
height: 1px;
background: var(--om-accent-camel);
margin: 0 auto 1rem;
}
.feature__text {
font-family: var(--om-font-body);
font-size: 0.875rem;
line-height: 1.8;
color: var(--om-text-muted);
}
/* ===========================
Cards
=========================== */
.cards {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
gap: 2rem;
}
.card {
background: var(--om-bg-white);
border: 1px solid var(--om-border-light);
overflow: hidden;
box-shadow: 0 1px 3px var(--om-shadow-color);
transition: box-shadow 0.4s ease, transform 0.4s ease;
}
.card:hover {
box-shadow: 0 4px 20px var(--om-shadow-strong);
transform: translateY(-2px);
}
.card__img {
width: 100%;
height: 240px;
object-fit: cover;
filter: saturate(0.85);
}
.card__body {
padding: 2rem;
}
.card__overline {
font-family: var(--om-font-sans);
font-size: 0.5625rem;
font-weight: 600;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--om-accent-gold);
margin-bottom: 0.75rem;
}
.card__title {
font-family: var(--om-font-display);
font-size: 1.375rem;
font-weight: 500;
line-height: 1.3;
color: var(--om-text-primary);
margin-bottom: 0.75rem;
}
.card__text {
font-family: var(--om-font-body);
font-size: 0.875rem;
line-height: 1.8;
color: var(--om-text-muted);
margin-bottom: 1.25rem;
}
.card__link {
font-family: var(--om-font-sans);
font-size: 0.625rem;
font-weight: 500;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--om-text-primary);
text-decoration: none;
padding-bottom: 1px;
border-bottom: 1px solid var(--om-border);
transition: border-color 0.25s ease;
}
.card__link:hover {
border-bottom-color: var(--om-text-primary);
}
/* ===========================
Pull Quote
=========================== */
.quote {
max-width: 640px;
margin: 0 auto;
padding: 3rem 0;
text-align: center;
}
.quote__rule {
width: 40px;
height: 1px;
background: rgba(240, 235, 227, 0.25);
margin: 0 auto 2rem;
}
.section--navy .quote__rule {
background: rgba(240, 235, 227, 0.25);
}
.quote__text {
font-family: var(--om-font-display);
font-size: clamp(1.25rem, 2.5vw, 1.625rem);
font-style: italic;
font-weight: 300;
line-height: 1.7;
color: var(--om-text-on-inverse);
}
.quote__attribution {
display: block;
margin-top: 1.5rem;
font-family: var(--om-font-sans);
font-size: 0.625rem;
font-style: normal;
font-weight: 500;
letter-spacing: 0.2em;
text-transform: uppercase;
color: rgba(240, 235, 227, 0.5);
}
/* ===========================
Crest / Monogram
=========================== */
.crest {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.5rem;
margin-bottom: 3rem;
}
.crest__circle {
width: 64px;
height: 64px;
border: 1px solid var(--om-accent-camel);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-family: var(--om-font-display);
font-size: 1.25rem;
font-weight: 400;
letter-spacing: 0.06em;
color: var(--om-accent-gold);
}
/* ===========================
Newsletter
=========================== */
.newsletter {
max-width: 480px;
margin: 0 auto;
text-align: center;
}
.newsletter__form {
display: flex;
gap: 0.75rem;
margin-top: 2rem;
}
.newsletter__input {
flex: 1;
font-family: var(--om-font-body);
font-size: 0.875rem;
color: var(--om-text-primary);
background: var(--om-bg-white);
border: 1px solid var(--om-border);
padding: 0.875rem 1rem;
transition: border-color 0.25s ease;
}
.newsletter__input::placeholder {
color: var(--om-border);
font-style: italic;
}
.newsletter__input:focus {
outline: none;
border-color: var(--om-text-primary);
}
/* ===========================
Footer
=========================== */
.footer {
background: var(--om-bg-inverse);
color: var(--om-text-on-inverse);
padding: 4rem 2rem 2rem;
text-align: center;
}
.footer__brand {
font-family: var(--om-font-display);
font-size: 1.125rem;
font-weight: 400;
letter-spacing: 0.04em;
color: var(--om-text-on-inverse);
margin-bottom: 0.5rem;
}
.footer__tagline {
font-family: var(--om-font-display);
font-style: italic;
font-weight: 300;
font-size: 0.875rem;
color: rgba(240, 235, 227, 0.4);
margin-bottom: 2rem;
}
.footer__links {
display: flex;
justify-content: center;
gap: 2.5rem;
list-style: none;
margin-bottom: 2.5rem;
}
.footer__links a {
font-family: var(--om-font-sans);
font-size: 0.625rem;
font-weight: 500;
letter-spacing: 0.16em;
text-transform: uppercase;
color: rgba(240, 235, 227, 0.45);
text-decoration: none;
transition: color 0.25s ease;
}
.footer__links a:hover {
color: var(--om-accent-camel);
}
.footer__rule {
width: 48px;
height: 1px;
background: rgba(240, 235, 227, 0.12);
margin: 0 auto 1.5rem;
}
.footer__copy {
font-family: var(--om-font-sans);
font-size: 0.625rem;
font-weight: 400;
letter-spacing: 0.08em;
color: rgba(240, 235, 227, 0.25);
}
/* ===========================
Responsive
=========================== */
@media (max-width: 768px) {
.nav {
padding: 1.25rem 1.5rem;
}
.nav__links {
display: none; /* Hamburger menu in production */
}
.hero {
min-height: 75vh;
padding: 4rem 1.5rem;
}
.section {
padding: 4rem 1.5rem;
}
.features {
grid-template-columns: 1fr;
gap: 1rem;
}
.cards {
grid-template-columns: 1fr;
}
.newsletter__form {
flex-direction: column;
}
.footer__links {
flex-wrap: wrap;
gap: 1rem 2rem;
}
}
</style>
</head>
<body>
<!-- ===========================
Navigation
=========================== -->
<nav class="nav">
<a href="#" class="nav__brand">Whitfield & Associates</a>
<ul class="nav__links">
<li><a href="#" class="active">Heritage</a></li>
<li><a href="#">Collections</a></li>
<li><a href="#">Residence</a></li>
<li><a href="#">Journal</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
<!-- ===========================
Hero Section
=========================== -->
<header class="hero">
<span class="hero__overline">Established 1892</span>
<h1 class="hero__title">The Quiet Art of Lasting Things</h1>
<div class="hero__rule"></div>
<p class="hero__subtitle">For over a century, we have believed that true quality speaks for itself. Our work is measured not in seasons, but in generations.</p>
<div class="hero__actions">
<a href="#collections" class="btn btn--primary">View Collections</a>
<a href="#heritage" class="btn btn--outline">Our Heritage</a>
</div>
</header>
<!-- ===========================
Features / Values
=========================== -->
<section id="heritage" class="section">
<div class="section__container">
<div class="section__header">
<p class="section__overline">Our Principles</p>
<h2 class="section__title">Built to Endure</h2>
<div class="section__rule"></div>
<p class="section__desc">We believe that the finest things require no announcement. Quality reveals itself quietly, through touch, through time, through the confidence of knowing rather than showing.</p>
</div>
<div class="features">
<div class="feature">
<div class="feature__icon">I</div>
<h3 class="feature__title">Heritage</h3>
<div class="feature__rule"></div>
<p class="feature__text">Every piece carries the weight of tradition, informed by generations of knowledge passed down through careful hands.</p>
</div>
<div class="feature">
<div class="feature__icon">II</div>
<h3 class="feature__title">Craftsmanship</h3>
<div class="feature__rule"></div>
<p class="feature__text">Materials selected for their character and longevity. Techniques refined over decades. Details visible only to those who look closely.</p>
</div>
<div class="feature">
<div class="feature__icon">III</div>
<h3 class="feature__title">Restraint</h3>
<div class="feature__rule"></div>
<p class="feature__text">We believe in the power of understatement. What we choose not to include is as considered as what remains.</p>
</div>
</div>
</div>
</section>
<!-- ===========================
Quote Section (Navy)
=========================== -->
<section class="section section--navy">
<div class="quote">
<div class="quote__rule"></div>
<p class="quote__text">Elegance is not about being noticed. It is about being remembered.</p>
<span class="quote__attribution">Giorgio Armani</span>
<div class="quote__rule" style="margin-top: 2rem;"></div>
</div>
</section>
<!-- ===========================
Collections / Cards
=========================== -->
<section id="collections" class="section section--cream">
<div class="section__container">
<div class="section__header">
<p class="section__overline">The Collection</p>
<h2 class="section__title">Considered Selections</h2>
<div class="section__rule"></div>
<p class="section__desc">Each piece chosen for its ability to complement a life lived with intention. Nothing fleeting, nothing superfluous.</p>
</div>
<div class="cards">
<!-- Card 1 -->
<article class="card">
<img class="card__img" src="https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=600&h=400&fit=crop&crop=center" alt="Tailored wool coat draped over a leather chair">
<div class="card__body">
<span class="card__overline">Tailoring</span>
<h3 class="card__title">The Unstructured Blazer</h3>
<p class="card__text">Soft-shouldered and impeccably cut from double-faced wool. No padding, no lining, no effort visible. The kind of jacket that improves with each wearing.</p>
<a href="#" class="card__link">Explore →</a>
</div>
</article>
<!-- Card 2 -->
<article class="card">
<img class="card__img" src="https://images.unsplash.com/photo-1449505278894-297fdb3edbc1?w=600&h=400&fit=crop&crop=center" alt="Leather-bound journals on an oak writing desk">
<div class="card__body">
<span class="card__overline">Library</span>
<h3 class="card__title">The Reading Room</h3>
<p class="card__text">A curated selection of volumes bound in full grain leather, set upon shelves of aged oak. Each title chosen not for display, but for the quality of its thought.</p>
<a href="#" class="card__link">Explore →</a>
</div>
</article>
<!-- Card 3 -->
<article class="card">
<img class="card__img" src="https://images.unsplash.com/photo-1558618666-fcd25c85f82e?w=600&h=400&fit=crop&crop=center" alt="Country estate grounds with morning fog">
<div class="card__body">
<span class="card__overline">Residence</span>
<h3 class="card__title">The Country House</h3>
<p class="card__text">Interiors that have evolved over generations rather than been decorated in a single season. Patina preferred. Perfection not required.</p>
<a href="#" class="card__link">Explore →</a>
</div>
</article>
</div>
</div>
</section>
<!-- ===========================
Newsletter
=========================== -->
<section class="section">
<div class="section__container">
<div class="newsletter">
<div class="crest">
<div class="crest__circle">W</div>
</div>
<p class="section__overline">Correspondence</p>
<h2 class="section__title" style="font-size: clamp(1.5rem, 3vw, 2rem);">Private Letters</h2>
<div class="section__rule"></div>
<p class="section__desc">Occasional notes on craft, heritage, and the quiet pleasures of a considered life. Sent quarterly, never more.</p>
<form class="newsletter__form" onsubmit="event.preventDefault()">
<input type="email" class="newsletter__input" placeholder="Your email address" aria-label="Email address">
<button type="submit" class="btn btn--primary" style="white-space: nowrap;">Subscribe</button>
</form>
</div>
</div>
</section>
<!-- ===========================
Footer
=========================== -->
<footer class="footer">
<div class="footer__brand">Whitfield & Associates</div>
<p class="footer__tagline">The quiet art of lasting things</p>
<ul class="footer__links">
<li><a href="#">Heritage</a></li>
<li><a href="#">Collections</a></li>
<li><a href="#">Residence</a></li>
<li><a href="#">Journal</a></li>
<li><a href="#">Contact</a></li>
<li><a href="#">Privacy</a></li>
</ul>
<div class="footer__rule"></div>
<p class="footer__copy">© 2026 Whitfield & Associates. All rights reserved.</p>
</footer>
</body>
</html>