website_designs

Graffiti Pop Design Reference

Graffiti Pop (c. 1970s–present) is a street-art-rooted aesthetic that fuses the raw, rebellious energy of graffiti and hip-hop culture with bold, accessible pop sensibilities. It takes the visual language of urban walls – spray paint, tags, bubble letters, drip effects, and stencils – and repackages it into high-contrast, vibrant compositions suitable for galleries, brands, and screens. The style channels the downtown metropolitan energy of 1970s–80s New York, merging punk collage rawness with technical graffiti skill. Think MTV bumpers, Fresh Prince opening credits, and Supreme lookbooks: aggressive neon color on concrete gray, cartoonish characters in baggy clothes and big trainers, and typography that looks sprayed onto brick walls. The result is maximalist, kinetic, unapologetically loud, and dripping with street credibility.


Visual Characteristics

Core Motifs and Patterns

Design Principles


Color Palette

Primary Scheme

Role Colors
Background / Canvas Concrete gray, dark asphalt, brick red-brown, near-black
Primary neon accents Hot pink, neon green, electric blue, vivid purple
High-energy primaries Fire engine red, pure white, safety yellow
Urban midtones Rusted orange, faded teal, dusty khaki
Outline / Structure Pure black, dark charcoal

Detailed Palette

Color Hex Usage
Asphalt Black #111111 Deep backgrounds, text outlines, shadows
Concrete Gray #5A5A5A Primary surface color, wall texture base
Warm Concrete #7A7168 Weathered wall tones, secondary surfaces
Brick Red #8B4513 Background texture accent, urban warmth
Brick Mortar #A09080 Mortar lines in brick patterns, subtle detail
Hot Pink #FF1493 Primary neon accent, high-impact highlights
Neon Green #39FF14 Secondary neon accent, glow effects
Electric Blue #0080FF Tertiary accent, cool-tone highlights
Vivid Purple #9B30FF Accent for variety, bubble letter fills
Safety Yellow #FFD700 Warning accents, tag highlights, star bursts
Fire Red #FF2400 Aggressive accent, exclamation marks, arrows
Pure White #FFFFFF Highlights, bubble letter shine spots, outlines
Spray Can Silver #C0C0C0 Metallic accents, chrome letter effects
Rust Orange #CC5500 Warm accent, aged spray paint, urban decay
Faded Teal #3D8B8B Cool midtone, vintage spray paint feel
Dusty Khaki #BDB76B Muted accent, worn surface highlights
Subway Cream #F5F0E0 Light surface alternative, poster backgrounds

Suggested CSS Custom Properties

:root {
  /* Background tones */
  --gpop-black: #111111;
  --gpop-concrete: #5a5a5a;
  --gpop-concrete-warm: #7a7168;
  --gpop-brick: #8b4513;
  --gpop-mortar: #a09080;

  /* Neon accents */
  --gpop-pink: #ff1493;
  --gpop-neon-green: #39ff14;
  --gpop-blue: #0080ff;
  --gpop-purple: #9b30ff;
  --gpop-yellow: #ffd700;
  --gpop-red: #ff2400;

  /* Neutral utility */
  --gpop-white: #ffffff;
  --gpop-silver: #c0c0c0;
  --gpop-cream: #f5f0e0;

  /* Warm accents */
  --gpop-rust: #cc5500;
  --gpop-teal: #3d8b8b;
  --gpop-khaki: #bdb76b;

  /* Functional mappings */
  --gpop-bg-primary: var(--gpop-black);
  --gpop-bg-surface: var(--gpop-concrete);
  --gpop-bg-wall: var(--gpop-concrete-warm);
  --gpop-text-primary: var(--gpop-white);
  --gpop-text-secondary: var(--gpop-cream);
  --gpop-text-muted: var(--gpop-silver);
  --gpop-accent-1: var(--gpop-pink);
  --gpop-accent-2: var(--gpop-neon-green);
  --gpop-accent-3: var(--gpop-blue);
  --gpop-accent-4: var(--gpop-purple);
  --gpop-border: var(--gpop-black);
  --gpop-glow: rgba(255, 20, 147, 0.4);
}

Palette Approaches


Typography

Typeface Characteristics

Graffiti Pop typography is loud, dimensional, and hand-made:

Named Typefaces from the Era

These are typefaces historically associated with Graffiti Pop (commercial/specialty fonts):

Font Style Usage
Bungee Bold block display Headlines, hero text, section titles
Bungee Shade Layered dimensional display Oversized display type, posters
Bungee Inline Inline-stroked display Alternate headlines, decorative emphasis
Permanent Marker Bold hand-written marker Subheadings, callouts, tag-style text
Rock Salt Rough handwritten Accent text, annotations, informal labels
Bangers Comic/pop bold Action text, exclamations, button labels
Bowlby One SC Rounded bold display Bubble-letter approximation, titles
Russo One Geometric bold sans Clean urban display, modern graffiti headers
Lilita One Heavy rounded display Friendly bold headlines, cartoonish headers
Luckiest Guy Cartoon block letters Fun display, comic-influenced headings
Press Start 2P Pixel/retro display Retro gaming accent (for 80s crossover)
Share Tech Mono Technical monospace Small labels, metadata, technical details

Typography CSS Example

/* Import graffiti-pop-appropriate Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Bungee&family=Bungee+Shade&family=Permanent+Marker&family=Bangers&family=Rock+Salt&family=Bowlby+One+SC&family=Russo+One&family=Lilita+One&family=Share+Tech+Mono&display=swap');

/* Hero / Display text -- dimensional block letters */
h1 {
  font-family: 'Bungee Shade', 'Bungee', Impact, sans-serif;
  font-size: clamp(3rem, 8vw, 7rem);
  letter-spacing: 0.04em;
  line-height: 1.0;
  color: var(--gpop-white);
  text-shadow:
    3px 3px 0 var(--gpop-pink),
    6px 6px 0 rgba(0, 0, 0, 0.5);
  -webkit-text-stroke: 2px var(--gpop-black);
}

/* Section headings -- bold marker style */
h2 {
  font-family: 'Bangers', 'Permanent Marker', cursive;
  font-size: clamp(2rem, 5vw, 3.5rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gpop-neon-green);
  text-shadow:
    2px 2px 0 var(--gpop-black),
    -1px -1px 0 var(--gpop-black),
    1px -1px 0 var(--gpop-black),
    -1px 1px 0 var(--gpop-black);
}

/* Sub-headings -- hand-tag style */
h3 {
  font-family: 'Permanent Marker', cursive;
  font-size: 1.6rem;
  color: var(--gpop-yellow);
  text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.6);
  transform: rotate(-1deg);
}

/* Body text -- readable but with character */
body {
  font-family: 'Russo One', 'Segoe UI', Tahoma, sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--gpop-text-secondary);
}

/* Tag / annotation text */
.gpop-tag {
  font-family: 'Rock Salt', cursive;
  font-size: 0.85rem;
  color: var(--gpop-pink);
  transform: rotate(-3deg);
  display: inline-block;
}

/* Metadata, labels */
.gpop-label {
  font-family: 'Share Tech Mono', monospace;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--gpop-silver);
}

/* Oversized impact stat */
.gpop-stat {
  font-family: 'Bungee', Impact, sans-serif;
  font-size: clamp(4rem, 10vw, 10rem);
  color: var(--gpop-yellow);
  -webkit-text-stroke: 3px var(--gpop-black);
  text-shadow: 5px 5px 0 rgba(0, 0, 0, 0.5);
}

Layout Principles

Grid and Structure

Section Organization


CSS/Design Techniques

Brick Wall Background Texture

/* Brick wall pattern using CSS gradients */
.gpop-brick-wall {
  background-color: #5a5a5a;
  background-image:
    /* Horizontal mortar lines */
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 48px,
      #a09080 48px,
      #a09080 52px
    ),
    /* Vertical mortar lines (offset every other row) */
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 98px,
      #a09080 98px,
      #a09080 102px
    );
  background-size: 200px 100px;
  position: relative;
}

/* Subtle grime overlay */
.gpop-brick-wall::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 15% 25%, rgba(0, 0, 0, 0.15) 0%, transparent 40%),
    radial-gradient(circle at 85% 60%, rgba(0, 0, 0, 0.1) 0%, transparent 35%),
    radial-gradient(circle at 50% 90%, rgba(0, 0, 0, 0.12) 0%, transparent 45%);
  pointer-events: none;
}

Spray Paint Text Effect

/* Spray-painted text with overspray glow */
.gpop-spray-text {
  font-family: 'Bangers', cursive;
  font-size: clamp(3rem, 7vw, 6rem);
  text-transform: uppercase;
  color: var(--gpop-pink);
  text-shadow:
    /* Core glow (overspray) */
    0 0 10px rgba(255, 20, 147, 0.6),
    0 0 30px rgba(255, 20, 147, 0.3),
    0 0 60px rgba(255, 20, 147, 0.15),
    /* Hard shadow for dimension */
    3px 3px 0 var(--gpop-black);
  position: relative;
}

/* Drip effect under text using pseudo-element */
.gpop-spray-text::after {
  content: '';
  position: absolute;
  bottom: -20px;
  left: 15%;
  width: 4px;
  height: 25px;
  background: linear-gradient(to bottom, var(--gpop-pink), transparent);
  border-radius: 0 0 2px 2px;
  box-shadow:
    40px 5px 0 0 var(--gpop-pink),
    120px -3px 0 0 var(--gpop-pink),
    200px 8px 0 0 var(--gpop-pink);
}

Bubble Letter Effect

/* Bubble letter style heading */
.gpop-bubble {
  font-family: 'Lilita One', 'Bowlby One SC', sans-serif;
  font-size: clamp(3rem, 8vw, 7rem);
  color: var(--gpop-blue);
  -webkit-text-stroke: 3px var(--gpop-black);
  text-shadow:
    /* Inner highlight (top-left shine) */
    -2px -2px 0 rgba(255, 255, 255, 0.3),
    /* Outer black outline reinforcement */
    4px 4px 0 var(--gpop-black),
    5px 5px 0 var(--gpop-black),
    /* Drop shadow for depth */
    7px 7px 0 rgba(0, 0, 0, 0.4);
  letter-spacing: 0.03em;
  paint-order: stroke fill;
}

/* Multicolor bubble letters using gradient */
.gpop-bubble-gradient {
  font-family: 'Lilita One', sans-serif;
  font-size: clamp(3rem, 8vw, 7rem);
  background: linear-gradient(135deg, var(--gpop-pink), var(--gpop-purple), var(--gpop-blue));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 2px var(--gpop-black);
  filter: drop-shadow(4px 4px 0 rgba(0, 0, 0, 0.5));
}

Paint Drip Effect

/* Paint drip decoration element */
.gpop-drips {
  position: relative;
}

.gpop-drips::after {
  content: '';
  position: absolute;
  bottom: -30px;
  left: 0;
  right: 0;
  height: 30px;
  background:
    /* Individual drips at various positions */
    linear-gradient(to bottom, var(--gpop-pink) 0%, transparent 100%) 10% 0 / 3px 28px no-repeat,
    linear-gradient(to bottom, var(--gpop-pink) 0%, transparent 100%) 25% 0 / 4px 20px no-repeat,
    linear-gradient(to bottom, var(--gpop-pink) 0%, transparent 100%) 40% 0 / 3px 30px no-repeat,
    linear-gradient(to bottom, var(--gpop-pink) 0%, transparent 100%) 55% 0 / 5px 15px no-repeat,
    linear-gradient(to bottom, var(--gpop-pink) 0%, transparent 100%) 70% 0 / 3px 25px no-repeat,
    linear-gradient(to bottom, var(--gpop-pink) 0%, transparent 100%) 85% 0 / 4px 22px no-repeat;
  pointer-events: none;
}

Spray Splatter Divider

/* Spray-paint splatter section divider */
.gpop-splatter-divider {
  border: none;
  height: 20px;
  position: relative;
  margin: 3rem 0;
  overflow: visible;
}

.gpop-splatter-divider::before {
  content: '';
  position: absolute;
  top: 0;
  left: 5%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--gpop-pink);
  box-shadow:
    30px -3px 0 3px var(--gpop-neon-green),
    70px 5px 0 1px var(--gpop-blue),
    110px -2px 0 4px var(--gpop-yellow),
    160px 3px 0 2px var(--gpop-purple),
    200px -4px 0 1px var(--gpop-pink),
    250px 2px 0 3px var(--gpop-red),
    310px -1px 0 2px var(--gpop-neon-green),
    360px 4px 0 1px var(--gpop-blue),
    420px -3px 0 4px var(--gpop-yellow),
    480px 1px 0 2px var(--gpop-purple);
}

/* Spray line streak */
.gpop-splatter-divider::after {
  content: '';
  position: absolute;
  top: 8px;
  left: 10%;
  right: 10%;
  height: 3px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--gpop-pink) 5%,
    var(--gpop-pink) 15%,
    transparent 20%,
    transparent 30%,
    var(--gpop-neon-green) 35%,
    var(--gpop-neon-green) 50%,
    transparent 55%,
    transparent 65%,
    var(--gpop-blue) 70%,
    var(--gpop-blue) 80%,
    transparent 85%,
    transparent 90%,
    var(--gpop-yellow) 95%,
    transparent 100%
  );
  opacity: 0.7;
}

Wheat-Pasted Poster Card

/* Card that looks pasted onto a wall */
.gpop-poster-card {
  background: var(--gpop-cream);
  color: var(--gpop-black);
  padding: 2rem;
  position: relative;
  transform: rotate(-1.5deg);
  box-shadow:
    2px 2px 8px rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

/* Torn/peeling corner effect */
.gpop-poster-card::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  background: linear-gradient(
    225deg,
    var(--gpop-concrete) 50%,
    rgba(245, 240, 224, 0.8) 50%
  );
  box-shadow: -2px 2px 3px rgba(0, 0, 0, 0.15);
}

/* Aged/yellowed paper overlay */
.gpop-poster-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 80%, rgba(139, 69, 19, 0.06) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(139, 69, 19, 0.04) 0%, transparent 40%);
  pointer-events: none;
}

Sticker / Slap-Tag Element

/* Sticker-style element */
.gpop-sticker {
  display: inline-block;
  padding: 0.5rem 1.2rem;
  font-family: 'Bangers', cursive;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gpop-black);
  background: var(--gpop-yellow);
  border: 2px solid var(--gpop-black);
  border-radius: 2px;
  transform: rotate(2deg);
  box-shadow:
    2px 2px 0 var(--gpop-black),
    3px 3px 6px rgba(0, 0, 0, 0.3);
  position: relative;
}

/* Peeling edge */
.gpop-sticker::after {
  content: '';
  position: absolute;
  bottom: -3px;
  right: -3px;
  width: 15px;
  height: 15px;
  background: linear-gradient(
    315deg,
    var(--gpop-concrete) 50%,
    var(--gpop-yellow) 50%
  );
  border-bottom-right-radius: 2px;
}

Graffiti Pop Button

.gpop-button {
  display: inline-block;
  padding: 0.8rem 2.5rem;
  font-family: 'Bangers', cursive;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gpop-black);
  background: var(--gpop-neon-green);
  border: 3px solid var(--gpop-black);
  cursor: pointer;
  position: relative;
  transform: rotate(-1deg);
  box-shadow: 4px 4px 0 var(--gpop-black);
  transition: all 0.1s ease;
  text-shadow: none;
}

.gpop-button:hover {
  background: var(--gpop-pink);
  color: var(--gpop-white);
  transform: rotate(0deg) translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--gpop-black);
}

.gpop-button:active {
  transform: rotate(0deg) translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--gpop-black);
}

/* Alt color variant */
.gpop-button--alt {
  background: var(--gpop-purple);
  color: var(--gpop-white);
}

.gpop-button--alt:hover {
  background: var(--gpop-yellow);
  color: var(--gpop-black);
}

Neon Glow Accent Line

/* Neon glow line for emphasis */
.gpop-neon-line {
  height: 4px;
  background: var(--gpop-pink);
  border: none;
  box-shadow:
    0 0 5px var(--gpop-pink),
    0 0 15px rgba(255, 20, 147, 0.5),
    0 0 30px rgba(255, 20, 147, 0.2);
  margin: 2rem 0;
}

/* Animated neon flicker */
@keyframes gpop-flicker {
  0%, 100% { opacity: 1; }
  4% { opacity: 0.9; }
  6% { opacity: 1; }
  42% { opacity: 1; }
  44% { opacity: 0.85; }
  46% { opacity: 1; }
  80% { opacity: 1; }
  82% { opacity: 0.9; }
  83% { opacity: 1; }
}

.gpop-neon-flicker {
  animation: gpop-flicker 3s ease-in-out infinite;
}

Tag Scrawl Animation

/* Animated spray-paint "writing" effect using stroke-dasharray */
@keyframes gpop-spray-write {
  from {
    stroke-dashoffset: 1000;
    opacity: 0.3;
  }
  to {
    stroke-dashoffset: 0;
    opacity: 1;
  }
}

.gpop-tag-animated svg path {
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: gpop-spray-write 2s ease-out forwards;
}

/* Overspray dots appearing */
@keyframes gpop-spatter {
  0% { transform: scale(0); opacity: 0; }
  60% { transform: scale(1.3); opacity: 0.8; }
  100% { transform: scale(1); opacity: 0.5; }
}

.gpop-spatter-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gpop-pink);
  animation: gpop-spatter 0.4s ease-out forwards;
}

Materials and Textures (Visual Metaphors for Web)

Physical Graffiti Pop materials and their web equivalents:

Physical Material Web Equivalent
Brick wall CSS repeating-linear-gradient grid pattern in warm gray/brown with mortar lines
Concrete surface Neutral gray background with subtle radial-gradient blotches and SVG noise overlay
Spray paint on wall Saturated text with text-shadow glow and filter: blur() overspray halo
Paint drips linear-gradient strips from accent color to transparent, positioned below elements
Wheat-pasted poster Light cream cards with transform: rotate(), torn corner pseudo-elements, and aged overlay
Sticker / slap-tag Bright-background inline-block with thick black border, slight rotation, and peeling corner effect
Chain-link fence SVG or CSS diamond grid overlay pattern at low opacity
Xerox/photocopy filter: contrast(1.8) grayscale(1) on images with halftone dot overlay
Chrome/metallic paint linear-gradient with multiple silver/white stops creating reflection bands
Marker on paper Rock Salt or Permanent Marker font with slight text-shadow bleed

Cultural References and Influences

The following define the Graffiti Pop visual language and serve as design references:


Aesthetic Relationship to Graffiti Pop
Hip-Hop / B-Boy Parent culture; Graffiti Pop is the visual arm of hip-hop alongside breakdancing, DJing, and MCing
Gangsta Rap Shares street-culture roots; darker, more aggressive variant with focus on West Coast/South imagery
Skater / Skate Punk Parallel subculture; shares DIY graphics, bold type, irreverent attitude; overlaps heavily in brand aesthetics
Punk / DIY Punk Foundational influence; collage, xerox, anti-establishment energy; Graffiti Pop is punk’s visual cousin on the street
Grunge Shares raw, anti-polish attitude; Grunge is more muted and introspective, Graffiti Pop is bright and extroverted
UrBling Hip-hop’s luxury evolution; where Graffiti Pop is street-level, UrBling adds gold, diamonds, and aspirational wealth
Vectordelia Digital evolution; takes the flowing lines and bright colors into clean vector illustration
Memphis Design Shared maximalism and bold color; Memphis brings geometric patterns and pastel variants to similar energy
Rave Parallel 90s subculture; shares neon palette and kinetic energy; Rave is more electronic/psychedelic
Alternative Broad overlap in 90s counterculture; Alternative tends toward introspection where Graffiti Pop is extroverted
Shibuya Punk Japanese interpretation of street culture; blends Graffiti Pop with Harajuku fashion and anime influence

Quick-Start: Minimal Graffiti 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>Graffiti Pop Page</title>
  <link href="https://fonts.googleapis.com/css2?family=Bungee+Shade&family=Bungee&family=Bangers&family=Permanent+Marker&family=Rock+Salt&family=Russo+One&family=Lilita+One&family=Share+Tech+Mono&display=swap" rel="stylesheet">
  <style>
    :root {
      --gpop-black: #111111;
      --gpop-concrete: #5a5a5a;
      --gpop-concrete-warm: #7a7168;
      --gpop-brick: #8b4513;
      --gpop-mortar: #a09080;
      --gpop-pink: #ff1493;
      --gpop-neon-green: #39ff14;
      --gpop-blue: #0080ff;
      --gpop-purple: #9b30ff;
      --gpop-yellow: #ffd700;
      --gpop-red: #ff2400;
      --gpop-white: #ffffff;
      --gpop-silver: #c0c0c0;
      --gpop-cream: #f5f0e0;
    }

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

    body {
      background: var(--gpop-black);
      color: var(--gpop-cream);
      font-family: 'Russo One', Tahoma, sans-serif;
      font-weight: 400;
      line-height: 1.6;
      position: relative;
      overflow-x: hidden;
    }

    /* Brick wall texture on body */
    body::before {
      content: '';
      position: fixed;
      inset: 0;
      background-image:
        repeating-linear-gradient(
          0deg,
          transparent, transparent 48px,
          rgba(160, 144, 128, 0.08) 48px,
          rgba(160, 144, 128, 0.08) 52px
        ),
        repeating-linear-gradient(
          90deg,
          transparent, transparent 98px,
          rgba(160, 144, 128, 0.05) 98px,
          rgba(160, 144, 128, 0.05) 102px
        );
      pointer-events: none;
      z-index: 0;
    }

    .hero {
      text-align: center;
      padding: 8rem 2rem 6rem;
      position: relative;
      z-index: 1;
      background:
        radial-gradient(circle at 20% 50%, rgba(255, 20, 147, 0.08) 0%, transparent 40%),
        radial-gradient(circle at 80% 50%, rgba(57, 255, 20, 0.06) 0%, transparent 40%);
    }

    .hero h1 {
      font-family: 'Bungee Shade', Impact, sans-serif;
      font-size: clamp(3rem, 8vw, 7rem);
      line-height: 1.0;
      letter-spacing: 0.04em;
      color: var(--gpop-white);
      text-shadow:
        3px 3px 0 var(--gpop-pink),
        6px 6px 0 rgba(0, 0, 0, 0.5);
      margin-bottom: 1rem;
    }

    .hero p {
      font-family: 'Share Tech Mono', monospace;
      font-size: 0.85rem;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      color: var(--gpop-silver);
    }

    /* Spray splatter divider */
    .gpop-divider {
      border: none;
      height: 20px;
      position: relative;
      margin: 0;
    }

    .gpop-divider::before {
      content: '';
      position: absolute;
      top: 8px;
      left: 5%;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--gpop-pink);
      box-shadow:
        40px -3px 0 2px var(--gpop-neon-green),
        90px 4px 0 1px var(--gpop-blue),
        150px -2px 0 3px var(--gpop-yellow),
        220px 3px 0 1px var(--gpop-purple),
        280px -4px 0 2px var(--gpop-pink),
        350px 2px 0 3px var(--gpop-red);
    }

    section {
      max-width: 900px;
      margin: 0 auto;
      padding: 4rem 2rem;
      position: relative;
      z-index: 1;
    }

    h2 {
      font-family: 'Bangers', cursive;
      font-size: clamp(2rem, 5vw, 3.5rem);
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--gpop-neon-green);
      text-shadow:
        2px 2px 0 var(--gpop-black),
        -1px -1px 0 var(--gpop-black),
        1px -1px 0 var(--gpop-black),
        -1px 1px 0 var(--gpop-black);
      margin-bottom: 1.5rem;
    }

    .gpop-poster-card {
      background: var(--gpop-cream);
      color: var(--gpop-black);
      padding: 2rem;
      position: relative;
      transform: rotate(-1deg);
      box-shadow:
        3px 3px 10px rgba(0, 0, 0, 0.5),
        0 0 0 1px rgba(0, 0, 0, 0.1);
      margin: 2rem 0;
    }

    .gpop-poster-card h3 {
      font-family: 'Permanent Marker', cursive;
      font-size: 1.5rem;
      color: var(--gpop-black);
      margin-bottom: 0.5rem;
    }

    .gpop-sticker {
      display: inline-block;
      padding: 0.4rem 1rem;
      font-family: 'Bangers', cursive;
      font-size: 1rem;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--gpop-black);
      background: var(--gpop-yellow);
      border: 2px solid var(--gpop-black);
      transform: rotate(2deg);
      box-shadow: 2px 2px 0 var(--gpop-black);
    }

    .gpop-button {
      display: inline-block;
      padding: 0.8rem 2.5rem;
      font-family: 'Bangers', cursive;
      font-size: 1.2rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      text-decoration: none;
      color: var(--gpop-black);
      background: var(--gpop-neon-green);
      border: 3px solid var(--gpop-black);
      transform: rotate(-1deg);
      box-shadow: 4px 4px 0 var(--gpop-black);
      cursor: pointer;
      transition: all 0.1s ease;
    }

    .gpop-button:hover {
      background: var(--gpop-pink);
      color: var(--gpop-white);
      transform: rotate(0deg) translate(-2px, -2px);
      box-shadow: 6px 6px 0 var(--gpop-black);
    }

    a {
      color: var(--gpop-pink);
      text-decoration: none;
      border-bottom: 2px solid rgba(255, 20, 147, 0.4);
      transition: color 0.15s;
    }

    a:hover {
      color: var(--gpop-neon-green);
      border-bottom-color: var(--gpop-neon-green);
    }
  </style>
</head>
<body>
  <div class="hero">
    <h1>Title Here</h1>
    <p>Subheading in monospace uppercase</p>
  </div>
  <hr class="gpop-divider">
  <section>
    <h2>Section Heading</h2>
    <div class="gpop-poster-card">
      <h3>Card Title</h3>
      <p>Content styled with Graffiti Pop aesthetic. Bold neon colors, spray-paint energy, street-level authenticity.</p>
      <br>
      <span class="gpop-sticker">Fresh!</span>
    </div>
    <br>
    <a href="#" class="gpop-button">Get Started</a>
  </section>
</body>
</html>