website_designs

Googie Design Reference

Googie is a flamboyant, futuristic design style that emerged from Southern California commercial architecture between roughly 1945 and the early 1970s. Named after Googies Coffee Shop in Hollywood (designed by John Lautner in 1949), the aesthetic is defined by its upswept roofs, bold boomerang shapes, starburst motifs, atomic symbols, soaring angled signage, and an exuberant embrace of the Space Age and car culture. Googie architecture appeared primarily on roadside commercial buildings – diners, motels, car washes, bowling alleys, and gas stations – designed to grab the attention of passing motorists with dramatic, eye-catching forms. In web and UI design, Googie translates to dynamic angular compositions, sweeping curves, starburst and boomerang decorative elements, neon-inspired color palettes mixing turquoise, coral, and chrome, bold angled typography, and an overall feeling of optimistic, jet-propelled forward motion. The result is a retro-futuristic digital experience that channels mid-century American confidence and the thrill of the space race.


Visual Characteristics

Core Design Traits

Design Principles


Color Palette

Googie color palettes combine the vibrant pastels of 1950s consumer culture with neon sign hues, chrome metallics, and deep space-age backgrounds. The palette evokes roadside diners, vintage cars, and neon-lit boulevards.

Swatch Name Hex Role / Usage
Googie Turquoise #40E0D0 Primary accent – the signature mid-century color for backgrounds, highlights, and interactive elements
Flamingo Pink #FF6B81 Secondary accent – warm complement to turquoise, used for buttons, hover states, and decorative shapes
Coral Orange #FF7F50 Tertiary accent – warm, inviting tone for call-to-action elements and feature highlights
Atomic Tangerine #FF9966 Warm accent – neon sign glow, gradient midpoints, and starburst fills
Chrome Yellow #FFD700 Starburst and highlight color – radiating elements, badges, and attention-grabbing details
Neon Red #E63946 Bold accent – sign lettering, urgent elements, and dramatic contrast points
Space Cadet Navy #1D2951 Dark background – deep space base color for hero sections and dark-mode layouts
Midnight Charcoal #1A1A2E Dark background variant – slightly warmer alternative for body backgrounds
Diner White #F5F5F0 Light background and text – clean, slightly warm white evoking Formica countertops
Mint Cream #B5EAD7 Soft pastel accent – secondary decorative color for light-mode layouts
Chrome Silver #C0C0C0 Metallic accent – borders, dividers, and chrome surface effects
Brushed Steel #A9B4C2 Metallic secondary – subtle metallic for secondary borders and inactive states
Boomerang Teal #008B8B Deep teal – darker variant for text on light backgrounds and active states
Asphalt Gray #4A4A4A Neutral text – body copy on light backgrounds

CSS Custom Properties

:root {
  /* Primary accents */
  --googie-turquoise: #40e0d0;
  --googie-pink: #ff6b81;
  --googie-coral: #ff7f50;
  --googie-tangerine: #ff9966;
  --googie-yellow: #ffd700;
  --googie-red: #e63946;

  /* Pastels */
  --googie-mint: #b5ead7;
  --googie-light-pink: #ffc0cb;

  /* Dark backgrounds */
  --googie-navy: #1d2951;
  --googie-dark: #1a1a2e;

  /* Light backgrounds */
  --googie-white: #f5f5f0;
  --googie-cream: #faf3e0;

  /* Metallics */
  --googie-chrome: #c0c0c0;
  --googie-steel: #a9b4c2;
  --googie-chrome-light: #e8e8e8;

  /* Neutrals */
  --googie-teal-dark: #008b8b;
  --googie-gray: #4a4a4a;

  /* Functional aliases */
  --googie-bg-primary: var(--googie-navy);
  --googie-bg-secondary: var(--googie-dark);
  --googie-bg-light: var(--googie-white);
  --googie-text-light: var(--googie-white);
  --googie-text-dark: var(--googie-gray);
  --googie-accent: var(--googie-turquoise);
  --googie-accent-warm: var(--googie-coral);
  --googie-border: var(--googie-chrome);
}

Typography

Font Style Usage
Audiowide Wide, technical, retro-futuristic sans-serif Primary headlines – captures the bold, mechanical feel of Googie signage
Orbitron Geometric, futuristic, space-age Secondary headlines, navigation labels, and UI elements
Righteous Rounded retro, 1960s feel Subheadings and mid-weight display text
Bungee Bold, playful, chunky display Feature headings, banners, oversized hero text
Bungee Shade Dimensional retro display with built-in shadow Large hero text and decorative titles
Pacifico 1950s brush script Decorative accents, diner-style labels, and taglines
Jost Geometric sans-serif, Futura-inspired Body text, paragraphs, and all-purpose readable content
Space Grotesk Modern geometric grotesk Body text, data displays, and technical content
Monoton Retro outline display Decorative neon-style titles and accent text

Font Pairing Suggestions

Heading Font Body Font Mood / Use Case
Audiowide Jost Classic Googie – bold mechanical headlines with clean geometric body text; best for general-purpose layouts
Bungee Shade Space Grotesk Maximum impact – dimensional retro display headings with modern body copy; best for hero-driven pages
Righteous Jost Softer retro – rounded, friendly headlines with geometric body text; best for diner / hospitality themes
Orbitron + Pacifico Jost Mixed personality – space-age headers with script accents and clean body text; best for playful, nostalgic layouts
Monoton Space Grotesk Neon sign effect – outline display font for titles with clean tech body copy; best for night-scene / dark-mode designs

CSS Example

/* Font imports */
@import url('https://fonts.googleapis.com/css2?family=Audiowide&family=Bungee+Shade&family=Jost:wght@300;400;500;700&family=Pacifico&family=Righteous&family=Orbitron:wght@400;700;900&display=swap');

/* Headlines -- bold, wide, space-age */
h1, h2, h3 {
  font-family: 'Audiowide', 'Orbitron', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--googie-turquoise);
  font-weight: 400;
}

/* Display / Hero text -- maximum visual impact */
.googie-display {
  font-family: 'Bungee Shade', 'Bungee', sans-serif;
  font-size: clamp(3rem, 8vw, 8rem);
  letter-spacing: 0.06em;
  line-height: 1.05;
  color: var(--googie-yellow);
  text-shadow: 3px 3px 0 var(--googie-red);
}

/* Body text -- clean, readable, geometric */
body {
  font-family: 'Jost', 'Space Grotesk', sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.7;
  color: var(--googie-text-light);
}

/* Script accent -- diner-style decorative text */
.googie-script {
  font-family: 'Pacifico', cursive;
  font-size: 1.4em;
  color: var(--googie-pink);
  transform: rotate(-3deg);
  display: inline-block;
}

/* Neon outline text */
.googie-neon {
  font-family: 'Monoton', cursive;
  color: var(--googie-turquoise);
  text-shadow:
    0 0 7px var(--googie-turquoise),
    0 0 10px var(--googie-turquoise),
    0 0 21px var(--googie-turquoise),
    0 0 42px #0fa;
}

Layout Principles


CSS / Design Techniques

Card Component

.googie-card {
  background: var(--googie-navy);
  border: 2px solid var(--googie-chrome);
  border-radius: 4px 20px 4px 20px;
  padding: 2rem;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.googie-card:hover {
  transform: translateY(-4px) rotate(-0.5deg);
  box-shadow:
    0 8px 24px rgba(64, 224, 208, 0.15),
    0 0 0 1px var(--googie-turquoise);
}

/* Starburst corner decoration */
.googie-card::before {
  content: '';
  position: absolute;
  top: -25px;
  right: -25px;
  width: 70px;
  height: 70px;
  background: repeating-conic-gradient(
    var(--googie-yellow) 0deg 3deg,
    transparent 3deg 15deg
  );
  border-radius: 50%;
  opacity: 0.15;
}

/* Boomerang accent along bottom */
.googie-card::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 20%;
  width: 60%;
  height: 20px;
  background: var(--googie-turquoise);
  border-radius: 0 0 50% 50% / 0 0 100% 100%;
  opacity: 0.1;
}

.googie-card h3 {
  font-family: 'Audiowide', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--googie-turquoise);
  margin-bottom: 0.75rem;
}

.googie-card p {
  font-family: 'Jost', sans-serif;
  color: var(--googie-white);
  line-height: 1.6;
}

Button Component

.googie-button {
  display: inline-block;
  background: linear-gradient(135deg, var(--googie-turquoise), var(--googie-teal-dark));
  color: var(--googie-dark);
  border: 2px solid var(--googie-chrome);
  border-radius: 2px 16px 2px 16px;
  padding: 14px 36px;
  font-family: 'Audiowide', sans-serif;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(64, 224, 208, 0.3);
}

.googie-button:hover {
  background: linear-gradient(135deg, var(--googie-coral), var(--googie-pink));
  color: var(--googie-white);
  box-shadow: 0 6px 20px rgba(255, 107, 129, 0.4);
  transform: translateY(-2px);
}

.googie-button:active {
  transform: translateY(1px);
  box-shadow: 0 2px 8px rgba(64, 224, 208, 0.2);
}

/* Sweeping shine animation */
.googie-button::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -75%;
  width: 50%;
  height: 200%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  transform: skewX(-25deg);
  transition: left 0.5s ease;
}

.googie-button:hover::after {
  left: 125%;
}

/* Variant: warm / coral */
.googie-button--warm {
  background: linear-gradient(135deg, var(--googie-coral), var(--googie-red));
  color: var(--googie-white);
}

/* Variant: neon outline */
.googie-button--neon {
  background: transparent;
  color: var(--googie-turquoise);
  border: 2px solid var(--googie-turquoise);
  box-shadow:
    0 0 8px rgba(64, 224, 208, 0.3),
    inset 0 0 8px rgba(64, 224, 208, 0.1);
}

.googie-button--neon:hover {
  background: var(--googie-turquoise);
  color: var(--googie-dark);
  box-shadow: 0 0 20px rgba(64, 224, 208, 0.5);
}
.googie-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2.5rem;
  height: 70px;
  background: var(--googie-dark);
  border-bottom: 2px solid var(--googie-chrome);
  position: relative;
}

/* Angled accent strip along bottom */
.googie-nav::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--googie-turquoise) 0%,
    var(--googie-coral) 50%,
    var(--googie-yellow) 100%
  );
}

.googie-nav__logo {
  font-family: 'Audiowide', sans-serif;
  font-size: 1.5rem;
  color: var(--googie-turquoise);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.googie-nav__links {
  display: flex;
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.googie-nav__links a {
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: 0.9rem;
  color: var(--googie-white);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 6px 12px;
  border-radius: 2px 8px 2px 8px;
  transition: background 0.2s ease, color 0.2s ease;
}

.googie-nav__links a:hover {
  background: var(--googie-turquoise);
  color: var(--googie-dark);
}

.googie-nav__links a.active {
  background: var(--googie-coral);
  color: var(--googie-white);
}

Hero Section

.googie-hero {
  position: relative;
  min-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 6rem 2rem;
  background: var(--googie-navy);
  overflow: hidden;
}

/* Upswept bottom edge -- the signature Googie roofline */
.googie-hero::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background: var(--googie-dark);
  clip-path: polygon(0 70%, 35% 0, 65% 30%, 100% 0, 100% 100%, 0 100%);
}

.googie-hero__content {
  position: relative;
  z-index: 2;
  max-width: 800px;
}

.googie-hero h1 {
  font-family: 'Bungee Shade', sans-serif;
  font-size: clamp(3rem, 8vw, 7rem);
  color: var(--googie-yellow);
  text-shadow: 3px 3px 0 var(--googie-red);
  letter-spacing: 0.06em;
  line-height: 1.05;
  margin-bottom: 1.5rem;
}

.googie-hero p {
  font-family: 'Jost', sans-serif;
  font-size: 1.25rem;
  color: var(--googie-white);
  max-width: 560px;
  margin: 0 auto 2.5rem;
  line-height: 1.7;
}

/* Starburst background decoration */
.googie-hero__starburst {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 700px;
  height: 700px;
  background: repeating-conic-gradient(
    var(--googie-yellow) 0deg 2.5deg,
    transparent 2.5deg 10deg
  );
  border-radius: 50%;
  opacity: 0.04;
  pointer-events: none;
  animation: googie-starburst-spin 60s linear infinite;
}

@keyframes googie-starburst-spin {
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

Boomerang Shape (CSS-only)

/* Decorative boomerang -- the quintessential Googie shape */
.googie-boomerang {
  width: 250px;
  height: 120px;
  background: var(--googie-turquoise);
  border-radius: 80% 15% 55% 45% / 55% 35% 80% 25%;
  transform: rotate(-20deg);
  opacity: 0.12;
  position: absolute;
  pointer-events: none;
}

/* Variant: outlined boomerang */
.googie-boomerang--outline {
  background: transparent;
  border: 3px solid var(--googie-coral);
  opacity: 0.25;
}

/* Variant: small accent boomerang */
.googie-boomerang--sm {
  width: 100px;
  height: 50px;
}

/* Animated hover boomerang */
.googie-boomerang--animated {
  transition: transform 0.6s ease;
}

.googie-boomerang--animated:hover {
  transform: rotate(-20deg) scale(1.1) translateY(-10px);
}

Starburst Element (CSS-only)

/* Pure CSS starburst -- works as a decorative badge or background element */
.googie-starburst {
  position: relative;
  width: 180px;
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.googie-starburst::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-conic-gradient(
    var(--googie-yellow) 0deg 4deg,
    transparent 4deg 12deg
  );
  border-radius: 50%;
  animation: googie-starburst-pulse 3s ease-in-out infinite alternate;
}

.googie-starburst__text {
  position: relative;
  z-index: 1;
  font-family: 'Audiowide', sans-serif;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--googie-dark);
  text-align: center;
}

@keyframes googie-starburst-pulse {
  from { transform: scale(1) rotate(0deg); opacity: 0.8; }
  to { transform: scale(1.05) rotate(5deg); opacity: 1; }
}

Atomic Orbit Motif

/* Atomic orbit decoration -- a nod to the Atomic Age roots of Googie */
.googie-atom {
  position: relative;
  width: 200px;
  height: 200px;
}

/* Nucleus */
.googie-atom__nucleus {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 20px;
  background: var(--googie-coral);
  border-radius: 50%;
  box-shadow: 0 0 12px var(--googie-coral), 0 0 24px rgba(255, 127, 80, 0.3);
}

/* Orbital rings */
.googie-atom__orbit {
  position: absolute;
  inset: 10%;
  border: 2px solid var(--googie-turquoise);
  border-radius: 50%;
  opacity: 0.3;
}

.googie-atom__orbit:nth-child(2) {
  transform: rotateX(65deg) rotateZ(15deg);
}

.googie-atom__orbit:nth-child(3) {
  transform: rotateX(65deg) rotateZ(-50deg);
}

.googie-atom__orbit:nth-child(4) {
  transform: rotateX(65deg) rotateZ(75deg);
}

/* Electron */
.googie-atom__electron {
  width: 10px;
  height: 10px;
  background: var(--googie-yellow);
  border-radius: 50%;
  box-shadow: 0 0 8px var(--googie-yellow);
  position: absolute;
  animation: googie-orbit 4s linear infinite;
}

@keyframes googie-orbit {
  from { transform: rotate(0deg) translateX(80px) rotate(0deg); }
  to { transform: rotate(360deg) translateX(80px) rotate(-360deg); }
}

Angled Sign / Pylon Element

/* Googie-style angled sign -- the towering roadside pylon translated to web */
.googie-sign {
  position: relative;
  display: inline-block;
  background: var(--googie-dark);
  border: 2px solid var(--googie-chrome);
  padding: 1.5rem 3rem;
  transform: perspective(500px) rotateY(-5deg) skewY(-2deg);
  box-shadow:
    6px 6px 0 var(--googie-turquoise),
    12px 12px 0 rgba(64, 224, 208, 0.2);
}

.googie-sign__title {
  font-family: 'Audiowide', sans-serif;
  font-size: 2rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--googie-yellow);
  text-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
}

.googie-sign__subtitle {
  font-family: 'Pacifico', cursive;
  font-size: 1.1rem;
  color: var(--googie-pink);
  margin-top: 0.25rem;
}

/* Neon border glow */
.googie-sign::before {
  content: '';
  position: absolute;
  inset: -4px;
  border: 2px solid var(--googie-turquoise);
  border-radius: 2px;
  opacity: 0.5;
  box-shadow:
    0 0 8px var(--googie-turquoise),
    inset 0 0 8px rgba(64, 224, 208, 0.1);
}

Upswept Section Divider

/* Googie roofline section divider -- the dramatic upswept angle */
.googie-divider-upswept {
  height: 80px;
  background: var(--googie-dark);
  clip-path: polygon(0 65%, 30% 0, 55% 20%, 100% 0, 100% 100%, 0 100%);
  position: relative;
}

/* Variant: inverted upswept */
.googie-divider-upswept--inv {
  clip-path: polygon(0 0, 100% 0, 100% 35%, 70% 100%, 45% 80%, 0 100%);
}

/* Chrome accent line along the sweep */
.googie-divider-upswept::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--googie-chrome) 20%,
    var(--googie-turquoise) 50%,
    var(--googie-chrome) 80%,
    transparent 100%
  );
}

Design Do’s and Don’ts

Do’s

Don’ts


Aesthetic Relationship to Googie
Atomic Age Parent aesthetic; Googie is the commercial architecture expression of broader Atomic Age design culture, sharing starburst, boomerang, and atomic motifs
Space Age Overlapping sibling; Space Age focuses more on aerospace and lunar exploration imagery, while Googie is rooted in roadside commercial architecture
Raygun Gothic Retro-futuristic cousin; Raygun Gothic blends Art Deco with rocket-age imagery, sharing the optimistic futurism but with a more streamlined, elegant feel
Mid-Century Modern Broader design movement that encompasses Googie; Mid-Century Modern is more restrained and residential where Googie is exuberant and commercial
Streamline Moderne Direct predecessor; the aerodynamic curves of Streamline Moderne evolved into Googie’s more extreme angular and cantilevered forms
American Kitsch Cultural companion; shares the populist, commercial, attention-grabbing sensibility, but Kitsch lacks Googie’s specific space-age futurism
Chromecore Contemporary descendant; Chromecore’s reflective metallic surfaces echo the chrome and steel finishes central to Googie’s material palette
Frutiger Aero Distant relative through optimistic futurism; both celebrate technology with glossy, clean aesthetics, though Frutiger Aero is digital-native while Googie is architectural
Dark Mode Neon Shares the neon-on-dark visual language; Dark Mode Neon draws from cyberpunk and nightlife rather than mid-century diners, but the glow techniques overlap

Quick-Start HTML Template

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Googie Design -- Space Age Style</title>
  <link href="https://fonts.googleapis.com/css2?family=Audiowide&family=Bungee+Shade&family=Jost:wght@300;400;500;700&family=Pacifico&family=Righteous&display=swap" rel="stylesheet">
  <style>
    :root {
      --googie-turquoise: #40e0d0;
      --googie-pink: #ff6b81;
      --googie-coral: #ff7f50;
      --googie-tangerine: #ff9966;
      --googie-yellow: #ffd700;
      --googie-red: #e63946;
      --googie-navy: #1d2951;
      --googie-dark: #1a1a2e;
      --googie-white: #f5f5f0;
      --googie-cream: #faf3e0;
      --googie-chrome: #c0c0c0;
      --googie-mint: #b5ead7;
      --googie-teal-dark: #008b8b;
      --googie-gray: #4a4a4a;
    }

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

    body {
      background: var(--googie-dark);
      color: var(--googie-white);
      font-family: 'Jost', sans-serif;
      font-weight: 400;
      letter-spacing: 0.02em;
      line-height: 1.7;
    }

    /* ===== NAVIGATION ===== */
    nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 2.5rem;
      height: 70px;
      background: var(--googie-dark);
      border-bottom: 2px solid var(--googie-chrome);
      position: relative;
      z-index: 10;
    }

    nav::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 100%;
      height: 3px;
      background: linear-gradient(90deg, var(--googie-turquoise), var(--googie-coral), var(--googie-yellow));
    }

    .logo {
      font-family: 'Audiowide', sans-serif;
      font-size: 1.4rem;
      color: var(--googie-turquoise);
      text-decoration: none;
      text-transform: uppercase;
      letter-spacing: 0.1em;
    }

    nav ul {
      display: flex;
      gap: 1.5rem;
      list-style: none;
    }

    nav ul a {
      font-family: 'Jost', sans-serif;
      font-weight: 500;
      font-size: 0.9rem;
      color: var(--googie-white);
      text-decoration: none;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      padding: 6px 14px;
      border-radius: 2px 8px 2px 8px;
      transition: background 0.2s, color 0.2s;
    }

    nav ul a:hover {
      background: var(--googie-turquoise);
      color: var(--googie-dark);
    }

    /* ===== HERO ===== */
    .hero {
      position: relative;
      min-height: 92vh;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 6rem 2rem;
      background: var(--googie-navy);
      overflow: hidden;
    }

    /* Starburst background */
    .hero::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 800px;
      height: 800px;
      background: repeating-conic-gradient(
        var(--googie-yellow) 0deg 2.5deg,
        transparent 2.5deg 10deg
      );
      border-radius: 50%;
      opacity: 0.04;
      pointer-events: none;
      animation: starburst-spin 80s linear infinite;
    }

    @keyframes starburst-spin {
      to { transform: translate(-50%, -50%) rotate(360deg); }
    }

    /* Upswept bottom divider */
    .hero::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 80px;
      background: var(--googie-white);
      clip-path: polygon(0 70%, 30% 0%, 55% 25%, 100% 0%, 100% 100%, 0 100%);
    }

    .hero-content {
      position: relative;
      z-index: 2;
      max-width: 800px;
    }

    .hero h1 {
      font-family: 'Bungee Shade', sans-serif;
      font-size: clamp(3rem, 8vw, 7rem);
      color: var(--googie-yellow);
      text-shadow: 3px 3px 0 var(--googie-red);
      letter-spacing: 0.06em;
      line-height: 1.05;
      margin-bottom: 0.5rem;
    }

    .hero-script {
      font-family: 'Pacifico', cursive;
      font-size: clamp(1.2rem, 3vw, 1.8rem);
      color: var(--googie-pink);
      display: inline-block;
      transform: rotate(-3deg);
      margin-bottom: 1.5rem;
    }

    .hero p {
      font-size: 1.15rem;
      color: rgba(245, 245, 240, 0.85);
      max-width: 560px;
      margin: 0 auto 2.5rem;
    }

    /* Buttons */
    .btn {
      display: inline-block;
      padding: 14px 36px;
      font-family: 'Audiowide', sans-serif;
      font-size: 0.9rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      text-decoration: none;
      border-radius: 2px 14px 2px 14px;
      cursor: pointer;
      transition: all 0.3s ease;
      position: relative;
      overflow: hidden;
      border: 2px solid var(--googie-chrome);
    }

    .btn::after {
      content: '';
      position: absolute;
      top: -50%;
      left: -75%;
      width: 50%;
      height: 200%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
      transform: skewX(-25deg);
      transition: left 0.5s ease;
    }

    .btn:hover::after {
      left: 125%;
    }

    .btn--primary {
      background: linear-gradient(135deg, var(--googie-turquoise), var(--googie-teal-dark));
      color: var(--googie-dark);
      box-shadow: 0 4px 15px rgba(64, 224, 208, 0.3);
    }

    .btn--primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 24px rgba(64, 224, 208, 0.45);
    }

    .btn--secondary {
      background: transparent;
      color: var(--googie-turquoise);
      border-color: var(--googie-turquoise);
      box-shadow: 0 0 8px rgba(64, 224, 208, 0.15);
    }

    .btn--secondary:hover {
      background: var(--googie-turquoise);
      color: var(--googie-dark);
      box-shadow: 0 0 20px rgba(64, 224, 208, 0.4);
    }

    .hero-buttons {
      display: flex;
      gap: 1.25rem;
      justify-content: center;
      flex-wrap: wrap;
    }

    /* Decorative shapes */
    .shape {
      position: absolute;
      pointer-events: none;
      z-index: 1;
    }

    /* Boomerang shapes */
    .boomerang-1 {
      width: 200px;
      height: 90px;
      background: var(--googie-turquoise);
      border-radius: 80% 15% 55% 45% / 55% 35% 80% 25%;
      opacity: 0.08;
      top: 12%;
      right: 8%;
      transform: rotate(-25deg);
      animation: float 8s ease-in-out infinite;
    }

    .boomerang-2 {
      width: 140px;
      height: 65px;
      border: 3px solid var(--googie-coral);
      border-radius: 80% 15% 55% 45% / 55% 35% 80% 25%;
      opacity: 0.15;
      bottom: 18%;
      left: 6%;
      transform: rotate(15deg);
      animation: float 10s ease-in-out 2s infinite;
    }

    /* Atom decoration */
    .atom-deco {
      width: 120px;
      height: 120px;
      top: 20%;
      left: 10%;
      animation: float 9s ease-in-out 1s infinite;
    }

    .atom-deco::before,
    .atom-deco::after {
      content: '';
      position: absolute;
      inset: 15%;
      border: 2px solid var(--googie-turquoise);
      border-radius: 50%;
      opacity: 0.2;
    }

    .atom-deco::before { transform: rotateX(65deg) rotateZ(20deg); }
    .atom-deco::after { transform: rotateX(65deg) rotateZ(-45deg); }

    /* Starburst accent */
    .starburst-accent {
      width: 80px;
      height: 80px;
      bottom: 25%;
      right: 15%;
      background: repeating-conic-gradient(
        var(--googie-yellow) 0deg 4deg,
        transparent 4deg 15deg
      );
      border-radius: 50%;
      opacity: 0.12;
      animation: float 7s ease-in-out 3s infinite;
    }

    @keyframes float {
      0%, 100% { transform: translate(0, 0) rotate(var(--base-rot, 0deg)); }
      25% { transform: translate(10px, -15px) rotate(calc(var(--base-rot, 0deg) + 3deg)); }
      50% { transform: translate(-5px, -25px) rotate(calc(var(--base-rot, 0deg) - 2deg)); }
      75% { transform: translate(-15px, -10px) rotate(calc(var(--base-rot, 0deg) + 2deg)); }
    }

    /* ===== FEATURES (light section) ===== */
    .features {
      background: var(--googie-white);
      color: var(--googie-gray);
      padding: 5rem 2rem 6rem;
      position: relative;
    }

    .features h2 {
      font-family: 'Audiowide', sans-serif;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--googie-navy);
      font-size: clamp(1.8rem, 4vw, 2.8rem);
      text-align: center;
      margin-bottom: 3rem;
    }

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

    .feature-card {
      background: var(--googie-navy);
      border: 2px solid var(--googie-chrome);
      border-radius: 4px 20px 4px 20px;
      padding: 2rem;
      position: relative;
      overflow: hidden;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .feature-card:hover {
      transform: translateY(-5px) rotate(-0.5deg);
      box-shadow: 0 10px 30px rgba(29, 41, 81, 0.3);
    }

    .feature-card::before {
      content: '';
      position: absolute;
      top: -20px;
      right: -20px;
      width: 60px;
      height: 60px;
      background: repeating-conic-gradient(
        var(--googie-yellow) 0deg 3deg,
        transparent 3deg 15deg
      );
      border-radius: 50%;
      opacity: 0.15;
    }

    .feature-card .icon {
      font-size: 2.5rem;
      margin-bottom: 1rem;
      display: block;
    }

    .feature-card h3 {
      font-family: 'Righteous', sans-serif;
      font-size: 1.3rem;
      color: var(--googie-turquoise);
      margin-bottom: 0.75rem;
    }

    .feature-card p {
      color: rgba(245, 245, 240, 0.8);
      font-size: 0.95rem;
      line-height: 1.6;
    }

    .feature-card:nth-child(1) { border-top: 3px solid var(--googie-turquoise); }
    .feature-card:nth-child(2) { border-top: 3px solid var(--googie-coral); }
    .feature-card:nth-child(3) { border-top: 3px solid var(--googie-yellow); }

    /* ===== UPSWEPT DIVIDER ===== */
    .divider-upswept {
      height: 70px;
      background: var(--googie-navy);
      clip-path: polygon(0 60%, 35% 0, 60% 25%, 100% 0, 100% 100%, 0 100%);
      position: relative;
    }

    .divider-upswept::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 3px;
      background: linear-gradient(90deg, transparent, var(--googie-chrome) 20%, var(--googie-turquoise) 50%, var(--googie-chrome) 80%, transparent);
    }

    /* ===== SHOWCASE (dark section) ===== */
    .showcase {
      background: var(--googie-navy);
      padding: 5rem 2rem;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    .showcase h2 {
      font-family: 'Audiowide', sans-serif;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--googie-turquoise);
      font-size: clamp(1.6rem, 3.5vw, 2.4rem);
      margin-bottom: 1rem;
    }

    .showcase p {
      max-width: 600px;
      margin: 0 auto 3rem;
      color: rgba(245, 245, 240, 0.75);
      font-size: 1.05rem;
    }

    /* Googie sign component */
    .googie-sign-demo {
      display: inline-block;
      background: var(--googie-dark);
      border: 2px solid var(--googie-chrome);
      padding: 2rem 3.5rem;
      transform: perspective(600px) rotateY(-4deg) skewY(-1.5deg);
      position: relative;
      margin-bottom: 2rem;
    }

    .googie-sign-demo::before {
      content: '';
      position: absolute;
      inset: -5px;
      border: 2px solid var(--googie-turquoise);
      border-radius: 2px;
      opacity: 0.4;
      box-shadow: 0 0 10px var(--googie-turquoise), inset 0 0 10px rgba(64, 224, 208, 0.05);
    }

    .googie-sign-demo .sign-title {
      font-family: 'Audiowide', sans-serif;
      font-size: clamp(1.8rem, 4vw, 2.5rem);
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--googie-yellow);
      text-shadow: 0 0 12px rgba(255, 215, 0, 0.4);
    }

    .googie-sign-demo .sign-sub {
      font-family: 'Pacifico', cursive;
      font-size: 1.1rem;
      color: var(--googie-pink);
      margin-top: 0.35rem;
    }

    /* ===== CTA SECTION ===== */
    .cta {
      background: linear-gradient(135deg, var(--googie-coral), var(--googie-pink));
      text-align: center;
      padding: 5rem 2rem;
      position: relative;
      overflow: hidden;
    }

    /* Starburst in CTA background */
    .cta::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 500px;
      height: 500px;
      background: repeating-conic-gradient(
        rgba(255,255,255,0.15) 0deg 3deg,
        transparent 3deg 12deg
      );
      border-radius: 50%;
      pointer-events: none;
    }

    .cta h2 {
      font-family: 'Audiowide', sans-serif;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--googie-white);
      font-size: clamp(1.8rem, 4vw, 3rem);
      margin-bottom: 1rem;
      position: relative;
    }

    .cta p {
      color: rgba(255, 255, 255, 0.9);
      font-size: 1.1rem;
      margin-bottom: 2rem;
      max-width: 500px;
      margin-left: auto;
      margin-right: auto;
      position: relative;
    }

    .cta .btn--primary {
      background: var(--googie-dark);
      color: var(--googie-turquoise);
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
      position: relative;
    }

    .cta .btn--primary:hover {
      background: var(--googie-navy);
      box-shadow: 0 6px 24px rgba(0, 0, 0, 0.4);
    }

    /* ===== FOOTER ===== */
    footer {
      background: var(--googie-dark);
      border-top: 2px solid var(--googie-chrome);
      padding: 2.5rem 2rem;
      text-align: center;
      position: relative;
    }

    footer::before {
      content: '';
      position: absolute;
      top: -2px;
      left: 0;
      width: 100%;
      height: 3px;
      background: linear-gradient(90deg, var(--googie-turquoise), var(--googie-coral), var(--googie-yellow));
    }

    footer p {
      color: var(--googie-chrome);
      font-size: 0.85rem;
      letter-spacing: 0.04em;
    }

    footer .footer-logo {
      font-family: 'Audiowide', sans-serif;
      color: var(--googie-turquoise);
      font-size: 1.1rem;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      margin-bottom: 0.5rem;
    }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 768px) {
      nav { padding: 0 1.25rem; height: 60px; }
      nav ul { gap: 0.75rem; }
      nav ul a { font-size: 0.8rem; padding: 4px 8px; }
      .hero { min-height: 80vh; padding: 4rem 1.5rem; }
      .hero h1 { font-size: clamp(2.2rem, 10vw, 3.5rem); }
      .hero-buttons { flex-direction: column; align-items: center; }
      .features { padding: 3.5rem 1.5rem 4rem; }
      .shape { opacity: 0.5; }
      .googie-sign-demo { padding: 1.5rem 2rem; }
      .cta { padding: 3.5rem 1.5rem; }
    }
  </style>
</head>
<body>

  <!-- Navigation -->
  <nav>
    <a href="#" class="logo">Googie</a>
    <ul>
      <li><a href="#">Diner</a></li>
      <li><a href="#">Motel</a></li>
      <li><a href="#">Starport</a></li>
      <li><a href="#">Drive-In</a></li>
    </ul>
  </nav>

  <!-- Hero Section -->
  <section class="hero">
    <!-- Decorative shapes -->
    <div class="shape boomerang-1" style="--base-rot: -25deg"></div>
    <div class="shape boomerang-2" style="--base-rot: 15deg"></div>
    <div class="shape atom-deco"></div>
    <div class="shape starburst-accent"></div>

    <div class="hero-content">
      <h1>Space Age Style</h1>
      <span class="hero-script">the future is now</span>
      <p>Bold angles, boomerang curves, and starburst optimism. Googie design captures the rocket-fueled confidence of mid-century America.</p>
      <div class="hero-buttons">
        <a href="#" class="btn btn--primary">Launch Sequence</a>
        <a href="#" class="btn btn--secondary">Explore Orbit</a>
      </div>
    </div>
  </section>

  <!-- Features Section -->
  <section class="features">
    <h2>What Makes It Googie</h2>
    <div class="features-grid">
      <div class="feature-card">
        <span class="icon">&#10038;</span>
        <h3>Starburst Energy</h3>
        <p>Radiating spike patterns channel atomic optimism and cosmic wonder, turning every element into a beacon of futuristic excitement.</p>
      </div>
      <div class="feature-card">
        <span class="icon">&#10148;</span>
        <h3>Boomerang Motion</h3>
        <p>Asymmetric curves sweep upward and outward, capturing directional energy and the thrill of jet-age velocity in every line.</p>
      </div>
      <div class="feature-card">
        <span class="icon">&#9883;</span>
        <h3>Atomic Optimism</h3>
        <p>Molecular orbits and nuclear motifs celebrate the era when science promised a gleaming tomorrow for everyone.</p>
      </div>
    </div>
  </section>

  <!-- Upswept Divider -->
  <div class="divider-upswept"></div>

  <!-- Showcase Section -->
  <section class="showcase">
    <h2>Neon Roadside Signage</h2>
    <p>Towering angled signs with mixed lettering styles grabbed the attention of passing motorists along the boulevards of Los Angeles.</p>
    <div class="googie-sign-demo">
      <div class="sign-title">Starlite Lanes</div>
      <div class="sign-sub">bowling &amp; cocktails</div>
    </div>
  </section>

  <!-- CTA Section -->
  <section class="cta">
    <h2>Ready for Takeoff?</h2>
    <p>Channel the exuberance of Googie design into your next project. Bold shapes, neon glow, and pure optimism.</p>
    <a href="#" class="btn btn--primary">Get Started</a>
  </section>

  <!-- Footer -->
  <footer>
    <div class="footer-logo">Googie Design</div>
    <p>A design reference celebrating mid-century futurism, roadside architecture, and space-age optimism.</p>
  </footer>

</body>
</html>