website_designs

Recession Pop

Also known as: Electropop 08 Era: 2008 – 2013 Term origin: First used in a 2009 Irish Independent article; gained renewed attention on TikTok in 2024

Recession Pop is the visual and musical aesthetic that emerged during the Great Recession as cathartic escapism from economic hardship and anxiety. It is maximalist, futuristic, and often avant-garde – a hyper-produced, neon-saturated visual language built for the dancefloor. The design sensibility draws from electropop music culture, MySpace-era graphic design, and club-oriented spectacle, prioritizing high energy, visual excess, and relentless optimism. Everything is glossy, glittering, and deliberately over-the-top, offering a defiant “party through the crisis” attitude expressed through bold neon color, asymmetric geometry, digital lens flares, and metallic finishes.


Visual Characteristics


Color Palette

Primary Neon Colors

Color Suggested Hex Role
Magenta / Hot Pink #FF00FF, #FF0090 Primary accent, headline color, dominant neon
Electric Blue #00BFFF, #0080FF Primary accent, glow effects, backgrounds
Lime Green #39FF14, #00FF00 Primary accent, energetic highlights

Secondary Colors

Color Suggested Hex Role
Purple #9B30FF, #8A2BE2 Supporting accent, gradient endpoints
Neon Yellow #FFFF00, #E5FF00 Highlight bursts, star effects
Neon Orange #FF6B00, #FF4500 Tertiary accent, warm energy pops

Neutrals and Metallics

Color Suggested Hex Role
Black #000000, #0A0A0F Primary background, contrast base
Deep Night Blue #0B0B1A, #0D0D2B Alternative dark background
Silver #C0C0C0, #D4D4D4 Metallic accents, chrome elements
Chrome White #F0F0FF, #E8E8F0 Text on dark, metallic highlights

Suggested CSS Custom Properties

:root {
  /* Backgrounds */
  --recession-black: #0a0a0f;
  --recession-night: #0b0b1a;
  --recession-dark-purple: #120020;

  /* Primary neons */
  --recession-magenta: #ff00ff;
  --recession-hot-pink: #ff0090;
  --recession-blue: #00bfff;
  --recession-electric-blue: #0080ff;
  --recession-lime: #39ff14;

  /* Secondary neons */
  --recession-purple: #9b30ff;
  --recession-yellow: #ffff00;
  --recession-orange: #ff6b00;

  /* Metallics */
  --recession-silver: #c0c0c0;
  --recession-chrome: #e0e0e8;

  /* Text */
  --recession-text: #f0f0ff;
  --recession-text-dim: #8888aa;

  /* Functional mappings */
  --recession-bg-primary: var(--recession-black);
  --recession-bg-secondary: var(--recession-night);
  --recession-accent-primary: var(--recession-magenta);
  --recession-accent-secondary: var(--recession-blue);
  --recession-accent-tertiary: var(--recession-lime);
  --recession-border: var(--recession-magenta);
}

Color Usage Principles


Typography

Typeface Characteristics

Recession Pop typography is bold, geometric, futuristic, and maximalist. Text should feel like it belongs on a nightclub flyer, electropop album cover, or MySpace profile. Clean geometric sans-serifs dominate, but always at bold or ultra-bold weights for display impact.

Primary Typeface

Typeface Role Notes
ITC Avant Garde Gothic Primary / Display The canonical Recession Pop typeface; geometric, modern, clean lines, futuristic appeal
Font Style Usage
Montserrat Geometric sans-serif Headlines, display – closest free match to Avant Garde Gothic’s geometry
Raleway Elegant geometric sans Headlines, subheadings – thin-to-bold range with geometric precision
Orbitron Futuristic geometric Display accents, numbers – overtly sci-fi for club-poster moments
Exo 2 Geometric, slightly rounded Headlines and body – futuristic with good readability
Nunito Rounded humanist sans Body text – readable and modern
Poppins Geometric, clean Body and UI text – versatile with strong geometric character
Audiowide Futuristic display Accent text, labels – strong electro/tech vibe
Michroma Wide geometric display Feature headings – wide proportions with tech-forward feel

Typography CSS Example

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700;900&family=Orbitron:wght@500;700;900&family=Exo+2:wght@400;600;700&family=Poppins:wght@400;600&display=swap');

/* Hero / Display headings */
h1 {
  font-family: 'Montserrat', 'Exo 2', sans-serif;
  font-size: clamp(3rem, 7vw, 6rem);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--recession-text);
  text-shadow:
    0 0 10px var(--recession-magenta),
    0 0 20px var(--recession-magenta),
    0 0 40px rgba(255, 0, 255, 0.5),
    0 0 80px rgba(255, 0, 255, 0.25);
  line-height: 1.1;
}

/* Section headings */
h2 {
  font-family: 'Montserrat', 'Exo 2', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--recession-blue);
  text-shadow:
    0 0 7px var(--recession-blue),
    0 0 15px rgba(0, 191, 255, 0.4);
}

h3 {
  font-family: 'Montserrat', 'Exo 2', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--recession-lime);
  text-shadow:
    0 0 7px var(--recession-lime),
    0 0 15px rgba(57, 255, 20, 0.3);
}

/* Body text */
body {
  font-family: 'Poppins', 'Exo 2', sans-serif;
  font-weight: 400;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--recession-text);
  letter-spacing: 0.01em;
}

/* Accent text / futuristic labels */
.recession-label {
  font-family: 'Orbitron', 'Audiowide', sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--recession-silver);
}

Key Design Elements and Motifs

  1. Lens flares – bright white-to-colored light streaks radiating outward, layered over content to simulate stage/club lighting
  2. Glitter and sparkle overlays – fine particle effects scattered across surfaces, suggesting metallic confetti or sequined textures
  3. Neon glow effects – text and shapes that appear to emit colored light, with layered shadow halos
  4. Asymmetrical geometric shapes – triangles, parallelograms, and polygons placed off-grid for dynamic tension
  5. Diagonal lines and stripes – creating directional movement and energy across compositions
  6. Metallic / chrome surfaces – reflective silver and chrome elements conveying futuristic luxury
  7. Holographic / iridescent color shifts – rainbow-spectrum reflections on surfaces
  8. Star burst effects – multi-pointed star shapes at light source points
  9. Laser beam lines – thin, bright neon lines cutting across compositions at sharp angles
  10. Disco ball fragmentation – faceted, mirror-like surface patterns reflecting scattered light
  11. Digital bokeh – soft, out-of-focus neon circles in backgrounds creating atmospheric depth
  12. Gradient mesh backgrounds – smooth multi-color neon transitions behind content
  13. Shutter-shade stripe patterns – horizontal slat patterns referencing the era’s iconic eyewear
  14. Silhouette figures – dark human silhouettes against neon-lit backgrounds, captured mid-dance

Layout Principles

Structure

Section Organization


CSS / Design Techniques

Neon Glow Effects

/* Magenta neon text glow */
.recession-glow-magenta {
  color: var(--recession-magenta);
  text-shadow:
    0 0 7px var(--recession-magenta),
    0 0 10px var(--recession-magenta),
    0 0 21px var(--recession-magenta),
    0 0 42px rgba(255, 0, 255, 0.5),
    0 0 82px rgba(255, 0, 255, 0.2);
}

/* Electric blue neon glow */
.recession-glow-blue {
  color: var(--recession-blue);
  text-shadow:
    0 0 7px var(--recession-blue),
    0 0 10px var(--recession-blue),
    0 0 21px var(--recession-blue),
    0 0 42px rgba(0, 191, 255, 0.5);
}

/* Neon box glow */
.recession-box-glow {
  border: 2px solid var(--recession-magenta);
  box-shadow:
    0 0 5px var(--recession-magenta),
    0 0 15px rgba(255, 0, 255, 0.3),
    0 0 30px rgba(255, 0, 255, 0.15),
    inset 0 0 15px rgba(255, 0, 255, 0.05);
}

Multi-Color Neon Gradient Backgrounds

/* Signature magenta-to-blue neon gradient */
.recession-gradient-hero {
  background: linear-gradient(
    135deg,
    #120020 0%,
    #1a0033 20%,
    #0b0b1a 50%,
    #001a2e 80%,
    #0a0a0f 100%
  );
}

/* Neon accent gradient for panels */
.recession-neon-gradient {
  background: linear-gradient(135deg, #ff00ff, #00bfff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Full-spectrum neon gradient border */
.recession-rainbow-border {
  border: 2px solid transparent;
  background-image:
    linear-gradient(var(--recession-black), var(--recession-black)),
    linear-gradient(135deg, #ff00ff, #00bfff, #39ff14, #ffff00, #ff00ff);
  background-origin: border-box;
  background-clip: padding-box, border-box;
}

Lens Flare Effect

/* Central lens flare -- the signature Recession Pop light effect */
.recession-lens-flare {
  position: absolute;
  width: 300px;
  height: 300px;
  background: radial-gradient(
    circle,
    rgba(255, 255, 255, 0.8) 0%,
    rgba(255, 0, 255, 0.3) 15%,
    rgba(0, 191, 255, 0.15) 35%,
    transparent 60%
  );
  pointer-events: none;
  mix-blend-mode: screen;
}

/* Horizontal light streak */
.recession-light-streak {
  position: absolute;
  width: 100%;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.1) 20%,
    rgba(255, 255, 255, 0.6) 50%,
    rgba(255, 255, 255, 0.1) 80%,
    transparent 100%
  );
  pointer-events: none;
  mix-blend-mode: screen;
}

Glitter / Sparkle Overlay

/* Sparkle particle using pseudo-elements */
.recession-sparkle {
  position: relative;
}

.recession-sparkle::before,
.recession-sparkle::after {
  content: '';
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: white;
  box-shadow:
    20px -15px 0 0 rgba(255, 255, 255, 0.8),
    -30px 10px 0 -1px rgba(255, 0, 255, 0.6),
    50px 25px 0 0 rgba(0, 191, 255, 0.7),
    -15px -30px 0 -1px rgba(57, 255, 20, 0.5),
    40px -40px 0 0 rgba(255, 255, 255, 0.6),
    -50px -10px 0 -1px rgba(255, 0, 255, 0.5),
    70px 5px 0 0 rgba(255, 255, 255, 0.4),
    -20px 35px 0 -1px rgba(0, 191, 255, 0.6);
  pointer-events: none;
}

@keyframes sparkle-twinkle {
  0%, 100% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.3); }
}

.recession-sparkle::before {
  animation: sparkle-twinkle 2s ease-in-out infinite;
}

.recession-sparkle::after {
  animation: sparkle-twinkle 2s ease-in-out infinite 1s;
}

Metallic / Chrome Surface

/* Chrome-silver metallic text effect */
.recession-chrome-text {
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #d4d4d4 25%,
    #888888 50%,
    #d4d4d4 75%,
    #ffffff 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
}

/* Metallic card surface */
.recession-metallic-card {
  background: linear-gradient(
    135deg,
    rgba(192, 192, 192, 0.08) 0%,
    rgba(255, 255, 255, 0.04) 50%,
    rgba(192, 192, 192, 0.08) 100%
  );
  border: 1px solid rgba(192, 192, 192, 0.2);
  border-radius: 4px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

Diagonal Stripe / Shutter Effect

/* Shutter-shade horizontal stripes (referencing iconic eyewear) */
.recession-shutter-overlay {
  background: repeating-linear-gradient(
    0deg,
    transparent 0px,
    transparent 4px,
    rgba(0, 0, 0, 0.3) 4px,
    rgba(0, 0, 0, 0.3) 6px
  );
  pointer-events: none;
}

/* Diagonal energy stripes */
.recession-diagonal-stripes {
  background: repeating-linear-gradient(
    -45deg,
    transparent 0px,
    transparent 10px,
    rgba(255, 0, 255, 0.06) 10px,
    rgba(255, 0, 255, 0.06) 20px
  );
}

Spotlight / Stage Lighting Effect

/* Overhead spotlight on featured content */
.recession-spotlight {
  position: relative;
}

.recession-spotlight::before {
  content: '';
  position: absolute;
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
  width: 200%;
  height: 300px;
  background: radial-gradient(
    ellipse at 50% 0%,
    rgba(255, 0, 255, 0.15) 0%,
    rgba(0, 191, 255, 0.08) 30%,
    transparent 60%
  );
  pointer-events: none;
}

Dark Glass Panel

/* Dark frosted glass panel for content areas */
.recession-panel {
  background: rgba(10, 10, 15, 0.75);
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  border: 1px solid rgba(255, 0, 255, 0.2);
  border-radius: 8px;
  padding: 2.5rem;
  position: relative;
  overflow: hidden;
  box-shadow:
    0 0 15px rgba(255, 0, 255, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

/* Top accent glow line on panel */
.recession-panel::before {
  content: '';
  position: absolute;
  top: 0;
  left: 10%;
  right: 10%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--recession-magenta),
    var(--recession-blue),
    transparent
  );
}

Neon Divider

/* Glowing neon line divider */
.recession-divider {
  height: 0;
  border: none;
  border-top: 2px solid var(--recession-magenta);
  margin: 3rem auto;
  width: 60%;
  filter: drop-shadow(0 0 6px rgba(255, 0, 255, 0.6));
}

/* Gradient neon divider */
.recession-divider-gradient {
  height: 2px;
  border: none;
  margin: 3rem auto;
  width: 70%;
  background: linear-gradient(
    90deg,
    transparent,
    var(--recession-magenta) 20%,
    var(--recession-blue) 50%,
    var(--recession-lime) 80%,
    transparent
  );
  filter: drop-shadow(0 0 4px rgba(255, 0, 255, 0.4));
}

Neon Button

/* Glowing neon button */
.recession-button {
  display: inline-block;
  padding: 0.8rem 2.5rem;
  border: 2px solid var(--recession-magenta);
  border-radius: 2px;
  background: transparent;
  color: var(--recession-text);
  font-family: 'Montserrat', sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
  box-shadow:
    0 0 5px rgba(255, 0, 255, 0.3),
    inset 0 0 5px rgba(255, 0, 255, 0.1);
  transition: all 0.3s ease;
}

.recession-button:hover {
  background: var(--recession-magenta);
  color: #000;
  box-shadow:
    0 0 10px var(--recession-magenta),
    0 0 30px rgba(255, 0, 255, 0.4),
    0 0 60px rgba(255, 0, 255, 0.2);
  text-shadow: none;
}

Dark Background Base

/* Dark base with subtle neon ambient glow */
body {
  background: var(--recession-black);
  color: var(--recession-text);
  font-family: 'Poppins', 'Exo 2', sans-serif;
  min-height: 100vh;
  overflow-x: hidden;
}

/* Ambient neon glow pools on background */
.recession-ambient-bg {
  background-color: var(--recession-black);
  background-image:
    radial-gradient(ellipse at 20% 20%, rgba(255, 0, 255, 0.06) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 60%, rgba(0, 191, 255, 0.05) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 90%, rgba(57, 255, 20, 0.03) 0%, transparent 40%);
}

Animation and Motion

/* Pulsing neon glow */
@keyframes recession-pulse {
  0%, 100% {
    box-shadow:
      0 0 5px var(--recession-magenta),
      0 0 15px rgba(255, 0, 255, 0.3);
  }
  50% {
    box-shadow:
      0 0 10px var(--recession-magenta),
      0 0 30px rgba(255, 0, 255, 0.5),
      0 0 60px rgba(255, 0, 255, 0.2);
  }
}

.recession-pulse {
  animation: recession-pulse 2.5s ease-in-out infinite;
}

/* Color cycling accent */
@keyframes recession-color-cycle {
  0% { color: var(--recession-magenta); text-shadow: 0 0 10px var(--recession-magenta); }
  33% { color: var(--recession-blue); text-shadow: 0 0 10px var(--recession-blue); }
  66% { color: var(--recession-lime); text-shadow: 0 0 10px var(--recession-lime); }
  100% { color: var(--recession-magenta); text-shadow: 0 0 10px var(--recession-magenta); }
}

.recession-color-cycle {
  animation: recession-color-cycle 6s ease-in-out infinite;
}

/* Diagonal light sweep across an element */
@keyframes recession-light-sweep {
  0% { left: -30%; }
  100% { left: 130%; }
}

.recession-sweep::after {
  content: '';
  position: absolute;
  top: 0;
  left: -30%;
  width: 20%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.1),
    transparent
  );
  transform: skewX(-15deg);
  animation: recession-light-sweep 4s ease-in-out infinite;
  pointer-events: none;
}

Materials and Textures (Visual Metaphors for Web)

Physical Material Web Equivalent
Glitter / sequins Fine sparkle particles via box-shadow point lights or pseudo-element star shapes, animated twinkle
Chrome / silver metal Tight vertical linear gradient from white through gray to dark-gray, simulating metallic reflection
Holographic foil Multi-color gradient with hue-rotate animation or rainbow gradient at low opacity
Disco ball mirrors Faceted grid of small squares with varying brightness, reflective highlight spots
Blacklight-lit surface Dark purple-black background with neon elements at high saturation, mix-blend-mode: screen
Laser beams Thin neon-colored lines (1–2px) at sharp diagonal angles with matching box-shadow glow
Strobe light Rapid opacity keyframes (0.1s interval) on white overlay for brief flash effect
Shutter shades repeating-linear-gradient horizontal stripes at 4–6px intervals over images
LED light strip Thin border with neon box-shadow glow, optionally animated color cycling
Stage fog / haze Large blurred radial gradients at very low opacity layered behind content
Metallic lycra / spandex Glossy gradient surfaces with bright specular highlight streaks
Neon signage Text with layered text-shadow in matching hue at increasing blur radii

Cultural References and Exemplars

The visual identity draws from:


Aesthetic Relationship to Recession Pop
Avantropop Graphic design sub-style of Recession Pop; shares geometric neon sensibility but focused on broadcast/motion graphics
McBling Predecessor era (mid-2000s); shares maximalism and party energy but with more bling/hip-hop and less electro-futurism
Indie Sleaze Contemporary; the lo-fi, grungy counterpart to Recession Pop’s glossy maximalism – same party energy, opposite production values
Scene Overlapping subculture; shares neon colors, asymmetric hair, MySpace culture, and electro influence
Bloghouse Musical predecessor and influence; electro-house club culture that fed into Recession Pop’s sonic and visual identity
Frutiger Aero Contemporary mainstream design; optimistic and glossy like Recession Pop but nature-focused and corporate vs. nightclub and rebellious
Dark Aero Shares the glossy-on-dark formula and neon accents; the tech/UI cousin of Recession Pop’s club aesthetic
Hyperpop Spiritual successor; takes Recession Pop’s hyper-produced maximalism even further into digital excess
Party Rock Subset/sibling; specifically the LMFAO-adjacent party-bro neon aesthetic
Superflat Pop Shares bold neon color and graphic flatness
Electroclash Earlier influence; 2001–2004 electro-punk aesthetic that laid groundwork for Recession Pop’s neon-and-black palette
Flat Design Direct successor; the minimalist correction that replaced Recession Pop’s maximalism starting ~2013

Quick-Start: Minimal Recession Pop Page Template

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Recession Pop Page</title>
  <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700;900&family=Orbitron:wght@500;700&family=Poppins:wght@400;600&display=swap" rel="stylesheet">
  <style>
    :root {
      --recession-black: #0a0a0f;
      --recession-night: #0b0b1a;
      --recession-magenta: #ff00ff;
      --recession-hot-pink: #ff0090;
      --recession-blue: #00bfff;
      --recession-lime: #39ff14;
      --recession-purple: #9b30ff;
      --recession-silver: #c0c0c0;
      --recession-text: #f0f0ff;
      --recession-text-dim: #8888aa;
    }

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

    body {
      background: var(--recession-black);
      background-image:
        radial-gradient(ellipse at 20% 20%, rgba(255, 0, 255, 0.06) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 60%, rgba(0, 191, 255, 0.05) 0%, transparent 50%),
        radial-gradient(ellipse at 50% 90%, rgba(57, 255, 20, 0.03) 0%, transparent 40%);
      color: var(--recession-text);
      font-family: 'Poppins', sans-serif;
      font-weight: 400;
      line-height: 1.7;
      min-height: 100vh;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }

    h1, h2, h3 {
      font-family: 'Montserrat', sans-serif;
      text-transform: uppercase;
      letter-spacing: 0.06em;
    }

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

    /* Lens flare behind hero */
    .hero::before {
      content: '';
      position: absolute;
      top: 10%;
      left: 50%;
      transform: translateX(-50%);
      width: 400px;
      height: 400px;
      background: radial-gradient(
        circle,
        rgba(255, 255, 255, 0.15) 0%,
        rgba(255, 0, 255, 0.08) 25%,
        rgba(0, 191, 255, 0.04) 50%,
        transparent 70%
      );
      pointer-events: none;
    }

    .hero h1 {
      font-size: clamp(3rem, 7vw, 6rem);
      font-weight: 900;
      color: var(--recession-text);
      text-shadow:
        0 0 10px var(--recession-magenta),
        0 0 20px var(--recession-magenta),
        0 0 40px rgba(255, 0, 255, 0.5),
        0 0 80px rgba(255, 0, 255, 0.2);
      position: relative;
      z-index: 1;
    }

    .hero p {
      margin-top: 1.5rem;
      font-size: 1.15rem;
      color: var(--recession-text-dim);
      position: relative;
      z-index: 1;
    }

    /* Neon gradient divider */
    .neon-divider {
      width: 60%;
      margin: 2rem auto;
      border: none;
      height: 2px;
      background: linear-gradient(
        90deg,
        transparent,
        var(--recession-magenta) 20%,
        var(--recession-blue) 50%,
        var(--recession-lime) 80%,
        transparent
      );
      filter: drop-shadow(0 0 4px rgba(255, 0, 255, 0.4));
      position: relative;
      z-index: 1;
    }

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

    /* Dark glass card with neon border */
    .glass-card {
      background: rgba(10, 10, 15, 0.75);
      backdrop-filter: blur(16px) saturate(1.2);
      -webkit-backdrop-filter: blur(16px) saturate(1.2);
      border: 1px solid rgba(255, 0, 255, 0.2);
      border-radius: 8px;
      padding: 2.5rem;
      position: relative;
      overflow: hidden;
      box-shadow:
        0 0 15px rgba(255, 0, 255, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    }

    .glass-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 10%;
      right: 10%;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--recession-magenta), var(--recession-blue), transparent);
    }

    .glass-card h2 {
      color: var(--recession-blue);
      text-shadow: 0 0 7px var(--recession-blue), 0 0 15px rgba(0, 191, 255, 0.3);
    }

    .glass-card p {
      margin-top: 1rem;
      color: var(--recession-text-dim);
    }

    /* Neon button */
    .neon-btn {
      display: inline-block;
      padding: 0.8rem 2.5rem;
      margin-top: 1.5rem;
      border: 2px solid var(--recession-magenta);
      border-radius: 2px;
      background: transparent;
      color: var(--recession-text);
      font-family: 'Montserrat', sans-serif;
      font-size: 0.9rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      text-decoration: none;
      cursor: pointer;
      box-shadow:
        0 0 5px rgba(255, 0, 255, 0.3),
        inset 0 0 5px rgba(255, 0, 255, 0.1);
      transition: all 0.3s ease;
    }

    .neon-btn:hover {
      background: var(--recession-magenta);
      color: #000;
      box-shadow:
        0 0 10px var(--recession-magenta),
        0 0 30px rgba(255, 0, 255, 0.4),
        0 0 60px rgba(255, 0, 255, 0.2);
    }

    /* Ambient bokeh lights */
    .bokeh {
      position: fixed;
      border-radius: 50%;
      filter: blur(80px);
      opacity: 0.08;
      pointer-events: none;
      z-index: 0;
    }

    .bokeh--1 {
      width: 400px; height: 400px;
      background: var(--recession-magenta);
      top: -10%; right: -5%;
    }

    .bokeh--2 {
      width: 300px; height: 300px;
      background: var(--recession-blue);
      bottom: 10%; left: -8%;
    }

    .bokeh--3 {
      width: 250px; height: 250px;
      background: var(--recession-lime);
      top: 50%; right: 10%;
    }
  </style>
</head>
<body>
  <!-- Ambient neon bokeh -->
  <div class="bokeh bokeh--1"></div>
  <div class="bokeh bokeh--2"></div>
  <div class="bokeh bokeh--3"></div>

  <div class="hero">
    <h1>Title Here</h1>
    <hr class="neon-divider">
    <p>Neon-lit, hyper-produced, and unapologetically maximalist</p>
  </div>

  <section>
    <div class="glass-card">
      <h2>Section Heading</h2>
      <p>Content displayed on a dark frosted glass panel with neon glow borders and ambient bokeh, capturing the escapist nightclub energy of the Recession Pop aesthetic.</p>
      <a href="#" class="neon-btn">Explore More</a>
    </div>
  </section>
</body>
</html>