website_designs

Curly Girly Design Reference

Curly Girly is a late-1990s to mid-2000s graphic design aesthetic defined by ornate, playful, and frilly visuals built on flat, simple foundations with heavily curved fonts and iconography. Coined by Jack Grimes of CARI (Consumer Aesthetics Research Institute), the term derives from the signature curled serif typefaces – most notably Curlz MT (1995) – that pervade the style. It saturated tween-targeted branding, retail (Limited Too, Claire’s), toys (Bratz, Polly Pocket), and media marketing from roughly 1995 to 2005. The aesthetic embraces vibrant pinks, purples, and blues, decorative flourishes, hearts-stars-flowers motifs, and a confident “diva” energy rooted in Y2K pop culture.


Visual Characteristics

Core Motifs and Patterns

Design Principles


Color Palette

Primary Scheme

Role Colors
Primary / Dominant Hot pink, bubblegum pink, baby pink
Secondary Purple, violet, lavender
Tertiary Sky blue, aqua blue, royal blue
Accent White, silver, glitter gold
Contrast / Pop Magenta, fuchsia, electric purple
Neutral base White, soft pink, pale lavender

Detailed Palette

Color Hex (suggested) Usage
Hot Pink #FF69B4, #FF1493 Primary brand color, headlines, buttons
Bubblegum Pink #FF85A2, #FFA6C1 Backgrounds, card fills, hover states
Baby Pink #FFD1DC, #FFC0CB Light backgrounds, subtle fills
Fuchsia #FF00FF, #E040A0 High-energy accents, CTAs, sparkle effects
Deep Purple #8B008B, #800080 Headlines, strong contrast text
Medium Purple #9370DB, #B06CDB Subheadings, secondary accents
Lavender #E6C8FF, #D8B4FE Light backgrounds, card surfaces
Pale Lavender #F0E6FF, #F5F0FF Page background alternative
Royal Blue #4169E1, #5B7FF5 Links, tertiary accent
Sky Blue #87CEEB, #A0D8F0 Soft accent, alternating sections
Aqua #00CED1, #40E0D0 Sparkle highlights, badges
Glitter Gold #FFD700, #F5C842 Star motifs, crown accents, premium highlights
Silver Shimmer #C0C0C0, #D4D4D8 Metallic accents, borders
Pure White #FFFFFF Base background, text on dark fills
Soft Cream #FFF5F5, #FFF0F5 Warm pink-tinted background

Suggested CSS Custom Properties

:root {
  /* Pinks -- the dominant family */
  --curly-hot-pink: #ff69b4;
  --curly-deep-pink: #ff1493;
  --curly-bubblegum: #ff85a2;
  --curly-baby-pink: #ffd1dc;
  --curly-blush: #fff0f5;
  --curly-fuchsia: #e040a0;

  /* Purples -- the secondary family */
  --curly-deep-purple: #8b008b;
  --curly-medium-purple: #9370db;
  --curly-lavender: #e6c8ff;
  --curly-pale-lavender: #f0e6ff;

  /* Blues -- the tertiary family */
  --curly-royal-blue: #4169e1;
  --curly-sky-blue: #87ceeb;
  --curly-aqua: #00ced1;

  /* Metallic accents */
  --curly-gold: #ffd700;
  --curly-silver: #c0c0c0;

  /* Neutrals */
  --curly-white: #ffffff;
  --curly-soft-cream: #fff5f5;

  /* Functional mappings */
  --curly-bg-primary: var(--curly-blush);
  --curly-bg-secondary: var(--curly-pale-lavender);
  --curly-bg-card: var(--curly-white);
  --curly-text-primary: var(--curly-deep-purple);
  --curly-text-secondary: #6b4570;
  --curly-text-heading: var(--curly-deep-pink);
  --curly-accent: var(--curly-hot-pink);
  --curly-accent-secondary: var(--curly-medium-purple);
  --curly-border: var(--curly-bubblegum);
  --curly-link: var(--curly-royal-blue);
  --curly-link-hover: var(--curly-fuchsia);

  /* Gradients */
  --curly-gradient-pink: linear-gradient(135deg, #ff69b4, #ff1493);
  --curly-gradient-purple: linear-gradient(135deg, #9370db, #8b008b);
  --curly-gradient-rainbow: linear-gradient(135deg, #ff69b4, #9370db, #4169e1);
  --curly-gradient-shimmer: linear-gradient(135deg, #ffd1dc, #e6c8ff, #87ceeb);
}

Palette Approaches


Typography

Typeface Characteristics

Curly Girly typography is the very essence of the aesthetic – the “curly” in the name refers directly to the signature curved serif typefaces:

Canonical Fonts of the Aesthetic

These are the original typefaces that defined Curly Girly:

Font Year Character
Curlz MT 1995 The definitive Curly Girly font; extreme spiraling curls on every stroke
Gigi STD Elegant, sweeping script with dramatic curves
Dollie Script Bouncy, playful connected script
Old Comedy Theatrical, decorative curly display face
Absolute Blonde Fun, bubbly display lettering
Countryhouse Whimsical, hand-drawn curly lettering
Scriptease STD Flowing, connected script with flourishes
Font Style Usage
Pacifico Bouncy, connected script Hero headlines, logo text – closest to the Curly Girly spirit
Dancing Script Elegant, lively cursive Subheadings, feature callouts
Satisfy Retro-flavored flowing script Accent text, pull quotes
Great Vibes Formal calligraphic script Decorative headings, invitations
Kaushan Script Bold, energetic brush script Section headers, CTAs
Sacramento Thin, flowing cursive Subtle decorative text, captions
Leckerli One Rounded, bubbly display Fun headlines, badges
Fredericka the Great Sketchy, hand-drawn serif Playful headings
Poppins Clean, geometric sans-serif Body text (readable contrast to curly display fonts)
Nunito Rounded, friendly sans-serif Body text, UI elements
Quicksand Rounded geometric sans-serif Labels, navigation, small text
Comic Neue Clean comic-style sans Body text alternative with playful tone

Typography CSS Example

/* Import curly display + clean body fonts */
@import url('https://fonts.googleapis.com/css2?family=Pacifico&family=Dancing+Script:wght@400;700&family=Satisfy&family=Kaushan+Script&family=Poppins:wght@300;400;600&family=Quicksand:wght@500;700&display=swap');

/* Hero / display headlines -- signature curly style */
h1 {
  font-family: 'Pacifico', 'Dancing Script', cursive;
  font-weight: 400;
  color: var(--curly-text-heading);
  line-height: 1.3;
  font-size: clamp(2.5rem, 6vw, 5rem);
  text-shadow: 2px 2px 0 rgba(255, 105, 180, 0.2);
}

/* Section headings -- elegant script */
h2 {
  font-family: 'Dancing Script', 'Kaushan Script', cursive;
  font-weight: 700;
  color: var(--curly-deep-purple);
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.3;
}

/* Subheadings -- slightly more restrained */
h3 {
  font-family: 'Kaushan Script', 'Satisfy', cursive;
  font-weight: 400;
  color: var(--curly-hot-pink);
  font-size: clamp(1.3rem, 2.5vw, 2rem);
  line-height: 1.4;
}

/* Body text -- clean and readable contrast */
body {
  font-family: 'Poppins', 'Quicksand', sans-serif;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--curly-text-primary);
}

/* Decorative accent text */
.curly-accent-text {
  font-family: 'Satisfy', 'Sacramento', cursive;
  font-size: 1.4em;
  color: var(--curly-fuchsia);
  transform: rotate(-3deg);
  display: inline-block;
}

/* Labels and tags */
.curly-tag {
  font-family: 'Quicksand', 'Poppins', sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--curly-white);
}

/* Pull quotes / feature text */
.curly-quote {
  font-family: 'Dancing Script', cursive;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--curly-medium-purple);
  border-left: 4px solid var(--curly-hot-pink);
  padding-left: 1.5rem;
}

Layout Principles

Grid and Structure

Section Organization


CSS/Design Techniques

Soft Pink Gradient Background

/* Dreamy pink-to-lavender page background */
.curly-bg {
  background: var(--curly-blush);
  background-image:
    radial-gradient(
      ellipse at 20% 30%,
      rgba(255, 105, 180, 0.08) 0%,
      transparent 50%
    ),
    radial-gradient(
      ellipse at 80% 60%,
      rgba(147, 112, 219, 0.08) 0%,
      transparent 50%
    ),
    radial-gradient(
      ellipse at 50% 90%,
      rgba(135, 206, 235, 0.06) 0%,
      transparent 50%
    );
}

/* Glitter / sparkle texture overlay */
.curly-sparkle::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 15% 25%, rgba(255, 215, 0, 0.3) 1px, transparent 1px),
    radial-gradient(circle at 45% 65%, rgba(255, 215, 0, 0.25) 1px, transparent 1px),
    radial-gradient(circle at 75% 15%, rgba(255, 215, 0, 0.3) 1px, transparent 1px),
    radial-gradient(circle at 85% 75%, rgba(255, 215, 0, 0.2) 1px, transparent 1px),
    radial-gradient(circle at 35% 85%, rgba(255, 215, 0, 0.25) 1px, transparent 1px),
    radial-gradient(circle at 60% 40%, rgba(255, 255, 255, 0.5) 1px, transparent 1px);
  background-size: 200px 200px;
  pointer-events: none;
  z-index: 1;
}

Curly Bordered Card

/* Signature rounded pink card */
.curly-card {
  background: var(--curly-bg-card);
  border: 3px solid var(--curly-bubblegum);
  border-radius: 20px;
  padding: 2rem;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 4px 15px rgba(255, 105, 180, 0.15);
  overflow: visible;
}

.curly-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 8px 25px rgba(255, 105, 180, 0.25);
}

/* Heart decoration in top corner */
.curly-card::before {
  content: '\2764\FE0F';
  position: absolute;
  top: -12px;
  right: 16px;
  font-size: 1.4rem;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.1));
}

/* Gradient accent border variant */
.curly-card--gradient {
  border: 3px solid transparent;
  background-clip: padding-box;
  position: relative;
}

.curly-card--gradient::after {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: 22px;
  background: var(--curly-gradient-rainbow);
  z-index: -1;
}

Heart / Star / Flower Section Dividers

/* Decorative divider with centered motif */
.curly-divider {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 2rem 0;
  color: var(--curly-hot-pink);
}

.curly-divider::before,
.curly-divider::after {
  content: '';
  flex: 1;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--curly-bubblegum),
    transparent
  );
}

.curly-divider--hearts::before { content: none; }
.curly-divider--hearts::after { content: none; }

.curly-divider--hearts {
  justify-content: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  letter-spacing: 0.5rem;
}

/* Usage: <div class="curly-divider--hearts">&#x2665; &#x2665; &#x2665; &#x2665; &#x2665;</div> */

/* Star sparkle divider */
.curly-divider--stars {
  background: none;
  text-align: center;
  font-size: 1rem;
  letter-spacing: 1rem;
}

/* Curly swirl border (top or bottom of sections) */
.curly-swirl-border {
  border: none;
  height: 30px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 30'%3E%3Cpath d='M0 15 Q25 0 50 15 T100 15 T150 15 T200 15' fill='none' stroke='%23ff69b4' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-size: 200px 30px;
  background-position: center;
}

Butterfly / Motif Scatter

/* Floating decorative butterflies */
.curly-butterflies {
  position: relative;
}

.curly-butterflies::before {
  content: '\1F98B';
  position: absolute;
  top: -15px;
  left: 10%;
  font-size: 1.5rem;
  transform: rotate(-15deg);
  opacity: 0.6;
  pointer-events: none;
}

.curly-butterflies::after {
  content: '\1F98B';
  position: absolute;
  bottom: -10px;
  right: 8%;
  font-size: 1.2rem;
  transform: rotate(20deg) scaleX(-1);
  opacity: 0.5;
  pointer-events: none;
}

/* Scattered hearts and stars */
.curly-scatter-hearts::before { content: '\2764'; position: absolute; top: 5%; left: 3%; font-size: 1rem; opacity: 0.3; color: var(--curly-hot-pink); pointer-events: none; }
.curly-scatter-hearts::after { content: '\1F496'; position: absolute; bottom: 8%; right: 5%; font-size: 1.2rem; opacity: 0.3; pointer-events: none; }

.curly-scatter-stars::before { content: '\2728'; position: absolute; top: 8%; right: 6%; font-size: 1rem; opacity: 0.4; pointer-events: none; }
.curly-scatter-stars::after { content: '\2B50'; position: absolute; bottom: 5%; left: 4%; font-size: 0.9rem; opacity: 0.3; pointer-events: none; }

.curly-scatter-flowers::before { content: '\1F338'; position: absolute; top: 3%; left: 8%; font-size: 1.1rem; opacity: 0.4; pointer-events: none; }
.curly-scatter-flowers::after { content: '\1F33A'; position: absolute; bottom: 6%; right: 3%; font-size: 1rem; opacity: 0.35; pointer-events: none; }

Ribbon Banner

/* Curling ribbon banner for featured text */
.curly-ribbon {
  display: inline-block;
  background: var(--curly-gradient-pink);
  color: var(--curly-white);
  padding: 0.6rem 2.5rem;
  font-family: 'Quicksand', sans-serif;
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  position: relative;
  border-radius: 4px;
  box-shadow: 0 3px 10px rgba(255, 20, 147, 0.3);
}

.curly-ribbon::before,
.curly-ribbon::after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
}

.curly-ribbon::before {
  left: -12px;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  border-right: 12px solid var(--curly-hot-pink);
}

.curly-ribbon::after {
  right: -12px;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  border-left: 12px solid var(--curly-deep-pink);
}

Curly Button Styles

/* Primary pink button */
.curly-btn {
  display: inline-block;
  padding: 0.8rem 2rem;
  font-family: 'Quicksand', sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
}

.curly-btn--primary {
  background: var(--curly-gradient-pink);
  color: var(--curly-white);
  box-shadow: 0 4px 15px rgba(255, 20, 147, 0.3);
}

.curly-btn--primary:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 6px 20px rgba(255, 20, 147, 0.45);
}

.curly-btn--outline {
  background: transparent;
  border: 2.5px solid var(--curly-hot-pink);
  color: var(--curly-hot-pink);
}

.curly-btn--outline:hover {
  background: var(--curly-hot-pink);
  color: var(--curly-white);
  transform: translateY(-2px);
}

.curly-btn--purple {
  background: var(--curly-gradient-purple);
  color: var(--curly-white);
  box-shadow: 0 4px 15px rgba(139, 0, 139, 0.25);
}

Shimmer / Glitter Animation

/* Subtle shimmer animation for sparkle effect */
@keyframes curly-shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

.curly-shimmer {
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.4) 25%,
    rgba(255, 215, 0, 0.2) 50%,
    rgba(255, 255, 255, 0.4) 75%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: curly-shimmer 3s ease-in-out infinite;
  -webkit-background-clip: text;
  background-clip: text;
}

/* Twinkling stars animation */
@keyframes curly-twinkle {
  0%, 100% { opacity: 0.2; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.3); }
}

.curly-twinkle-star {
  display: inline-block;
  animation: curly-twinkle 2s ease-in-out infinite;
  color: var(--curly-gold);
}

.curly-twinkle-star:nth-child(2) { animation-delay: 0.3s; }
.curly-twinkle-star:nth-child(3) { animation-delay: 0.7s; }
.curly-twinkle-star:nth-child(4) { animation-delay: 1.1s; }

Alternating Section Backgrounds

/* Pink section */
.curly-section--pink {
  background: linear-gradient(180deg, var(--curly-baby-pink), var(--curly-blush));
  padding: 4rem 2rem;
}

/* Lavender section */
.curly-section--lavender {
  background: linear-gradient(180deg, var(--curly-pale-lavender), #faf5ff);
  padding: 4rem 2rem;
}

/* Blue section */
.curly-section--blue {
  background: linear-gradient(180deg, #e8f4fd, #f0f8ff);
  padding: 4rem 2rem;
}

/* White section with subtle pink tint */
.curly-section--white {
  background: var(--curly-soft-cream);
  padding: 4rem 2rem;
}

Badge / Tag Styles

/* Rounded pill badges */
.curly-badge {
  display: inline-block;
  padding: 0.25rem 0.8rem;
  font-family: 'Quicksand', sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: 50px;
  color: var(--curly-white);
}

.curly-badge--pink { background: var(--curly-hot-pink); }
.curly-badge--purple { background: var(--curly-medium-purple); }
.curly-badge--blue { background: var(--curly-royal-blue); }
.curly-badge--gold {
  background: linear-gradient(135deg, #ffd700, #f5c842);
  color: #5c3d00;
}
.curly-badge--outline {
  background: transparent;
  border: 2px solid var(--curly-hot-pink);
  color: var(--curly-hot-pink);
}

Materials and Textures (Visual Metaphors for Web)

Physical Curly Girly materials and their web equivalents:

Physical Material Web Equivalent
Glitter and sparkle Radial gradient dots, shimmer animations, gold/silver accents
Lip gloss / shiny plastic Glossy gradients with white highlight, high box-shadow
Ribbon and bows CSS ribbon shapes with triangle pseudo-elements, curved banners
Stickers (hearts, stars, flowers) Emoji pseudo-elements, SVG icons scattered as decorative overlays
Bubbly / inflated lettering Thick text-shadow, rounded fonts, slight scale transforms
Scented stationery paper Soft pastel gradient backgrounds with subtle texture overlays
Butterfly clips / hair accessories Butterfly emoji decorations, ornamental border images
Flip phone screen Rounded rectangle containers with chunky borders, retro pixel touches
Diary / journal Lined background patterns, handwritten script fonts, padded containers
Crown / tiara Gold gradient accents, decorative top borders on hero sections

Y2K / McBling Connection

Curly Girly overlaps significantly with the broader McBling aesthetic (2003-2008), sharing:

Key distinction: McBling is broader and includes hip-hop-influenced bling, logo-heavy fashion, and chrome effects. Curly Girly is specifically defined by the curled serif typography and the hearts-stars-flowers motif vocabulary.


Aesthetic Relationship to Curly Girly
McBling Overlapping era (2003-2008); shares tween consumer culture but McBling includes hip-hop and bling elements
Barbiecore Shares the pink palette and feminine empowerment themes; Barbiecore is more fashion-forward and modern
Cyber Stylin’ Related digital/tech aesthetic from the same Y2K era with more futuristic elements
Kidcore Shares the bright, playful energy; Kidcore is broader and not specifically feminine-coded
Scene Tween Related tween culture aesthetic with more alt/emo influences
Tweencore Closely related tween-targeted aesthetic from the same era
Groovival Adjacent retro-revival aesthetic with different color priorities (oranges, greens)
Global Village Coffeehouse Loosely related through shared era; very different visual approach

Quick-Start: Minimal Curly Girly Page Template

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Curly Girly Page</title>
  <link href="https://fonts.googleapis.com/css2?family=Pacifico&family=Dancing+Script:wght@400;700&family=Kaushan+Script&family=Poppins:wght@300;400;600&family=Quicksand:wght@500;700&display=swap" rel="stylesheet">
  <style>
    :root {
      --curly-hot-pink: #ff69b4;
      --curly-deep-pink: #ff1493;
      --curly-bubblegum: #ff85a2;
      --curly-baby-pink: #ffd1dc;
      --curly-blush: #fff0f5;
      --curly-fuchsia: #e040a0;
      --curly-deep-purple: #8b008b;
      --curly-medium-purple: #9370db;
      --curly-lavender: #e6c8ff;
      --curly-pale-lavender: #f0e6ff;
      --curly-royal-blue: #4169e1;
      --curly-sky-blue: #87ceeb;
      --curly-gold: #ffd700;
      --curly-white: #ffffff;
    }

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

    body {
      background: var(--curly-blush);
      color: var(--curly-deep-purple);
      font-family: 'Poppins', sans-serif;
      font-weight: 300;
      line-height: 1.7;
    }

    h1, h2 {
      font-family: 'Pacifico', cursive;
      font-weight: 400;
      line-height: 1.3;
    }

    h3 {
      font-family: 'Dancing Script', cursive;
      font-weight: 700;
    }

    .hero {
      text-align: center;
      padding: 5rem 2rem 4rem;
      background: linear-gradient(180deg, var(--curly-baby-pink), var(--curly-blush));
      position: relative;
      overflow: hidden;
    }

    .hero h1 {
      font-size: clamp(2.8rem, 6vw, 5rem);
      color: var(--curly-deep-pink);
      text-shadow: 2px 2px 0 rgba(255, 105, 180, 0.2);
      margin-bottom: 0.5rem;
    }

    .hero .subtitle {
      font-family: 'Kaushan Script', cursive;
      font-size: 1.4rem;
      color: var(--curly-medium-purple);
      display: inline-block;
    }

    .divider {
      text-align: center;
      font-size: 0.9rem;
      color: var(--curly-hot-pink);
      letter-spacing: 0.8rem;
      padding: 1rem 0;
    }

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

    .card {
      background: var(--curly-white);
      border: 3px solid var(--curly-bubblegum);
      border-radius: 20px;
      padding: 2rem;
      position: relative;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      box-shadow: 0 4px 15px rgba(255, 105, 180, 0.12);
    }

    .card:hover {
      transform: translateY(-6px);
      box-shadow: 0 8px 25px rgba(255, 105, 180, 0.25);
    }

    .card h3 {
      font-size: 1.5rem;
      color: var(--curly-deep-pink);
      margin-bottom: 0.5rem;
    }

    .badge {
      display: inline-block;
      padding: 0.2rem 0.7rem;
      font-family: 'Quicksand', sans-serif;
      font-size: 0.65rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      border-radius: 50px;
      color: #fff;
      margin-bottom: 0.8rem;
    }

    .badge--pink { background: var(--curly-hot-pink); }
    .badge--purple { background: var(--curly-medium-purple); }
    .badge--blue { background: var(--curly-royal-blue); }
    .badge--gold { background: linear-gradient(135deg, #ffd700, #f5c842); color: #5c3d00; }
  </style>
</head>
<body>
  <div class="hero">
    <h1>Curly Girly</h1>
    <br>
    <span class="subtitle">ornate, playful & fabulous</span>
  </div>
  <div class="divider">&hearts; &starf; &hearts; &starf; &hearts;</div>
  <section class="card-grid">
    <div class="card">
      <span class="badge badge--pink">Style</span>
      <h3>Curly Typography</h3>
      <p>Swooping, looping letterforms with exaggerated serifs and decorative flourishes define every headline.</p>
    </div>
    <div class="card">
      <span class="badge badge--purple">Motifs</span>
      <h3>Hearts & Stars</h3>
      <p>The signature decorative elements scattered across every surface, from borders to backgrounds.</p>
    </div>
    <div class="card">
      <span class="badge badge--blue">Color</span>
      <h3>Pink & Purple</h3>
      <p>Vibrant pinks and dreamy purples form the chromatic backbone of every Curly Girly design.</p>
    </div>
    <div class="card">
      <span class="badge badge--gold">Energy</span>
      <h3>Diva Confidence</h3>
      <p>Bold, fun, and unapologetically girly -- the aesthetic radiates Y2K optimism and self-expression.</p>
    </div>
  </section>
</body>
</html>