Neo Deco is the contemporary revival of 1920s and 1930s Art Deco, filtering the original movement’s core principles – symmetry, geometry, and decorative sensibility – through a modern lens of restraint, material honesty, and functional elegance. Where classic Art Deco celebrated the machine age with exuberant opulence and lavish ornamentation, Neo Deco works through subtraction: decoration becomes graphic gesture, surfaces are simplified, and color palettes are deepened and controlled rather than brightly saturated.
The aesthetic emerged as a reaction against both sterile minimalism and disposable fast-decor, offering a middle path that prioritizes depth, character, and visible craftsmanship. It retains iconic Art Deco geometries – crisp chevrons, sunburst motifs, fan arches, and stepped forms – but renders them in sharper, more refined ways suited to contemporary spaces and digital interfaces. The result is a sleeker, moodier version of its predecessor, one that feels architectural and intentional without tipping into museum-piece rigidity.
In web and UI design, Neo Deco translates to dark, rich backgrounds paired with warm metallic accents (gold, brass, brushed chrome), geometric border treatments, symmetrical grid layouts, and typography that balances Art Deco display confidence with modern readability. Materials like veined marble, smoked glass, satin brass, and lacquered surfaces find digital expression through carefully crafted gradients, textured overlays, and luminous metallic effects. The palette centers on deepened jewel tones – bottle green, midnight blue, burgundy, dark terracotta – balanced against warm neutrals like ivory, sand, and graphite. Every element communicates structured richness: luxury that is earned through proportion and craftsmanship rather than excess.
Neo Deco is particularly resonant in 2025-2026 design culture, identified by Pinterest and design forecasters as a leading trend that merges Art Deco glamour with modern comfort, reflecting a broader cultural shift toward layered sophistication and heritage-quality aesthetics in both physical and digital spaces.
Neo Deco color palettes are intense but never overpowering. The foundation is dark and warm – graphite, charcoal, and deep navy – against which deepened jewel tones and warm metallics create controlled moments of richness. Unlike classic Art Deco’s bright emerald and ruby, Neo Deco shifts toward bottle green, burgundy, and inky blue. Metals play a chromatic role: warm brass, oxidized bronze, and brushed nickel act as accents that capture and reflect light.
| Swatch | Hex | Role / Usage |
|---|---|---|
| Graphite Black | #1B1B1F |
Primary background, deepest layer |
| Charcoal Warm | #2A2A2E |
Card backgrounds, secondary surfaces |
| Slate Deco | #3A3A42 |
Elevated panels, borders, dividers |
| Deep Navy | #0F1A2E |
Alternative dark background, section contrast |
| Bottle Green | #1A4D3E |
Primary jewel accent, feature panels |
| Burgundy | #6B1D2A |
Secondary jewel accent, highlights |
| Midnight Blue | #1A2744 |
Tertiary accent, data panels |
| Dark Amber | #8B6914 |
Warm accent, decorative details |
| Satin Gold | #C9A84C |
Primary metallic, borders, headings |
| Light Gold | #E4D08E |
Metallic highlight, hover states |
| Brushed Chrome | #B8BFC6 |
Secondary metallic, subtle accents |
| Ivory Warm | #F2EDE3 |
Primary text on dark backgrounds |
| Sand | #D9CDB8 |
Secondary text, muted labels |
| Terracotta Deep | #8B4A2B |
Warm decorative accent, badges |
| Marble White | #F8F5F0 |
Light background variant, contrast sections |
:root {
/* Backgrounds */
--neo-deco-bg-primary: #1B1B1F;
--neo-deco-bg-secondary: #2A2A2E;
--neo-deco-bg-elevated: #3A3A42;
--neo-deco-bg-navy: #0F1A2E;
/* Jewel Tones */
--neo-deco-green: #1A4D3E;
--neo-deco-burgundy: #6B1D2A;
--neo-deco-blue: #1A2744;
--neo-deco-amber: #8B6914;
--neo-deco-terracotta: #8B4A2B;
/* Metallics */
--neo-deco-gold: #C9A84C;
--neo-deco-gold-light: #E4D08E;
--neo-deco-chrome: #B8BFC6;
--neo-deco-gold-gradient: linear-gradient(
135deg, #A67C2E, #C9A84C, #E4D08E, #C9A84C, #A67C2E
);
/* Text */
--neo-deco-text-primary: #F2EDE3;
--neo-deco-text-secondary: #D9CDB8;
--neo-deco-text-muted: #8A8380;
/* Light Theme */
--neo-deco-bg-light: #F8F5F0;
--neo-deco-text-dark: #1B1B1F;
/* Functional */
--neo-deco-border: #C9A84C;
--neo-deco-border-subtle: rgba(201, 168, 76, 0.25);
--neo-deco-shadow: rgba(0, 0, 0, 0.35);
}
Neo Deco typography inherits Art Deco’s geometric confidence and uppercase display energy but tempers it with contemporary restraint and readability. Headlines use bold geometric typefaces with wide letter-spacing and classical proportions, while body text shifts to elegant, light-weight sans-serifs that maintain legibility at extended reading lengths. The overall effect is authoritative yet refined – type that commands attention without shouting.
| Font | Weight(s) | Style | Usage |
|---|---|---|---|
| Josefin Sans | 300, 400, 600, 700 | Geometric, vintage elegance | Primary headlines, display text |
| Poiret One | 400 | Thin geometric, Art Deco essence | Feature titles, decorative headings |
| Cinzel | 400, 600, 700 | Classical serif, architectural | Formal headings, section titles |
| Cinzel Decorative | 400, 700 | Ornamental classical serif | Hero headlines, logos |
| Cormorant Garamond | 300, 400, 600 | Elegant high-contrast serif | Subheadings, pull quotes |
| Raleway | 200, 300, 400, 500, 600 | Thin geometric sans-serif | Body text, interface labels |
| Tenor Sans | 400 | Clean geometric sans | Body copy, secondary text |
| Bebas Neue | 400 | Bold condensed uppercase | Banners, impact headlines |
| Playfair Display | 400, 600, 700 | High-contrast transitional serif | Editorial headlines, luxury feel |
| Heading Font | Body Font | Character |
|---|---|---|
| Cinzel Decorative (700) | Raleway (300) | Opulent luxury, formal elegance |
| Josefin Sans (600) | Tenor Sans (400) | Geometric purity, clean Deco |
| Playfair Display (700) | Raleway (300) | Editorial luxury, magazine quality |
| Bebas Neue (400) | Cormorant Garamond (400) | Bold impact paired with refined body |
| Poiret One (400) | Raleway (200) | Delicate, high-fashion, display-forward |
/* Import fonts */
@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700&family=Josefin+Sans:wght@300;400;600;700&family=Raleway:wght@200;300;400;500&display=swap');
/* Headings */
h1, h2, h3, h4, h5, h6 {
font-family: 'Josefin Sans', 'Cinzel', serif;
text-transform: uppercase;
letter-spacing: 0.12em;
color: var(--neo-deco-gold);
font-weight: 600;
line-height: 1.2;
}
/* Display / Hero text */
.neo-deco-display {
font-family: 'Cinzel Decorative', 'Josefin Sans', serif;
font-size: clamp(2.5rem, 7vw, 6rem);
font-weight: 700;
letter-spacing: 0.15em;
line-height: 1.05;
text-transform: uppercase;
background: var(--neo-deco-gold-gradient);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Body text */
body {
font-family: 'Raleway', 'Tenor Sans', sans-serif;
font-weight: 300;
font-size: 1rem;
letter-spacing: 0.02em;
line-height: 1.75;
color: var(--neo-deco-text-primary);
}
/* Subheadings */
.neo-deco-subtitle {
font-family: 'Josefin Sans', sans-serif;
font-weight: 300;
font-size: 1.15rem;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--neo-deco-text-secondary);
}
.neo-deco-card {
background: var(--neo-deco-bg-secondary);
border: 1px solid var(--neo-deco-border-subtle);
padding: 2.5rem;
position: relative;
text-align: center;
transition: border-color 0.4s ease, box-shadow 0.4s ease;
}
.neo-deco-card:hover {
border-color: var(--neo-deco-gold);
box-shadow: 0 8px 32px var(--neo-deco-shadow);
}
/* Geometric corner ornaments */
.neo-deco-card::before,
.neo-deco-card::after {
content: '';
position: absolute;
width: 28px;
height: 28px;
border-color: var(--neo-deco-gold);
border-style: solid;
transition: width 0.3s ease, height 0.3s ease;
}
.neo-deco-card::before {
top: 10px;
left: 10px;
border-width: 2px 0 0 2px;
}
.neo-deco-card::after {
bottom: 10px;
right: 10px;
border-width: 0 2px 2px 0;
}
.neo-deco-card:hover::before,
.neo-deco-card:hover::after {
width: 36px;
height: 36px;
}
/* Card grid layout */
.neo-deco-card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 28px;
max-width: 1200px;
margin: 0 auto;
}
.neo-deco-button {
display: inline-flex;
align-items: center;
justify-content: center;
background: transparent;
color: var(--neo-deco-gold);
border: 1px solid var(--neo-deco-gold);
padding: 14px 40px;
font-family: 'Josefin Sans', sans-serif;
font-weight: 600;
font-size: 0.85rem;
letter-spacing: 0.18em;
text-transform: uppercase;
text-decoration: none;
cursor: pointer;
position: relative;
transition: all 0.4s ease;
}
.neo-deco-button:hover {
background: var(--neo-deco-gold);
color: var(--neo-deco-bg-primary);
box-shadow: 0 4px 20px rgba(201, 168, 76, 0.3);
}
/* Stepped outline variant */
.neo-deco-button--stepped {
border: 2px solid var(--neo-deco-gold);
outline: 1px solid var(--neo-deco-gold);
outline-offset: 4px;
}
.neo-deco-button--stepped:hover {
outline-offset: 6px;
}
/* Filled variant with gold gradient */
.neo-deco-button--filled {
background: var(--neo-deco-gold-gradient);
color: var(--neo-deco-bg-primary);
border: none;
font-weight: 700;
}
.neo-deco-button--filled:hover {
filter: brightness(1.15);
box-shadow: 0 4px 24px rgba(201, 168, 76, 0.35);
}
.neo-deco-nav {
display: flex;
align-items: center;
justify-content: space-between;
max-width: 1200px;
margin: 0 auto;
padding: 20px 40px;
border-bottom: 1px solid var(--neo-deco-border-subtle);
}
.neo-deco-nav__logo {
font-family: 'Cinzel Decorative', serif;
font-weight: 700;
font-size: 1.3rem;
color: var(--neo-deco-gold);
text-decoration: none;
text-transform: uppercase;
letter-spacing: 0.12em;
}
.neo-deco-nav__links {
display: flex;
gap: 36px;
list-style: none;
margin: 0;
padding: 0;
}
.neo-deco-nav__links a {
font-family: 'Josefin Sans', sans-serif;
font-weight: 400;
font-size: 0.8rem;
color: var(--neo-deco-text-secondary);
text-decoration: none;
text-transform: uppercase;
letter-spacing: 0.15em;
transition: color 0.3s ease;
position: relative;
}
.neo-deco-nav__links a::after {
content: '';
position: absolute;
bottom: -4px;
left: 50%;
width: 0;
height: 1px;
background: var(--neo-deco-gold);
transition: width 0.3s ease, left 0.3s ease;
}
.neo-deco-nav__links a:hover,
.neo-deco-nav__links a.active {
color: var(--neo-deco-gold);
}
.neo-deco-nav__links a:hover::after,
.neo-deco-nav__links a.active::after {
width: 100%;
left: 0;
}
.neo-deco-hero {
position: relative;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 100px 40px;
background: var(--neo-deco-bg-primary);
overflow: hidden;
}
/* Subtle herringbone background pattern */
.neo-deco-hero::before {
content: '';
position: absolute;
inset: 0;
background-image:
linear-gradient(45deg, rgba(201, 168, 76, 0.03) 25%, transparent 25%),
linear-gradient(-45deg, rgba(201, 168, 76, 0.03) 25%, transparent 25%),
linear-gradient(45deg, transparent 75%, rgba(201, 168, 76, 0.03) 75%),
linear-gradient(-45deg, transparent 75%, rgba(201, 168, 76, 0.03) 75%);
background-size: 20px 20px;
background-position: 0 0, 0 10px, 10px -10px, -10px 0;
pointer-events: none;
}
/* Decorative top border with stepped effect */
.neo-deco-hero::after {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 60%;
height: 3px;
background: var(--neo-deco-gold-gradient);
}
.neo-deco-hero__content {
position: relative;
z-index: 2;
max-width: 800px;
}
.neo-deco-hero__content h1 {
font-family: 'Cinzel Decorative', serif;
font-size: clamp(2.5rem, 7vw, 5.5rem);
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
line-height: 1.1;
margin-bottom: 1.5rem;
background: var(--neo-deco-gold-gradient);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.neo-deco-hero__content p {
font-family: 'Raleway', sans-serif;
font-weight: 300;
font-size: 1.15rem;
color: var(--neo-deco-text-secondary);
max-width: 600px;
margin: 0 auto 2.5rem;
line-height: 1.8;
letter-spacing: 0.03em;
}
@media (max-width: 768px) {
.neo-deco-hero {
min-height: auto;
padding: 80px 20px;
}
}
/* Gold gradient text */
.neo-deco-gold-text {
background: linear-gradient(
135deg,
#A67C2E, #C9A84C, #E4D08E, #C9A84C, #A67C2E
);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Gold metallic border */
.neo-deco-gold-border {
border: 2px solid transparent;
border-image: linear-gradient(
135deg,
#A67C2E, #C9A84C, #E4D08E, #C9A84C
) 1;
}
/* Chrome / brushed metal gradient */
.neo-deco-chrome-surface {
background: linear-gradient(
135deg,
#9EA5AD, #B8BFC6, #D4DAE0, #B8BFC6, #9EA5AD
);
}
/* Stepped double-border frame */
.neo-deco-frame {
border: 2px solid var(--neo-deco-gold);
outline: 1px solid var(--neo-deco-gold);
outline-offset: 6px;
padding: 2.5rem;
}
/* Double-line geometric divider */
.neo-deco-divider {
height: 0;
border: none;
border-top: 2px solid var(--neo-deco-gold);
border-bottom: 1px solid var(--neo-deco-gold);
margin: 3rem auto;
width: 50%;
position: relative;
padding-top: 4px;
}
/* Diamond center accent */
.neo-deco-divider::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 10px;
height: 10px;
background: var(--neo-deco-gold);
transform: translate(-50%, -50%) rotate(45deg);
}
/* Chevron separator */
.neo-deco-chevron-divider {
text-align: center;
margin: 3rem 0;
position: relative;
}
.neo-deco-chevron-divider::before {
content: '';
position: absolute;
top: 50%;
left: 0;
right: 0;
height: 1px;
background: var(--neo-deco-border-subtle);
}
.neo-deco-chevron-divider::after {
content: '';
display: inline-block;
width: 16px;
height: 16px;
border-right: 2px solid var(--neo-deco-gold);
border-bottom: 2px solid var(--neo-deco-gold);
transform: rotate(45deg);
background: var(--neo-deco-bg-primary);
position: relative;
z-index: 1;
}
/* Fan arch decorative element */
.neo-deco-fan {
width: 180px;
height: 90px;
background: conic-gradient(
from 180deg at 50% 100%,
var(--neo-deco-gold) 0deg,
transparent 15deg,
var(--neo-deco-gold) 30deg,
transparent 45deg,
var(--neo-deco-gold) 60deg,
transparent 75deg,
var(--neo-deco-gold) 90deg,
transparent 105deg,
var(--neo-deco-gold) 120deg,
transparent 135deg,
var(--neo-deco-gold) 150deg,
transparent 165deg,
var(--neo-deco-gold) 180deg
);
border-radius: 180px 180px 0 0;
opacity: 0.15;
margin: 0 auto;
}
/* Simulated marble veining background */
.neo-deco-marble {
position: relative;
background: var(--neo-deco-bg-light);
color: var(--neo-deco-text-dark);
}
.neo-deco-marble::before {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(ellipse at 20% 50%, rgba(180, 170, 155, 0.15) 0%, transparent 50%),
radial-gradient(ellipse at 80% 30%, rgba(160, 150, 130, 0.1) 0%, transparent 40%),
radial-gradient(ellipse at 60% 80%, rgba(170, 160, 140, 0.12) 0%, transparent 45%);
pointer-events: none;
}
| Aesthetic | Relationship to Neo Deco |
|---|---|
| Art Deco | Direct ancestor; Neo Deco inherits its geometric vocabulary and metallic palette but applies contemporary restraint and moodier tones |
| Hollywood Regency | Shares the luxury-forward sensibility and metallic accents; Hollywood Regency is more maximalist and eclectic |
| Bauhaus | Both prize geometric precision and structural clarity; Bauhaus is minimalist and functional, Neo Deco adds decorative warmth |
| Japandi | Both value restraint, natural materials, and craftsmanship; Japandi is neutral and minimal, Neo Deco is darker and metallic |
| Dark Academia | Overlaps in dark, warm palettes and appreciation for heritage; Dark Academia is literary and organic, Neo Deco is geometric and architectural |
| Chromecore | Shares the metallic surface fascination; Chromecore is cooler and more futuristic, Neo Deco is warmer and historically rooted |
| Grandmillennial | Both revive historical styles with modern sensibility; Grandmillennial is softer, textile-focused, and floral |
| Glassmorphism | Neo Deco can borrow translucent panel techniques, but replaces the frosted-glass effect with smoked glass and geometric frames |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Neo Deco Page</title>
<link href="https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700&family=Josefin+Sans:wght@300;400;600;700&family=Raleway:wght@200;300;400;500&display=swap" rel="stylesheet">
<style>
:root {
/* Backgrounds */
--nd-bg-primary: #1B1B1F;
--nd-bg-secondary: #2A2A2E;
--nd-bg-elevated: #3A3A42;
--nd-bg-navy: #0F1A2E;
/* Jewel Tones */
--nd-green: #1A4D3E;
--nd-burgundy: #6B1D2A;
--nd-blue: #1A2744;
--nd-amber: #8B6914;
--nd-terracotta: #8B4A2B;
/* Metallics */
--nd-gold: #C9A84C;
--nd-gold-light: #E4D08E;
--nd-chrome: #B8BFC6;
--nd-gold-gradient: linear-gradient(
135deg, #A67C2E, #C9A84C, #E4D08E, #C9A84C, #A67C2E
);
/* Text */
--nd-text-primary: #F2EDE3;
--nd-text-secondary: #D9CDB8;
--nd-text-muted: #8A8380;
/* Functional */
--nd-border: #C9A84C;
--nd-border-subtle: rgba(201, 168, 76, 0.25);
--nd-shadow: rgba(0, 0, 0, 0.35);
/* Light */
--nd-bg-light: #F8F5F0;
--nd-text-dark: #1B1B1F;
}
*, *::before, *::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
background: var(--nd-bg-primary);
color: var(--nd-text-primary);
font-family: 'Raleway', 'Helvetica Neue', sans-serif;
font-weight: 300;
font-size: 1rem;
letter-spacing: 0.02em;
line-height: 1.75;
-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 {
font-family: 'Josefin Sans', sans-serif;
text-transform: uppercase;
letter-spacing: 0.12em;
color: var(--nd-gold);
font-weight: 600;
line-height: 1.2;
}
a {
color: var(--nd-gold);
text-decoration: none;
transition: color 0.3s ease;
}
a:hover {
color: var(--nd-gold-light);
}
img {
max-width: 100%;
height: auto;
}
/* --- Navigation --- */
.nav-wrapper {
border-bottom: 1px solid var(--nd-border-subtle);
}
nav {
display: flex;
align-items: center;
justify-content: space-between;
max-width: 1200px;
margin: 0 auto;
padding: 20px 40px;
}
.nav-logo {
font-family: 'Cinzel Decorative', serif;
font-weight: 700;
font-size: 1.3rem;
color: var(--nd-gold);
text-transform: uppercase;
letter-spacing: 0.12em;
}
.nav-links {
display: flex;
gap: 36px;
list-style: none;
}
.nav-links a {
font-family: 'Josefin Sans', sans-serif;
font-weight: 400;
font-size: 0.8rem;
color: var(--nd-text-secondary);
text-transform: uppercase;
letter-spacing: 0.15em;
position: relative;
}
.nav-links a::after {
content: '';
position: absolute;
bottom: -4px;
left: 50%;
width: 0;
height: 1px;
background: var(--nd-gold);
transition: width 0.3s ease, left 0.3s ease;
}
.nav-links a:hover {
color: var(--nd-gold);
}
.nav-links a:hover::after {
width: 100%;
left: 0;
}
/* --- Hero Section --- */
.hero {
position: relative;
min-height: 90vh;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 100px 40px;
overflow: hidden;
}
/* Herringbone background pattern */
.hero::before {
content: '';
position: absolute;
inset: 0;
background-image:
linear-gradient(45deg, rgba(201, 168, 76, 0.03) 25%, transparent 25%),
linear-gradient(-45deg, rgba(201, 168, 76, 0.03) 25%, transparent 25%),
linear-gradient(45deg, transparent 75%, rgba(201, 168, 76, 0.03) 75%),
linear-gradient(-45deg, transparent 75%, rgba(201, 168, 76, 0.03) 75%);
background-size: 20px 20px;
background-position: 0 0, 0 10px, 10px -10px, -10px 0;
pointer-events: none;
}
/* Top gold bar */
.hero::after {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 50%;
height: 3px;
background: var(--nd-gold-gradient);
}
.hero-content {
position: relative;
z-index: 2;
max-width: 800px;
}
.hero h1 {
font-family: 'Cinzel Decorative', serif;
font-size: clamp(2.5rem, 7vw, 5.5rem);
font-weight: 700;
letter-spacing: 0.1em;
line-height: 1.1;
margin-bottom: 1.5rem;
background: var(--nd-gold-gradient);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.hero-subtitle {
font-family: 'Josefin Sans', sans-serif;
font-weight: 300;
font-size: 1rem;
letter-spacing: 0.25em;
text-transform: uppercase;
color: var(--nd-text-secondary);
margin-bottom: 1rem;
}
.hero p {
font-size: 1.1rem;
color: var(--nd-text-secondary);
max-width: 600px;
margin: 0 auto 2.5rem;
line-height: 1.8;
}
/* Decorative fan element */
.hero-fan {
width: 120px;
height: 60px;
background: conic-gradient(
from 180deg at 50% 100%,
var(--nd-gold) 0deg,
transparent 15deg,
var(--nd-gold) 30deg,
transparent 45deg,
var(--nd-gold) 60deg,
transparent 75deg,
var(--nd-gold) 90deg,
transparent 105deg,
var(--nd-gold) 120deg,
transparent 135deg,
var(--nd-gold) 150deg,
transparent 165deg,
var(--nd-gold) 180deg
);
border-radius: 120px 120px 0 0;
opacity: 0.2;
margin: 0 auto 2rem;
}
/* --- Buttons --- */
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
background: transparent;
color: var(--nd-gold);
border: 1px solid var(--nd-gold);
padding: 14px 44px;
font-family: 'Josefin Sans', sans-serif;
font-weight: 600;
font-size: 0.85rem;
letter-spacing: 0.18em;
text-transform: uppercase;
cursor: pointer;
transition: all 0.4s ease;
}
.btn:hover {
background: var(--nd-gold);
color: var(--nd-bg-primary);
box-shadow: 0 4px 20px rgba(201, 168, 76, 0.3);
}
.btn--filled {
background: var(--nd-gold-gradient);
color: var(--nd-bg-primary);
border: none;
font-weight: 700;
}
.btn--filled:hover {
filter: brightness(1.15);
box-shadow: 0 4px 24px rgba(201, 168, 76, 0.35);
}
.btn--stepped {
border: 2px solid var(--nd-gold);
outline: 1px solid var(--nd-gold);
outline-offset: 4px;
}
.btn--stepped:hover {
background: var(--nd-gold);
color: var(--nd-bg-primary);
outline-offset: 6px;
}
/* --- Dividers --- */
.divider {
height: 0;
border: none;
border-top: 2px solid var(--nd-gold);
border-bottom: 1px solid var(--nd-gold);
margin: 0 auto;
width: 40%;
padding-top: 4px;
position: relative;
}
.divider::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 10px;
height: 10px;
background: var(--nd-gold);
transform: translate(-50%, -50%) rotate(45deg);
}
/* --- Features Section --- */
.features {
padding: 100px 40px;
background: var(--nd-bg-primary);
}
.features-header {
text-align: center;
margin-bottom: 60px;
}
.features-header h2 {
font-size: 2rem;
margin-bottom: 1rem;
}
.features-header p {
color: var(--nd-text-secondary);
max-width: 550px;
margin: 0 auto;
}
.features-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 28px;
max-width: 1200px;
margin: 0 auto;
}
.feature-card {
background: var(--nd-bg-secondary);
border: 1px solid var(--nd-border-subtle);
padding: 2.5rem;
text-align: center;
position: relative;
transition: border-color 0.4s ease, box-shadow 0.4s ease;
}
.feature-card:hover {
border-color: var(--nd-gold);
box-shadow: 0 8px 32px var(--nd-shadow);
}
/* Corner ornaments */
.feature-card::before,
.feature-card::after {
content: '';
position: absolute;
width: 24px;
height: 24px;
border-color: var(--nd-gold);
border-style: solid;
transition: width 0.3s ease, height 0.3s ease;
}
.feature-card::before {
top: 10px;
left: 10px;
border-width: 2px 0 0 2px;
}
.feature-card::after {
bottom: 10px;
right: 10px;
border-width: 0 2px 2px 0;
}
.feature-card:hover::before,
.feature-card:hover::after {
width: 32px;
height: 32px;
}
.feature-card .icon {
font-size: 2rem;
margin-bottom: 1.2rem;
display: block;
color: var(--nd-gold);
}
.feature-card h3 {
font-size: 1rem;
margin-bottom: 0.8rem;
letter-spacing: 0.15em;
}
.feature-card p {
color: var(--nd-text-secondary);
font-size: 0.95rem;
line-height: 1.7;
}
/* --- About / Jewel Section --- */
.about {
padding: 100px 40px;
background: var(--nd-bg-navy);
position: relative;
}
.about::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--nd-gold-gradient);
}
.about-inner {
max-width: 900px;
margin: 0 auto;
text-align: center;
}
.about h2 {
font-size: 1.8rem;
margin-bottom: 1.5rem;
}
.about p {
color: var(--nd-text-secondary);
font-size: 1.05rem;
line-height: 1.9;
margin-bottom: 1.5rem;
}
.about blockquote {
font-family: 'Josefin Sans', sans-serif;
font-weight: 300;
font-size: 1.3rem;
color: var(--nd-gold-light);
border-left: 3px solid var(--nd-gold);
padding-left: 1.5rem;
margin: 2.5rem auto;
max-width: 600px;
text-align: left;
font-style: italic;
letter-spacing: 0.04em;
}
/* --- Gallery Section --- */
.gallery {
padding: 100px 40px;
background: var(--nd-bg-primary);
}
.gallery-header {
text-align: center;
margin-bottom: 60px;
}
.gallery-header h2 {
font-size: 2rem;
margin-bottom: 1rem;
}
.gallery-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 4px;
max-width: 1000px;
margin: 0 auto;
}
.gallery-item {
aspect-ratio: 1;
background: var(--nd-bg-secondary);
border: 1px solid var(--nd-border-subtle);
display: flex;
align-items: center;
justify-content: center;
font-family: 'Josefin Sans', sans-serif;
font-weight: 300;
font-size: 0.8rem;
color: var(--nd-text-muted);
text-transform: uppercase;
letter-spacing: 0.12em;
transition: background 0.4s ease, border-color 0.4s ease;
}
.gallery-item:hover {
background: var(--nd-bg-elevated);
border-color: var(--nd-gold);
}
.gallery-item--accent {
background: var(--nd-green);
}
.gallery-item--warm {
background: var(--nd-burgundy);
}
.gallery-item--deep {
background: var(--nd-blue);
}
/* --- CTA Section --- */
.cta {
text-align: center;
padding: 100px 40px;
background: var(--nd-bg-secondary);
position: relative;
}
.cta::before,
.cta::after {
content: '';
position: absolute;
left: 0;
right: 0;
height: 1px;
background: var(--nd-border-subtle);
}
.cta::before { top: 0; }
.cta::after { bottom: 0; }
.cta h2 {
font-family: 'Cinzel Decorative', serif;
font-size: clamp(1.5rem, 4vw, 2.5rem);
margin-bottom: 1rem;
}
.cta p {
color: var(--nd-text-secondary);
max-width: 500px;
margin: 0 auto 2.5rem;
font-size: 1.05rem;
}
/* --- Footer --- */
footer {
text-align: center;
padding: 40px;
border-top: 1px solid var(--nd-border-subtle);
}
.footer-logo {
font-family: 'Cinzel Decorative', serif;
font-weight: 400;
font-size: 1rem;
color: var(--nd-gold);
letter-spacing: 0.12em;
text-transform: uppercase;
margin-bottom: 0.8rem;
}
footer p {
color: var(--nd-text-muted);
font-size: 0.85rem;
}
/* --- Responsive --- */
@media (max-width: 768px) {
nav {
flex-direction: column;
gap: 16px;
padding: 16px 20px;
}
.nav-links {
gap: 20px;
}
.hero {
min-height: auto;
padding: 80px 20px;
}
.features,
.about,
.gallery,
.cta {
padding: 60px 20px;
}
.gallery-grid {
grid-template-columns: repeat(2, 1fr);
}
.btn {
padding: 12px 32px;
font-size: 0.8rem;
}
}
@media (max-width: 480px) {
.gallery-grid {
grid-template-columns: 1fr;
}
.nav-links {
flex-wrap: wrap;
justify-content: center;
gap: 12px;
}
}
</style>
</head>
<body>
<!-- Navigation -->
<div class="nav-wrapper">
<nav>
<a href="#" class="nav-logo">Aurelian</a>
<ul class="nav-links">
<li><a href="#features">Collection</a></li>
<li><a href="#about">Heritage</a></li>
<li><a href="#gallery">Gallery</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
</div>
<!-- Hero Section -->
<section class="hero">
<div class="hero-content">
<div class="hero-fan"></div>
<div class="hero-subtitle">Geometric Luxury Redefined</div>
<h1>Neo Deco</h1>
<p>
Where Art Deco geometry meets modern restraint.
Structured richness, warm metallics, and architectural
elegance for the contemporary era.
</p>
<a href="#features" class="btn">Explore Collection</a>
</div>
</section>
<!-- Divider -->
<hr class="divider">
<!-- Features Section -->
<section class="features" id="features">
<div class="features-header">
<h2>The Collection</h2>
<p>
Crafted with precision, each piece balances geometric
authority with warm, tactile refinement.
</p>
</div>
<div class="features-grid">
<div class="feature-card">
<span class="icon">◆</span>
<h3>Geometric Precision</h3>
<p>
Clean chevrons, stepped forms, and fan arches
rendered with architectural clarity and intentional restraint.
</p>
</div>
<div class="feature-card">
<span class="icon">◊</span>
<h3>Metallic Warmth</h3>
<p>
Satin gold, brushed brass, and warm chrome accents
that capture light and create luminous focal points.
</p>
</div>
<div class="feature-card">
<span class="icon">■</span>
<h3>Material Honesty</h3>
<p>
Natural wood grain, veined marble, and hand-finished
surfaces that develop authentic character over time.
</p>
</div>
</div>
</section>
<!-- About Section -->
<section class="about" id="about">
<div class="about-inner">
<h2>Heritage Reimagined</h2>
<p>
Neo Deco draws from the symmetry, geometry, and decorative
sensibility of the original Art Deco movement, filtering them
through a contemporary lens of restraint and material honesty.
</p>
<blockquote>
"Decoration becomes graphic gesture, surfaces are simplified,
and color palettes are deepened and controlled."
</blockquote>
<p>
The result is structured richness -- luxury earned through
proportion and craftsmanship rather than excess. Every line,
every metallic accent, every jewel-toned panel serves the
architecture of the whole.
</p>
</div>
</section>
<!-- Gallery Section -->
<section class="gallery" id="gallery">
<div class="gallery-header">
<h2>Palette</h2>
</div>
<div class="gallery-grid">
<div class="gallery-item gallery-item--accent">Bottle Green</div>
<div class="gallery-item gallery-item--warm">Burgundy</div>
<div class="gallery-item gallery-item--deep">Midnight Blue</div>
<div class="gallery-item" style="background: var(--nd-amber);">Dark Amber</div>
<div class="gallery-item" style="background: var(--nd-gold);">Satin Gold</div>
<div class="gallery-item" style="background: var(--nd-terracotta);">Terracotta</div>
<div class="gallery-item" style="background: var(--nd-bg-elevated);">Slate Deco</div>
<div class="gallery-item" style="background: var(--nd-chrome); color: var(--nd-text-dark);">Chrome</div>
<div class="gallery-item" style="background: var(--nd-bg-light); color: var(--nd-text-dark);">Marble White</div>
</div>
</section>
<!-- CTA Section -->
<section class="cta" id="contact">
<h2>Begin Your Design</h2>
<p>
Step into structured richness. Geometric luxury
awaits your next project.
</p>
<a href="#" class="btn--stepped btn">Get Started</a>
</section>
<!-- Footer -->
<footer>
<div class="footer-logo">Aurelian</div>
<p>Geometric luxury, modern restraint. Built with Neo Deco principles.</p>
</footer>
</body>
</html>
#A67C2E to #C9A84C to #E4D08E and back) rather than a flat gold hex value; the gradient creates the luminous shift that distinguishes satin metal from flat colorborder with outline and outline-offset to create the characteristic Neo Deco double-frame effect without extra HTML elements#F2EDE3) on graphite (#1B1B1F) achieves approximately 13:1 contrast, well above WCAG AAA requirementsbackground-clip: text) triggers GPU compositing; limit this technique to headlines and key display elements rather than applying it to all heading levels