website_designs

Forestcore Design Reference

Overview

Forestcore is a nature-immersive aesthetic rooted in the dark, whimsical imagery of deep woodlands, misty trails, moss-covered stones, and the quiet magic of old-growth forests. Unlike its sunlit cousin Cottagecore, Forestcore embraces the moody, atmospheric side of the natural world – dappled light filtering through dense canopy, rain-soaked fern fronds, mushroom clusters on decaying logs, and the still silence of fog rolling between ancient trees. Its visual language draws on Celtic, Nordic, and Siberian woodland traditions, evoking a life lived in a timber cabin tucked among towering pines rather than a cottage surrounded by flower gardens.

In web and digital design, Forestcore translates into deeply saturated earth-tone palettes, layered organic textures, and typography that balances rustic warmth with quiet sophistication. Backgrounds feel like bark, moss, or damp stone. Layouts breathe with the unhurried rhythm of a forest walk, favoring generous spacing, vertical flow, and naturalistic ornamentation over rigid geometric grids. Decorative elements lean on botanical motifs – fern silhouettes, mushroom illustrations, lichen patterns, leaf veins, and wood-grain textures – applied with restraint to preserve the aesthetic’s contemplative, grounded atmosphere.

The emotional register of Forestcore design is meditative and slightly mysterious. It invites users to slow down, wander, and discover, much like stepping off a trail into an unfamiliar grove. Color contrasts are soft and tonal rather than sharp, shadows are warm rather than black, and interactive elements feel tactile and organic rather than mechanical. The result is a digital experience that feels alive, breathing, and rooted in the earth – a deliberate counterpoint to the bright, flat, and frictionless interfaces that dominate mainstream design.


Visual Characteristics

Core Design Traits

Design Principles


Color Palette

The Forestcore palette is drawn directly from the woodland floor, canopy, and sky. Deep greens anchor the design, supported by warm browns, cool stone greys, and misty blues. Accent colors arrive sparingly from mushroom reds, lichen yellows, and wildflower purples – always muted, never synthetic.

Swatch Hex Role/Usage
Deep Canopy #1B3A2A Primary dark background, dark sections
Moss Green #4A6741 Primary accent, headings, key elements
Fern Frond #6B8E5A Secondary accent, hover states, highlights
Lichen Sage #8B9E7E Tertiary accent, muted UI elements
Bark Brown #5C4033 Dark panels, navigation backgrounds
Damp Earth #3B2F2F Primary text color on light backgrounds
Mushroom Tan #C4A882 Card surfaces, warm neutral backgrounds
Fallen Leaf #A0764A Call-to-action, warm interactive accent
Fog Grey #B8BAB0 Muted text, subtle borders, disabled states
Morning Mist #E8E4DC Light background, surface base
Birch White #F2EDE6 Lightest background, card interiors
Toadstool Red #8B4A3A Sparse warning or highlight accent
Pine Needle #2E4B3A Dark accent, section separators
Wildflower Violet #6B5B7B Rare tertiary accent, decorative elements
Dappled Gold #C9A84C Sunlight accent, selected states, badges

CSS Custom Properties

:root {
  --fc-deep-canopy: #1B3A2A;
  --fc-moss: #4A6741;
  --fc-fern: #6B8E5A;
  --fc-lichen: #8B9E7E;
  --fc-bark: #5C4033;
  --fc-earth: #3B2F2F;
  --fc-mushroom: #C4A882;
  --fc-fallen-leaf: #A0764A;
  --fc-fog: #B8BAB0;
  --fc-mist: #E8E4DC;
  --fc-birch: #F2EDE6;
  --fc-toadstool: #8B4A3A;
  --fc-pine: #2E4B3A;
  --fc-wildflower: #6B5B7B;
  --fc-dappled-gold: #C9A84C;
}

Typography

Forestcore typography balances rustic warmth with readable elegance. Headings lean toward organic serif faces with slight irregularity or hand-drawn quality, while body text uses sturdy, warm serifs that feel like reading from a naturalist’s journal. Decorative text may invoke handwritten field notes or carved woodland signage.

Font Weight(s) Usage Link
Cormorant Garamond 400, 500, 600, 700 Display headings; elegant old-style serif with organic curves Cormorant Garamond
Libre Baskerville 400, 700 Body text; warm, sturdy serif with excellent readability Libre Baskerville
EB Garamond 400, 500, 600, 700 Alternative body/heading; classical humanist serif EB Garamond
Caveat 400, 500, 600, 700 Decorative labels, annotations, handwritten accents Caveat
Nunito 300, 400, 600 UI labels, navigation, small text; soft rounded sans-serif Nunito

Font Pairing Suggestions

Heading Body Mood
Cormorant Garamond 600 Libre Baskerville 400 Elegant naturalist journal
EB Garamond 600 Nunito 400 Refined woodland with modern clarity
Cormorant Garamond 500 EB Garamond 400 Classical botanical reference
Caveat 700 Libre Baskerville 400 Hand-lettered field guide

CSS Example

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&family=Caveat:wght@400;600&display=swap');

body {
  font-family: 'Libre Baskerville', 'Georgia', serif;
  font-size: 1.05rem;
  line-height: 1.8;
  color: var(--fc-earth);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
  font-family: 'Cormorant Garamond', 'Garamond', serif;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--fc-moss);
}

.handwritten {
  font-family: 'Caveat', cursive;
  font-size: 1.3rem;
  color: var(--fc-bark);
}

Layout Principles


CSS / Design Techniques

Forestcore Card

.forest-card {
  background: var(--fc-birch);
  border: 1px solid var(--fc-lichen);
  border-radius: 12px 14px 12px 16px;
  padding: 32px;
  box-shadow:
    0 2px 8px rgba(59, 47, 47, 0.10),
    0 0 0 1px rgba(74, 103, 65, 0.08);
  position: relative;
  overflow: hidden;
}

.forest-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg,
    var(--fc-moss),
    var(--fc-fern),
    var(--fc-lichen));
  border-radius: 12px 14px 0 0;
}

.forest-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 120px;
  height: 120px;
  background: radial-gradient(
    circle at bottom right,
    rgba(107, 142, 90, 0.06) 0%,
    transparent 70%
  );
  pointer-events: none;
}

Forestcore Button

.forest-button {
  background: var(--fc-moss);
  color: var(--fc-birch);
  border: 1px solid var(--fc-pine);
  border-radius: 8px;
  padding: 12px 28px;
  font-family: 'Libre Baskerville', serif;
  font-size: 0.95rem;
  font-weight: 400;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 2px 6px rgba(46, 75, 58, 0.20);
  position: relative;
  overflow: hidden;
}

.forest-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(242, 237, 230, 0.08),
    transparent
  );
  transition: left 0.5s ease;
}

.forest-button:hover {
  background: var(--fc-pine);
  box-shadow: 0 4px 12px rgba(46, 75, 58, 0.30);
  transform: translateY(-1px);
}

.forest-button:hover::before {
  left: 100%;
}

Woodland Navigation

.forest-nav {
  background: var(--fc-bark);
  border-bottom: 2px solid var(--fc-pine);
  padding: 16px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

.forest-nav::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(
    180deg,
    rgba(59, 47, 47, 0.15),
    transparent
  );
}

.forest-nav a {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--fc-mist);
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.forest-nav a:hover {
  color: var(--fc-dappled-gold);
  background: rgba(74, 103, 65, 0.15);
}

.forest-nav .brand {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--fc-fern);
  letter-spacing: 0.04em;
}

Hero Section

.forest-hero {
  background: var(--fc-deep-canopy);
  color: var(--fc-mist);
  padding: 100px 40px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.forest-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background:
    radial-gradient(ellipse at 25% 80%, rgba(107, 142, 90, 0.12) 0%, transparent 50%),
    radial-gradient(ellipse at 75% 20%, rgba(201, 168, 76, 0.08) 0%, transparent 45%),
    radial-gradient(ellipse at 50% 50%, rgba(139, 74, 58, 0.05) 0%, transparent 60%);
  pointer-events: none;
}

.forest-hero::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(
    180deg,
    transparent,
    rgba(27, 58, 42, 0.4)
  );
  pointer-events: none;
}

.forest-hero h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 3.2rem;
  font-weight: 600;
  color: var(--fc-dappled-gold);
  position: relative;
  margin-bottom: 16px;
  letter-spacing: 0.02em;
}

.forest-hero p {
  font-family: 'Libre Baskerville', serif;
  font-size: 1.15rem;
  color: rgba(232, 228, 220, 0.80);
  max-width: 580px;
  margin: 0 auto;
  line-height: 1.8;
  position: relative;
}

Moss Texture Background

.moss-bg {
  background-color: var(--fc-mist);
  background-image:
    radial-gradient(
      ellipse at 20% 50%,
      rgba(74, 103, 65, 0.06) 0%,
      transparent 50%
    ),
    radial-gradient(
      ellipse at 80% 30%,
      rgba(74, 103, 65, 0.04) 0%,
      transparent 40%
    ),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 3px,
      rgba(59, 47, 47, 0.015) 3px,
      rgba(59, 47, 47, 0.015) 4px
    ),
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 5px,
      rgba(74, 103, 65, 0.01) 5px,
      rgba(74, 103, 65, 0.01) 6px
    );
}

Fern Divider

.fern-divider {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 48px 0;
  padding: 0 24px;
}

.fern-divider::before,
.fern-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    var(--fc-lichen),
    transparent
  );
}

.fern-divider span {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--fc-moss);
  letter-spacing: 0.15em;
}

Dappled Light Overlay

.dappled-light {
  position: relative;
}

.dappled-light::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background:
    radial-gradient(circle 60px at 15% 25%, rgba(201, 168, 76, 0.10), transparent),
    radial-gradient(circle 40px at 45% 15%, rgba(201, 168, 76, 0.07), transparent),
    radial-gradient(circle 80px at 70% 60%, rgba(201, 168, 76, 0.08), transparent),
    radial-gradient(circle 35px at 85% 35%, rgba(201, 168, 76, 0.06), transparent),
    radial-gradient(circle 50px at 30% 75%, rgba(107, 142, 90, 0.06), transparent);
  pointer-events: none;
  z-index: 1;
}
.forest-footer {
  background: var(--fc-deep-canopy);
  color: var(--fc-fog);
  padding: 48px 32px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.forest-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--fc-pine),
    var(--fc-moss),
    var(--fc-fern),
    var(--fc-moss),
    var(--fc-pine)
  );
}

.forest-footer a {
  color: var(--fc-lichen);
  text-decoration: none;
  transition: color 0.3s ease;
}

.forest-footer a:hover {
  color: var(--fc-dappled-gold);
}

.forest-footer .footer-note {
  font-family: 'Caveat', cursive;
  font-size: 1.1rem;
  color: var(--fc-fog);
  margin-top: 16px;
  opacity: 0.7;
}

Design Do’s and Don’ts

Do’s

Don’ts


Aesthetic Relationship
Cottagecore Close sibling sharing nature-love and handmade warmth; Cottagecore is sunlit meadows and gardens while Forestcore is shaded woodland and deep forest
Goblincore Overlapping woodland palette and mushroom motifs; Goblincore is earthier, messier, and more about collecting curiosities from the forest floor
Dark Academia Shares muted earth tones and contemplative atmosphere; Dark Academia is scholarly and architectural while Forestcore is wild and botanical
Earth Tones Forestcore is a thematic specialization of Earth Tones, applying the broader palette to a specific woodland narrative
Japandi Both value natural materials, restraint, and quiet atmosphere, but Japandi is minimal and architectural while Forestcore is textured and organic
Arts and Crafts Shares reverence for natural materials and handmade quality; Arts and Crafts adds William Morris-era ornamental structure
Frutiger Eco Both celebrate nature imagery, but Frutiger Eco is glossy, digital-optimistic, and corporate-friendly while Forestcore is raw and atmospheric
Hygge Both pursue cozy comfort and warmth, but Hygge is Scandinavian domestic interior while Forestcore is outdoor wilderness

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>Forestcore Layout</title>
  <link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&family=Caveat:wght@400;600&display=swap" rel="stylesheet">
  <style>
    *, *::before, *::after {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    :root {
      --fc-deep-canopy: #1B3A2A;
      --fc-moss: #4A6741;
      --fc-fern: #6B8E5A;
      --fc-lichen: #8B9E7E;
      --fc-bark: #5C4033;
      --fc-earth: #3B2F2F;
      --fc-mushroom: #C4A882;
      --fc-fallen-leaf: #A0764A;
      --fc-fog: #B8BAB0;
      --fc-mist: #E8E4DC;
      --fc-birch: #F2EDE6;
      --fc-toadstool: #8B4A3A;
      --fc-pine: #2E4B3A;
      --fc-wildflower: #6B5B7B;
      --fc-dappled-gold: #C9A84C;
    }

    body {
      font-family: 'Libre Baskerville', Georgia, serif;
      font-size: 1.05rem;
      line-height: 1.8;
      color: var(--fc-earth);
      background-color: var(--fc-mist);
      min-height: 100vh;
    }

    /* ── Navigation ── */

    .nav {
      background: var(--fc-bark);
      border-bottom: 2px solid var(--fc-pine);
      padding: 16px 32px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      position: sticky;
      top: 0;
      z-index: 100;
    }

    .nav::after {
      content: '';
      position: absolute;
      bottom: -6px;
      left: 0;
      right: 0;
      height: 4px;
      background: linear-gradient(180deg, rgba(59, 47, 47, 0.15), transparent);
    }

    .nav .brand {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.4rem;
      font-weight: 700;
      color: var(--fc-fern);
      text-decoration: none;
      letter-spacing: 0.04em;
    }

    .nav-links {
      display: flex;
      gap: 8px;
    }

    .nav-links a {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.05rem;
      font-weight: 500;
      color: var(--fc-mist);
      text-decoration: none;
      padding: 8px 16px;
      border-radius: 6px;
      transition: all 0.3s ease;
    }

    .nav-links a:hover {
      color: var(--fc-dappled-gold);
      background: rgba(74, 103, 65, 0.15);
    }

    /* ── Hero ── */

    .hero {
      background: var(--fc-deep-canopy);
      color: var(--fc-mist);
      padding: 100px 40px;
      text-align: center;
      position: relative;
      overflow: hidden;
    }

    .hero::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background:
        radial-gradient(ellipse at 25% 80%, rgba(107, 142, 90, 0.12) 0%, transparent 50%),
        radial-gradient(ellipse at 75% 20%, rgba(201, 168, 76, 0.08) 0%, transparent 45%),
        radial-gradient(ellipse at 50% 50%, rgba(139, 74, 58, 0.05) 0%, transparent 60%);
      pointer-events: none;
    }

    .hero::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 80px;
      background: linear-gradient(180deg, transparent, rgba(27, 58, 42, 0.4));
      pointer-events: none;
    }

    .hero h1 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 3.2rem;
      font-weight: 600;
      color: var(--fc-dappled-gold);
      position: relative;
      margin-bottom: 16px;
      letter-spacing: 0.02em;
    }

    .hero .subtitle {
      font-family: 'Caveat', cursive;
      font-size: 1.5rem;
      color: rgba(139, 158, 126, 0.9);
      position: relative;
      margin-bottom: 12px;
    }

    .hero p {
      font-size: 1.1rem;
      color: rgba(232, 228, 220, 0.80);
      max-width: 580px;
      margin: 0 auto;
      line-height: 1.8;
      position: relative;
    }

    .hero .cta {
      display: inline-block;
      margin-top: 32px;
      background: var(--fc-moss);
      color: var(--fc-birch);
      border: 1px solid var(--fc-pine);
      border-radius: 8px;
      padding: 14px 36px;
      font-family: 'Libre Baskerville', serif;
      font-size: 0.95rem;
      text-decoration: none;
      transition: all 0.3s ease;
      box-shadow: 0 2px 8px rgba(46, 75, 58, 0.25);
      position: relative;
    }

    .hero .cta:hover {
      background: var(--fc-pine);
      box-shadow: 0 4px 14px rgba(46, 75, 58, 0.35);
      transform: translateY(-2px);
    }

    /* ── Section Divider ── */

    .divider {
      display: flex;
      align-items: center;
      gap: 20px;
      margin: 0;
      padding: 48px 24px;
      max-width: 800px;
      margin-left: auto;
      margin-right: auto;
    }

    .divider::before,
    .divider::after {
      content: '';
      flex: 1;
      height: 1px;
      background: linear-gradient(to right, transparent, var(--fc-lichen), transparent);
    }

    .divider span {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.3rem;
      font-weight: 500;
      color: var(--fc-moss);
      letter-spacing: 0.15em;
    }

    /* ── Content Sections ── */

    .section {
      max-width: 900px;
      margin: 0 auto;
      padding: 0 32px 60px;
    }

    .section-header {
      text-align: center;
      margin-bottom: 40px;
    }

    .section-header h2 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 2.2rem;
      font-weight: 600;
      color: var(--fc-moss);
      margin-bottom: 8px;
    }

    .section-header p {
      font-size: 1rem;
      color: var(--fc-bark);
      max-width: 500px;
      margin: 0 auto;
      opacity: 0.8;
    }

    /* ── Card Grid ── */

    .card-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 28px;
    }

    .card {
      background: var(--fc-birch);
      border: 1px solid var(--fc-lichen);
      border-radius: 12px 14px 12px 16px;
      padding: 32px;
      box-shadow:
        0 2px 8px rgba(59, 47, 47, 0.10),
        0 0 0 1px rgba(74, 103, 65, 0.08);
      position: relative;
      overflow: hidden;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 4px;
      background: linear-gradient(90deg, var(--fc-moss), var(--fc-fern), var(--fc-lichen));
      border-radius: 12px 14px 0 0;
    }

    .card::after {
      content: '';
      position: absolute;
      bottom: 0;
      right: 0;
      width: 100px;
      height: 100px;
      background: radial-gradient(circle at bottom right, rgba(107, 142, 90, 0.06) 0%, transparent 70%);
      pointer-events: none;
    }

    .card:hover {
      transform: translateY(-3px);
      box-shadow:
        0 6px 20px rgba(59, 47, 47, 0.12),
        0 0 0 1px rgba(74, 103, 65, 0.12);
    }

    .card .tag {
      display: inline-block;
      font-family: 'Caveat', cursive;
      font-size: 0.9rem;
      color: var(--fc-bark);
      background: var(--fc-mushroom);
      padding: 2px 12px;
      border-radius: 4px;
      margin-bottom: 12px;
      opacity: 0.85;
    }

    .card h3 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.5rem;
      font-weight: 600;
      color: var(--fc-moss);
      margin-bottom: 10px;
    }

    .card p {
      font-size: 0.95rem;
      line-height: 1.7;
      color: var(--fc-earth);
    }

    .card .card-link {
      display: inline-block;
      margin-top: 16px;
      font-family: 'Cormorant Garamond', serif;
      font-size: 1rem;
      font-weight: 600;
      color: var(--fc-fallen-leaf);
      text-decoration: none;
      border-bottom: 1px solid transparent;
      transition: border-color 0.3s ease;
    }

    .card .card-link:hover {
      border-bottom-color: var(--fc-fallen-leaf);
    }

    /* ── Feature Row ── */

    .feature-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;
      align-items: center;
      margin-bottom: 48px;
    }

    .feature-image {
      background: var(--fc-deep-canopy);
      border-radius: 12px;
      height: 280px;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      overflow: hidden;
    }

    .feature-image::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0; bottom: 0;
      background:
        radial-gradient(circle 50px at 30% 40%, rgba(201, 168, 76, 0.10), transparent),
        radial-gradient(circle 35px at 65% 70%, rgba(201, 168, 76, 0.07), transparent);
      pointer-events: none;
    }

    .feature-image .placeholder-text {
      font-family: 'Caveat', cursive;
      font-size: 1.2rem;
      color: var(--fc-lichen);
      opacity: 0.6;
      position: relative;
    }

    .feature-text h3 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.8rem;
      font-weight: 600;
      color: var(--fc-moss);
      margin-bottom: 12px;
    }

    .feature-text p {
      font-size: 1rem;
      line-height: 1.8;
      color: var(--fc-earth);
      margin-bottom: 16px;
    }

    /* ── Testimonial / Quote ── */

    .quote-block {
      background: var(--fc-deep-canopy);
      color: var(--fc-mist);
      border-radius: 12px;
      padding: 48px 40px;
      text-align: center;
      position: relative;
      overflow: hidden;
      margin: 40px 0;
    }

    .quote-block::before {
      content: '';
      position: absolute;
      top: 0; left: 0; right: 0; bottom: 0;
      background:
        radial-gradient(ellipse at 20% 80%, rgba(107, 142, 90, 0.10) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 20%, rgba(201, 168, 76, 0.06) 0%, transparent 40%);
      pointer-events: none;
    }

    .quote-block blockquote {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.6rem;
      font-weight: 500;
      font-style: italic;
      color: var(--fc-mushroom);
      max-width: 600px;
      margin: 0 auto 16px;
      position: relative;
      line-height: 1.6;
    }

    .quote-block cite {
      font-family: 'Caveat', cursive;
      font-size: 1.1rem;
      color: var(--fc-lichen);
      font-style: normal;
      position: relative;
    }

    /* ── Newsletter / CTA Section ── */

    .cta-section {
      background: var(--fc-mushroom);
      border-radius: 12px;
      padding: 48px 40px;
      text-align: center;
      margin: 40px 0;
      border: 1px solid rgba(92, 64, 51, 0.15);
    }

    .cta-section h3 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.8rem;
      font-weight: 600;
      color: var(--fc-deep-canopy);
      margin-bottom: 8px;
    }

    .cta-section p {
      color: var(--fc-bark);
      margin-bottom: 24px;
      max-width: 450px;
      margin-left: auto;
      margin-right: auto;
    }

    .cta-section .input-group {
      display: flex;
      gap: 12px;
      max-width: 420px;
      margin: 0 auto;
    }

    .cta-section input[type="email"] {
      flex: 1;
      padding: 12px 16px;
      border: 1px solid var(--fc-lichen);
      border-radius: 8px;
      background: var(--fc-birch);
      font-family: 'Libre Baskerville', serif;
      font-size: 0.9rem;
      color: var(--fc-earth);
      outline: none;
      transition: border-color 0.3s ease;
    }

    .cta-section input[type="email"]:focus {
      border-color: var(--fc-moss);
    }

    .cta-section input[type="email"]::placeholder {
      color: var(--fc-fog);
    }

    .cta-section button {
      background: var(--fc-moss);
      color: var(--fc-birch);
      border: 1px solid var(--fc-pine);
      border-radius: 8px;
      padding: 12px 24px;
      font-family: 'Libre Baskerville', serif;
      font-size: 0.9rem;
      cursor: pointer;
      transition: all 0.3s ease;
      box-shadow: 0 2px 6px rgba(46, 75, 58, 0.20);
    }

    .cta-section button:hover {
      background: var(--fc-pine);
      box-shadow: 0 4px 12px rgba(46, 75, 58, 0.30);
    }

    /* ── Footer ── */

    .footer {
      background: var(--fc-deep-canopy);
      color: var(--fc-fog);
      padding: 48px 32px;
      text-align: center;
      position: relative;
    }

    .footer::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg,
        var(--fc-pine),
        var(--fc-moss),
        var(--fc-fern),
        var(--fc-moss),
        var(--fc-pine));
    }

    .footer-links {
      display: flex;
      justify-content: center;
      gap: 24px;
      margin-bottom: 20px;
    }

    .footer-links a {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1rem;
      color: var(--fc-lichen);
      text-decoration: none;
      transition: color 0.3s ease;
    }

    .footer-links a:hover {
      color: var(--fc-dappled-gold);
    }

    .footer .footer-note {
      font-family: 'Caveat', cursive;
      font-size: 1.1rem;
      color: var(--fc-fog);
      opacity: 0.6;
      margin-top: 8px;
    }

    /* ── Responsive ── */

    @media (max-width: 768px) {
      .hero {
        padding: 64px 24px;
      }

      .hero h1 {
        font-size: 2.4rem;
      }

      .feature-row {
        grid-template-columns: 1fr;
        gap: 24px;
      }

      .feature-image {
        height: 200px;
      }

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

      .nav {
        flex-direction: column;
        gap: 12px;
        padding: 12px 24px;
      }

      .cta-section .input-group {
        flex-direction: column;
      }
    }
  </style>
</head>
<body>

  <!-- Navigation -->
  <nav class="nav">
    <a href="#" class="brand">Forestcore</a>
    <div class="nav-links">
      <a href="#">Trails</a>
      <a href="#">Flora</a>
      <a href="#">Field Notes</a>
      <a href="#">Gallery</a>
    </div>
  </nav>

  <!-- Hero -->
  <header class="hero">
    <h1>Into the Deep Woods</h1>
    <p class="subtitle">where moss meets morning light</p>
    <p>Wander through ancient groves where ferns unfurl beneath
       cathedral canopies, mushrooms cluster on fallen logs, and
       the air carries the quiet scent of damp earth and pine.</p>
    <a href="#" class="cta">Begin the Trail</a>
  </header>

  <!-- Divider -->
  <div class="divider">
    <span>&#x2E3B;</span>
  </div>

  <!-- Card Section -->
  <section class="section">
    <div class="section-header">
      <h2>Woodland Discoveries</h2>
      <p>Each path through the forest reveals something unexpected,
         something quietly magnificent.</p>
    </div>
    <div class="card-grid">
      <div class="card">
        <span class="tag">canopy</span>
        <h3>Dappled Glades</h3>
        <p>Sunlight filters through layered leaves, casting shifting
           patterns of gold and green across the mossy ground below.
           Each step changes the light.</p>
        <a href="#" class="card-link">Explore &rarr;</a>
      </div>
      <div class="card">
        <span class="tag">floor</span>
        <h3>Mushroom Circles</h3>
        <p>Hidden beneath bracken and bark, fairy rings emerge after
           autumn rain -- clusters of toadstool caps in amber, cream,
           and deep umber.</p>
        <a href="#" class="card-link">Explore &rarr;</a>
      </div>
      <div class="card">
        <span class="tag">stream</span>
        <h3>Mossy Stones</h3>
        <p>Where the brook bends, stones wear thick cloaks of emerald
           moss, and the water moves with a murmur that sounds older
           than the trees.</p>
        <a href="#" class="card-link">Explore &rarr;</a>
      </div>
    </div>
  </section>

  <!-- Divider -->
  <div class="divider">
    <span>&#x2E3B;</span>
  </div>

  <!-- Feature Row -->
  <section class="section">
    <div class="feature-row">
      <div class="feature-image">
        <span class="placeholder-text">[ forest photograph ]</span>
      </div>
      <div class="feature-text">
        <h3>The Understory</h3>
        <p>Beneath the canopy lies a world of its own -- layers of fern,
           wood sorrel, and creeping ivy that thrive in filtered light.
           The understory is where the forest's quiet details live: a
           beetle navigating bark ridges, lichen painting silver on
           stone, spider silk catching dew.</p>
        <a href="#" class="cta" style="font-size: 0.9rem; padding: 10px 24px;">Read More</a>
      </div>
    </div>
  </section>

  <!-- Quote -->
  <section class="section">
    <div class="quote-block">
      <blockquote>"The clearest way into the universe is through
        a forest wilderness."</blockquote>
      <cite>-- John Muir</cite>
    </div>
  </section>

  <!-- CTA / Newsletter -->
  <section class="section">
    <div class="cta-section">
      <h3>Join the Trail</h3>
      <p>Receive woodland notes, seasonal observations, and
         quiet reflections from the forest floor.</p>
      <div class="input-group">
        <input type="email" placeholder="your@email.com">
        <button type="button">Subscribe</button>
      </div>
    </div>
  </section>

  <!-- Footer -->
  <footer class="footer">
    <div class="footer-links">
      <a href="#">Trails</a>
      <a href="#">Flora</a>
      <a href="#">Field Notes</a>
      <a href="#">About</a>
    </div>
    <p style="font-size: 0.9rem;">&copy; 2026 Forestcore. All paths lead deeper.</p>
    <p class="footer-note">designed with moss, mushrooms, and morning mist</p>
  </footer>

</body>
</html>

Implementation Tips