Retour aux designs
MaximalisteColoréLudique
Aperçu

Cluttercore Design Reference

Cluttercore is a maximalist interior and lifestyle aesthetic that emerged on TikTok around 2020, gaining traction during the COVID-19 pandemic. It celebrates the "beautiful mess" -- densely curated, deeply personal spaces where every surface becomes a display canvas for collections, memorabilia, and sentimental objects. Unlike traditional maximalism, which aims for bold but cohesive design, Cluttercore prioritizes emotional resonance and personal expression over aesthetic harmony, creating spaces that feel organically evolved and intimately lived-in.


Visual Characteristics

Core Motifs and Patterns

  • Dense, layered collections -- books, figurines, vintage cameras, trinkets, and curiosities filling every shelf and surface
  • Gallery walls -- walls comprehensively covered with art, photographs, postcards, prints in mismatched frames
  • Overflowing bookshelves -- books stacked horizontally, vertically, and double-layered with objects tucked between them
  • Abundant houseplants -- trailing vines, potted succulents, and hanging planters woven through the clutter
  • Mixed textiles and patterns -- layered fabrics combining florals, plaids, geometric prints, and ethnic patterns with no concern for matching
  • Eclectic, mismatched furniture -- antique dressers next to modern shelving next to thrifted side tables
  • Sentimental objects as decor -- travel souvenirs, inherited items, childhood keepsakes prominently displayed
  • Blank walls are rare -- every vertical and horizontal surface serves as a curated display area

Design Principles

  • Intentional accumulation -- the clutter is curated, not careless; every object tells a story
  • Personal narrative over design rules -- spaces reflect the inhabitant's journey, passions, and memories
  • Chromatic diversity -- highly saturated and varied colors coexist without a unifying scheme
  • Textural richness -- velvet, wool, wicker, ceramic, brass, wood, and paper layered together
  • Warmth and comfort -- the overall effect should feel like an "emotional security blanket"
  • Organic arrangement -- objects are grouped by meaning or association rather than visual symmetry
  • Visual density with navigable paths -- packed spaces that still feel inviting, not claustrophobic
  • Nostalgia and authenticity -- handmade, vintage, and well-worn items valued over new and pristine

Color Palette

Primary Scheme

Role Colors
Base / Background Warm cream, aged paper, soft ivory
Warm accents Terracotta, mustard yellow, burnt orange, dusty rose
Cool accents Teal, sage green, periwinkle blue, plum purple
Rich tones Burgundy, forest green, navy blue, ochre
Bright pops Cherry red, sunflower yellow, cobalt blue, magenta

Detailed Palette

Color Hex (suggested) Usage
Warm Cream #F5F0E6, #FFF8EE Primary background, base surface
Aged Paper #EDE4D3, #E8DCCA Secondary backgrounds, card surfaces
Terracotta #C8614C, #D4735E Primary warm accent, highlights
Mustard Yellow #D4A843, #E5B94E Accent elements, badges, tags
Sage Green #8DA47E, #9BB08E Nature/plant accents, secondary elements
Dusty Rose #C48B8B, #D1A0A0 Soft warm accent, borders, hover states
Teal #3D8B8B, #4A9E9E Cool accent, links, interactive elements
Plum Purple #7B5078, #8E6088 Feature accents, headings
Burgundy #803040, #943A4A Deep accent, emphasis text
Forest Green #2E5E3E, #3A7050 Rich accent, section backgrounds
Burnt Orange #CC6B30, #D87A3E Call-to-action, warm highlight
Navy #2A3A5C, #354770 Dark accent, contrast backgrounds
Cobalt Blue #2E5BA8, #3A6CBC Bright pop accent
Cherry Red #B83240, #CC3D4C Bright pop accent
Rich Brown #5C3D2E, #6B4A3A Borders, frames, grounding color

Suggested CSS Custom Properties

:root {
  /* Warm base tones */
  --clutter-cream: #f5f0e6;
  --clutter-ivory: #fff8ee;
  --clutter-paper: #ede4d3;
  --clutter-parchment: #e8dcca;

  /* Warm accents */
  --clutter-terracotta: #c8614c;
  --clutter-mustard: #d4a843;
  --clutter-burnt-orange: #cc6b30;
  --clutter-dusty-rose: #c48b8b;

  /* Cool accents */
  --clutter-teal: #3d8b8b;
  --clutter-sage: #8da47e;
  --clutter-periwinkle: #7080b8;
  --clutter-plum: #7b5078;

  /* Rich / deep tones */
  --clutter-burgundy: #803040;
  --clutter-forest: #2e5e3e;
  --clutter-navy: #2a3a5c;
  --clutter-brown: #5c3d2e;

  /* Bright pops */
  --clutter-cherry: #b83240;
  --clutter-cobalt: #2e5ba8;
  --clutter-sunflower: #e5c040;
  --clutter-magenta: #b8388e;

  /* Functional mappings */
  --clutter-bg-primary: var(--clutter-cream);
  --clutter-bg-secondary: var(--clutter-paper);
  --clutter-bg-card: var(--clutter-ivory);
  --clutter-text-primary: var(--clutter-brown);
  --clutter-text-secondary: #6b5a4a;
  --clutter-text-heading: var(--clutter-burgundy);
  --clutter-accent: var(--clutter-teal);
  --clutter-accent-warm: var(--clutter-terracotta);
  --clutter-border: var(--clutter-dusty-rose);
  --clutter-link: var(--clutter-teal);
  --clutter-link-hover: var(--clutter-plum);
}

Approaches

  • No single dominant color -- embrace chromatic variety; each section or card can have its own accent
  • Warm neutral base with saturated pops -- cream/paper backgrounds keep the density from feeling heavy
  • Random-feeling but curated palette -- colors should feel collected over time, not chosen from a single swatch
  • Earthy warmth as the unifying thread -- even bright pops are slightly muted or warm-shifted
  • High saturation tolerance -- colors that would clash in minimalist design feel natural here

Typography

Typeface Characteristics

Cluttercore typography reflects its eclectic, personal, handmade ethos:

  • Mix of typeface styles -- a serif heading with a handwritten accent and a clean body font is perfectly appropriate
  • Warm, characterful serifs -- not cold or corporate; think vintage book typography
  • Handwritten or script accents -- labels, annotations, and decorative text
  • Rounded, friendly sans-serifs for body text -- approachable and readable
  • Varied weights and sizes -- visual hierarchy through deliberate typographic contrast
  • Slight imperfection is a feature -- decorative or quirky letterforms over geometric precision
Font Style Usage
Playfair Display Elegant, high-contrast serif Headlines, section titles
Lora Warm, calligraphic serif Subheadings, pull quotes
Merriweather Sturdy, readable serif Body text alternative
Nunito Rounded, friendly sans-serif Body text, UI elements
Quicksand Rounded geometric sans-serif Labels, navigation, tags
Caveat Handwritten, natural Annotations, decorative labels, captions
Patrick Hand Handwritten, casual Accent text, callouts
Crimson Pro Classic, book-style serif Long-form body text
Indie Flower Handwritten, whimsical Decorative accents, stickers
DM Serif Display Bold, characterful display serif Hero headlines

Typography CSS Example

/* Headlines -- characterful serif */
h1, h2, h3 {
  font-family: 'Playfair Display', 'DM Serif Display', Georgia, serif;
  font-weight: 700;
  color: var(--clutter-text-heading);
  line-height: 1.2;
}

h1 { font-size: clamp(2.2rem, 5vw, 4rem); }
h2 { font-size: clamp(1.6rem, 3.5vw, 2.5rem); }
h3 { font-size: clamp(1.2rem, 2.5vw, 1.8rem); }

/* Body text -- friendly, rounded */
body {
  font-family: 'Nunito', 'Quicksand', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--clutter-text-primary);
}

/* Handwritten accent text */
.clutter-handwritten {
  font-family: 'Caveat', 'Patrick Hand', cursive;
  font-size: 1.3em;
  color: var(--clutter-terracotta);
  transform: rotate(-2deg);
  display: inline-block;
}

/* Labels and tags */
.clutter-tag {
  font-family: 'Quicksand', 'Nunito', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--clutter-text-secondary);
}

/* Decorative pull quote */
.clutter-quote {
  font-family: 'Lora', 'Crimson Pro', serif;
  font-style: italic;
  font-size: 1.4rem;
  line-height: 1.5;
  color: var(--clutter-plum);
  border-left: 4px solid var(--clutter-dusty-rose);
  padding-left: 1.5rem;
}

Layout Principles

Grid and Structure

  • Asymmetric, organic grid layouts -- avoid rigid symmetry; let elements feel casually placed
  • CSS Grid with varied track sizes -- columns and rows of different widths to avoid uniformity
  • Masonry-style arrangements -- items of different heights packed together like a shelf display
  • Overlapping elements -- slight overlaps between cards, images, and decorative elements
  • No excessive whitespace -- surfaces should feel populated, but not unreadable
  • Multiple visual layers -- background textures, mid-ground content, foreground decorative elements
  • Rotated and tilted elements -- slight rotations (1-3 degrees) on cards or images, like pinned photos

Section Organization

  • Use varied section backgrounds -- alternate between cream, soft colored washes, and textured panels
  • Apply decorative borders -- hand-drawn style borders, dotted lines, washi-tape motifs
  • Create hierarchy through size and color variety rather than strict geometric alignment
  • Employ rounded and irregular shapes for containers -- not everything needs to be a rectangle
  • Use sticker-like labels and annotations -- scattered decorative elements that break the grid
  • Incorporate shelf and pinboard metaphors -- sections that look like physical display surfaces

CSS/Design Techniques

Warm Textured Background

/* Aged paper / cream background with subtle texture */
.clutter-bg {
  background-color: var(--clutter-cream);
  background-image:
    radial-gradient(
      ellipse at 20% 50%,
      rgba(212, 168, 67, 0.06) 0%,
      transparent 50%
    ),
    radial-gradient(
      ellipse at 80% 20%,
      rgba(141, 164, 126, 0.06) 0%,
      transparent 50%
    ),
    radial-gradient(
      ellipse at 50% 80%,
      rgba(196, 139, 139, 0.06) 0%,
      transparent 50%
    );
}

/* Paper grain texture overlay */
.clutter-grain::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 0;
}

Masonry / Shelf Grid Layout

/* CSS Grid masonry approximation */
.clutter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
  padding: 1rem;
}

/* Varied card sizes for organic feel */
.clutter-grid > :nth-child(3n+1) { grid-row: span 2; }
.clutter-grid > :nth-child(5n+2) { grid-column: span 2; }

/* True masonry with columns (fallback approach) */
.clutter-masonry {
  columns: 3 280px;
  column-gap: 1.2rem;
  padding: 1rem;
}

.clutter-masonry > * {
  break-inside: avoid;
  margin-bottom: 1.2rem;
  display: inline-block;
  width: 100%;
}

Eclectic Card Styles

/* Base clutter card -- warm, slightly tilted */
.clutter-card {
  background: var(--clutter-bg-card);
  border: 2px solid var(--clutter-dusty-rose);
  border-radius: 4px;
  padding: 1.5rem;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 2px 3px 8px rgba(92, 61, 46, 0.12);
}

/* Random-feeling rotations */
.clutter-card:nth-child(odd) { transform: rotate(-1.2deg); }
.clutter-card:nth-child(even) { transform: rotate(0.8deg); }
.clutter-card:nth-child(3n) { transform: rotate(-0.5deg); }

.clutter-card:hover {
  transform: rotate(0deg) translateY(-4px);
  box-shadow: 3px 6px 16px rgba(92, 61, 46, 0.2);
  z-index: 2;
}

/* Polaroid-style image card */
.clutter-polaroid {
  background: #fff;
  padding: 0.8rem 0.8rem 2.5rem;
  border: 1px solid #ddd;
  box-shadow: 2px 3px 10px rgba(0, 0, 0, 0.1);
}

.clutter-polaroid img {
  width: 100%;
  display: block;
}

.clutter-polaroid .caption {
  font-family: 'Caveat', cursive;
  font-size: 1.1rem;
  color: var(--clutter-text-secondary);
  text-align: center;
  margin-top: 0.5rem;
}

Washi Tape / Decorative Tape Effect

/* Washi tape strip (decorative element) */
.clutter-tape {
  position: absolute;
  width: 120px;
  height: 28px;
  background: var(--clutter-mustard);
  opacity: 0.7;
  transform: rotate(-5deg);
  top: -12px;
  left: calc(50% - 60px);
  z-index: 3;
}

/* Variant tape colors */
.clutter-tape--rose { background: var(--clutter-dusty-rose); }
.clutter-tape--sage { background: var(--clutter-sage); }
.clutter-tape--teal {
  background: repeating-linear-gradient(
    90deg,
    var(--clutter-teal),
    var(--clutter-teal) 4px,
    rgba(255,255,255,0.4) 4px,
    rgba(255,255,255,0.4) 8px
  );
}

Pinboard / Corkboard Section

/* Corkboard-textured section background */
.clutter-pinboard {
  background-color: #c4a56e;
  background-image:
    radial-gradient(circle at 15% 25%, rgba(180, 140, 80, 0.4) 0%, transparent 40%),
    radial-gradient(circle at 85% 75%, rgba(160, 120, 60, 0.3) 0%, transparent 40%),
    repeating-linear-gradient(
      45deg,
      transparent,
      transparent 3px,
      rgba(0,0,0,0.02) 3px,
      rgba(0,0,0,0.02) 4px
    );
  padding: 3rem 2rem;
  position: relative;
  border: 8px solid var(--clutter-brown);
  border-radius: 2px;
}

/* Push pin decoration */
.clutter-pin {
  position: absolute;
  width: 16px;
  height: 16px;
  background: radial-gradient(circle at 40% 40%, #e85050, #c03030);
  border-radius: 50%;
  box-shadow:
    0 2px 4px rgba(0,0,0,0.3),
    inset 0 -1px 2px rgba(0,0,0,0.2),
    inset 0 1px 1px rgba(255,255,255,0.3);
  z-index: 4;
}

Shelf Display Section

/* Wooden shelf effect */
.clutter-shelf {
  position: relative;
  padding: 2rem 2rem 3rem;
  margin-bottom: 2rem;
}

.clutter-shelf::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 20px;
  background: linear-gradient(
    180deg,
    #8b6b4a 0%,
    #7a5c3c 40%,
    #6b4d30 100%
  );
  border-radius: 0 0 3px 3px;
  box-shadow:
    0 4px 8px rgba(0,0,0,0.2),
    inset 0 1px 0 rgba(255,255,255,0.15);
}

.clutter-shelf-items {
  display: flex;
  gap: 1rem;
  align-items: flex-end;
  justify-content: center;
  flex-wrap: wrap;
}

Sticker / Badge Labels

/* Decorative sticker label */
.clutter-sticker {
  display: inline-block;
  padding: 0.3rem 0.8rem;
  font-family: 'Quicksand', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 100px;
  transform: rotate(-3deg);
  box-shadow: 1px 2px 4px rgba(0,0,0,0.1);
}

.clutter-sticker--warm {
  background: var(--clutter-terracotta);
  color: #fff;
}

.clutter-sticker--cool {
  background: var(--clutter-teal);
  color: #fff;
}

.clutter-sticker--bright {
  background: var(--clutter-sunflower);
  color: var(--clutter-brown);
}

.clutter-sticker--outlined {
  background: transparent;
  border: 2px dashed var(--clutter-dusty-rose);
  color: var(--clutter-dusty-rose);
}

Handwritten Underline / Annotation

/* Wavy hand-drawn underline */
.clutter-underline {
  text-decoration: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 8'%3E%3Cpath d='M0 6 Q12.5 0 25 6 T50 6 T75 6 T100 6' fill='none' stroke='%23c8614c' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-position: bottom;
  background-size: 100px 8px;
  padding-bottom: 6px;
}

/* Scribble circle highlight */
.clutter-circle-highlight {
  position: relative;
}

.clutter-circle-highlight::after {
  content: '';
  position: absolute;
  inset: -8px -12px;
  border: 2.5px solid var(--clutter-terracotta);
  border-radius: 50% 45% 55% 48%;
  opacity: 0.6;
  transform: rotate(-2deg);
  pointer-events: none;
}

Layered Textile / Pattern Background

/* Patchwork quilt-inspired section */
.clutter-patchwork {
  background:
    linear-gradient(45deg, rgba(200, 97, 76, 0.08) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(141, 164, 126, 0.08) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(123, 80, 120, 0.08) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(61, 139, 139, 0.08) 75%),
    var(--clutter-cream);
  background-size: 60px 60px;
  background-position: 0 0, 0 30px, 30px -30px, 30px 0;
}

/* Floral wallpaper hint */
.clutter-floral-bg {
  background-color: var(--clutter-paper);
  background-image:
    radial-gradient(circle at 20% 30%, rgba(196, 139, 139, 0.15) 8px, transparent 8px),
    radial-gradient(circle at 60% 70%, rgba(141, 164, 126, 0.12) 6px, transparent 6px),
    radial-gradient(circle at 80% 20%, rgba(212, 168, 67, 0.1) 5px, transparent 5px),
    radial-gradient(circle at 40% 80%, rgba(123, 80, 120, 0.1) 7px, transparent 7px);
  background-size: 200px 200px;
}
/* Dense gallery wall with overlapping frames */
.clutter-gallery {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 60px;
  gap: 0.5rem;
  padding: 2rem;
  position: relative;
}

.clutter-gallery-item {
  border: 3px solid var(--clutter-brown);
  background: #fff;
  padding: 4px;
  box-shadow: 2px 3px 8px rgba(0,0,0,0.15);
  overflow: hidden;
  z-index: 1;
  transition: z-index 0s, transform 0.3s ease;
}

/* Varied frame sizes */
.clutter-gallery-item:nth-child(1) { grid-column: 1 / 5; grid-row: 1 / 4; transform: rotate(-2deg); }
.clutter-gallery-item:nth-child(2) { grid-column: 4 / 8; grid-row: 1 / 5; transform: rotate(1deg); }
.clutter-gallery-item:nth-child(3) { grid-column: 7 / 10; grid-row: 1 / 3; transform: rotate(-1deg); }
.clutter-gallery-item:nth-child(4) { grid-column: 9 / 13; grid-row: 1 / 5; transform: rotate(2deg); }
.clutter-gallery-item:nth-child(5) { grid-column: 1 / 4; grid-row: 3 / 7; transform: rotate(1.5deg); }
.clutter-gallery-item:nth-child(6) { grid-column: 3 / 7; grid-row: 4 / 7; transform: rotate(-0.5deg); }

.clutter-gallery-item:hover {
  transform: rotate(0deg) scale(1.05);
  z-index: 10;
  box-shadow: 4px 6px 20px rgba(0,0,0,0.25);
}

/* Ornate frame variant */
.clutter-gallery-item--ornate {
  border: 6px solid var(--clutter-brown);
  box-shadow:
    inset 0 0 0 2px var(--clutter-mustard),
    2px 3px 8px rgba(0,0,0,0.15);
}

Scattered Decorative Elements

/* Floating decorative objects (stars, hearts, flowers) */
.clutter-scatter {
  position: relative;
}

.clutter-scatter::before,
.clutter-scatter::after {
  position: absolute;
  font-size: 1.2rem;
  opacity: 0.4;
  pointer-events: none;
}

.clutter-scatter--stars::before { content: '\2728'; top: -10px; left: 5%; }
.clutter-scatter--stars::after { content: '\2B50'; bottom: -8px; right: 8%; }
.clutter-scatter--hearts::before { content: '\2764'; top: -8px; right: 10%; }
.clutter-scatter--plants::before { content: '\1F33F'; top: -12px; left: 8%; }
.clutter-scatter--plants::after { content: '\1F33A'; bottom: -10px; right: 5%; }

Materials and Textures (Visual Metaphors for Web)

Physical Cluttercore materials and their web equivalents:

Physical Material Web Equivalent
Cork board Warm tan background with subtle noise texture and pinned elements
Washi tape Colored semi-transparent strips with repeating patterns, positioned over edges
Picture frames Thick colored borders with box-shadow, slight rotation transforms
Fabric / textiles CSS patterns using repeating gradients (plaids, dots, stripes)
Aging paper / parchment Cream/ivory backgrounds with radial gradient warm spots and noise overlay
Wooden shelves Horizontal gradient bars with grain-like repeating gradients
Ceramic and pottery Rounded border-radius containers with warm, earthy solid colors
Stickers and labels Pill-shaped badges with slight rotation and drop shadows
Plants and greenery Sage/forest green accent colors; leaf emoji as decorative pseudo-elements
String lights Dotted border or repeated radial gradient circles along a curved path

Key Differences from Maximalism

Aspect Traditional Maximalism Cluttercore
Color approach Bold but cohesive, often with a unifying palette Any colors, no unifying scheme required
Material quality Luxurious, rich materials (velvet, gold, marble) Eclectic mix of high and low, thrifted and handmade
Organization Intentionally designed; follows design principles Organically evolved; follows personal meaning
Emotional goal Impressive, dramatic, curated Comforting, personal, nostalgic
Overall feel Magazine editorial Lived-in home

Aesthetic Relationship to Cluttercore
Maximalism Parent aesthetic; Cluttercore is a personal, comfort-oriented subset
Cottagecore Shares warmth, handmade values, and cozy interiors; Cottagecore is more rural and curated
Goblincore Shares collecting instinct and appreciation for unconventional objects
Grandmacore Overlaps in nostalgia, inherited objects, doilies, and vintage decor
Cacareco Girl Related Brazilian aesthetic celebrating eclectic accumulation

Quick-Start: Minimal Cluttercore Page Template

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Cluttercore Page</title>
  <link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Nunito:wght@400;600&family=Caveat:wght@400;700&family=Quicksand:wght@500;700&display=swap" rel="stylesheet">
  <style>
    :root {
      --clutter-cream: #f5f0e6;
      --clutter-ivory: #fff8ee;
      --clutter-paper: #ede4d3;
      --clutter-terracotta: #c8614c;
      --clutter-mustard: #d4a843;
      --clutter-sage: #8da47e;
      --clutter-teal: #3d8b8b;
      --clutter-dusty-rose: #c48b8b;
      --clutter-plum: #7b5078;
      --clutter-burgundy: #803040;
      --clutter-brown: #5c3d2e;
    }

    * { margin: 0; padding: 0; box-sizing: border-box; }

    body {
      background: var(--clutter-cream);
      color: var(--clutter-brown);
      font-family: 'Nunito', sans-serif;
      font-weight: 400;
      line-height: 1.7;
    }

    h1, h2, h3 {
      font-family: 'Playfair Display', Georgia, serif;
      font-weight: 700;
      color: var(--clutter-burgundy);
      line-height: 1.2;
    }

    .hero {
      text-align: center;
      padding: 5rem 2rem 3rem;
      background: var(--clutter-paper);
      position: relative;
      overflow: hidden;
    }

    .hero h1 {
      font-size: clamp(2.5rem, 5vw, 4.5rem);
      margin-bottom: 0.5rem;
    }

    .hero .subtitle {
      font-family: 'Caveat', cursive;
      font-size: 1.6rem;
      color: var(--clutter-terracotta);
      transform: rotate(-2deg);
      display: inline-block;
    }

    .clutter-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
      gap: 1.5rem;
      max-width: 1100px;
      margin: 0 auto;
      padding: 3rem 2rem;
    }

    .clutter-card {
      background: var(--clutter-ivory);
      border: 2px solid var(--clutter-dusty-rose);
      border-radius: 4px;
      padding: 1.5rem;
      box-shadow: 2px 3px 8px rgba(92, 61, 46, 0.12);
      position: relative;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .clutter-card:nth-child(odd) { transform: rotate(-1.2deg); }
    .clutter-card:nth-child(even) { transform: rotate(0.8deg); }

    .clutter-card:hover {
      transform: rotate(0deg) translateY(-4px);
      box-shadow: 3px 6px 16px rgba(92, 61, 46, 0.2);
      z-index: 2;
    }

    .clutter-card h3 {
      font-size: 1.3rem;
      margin-bottom: 0.5rem;
    }

    .tag {
      display: inline-block;
      padding: 0.2rem 0.6rem;
      font-family: 'Quicksand', sans-serif;
      font-size: 0.7rem;
      font-weight: 700;
      text-transform: uppercase;
      border-radius: 100px;
      margin-bottom: 0.8rem;
    }

    .tag--terracotta { background: var(--clutter-terracotta); color: #fff; }
    .tag--teal { background: var(--clutter-teal); color: #fff; }
    .tag--mustard { background: var(--clutter-mustard); color: var(--clutter-brown); }
    .tag--sage { background: var(--clutter-sage); color: #fff; }
  </style>
</head>
<body>
  <div class="hero">
    <h1>My Beautiful Mess</h1>
    <span class="subtitle">a curated collection of everything</span>
  </div>
  <section class="clutter-grid">
    <div class="clutter-card">
      <span class="tag tag--terracotta">Memories</span>
      <h3>Grandma's Teacups</h3>
      <p>A mismatched set collected from flea markets across three countries, each with its own story.</p>
    </div>
    <div class="clutter-card">
      <span class="tag tag--teal">Collection</span>
      <h3>Vintage Cameras</h3>
      <p>From Kodak Brownies to Polaroid SX-70s, arranged on the bookshelf between travel guides.</p>
    </div>
    <div class="clutter-card">
      <span class="tag tag--mustard">Reading</span>
      <h3>The Overflowing Shelf</h3>
      <p>Books stacked two-deep with postcards marking favorite passages and plants filling the gaps.</p>
    </div>
    <div class="clutter-card">
      <span class="tag tag--sage">Growing</span>
      <h3>Plant Corner</h3>
      <p>Seventeen plants and counting, trailing across the windowsill and climbing up the wall.</p>
    </div>
  </section>
</body>
</html>
Agence WagnerAgence Wagner

© 2026 Agence Wagner. Tous droits réservés.

Designs issus de chrislemke/website_designs, sous licence MIT.