website_designs

Polychrome Design Reference

Polychrome is a graphic design aesthetic that originated in the early 2010s. It is characterized by liquid ink splatters, paint explosions, and colors merging and blurring together. The visual style is defined by colors flowing together in abstract designs over simple, clean backgrounds. The name references multi-colored expression – from the Greek “poly” (many) and “chroma” (color). Unlike aesthetics that constrain their palette, Polychrome celebrates the full chromatic spectrum rendered through organic, fluid media: ink dispersing in water, smoke formations, oil mixing, and paint detonations. The mood is simultaneously elegant and explosive – controlled chaos captured at the moment of maximum chromatic intensity.


Visual Characteristics

Core Motifs and Patterns

Design Principles


Color Palette

Primary Scheme

Role Colors
Background Pure white, off-white, light gray, or deep black
Primary chromatic accents Full spectrum – vivid magenta, cyan, cobalt blue, emerald green, golden yellow, hot orange, deep violet
Secondary blending tones Intermediate hues formed by color mixing – teal, coral, amber, lavender, chartreuse
Diffusion edges Softened, desaturated versions of primary hues where colors fade into the background

Detailed Palette

Color Hex Usage
Pure White #FFFFFF Primary light background
Soft White #F7F7F7 Slightly softened light background
Light Mist #EBEBEB Subtle background variation
Void Black #0A0A0A Primary dark background variant
Deep Ink #1A1A2E Dark background with blue undertone
Vivid Magenta #E91E8C Primary warm-cool accent, ink blooms
Hot Pink #FF2D7B High-energy accent, paint explosions
Deep Fuchsia #C2185B Rich warm accent, concentrated ink
Cobalt Blue #1565C0 Primary cool accent, water-dispersed ink
Electric Cyan #00BCD4 Bright cool accent, liquid flows
Sky Blue #42A5F5 Lighter cool accent, diffused edges
Emerald Green #00C853 Primary green accent, vivid ink drops
Teal #009688 Blue-green intermediate, color blending zones
Golden Yellow #FFD600 Warm bright accent, paint splatter
Amber Orange #FF8F00 Warm accent, explosive elements
Hot Orange #FF5722 Aggressive warm accent
Deep Violet #7B1FA2 Rich purple accent, smoke elements
Lavender #AB47BC Soft purple, diffusion and blending
Coral #FF7043 Warm intermediate, color merging
Chartreuse #C6FF00 Yellow-green intermediate, vivid mixing

Suggested CSS Custom Properties

:root {
  /* Background tones */
  --poly-white: #ffffff;
  --poly-soft-white: #f7f7f7;
  --poly-mist: #ebebeb;
  --poly-light-gray: #d0d0d0;
  --poly-medium-gray: #888888;
  --poly-dark: #1a1a2e;
  --poly-black: #0a0a0a;

  /* Primary chromatic accents */
  --poly-magenta: #e91e8c;
  --poly-pink: #ff2d7b;
  --poly-fuchsia: #c2185b;
  --poly-cobalt: #1565c0;
  --poly-cyan: #00bcd4;
  --poly-sky: #42a5f5;
  --poly-emerald: #00c853;
  --poly-teal: #009688;
  --poly-yellow: #ffd600;
  --poly-amber: #ff8f00;
  --poly-orange: #ff5722;
  --poly-violet: #7b1fa2;
  --poly-lavender: #ab47bc;
  --poly-coral: #ff7043;
  --poly-chartreuse: #c6ff00;

  /* Translucent variants for layering and glow */
  --poly-glow-magenta: rgba(233, 30, 140, 0.5);
  --poly-glow-cyan: rgba(0, 188, 212, 0.5);
  --poly-glow-cobalt: rgba(21, 101, 192, 0.5);
  --poly-glow-emerald: rgba(0, 200, 83, 0.5);
  --poly-glow-violet: rgba(123, 31, 162, 0.5);
  --poly-glow-yellow: rgba(255, 214, 0, 0.5);
  --poly-glow-orange: rgba(255, 87, 34, 0.4);

  /* Mist / diffusion variants (very low opacity for soft edges) */
  --poly-mist-magenta: rgba(233, 30, 140, 0.15);
  --poly-mist-cyan: rgba(0, 188, 212, 0.15);
  --poly-mist-cobalt: rgba(21, 101, 192, 0.12);
  --poly-mist-emerald: rgba(0, 200, 83, 0.12);
  --poly-mist-violet: rgba(123, 31, 162, 0.12);
  --poly-mist-yellow: rgba(255, 214, 0, 0.12);

  /* Functional mappings */
  --poly-bg-primary: var(--poly-white);
  --poly-bg-secondary: var(--poly-soft-white);
  --poly-bg-surface: var(--poly-mist);
  --poly-text-primary: var(--poly-dark);
  --poly-text-secondary: #444444;
  --poly-text-muted: var(--poly-medium-gray);
  --poly-accent-1: var(--poly-magenta);
  --poly-accent-2: var(--poly-cobalt);
  --poly-accent-3: var(--poly-cyan);
  --poly-border: var(--poly-light-gray);
}

Palette Approaches


Typography

Typeface Characteristics

Polychrome typography is clean, modern, and subordinate to the chromatic visual elements:

Font Style Usage
Poppins Geometric, rounded, modern Body text, paragraphs, general content
Montserrat Clean geometric sans Headings, section titles, navigation
Raleway Elegant thin-to-bold sans Display headings, hero text
Quicksand Rounded, friendly, modern Subheadings, labels, captions
DM Sans Clean, neutral, contemporary Body text, UI elements
Josefin Sans Geometric, elegant, light Display text, artistic headings
Outfit Modern, versatile sans All-purpose: headings and body
Sora Clean, geometric, slightly rounded Headings, UI text
Work Sans Neutral, professional, clean Body text, descriptions
Space Grotesk Modern grotesk with character Display headings, accent text

Typography CSS Example

/* Import Polychrome fonts */
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@200;300;400;600&family=Montserrat:wght@300;400;500;600&family=Poppins:wght@300;400;500&family=Quicksand:wght@400;500;600&display=swap');

/* Hero / Display text with chromatic gradient */
h1 {
  font-family: 'Raleway', 'Montserrat', sans-serif;
  font-weight: 200;
  font-size: clamp(2.5rem, 7vw, 5.5rem);
  letter-spacing: 0.06em;
  line-height: 1.1;
  color: var(--poly-dark);
}

/* Gradient text variant for display */
.poly-gradient-text {
  background: linear-gradient(
    135deg,
    var(--poly-magenta) 0%,
    var(--poly-violet) 20%,
    var(--poly-cobalt) 40%,
    var(--poly-cyan) 60%,
    var(--poly-emerald) 80%,
    var(--poly-yellow) 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Section headings */
h2 {
  font-family: 'Montserrat', 'Outfit', sans-serif;
  font-weight: 500;
  font-size: clamp(1.5rem, 3.5vw, 2.5rem);
  letter-spacing: 0.04em;
  color: var(--poly-dark);
}

/* Subheadings with accent color */
h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  letter-spacing: 0.03em;
  color: var(--poly-cobalt);
}

/* Body text */
body {
  font-family: 'Poppins', 'DM Sans', sans-serif;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0.01em;
  color: var(--poly-text-secondary);
}

/* Label / caption text */
.poly-label {
  font-family: 'Quicksand', 'Poppins', sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--poly-text-muted);
}

Layout Principles

Grid and Structure

Section Organization


CSS/Design Techniques

Ink-in-Water Background Effect

/* Simulates ink dispersing in water using layered radial gradients */
.poly-ink-water {
  position: relative;
  background: var(--poly-white);
  overflow: hidden;
}

.poly-ink-water::before {
  content: '';
  position: absolute;
  inset: -10%;
  background:
    radial-gradient(ellipse 25% 35% at 20% 30%, var(--poly-glow-magenta) 0%, transparent 70%),
    radial-gradient(ellipse 30% 25% at 70% 25%, var(--poly-glow-cobalt) 0%, transparent 65%),
    radial-gradient(ellipse 20% 30% at 50% 70%, var(--poly-glow-cyan) 0%, transparent 60%),
    radial-gradient(ellipse 22% 28% at 80% 65%, var(--poly-glow-violet) 0%, transparent 65%),
    radial-gradient(ellipse 18% 22% at 30% 80%, var(--poly-glow-emerald) 0%, transparent 60%);
  filter: blur(40px);
  pointer-events: none;
  z-index: 0;
}

Paint Explosion Burst

/* Concentrated color burst radiating outward */
.poly-explosion {
  position: absolute;
  width: 400px;
  height: 400px;
  border-radius: 42% 56% 65% 38% / 55% 38% 62% 45%;
  background:
    radial-gradient(
      ellipse at center,
      var(--poly-magenta) 0%,
      var(--poly-glow-magenta) 25%,
      rgba(233, 30, 140, 0.1) 50%,
      transparent 70%
    );
  filter: blur(20px);
  mix-blend-mode: multiply;
  pointer-events: none;
  animation: poly-morph 10s ease-in-out infinite;
}

@keyframes poly-morph {
  0%   { border-radius: 42% 56% 65% 38% / 55% 38% 62% 45%; transform: scale(1) rotate(0deg); }
  33%  { border-radius: 55% 38% 42% 62% / 38% 65% 45% 56%; transform: scale(1.05) rotate(5deg); }
  66%  { border-radius: 38% 62% 56% 45% / 65% 42% 38% 55%; transform: scale(0.97) rotate(-3deg); }
  100% { border-radius: 42% 56% 65% 38% / 55% 38% 62% 45%; transform: scale(1) rotate(0deg); }
}

Chromatic Gradient Text

/* Full-spectrum gradient text for hero headings */
.poly-chromatic-text {
  background: linear-gradient(
    90deg,
    var(--poly-magenta) 0%,
    var(--poly-orange) 15%,
    var(--poly-yellow) 30%,
    var(--poly-emerald) 45%,
    var(--poly-cyan) 60%,
    var(--poly-cobalt) 75%,
    var(--poly-violet) 90%,
    var(--poly-magenta) 100%
  );
  background-size: 200% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Animated variant -- colors slowly shift */
.poly-chromatic-text--animated {
  animation: poly-hue-shift 8s linear infinite;
}

@keyframes poly-hue-shift {
  0%   { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

Floating Color Blob (Decorative)

/* Abstract floating color blob for decorative backgrounds */
.poly-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.5;
  pointer-events: none;
  mix-blend-mode: normal;
}

.poly-blob--magenta {
  width: 300px;
  height: 300px;
  background: var(--poly-magenta);
}

.poly-blob--cobalt {
  width: 250px;
  height: 350px;
  background: var(--poly-cobalt);
}

.poly-blob--cyan {
  width: 280px;
  height: 280px;
  background: var(--poly-cyan);
}

.poly-blob--emerald {
  width: 200px;
  height: 260px;
  background: var(--poly-emerald);
}

.poly-blob--violet {
  width: 260px;
  height: 300px;
  background: var(--poly-violet);
}

/* On dark backgrounds, use screen blend mode for glowing effect */
.poly-blob--glow {
  mix-blend-mode: screen;
  opacity: 0.7;
}

Liquid Flow Divider

/* Organic curved section divider using SVG-style clip-path */
.poly-flow-divider {
  position: relative;
  margin-top: -80px;
  height: 120px;
  background: var(--poly-soft-white);
  clip-path: ellipse(55% 60% at 50% 100%);
}

/* Colored variant with gradient */
.poly-flow-divider--chromatic {
  background: linear-gradient(
    90deg,
    var(--poly-mist-magenta),
    var(--poly-mist-cobalt),
    var(--poly-mist-cyan),
    var(--poly-mist-emerald)
  );
  clip-path: ellipse(55% 70% at 50% 100%);
}

Glass Panel (Content Container)

/* Frosted glass panel for content over colorful backgrounds */
.poly-glass {
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 16px;
  padding: 2.5rem;
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

/* Dark variant for light-on-dark sections */
.poly-glass--dark {
  background: rgba(26, 26, 46, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--poly-soft-white);
  box-shadow:
    0 8px 32px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

Ink Splatter Element (CSS Only)

/* Ink splatter using layered box-shadows */
.poly-splatter {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--poly-magenta);
  box-shadow:
    /* Core splash */
    18px -10px 0 14px var(--poly-magenta),
    -12px 18px 0 10px var(--poly-magenta),
    30px 22px 0 6px var(--poly-magenta),
    -24px -8px 0 12px var(--poly-magenta),
    /* Satellite drops */
    45px 12px 0 3px var(--poly-magenta),
    -40px 30px 0 4px var(--poly-magenta),
    15px 45px 0 2px var(--poly-magenta),
    -18px -35px 0 5px var(--poly-magenta),
    /* Fine spray */
    55px -18px 0 1px var(--poly-magenta),
    -50px 8px 0 2px var(--poly-magenta);
  filter: blur(1px);
  pointer-events: none;
}

/* Cobalt variant */
.poly-splatter--cobalt {
  background: var(--poly-cobalt);
  box-shadow:
    14px -16px 0 10px var(--poly-cobalt),
    -20px 12px 0 14px var(--poly-cobalt),
    35px 8px 0 7px var(--poly-cobalt),
    -10px 28px 0 5px var(--poly-cobalt),
    25px -25px 0 4px var(--poly-cobalt),
    -35px -12px 0 8px var(--poly-cobalt);
  filter: blur(1px);
}

Polychrome Button

.poly-button {
  display: inline-block;
  padding: 0.75rem 2.2rem;
  font-family: 'Montserrat', 'Poppins', sans-serif;
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--poly-white);
  background: linear-gradient(
    135deg,
    var(--poly-magenta) 0%,
    var(--poly-violet) 50%,
    var(--poly-cobalt) 100%
  );
  background-size: 200% 200%;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  box-shadow:
    0 4px 15px rgba(233, 30, 140, 0.3),
    0 2px 6px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

.poly-button:hover {
  background-position: 100% 100%;
  box-shadow:
    0 6px 25px rgba(123, 31, 162, 0.4),
    0 3px 10px rgba(0, 0, 0, 0.12);
  transform: translateY(-1px);
}

.poly-button:active {
  transform: translateY(0);
  box-shadow:
    0 2px 8px rgba(233, 30, 140, 0.25),
    0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Outlined variant */
.poly-button--outline {
  background: transparent;
  border: 2px solid var(--poly-magenta);
  color: var(--poly-magenta);
  box-shadow: none;
}

.poly-button--outline:hover {
  background: var(--poly-magenta);
  color: var(--poly-white);
  box-shadow: 0 4px 15px var(--poly-glow-magenta);
}

Color Merge Animation

/* Two color blobs slowly merging and separating */
@keyframes poly-merge-a {
  0%   { transform: translate(0, 0) scale(1); }
  50%  { transform: translate(40px, 20px) scale(1.1); }
  100% { transform: translate(0, 0) scale(1); }
}

@keyframes poly-merge-b {
  0%   { transform: translate(0, 0) scale(1); }
  50%  { transform: translate(-35px, -15px) scale(1.05); }
  100% { transform: translate(0, 0) scale(1); }
}

.poly-merge-container {
  position: relative;
  width: 400px;
  height: 400px;
}

.poly-merge-a {
  position: absolute;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: var(--poly-magenta);
  filter: blur(30px);
  opacity: 0.6;
  top: 25%;
  left: 20%;
  animation: poly-merge-a 8s ease-in-out infinite;
}

.poly-merge-b {
  position: absolute;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: var(--poly-cobalt);
  filter: blur(30px);
  opacity: 0.6;
  top: 30%;
  left: 35%;
  animation: poly-merge-b 8s ease-in-out infinite;
}

Smoke / Vapor Drift Effect

/* Slowly drifting colored smoke using animated pseudo-elements */
@keyframes poly-drift {
  0%   { transform: translateX(0) translateY(0) scale(1); opacity: 0.4; }
  50%  { transform: translateX(30px) translateY(-20px) scale(1.15); opacity: 0.6; }
  100% { transform: translateX(0) translateY(0) scale(1); opacity: 0.4; }
}

.poly-smoke {
  position: absolute;
  width: 350px;
  height: 250px;
  border-radius: 50%;
  filter: blur(50px);
  pointer-events: none;
  animation: poly-drift 12s ease-in-out infinite;
}

.poly-smoke--warm {
  background: linear-gradient(
    135deg,
    var(--poly-glow-magenta),
    var(--poly-glow-orange)
  );
}

.poly-smoke--cool {
  background: linear-gradient(
    135deg,
    var(--poly-glow-cobalt),
    var(--poly-glow-cyan)
  );
  animation-delay: -4s;
  animation-duration: 14s;
}

Materials and Textures (Visual Metaphors for Web)

Physical Polychrome media and their web equivalents:

Physical Material Web Equivalent
Ink dispersing in water Large radial-gradient blobs with heavy filter: blur() and organic border-radius deformation
Paint explosion Multiple layered box-shadow clusters of varying size, plus radial gradients with mix-blend-mode: multiply
Colored smoke Gradient-filled pseudo-elements with heavy blur (50-80px), animated with translateX/Y for slow drift
Oil swirl / marble Multi-stop linear-gradient or conic-gradient with adjacent vivid hues and slight blur
Color blending / merge Overlapping semi-transparent radial-gradient elements; where they overlap, colors naturally blend
Ink splatter drops Small border-radius: 50% elements with extended box-shadow lists for satellite droplets
Watercolor wash Low-opacity (0.1-0.2) radial-gradient washes with wide spread, applied as backgrounds
Liquid tendrils SVG path elements with organic curves, or CSS clip-path with flowing polygon coordinates
Chromatic gradient field Multi-color linear-gradient with 4+ stops spanning the full spectrum
Frosted glass over color backdrop-filter: blur() on semi-transparent white panels placed over chromatic backgrounds

Cultural References and Influences

The following define the Polychrome visual language and serve as design references:


Aesthetic Relationship to Polychrome
Hexatron Related; shares abstract, non-figurative digital composition but uses geometric forms rather than organic fluids
Metalheart Related; shares abstract composition and digital art focus but uses metallic surfaces and dark backgrounds rather than chromatic fluids
Fitness Splatter Related; shares ink splatter and paint explosion motifs but applies them to athletic subjects with neon-on-black rather than abstract-on-white
Colorful Pop Related; shares maximum color saturation and chromatic intensity but is illustrative and maximalist rather than abstract and minimal
Frutiger Aero Related; shares clean, light backgrounds and organic forms but uses photorealistic nature imagery rather than abstract color fields
Glassmorphism Related; shares frosted glass and translucent layering techniques, but lacks the vivid chromatic expression
Vaporwave Tangentially related; both use vivid color but Vaporwave is nostalgic, digital, and grid-based while Polychrome is organic and fluid
Acid Design Related; both celebrate vivid color and abstract forms but Acid Design uses distortion, warping, and typographic play

Quick-Start: Minimal Polychrome Page Template

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Polychrome Page</title>
  <link href="https://fonts.googleapis.com/css2?family=Raleway:wght@200;300;400;600&family=Montserrat:wght@300;400;500;600&family=Poppins:wght@300;400;500&family=Quicksand:wght@400;500;600&display=swap" rel="stylesheet">
  <style>
    :root {
      --poly-white: #ffffff;
      --poly-soft-white: #f7f7f7;
      --poly-mist: #ebebeb;
      --poly-dark: #1a1a2e;
      --poly-magenta: #e91e8c;
      --poly-cobalt: #1565c0;
      --poly-cyan: #00bcd4;
      --poly-emerald: #00c853;
      --poly-violet: #7b1fa2;
      --poly-yellow: #ffd600;
      --poly-orange: #ff5722;
      --poly-glow-magenta: rgba(233, 30, 140, 0.5);
      --poly-glow-cobalt: rgba(21, 101, 192, 0.5);
      --poly-glow-cyan: rgba(0, 188, 212, 0.5);
      --poly-glow-emerald: rgba(0, 200, 83, 0.5);
      --poly-glow-violet: rgba(123, 31, 162, 0.5);
    }

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

    body {
      background: var(--poly-white);
      color: #444444;
      font-family: 'Poppins', sans-serif;
      font-weight: 300;
      line-height: 1.75;
      overflow-x: hidden;
    }

    /* Hero section with ink-in-water color effect */
    .hero {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 4rem 2rem;
      position: relative;
      overflow: hidden;
    }

    /* Ink-in-water color blobs */
    .hero::before {
      content: '';
      position: absolute;
      inset: -15%;
      background:
        radial-gradient(ellipse 28% 35% at 18% 35%, var(--poly-glow-magenta) 0%, transparent 70%),
        radial-gradient(ellipse 32% 28% at 72% 22%, var(--poly-glow-cobalt) 0%, transparent 65%),
        radial-gradient(ellipse 22% 32% at 50% 75%, var(--poly-glow-cyan) 0%, transparent 60%),
        radial-gradient(ellipse 24% 30% at 82% 60%, var(--poly-glow-violet) 0%, transparent 65%),
        radial-gradient(ellipse 20% 24% at 28% 80%, var(--poly-glow-emerald) 0%, transparent 60%);
      filter: blur(45px);
      pointer-events: none;
      z-index: 0;
    }

    .hero h1 {
      font-family: 'Raleway', sans-serif;
      font-weight: 200;
      font-size: clamp(2.5rem, 8vw, 6rem);
      letter-spacing: 0.06em;
      color: var(--poly-dark);
      position: relative;
      z-index: 1;
    }

    /* Chromatic gradient text on hero */
    .hero h1 span {
      background: linear-gradient(
        135deg,
        var(--poly-magenta) 0%,
        var(--poly-violet) 25%,
        var(--poly-cobalt) 50%,
        var(--poly-cyan) 75%,
        var(--poly-emerald) 100%
      );
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      font-weight: 300;
    }

    .hero p {
      margin-top: 1.5rem;
      font-size: 1.05rem;
      color: #777777;
      letter-spacing: 0.08em;
      font-family: 'Quicksand', sans-serif;
      font-weight: 500;
      position: relative;
      z-index: 1;
    }

    /* Soft gradient divider */
    .gradient-divider {
      height: 4px;
      width: 120px;
      margin: 2.5rem auto;
      border: none;
      border-radius: 2px;
      background: linear-gradient(
        90deg,
        var(--poly-magenta),
        var(--poly-cobalt),
        var(--poly-cyan),
        var(--poly-emerald)
      );
      position: relative;
      z-index: 1;
    }

    section {
      max-width: 800px;
      margin: 0 auto;
      padding: 4rem 2rem;
      position: relative;
      z-index: 1;
    }

    section h2 {
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: clamp(1.5rem, 3.5vw, 2.2rem);
      letter-spacing: 0.04em;
      color: var(--poly-dark);
      margin-bottom: 1.5rem;
    }

    /* Glass-panel card */
    .poly-card {
      background: rgba(255, 255, 255, 0.65);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid rgba(255, 255, 255, 0.5);
      border-radius: 16px;
      padding: 2rem;
      margin: 1.5rem 0;
      box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
    }

    .poly-card h3 {
      font-family: 'Montserrat', sans-serif;
      font-weight: 400;
      font-size: 1.2rem;
      color: var(--poly-cobalt);
      margin-bottom: 0.5rem;
    }

    /* Polychrome button */
    .poly-button {
      display: inline-block;
      padding: 0.75rem 2.2rem;
      font-family: 'Montserrat', sans-serif;
      font-size: 0.85rem;
      font-weight: 500;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      text-decoration: none;
      color: var(--poly-white);
      background: linear-gradient(135deg, var(--poly-magenta), var(--poly-violet), var(--poly-cobalt));
      background-size: 200% 200%;
      border: none;
      border-radius: 50px;
      cursor: pointer;
      box-shadow: 0 4px 15px rgba(233, 30, 140, 0.25);
      transition: all 0.3s ease;
    }

    .poly-button:hover {
      background-position: 100% 100%;
      box-shadow: 0 6px 25px rgba(123, 31, 162, 0.35);
      transform: translateY(-1px);
    }

    .poly-label {
      font-family: 'Quicksand', sans-serif;
      font-size: 0.75rem;
      font-weight: 500;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: #999999;
    }

    a {
      color: var(--poly-cobalt);
      text-decoration: none;
      border-bottom: 1px solid rgba(21, 101, 192, 0.2);
      transition: color 0.2s, border-color 0.2s;
    }

    a:hover {
      color: var(--poly-magenta);
      border-bottom-color: rgba(233, 30, 140, 0.3);
    }

    /* Decorative floating blobs */
    .blob {
      position: fixed;
      border-radius: 50%;
      filter: blur(60px);
      opacity: 0.25;
      pointer-events: none;
      z-index: 0;
    }
    .blob--1 {
      width: 300px; height: 300px;
      background: var(--poly-magenta);
      top: 60%; left: -5%;
    }
    .blob--2 {
      width: 250px; height: 250px;
      background: var(--poly-cyan);
      top: 30%; right: -8%;
    }
    .blob--3 {
      width: 200px; height: 280px;
      background: var(--poly-violet);
      bottom: 10%; right: 20%;
    }
  </style>
</head>
<body>
  <!-- Decorative background blobs -->
  <div class="blob blob--1"></div>
  <div class="blob blob--2"></div>
  <div class="blob blob--3"></div>

  <div class="hero">
    <h1>Colors in <span>Motion</span></h1>
    <hr class="gradient-divider">
    <p>Where chromatic expression meets fluid form</p>
  </div>

  <section>
    <h2>Flowing Abstractions</h2>
    <div class="poly-card">
      <span class="poly-label">Chromatic expression</span>
      <h3>Liquid Color</h3>
      <p>Content rendered in the Polychrome aesthetic. Vivid ink-in-water color fields flow over a clean white background, with frosted glass panels, organic forms, and the full chromatic spectrum on display.</p>
      <br>
      <a href="#" class="poly-button">Explore</a>
    </div>
  </section>
</body>
</html>