website_designs

Moss Punk Design Reference

Moss Punk is a speculative design aesthetic built on the visual tension between organic overgrowth and decaying technology. It imagines a post-industrial world where nature has begun reclaiming the machines – circuit boards colonized by lichen, server racks wrapped in creeping vines, rusted antennas sprouting ferns from their joints. Unlike the polished eco-optimism of Solarpunk or the glossy green branding of Frutiger Eco, Moss Punk is gritty, textured, and unapologetically raw. The technology is not new; it is abandoned, corroded, and slowly being digested by the living world. The aesthetic sits at the philosophical intersection of entropy and regeneration: what happens when nature wins?

The visual language draws from real-world phenomena – the way moss colonies spread across forgotten concrete, the patina of oxidized copper turning verdigris, tree roots cracking through asphalt, mushrooms fruiting from damp chipboard. It also borrows from punk subculture: a DIY ethos, rough edges, hand-drawn annotations, exposed structures, and a rejection of sleek corporate polish. Typography is weathered and utilitarian, as if stamped onto metal plates or etched into bark. Color palettes center on deep forest greens, oxidized coppers, wet earth browns, and the occasional spark of bioluminescent teal – the ghost light of life persisting in dark, damp places.

In web and UI design, Moss Punk translates into dark, textured backgrounds that simulate corroded metal or damp stone, overlaid with organic shapes and vine-like border elements. Cards feel like reclaimed circuit boards with mossy edges. Navigation bars suggest rusted industrial signage. Buttons carry the weight of weathered metal toggles. The overall experience should feel like discovering an old control panel in an overgrown ruin – still functional, still humming with power, but slowly being absorbed back into the earth. It is a meditation on impermanence, resilience, and the quiet, relentless force of the natural world reclaiming what was always its own.


Visual Characteristics

Core Design Traits

Design Principles


Color Palette

The Moss Punk palette is rooted in the colors of a damp, overgrown ruin. Deep forest greens and bright moss tones dominate, grounded by the browns and greys of decaying infrastructure. Oxidized metal provides warm copper and verdigris accents, while rare bioluminescent teals and ambers serve as the visual equivalent of life sparking in dark places. The palette avoids bright, saturated primaries – everything is filtered through moisture, shadow, and organic patina.

Swatch Hex Role / Usage
Deep Loam #1A1C17 Primary background, darkest layer
Wet Slate #2A2D26 Card backgrounds, secondary surfaces
Corroded Iron #3B3832 Elevated panels, nav backgrounds
Lichen Stone #4A4F42 Borders, dividers, subtle backgrounds
Living Moss #4A7C3F Primary accent, links, key interactive elements
Bright Fern #6DBF5C Hover states, success indicators, active elements
Spring Sprout #A8D98A Highlights, tags, secondary interactive elements
Verdigris #5B9E8F Tertiary accent, oxidized copper patina tones
Bioluminescent Teal #3EDBC6 Glow effects, special highlights, bioluminescent accents
Oxidized Copper #8B6B4A Warm metallic accents, decorative borders, patina
Rust Amber #B87333 Warning states, metallic warmth, corroded highlights
Spore Gold #D4A843 Badges, notifications, fungal accent tones
Pale Lichen #C8D5B9 Primary text on dark backgrounds
Fog Grey #8A9182 Secondary text, captions, muted labels
Mycelium White #E8EDE2 High-emphasis text, headings on dark backgrounds

CSS Custom Properties

:root {
  /* Backgrounds -- decaying infrastructure */
  --moss-bg-loam: #1a1c17;
  --moss-bg-slate: #2a2d26;
  --moss-bg-iron: #3b3832;
  --moss-bg-stone: #4a4f42;

  /* Greens -- organic overgrowth */
  --moss-green: #4a7c3f;
  --moss-green-bright: #6dbf5c;
  --moss-green-light: #a8d98a;
  --moss-green-pale: #c8d5b9;

  /* Accent -- oxidation and bioluminescence */
  --moss-verdigris: #5b9e8f;
  --moss-bioluminescent: #3edbc6;
  --moss-copper: #8b6b4a;
  --moss-rust: #b87333;
  --moss-gold: #d4a843;

  /* Text */
  --moss-text-primary: #c8d5b9;
  --moss-text-bright: #e8ede2;
  --moss-text-secondary: #8a9182;

  /* Glows -- bioluminescent lighting */
  --moss-glow-green: 0 0 8px rgba(74, 124, 63, 0.5), 0 0 30px rgba(74, 124, 63, 0.15);
  --moss-glow-teal: 0 0 8px rgba(62, 219, 198, 0.4), 0 0 30px rgba(62, 219, 198, 0.12);
  --moss-glow-amber: 0 0 8px rgba(184, 115, 51, 0.5), 0 0 30px rgba(184, 115, 51, 0.15);

  /* Borders -- corroded edges */
  --moss-border: 1px solid rgba(74, 124, 63, 0.2);
  --moss-border-rust: 1px solid rgba(184, 115, 51, 0.25);
  --moss-border-bright: 1px solid rgba(109, 191, 92, 0.4);
}

Typography

Typeface Characteristics

Moss Punk typography is:

Font Style Best For
Bitter Slab-serif, sturdy Headlines, display text, industrial signage feel
Syne Variable, geometric-organic Headlines, branding, expressive display
Space Mono Retro monospaced Terminal text, data readouts, code blocks
Courier Prime Classic typewriter Body text, field notes, specimen labels
Cabin Humanist sans-serif Body text, readable paragraphs, UI labels
Special Elite Typewriter, distressed Annotations, hand-typed labels, decorative text
Cutive Mono Typewriter monospace Secondary text, captions, technical notes
Amatic SC Hand-drawn, thin Decorative accents, section dividers, organic labels
Chakra Petch Angular, techy Subheadings, navigation, technical UI elements
IBM Plex Mono Clean monospace Data tables, structured content, code

Font Pairing Suggestions

Heading Font Body Font Character
Bitter (700) Cabin (400) Industrial warmth, highly readable
Syne (700) Space Mono (400) Geometric-organic contrast, technical feel
Bitter (700) Courier Prime (400) Field journal, specimen documentation
Chakra Petch (600) IBM Plex Mono (400) Tech-forward, dashboard interfaces
Syne (800) Cabin (400) Expressive headings, clean body text

Typography CSS Example

/* Import fonts */
@import url('https://fonts.googleapis.com/css2?family=Bitter:wght@400;700;900&family=Cabin:wght@400;500;600&family=Space+Mono:wght@400;700&display=swap');

/* Headings -- industrial, stamped */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Bitter', 'Georgia', serif;
  font-weight: 700;
  color: var(--moss-text-bright);
  letter-spacing: 0.02em;
  line-height: 1.25;
}

/* Display / Hero text with bioluminescent glow */
.moss-display {
  font-family: 'Syne', 'Bitter', sans-serif;
  font-size: clamp(2.2rem, 5.5vw, 4.5rem);
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--moss-green-bright);
  text-shadow: 0 0 12px rgba(109, 191, 92, 0.4), 0 0 40px rgba(109, 191, 92, 0.12);
}

/* Body text -- field journal */
body {
  font-family: 'Cabin', 'Helvetica Neue', sans-serif;
  font-size: 1rem;
  line-height: 1.75;
  color: var(--moss-text-primary);
}

/* Monospaced readouts */
.moss-mono {
  font-family: 'Space Mono', 'Courier Prime', monospace;
  font-size: 0.9rem;
  color: var(--moss-green);
  line-height: 1.6;
}

/* Annotation labels -- hand-drawn feel */
.moss-annotation {
  font-family: 'Special Elite', 'Courier Prime', monospace;
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  color: var(--moss-text-secondary);
  font-style: italic;
}

Layout Principles


CSS / Design Techniques

Moss Punk Card Component

.moss-card {
  background:
    linear-gradient(135deg, rgba(74, 124, 63, 0.06) 0%, transparent 50%),
    var(--moss-bg-slate);
  border: 1px solid rgba(74, 124, 63, 0.15);
  border-radius: 3px;
  padding: 28px;
  position: relative;
  overflow: hidden;
  transition: border-color 0.4s ease, box-shadow 0.4s ease;
}

/* Moss overgrowth -- top-left corner */
.moss-card::before {
  content: '';
  position: absolute;
  top: -10px;
  left: -10px;
  width: 90px;
  height: 90px;
  background: radial-gradient(
    ellipse at center,
    rgba(74, 124, 63, 0.25) 0%,
    rgba(74, 124, 63, 0.08) 40%,
    transparent 70%
  );
  border-radius: 50%;
  pointer-events: none;
}

/* Rust accent -- bottom-right corner */
.moss-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--moss-rust));
  opacity: 0.5;
}

.moss-card:hover {
  border-color: rgba(74, 124, 63, 0.35);
  box-shadow: var(--moss-glow-green);
}

/* Card grid */
.moss-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
}

Moss Punk Button

.moss-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(74, 124, 63, 0.12);
  color: var(--moss-green-bright);
  border: 1px solid rgba(74, 124, 63, 0.35);
  padding: 12px 32px;
  font-family: 'Bitter', serif;
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
  border-radius: 2px;
  transition: all 0.35s ease;
}

.moss-btn:hover {
  background: var(--moss-green);
  color: var(--moss-bg-loam);
  box-shadow: var(--moss-glow-green);
  border-color: var(--moss-green);
}

/* Rust / copper variant */
.moss-btn--rust {
  color: var(--moss-rust);
  border-color: rgba(184, 115, 51, 0.35);
  background: rgba(184, 115, 51, 0.1);
}

.moss-btn--rust:hover {
  background: var(--moss-rust);
  color: var(--moss-bg-loam);
  box-shadow: var(--moss-glow-amber);
  border-color: var(--moss-rust);
}

/* Bioluminescent variant */
.moss-btn--glow {
  color: var(--moss-bioluminescent);
  border-color: rgba(62, 219, 198, 0.3);
  background: rgba(62, 219, 198, 0.08);
}

.moss-btn--glow:hover {
  background: rgba(62, 219, 198, 0.2);
  box-shadow: var(--moss-glow-teal);
  border-color: var(--moss-bioluminescent);
}
.moss-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1400px;
  margin: 0 auto;
  padding: 16px 40px;
  background: rgba(26, 28, 23, 0.92);
  border-bottom: 1px solid rgba(74, 124, 63, 0.12);
  position: relative;
}

/* Subtle rust streak across bottom */
.moss-nav::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 10%;
  width: 30%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(184, 115, 51, 0.3), transparent);
}

.moss-nav__logo {
  font-family: 'Bitter', serif;
  font-weight: 900;
  font-size: 1.2rem;
  color: var(--moss-green-bright);
  text-decoration: none;
  letter-spacing: 0.04em;
  text-shadow: 0 0 8px rgba(109, 191, 92, 0.3);
}

.moss-nav__links {
  display: flex;
  gap: 28px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.moss-nav__links a {
  font-family: 'Cabin', sans-serif;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--moss-text-secondary);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  transition: color 0.3s ease, text-shadow 0.3s ease;
}

.moss-nav__links a:hover,
.moss-nav__links a.active {
  color: var(--moss-green-bright);
  text-shadow: 0 0 6px rgba(109, 191, 92, 0.3);
}

Hero Section

.moss-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 80px 40px;
  background: var(--moss-bg-loam);
  overflow: hidden;
}

/* Textured noise overlay */
.moss-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 1;
}

/* Gradient moss overgrowth from edges */
.moss-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 0% 100%, rgba(74, 124, 63, 0.15) 0%, transparent 50%),
    radial-gradient(ellipse at 100% 0%, rgba(91, 158, 143, 0.1) 0%, transparent 40%),
    radial-gradient(ellipse at 50% 100%, rgba(74, 124, 63, 0.08) 0%, transparent 35%);
  pointer-events: none;
  z-index: 1;
}

.moss-hero__content {
  position: relative;
  z-index: 2;
  max-width: 750px;
}

.moss-hero__content h1 {
  font-family: 'Syne', sans-serif;
  font-size: clamp(2.2rem, 5.5vw, 4.5rem);
  font-weight: 800;
  color: var(--moss-green-bright);
  text-shadow: 0 0 16px rgba(109, 191, 92, 0.35), 0 0 50px rgba(109, 191, 92, 0.1);
  margin-bottom: 1.5rem;
  line-height: 1.15;
}

.moss-hero__content p {
  font-size: 1.1rem;
  color: var(--moss-text-secondary);
  max-width: 580px;
  margin: 0 auto 2.5rem;
  line-height: 1.8;
}

@media (max-width: 768px) {
  .moss-hero {
    min-height: auto;
    padding: 60px 20px;
  }
}

Overgrown Section Divider

.moss-divider {
  position: relative;
  height: 40px;
  margin: 0;
  border: none;
  overflow: visible;
}

.moss-divider::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(74, 124, 63, 0.3) 20%,
    rgba(184, 115, 51, 0.2) 50%,
    rgba(74, 124, 63, 0.3) 80%,
    transparent 100%
  );
}

/* Moss cluster accent on the divider line */
.moss-divider::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  background: radial-gradient(circle, var(--moss-green) 30%, transparent 70%);
  border-radius: 50%;
  box-shadow: var(--moss-glow-green);
}

Corroded Data Table

.moss-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Space Mono', monospace;
  font-size: 0.85rem;
}

.moss-table th {
  font-family: 'Bitter', serif;
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--moss-green);
  text-align: left;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(74, 124, 63, 0.2);
}

.moss-table td {
  padding: 10px 16px;
  color: var(--moss-text-primary);
  border-bottom: 1px solid rgba(74, 124, 63, 0.06);
}

.moss-table tr:hover td {
  background: rgba(74, 124, 63, 0.05);
}

/* Rust accent on first column */
.moss-table td:first-child {
  color: var(--moss-rust);
  font-weight: 700;
}

Bioluminescent Badge

.moss-badge {
  display: inline-block;
  padding: 4px 14px;
  font-family: 'Space Mono', monospace;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 2px;
  background: rgba(62, 219, 198, 0.1);
  color: var(--moss-bioluminescent);
  border: 1px solid rgba(62, 219, 198, 0.2);
  box-shadow: 0 0 6px rgba(62, 219, 198, 0.15);
}

.moss-badge--spore {
  background: rgba(212, 168, 67, 0.1);
  color: var(--moss-gold);
  border-color: rgba(212, 168, 67, 0.2);
  box-shadow: 0 0 6px rgba(212, 168, 67, 0.15);
}

.moss-badge--overgrown {
  background: rgba(74, 124, 63, 0.12);
  color: var(--moss-green-bright);
  border-color: rgba(74, 124, 63, 0.25);
  box-shadow: 0 0 6px rgba(74, 124, 63, 0.15);
}

Mycelium Network Background

.moss-mycelium-bg {
  position: relative;
  background: var(--moss-bg-loam);
}

.moss-mycelium-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(74, 124, 63, 0.06) 0%, transparent 25%),
    radial-gradient(circle at 70% 60%, rgba(91, 158, 143, 0.05) 0%, transparent 20%),
    radial-gradient(circle at 40% 80%, rgba(74, 124, 63, 0.04) 0%, transparent 30%),
    radial-gradient(circle at 85% 20%, rgba(184, 115, 51, 0.04) 0%, transparent 15%),
    radial-gradient(circle at 55% 45%, rgba(62, 219, 198, 0.03) 0%, transparent 20%);
  pointer-events: none;
}

/* Animated subtle pulse -- simulates bioluminescent breathing */
@keyframes moss-pulse {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 0.7; }
}

.moss-mycelium-bg .moss-glow-node {
  position: absolute;
  width: 6px;
  height: 6px;
  background: var(--moss-bioluminescent);
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(62, 219, 198, 0.4);
  animation: moss-pulse 4s ease-in-out infinite;
  pointer-events: none;
}

Design Do’s and Don’ts

Do

Don’t


Aesthetic Relationship to Moss Punk
Solarpunk Both fuse nature and technology, but Solarpunk is optimistic and utopian while Moss Punk is entropic and post-collapse
Goblincore Shares a love of moss, mushrooms, and earthy imperfection, but Goblincore is whimsical and cozy while Moss Punk is grittier and more industrial
Frutiger Eco Both use green palettes and nature motifs, but Frutiger Eco is glossy corporate optimism; Moss Punk is raw decay
Cyberpunk Inverted relationship – Cyberpunk shows technology dominating nature; Moss Punk shows nature dominating technology
Steampunk Both are “-punk” aesthetics with aged, mechanical surfaces, but Steampunk is Victorian brass while Moss Punk is post-digital corrosion
Dark Academia Shares the moody, textured, aged material palette, but Dark Academia is literary and interior; Moss Punk is ecological and exterior
Cottagecore Both celebrate nature reclaiming human spaces, but Cottagecore is pastoral and gentle; Moss Punk retains punk edge and industrial grit
Biophilic Design Biophilic integrates nature into clean, modern spaces; Moss Punk imagines nature overwhelming and consuming those spaces entirely

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>Moss Punk -- Nature Reclaims</title>
  <link href="https://fonts.googleapis.com/css2?family=Bitter:wght@400;700;900&family=Cabin:wght@400;500;600&family=Space+Mono:wght@400;700&family=Syne:wght@700;800&display=swap" rel="stylesheet">
  <style>
    :root {
      /* Backgrounds -- decaying infrastructure */
      --moss-bg-loam: #1a1c17;
      --moss-bg-slate: #2a2d26;
      --moss-bg-iron: #3b3832;
      --moss-bg-stone: #4a4f42;

      /* Greens -- organic overgrowth */
      --moss-green: #4a7c3f;
      --moss-green-bright: #6dbf5c;
      --moss-green-light: #a8d98a;
      --moss-green-pale: #c8d5b9;

      /* Accent -- oxidation and bioluminescence */
      --moss-verdigris: #5b9e8f;
      --moss-bioluminescent: #3edbc6;
      --moss-copper: #8b6b4a;
      --moss-rust: #b87333;
      --moss-gold: #d4a843;

      /* Text */
      --moss-text-primary: #c8d5b9;
      --moss-text-bright: #e8ede2;
      --moss-text-secondary: #8a9182;

      /* Glows */
      --moss-glow-green: 0 0 8px rgba(74, 124, 63, 0.5), 0 0 30px rgba(74, 124, 63, 0.15);
      --moss-glow-teal: 0 0 8px rgba(62, 219, 198, 0.4), 0 0 30px rgba(62, 219, 198, 0.12);
    }

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

    body {
      background: var(--moss-bg-loam);
      color: var(--moss-text-primary);
      font-family: 'Cabin', 'Helvetica Neue', sans-serif;
      font-size: 1rem;
      line-height: 1.75;
    }

    h1, h2, h3, h4 {
      font-family: 'Bitter', Georgia, serif;
      font-weight: 700;
      color: var(--moss-text-bright);
      letter-spacing: 0.02em;
      line-height: 1.25;
    }

    /* =========================================
       NAVIGATION
       ========================================= */
    nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      max-width: 1400px;
      margin: 0 auto;
      padding: 18px 40px;
      border-bottom: 1px solid rgba(74, 124, 63, 0.1);
      position: relative;
    }

    /* Rust streak */
    nav::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 8%;
      width: 25%;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(184, 115, 51, 0.25), transparent);
    }

    nav a.logo {
      font-family: 'Bitter', serif;
      font-weight: 900;
      font-size: 1.15rem;
      color: var(--moss-green-bright);
      text-decoration: none;
      letter-spacing: 0.04em;
      text-shadow: 0 0 8px rgba(109, 191, 92, 0.3);
    }

    nav ul {
      display: flex;
      gap: 28px;
      list-style: none;
    }

    nav ul a {
      font-family: 'Cabin', sans-serif;
      color: var(--moss-text-secondary);
      text-decoration: none;
      text-transform: uppercase;
      font-size: 0.82rem;
      font-weight: 500;
      letter-spacing: 0.06em;
      transition: color 0.3s, text-shadow 0.3s;
    }

    nav ul a:hover {
      color: var(--moss-green-bright);
      text-shadow: 0 0 6px rgba(109, 191, 92, 0.3);
    }

    /* =========================================
       HERO SECTION
       ========================================= */
    .hero {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      min-height: 85vh;
      padding: 80px 40px;
      overflow: hidden;
    }

    /* Noise texture overlay */
    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
      pointer-events: none;
      z-index: 1;
    }

    /* Moss overgrowth from corners */
    .hero::after {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse at 0% 100%, rgba(74, 124, 63, 0.18) 0%, transparent 45%),
        radial-gradient(ellipse at 100% 0%, rgba(91, 158, 143, 0.1) 0%, transparent 35%),
        radial-gradient(ellipse at 60% 100%, rgba(74, 124, 63, 0.08) 0%, transparent 30%);
      pointer-events: none;
      z-index: 1;
    }

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

    .hero-label {
      font-family: 'Space Mono', monospace;
      font-size: 0.72rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--moss-verdigris);
      margin-bottom: 16px;
      display: block;
    }

    .hero h1 {
      font-family: 'Syne', sans-serif;
      font-size: clamp(2.2rem, 5.5vw, 4.2rem);
      font-weight: 800;
      color: var(--moss-green-bright);
      text-shadow: 0 0 16px rgba(109, 191, 92, 0.35), 0 0 50px rgba(109, 191, 92, 0.1);
      margin-bottom: 1.5rem;
      line-height: 1.12;
    }

    .hero p {
      color: var(--moss-text-secondary);
      font-size: 1.05rem;
      margin-bottom: 2.5rem;
      max-width: 560px;
      margin-left: auto;
      margin-right: auto;
    }

    .btn {
      display: inline-block;
      background: rgba(74, 124, 63, 0.12);
      color: var(--moss-green-bright);
      border: 1px solid rgba(74, 124, 63, 0.35);
      padding: 14px 36px;
      font-family: 'Bitter', serif;
      font-weight: 700;
      font-size: 0.85rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      text-decoration: none;
      cursor: pointer;
      border-radius: 2px;
      transition: all 0.35s;
    }

    .btn:hover {
      background: var(--moss-green);
      color: var(--moss-bg-loam);
      box-shadow: 0 0 8px rgba(74, 124, 63, 0.5), 0 0 30px rgba(74, 124, 63, 0.15);
    }

    .btn--rust {
      color: var(--moss-rust);
      border-color: rgba(184, 115, 51, 0.35);
      background: rgba(184, 115, 51, 0.1);
    }

    .btn--rust:hover {
      background: var(--moss-rust);
      color: var(--moss-bg-loam);
      box-shadow: 0 0 8px rgba(184, 115, 51, 0.5), 0 0 30px rgba(184, 115, 51, 0.15);
    }

    /* =========================================
       SECTION DIVIDER
       ========================================= */
    .divider {
      position: relative;
      height: 40px;
      max-width: 1200px;
      margin: 0 auto;
    }

    .divider::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      right: 0;
      height: 1px;
      background: linear-gradient(90deg,
        transparent 0%,
        rgba(74, 124, 63, 0.25) 20%,
        rgba(184, 115, 51, 0.15) 50%,
        rgba(74, 124, 63, 0.25) 80%,
        transparent 100%
      );
    }

    .divider::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 8px;
      height: 8px;
      background: radial-gradient(circle, var(--moss-green) 40%, transparent 70%);
      border-radius: 50%;
      box-shadow: var(--moss-glow-green);
    }

    /* =========================================
       FEATURES SECTION
       ========================================= */
    .features {
      padding: 80px 0;
    }

    .features h2 {
      text-align: center;
      font-size: 1.8rem;
      color: var(--moss-text-bright);
      margin-bottom: 12px;
    }

    .features .section-subtitle {
      text-align: center;
      font-family: 'Space Mono', monospace;
      font-size: 0.78rem;
      color: var(--moss-verdigris);
      letter-spacing: 0.1em;
      text-transform: uppercase;
      margin-bottom: 48px;
    }

    .features-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 24px;
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 40px;
    }

    .feature {
      background:
        linear-gradient(135deg, rgba(74, 124, 63, 0.06) 0%, transparent 50%),
        var(--moss-bg-slate);
      border: 1px solid rgba(74, 124, 63, 0.12);
      border-radius: 3px;
      padding: 28px;
      position: relative;
      overflow: hidden;
      transition: border-color 0.4s, box-shadow 0.4s;
    }

    /* Moss corner patch */
    .feature::before {
      content: '';
      position: absolute;
      top: -8px;
      left: -8px;
      width: 70px;
      height: 70px;
      background: radial-gradient(
        ellipse at center,
        rgba(74, 124, 63, 0.2) 0%,
        rgba(74, 124, 63, 0.06) 40%,
        transparent 70%
      );
      border-radius: 50%;
      pointer-events: none;
    }

    .feature:hover {
      border-color: rgba(74, 124, 63, 0.3);
      box-shadow: var(--moss-glow-green);
    }

    .feature-tag {
      font-family: 'Space Mono', monospace;
      font-size: 0.65rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--moss-rust);
      margin-bottom: 12px;
    }

    .feature h3 {
      font-size: 1.1rem;
      margin-bottom: 0.75rem;
    }

    .feature p {
      color: var(--moss-text-secondary);
      font-size: 0.92rem;
    }

    /* =========================================
       CTA SECTION
       ========================================= */
    .cta {
      text-align: center;
      padding: 80px 40px;
      position: relative;
    }

    .cta::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse at 50% 50%, rgba(62, 219, 198, 0.06) 0%, transparent 50%);
      pointer-events: none;
    }

    .cta-content {
      position: relative;
      z-index: 1;
    }

    .cta h2 {
      font-family: 'Syne', sans-serif;
      font-size: 2rem;
      font-weight: 800;
      color: var(--moss-bioluminescent);
      text-shadow: 0 0 12px rgba(62, 219, 198, 0.3);
      margin-bottom: 1rem;
    }

    .cta p {
      color: var(--moss-text-secondary);
      margin-bottom: 2rem;
      max-width: 480px;
      margin-left: auto;
      margin-right: auto;
    }

    /* =========================================
       FOOTER
       ========================================= */
    footer {
      border-top: 1px solid rgba(74, 124, 63, 0.08);
      background: rgba(20, 22, 17, 0.6);
      text-align: center;
      padding: 30px 40px;
      position: relative;
    }

    /* Moss overgrowth at footer top */
    footer::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 4px;
      background: linear-gradient(90deg,
        rgba(74, 124, 63, 0.3),
        rgba(91, 158, 143, 0.2) 30%,
        rgba(74, 124, 63, 0.15) 60%,
        rgba(184, 115, 51, 0.1) 80%,
        rgba(74, 124, 63, 0.25)
      );
    }

    footer p {
      color: var(--moss-text-secondary);
      font-family: 'Space Mono', monospace;
      font-size: 0.78rem;
      letter-spacing: 0.04em;
    }

    footer a {
      color: var(--moss-green);
      text-decoration: none;
    }

    footer a:hover {
      color: var(--moss-green-bright);
      text-shadow: 0 0 4px rgba(109, 191, 92, 0.3);
    }

    /* =========================================
       RESPONSIVE
       ========================================= */
    @media (max-width: 768px) {
      .hero {
        min-height: auto;
        padding: 60px 20px;
      }
      nav {
        padding: 14px 20px;
      }
      nav ul {
        gap: 16px;
      }
      nav ul a {
        font-size: 0.75rem;
      }
      .features-grid {
        padding: 0 20px;
        grid-template-columns: 1fr;
      }
    }
  </style>
</head>
<body>

  <!-- Navigation -->
  <nav>
    <a href="#" class="logo">Overgrowth</a>
    <ul>
      <li><a href="#">Ruins</a></li>
      <li><a href="#">Specimens</a></li>
      <li><a href="#">Mycelium</a></li>
      <li><a href="#">Archive</a></li>
    </ul>
  </nav>

  <!-- Hero Section -->
  <section class="hero">
    <div class="hero-content">
      <span class="hero-label">// field report no. 0047</span>
      <h1>Nature Does Not Ask Permission</h1>
      <p>Deep in the ruins of the old server farms, moss colonies have established dominion over forgotten circuitry. The machines are still humming. The forest is listening.</p>
      <a href="#" class="btn">Enter the Overgrowth</a>
    </div>
  </section>

  <div class="divider"></div>

  <!-- Features Section -->
  <section class="features">
    <h2>Reclamation Protocols</h2>
    <p class="section-subtitle">Systems yielding to biological override</p>
    <div class="features-grid">
      <div class="feature">
        <div class="feature-tag">// sector.alpha</div>
        <h3>Mycelium Network</h3>
        <p>Underground fungal highways have replaced fiber optic cables. Data travels through spore relays at the speed of decomposition. The network is alive.</p>
      </div>
      <div class="feature">
        <div class="feature-tag">// sector.beta</div>
        <h3>Photosynthetic Arrays</h3>
        <p>Solar panels colonized by moss now generate power through a hybrid of silicon and chlorophyll. Efficiency unmeasurable by old metrics.</p>
      </div>
      <div class="feature">
        <div class="feature-tag">// sector.gamma</div>
        <h3>Corrosion Engine</h3>
        <p>Oxidation as computation. Rusting server racks process data through electrochemical decay. Every calculation brings the machine closer to soil.</p>
      </div>
    </div>
  </section>

  <div class="divider"></div>

  <!-- CTA Section -->
  <section class="cta">
    <div class="cta-content">
      <h2>Join the Reclamation</h2>
      <p>The old infrastructure is yielding. New growth is emerging from every crack and seam. Will you document what comes next?</p>
      <a href="#" class="btn--rust btn">Submit Field Report</a>
    </div>
  </section>

  <!-- Footer -->
  <footer>
    <p>[ OVERGROWTH FIELD STATION ] // Established on reclaimed ground // <a href="#">Spore Network</a></p>
  </footer>

</body>
</html>

Implementation Tips