website_designs

Neon Gothic Design Reference

Overview

Neon Gothic is a hybrid visual aesthetic that fuses the dramatic verticality, ornate stonework, and spiritual gravitas of medieval Gothic architecture with the electric luminosity of neon lighting and contemporary dark-mode digital interfaces. Where traditional Gothic design draws the eye upward through pointed arches, ribbed vaults, and soaring spires, Neon Gothic reinterprets these forms as glowing outlines traced against near-black surfaces – cathedral geometry rendered in phosphorescent light. The result is a design language that feels simultaneously ancient and hyper-modern, sacred and synthetic.

The aesthetic draws from several real-world visual sources. Gothic Revival architecture of the 18th and 19th centuries provides the structural vocabulary: lancet arches, tracery patterns, rose windows, flying buttresses, and pinnacle silhouettes. Neon signage culture, from the rain-slicked streets of Tokyo and Hong Kong to the vintage motel signs of the American Southwest, supplies the color temperature and luminous quality. Contemporary cyberpunk and dark-mode UI trends provide the digital framework, where darkness is not merely background but active negative space that amplifies every point of light.

In web and interface design, Neon Gothic translates to layouts built on strong vertical axes and symmetrical compositions, wrapped in deep black or dark purple-grey backgrounds. Typography blends blackletter and modern geometric sans-serifs, with display text often rendered in glowing neon hues. Decorative elements draw on Gothic tracery, pointed arch frames, and rose window motifs – but always as luminous outlines rather than solid masses. The color palette is deliberately restricted: a foundation of near-blacks and dark stone greys punctuated by two or three neon accent colors, typically electric violet, cyan, and magenta, with occasional warm amber for contrast. Every colored element should appear to emit its own light, casting soft glow halos into the surrounding darkness. The overall mood is one of reverent intensity – the hushed awe of a cathedral nave crossed with the electric buzz of a neon-lit urban night.


Visual Characteristics

Core Design Traits

Design Principles


Color Palette

The Neon Gothic palette is built on a foundation of near-black and dark stone tones, pierced by intense neon accent colors. The darkness should feel deep and atmospheric, like the interior of a medieval cathedral at midnight, while the neon accents cut through with the sharp, electric quality of gas-tube signage. Every accent color should be applied with accompanying glow effects to maintain the luminous character.

Swatch Hex Role/Usage
Obsidian Black #0B0B10 Primary background, deepest layer
Cathedral Stone #15151F Card backgrounds, secondary surfaces
Dark Cloister #1C1C2A Elevated panels, nav backgrounds
Gargoyle Grey #2A2A3C Borders, dividers, subtle container backgrounds
Ash Mortar #3A3A50 Inactive states, subtle structural elements
Neon Violet #A855F7 Primary accent, headings, interactive elements
Electric Orchid #C026D3 Secondary accent, hover states, decorative glow
Spectral Cyan #06B6D4 Tertiary accent, links, informational highlights
Magenta Flame #EC4899 Highlight accent, notifications, call-to-action
Phantom Green #10B981 Success states, confirmations, secondary decorative
Votive Amber #F59E0B Warning indicators, warm accent, candle-light references
Crypt Crimson #EF4444 Error states, danger, critical alerts
Ghost Silver #D4D4E0 Primary body text on dark backgrounds
Mist Grey #8888A0 Secondary text, captions, muted labels
Wraith White #F0F0F8 High-emphasis text, bright display headings

CSS Custom Properties

:root {
  /* Backgrounds */
  --gothic-bg-void: #0b0b10;
  --gothic-bg-stone: #15151f;
  --gothic-bg-cloister: #1c1c2a;
  --gothic-bg-elevated: #2a2a3c;
  --gothic-bg-mortar: #3a3a50;

  /* Neon accents */
  --gothic-violet: #a855f7;
  --gothic-orchid: #c026d3;
  --gothic-cyan: #06b6d4;
  --gothic-magenta: #ec4899;
  --gothic-green: #10b981;
  --gothic-amber: #f59e0b;
  --gothic-crimson: #ef4444;

  /* Text */
  --gothic-text-primary: #d4d4e0;
  --gothic-text-secondary: #8888a0;
  --gothic-text-bright: #f0f0f8;

  /* Glows (box-shadow / text-shadow values) */
  --gothic-glow-violet: 0 0 12px rgba(168, 85, 247, 0.5), 0 0 45px rgba(168, 85, 247, 0.15);
  --gothic-glow-orchid: 0 0 12px rgba(192, 38, 211, 0.5), 0 0 45px rgba(192, 38, 211, 0.15);
  --gothic-glow-cyan: 0 0 12px rgba(6, 182, 212, 0.5), 0 0 45px rgba(6, 182, 212, 0.15);
  --gothic-glow-magenta: 0 0 12px rgba(236, 72, 153, 0.5), 0 0 45px rgba(236, 72, 153, 0.15);

  /* Borders */
  --gothic-border: 1px solid rgba(168, 85, 247, 0.15);
  --gothic-border-bright: 1px solid rgba(168, 85, 247, 0.4);
  --gothic-border-cyan: 1px solid rgba(6, 182, 212, 0.3);
}

Typography

Neon Gothic typography bridges two eras: the dense, ornamental character of medieval blackletter scripts and the clean precision of modern geometric sans-serifs. Display text and headings lean into blackletter or decorative serif faces to establish the Gothic identity, while body text uses highly legible sans-serif or monospace fonts to ensure readability on dark backgrounds. Glowing text-shadow effects applied to headings reinforce the neon dimension. The interplay between archaic letterforms and electric luminosity is central to the aesthetic’s tension.

Font Style Best For
UnifrakturCook Blackletter, medieval Display headings, hero titles, logo text
MedievalSharp Gothic serif, angular Secondary headings, section titles
Cinzel Classical serif, elegant Formal headings, navigation labels
Cinzel Decorative Ornamental serif Feature titles, decorative display
Playfair Display High-contrast serif Subheadings, pull quotes, editorial text
Inter Clean geometric sans Body text, readable long-form content
Rajdhani Condensed semi-rounded Navigation, labels, UI elements
Space Mono Retro-futuristic monospace Code blocks, data elements, technical captions
Orbitron Geometric, futuristic Accent labels, counters, secondary display

Font Pairing Suggestions

Heading Font Body Font Character
UnifrakturCook (700) Inter (400) High-contrast medieval-modern, signature Neon Gothic
Cinzel Decorative (400) Inter (300) Elegant Gothic-classical with clean readability
MedievalSharp (400) Rajdhani (400) Angular Gothic with condensed modern body
Cinzel (700) Space Mono (400) Formal Gothic meets technical interface
Playfair Display (700) Inter (400) Refined Gothic-inspired editorial

Typography CSS Example

/* Import fonts */
@import url('https://fonts.googleapis.com/css2?family=UnifrakturCook:wght@700&family=Cinzel:wght@400;700;900&family=Inter:wght@300;400;500;600&display=swap');

/* Headings -- Gothic blackletter with neon glow */
h1, h2, h3 {
  font-family: 'Cinzel', 'Playfair Display', serif;
  font-weight: 700;
  color: var(--gothic-text-bright);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  line-height: 1.2;
}

/* Display / Hero text -- blackletter with full neon treatment */
.gothic-display {
  font-family: 'UnifrakturCook', 'MedievalSharp', serif;
  font-size: clamp(2.5rem, 7vw, 6rem);
  letter-spacing: 0.05em;
  line-height: 1.1;
  color: var(--gothic-violet);
  text-shadow:
    0 0 10px rgba(168, 85, 247, 0.8),
    0 0 30px rgba(168, 85, 247, 0.4),
    0 0 60px rgba(168, 85, 247, 0.2);
}

/* Body text -- clean modern sans for readability */
body {
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.75;
  color: var(--gothic-text-primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

Layout Principles


CSS / Design Techniques

Neon Glow Text Effect

/* Multi-layered neon text glow */
.gothic-neon-text {
  color: var(--gothic-violet);
  text-shadow:
    0 0 7px rgba(168, 85, 247, 0.9),
    0 0 20px rgba(168, 85, 247, 0.6),
    0 0 42px rgba(168, 85, 247, 0.35),
    0 0 82px rgba(168, 85, 247, 0.15);
}

/* Cyan neon variant */
.gothic-neon-text--cyan {
  color: var(--gothic-cyan);
  text-shadow:
    0 0 7px rgba(6, 182, 212, 0.9),
    0 0 20px rgba(6, 182, 212, 0.6),
    0 0 42px rgba(6, 182, 212, 0.35),
    0 0 82px rgba(6, 182, 212, 0.15);
}

/* Pulsing neon animation */
@keyframes neon-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.85; }
}

.gothic-neon-text--pulse {
  animation: neon-pulse 3s ease-in-out infinite;
}

Neon Gothic Card

.gothic-card {
  background: var(--gothic-bg-stone);
  border: 1px solid rgba(168, 85, 247, 0.2);
  padding: 2rem;
  position: relative;
  text-align: center;
  clip-path: polygon(
    0% 5%, 5% 0%, 95% 0%, 100% 5%,
    100% 95%, 95% 100%, 5% 100%, 0% 95%
  );
  transition: border-color 0.4s ease, box-shadow 0.4s ease;
}

.gothic-card:hover {
  border-color: rgba(168, 85, 247, 0.5);
  box-shadow:
    0 0 15px rgba(168, 85, 247, 0.15),
    0 0 45px rgba(168, 85, 247, 0.05),
    inset 0 0 15px rgba(168, 85, 247, 0.05);
}

/* Pointed arch top ornament */
.gothic-card::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 30px;
  border-bottom: 2px solid var(--gothic-violet);
  border-radius: 0 0 50% 50%;
  box-shadow: 0 4px 12px rgba(168, 85, 247, 0.3);
}

/* Bottom glow line */
.gothic-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 10%;
  width: 80%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--gothic-violet),
    transparent
  );
  box-shadow: 0 0 10px rgba(168, 85, 247, 0.5);
}

Neon Gothic Button

.gothic-button {
  display: inline-block;
  padding: 0.85rem 2.5rem;
  font-family: 'Cinzel', serif;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--gothic-violet);
  background: transparent;
  border: 1px solid var(--gothic-violet);
  position: relative;
  cursor: pointer;
  transition: all 0.35s ease;
  text-decoration: none;
  clip-path: polygon(
    0% 8px, 8px 0%, calc(100% - 8px) 0%, 100% 8px,
    100% calc(100% - 8px), calc(100% - 8px) 100%,
    8px 100%, 0% calc(100% - 8px)
  );
}

.gothic-button:hover {
  color: var(--gothic-text-bright);
  background: rgba(168, 85, 247, 0.1);
  border-color: var(--gothic-violet);
  box-shadow:
    0 0 12px rgba(168, 85, 247, 0.5),
    0 0 35px rgba(168, 85, 247, 0.15),
    inset 0 0 12px rgba(168, 85, 247, 0.1);
  text-shadow: 0 0 8px rgba(168, 85, 247, 0.6);
}

/* Magenta variant */
.gothic-button--magenta {
  color: var(--gothic-magenta);
  border-color: var(--gothic-magenta);
}

.gothic-button--magenta:hover {
  background: rgba(236, 72, 153, 0.1);
  border-color: var(--gothic-magenta);
  box-shadow:
    0 0 12px rgba(236, 72, 153, 0.5),
    0 0 35px rgba(236, 72, 153, 0.15),
    inset 0 0 12px rgba(236, 72, 153, 0.1);
  text-shadow: 0 0 8px rgba(236, 72, 153, 0.6);
}

Neon Gothic Navigation

.gothic-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.5rem;
  padding: 1.25rem 2rem;
  background: rgba(11, 11, 16, 0.92);
  border-bottom: 1px solid rgba(168, 85, 247, 0.15);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  position: sticky;
  top: 0;
  z-index: 100;
}

.gothic-nav::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--gothic-violet) 20%,
    var(--gothic-cyan) 50%,
    var(--gothic-violet) 80%,
    transparent
  );
  opacity: 0.5;
}

.gothic-nav a {
  font-family: 'Cinzel', serif;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--gothic-text-secondary);
  text-decoration: none;
  padding: 0.4rem 0;
  position: relative;
  transition: color 0.3s ease, text-shadow 0.3s ease;
}

.gothic-nav a:hover {
  color: var(--gothic-violet);
  text-shadow: 0 0 12px rgba(168, 85, 247, 0.5);
}

.gothic-nav a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--gothic-violet);
  box-shadow: 0 0 6px rgba(168, 85, 247, 0.5);
  transition: width 0.3s ease;
}

.gothic-nav a:hover::after {
  width: 100%;
}

Neon Gothic Hero Section

.gothic-hero {
  text-align: center;
  padding: 8rem 2rem 6rem;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(168, 85, 247, 0.08) 0%, transparent 60%),
    radial-gradient(ellipse at 50% 100%, rgba(6, 182, 212, 0.05) 0%, transparent 50%),
    var(--gothic-bg-void);
  border-bottom: 1px solid rgba(168, 85, 247, 0.2);
}

/* Pointed arch overlay at bottom */
.gothic-hero::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 60px;
  border-top: 2px solid var(--gothic-violet);
  border-radius: 50% 50% 0 0;
  box-shadow: 0 -4px 20px rgba(168, 85, 247, 0.25);
}

.gothic-hero h1 {
  font-family: 'UnifrakturCook', serif;
  font-size: clamp(3rem, 8vw, 7rem);
  color: var(--gothic-violet);
  text-shadow:
    0 0 10px rgba(168, 85, 247, 0.8),
    0 0 30px rgba(168, 85, 247, 0.4),
    0 0 60px rgba(168, 85, 247, 0.2);
  margin-bottom: 1rem;
  line-height: 1.1;
}

.gothic-hero .subtitle {
  font-family: 'Cinzel', serif;
  font-size: clamp(0.9rem, 1.5vw, 1.1rem);
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: var(--gothic-text-secondary);
  margin-bottom: 2rem;
}

.gothic-hero .description {
  max-width: 600px;
  margin: 0 auto 2.5rem;
  font-size: 1.05rem;
  line-height: 1.8;
  color: var(--gothic-text-primary);
}

Gothic Tracery Divider

/* Pointed arch divider between sections */
.gothic-divider {
  width: 100%;
  height: 50px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 3rem 0;
}

.gothic-divider::before,
.gothic-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(168, 85, 247, 0.4)
  );
}

.gothic-divider::after {
  background: linear-gradient(
    90deg,
    rgba(168, 85, 247, 0.4),
    transparent
  );
}

/* Central ornament -- diamond shape */
.gothic-divider span {
  width: 10px;
  height: 10px;
  background: var(--gothic-violet);
  transform: rotate(45deg);
  margin: 0 1rem;
  box-shadow: 0 0 8px rgba(168, 85, 247, 0.6);
  flex-shrink: 0;
}

Gothic Pointed-Arch Frame

/* Pointed arch container using clip-path */
.gothic-arch {
  position: relative;
  background: var(--gothic-bg-stone);
  padding: 3rem 2rem 2rem;
  clip-path: polygon(
    0% 15%, 50% 0%, 100% 15%,
    100% 100%, 0% 100%
  );
  border: 1px solid rgba(168, 85, 247, 0.2);
}

/* Inner content area */
.gothic-arch__content {
  max-width: 500px;
  margin: 0 auto;
  text-align: center;
}

/* Stained-glass color overlay */
.gothic-stained-glass {
  background: linear-gradient(
    135deg,
    rgba(168, 85, 247, 0.05) 0%,
    rgba(6, 182, 212, 0.05) 33%,
    rgba(236, 72, 153, 0.05) 66%,
    rgba(168, 85, 247, 0.05) 100%
  );
  border: 1px solid rgba(168, 85, 247, 0.1);
  padding: 2rem;
}

Rose Window Decorative Element

/* CSS-only rose window ornament */
.gothic-rose {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  border: 2px solid var(--gothic-violet);
  position: relative;
  margin: 2rem auto;
  box-shadow:
    0 0 12px rgba(168, 85, 247, 0.3),
    inset 0 0 12px rgba(168, 85, 247, 0.1);
}

.gothic-rose::before {
  content: '';
  position: absolute;
  inset: 15px;
  border-radius: 50%;
  border: 1px solid rgba(168, 85, 247, 0.4);
  background: conic-gradient(
    from 0deg,
    rgba(168, 85, 247, 0.1) 0deg,
    transparent 30deg,
    rgba(6, 182, 212, 0.1) 60deg,
    transparent 90deg,
    rgba(236, 72, 153, 0.1) 120deg,
    transparent 150deg,
    rgba(168, 85, 247, 0.1) 180deg,
    transparent 210deg,
    rgba(6, 182, 212, 0.1) 240deg,
    transparent 270deg,
    rgba(236, 72, 153, 0.1) 300deg,
    transparent 330deg,
    rgba(168, 85, 247, 0.1) 360deg
  );
}

.gothic-rose::after {
  content: '';
  position: absolute;
  inset: 35px;
  border-radius: 50%;
  border: 1px solid rgba(168, 85, 247, 0.3);
  box-shadow: 0 0 8px rgba(168, 85, 247, 0.2);
}

Design Do’s and Don’ts

Do’s

Don’ts


Aesthetic Relationship to Neon Gothic
Cyberpunk Shares neon-on-dark palette and glow effects, but lacks Gothic architectural vocabulary
Gothic Revival Direct architectural ancestor; provides all structural and ornamental vocabulary
Dark Academia Shares reverence for historical forms and dark palettes, but is warm and analog where Neon Gothic is electric
Vaporwave Shares neon color sensibility, but is ironic and nostalgic vs. Neon Gothic’s sincere gravitas
Cathedral Core Shares Gothic architectural fascination but favors natural stone and candlelight over neon
Stained Glass A decorative sub-element of Gothic design; Neon Gothic reinterprets it through luminous digital color
Dark Mode UI Shares the dark background paradigm; Neon Gothic adds ornamental and architectural character
Art Deco Shares geometric formality and luxury, but Art Deco is angular and metallic where Neon Gothic is pointed and luminous

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>Neon Gothic</title>
  <link href="https://fonts.googleapis.com/css2?family=UnifrakturCook:wght@700&family=Cinzel:wght@400;600;700;900&family=Inter:wght@300;400;500;600&display=swap" rel="stylesheet">
  <style>
    /* ===========================
       CSS CUSTOM PROPERTIES
    =========================== */
    :root {
      /* Backgrounds */
      --gothic-bg-void: #0b0b10;
      --gothic-bg-stone: #15151f;
      --gothic-bg-cloister: #1c1c2a;
      --gothic-bg-elevated: #2a2a3c;
      --gothic-bg-mortar: #3a3a50;

      /* Neon accents */
      --gothic-violet: #a855f7;
      --gothic-orchid: #c026d3;
      --gothic-cyan: #06b6d4;
      --gothic-magenta: #ec4899;
      --gothic-green: #10b981;
      --gothic-amber: #f59e0b;

      /* Text */
      --gothic-text-primary: #d4d4e0;
      --gothic-text-secondary: #8888a0;
      --gothic-text-bright: #f0f0f8;
    }

    /* ===========================
       RESET & BASE
    =========================== */
    *, *::before, *::after {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      background: var(--gothic-bg-void);
      color: var(--gothic-text-primary);
      font-family: 'Inter', system-ui, -apple-system, sans-serif;
      font-weight: 400;
      letter-spacing: 0.02em;
      line-height: 1.75;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    h1, h2, h3, h4, h5, h6 {
      font-family: 'Cinzel', serif;
      font-weight: 700;
      color: var(--gothic-text-bright);
      text-transform: uppercase;
      letter-spacing: 0.1em;
      line-height: 1.2;
    }

    a {
      color: var(--gothic-cyan);
      text-decoration: none;
      transition: color 0.3s ease, text-shadow 0.3s ease;
    }

    a:hover {
      color: var(--gothic-violet);
      text-shadow: 0 0 10px rgba(168, 85, 247, 0.5);
    }

    /* ===========================
       AMBIENT BACKGROUND
    =========================== */
    body::before {
      content: '';
      position: fixed;
      inset: 0;
      background:
        radial-gradient(ellipse at 20% 20%, rgba(168, 85, 247, 0.04) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 80%, rgba(6, 182, 212, 0.03) 0%, transparent 50%),
        radial-gradient(ellipse at 50% 50%, rgba(236, 72, 153, 0.02) 0%, transparent 40%);
      pointer-events: none;
      z-index: 0;
    }

    /* ===========================
       NAVIGATION
    =========================== */
    nav {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 2.5rem;
      padding: 1.25rem 2rem;
      background: rgba(11, 11, 16, 0.92);
      border-bottom: 1px solid rgba(168, 85, 247, 0.12);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      position: sticky;
      top: 0;
      z-index: 100;
    }

    nav::after {
      content: '';
      position: absolute;
      bottom: -1px;
      left: 0;
      width: 100%;
      height: 1px;
      background: linear-gradient(
        90deg,
        transparent,
        var(--gothic-violet) 20%,
        var(--gothic-cyan) 50%,
        var(--gothic-violet) 80%,
        transparent
      );
      opacity: 0.4;
    }

    nav a {
      font-family: 'Cinzel', serif;
      font-size: 0.75rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      color: var(--gothic-text-secondary);
      padding: 0.4rem 0;
      position: relative;
    }

    nav a:hover {
      color: var(--gothic-violet);
      text-shadow: 0 0 12px rgba(168, 85, 247, 0.5);
    }

    nav a::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 0;
      height: 1px;
      background: var(--gothic-violet);
      box-shadow: 0 0 6px rgba(168, 85, 247, 0.5);
      transition: width 0.3s ease;
    }

    nav a:hover::after {
      width: 100%;
    }

    /* ===========================
       HERO SECTION
    =========================== */
    .hero {
      text-align: center;
      padding: 8rem 2rem 6rem;
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(ellipse at 50% 0%, rgba(168, 85, 247, 0.08) 0%, transparent 60%),
        radial-gradient(ellipse at 50% 100%, rgba(6, 182, 212, 0.05) 0%, transparent 50%);
      border-bottom: 1px solid rgba(168, 85, 247, 0.15);
    }

    .hero::after {
      content: '';
      position: absolute;
      bottom: -1px;
      left: 50%;
      transform: translateX(-50%);
      width: 100px;
      height: 50px;
      border-top: 2px solid var(--gothic-violet);
      border-radius: 50% 50% 0 0;
      box-shadow: 0 -4px 18px rgba(168, 85, 247, 0.25);
    }

    .hero .overline {
      font-family: 'Cinzel', serif;
      font-size: 0.8rem;
      text-transform: uppercase;
      letter-spacing: 0.35em;
      color: var(--gothic-text-secondary);
      display: block;
      margin-bottom: 1rem;
    }

    .hero h1 {
      font-family: 'UnifrakturCook', serif;
      font-size: clamp(3rem, 8vw, 7rem);
      color: var(--gothic-violet);
      text-transform: none;
      text-shadow:
        0 0 10px rgba(168, 85, 247, 0.8),
        0 0 30px rgba(168, 85, 247, 0.4),
        0 0 60px rgba(168, 85, 247, 0.2);
      margin-bottom: 1.5rem;
      line-height: 1.1;
      letter-spacing: 0.03em;
    }

    .hero p {
      max-width: 580px;
      margin: 0 auto 2.5rem;
      font-size: 1.05rem;
      line-height: 1.85;
      color: var(--gothic-text-primary);
    }

    /* ===========================
       DIVIDER
    =========================== */
    .divider {
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 3rem 0;
      padding: 0 2rem;
    }

    .divider::before,
    .divider::after {
      content: '';
      flex: 1;
      max-width: 300px;
      height: 1px;
    }

    .divider::before {
      background: linear-gradient(90deg, transparent, rgba(168, 85, 247, 0.35));
    }

    .divider::after {
      background: linear-gradient(90deg, rgba(168, 85, 247, 0.35), transparent);
    }

    .divider span {
      width: 8px;
      height: 8px;
      background: var(--gothic-violet);
      transform: rotate(45deg);
      margin: 0 1rem;
      box-shadow: 0 0 8px rgba(168, 85, 247, 0.6);
      flex-shrink: 0;
    }

    /* ===========================
       CONTENT SECTION
    =========================== */
    .content {
      max-width: 1100px;
      margin: 0 auto;
      padding: 4rem 2rem;
      position: relative;
      z-index: 1;
    }

    .content h2 {
      text-align: center;
      font-size: clamp(1.4rem, 3vw, 2rem);
      margin-bottom: 0.75rem;
      color: var(--gothic-cyan);
      text-shadow: 0 0 12px rgba(6, 182, 212, 0.3);
    }

    .content .section-sub {
      text-align: center;
      font-size: 0.85rem;
      color: var(--gothic-text-secondary);
      letter-spacing: 0.15em;
      text-transform: uppercase;
      margin-bottom: 3rem;
    }

    /* ===========================
       CARD GRID
    =========================== */
    .card-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 2rem;
    }

    .card {
      background: var(--gothic-bg-stone);
      border: 1px solid rgba(168, 85, 247, 0.15);
      padding: 2.5rem 2rem 2rem;
      position: relative;
      text-align: center;
      transition: border-color 0.4s ease, box-shadow 0.4s ease;
    }

    .card:hover {
      border-color: rgba(168, 85, 247, 0.4);
      box-shadow:
        0 0 20px rgba(168, 85, 247, 0.1),
        inset 0 0 20px rgba(168, 85, 247, 0.03);
    }

    .card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 50px;
      height: 25px;
      border-bottom: 2px solid var(--gothic-violet);
      border-radius: 0 0 50% 50%;
      box-shadow: 0 4px 12px rgba(168, 85, 247, 0.25);
    }

    .card::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 15%;
      width: 70%;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--gothic-violet), transparent);
      box-shadow: 0 0 8px rgba(168, 85, 247, 0.4);
    }

    .card h3 {
      font-size: 1.1rem;
      margin-bottom: 1rem;
      color: var(--gothic-text-bright);
      letter-spacing: 0.12em;
    }

    .card p {
      font-size: 0.92rem;
      line-height: 1.75;
      color: var(--gothic-text-secondary);
      margin-bottom: 1.5rem;
    }

    .card .tag {
      display: inline-block;
      font-family: 'Cinzel', serif;
      font-size: 0.65rem;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      color: var(--gothic-violet);
      border: 1px solid rgba(168, 85, 247, 0.3);
      padding: 0.3rem 0.9rem;
      background: rgba(168, 85, 247, 0.05);
    }

    /* ===========================
       BUTTONS
    =========================== */
    .cta {
      text-align: center;
      padding: 2rem 2rem 4rem;
      position: relative;
      z-index: 1;
    }

    .button {
      display: inline-block;
      padding: 0.85rem 2.5rem;
      font-family: 'Cinzel', serif;
      font-size: 0.8rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.15em;
      color: var(--gothic-violet);
      background: transparent;
      border: 1px solid var(--gothic-violet);
      cursor: pointer;
      transition: all 0.35s ease;
      text-decoration: none;
      position: relative;
    }

    .button:hover {
      color: var(--gothic-text-bright);
      background: rgba(168, 85, 247, 0.1);
      box-shadow:
        0 0 14px rgba(168, 85, 247, 0.45),
        0 0 40px rgba(168, 85, 247, 0.12),
        inset 0 0 14px rgba(168, 85, 247, 0.08);
      text-shadow: 0 0 8px rgba(168, 85, 247, 0.5);
    }

    .button--cyan {
      color: var(--gothic-cyan);
      border-color: var(--gothic-cyan);
    }

    .button--cyan:hover {
      color: var(--gothic-text-bright);
      background: rgba(6, 182, 212, 0.1);
      border-color: var(--gothic-cyan);
      box-shadow:
        0 0 14px rgba(6, 182, 212, 0.45),
        0 0 40px rgba(6, 182, 212, 0.12),
        inset 0 0 14px rgba(6, 182, 212, 0.08);
      text-shadow: 0 0 8px rgba(6, 182, 212, 0.5);
    }

    /* ===========================
       FEATURES SECTION
    =========================== */
    .features {
      max-width: 900px;
      margin: 0 auto;
      padding: 4rem 2rem;
      position: relative;
      z-index: 1;
    }

    .features h2 {
      text-align: center;
      font-size: clamp(1.4rem, 3vw, 2rem);
      margin-bottom: 3rem;
      color: var(--gothic-violet);
      text-shadow: 0 0 12px rgba(168, 85, 247, 0.3);
    }

    .feature-list {
      list-style: none;
      display: grid;
      gap: 1.5rem;
    }

    .feature-list li {
      display: flex;
      align-items: flex-start;
      gap: 1rem;
      padding: 1.25rem 1.5rem;
      background: var(--gothic-bg-stone);
      border-left: 2px solid var(--gothic-violet);
      box-shadow: -4px 0 12px rgba(168, 85, 247, 0.08);
      transition: border-color 0.3s ease, box-shadow 0.3s ease;
    }

    .feature-list li:hover {
      border-left-color: var(--gothic-cyan);
      box-shadow: -4px 0 16px rgba(6, 182, 212, 0.12);
    }

    .feature-list li::before {
      content: '\2726';
      color: var(--gothic-violet);
      font-size: 1.2rem;
      flex-shrink: 0;
      margin-top: 0.1rem;
      text-shadow: 0 0 6px rgba(168, 85, 247, 0.5);
    }

    /* ===========================
       ROSE WINDOW ORNAMENT
    =========================== */
    .rose-ornament {
      width: 100px;
      height: 100px;
      border-radius: 50%;
      border: 2px solid var(--gothic-violet);
      position: relative;
      margin: 3rem auto;
      box-shadow:
        0 0 12px rgba(168, 85, 247, 0.25),
        inset 0 0 12px rgba(168, 85, 247, 0.08);
    }

    .rose-ornament::before {
      content: '';
      position: absolute;
      inset: 12px;
      border-radius: 50%;
      border: 1px solid rgba(168, 85, 247, 0.35);
      background: conic-gradient(
        from 0deg,
        rgba(168, 85, 247, 0.08) 0deg,
        transparent 30deg,
        rgba(6, 182, 212, 0.08) 60deg,
        transparent 90deg,
        rgba(236, 72, 153, 0.08) 120deg,
        transparent 150deg,
        rgba(168, 85, 247, 0.08) 180deg,
        transparent 210deg,
        rgba(6, 182, 212, 0.08) 240deg,
        transparent 270deg,
        rgba(236, 72, 153, 0.08) 300deg,
        transparent 330deg,
        rgba(168, 85, 247, 0.08) 360deg
      );
    }

    .rose-ornament::after {
      content: '';
      position: absolute;
      inset: 30px;
      border-radius: 50%;
      border: 1px solid rgba(168, 85, 247, 0.3);
      box-shadow: 0 0 6px rgba(168, 85, 247, 0.2);
    }

    /* ===========================
       FOOTER
    =========================== */
    footer {
      text-align: center;
      padding: 3rem 2rem;
      border-top: 1px solid rgba(168, 85, 247, 0.1);
      font-size: 0.8rem;
      color: var(--gothic-text-secondary);
      letter-spacing: 0.08em;
      position: relative;
      z-index: 1;
    }

    footer::before {
      content: '';
      position: absolute;
      top: -1px;
      left: 0;
      width: 100%;
      height: 1px;
      background: linear-gradient(
        90deg,
        transparent,
        rgba(168, 85, 247, 0.3) 30%,
        rgba(6, 182, 212, 0.2) 50%,
        rgba(168, 85, 247, 0.3) 70%,
        transparent
      );
    }

    footer span {
      color: var(--gothic-violet);
      text-shadow: 0 0 8px rgba(168, 85, 247, 0.4);
    }

    /* ===========================
       NEON PULSE ANIMATION
    =========================== */
    @keyframes neon-breathe {
      0%, 100% {
        text-shadow:
          0 0 10px rgba(168, 85, 247, 0.8),
          0 0 30px rgba(168, 85, 247, 0.4),
          0 0 60px rgba(168, 85, 247, 0.2);
      }
      50% {
        text-shadow:
          0 0 6px rgba(168, 85, 247, 0.6),
          0 0 20px rgba(168, 85, 247, 0.3),
          0 0 45px rgba(168, 85, 247, 0.1);
      }
    }

    .hero h1 {
      animation: neon-breathe 4s ease-in-out infinite;
    }

    /* ===========================
       RESPONSIVE
    =========================== */
    @media (max-width: 768px) {
      nav {
        gap: 1.2rem;
        padding: 1rem 1rem;
      }

      nav a {
        font-size: 0.65rem;
        letter-spacing: 0.12em;
      }

      .hero {
        padding: 5rem 1.5rem 4rem;
      }

      .card-grid {
        grid-template-columns: 1fr;
      }

      .button {
        display: block;
        margin: 0.5rem auto;
        max-width: 280px;
      }
    }
  </style>
</head>
<body>
  <!-- Navigation -->
  <nav>
    <a href="#">Cathedral</a>
    <a href="#">Gallery</a>
    <a href="#">Reliquary</a>
    <a href="#">Codex</a>
    <a href="#">Vespers</a>
  </nav>

  <!-- Hero Section -->
  <header class="hero">
    <span class="overline">Enter the Luminous Dark</span>
    <h1>Neon Gothic</h1>
    <p>Gothic architecture meets neon luminescence. Pointed arches
       traced in electric violet, dark stone rendered as pixel-deep
       black, and the sacred geometry of medieval cathedrals reborn
       in phosphorescent light.</p>
  </header>

  <!-- Divider -->
  <div class="divider">
    <span></span><span></span><span></span>
  </div>

  <!-- Cards Section -->
  <section class="content">
    <h2>The Three Pillars</h2>
    <p class="section-sub">Darkness &middot; Structure &middot; Light</p>

    <div class="card-grid">
      <div class="card">
        <h3>Vaulted Darkness</h3>
        <p>The near-black background is not mere absence but
           active negative space -- the vast interior of a
           cathedral nave at midnight, waiting to be pierced
           by luminous accents.</p>
        <span class="tag">Foundation</span>
      </div>
      <div class="card">
        <h3>Sacred Geometry</h3>
        <p>Pointed arches, tracery patterns, and rose window
           motifs provide the structural vocabulary. Every layout
           echoes the bilateral symmetry and vertical aspiration
           of Gothic architecture.</p>
        <span class="tag">Structure</span>
      </div>
      <div class="card">
        <h3>Neon Radiance</h3>
        <p>Electric violet, spectral cyan, and magenta flame
           cut through the darkness like stained glass lit
           from within. Every accent glows, every border
           emits its own light.</p>
        <span class="tag">Illumination</span>
      </div>
    </div>
  </section>

  <!-- CTA Buttons -->
  <div class="cta">
    <a href="#" class="button">Enter the Cathedral</a>
    &nbsp;&nbsp;
    <a href="#" class="button button--cyan">View the Codex</a>
  </div>

  <!-- Divider -->
  <div class="divider">
    <span></span><span></span><span></span>
  </div>

  <!-- Features Section -->
  <section class="features">
    <h2>Design Tenets</h2>

    <ul class="feature-list">
      <li>Darkness is the dominant canvas. Light is always artificial, always neon.</li>
      <li>Gothic forms provide structure. Neon provides the material expression.</li>
      <li>Symmetry and vertical emphasis create sacred, upward-drawing compositions.</li>
      <li>Ornament is essential but must be rendered as light -- outlines over fills.</li>
      <li>Restraint in accent hues. Two to three neon colors, never more.</li>
    </ul>
  </section>

  <!-- Rose Window Ornament -->
  <div class="rose-ornament"></div>

  <!-- Footer -->
  <footer>
    <p>Crafted in the spirit of <span>Neon Gothic</span> &middot; Where cathedrals meet circuitry</p>
  </footer>
</body>
</html>

Implementation Tips