// 300+ colours showcase — uses oklch swatches grouped by family. const Colours = () => { const { motion } = window.Motion; // Curated families. Each row is one finish family with representative swatches. const families = [ { label: "Gloss", count: 62, desc: "Mirror clarity that mimics fresh factory paint.", swatches: ["#0b0b10", "#9a0a14", "#0c2447", "#0d4a2f", "#f5f3ee", "#b87333", "#d3cf2a", "#5a1c8a"], }, { label: "Satin", count: 54, desc: "Soft sheen that flatters every body line.", swatches: ["#2a2a2e", "#5b6066", "#7a8580", "#9b8e7c", "#3d4a3a", "#6b3838", "#33414f", "#bfb6a8"], }, { label: "Matte", count: 48, desc: "Dead-flat surface, zero reflection, full presence.", swatches: ["#0a0a0a", "#1a1a1a", "#2c2c30", "#3a3a3e", "#4d4d52", "#5e5e63", "#7a7a7e", "#a0a0a4"], }, { label: "Metallic", count: 71, desc: "Real metallic flake suspended in the colour layer.", swatches: ["#74808c", "#9aa3ad", "#b8c0c8", "#3a4750", "#7a3a45", "#3a5a45", "#8a7a3a", "#5a3a7a"], }, { label: "Candy", count: 38, desc: "Translucent over a metallic base — endless depth.", swatches: ["#7a0010", "#a30024", "#0a3da3", "#062b6e", "#1c5e2c", "#0f3a1c", "#7a4a00", "#5a0a5a"], }, { label: "Pearl", count: 31, desc: "Shifting pigment that throws colour at every angle.", swatches: ["#d8d0c0", "#c8a890", "#a8b8c8", "#b8a8c8", "#c8b8a8", "#a8c8b8", "#9aa8b8", "#cfc6b8"], }, ]; const fadeUp = (delay = 0) => ({ initial: { filter: "blur(10px)", opacity: 0, y: 20 }, whileInView: { filter: "blur(0px)", opacity: 1, y: 0 }, viewport: { once: true, amount: 0.15 }, transition: { duration: 0.8, ease: "easeOut", delay }, }); return (
// The Library Three hundred
and counting.
Six finishes. Over 300 colours. From a perfect factory black to one-off candy reds you can’t buy from any paint shop. Sample swatches ship next-day.
{families.map((f, idx) => (

{f.label}

{f.count} colours

{f.desc}

{f.swatches.map((c, i) => (
))}
+{f.count - 8}
))}
); }; window.Colours = Colours;