website_designs

Biophilic Design Design Reference

Biophilic Design is a design philosophy rooted in biophilia – the innate human tendency to seek connection with nature and other living systems. Coined by biologist E.O. Wilson in 1984, the concept was later adapted for architecture and interior design by Stephen Kellert, and has since expanded into graphic design, web design, and digital interfaces. At its core, Biophilic Design integrates living elements, organic forms, natural materials, and nature-derived color palettes into built and digital environments to foster well-being, reduce stress, and restore cognitive function.

In the web and digital design context, Biophilic Design translates the principles of nature connection into screen-based experiences. Rather than relying on rigid grids and sharp geometric containers, biophilic interfaces embrace flowing organic shapes, earthy color harmonies, natural textures, and imagery drawn from forests, water, stone, and botanical forms. Typography favors humanist typefaces with soft, organic curves. Layouts breathe with generous whitespace, mimicking the openness of natural landscapes. Subtle animations – rustling leaves, rippling water, gently swaying branches – bring interfaces to life without overwhelming users. The goal is an experience that feels grounded, calming, and intuitively navigable, as though the user is moving through a well-tended garden rather than clicking through a machine.

Biophilic Design has gained significant momentum in 2025-2026, driven by growing awareness of digital wellness, sustainability-focused branding, and the proven psychological benefits of nature exposure. Research consistently shows that biophilic environments reduce cortisol levels, improve focus and creativity, and enhance sleep quality. For brands in wellness, organic food, eco-tourism, sustainable fashion, environmental advocacy, and healthcare, a biophilic web presence communicates authenticity and care. The aesthetic pairs naturally with sustainable web practices – lightweight SVG graphics, efficient code, dark mode options that reduce energy consumption, and optimized imagery – making it both visually beautiful and environmentally responsible.


Visual Characteristics

Core Design Traits

Design Principles


Color Palette

Biophilic color palettes are drawn directly from the natural world – the greens of forest canopies and mossy stones, the browns of earth and bark, the blues of sky and water, the warm terracotta of sun-baked clay, and the soft neutrals of sand, limestone, and fog. Colors are typically muted and desaturated rather than vivid or neon. Real nature colors are layered and complex, shifting with light; biophilic palettes reflect this through tonal variation within each hue family. The balance of warm and cool tones prevents monotony, mirroring how a forest contains both shadowy cool areas and sun-warmed bark.

Swatch Hex Role/Usage
#2D5A3D #2D5A3D Forest Green – primary accent, headers, key interactive elements
#4A7C59 #4A7C59 Fern Green – secondary accent, hover states, active indicators
#87AE73 #87AE73 Sage Green – tertiary accent, tags, badges, subtle highlights
#B5C9A8 #B5C9A8 Eucalyptus – light accent backgrounds, card tints, soft fills
#6B7F5C #6B7F5C Moss Green – borders, dividers, secondary text on light backgrounds
#A0522D #A0522D Warm Brown – wood-toned accents, footer backgrounds, grounding elements
#CB6D51 #CB6D51 Terracotta – call-to-action buttons, warm accent highlights, alerts
#E2CA76 #E2CA76 Sand – secondary backgrounds, warm neutral fills, input field backgrounds
#87CEEB #87CEEB Sky Blue – informational elements, links, airy accent touches
#5F8A8B #5F8A8B Teal Stone – secondary interactive elements, balanced cool accent
#808075 #808075 Stone Gray – muted text, disabled states, subtle borders
#F7F3E8 #F7F3E8 Parchment – primary background, page canvas, light surfaces
#FFFEF2 #FFFEF2 Ivory – card backgrounds, elevated surfaces, modal overlays
#2C2C28 #2C2C28 Dark Loam – primary text color, headings on light backgrounds
#4A5446 #4A5446 Charcoal Sage – dark mode background, footer, secondary dark surfaces
:root {
  /* Greens -- forest canopy */
  --bio-forest: #2D5A3D;
  --bio-fern: #4A7C59;
  --bio-sage: #87AE73;
  --bio-eucalyptus: #B5C9A8;
  --bio-moss: #6B7F5C;

  /* Earth -- soil and clay */
  --bio-brown: #A0522D;
  --bio-terracotta: #CB6D51;
  --bio-sand: #E2CA76;

  /* Water and sky */
  --bio-sky: #87CEEB;
  --bio-teal: #5F8A8B;

  /* Stone and neutral */
  --bio-stone: #808075;
  --bio-parchment: #F7F3E8;
  --bio-ivory: #FFFEF2;

  /* Dark earth */
  --bio-loam: #2C2C28;
  --bio-charcoal-sage: #4A5446;

  /* Functional mappings */
  --bio-bg-primary: var(--bio-parchment);
  --bio-bg-secondary: var(--bio-ivory);
  --bio-bg-dark: var(--bio-charcoal-sage);
  --bio-text-primary: var(--bio-loam);
  --bio-text-secondary: var(--bio-moss);
  --bio-text-on-dark: var(--bio-parchment);
  --bio-accent-primary: var(--bio-forest);
  --bio-accent-secondary: var(--bio-terracotta);
  --bio-border: var(--bio-eucalyptus);
  --bio-border-dark: var(--bio-moss);
}

Typography

Biophilic typography favors humanist typefaces with organic, calligraphic roots – letterforms that feel shaped by a human hand rather than engineered by a machine. Serifs are soft and slightly irregular; sans-serifs are rounded with open apertures and friendly proportions. Display fonts may incorporate leaf-like terminals, flowing strokes, or subtle natural texture. The overall typographic voice should feel warm, approachable, and grounded – like handwritten notes in a field journal or carved lettering on a garden gate. Body text prioritizes readability and comfort for extended reading, with generous line height and moderate letter spacing that allows words to breathe.

Font Weight(s) Usage Link
Lora 400, 500, 600, 700 Body text, long-form reading Google Fonts
Cormorant Garamond 300, 400, 500, 600, 700 Display headings, elegant titles Google Fonts
Nunito 300, 400, 600, 700 UI elements, navigation, buttons Google Fonts
Source Serif 4 300, 400, 600, 700 Body text alternative, editorial content Google Fonts
Quicksand 300, 400, 500, 600, 700 Subheadings, labels, friendly UI text Google Fonts
Playfair Display 400, 500, 600, 700 Hero headlines, pull quotes Google Fonts
Cabin 400, 500, 600, 700 Navigation, meta text, captions Google Fonts
DM Serif Display 400 Large display titles, section headers Google Fonts

Font Pairing Suggestions

Heading Body Vibe
Cormorant Garamond Nunito Elegant garden – refined headings with warm, rounded body text
Playfair Display Lora Botanical journal – high-contrast display with organic serif reading
DM Serif Display Cabin Modern greenhouse – bold natural headlines with clean functional body
Cormorant Garamond Source Serif 4 Heritage arboretum – all-serif pairing for rich, literary tone
Quicksand Lora Eco-friendly brand – friendly geometric headings with warm body text

CSS Example

/* Import biophilic font pairing */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Nunito:wght@300;400;600;700&display=swap');

/* Headings -- organic serif */
h1, h2, h3 {
  font-family: 'Cormorant Garamond', 'Georgia', serif;
  color: var(--bio-loam);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.01em;
}

/* Display / Hero text */
.bio-display {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.5rem, 6vw, 5rem);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--bio-forest);
}

/* Body text -- warm humanist sans */
body {
  font-family: 'Nunito', 'Segoe UI', sans-serif;
  font-weight: 400;
  font-size: 1.05rem;
  line-height: 1.8;
  letter-spacing: 0.015em;
  color: var(--bio-loam);
}

/* Small / UI text */
.bio-meta {
  font-family: 'Nunito', sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--bio-moss);
}

/* Accent / Pull quote */
.bio-quote {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 1.4rem;
  line-height: 1.6;
  color: var(--bio-fern);
  border-left: 3px solid var(--bio-eucalyptus);
  padding-left: 1.5rem;
}

Layout Principles


CSS / Design Techniques

Biophilic Card

Cards in biophilic design feel like natural objects – rounded, softly shadowed, with subtle texture and organic decoration. They should evoke the warmth of a wooden surface or the smoothness of a river stone.

.bio-card {
  background: var(--bio-ivory);
  border: 1px solid var(--bio-eucalyptus);
  border-radius: 16px;
  padding: 2rem;
  position: relative;
  overflow: hidden;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  box-shadow:
    0 2px 8px rgba(45, 90, 61, 0.06),
    0 8px 24px rgba(45, 90, 61, 0.04);
}

.bio-card:hover {
  transform: translateY(-4px);
  box-shadow:
    0 4px 12px rgba(45, 90, 61, 0.1),
    0 16px 40px rgba(45, 90, 61, 0.08);
}

/* Subtle leaf pattern in corner */
.bio-card::before {
  content: '';
  position: absolute;
  top: -20px;
  right: -20px;
  width: 100px;
  height: 100px;
  opacity: 0.06;
  background: no-repeat center / contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M80,10 C60,20 40,50 30,80 C50,70 70,40 80,10Z' fill='%232D5A3D'/%3E%3Cpath d='M80,10 C80,10 55,45 30,80' fill='none' stroke='%232D5A3D' stroke-width='1'/%3E%3C/svg%3E");
  pointer-events: none;
}

.bio-card h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  color: var(--bio-forest);
  margin-bottom: 0.75rem;
}

.bio-card p {
  color: var(--bio-loam);
  line-height: 1.7;
}

Biophilic Button

Buttons should feel like natural, touchable objects – smooth stones or rounded seed pods – with warm, earthy interaction states that reward engagement.

.bio-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 2rem;
  font-family: 'Nunito', sans-serif;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.03em;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s ease;
}

/* Primary -- forest green */
.bio-btn-primary {
  background: var(--bio-forest);
  color: var(--bio-parchment);
  box-shadow: 0 2px 8px rgba(45, 90, 61, 0.25);
}

.bio-btn-primary:hover {
  background: var(--bio-fern);
  box-shadow: 0 4px 16px rgba(45, 90, 61, 0.3);
  transform: translateY(-2px);
}

/* Secondary -- terracotta outline */
.bio-btn-secondary {
  background: transparent;
  color: var(--bio-terracotta);
  border: 2px solid var(--bio-terracotta);
}

.bio-btn-secondary:hover {
  background: var(--bio-terracotta);
  color: var(--bio-ivory);
}

/* Ghost -- subtle leaf-green */
.bio-btn-ghost {
  background: rgba(45, 90, 61, 0.08);
  color: var(--bio-forest);
}

.bio-btn-ghost:hover {
  background: rgba(45, 90, 61, 0.15);
}

Biophilic Navigation

Navigation should feel like a natural pathway – clear, welcoming, and grounded. Active states use organic underlines or leaf-like indicators rather than harsh geometric markers.

.bio-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 2rem;
  background: rgba(247, 243, 232, 0.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--bio-eucalyptus);
  position: sticky;
  top: 0;
  z-index: 100;
}

.bio-nav-brand {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--bio-forest);
  text-decoration: none;
}

.bio-nav-links {
  display: flex;
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.bio-nav-links a {
  font-family: 'Nunito', sans-serif;
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--bio-loam);
  text-decoration: none;
  position: relative;
  padding-bottom: 4px;
  transition: color 0.3s ease;
}

/* Organic growing underline */
.bio-nav-links a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: var(--bio-fern);
  border-radius: 2px;
  transition: all 0.3s ease;
  transform: translateX(-50%);
}

.bio-nav-links a:hover,
.bio-nav-links a.active {
  color: var(--bio-forest);
}

.bio-nav-links a:hover::after,
.bio-nav-links a.active::after {
  width: 100%;
}

Biophilic Hero Section

The hero should immerse the user in nature immediately – a full-viewport scene with layered depth, organic typography, and a sense of expansive calm.

.bio-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 4rem 2rem;
  overflow: hidden;
  background:
    linear-gradient(
      180deg,
      rgba(247, 243, 232, 0.1) 0%,
      rgba(247, 243, 232, 0.85) 70%,
      var(--bio-parchment) 100%
    ),
    url('hero-nature.jpg') center / cover no-repeat;
}

.bio-hero h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.8rem, 7vw, 5.5rem);
  font-weight: 400;
  color: var(--bio-forest);
  line-height: 1.1;
  margin-bottom: 1.5rem;
}

.bio-hero p {
  font-family: 'Nunito', sans-serif;
  font-size: clamp(1rem, 2vw, 1.25rem);
  color: var(--bio-loam);
  max-width: 600px;
  line-height: 1.8;
  margin-bottom: 2rem;
}

/* Organic wave divider at bottom of hero */
.bio-hero::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 80px;
  background: no-repeat bottom / 100% 100%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0,40 C240,80 480,0 720,40 C960,80 1200,0 1440,40 L1440,80 L0,80Z' fill='%23F7F3E8'/%3E%3C/svg%3E");
}

Organic Wave Section Divider

Wave dividers replace harsh horizontal rules, creating a sense of flowing water or rolling hills between content sections.

.bio-wave-divider {
  width: 100%;
  height: 80px;
  position: relative;
  overflow: hidden;
}

.bio-wave-divider svg {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 100%;
}

/* Animated gentle wave */
.bio-wave-animated {
  width: 100%;
  height: 60px;
  background: no-repeat bottom / 200% 100%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2880 60' preserveAspectRatio='none'%3E%3Cpath d='M0,30 C360,60 720,0 1080,30 C1440,60 1800,0 2160,30 C2520,60 2880,0 2880,30 L2880,60 L0,60Z' fill='%23B5C9A8' opacity='0.3'/%3E%3Cpath d='M0,35 C400,5 800,55 1200,35 C1600,15 2000,50 2400,35 C2800,20 2880,40 2880,35 L2880,60 L0,60Z' fill='%2387AE73' opacity='0.2'/%3E%3C/svg%3E");
  animation: bio-wave-drift 8s ease-in-out infinite alternate;
}

@keyframes bio-wave-drift {
  0% { background-position: 0% bottom; }
  100% { background-position: -50% bottom; }
}

Leaf Drift Animation

A signature biophilic effect: gentle floating leaf particles that drift across sections, creating a sense of being outdoors in an autumn forest or beneath a canopy.

/* Floating leaf particle */
.bio-leaf {
  position: fixed;
  width: 20px;
  height: 20px;
  opacity: 0;
  pointer-events: none;
  z-index: 0;
  background: no-repeat center / contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10,2 C6,4 2,10 4,16 C6,14 10,8 16,4 C14,3 12,2 10,2Z' fill='%2387AE73'/%3E%3Cpath d='M10,2 C10,2 8,10 4,16' fill='none' stroke='%234A7C59' stroke-width='0.5'/%3E%3C/svg%3E");
  animation: bio-leaf-fall linear infinite;
}

.bio-leaf:nth-child(1) { left: 10%; animation-duration: 12s; animation-delay: 0s; }
.bio-leaf:nth-child(2) { left: 30%; animation-duration: 15s; animation-delay: 3s; }
.bio-leaf:nth-child(3) { left: 55%; animation-duration: 11s; animation-delay: 6s; }
.bio-leaf:nth-child(4) { left: 75%; animation-duration: 14s; animation-delay: 2s; }
.bio-leaf:nth-child(5) { left: 90%; animation-duration: 13s; animation-delay: 5s; }

@keyframes bio-leaf-fall {
  0% {
    transform: translateY(-10vh) rotate(0deg) scale(0.8);
    opacity: 0;
  }
  10% {
    opacity: 0.6;
  }
  50% {
    transform: translateY(50vh) rotate(180deg) translateX(30px) scale(1);
    opacity: 0.4;
  }
  90% {
    opacity: 0.2;
  }
  100% {
    transform: translateY(110vh) rotate(360deg) translateX(-20px) scale(0.6);
    opacity: 0;
  }
}

Natural Texture Background

Subtle organic background patterns that evoke the feeling of natural surfaces without overpowering content.

/* Linen / woven texture */
.bio-texture-linen {
  background-color: var(--bio-parchment);
  background-image:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 2px,
      rgba(107, 127, 92, 0.02) 2px,
      rgba(107, 127, 92, 0.02) 3px
    ),
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 2px,
      rgba(107, 127, 92, 0.02) 2px,
      rgba(107, 127, 92, 0.02) 3px
    );
}

/* Topographic / contour map pattern */
.bio-texture-topo {
  background-color: var(--bio-parchment);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cellipse cx='100' cy='100' rx='80' ry='60' fill='none' stroke='%23B5C9A8' stroke-width='0.5' opacity='0.3'/%3E%3Cellipse cx='100' cy='100' rx='60' ry='45' fill='none' stroke='%23B5C9A8' stroke-width='0.5' opacity='0.25'/%3E%3Cellipse cx='100' cy='100' rx='40' ry='30' fill='none' stroke='%23B5C9A8' stroke-width='0.5' opacity='0.2'/%3E%3Cellipse cx='100' cy='100' rx='20' ry='15' fill='none' stroke='%23B5C9A8' stroke-width='0.5' opacity='0.15'/%3E%3C/svg%3E");
  background-size: 200px 200px;
}

/* Organic radial glow -- dappled sunlight */
.bio-texture-dappled {
  background-color: var(--bio-parchment);
  background-image:
    radial-gradient(ellipse at 20% 30%, rgba(181, 201, 168, 0.15) 0%, transparent 50%),
    radial-gradient(ellipse at 70% 60%, rgba(226, 202, 118, 0.1) 0%, transparent 40%),
    radial-gradient(ellipse at 50% 80%, rgba(135, 174, 115, 0.08) 0%, transparent 45%);
}

Design Do’s and Don’ts

Do’s

Don’ts


Aesthetic Relationship
Earth Tones Closest sibling – shares the natural color palette and grounded material sensibility; Earth Tones focuses more purely on color while Biophilic adds living elements and organic forms
Cottagecore Overlapping romanticism of nature and handmade craft; Cottagecore is more nostalgic and pastoral, Biophilic more contemporary and wellness-focused
Wabi-Sabi Shared appreciation for natural imperfection, organic materials, and quiet beauty; Wabi-Sabi emphasizes transience and age
Japandi Parallel minimalist-natural aesthetic blending Japanese and Scandinavian principles; shares clean lines with natural material warmth
Scandinavian Design Mutual emphasis on natural light, clean functionality, and warm natural materials like wood and wool
Art Nouveau Historical predecessor in nature-worship design; Art Nouveau stylizes nature into ornamental curves, while Biophilic aims for more direct nature integration
Solarpunk Shares the vision of nature-technology harmony and sustainable futures; Solarpunk is more speculative and utopian
Frutiger Eco Corporate-natural hybrid aesthetic from the late 2000s; precursor to modern biophilic web design with glossy nature photography and green branding
Hygge Overlapping warmth and comfort; Hygge is interior-focused coziness while Biophilic is broader nature-connection
Minimalism Shared emphasis on whitespace, simplicity, and breathing room; Biophilic adds warmth and organic texture where Minimalism tends toward austerity

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>Biophilic Design -- Nature Connected</title>
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  <link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Nunito:wght@300;400;600;700&display=swap" rel="stylesheet">
  <style>
    /* =============================================
       CSS Custom Properties
       ============================================= */
    :root {
      --bio-forest: #2D5A3D;
      --bio-fern: #4A7C59;
      --bio-sage: #87AE73;
      --bio-eucalyptus: #B5C9A8;
      --bio-moss: #6B7F5C;
      --bio-brown: #A0522D;
      --bio-terracotta: #CB6D51;
      --bio-sand: #E2CA76;
      --bio-sky: #87CEEB;
      --bio-teal: #5F8A8B;
      --bio-stone: #808075;
      --bio-parchment: #F7F3E8;
      --bio-ivory: #FFFEF2;
      --bio-loam: #2C2C28;
      --bio-charcoal-sage: #4A5446;

      --bio-bg-primary: var(--bio-parchment);
      --bio-bg-secondary: var(--bio-ivory);
      --bio-text-primary: var(--bio-loam);
      --bio-text-secondary: var(--bio-moss);
      --bio-accent-primary: var(--bio-forest);
      --bio-accent-secondary: var(--bio-terracotta);
      --bio-border: var(--bio-eucalyptus);
    }

    /* =============================================
       Reset and Base
       ============================================= */
    *, *::before, *::after {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: 'Nunito', 'Segoe UI', sans-serif;
      font-weight: 400;
      font-size: 1.05rem;
      line-height: 1.8;
      color: var(--bio-text-primary);
      background-color: var(--bio-bg-primary);
      /* Subtle linen texture */
      background-image:
        repeating-linear-gradient(
          0deg,
          transparent,
          transparent 2px,
          rgba(107, 127, 92, 0.015) 2px,
          rgba(107, 127, 92, 0.015) 3px
        ),
        repeating-linear-gradient(
          90deg,
          transparent,
          transparent 2px,
          rgba(107, 127, 92, 0.015) 2px,
          rgba(107, 127, 92, 0.015) 3px
        );
    }

    h1, h2, h3, h4 {
      font-family: 'Cormorant Garamond', 'Georgia', serif;
      font-weight: 400;
      line-height: 1.2;
      color: var(--bio-text-primary);
    }

    a {
      color: var(--bio-accent-primary);
      text-decoration: none;
      transition: color 0.3s ease;
    }

    a:hover {
      color: var(--bio-fern);
    }

    img {
      max-width: 100%;
      height: auto;
      display: block;
    }

    /* =============================================
       Navigation
       ============================================= */
    .nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 1rem 2rem;
      background: rgba(247, 243, 232, 0.92);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--bio-border);
      position: sticky;
      top: 0;
      z-index: 100;
    }

    .nav-brand {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.6rem;
      font-weight: 600;
      color: var(--bio-accent-primary);
      display: flex;
      align-items: center;
      gap: 0.5rem;
    }

    .nav-brand svg {
      width: 28px;
      height: 28px;
    }

    .nav-links {
      display: flex;
      gap: 2rem;
      list-style: none;
    }

    .nav-links a {
      font-family: 'Nunito', sans-serif;
      font-weight: 600;
      font-size: 0.9rem;
      color: var(--bio-text-primary);
      position: relative;
      padding-bottom: 4px;
    }

    .nav-links a::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 50%;
      width: 0;
      height: 2px;
      background: var(--bio-fern);
      border-radius: 2px;
      transition: all 0.3s ease;
      transform: translateX(-50%);
    }

    .nav-links a:hover::after,
    .nav-links a.active::after {
      width: 100%;
    }

    .nav-links a:hover {
      color: var(--bio-accent-primary);
    }

    /* =============================================
       Hero Section
       ============================================= */
    .hero {
      position: relative;
      min-height: 90vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 6rem 2rem;
      overflow: hidden;
      background:
        linear-gradient(
          180deg,
          rgba(247, 243, 232, 0.0) 0%,
          rgba(247, 243, 232, 0.6) 50%,
          var(--bio-bg-primary) 100%
        ),
        linear-gradient(
          135deg,
          rgba(45, 90, 61, 0.08) 0%,
          rgba(181, 201, 168, 0.12) 40%,
          rgba(226, 202, 118, 0.06) 70%,
          rgba(247, 243, 232, 0.0) 100%
        );
    }

    /* Decorative dappled light effect */
    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 300px 200px at 20% 30%, rgba(135, 174, 115, 0.1) 0%, transparent 70%),
        radial-gradient(ellipse 250px 300px at 75% 60%, rgba(181, 201, 168, 0.08) 0%, transparent 70%),
        radial-gradient(ellipse 200px 150px at 50% 20%, rgba(226, 202, 118, 0.06) 0%, transparent 60%);
      pointer-events: none;
    }

    .hero-content {
      position: relative;
      z-index: 1;
      max-width: 700px;
    }

    .hero-tag {
      font-family: 'Nunito', sans-serif;
      font-size: 0.8rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.15em;
      color: var(--bio-fern);
      margin-bottom: 1.5rem;
    }

    .hero h1 {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(2.8rem, 7vw, 5rem);
      font-weight: 600;
      color: var(--bio-accent-primary);
      line-height: 1.08;
      margin-bottom: 1.5rem;
    }

    .hero p {
      font-size: 1.15rem;
      color: var(--bio-text-secondary);
      max-width: 550px;
      margin: 0 auto 2.5rem;
    }

    .hero-actions {
      display: flex;
      gap: 1rem;
      justify-content: center;
      flex-wrap: wrap;
    }

    /* Organic wave at bottom of hero */
    .hero::after {
      content: '';
      position: absolute;
      bottom: -1px;
      left: 0;
      width: 100%;
      height: 80px;
      background: no-repeat bottom / 100% 100%;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0,50 C180,80 360,20 540,40 C720,60 900,10 1080,40 C1260,70 1350,25 1440,50 L1440,80 L0,80Z' fill='%23F7F3E8'/%3E%3C/svg%3E");
    }

    /* =============================================
       Buttons
       ============================================= */
    .btn {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.85rem 2rem;
      font-family: 'Nunito', sans-serif;
      font-weight: 600;
      font-size: 0.95rem;
      letter-spacing: 0.02em;
      border: none;
      border-radius: 50px;
      cursor: pointer;
      transition: all 0.3s ease;
      text-decoration: none;
    }

    .btn-primary {
      background: var(--bio-accent-primary);
      color: var(--bio-parchment);
      box-shadow: 0 2px 12px rgba(45, 90, 61, 0.25);
    }

    .btn-primary:hover {
      background: var(--bio-fern);
      color: var(--bio-parchment);
      box-shadow: 0 6px 20px rgba(45, 90, 61, 0.3);
      transform: translateY(-2px);
    }

    .btn-secondary {
      background: transparent;
      color: var(--bio-accent-secondary);
      border: 2px solid var(--bio-accent-secondary);
    }

    .btn-secondary:hover {
      background: var(--bio-accent-secondary);
      color: var(--bio-ivory);
    }

    /* =============================================
       Sections
       ============================================= */
    .section {
      padding: 5rem 2rem;
      max-width: 1100px;
      margin: 0 auto;
    }

    .section-header {
      text-align: center;
      max-width: 600px;
      margin: 0 auto 3rem;
    }

    .section-header h2 {
      font-size: clamp(2rem, 4vw, 2.8rem);
      color: var(--bio-accent-primary);
      margin-bottom: 1rem;
    }

    .section-header p {
      color: var(--bio-text-secondary);
      font-size: 1.05rem;
    }

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

    .card {
      background: var(--bio-bg-secondary);
      border: 1px solid var(--bio-border);
      border-radius: 16px;
      padding: 2rem;
      position: relative;
      overflow: hidden;
      transition: transform 0.4s ease, box-shadow 0.4s ease;
      box-shadow:
        0 2px 8px rgba(45, 90, 61, 0.05),
        0 8px 24px rgba(45, 90, 61, 0.03);
    }

    .card:hover {
      transform: translateY(-4px);
      box-shadow:
        0 4px 12px rgba(45, 90, 61, 0.1),
        0 16px 40px rgba(45, 90, 61, 0.07);
    }

    .card::before {
      content: '';
      position: absolute;
      top: -20px;
      right: -20px;
      width: 100px;
      height: 100px;
      opacity: 0.05;
      background: no-repeat center / contain;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M80,10 C60,20 40,50 30,80 C50,70 70,40 80,10Z' fill='%232D5A3D'/%3E%3Cpath d='M80,10 C80,10 55,45 30,80' fill='none' stroke='%232D5A3D' stroke-width='1'/%3E%3C/svg%3E");
      pointer-events: none;
    }

    .card-icon {
      width: 48px;
      height: 48px;
      background: rgba(45, 90, 61, 0.08);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 1.25rem;
      color: var(--bio-accent-primary);
      font-size: 1.5rem;
    }

    .card h3 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.35rem;
      font-weight: 600;
      color: var(--bio-accent-primary);
      margin-bottom: 0.75rem;
    }

    .card p {
      color: var(--bio-text-secondary);
      font-size: 0.95rem;
      line-height: 1.7;
    }

    /* =============================================
       Quote / Testimonial
       ============================================= */
    .quote-section {
      background: var(--bio-charcoal-sage);
      color: var(--bio-parchment);
      padding: 5rem 2rem;
      position: relative;
      overflow: hidden;
    }

    .quote-section::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse at 10% 50%, rgba(135, 174, 115, 0.1) 0%, transparent 50%),
        radial-gradient(ellipse at 90% 50%, rgba(45, 90, 61, 0.08) 0%, transparent 50%);
      pointer-events: none;
    }

    .quote-content {
      max-width: 700px;
      margin: 0 auto;
      text-align: center;
      position: relative;
      z-index: 1;
    }

    .quote-content blockquote {
      font-family: 'Cormorant Garamond', serif;
      font-style: italic;
      font-size: clamp(1.3rem, 3vw, 1.8rem);
      line-height: 1.6;
      color: var(--bio-eucalyptus);
      margin-bottom: 1.5rem;
    }

    .quote-content cite {
      font-family: 'Nunito', sans-serif;
      font-style: normal;
      font-size: 0.9rem;
      font-weight: 600;
      color: var(--bio-sage);
      letter-spacing: 0.05em;
    }

    /* =============================================
       Gallery / Mosaic
       ============================================= */
    .gallery {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-template-rows: repeat(2, 220px);
      gap: 1rem;
      margin-top: 3rem;
    }

    .gallery-item {
      background: var(--bio-eucalyptus);
      border-radius: 12px;
      overflow: hidden;
      position: relative;
      transition: transform 0.3s ease;
    }

    .gallery-item:first-child {
      grid-row: span 2;
    }

    .gallery-item:hover {
      transform: scale(1.02);
    }

    .gallery-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    /* Placeholder styling for demo */
    .gallery-placeholder {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: 'Nunito', sans-serif;
      font-size: 0.85rem;
      color: var(--bio-moss);
      background:
        radial-gradient(ellipse at center, rgba(135, 174, 115, 0.15) 0%, transparent 70%),
        var(--bio-eucalyptus);
    }

    /* =============================================
       Footer
       ============================================= */
    .footer {
      background: var(--bio-charcoal-sage);
      color: var(--bio-parchment);
      padding: 3rem 2rem 2rem;
      position: relative;
    }

    .footer::before {
      content: '';
      position: absolute;
      top: -1px;
      left: 0;
      width: 100%;
      height: 60px;
      background: no-repeat top / 100% 100%;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0,0 L0,30 C180,60 360,10 540,30 C720,50 900,5 1080,30 C1260,55 1350,15 1440,30 L1440,0Z' fill='%23F7F3E8'/%3E%3C/svg%3E");
    }

    .footer-content {
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 2fr 1fr 1fr;
      gap: 3rem;
      padding-top: 2rem;
    }

    .footer h4 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.2rem;
      color: var(--bio-eucalyptus);
      margin-bottom: 1rem;
    }

    .footer p {
      color: rgba(247, 243, 232, 0.7);
      font-size: 0.9rem;
      line-height: 1.7;
    }

    .footer-links {
      list-style: none;
    }

    .footer-links li {
      margin-bottom: 0.5rem;
    }

    .footer-links a {
      color: rgba(247, 243, 232, 0.7);
      font-size: 0.9rem;
      transition: color 0.3s ease;
    }

    .footer-links a:hover {
      color: var(--bio-eucalyptus);
    }

    .footer-bottom {
      max-width: 1100px;
      margin: 2rem auto 0;
      padding-top: 1.5rem;
      border-top: 1px solid rgba(181, 201, 168, 0.15);
      text-align: center;
      font-size: 0.8rem;
      color: rgba(247, 243, 232, 0.5);
    }

    /* =============================================
       Floating Leaves (optional ambient effect)
       ============================================= */
    .leaf {
      position: fixed;
      width: 18px;
      height: 18px;
      opacity: 0;
      pointer-events: none;
      z-index: 0;
      background: no-repeat center / contain;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10,2 C6,4 2,10 4,16 C6,14 10,8 16,4 C14,3 12,2 10,2Z' fill='%2387AE73'/%3E%3Cpath d='M10,2 C10,2 8,10 4,16' fill='none' stroke='%234A7C59' stroke-width='0.5'/%3E%3C/svg%3E");
      animation: leafFall linear infinite;
    }

    .leaf:nth-child(1) { left: 8%; animation-duration: 14s; animation-delay: 0s; }
    .leaf:nth-child(2) { left: 25%; animation-duration: 17s; animation-delay: 4s; }
    .leaf:nth-child(3) { left: 50%; animation-duration: 12s; animation-delay: 7s; }
    .leaf:nth-child(4) { left: 72%; animation-duration: 16s; animation-delay: 2s; }
    .leaf:nth-child(5) { left: 92%; animation-duration: 13s; animation-delay: 9s; }

    @keyframes leafFall {
      0% {
        transform: translateY(-5vh) rotate(0deg) scale(0.7);
        opacity: 0;
      }
      8% { opacity: 0.5; }
      50% {
        transform: translateY(50vh) rotate(200deg) translateX(25px) scale(1);
        opacity: 0.35;
      }
      92% { opacity: 0.15; }
      100% {
        transform: translateY(105vh) rotate(380deg) translateX(-15px) scale(0.5);
        opacity: 0;
      }
    }

    /* =============================================
       Wave Divider Utility
       ============================================= */
    .wave-divider {
      width: 100%;
      height: 60px;
      background: no-repeat bottom / 200% 100%;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2880 60' preserveAspectRatio='none'%3E%3Cpath d='M0,30 C360,60 720,0 1080,30 C1440,60 1800,0 2160,30 C2520,60 2880,0 2880,30 L2880,60 L0,60Z' fill='%23B5C9A8' opacity='0.25'/%3E%3Cpath d='M0,35 C400,5 800,55 1200,35 C1600,15 2000,50 2400,35 C2800,20 2880,40 2880,35 L2880,60 L0,60Z' fill='%2387AE73' opacity='0.15'/%3E%3C/svg%3E");
      animation: waveDrift 10s ease-in-out infinite alternate;
    }

    @keyframes waveDrift {
      0% { background-position: 0% bottom; }
      100% { background-position: -50% bottom; }
    }

    /* =============================================
       Responsive
       ============================================= */
    @media (max-width: 768px) {
      .nav {
        flex-direction: column;
        gap: 1rem;
        padding: 1rem;
      }

      .nav-links {
        gap: 1.25rem;
      }

      .hero {
        min-height: 70vh;
        padding: 4rem 1.5rem;
      }

      .footer-content {
        grid-template-columns: 1fr;
        gap: 2rem;
      }

      .gallery {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
      }

      .gallery-item:first-child {
        grid-row: span 1;
      }

      .card-grid {
        grid-template-columns: 1fr;
      }
    }
  </style>
</head>
<body>

  <!-- Ambient floating leaves -->
  <div class="leaf"></div>
  <div class="leaf"></div>
  <div class="leaf"></div>
  <div class="leaf"></div>
  <div class="leaf"></div>

  <!-- Navigation -->
  <nav class="nav">
    <a href="#" class="nav-brand">
      <svg viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
        <path d="M14 3C10 5 5 12 7 22C10 19 14 12 22 6C19 4 16 3 14 3Z" fill="#2D5A3D"/>
        <path d="M14 3C14 3 11 13 7 22" stroke="#4A7C59" stroke-width="1.2" fill="none"/>
      </svg>
      Verdant
    </a>
    <ul class="nav-links">
      <li><a href="#features" class="active">Features</a></li>
      <li><a href="#philosophy">Philosophy</a></li>
      <li><a href="#gallery">Gallery</a></li>
      <li><a href="#contact">Contact</a></li>
    </ul>
  </nav>

  <!-- Hero -->
  <section class="hero">
    <div class="hero-content">
      <div class="hero-tag">Nature-Connected Design</div>
      <h1>Where Digital Meets the Living World</h1>
      <p>We create experiences rooted in nature's wisdom -- organic forms, living color, and the quiet beauty of the world outside your window.</p>
      <div class="hero-actions">
        <a href="#features" class="btn btn-primary">Explore Our Work</a>
        <a href="#philosophy" class="btn btn-secondary">Our Philosophy</a>
      </div>
    </div>
  </section>

  <!-- Wave Divider -->
  <div class="wave-divider"></div>

  <!-- Features -->
  <section class="section" id="features">
    <div class="section-header">
      <h2>Rooted in Nature</h2>
      <p>Every element is drawn from the patterns, materials, and rhythms of the natural world.</p>
    </div>
    <div class="card-grid">
      <div class="card">
        <div class="card-icon">&#127793;</div>
        <h3>Organic Forms</h3>
        <p>Flowing curves, rounded containers, and biomorphic shapes replace rigid grids. Our layouts breathe like a forest canopy, creating space for content to grow naturally.</p>
      </div>
      <div class="card">
        <div class="card-icon">&#127811;</div>
        <h3>Living Palettes</h3>
        <p>Colors drawn from moss, stone, sky, and soil. Muted and layered like real nature -- never synthetic, always grounded in the hues you find stepping outside.</p>
      </div>
      <div class="card">
        <div class="card-icon">&#128167;</div>
        <h3>Fluid Motion</h3>
        <p>Subtle animations inspired by water ripples, drifting leaves, and swaying branches. Movement that calms rather than startles, connecting you to natural rhythms.</p>
      </div>
    </div>
  </section>

  <!-- Quote Section -->
  <section class="quote-section" id="philosophy">
    <div class="quote-content">
      <blockquote>"In every walk with nature, one receives far more than he seeks."</blockquote>
      <cite>-- John Muir</cite>
    </div>
  </section>

  <!-- Gallery -->
  <section class="section" id="gallery">
    <div class="section-header">
      <h2>A Living Portfolio</h2>
      <p>Spaces and screens where nature is not decoration, but foundation.</p>
    </div>
    <div class="gallery">
      <div class="gallery-item">
        <div class="gallery-placeholder">Forest Canopy</div>
      </div>
      <div class="gallery-item">
        <div class="gallery-placeholder">Morning Fog</div>
      </div>
      <div class="gallery-item">
        <div class="gallery-placeholder">River Stone</div>
      </div>
      <div class="gallery-item">
        <div class="gallery-placeholder">Fern Detail</div>
      </div>
      <div class="gallery-item">
        <div class="gallery-placeholder">Moss Texture</div>
      </div>
    </div>
  </section>

  <!-- Footer -->
  <footer class="footer" id="contact">
    <div class="footer-content">
      <div>
        <h4>Verdant Studio</h4>
        <p>Design that grows from the same soil we walk on. We believe technology and nature are not opposites -- they are collaborators in building a more humane, sustainable world.</p>
      </div>
      <div>
        <h4>Explore</h4>
        <ul class="footer-links">
          <li><a href="#">Our Process</a></li>
          <li><a href="#">Case Studies</a></li>
          <li><a href="#">Journal</a></li>
          <li><a href="#">Sustainability</a></li>
        </ul>
      </div>
      <div>
        <h4>Connect</h4>
        <ul class="footer-links">
          <li><a href="#">hello@verdant.studio</a></li>
          <li><a href="#">Instagram</a></li>
          <li><a href="#">LinkedIn</a></li>
          <li><a href="#">Newsletter</a></li>
        </ul>
      </div>
    </div>
    <div class="footer-bottom">
      &copy; 2026 Verdant Studio. Designed with nature in mind.
    </div>
  </footer>

</body>
</html>

Implementation Tips