website_designs

Whimsigothic Design Reference

Whimsigothic (originally “Whimsical Mystical Gothic Celestial”) is a design aesthetic that peaked from the late 1980s to early 2000s, merging gothic darkness with playful, fantastical whimsy – velvet textures, celestial iconography, Victorian silhouettes, and mystical symbolism wrapped in a warm, cozy atmosphere. Influenced by Tim Burton’s dark surrealism, the ornate hand-lettering of Margo Chase, and 90s occult-adjacent pop culture, the aesthetic balances dramatic moodiness with eclectic warmth, creating spaces and designs that feel like a candlelit séance in a bohemian parlor filled with trailing vines, ornate mirrors, and celestial tapestries.


Visual Characteristics

Core Motifs and Patterns

Design Principles


Color Palette

Primary Scheme

Role Colors
Base Deep midnight blue, near-black, dark plum
Primary accents Rich purple, deep teal, warm amber/orange
Jewel tones Emerald green, maroon, sapphire blue, amethyst
Warm metallics Antique gold, aged brass, burnished copper
Soft accents Dusty rose, lavender mist, candlelight ivory

Detailed Palette

Color Hex (suggested) Usage
Midnight Blue #0F1B2D, #162038 Primary backgrounds, deep sections
Dark Plum #1E0E24, #2A1433 Secondary backgrounds, dark panels
Near Black #0D0B10, #121014 Deepest backgrounds, shadow areas
Rich Purple #6B2FA0, #7B3FB5 Primary accent, celestial elements, highlights
Deep Teal #1A5E5E, #1D6B6B Secondary accent, botanical tinting
Warm Amber #D4883E, #E09A4A Warm light effects, candle glow, accent details
Burnt Orange #C45D2C, #D06A35 Tertiary accent, decorative warmth
Emerald Green #1B6B4A, #237D58 Botanical elements, trailing vine motifs
Maroon #6B1B2A, #7D2035 Rich accent panels, velvet texture references
Amethyst #9B59B6, #A569C7 Mystical accents, crystal imagery
Antique Gold #B8923F, #C9A050 Metallic borders, ornamental details, frames
Dusty Rose #C4919B, #D4A0A8 Soft accents, floral details
Lavender Mist #B8A9C9, #C4B5D5 Light accents, secondary highlights
Candlelight Ivory #F5E8D4, #FAF0E4 Light text, warm highlights, glow centers
Aged Parchment #E8D5B7, #DCC9A8 Secondary light text, warm neutral

Suggested CSS Custom Properties

:root {
  /* Dark base tones */
  --whimsigoth-midnight: #0f1b2d;
  --whimsigoth-plum: #1e0e24;
  --whimsigoth-void: #0d0b10;
  --whimsigoth-dark: #121014;

  /* Jewel tones */
  --whimsigoth-purple: #6b2fa0;
  --whimsigoth-purple-light: #9b59b6;
  --whimsigoth-teal: #1a5e5e;
  --whimsigoth-emerald: #1b6b4a;
  --whimsigoth-maroon: #6b1b2a;

  /* Warm accents */
  --whimsigoth-amber: #d4883e;
  --whimsigoth-orange: #c45d2c;
  --whimsigoth-gold: #b8923f;
  --whimsigoth-gold-light: #c9a050;

  /* Soft accents */
  --whimsigoth-rose: #c4919b;
  --whimsigoth-lavender: #b8a9c9;
  --whimsigoth-ivory: #f5e8d4;
  --whimsigoth-parchment: #e8d5b7;

  /* Glow / atmosphere */
  --whimsigoth-glow-amber: rgba(212, 136, 62, 0.25);
  --whimsigoth-glow-purple: rgba(107, 47, 160, 0.2);
  --whimsigoth-glow-teal: rgba(26, 94, 94, 0.15);
  --whimsigoth-star: rgba(245, 232, 212, 0.9);

  /* Functional mappings */
  --whimsigoth-bg-primary: var(--whimsigoth-midnight);
  --whimsigoth-bg-secondary: var(--whimsigoth-plum);
  --whimsigoth-bg-deep: var(--whimsigoth-void);
  --whimsigoth-text-primary: var(--whimsigoth-ivory);
  --whimsigoth-text-secondary: var(--whimsigoth-parchment);
  --whimsigoth-accent: var(--whimsigoth-purple);
  --whimsigoth-accent-warm: var(--whimsigoth-amber);
  --whimsigoth-border: var(--whimsigoth-gold);
}

Approaches


Typography

Typeface Characteristics

Whimsigothic typography draws heavily from the ornate hand-lettering tradition of 90s designers like Margo Chase. Key characteristics:

Font Style Usage
Cinzel Decorative Ornamental Roman capitals with decorative serifs Hero titles, display headlines
Cinzel Refined Roman capitals Section headings, formal titles
Cormorant Garamond Elegant old-style serif with flowing italics Body text, subheadings
Playfair Display High-contrast serif with dramatic flair Headlines, feature text
IM Fell English Historic serif with period character and warmth Body text, quotes, narration
Great Vibes Flowing calligraphic script Decorative accents, mystical labels
Tangerine Calligraphic script with organic movement Decorative subtitles, accent text
MedievalSharp Gothic-influenced with medieval energy Display accents, feature labels
UnifrakturMaguntia Blackletter / Fraktur Decorative display (used sparingly)

Typography CSS Example

/* Headlines -- ornate, mystical serif */
h1, h2, h3 {
  font-family: 'Cinzel', 'Playfair Display', serif;
  letter-spacing: 0.06em;
  color: var(--whimsigoth-ivory);
  font-weight: 400;
  text-shadow: 0 2px 8px rgba(107, 47, 160, 0.3);
}

/* Display / Hero text -- decorative and atmospheric */
.whimsigoth-display {
  font-family: 'Cinzel Decorative', 'Cinzel', serif;
  font-size: clamp(2.5rem, 7vw, 6rem);
  letter-spacing: 0.1em;
  line-height: 1.1;
  color: var(--whimsigoth-ivory);
  text-shadow:
    0 0 20px var(--whimsigoth-glow-amber),
    0 0 60px var(--whimsigoth-glow-purple);
}

/* Decorative script accents -- mystical, handwritten feel */
.whimsigoth-script {
  font-family: 'Great Vibes', 'Tangerine', cursive;
  font-size: 1.8em;
  color: var(--whimsigoth-gold-light);
  text-shadow: 0 0 12px var(--whimsigoth-glow-amber);
}

/* Body text -- warm, readable, book-like */
body {
  font-family: 'Cormorant Garamond', 'IM Fell English', serif;
  font-weight: 400;
  font-size: 1.1rem;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: var(--whimsigoth-parchment);
}

/* Small label / mystical caption */
.whimsigoth-label {
  font-family: 'Cinzel', serif;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--whimsigoth-lavender);
}

Layout Principles

Grid and Structure

Section Organization


CSS/Design Techniques

Celestial Star Field Background

/* Scattered star effect on dark background */
.whimsigoth-starfield {
  background-color: var(--whimsigoth-midnight);
  background-image:
    radial-gradient(1px 1px at 10% 20%, var(--whimsigoth-star) 50%, transparent 50%),
    radial-gradient(1.5px 1.5px at 30% 65%, var(--whimsigoth-star) 50%, transparent 50%),
    radial-gradient(1px 1px at 55% 15%, var(--whimsigoth-star) 50%, transparent 50%),
    radial-gradient(1.5px 1.5px at 72% 80%, var(--whimsigoth-star) 50%, transparent 50%),
    radial-gradient(1px 1px at 85% 35%, var(--whimsigoth-star) 50%, transparent 50%),
    radial-gradient(2px 2px at 45% 50%, rgba(155, 89, 182, 0.6) 50%, transparent 50%),
    radial-gradient(1px 1px at 92% 55%, var(--whimsigoth-star) 50%, transparent 50%),
    radial-gradient(1.5px 1.5px at 18% 88%, var(--whimsigoth-star) 50%, transparent 50%);
}

/* Animated twinkling stars */
@keyframes star-twinkle {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 1; }
}

.whimsigoth-star-accent {
  width: 3px;
  height: 3px;
  background: var(--whimsigoth-ivory);
  border-radius: 50%;
  box-shadow: 0 0 4px var(--whimsigoth-glow-amber);
  animation: star-twinkle 3s ease-in-out infinite;
}

Crescent Moon Divider (SVG + CSS)

/* Celestial divider with crescent moon centerpiece */
.whimsigoth-divider {
  height: 40px;
  width: 50%;
  margin: 2.5rem auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.whimsigoth-divider::before,
.whimsigoth-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--whimsigoth-gold) 30%,
    var(--whimsigoth-gold)
  );
}

.whimsigoth-divider::after {
  background: linear-gradient(
    270deg,
    transparent,
    var(--whimsigoth-gold) 30%,
    var(--whimsigoth-gold)
  );
}

/* Moon icon via inline SVG background on a central pseudo-element */
.whimsigoth-moon-divider {
  width: 60%;
  margin: 2rem auto;
  height: 30px;
  background: no-repeat center / 30px auto;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M20,5 A12,12 0 1,0 20,25 A8,8 0 1,1 20,5Z' fill='%23b8923f'/%3E%3C/svg%3E");
  border-bottom: 1px solid rgba(184, 146, 63, 0.3);
  border-top: 1px solid rgba(184, 146, 63, 0.3);
}

Gothic Arch Panel

/* Panel with pointed gothic arch top */
.whimsigoth-arch-panel {
  background: linear-gradient(
    180deg,
    var(--whimsigoth-plum) 0%,
    var(--whimsigoth-void) 100%
  );
  border: 1px solid var(--whimsigoth-gold);
  border-radius: 50% 50% 8px 8px / 20% 20% 8px 8px;
  padding: 3rem 2.5rem 2.5rem;
  position: relative;
  box-shadow:
    0 4px 20px rgba(0, 0, 0, 0.5),
    inset 0 0 40px rgba(107, 47, 160, 0.06);
}

/* Inner glow simulating candlelight */
.whimsigoth-arch-panel::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(
    ellipse at 50% 40%,
    rgba(212, 136, 62, 0.08) 0%,
    transparent 60%
  );
  pointer-events: none;
}

Candlelight / Warm Glow Effect

/* Warm amber glow for atmospheric illumination */
.whimsigoth-candlelight {
  position: relative;
}

.whimsigoth-candlelight::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at 50% 30%,
    rgba(212, 136, 62, 0.12) 0%,
    rgba(212, 136, 62, 0.04) 40%,
    transparent 70%
  );
  pointer-events: none;
}

/* Animated candle flicker */
@keyframes candle-flicker {
  0%, 100% { opacity: 0.8; transform: scale(1); }
  25% { opacity: 1; transform: scale(1.02); }
  50% { opacity: 0.85; transform: scale(0.98); }
  75% { opacity: 0.95; transform: scale(1.01); }
}

.whimsigoth-flame {
  animation: candle-flicker 3s ease-in-out infinite;
}

Velvet Texture Surface

/* Deep velvet-like surface with rich texture */
.whimsigoth-velvet {
  background:
    radial-gradient(ellipse at 30% 40%, rgba(107, 47, 160, 0.08) 0%, transparent 50%),
    radial-gradient(ellipse at 70% 60%, rgba(107, 27, 42, 0.06) 0%, transparent 50%),
    linear-gradient(
      180deg,
      var(--whimsigoth-plum) 0%,
      #1a0e20 50%,
      var(--whimsigoth-plum) 100%
    );
}

/* Velvet maroon variant */
.whimsigoth-velvet-maroon {
  background:
    radial-gradient(ellipse at 40% 30%, rgba(212, 136, 62, 0.04) 0%, transparent 50%),
    linear-gradient(
      180deg,
      var(--whimsigoth-maroon) 0%,
      #3d0f18 50%,
      var(--whimsigoth-maroon) 100%
    );
}

Stained Glass Panel Effect

/* Stained glass grid with lead-line dividers */
.whimsigoth-stained-glass {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  background: #2a2028; /* dark "leading" between panes */
  border-radius: 50% 50% 8px 8px / 25% 25% 8px 8px; /* arch top */
  overflow: hidden;
  padding: 3px;
  border: 2px solid var(--whimsigoth-gold);
}

.whimsigoth-stained-glass > *:nth-child(1) {
  background: rgba(107, 47, 160, 0.2); /* purple pane */
}

.whimsigoth-stained-glass > *:nth-child(2) {
  background: rgba(26, 94, 94, 0.2); /* teal pane */
}

.whimsigoth-stained-glass > *:nth-child(3) {
  background: rgba(27, 107, 74, 0.15); /* emerald pane */
}

.whimsigoth-stained-glass > * {
  padding: 1.5rem;
  border-radius: 4px;
}

Whimsigothic Card

.whimsigoth-card {
  background: linear-gradient(
    160deg,
    rgba(30, 14, 36, 0.8) 0%,
    rgba(13, 11, 16, 0.95) 100%
  );
  border: 1px solid var(--whimsigoth-gold);
  border-radius: 12px;
  padding: 2.5rem;
  position: relative;
  overflow: hidden;
  box-shadow:
    0 4px 20px rgba(0, 0, 0, 0.5),
    inset 0 0 30px rgba(212, 136, 62, 0.04);
  transition: box-shadow 0.4s ease, border-color 0.4s ease;
}

.whimsigoth-card:hover {
  border-color: var(--whimsigoth-amber);
  box-shadow:
    0 8px 30px rgba(0, 0, 0, 0.5),
    0 0 20px var(--whimsigoth-glow-amber),
    inset 0 0 30px rgba(212, 136, 62, 0.06);
}

/* Subtle star sparkle in corner */
.whimsigoth-card::before {
  content: '\2726'; /* four-pointed star */
  position: absolute;
  top: 12px;
  right: 16px;
  color: var(--whimsigoth-gold);
  font-size: 0.9rem;
  opacity: 0.5;
}

Ornate Gold Border Frame

/* Double-border ornate frame with gold accents */
.whimsigoth-frame {
  border: 2px solid var(--whimsigoth-gold);
  outline: 1px solid rgba(184, 146, 63, 0.4);
  outline-offset: 6px;
  padding: 3rem;
  position: relative;
  background: var(--whimsigoth-void);
}

/* Decorative corner stars */
.whimsigoth-frame::before,
.whimsigoth-frame::after {
  content: '\2726'; /* four-pointed star */
  position: absolute;
  font-size: 1rem;
  color: var(--whimsigoth-gold);
}

.whimsigoth-frame::before {
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
}

.whimsigoth-frame::after {
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
}

/* Ornate wrought-iron style divider */
.whimsigoth-wrought-divider {
  height: 0;
  border: none;
  border-top: 1px solid var(--whimsigoth-gold);
  margin: 2.5rem auto;
  width: 50%;
  position: relative;
}

.whimsigoth-wrought-divider::before {
  content: '\263D'; /* first quarter moon */
  position: absolute;
  top: -0.6em;
  left: 50%;
  transform: translateX(-50%);
  background: var(--whimsigoth-void);
  padding: 0 0.6em;
  color: var(--whimsigoth-gold);
  font-size: 1.1rem;
}

Vignette / Atmospheric Depth

/* Dark vignette overlay for candlelit atmosphere */
.whimsigoth-vignette::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at center,
    transparent 30%,
    rgba(13, 11, 16, 0.6) 100%
  );
  pointer-events: none;
}

/* Purple-tinted atmospheric mist */
.whimsigoth-mist {
  position: relative;
}

.whimsigoth-mist::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 50% at 20% 60%, rgba(107, 47, 160, 0.08) 0%, transparent 60%),
    radial-gradient(ellipse 60% 40% at 75% 40%, rgba(26, 94, 94, 0.06) 0%, transparent 50%);
  pointer-events: none;
}

Background Texture Patterns

/* Subtle celestial repeating pattern */
.whimsigoth-celestial-bg {
  background-color: var(--whimsigoth-midnight);
  background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 8l2 6 6 2-6 2-2 6-2-6-6-2 6-2z' fill='%23b8923f' opacity='0.06'/%3E%3C/svg%3E");
}

/* Damask-inspired dark pattern (Victorian gothic) */
.whimsigoth-damask-bg {
  background-color: var(--whimsigoth-plum);
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 0 L40 20 L20 40 L0 20 Z' fill='none' stroke='%236b2fa0' stroke-width='0.5' opacity='0.1'/%3E%3C/svg%3E");
}

/* Trailing vine texture overlay */
.whimsigoth-vine-bg {
  background-color: var(--whimsigoth-midnight);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 30'%3E%3Cpath d='M0,15 C20,5 30,25 50,15 S80,5 100,15 S110,25 120,15' fill='none' stroke='%231b6b4a' stroke-width='0.8' opacity='0.08'/%3E%3C/svg%3E");
  background-size: 120px 30px;
}

Materials and Textures (Visual Metaphors for Web)

Physical Whimsigothic materials and their web equivalents:

Physical Material Web Equivalent
Velvet fabric Deep plum/maroon backgrounds with subtle radial gradient sheen, creating soft depth
Brocade / Damask textile Dark backgrounds with faint repeating diamond or floral SVG pattern overlays
Lace Semi-transparent white or ivory overlays with intricate edge patterns at low opacity
Wrought iron Dark metallic-toned ornamental borders, scrollwork dividers, decorative unicode frames
Stained glass Jewel-toned grid panels with dark “leading” borders, arched container shapes
Taper candles / Candlelight Warm amber radial-gradient glow effects, animated flicker on key elements
Carved Victorian woodwork Warm brown/gold borders with ornate corner decorations, arched panel shapes
Antique gold / Brass Gold gradient borders (#b8923f to #c9a050), warm metallic text highlights
Crystals / Gemstones Small radial gradient sparkle elements, prismatic purple/teal highlights
Aged mirrors Panels with subtle reflection gradient (white-to-transparent top edge) and ornate gold border
Dried flowers / Pressed herbs Muted botanical SVG motifs at low opacity in backgrounds or margins
Parchment / Aged paper Warm ivory-to-tan backgrounds with faint warm radial gradient mottling

Cultural References and Influences

Film and Television

Music and Icons

Design Influences


Aesthetic Relationship to Whimsigothic
Gothic Parent influence; Whimsigothic softens Gothic’s severity with warmth, whimsy, and celestial motifs
Witchcore Close sibling; shares mystical/occult imagery but Witchcore is more explicitly witchcraft-focused
Cottagecore Shares botanical and cozy elements, but Cottagecore is light and pastoral vs. Whimsigothic’s dark warmth
FantasY2K Contemporary revival; merges Y2K futurism with similar celestial and mystical motifs
Hippie Shares bohemian layering, celestial motifs, and mystical interests
Baroque Shares ornamental excess, gold accents, dramatic lighting, and velvet; Whimsigothic is Baroque filtered through 90s bohemian goth
Trinketcore Shares eclectic collecting and curated display of small objects
Dark Academia Overlapping love of aged books, warm interiors, and candlelight; Dark Academia is more scholarly, Whimsigothic more mystical

Quick-Start: Minimal Whimsigothic Page Template

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Whimsigothic Page</title>
  <link href="https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700&family=Cinzel:wght@400;600&family=Cormorant+Garamond:ital,wght@0,300;0,400;1,400&family=Great+Vibes&display=swap" rel="stylesheet">
  <style>
    :root {
      --whimsigoth-midnight: #0f1b2d;
      --whimsigoth-plum: #1e0e24;
      --whimsigoth-void: #0d0b10;
      --whimsigoth-purple: #6b2fa0;
      --whimsigoth-amber: #d4883e;
      --whimsigoth-gold: #b8923f;
      --whimsigoth-gold-light: #c9a050;
      --whimsigoth-teal: #1a5e5e;
      --whimsigoth-ivory: #f5e8d4;
      --whimsigoth-parchment: #e8d5b7;
      --whimsigoth-lavender: #b8a9c9;
      --whimsigoth-glow-amber: rgba(212, 136, 62, 0.25);
      --whimsigoth-glow-purple: rgba(107, 47, 160, 0.2);
      --whimsigoth-star: rgba(245, 232, 212, 0.9);
    }

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

    body {
      background: var(--whimsigoth-midnight);
      color: var(--whimsigoth-parchment);
      font-family: 'Cormorant Garamond', serif;
      font-weight: 400;
      font-size: 1.1rem;
      letter-spacing: 0.02em;
      line-height: 1.8;
      min-height: 100vh;
      overflow-x: hidden;
      /* Subtle star field */
      background-image:
        radial-gradient(1px 1px at 15% 25%, var(--whimsigoth-star) 50%, transparent 50%),
        radial-gradient(1.5px 1.5px at 40% 70%, var(--whimsigoth-star) 50%, transparent 50%),
        radial-gradient(1px 1px at 65% 15%, var(--whimsigoth-star) 50%, transparent 50%),
        radial-gradient(1px 1px at 80% 55%, var(--whimsigoth-star) 50%, transparent 50%),
        radial-gradient(1.5px 1.5px at 90% 85%, var(--whimsigoth-star) 50%, transparent 50%);
    }

    h1, h2, h3 {
      font-family: 'Cinzel', serif;
      letter-spacing: 0.06em;
      color: var(--whimsigoth-ivory);
      font-weight: 400;
      text-shadow: 0 2px 8px var(--whimsigoth-glow-purple);
    }

    /* Hero with candlelit atmosphere */
    .hero {
      text-align: center;
      padding: 8rem 2rem 5rem;
      position: relative;
      overflow: hidden;
    }

    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(
        ellipse at 50% 40%,
        rgba(212, 136, 62, 0.1) 0%,
        transparent 60%
      );
      pointer-events: none;
    }

    .hero h1 {
      font-family: 'Cinzel Decorative', serif;
      font-size: clamp(2.5rem, 7vw, 5.5rem);
      letter-spacing: 0.1em;
      line-height: 1.15;
      color: var(--whimsigoth-ivory);
      text-shadow:
        0 0 20px var(--whimsigoth-glow-amber),
        0 0 50px var(--whimsigoth-glow-purple);
      position: relative;
      z-index: 1;
    }

    .hero .subtitle {
      font-family: 'Great Vibes', cursive;
      font-size: 2rem;
      color: var(--whimsigoth-gold-light);
      margin-top: 0.5rem;
      text-shadow: 0 0 12px var(--whimsigoth-glow-amber);
      position: relative;
      z-index: 1;
    }

    /* Celestial divider */
    .celestial-divider {
      width: 50%;
      margin: 2rem auto;
      border: none;
      border-top: 1px solid var(--whimsigoth-gold);
      position: relative;
    }

    .celestial-divider::before {
      content: '\263D'; /* crescent moon */
      position: absolute;
      top: -0.6em;
      left: 50%;
      transform: translateX(-50%);
      background: var(--whimsigoth-midnight);
      padding: 0 0.6em;
      color: var(--whimsigoth-gold);
      font-size: 1.1rem;
    }

    section {
      max-width: 900px;
      margin: 0 auto;
      padding: 4rem 2rem;
      text-align: center;
    }

    section h2 {
      margin-bottom: 1rem;
    }

    /* Whimsigothic card */
    .whimsigoth-card {
      background: linear-gradient(
        160deg,
        rgba(30, 14, 36, 0.7) 0%,
        rgba(13, 11, 16, 0.9) 100%
      );
      border: 1px solid var(--whimsigoth-gold);
      border-radius: 12px;
      padding: 2.5rem;
      margin: 2rem 0;
      position: relative;
      box-shadow:
        0 4px 20px rgba(0, 0, 0, 0.5),
        inset 0 0 30px rgba(212, 136, 62, 0.04);
    }

    .whimsigoth-card::before {
      content: '\2726'; /* four-pointed star */
      position: absolute;
      top: 12px;
      right: 16px;
      color: var(--whimsigoth-gold);
      font-size: 0.9rem;
      opacity: 0.5;
    }

    /* Vignette overlay */
    .vignette::after {
      content: '';
      position: fixed;
      inset: 0;
      background: radial-gradient(
        ellipse at center,
        transparent 40%,
        rgba(13, 11, 16, 0.4) 100%
      );
      pointer-events: none;
      z-index: 100;
    }
  </style>
</head>
<body class="vignette">
  <div class="hero">
    <h1>Title Here</h1>
    <div class="subtitle">A flowing subtitle in script</div>
    <hr class="celestial-divider">
  </div>
  <section>
    <h2>Section Heading</h2>
    <div class="whimsigoth-card">
      <p>Content within a dark, candlelit Whimsigothic panel. Stars shimmer faintly in the midnight background while warm amber light illuminates the ornate borders.</p>
    </div>
  </section>
</body>
</html>