website_designs

Tropical Maximalism Design Reference

Overview

Tropical Maximalism is a bold, exuberant design aesthetic that fuses the lush visual language of equatorial nature with the “more is more” philosophy of maximalist design. It draws from dense jungle canopies, oversized botanical prints, vibrant tropical flowers, and the overwhelming sensory richness of rainforest ecosystems. Where minimalism strips away, Tropical Maximalism piles on – layering monstera leaves over banana fronds over bird-of-paradise blooms, all rendered in vivid, saturated color. The result is a visual environment that feels alive, humid, and gloriously excessive.

The aesthetic emerged at the intersection of several cultural currents: the biophilic design movement that brought plants into every interior, the maximalist backlash against sterile minimalism, and a renewed fascination with tropical destinations as aspirational lifestyle signifiers. It owes debts to mid-century tiki culture, the botanical illustration traditions of 18th- and 19th-century naturalists, the bold textile prints of brands like Marimekko and Lilly Pulitzer, and the contemporary “tropicalcore” trend that blends vacation vibes with everyday interiors. In digital design, it translates into dense, layered compositions where botanical motifs serve as both ornament and structure – leaf shapes become containers, vine tendrils become dividers, and the entire viewport feels like peering through a greenhouse window.

The palette is anchored by deep, saturated greens (emerald, jungle, palm) paired with hot pinks, coral, mango orange, and splashes of turquoise that evoke tropical waters. Gold and warm brass accents provide a touch of glamour. Unlike restrained botanical design, which might feature a single pressed fern on a white background, Tropical Maximalism demands density – overlapping foliage, competing patterns, and backgrounds that are never left bare. Every surface should feel like it could sprout a new leaf. The mood is simultaneously luxurious and wild, curated and chaotic, polished and primal. It is the design equivalent of stepping off a plane into a Bali resort lobby: overwhelming, intoxicating, and impossible to ignore.


Visual Characteristics

Core Design Traits

Design Principles


Color Palette

The Tropical Maximalism palette is built on the contrast between deep, saturated greens and vivid warm accents. Imagine the color field of a tropical rainforest: layers of green at every value, punctuated by the explosive color of flowering plants, exotic birds, and ripe fruit. Gold and brass metallics add luxury, while deep teal and turquoise reference tropical waters.

Swatch Hex Role/Usage
Jungle Green #1A5C2A Primary background, deep foliage layers
Monstera Leaf #2D8B4E Secondary foliage, card backgrounds
Palm Frond #5CAD3E Bright foliage accents, hover states
Lime Canopy #A8D54B Highlight green, fresh growth accents
Hot Hibiscus #E8184A Primary accent, call-to-action, flower motifs
Fuchsia Bloom #D4327D Secondary pink accent, decorative elements
Coral Plumeria #FF6F61 Warm accent, soft highlight, button hover
Mango Orange #FF9A2E Tertiary warm accent, badges, alerts
Tropical Teal #00877A Cool accent, links, secondary interactive
Turquoise Lagoon #40C9C2 Water reference, info panels, hover accents
Bird-of-Paradise Gold #D4A017 Metallic accent, borders, luxury details
Sunset Papaya #FFBE5C Warm highlight, soft gold alternative
Bark Brown #4A2C1A Text on light backgrounds, wood textures
Cream Coconut #FFF8E8 Light text on dark backgrounds, card surfaces
Deep Canopy #0B3D1A Darkest background, deep shadow layers

CSS Custom Properties

:root {
  /* Greens -- the foundation */
  --tm-jungle: #1A5C2A;
  --tm-monstera: #2D8B4E;
  --tm-palm: #5CAD3E;
  --tm-lime: #A8D54B;
  --tm-deep-canopy: #0B3D1A;

  /* Warm Accents -- the flowers */
  --tm-hibiscus: #E8184A;
  --tm-fuchsia: #D4327D;
  --tm-coral: #FF6F61;
  --tm-mango: #FF9A2E;
  --tm-papaya: #FFBE5C;

  /* Cool Accents -- the water */
  --tm-teal: #00877A;
  --tm-turquoise: #40C9C2;

  /* Metallics and Neutrals */
  --tm-gold: #D4A017;
  --tm-bark: #4A2C1A;
  --tm-coconut: #FFF8E8;

  /* Functional aliases */
  --tm-bg-primary: var(--tm-deep-canopy);
  --tm-bg-secondary: var(--tm-jungle);
  --tm-bg-card: var(--tm-monstera);
  --tm-text-primary: var(--tm-coconut);
  --tm-text-dark: var(--tm-bark);
  --tm-accent-primary: var(--tm-hibiscus);
  --tm-accent-secondary: var(--tm-fuchsia);
  --tm-border-accent: var(--tm-gold);
  --tm-link: var(--tm-turquoise);
  --tm-link-hover: var(--tm-lime);
}

Typography

Tropical Maximalism typography balances bold, expressive display faces with readable body text. Headings should feel lush and dramatic – thick, high-contrast serifs or bold display fonts that command attention like a flowering canopy over the understory of body text. Script and decorative faces appear as accents, evoking hand-painted resort signage and vintage botanical labels. Body text uses clean, warm typefaces that remain legible against busy botanical backgrounds.

Font Weight(s) Usage Link
Playfair Display 700, 800, 900 Hero headings, dramatic titles Playfair Display
Abril Fatface 400 Oversized display text, feature titles Abril Fatface
Cormorant Garamond 400, 500, 600, 700 Subheadings, elegant secondary text Cormorant Garamond
Pacifico 400 Tropical script accent, resort-style labels Pacifico
Josefin Sans 300, 400, 600, 700 Body text, UI elements, navigation Josefin Sans
Nunito 400, 600, 700 Alternate body text, rounded and warm Nunito
Lora 400, 500, 600, 700 Long-form body text, editorial content Lora

Font Pairing Suggestions

Heading Body Vibe
Playfair Display 800 Josefin Sans 400 Bold luxury resort editorial
Abril Fatface 400 Nunito 400 Dramatic tropical statement with soft readability
Cormorant Garamond 600 Lora 400 Elegant botanical journal feel
Pacifico 400 Josefin Sans 300 Playful beachside casual

CSS Example

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;800;900&family=Abril+Fatface&family=Cormorant+Garamond:wght@500;600&family=Pacifico&family=Josefin+Sans:wght@300;400;600&display=swap');

body {
  font-family: 'Josefin Sans', 'Nunito', sans-serif;
  font-size: 1.05rem;
  line-height: 1.8;
  color: var(--tm-coconut);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-weight: 800;
  letter-spacing: 0.01em;
  color: var(--tm-coconut);
  text-shadow: 2px 2px 6px rgba(11, 61, 26, 0.6);
}

h1 {
  font-size: clamp(3rem, 8vw, 6rem);
  line-height: 1.0;
}

h2 {
  font-size: clamp(1.8rem, 4vw, 3rem);
}

.tropical-script {
  font-family: 'Pacifico', cursive;
  font-size: 1.8rem;
  color: var(--tm-papaya);
  text-shadow: 1px 1px 3px rgba(11, 61, 26, 0.4);
}

.tropical-label {
  font-family: 'Josefin Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: var(--tm-lime);
}

Layout Principles


CSS / Design Techniques

Tropical Card

.tropical-card {
  background: linear-gradient(
    160deg,
    rgba(45, 139, 78, 0.9) 0%,
    rgba(26, 92, 42, 0.95) 100%
  );
  border: 2px solid var(--tm-gold);
  border-radius: 16px;
  padding: 2rem 2rem 2rem 2.5rem;
  position: relative;
  overflow: hidden;
  box-shadow:
    0 8px 32px rgba(11, 61, 26, 0.4),
    0 2px 8px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Leaf vein texture overlay */
.tropical-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      110deg,
      transparent,
      transparent 30px,
      rgba(168, 213, 75, 0.06) 30px,
      rgba(168, 213, 75, 0.06) 31px
    ),
    repeating-linear-gradient(
      70deg,
      transparent,
      transparent 45px,
      rgba(255, 248, 232, 0.03) 45px,
      rgba(255, 248, 232, 0.03) 46px
    );
  pointer-events: none;
}

/* Gold accent bar on left edge */
.tropical-card::after {
  content: '';
  position: absolute;
  top: 16px;
  bottom: 16px;
  left: 0;
  width: 4px;
  background: linear-gradient(
    180deg,
    var(--tm-gold),
    var(--tm-mango),
    var(--tm-gold)
  );
  border-radius: 0 4px 4px 0;
}

.tropical-card:hover {
  transform: translateY(-4px);
  box-shadow:
    0 16px 48px rgba(11, 61, 26, 0.5),
    0 4px 12px rgba(0, 0, 0, 0.25);
}

.tropical-card h3 {
  color: var(--tm-papaya);
  margin-bottom: 0.75rem;
}

.tropical-card p {
  color: var(--tm-coconut);
  line-height: 1.7;
}

Tropical Button

.tropical-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(
    135deg,
    var(--tm-hibiscus) 0%,
    var(--tm-fuchsia) 100%
  );
  color: var(--tm-coconut);
  border: 2px solid transparent;
  border-radius: 30px;
  padding: 14px 36px;
  font-family: 'Josefin Sans', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: all 0.35s ease;
  box-shadow:
    0 4px 16px rgba(232, 24, 74, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.tropical-button::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    var(--tm-mango) 0%,
    var(--tm-coral) 100%
  );
  opacity: 0;
  transition: opacity 0.35s ease;
}

.tropical-button:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow:
    0 8px 24px rgba(232, 24, 74, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  border-color: var(--tm-gold);
}

.tropical-button:hover::before {
  opacity: 1;
}

.tropical-button span {
  position: relative;
  z-index: 1;
}

/* Secondary / outline variant */
.tropical-button--outline {
  background: transparent;
  border: 2px solid var(--tm-turquoise);
  color: var(--tm-turquoise);
  box-shadow: none;
}

.tropical-button--outline:hover {
  background: var(--tm-turquoise);
  color: var(--tm-deep-canopy);
  border-color: var(--tm-turquoise);
  box-shadow: 0 4px 16px rgba(64, 201, 194, 0.35);
}

Tropical Navigation

.tropical-nav {
  background: linear-gradient(
    180deg,
    rgba(11, 61, 26, 0.97) 0%,
    rgba(26, 92, 42, 0.95) 100%
  );
  backdrop-filter: blur(8px);
  border-bottom: 2px solid var(--tm-gold);
  padding: 0 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 4px 20px rgba(11, 61, 26, 0.5);
}

.tropical-nav .logo {
  font-family: 'Pacifico', cursive;
  font-size: 1.6rem;
  color: var(--tm-papaya);
  text-decoration: none;
  padding: 1rem 0;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
}

.tropical-nav ul {
  list-style: none;
  display: flex;
  gap: 0;
  margin: 0;
  padding: 0;
}

.tropical-nav a {
  font-family: 'Josefin Sans', sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--tm-coconut);
  text-decoration: none;
  padding: 1.2rem 1.4rem;
  display: block;
  position: relative;
  transition: color 0.25s ease;
}

.tropical-nav a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--tm-hibiscus),
    var(--tm-mango)
  );
  border-radius: 3px 3px 0 0;
  transition: width 0.3s ease;
}

.tropical-nav a:hover {
  color: var(--tm-lime);
}

.tropical-nav a:hover::after {
  width: 80%;
}

Tropical Hero Section

.tropical-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 6rem 2rem;
  overflow: hidden;
  background:
    /* Dappled light effect */
    radial-gradient(
      ellipse 300px 200px at 20% 30%,
      rgba(168, 213, 75, 0.15) 0%,
      transparent 70%
    ),
    radial-gradient(
      ellipse 250px 350px at 80% 60%,
      rgba(212, 50, 125, 0.1) 0%,
      transparent 70%
    ),
    radial-gradient(
      ellipse 200px 200px at 50% 80%,
      rgba(64, 201, 194, 0.12) 0%,
      transparent 70%
    ),
    /* Deep jungle gradient */
    linear-gradient(
      175deg,
      var(--tm-deep-canopy) 0%,
      var(--tm-jungle) 40%,
      #153D22 70%,
      var(--tm-deep-canopy) 100%
    );
}

/* Foreground leaf silhouette overlay */
.tropical-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    /* Simulated large leaf shapes via radial gradients */
    radial-gradient(
      ellipse 400px 120px at -5% 20%,
      rgba(45, 139, 78, 0.5) 0%,
      transparent 70%
    ),
    radial-gradient(
      ellipse 120px 400px at 95% 70%,
      rgba(45, 139, 78, 0.4) 0%,
      transparent 70%
    ),
    radial-gradient(
      ellipse 300px 100px at 10% 90%,
      rgba(26, 92, 42, 0.6) 0%,
      transparent 70%
    );
  pointer-events: none;
}

.tropical-hero h1 {
  font-family: 'Playfair Display', serif;
  font-weight: 900;
  font-size: clamp(3.5rem, 10vw, 8rem);
  line-height: 0.95;
  color: var(--tm-coconut);
  position: relative;
  z-index: 2;
  text-shadow:
    0 2px 20px rgba(11, 61, 26, 0.7),
    0 0 60px rgba(168, 213, 75, 0.15);
}

.tropical-hero .tagline {
  font-family: 'Pacifico', cursive;
  font-size: clamp(1.2rem, 3vw, 2rem);
  color: var(--tm-papaya);
  margin-top: 1.5rem;
  position: relative;
  z-index: 2;
}

.tropical-hero .subtitle {
  font-family: 'Josefin Sans', sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  color: var(--tm-turquoise);
  margin-top: 2rem;
  position: relative;
  z-index: 2;
}

Botanical Leaf Divider

/* Wave-shaped section divider with leaf-green gradient */
.tropical-divider {
  position: relative;
  height: 80px;
  overflow: hidden;
  background: var(--tm-deep-canopy);
}

.tropical-divider::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: -5%;
  width: 110%;
  height: 100%;
  background: var(--tm-jungle);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}

/* Flat gradient strip alternative */
.tropical-strip {
  height: 6px;
  border: none;
  margin: 0;
  background: linear-gradient(
    90deg,
    var(--tm-deep-canopy),
    var(--tm-monstera),
    var(--tm-lime),
    var(--tm-mango),
    var(--tm-hibiscus),
    var(--tm-fuchsia),
    var(--tm-turquoise),
    var(--tm-monstera),
    var(--tm-deep-canopy)
  );
}

Dense Foliage Background Pattern

/* Layered leaf-vein pattern using CSS gradients */
.tropical-foliage-bg {
  background-color: var(--tm-deep-canopy);
  background-image:
    /* Diagonal leaf veins */
    repeating-linear-gradient(
      60deg,
      transparent,
      transparent 40px,
      rgba(45, 139, 78, 0.08) 40px,
      rgba(45, 139, 78, 0.08) 41px
    ),
    repeating-linear-gradient(
      120deg,
      transparent,
      transparent 40px,
      rgba(92, 173, 62, 0.06) 40px,
      rgba(92, 173, 62, 0.06) 41px
    ),
    /* Dappled canopy light spots */
    radial-gradient(
      circle 3px at 25px 25px,
      rgba(168, 213, 75, 0.07) 0%,
      transparent 100%
    ),
    radial-gradient(
      circle 2px at 55px 40px,
      rgba(255, 190, 92, 0.05) 0%,
      transparent 100%
    ),
    /* Deep gradient base */
    linear-gradient(
      180deg,
      var(--tm-deep-canopy) 0%,
      rgba(26, 92, 42, 0.3) 50%,
      var(--tm-deep-canopy) 100%
    );
  background-size: 60px 60px, 60px 60px, 80px 60px, 80px 60px, 100% 100%;
}

Rattan Texture Panel

/* Woven rattan / bamboo texture simulation */
.tropical-rattan {
  background-color: #8B6D3F;
  background-image:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 8px,
      rgba(74, 44, 26, 0.2) 8px,
      rgba(74, 44, 26, 0.2) 10px
    ),
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 8px,
      rgba(74, 44, 26, 0.15) 8px,
      rgba(74, 44, 26, 0.15) 10px
    );
  border: 3px solid var(--tm-bark);
  border-radius: 12px;
  padding: 2rem;
  color: var(--tm-coconut);
  box-shadow:
    inset 0 2px 4px rgba(0, 0, 0, 0.15),
    0 4px 12px rgba(74, 44, 26, 0.3);
}

Tropical Feature Grid

/* Asymmetric botanical grid layout */
.tropical-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: minmax(100px, auto);
  gap: 1.5rem;
  padding: 2rem;
}

.tropical-grid-item:nth-child(1) {
  grid-column: 1 / 8;
  grid-row: 1 / 3;
}

.tropical-grid-item:nth-child(2) {
  grid-column: 8 / 13;
  grid-row: 1 / 2;
}

.tropical-grid-item:nth-child(3) {
  grid-column: 8 / 13;
  grid-row: 2 / 3;
}

.tropical-grid-item:nth-child(4) {
  grid-column: 1 / 5;
  grid-row: 3 / 4;
}

.tropical-grid-item:nth-child(5) {
  grid-column: 5 / 13;
  grid-row: 3 / 4;
}

.tropical-grid-item {
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  background: var(--tm-jungle);
  border: 2px solid rgba(212, 160, 23, 0.3);
  transition: transform 0.3s ease;
}

.tropical-grid-item:hover {
  transform: scale(1.02);
  z-index: 2;
}

Design Do’s and Don’ts

Do’s

Don’ts


Aesthetic Relationship
Maximalism Parent philosophy; Tropical Maximalism applies the “more is more” principle specifically through botanical density and tropical motifs
Cottagecore Both celebrate nature and abundance, but Cottagecore is temperate, muted, and pastoral while Tropical Maximalism is equatorial, vivid, and wild
Art Nouveau Shares organic, nature-derived forms and flowing botanical lines, but Art Nouveau is more restrained and uses a muted, elegant palette
Cluttercore Fellow maximalist variant; both fill every surface, but Cluttercore uses collected objects while Tropical Maximalism uses botanical layers
Dopamine Design Overlapping philosophy of vivid, mood-boosting color; Tropical Maximalism channels that energy specifically through a nature-based visual language
Frutiger Aero Both incorporate lush greenery and natural elements into digital design, but Frutiger Aero favors glossy, clean interfaces over maximalist density
Coastal Style Shares tropical location references (ocean, sand, palm trees), but Coastal Style is minimal and breezy where Tropical Maximalism is dense and layered
Chinoiserie Both use exotic botanical and fauna motifs with rich ornamentation; Chinoiserie references East Asian aesthetics while Tropical Maximalism references equatorial jungles
Hollywood Regency Shares the luxury, gold accents, and bold pattern mixing; Hollywood Regency adds tropical plants as glamorous props rather than environmental immersion
Afrofuturism Can overlap in lush botanical imagery and vivid saturated palettes, especially when drawing from African tropical landscapes and cultural motifs

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>Tropical Maximalism</title>
  <link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;800;900&family=Abril+Fatface&family=Pacifico&family=Josefin+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
  <style>
    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

    :root {
      --tm-jungle: #1A5C2A;
      --tm-monstera: #2D8B4E;
      --tm-palm: #5CAD3E;
      --tm-lime: #A8D54B;
      --tm-deep-canopy: #0B3D1A;
      --tm-hibiscus: #E8184A;
      --tm-fuchsia: #D4327D;
      --tm-coral: #FF6F61;
      --tm-mango: #FF9A2E;
      --tm-papaya: #FFBE5C;
      --tm-teal: #00877A;
      --tm-turquoise: #40C9C2;
      --tm-gold: #D4A017;
      --tm-bark: #4A2C1A;
      --tm-coconut: #FFF8E8;
    }

    body {
      font-family: 'Josefin Sans', 'Helvetica Neue', sans-serif;
      font-size: 1.05rem;
      line-height: 1.8;
      color: var(--tm-coconut);
      background: var(--tm-deep-canopy);
      -webkit-font-smoothing: antialiased;
    }

    /* Navigation */
    .nav {
      background: linear-gradient(180deg, rgba(11,61,26,0.97), rgba(26,92,42,0.95));
      border-bottom: 2px solid var(--tm-gold);
      padding: 0 2rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      position: sticky;
      top: 0;
      z-index: 100;
      box-shadow: 0 4px 20px rgba(11, 61, 26, 0.5);
    }
    .nav .logo {
      font-family: 'Pacifico', cursive;
      font-size: 1.5rem;
      color: var(--tm-papaya);
      text-decoration: none;
      padding: 1rem 0;
    }
    .nav ul { list-style: none; display: flex; }
    .nav a {
      font-family: 'Josefin Sans', sans-serif;
      font-size: 0.8rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--tm-coconut);
      text-decoration: none;
      padding: 1.2rem;
      display: block;
      position: relative;
      transition: color 0.25s ease;
    }
    .nav a::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--tm-hibiscus), var(--tm-mango));
      border-radius: 3px 3px 0 0;
      transition: width 0.3s ease;
    }
    .nav a:hover { color: var(--tm-lime); }
    .nav a:hover::after { width: 80%; }

    /* Hero */
    .hero {
      position: relative;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 6rem 2rem;
      overflow: hidden;
      background:
        radial-gradient(ellipse 350px 200px at 15% 25%, rgba(168,213,75,0.14), transparent 70%),
        radial-gradient(ellipse 250px 350px at 85% 55%, rgba(212,50,125,0.1), transparent 70%),
        radial-gradient(ellipse 300px 200px at 50% 85%, rgba(64,201,194,0.1), transparent 70%),
        linear-gradient(175deg, var(--tm-deep-canopy), var(--tm-jungle) 40%, #153D22 70%, var(--tm-deep-canopy));
    }
    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 450px 130px at -5% 15%, rgba(45,139,78,0.5), transparent 70%),
        radial-gradient(ellipse 130px 450px at 98% 65%, rgba(45,139,78,0.4), transparent 70%),
        radial-gradient(ellipse 350px 100px at 5% 92%, rgba(26,92,42,0.55), transparent 70%);
      pointer-events: none;
      z-index: 1;
    }
    .hero h1 {
      font-family: 'Playfair Display', serif;
      font-weight: 900;
      font-size: clamp(3.5rem, 10vw, 8rem);
      line-height: 0.95;
      position: relative;
      z-index: 2;
      text-shadow: 0 2px 20px rgba(11,61,26,0.7), 0 0 60px rgba(168,213,75,0.12);
    }
    .hero .tagline {
      font-family: 'Pacifico', cursive;
      font-size: clamp(1.2rem, 3vw, 2rem);
      color: var(--tm-papaya);
      margin-top: 1.5rem;
      position: relative;
      z-index: 2;
    }
    .hero .subtitle {
      font-family: 'Josefin Sans', sans-serif;
      font-size: 0.75rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.3em;
      color: var(--tm-turquoise);
      margin-top: 2rem;
      position: relative;
      z-index: 2;
    }
    .hero .cta-group {
      display: flex;
      gap: 1rem;
      margin-top: 3rem;
      position: relative;
      z-index: 2;
      flex-wrap: wrap;
      justify-content: center;
    }

    /* Divider */
    .divider {
      height: 6px;
      border: none;
      background: linear-gradient(90deg,
        var(--tm-deep-canopy), var(--tm-monstera), var(--tm-lime),
        var(--tm-mango), var(--tm-hibiscus), var(--tm-fuchsia),
        var(--tm-turquoise), var(--tm-monstera), var(--tm-deep-canopy));
    }

    /* Buttons */
    .btn {
      display: inline-flex;
      align-items: center;
      border-radius: 30px;
      padding: 14px 36px;
      font-family: 'Josefin Sans', sans-serif;
      font-size: 0.9rem;
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      cursor: pointer;
      text-decoration: none;
      transition: all 0.3s ease;
      border: 2px solid transparent;
    }
    .btn--primary {
      background: linear-gradient(135deg, var(--tm-hibiscus), var(--tm-fuchsia));
      color: var(--tm-coconut);
      box-shadow: 0 4px 16px rgba(232, 24, 74, 0.35);
    }
    .btn--primary:hover {
      transform: translateY(-2px) scale(1.03);
      box-shadow: 0 8px 24px rgba(232, 24, 74, 0.5);
      border-color: var(--tm-gold);
    }
    .btn--outline {
      background: transparent;
      border-color: var(--tm-turquoise);
      color: var(--tm-turquoise);
    }
    .btn--outline:hover {
      background: var(--tm-turquoise);
      color: var(--tm-deep-canopy);
      box-shadow: 0 4px 16px rgba(64, 201, 194, 0.35);
    }

    /* Sections */
    .section { padding: 5rem 2rem; position: relative; }
    .section--jungle {
      background:
        repeating-linear-gradient(60deg, transparent, transparent 40px, rgba(45,139,78,0.07) 40px, rgba(45,139,78,0.07) 41px),
        repeating-linear-gradient(120deg, transparent, transparent 40px, rgba(92,173,62,0.05) 40px, rgba(92,173,62,0.05) 41px),
        linear-gradient(180deg, var(--tm-deep-canopy), var(--tm-jungle) 50%, var(--tm-deep-canopy));
    }
    .section--lagoon {
      background:
        radial-gradient(ellipse at 30% 50%, rgba(64,201,194,0.1), transparent 60%),
        linear-gradient(180deg, var(--tm-deep-canopy), #0A2E2B 50%, var(--tm-deep-canopy));
    }
    .section--bloom {
      background:
        radial-gradient(ellipse at 70% 30%, rgba(232,24,74,0.08), transparent 50%),
        radial-gradient(ellipse at 20% 70%, rgba(212,50,125,0.06), transparent 50%),
        var(--tm-deep-canopy);
    }
    .container { max-width: 960px; margin: 0 auto; }
    .section h2 {
      font-family: 'Playfair Display', serif;
      font-weight: 800;
      font-size: clamp(2rem, 5vw, 3.5rem);
      margin-bottom: 0.5rem;
      text-shadow: 2px 2px 8px rgba(11, 61, 26, 0.5);
    }
    .section .section-accent {
      font-family: 'Pacifico', cursive;
      font-size: 1.2rem;
      color: var(--tm-papaya);
      margin-bottom: 2rem;
      display: block;
    }
    .section p { max-width: 700px; margin-bottom: 1.5rem; color: rgba(255,248,232,0.9); }

    /* Cards */
    .card-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 2rem;
      margin-top: 2rem;
    }
    .card {
      background: linear-gradient(160deg, rgba(45,139,78,0.85), rgba(26,92,42,0.92));
      border: 2px solid rgba(212, 160, 23, 0.4);
      border-radius: 16px;
      padding: 2rem 2rem 2rem 2.5rem;
      position: relative;
      overflow: hidden;
      box-shadow: 0 8px 32px rgba(11,61,26,0.4), 0 2px 8px rgba(0,0,0,0.2);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    .card::before {
      content: '';
      position: absolute;
      inset: 0;
      background: repeating-linear-gradient(110deg, transparent, transparent 30px, rgba(168,213,75,0.05) 30px, rgba(168,213,75,0.05) 31px);
      pointer-events: none;
    }
    .card::after {
      content: '';
      position: absolute;
      top: 16px; bottom: 16px; left: 0; width: 4px;
      background: linear-gradient(180deg, var(--tm-gold), var(--tm-mango), var(--tm-gold));
      border-radius: 0 4px 4px 0;
    }
    .card:hover {
      transform: translateY(-6px);
      box-shadow: 0 16px 48px rgba(11,61,26,0.5), 0 4px 12px rgba(0,0,0,0.25);
    }
    .card .card-icon { font-size: 2.5rem; margin-bottom: 1rem; display: block; }
    .card h3 {
      font-family: 'Playfair Display', serif;
      font-weight: 700;
      font-size: 1.4rem;
      color: var(--tm-papaya);
      margin-bottom: 0.75rem;
    }
    .card p { color: rgba(255,248,232,0.85); font-size: 0.95rem; line-height: 1.7; }

    /* Feature panel with rattan texture */
    .feature-panel {
      background-color: #6B5230;
      background-image:
        repeating-linear-gradient(0deg, transparent, transparent 8px, rgba(74,44,26,0.2) 8px, rgba(74,44,26,0.2) 10px),
        repeating-linear-gradient(90deg, transparent, transparent 8px, rgba(74,44,26,0.15) 8px, rgba(74,44,26,0.15) 10px);
      border: 3px solid var(--tm-bark);
      border-radius: 16px;
      padding: 3rem;
      margin-top: 3rem;
      display: flex;
      align-items: center;
      gap: 3rem;
      box-shadow: inset 0 2px 4px rgba(0,0,0,0.15), 0 8px 24px rgba(74,44,26,0.35);
    }
    .feature-panel .text-side { flex: 1; }
    .feature-panel h3 {
      font-family: 'Abril Fatface', serif;
      font-size: 2rem;
      color: var(--tm-coconut);
      margin-bottom: 1rem;
    }
    .feature-panel p { color: rgba(255,248,232,0.85); }
    .feature-panel .badge {
      display: inline-block;
      background: var(--tm-hibiscus);
      color: var(--tm-coconut);
      font-size: 0.7rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      padding: 4px 14px;
      border-radius: 20px;
      margin-bottom: 1rem;
    }
    .feature-panel .visual-side {
      flex: 0 0 200px;
      height: 200px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--tm-monstera), var(--tm-teal));
      border: 3px solid var(--tm-gold);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 5rem;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    }

    /* Quote */
    .quote-block { text-align: center; padding: 3rem 2rem; }
    .quote-block blockquote {
      font-family: 'Playfair Display', serif;
      font-weight: 700;
      font-size: clamp(1.4rem, 3vw, 2.2rem);
      font-style: italic;
      max-width: 700px;
      margin: 0 auto;
      line-height: 1.5;
    }
    .quote-block blockquote::before {
      content: '\201C';
      font-size: 5rem;
      color: var(--tm-gold);
      display: block;
      line-height: 0.5;
      margin-bottom: 1rem;
      opacity: 0.6;
    }
    .quote-block cite {
      display: block;
      font-family: 'Josefin Sans', sans-serif;
      font-style: normal;
      font-size: 0.8rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      color: var(--tm-turquoise);
      margin-top: 1.5rem;
    }

    /* Footer */
    .footer {
      background: var(--tm-deep-canopy);
      border-top: 2px solid var(--tm-gold);
      padding: 3rem 2rem;
      text-align: center;
    }
    .footer .footer-brand {
      font-family: 'Pacifico', cursive;
      font-size: 1.4rem;
      color: var(--tm-papaya);
      margin-bottom: 1rem;
    }
    .footer p { font-size: 0.85rem; color: rgba(255,248,232,0.5); }
    .footer .footer-links {
      list-style: none;
      display: flex;
      justify-content: center;
      gap: 2rem;
      margin-top: 1rem;
    }
    .footer .footer-links a {
      font-size: 0.8rem;
      color: var(--tm-turquoise);
      text-decoration: none;
      transition: color 0.25s ease;
    }
    .footer .footer-links a:hover { color: var(--tm-lime); }

    /* Responsive */
    @media (max-width: 768px) {
      .nav { flex-direction: column; padding: 1rem; }
      .nav ul { flex-wrap: wrap; justify-content: center; }
      .hero { min-height: 80vh; padding: 4rem 1.5rem; }
      .feature-panel { flex-direction: column; text-align: center; }
      .feature-panel .visual-side { flex: 0 0 150px; height: 150px; font-size: 3.5rem; }
      .card-grid { grid-template-columns: 1fr; }
    }
  </style>
</head>
<body>

  <!-- Navigation -->
  <nav class="nav">
    <a href="#" class="logo">Tropicalia</a>
    <ul>
      <li><a href="#explore">Explore</a></li>
      <li><a href="#botanicals">Botanicals</a></li>
      <li><a href="#collection">Collection</a></li>
      <li><a href="#about">About</a></li>
    </ul>
  </nav>

  <!-- Hero -->
  <section class="hero">
    <h1>Into the<br>Canopy</h1>
    <p class="tagline">where every leaf tells a story</p>
    <p class="subtitle">Bold botanical design at maximum volume</p>
    <div class="cta-group">
      <a href="#explore" class="btn btn--primary">Explore the Jungle</a>
      <a href="#collection" class="btn btn--outline">View Collection</a>
    </div>
  </section>

  <hr class="divider">

  <!-- Section: Botanical Abundance -->
  <section id="explore" class="section section--jungle">
    <div class="container">
      <span class="section-accent">dense, lush, alive</span>
      <h2>Botanical Abundance</h2>
      <p>
        Every surface is a canvas for nature's excess. Monstera leaves
        overlap palm fronds, hibiscus blooms burst through fern canopies,
        and the air itself feels thick with green. This is design that
        breathes, grows, and refuses to be contained.
      </p>
      <div class="card-grid">
        <div class="card">
          <span class="card-icon">&#127811;</span>
          <h3>Dense Foliage</h3>
          <p>Layered botanical patterns create depth and immersion.
             Every pixel is a leaf, every gradient a canopy shift.</p>
        </div>
        <div class="card">
          <span class="card-icon">&#127804;</span>
          <h3>Vivid Blossoms</h3>
          <p>Hot pinks and corals punctuate the green foundation
             like tropical flowers emerging after rain.</p>
        </div>
        <div class="card">
          <span class="card-icon">&#127796;</span>
          <h3>Natural Luxury</h3>
          <p>Gold accents and rattan textures elevate wild jungle
             energy into polished, resort-worthy elegance.</p>
        </div>
      </div>
    </div>
  </section>

  <hr class="divider">

  <!-- Section: Feature Panel -->
  <section id="botanicals" class="section section--lagoon">
    <div class="container">
      <span class="section-accent">from canopy to coastline</span>
      <h2>Layers of Paradise</h2>
      <p>
        Tropical Maximalism builds its world through relentless layering.
        Foreground leaves cast shadows on mid-ground flowers, which sit
        atop deep-jungle backgrounds. The effect is dimensional,
        immersive, and gloriously excessive.
      </p>
      <div class="feature-panel">
        <div class="text-side">
          <span class="badge">Featured</span>
          <h3>The Monstera<br>Collection</h3>
          <p>
            Oversized split-leaf philodendrons at dramatic scale.
            Bold enough to be architecture, organic enough to be alive.
          </p>
          <a href="#" class="btn btn--primary" style="margin-top: 1rem;">Discover More</a>
        </div>
        <div class="visual-side">&#127807;</div>
      </div>
    </div>
  </section>

  <hr class="divider">

  <!-- Section: Quote -->
  <section class="section section--bloom">
    <div class="container">
      <div class="quote-block">
        <blockquote>
          The jungle does not do minimalism. Neither should your design.
        </blockquote>
        <cite>The Tropical Maximalism Manifesto</cite>
      </div>
    </div>
  </section>

  <hr class="divider">

  <!-- Footer -->
  <footer class="footer">
    <div class="footer-brand">Tropicalia</div>
    <p>Bold botanical design. Maximum volume. Every leaf counts.</p>
    <ul class="footer-links">
      <li><a href="#">Explore</a></li>
      <li><a href="#">Botanicals</a></li>
      <li><a href="#">Collection</a></li>
      <li><a href="#">About</a></li>
    </ul>
  </footer>

</body>
</html>

Implementation Tips