/* ==========================================================================
   You, Awake — color schemes
   The default ("night") lives in site.css :root. Each scheme below overrides
   the same tokens on <html data-scheme="…">. fx.js sets the attribute before
   first paint; the Colors menu (site.js) switches it live.

   Dark schemes: deep page, light text, a light "dawn" band for contrast.
   Light schemes: light page, dark text, and the dawn band turns into a deep
   contrasting band. Heroes (water, subpage backdrops, video) stay a mid-tone
   "daybreak" island with light text, so the water still reads as water.
   ========================================================================== */

/* ---------- Dark ---------- */

[data-scheme="ocean"] {
  --ink: #050b14; --night: #081422; --deep: #0e1f33; --plum: #133049;
  --mist: #eaf4fb; --soft: #bcd0e0; --muted: #7f97ab;
  --lime: #5fd4c4; --lime-deep: #3fb3a3; --accent-rgb: 95 212 196; --on-accent: #03211d;
  --aqua: #8fd8f0; --rose: #f2a7b5; --gold: #f3d08a;
  --bg-rgb: 5 11 20; --glow-a: 56 118 220; --glow-b: 95 212 196; --glow-c: 120 160 240;
  --panel: rgba(8, 20, 34, 0.95); --hero-tint: #0a1a2e;
  --dawn: #eef5f7; --dawn-ink: #10283a; --dawn-soft: #3e5a6c; --dawn-line: rgba(16, 40, 58, 0.14);
  --dawn-muted: #5f7a8b; --dawn-g1: #2a6f9e; --dawn-g2: #1f8f86; --dawn-g3: #6b5fb5; --dawn-accent: #1f8f86;
  --dawn-glow-a: 143 208 240; --dawn-glow-b: 95 212 196;
  --water-pond: #030a12; --water-sky: #1d3d5c; --water-deep: #05213a; --water-clear: #2f84a8;
}

[data-scheme="forest"] {
  --ink: #070d0a; --night: #0b1510; --deep: #13211a; --plum: #1f3226;
  --mist: #eef3ea; --soft: #c6d3c2; --muted: #8ea08a;
  --lime: #e2c36b; --lime-deep: #c9a64a; --accent-rgb: 226 195 107; --on-accent: #1d1606;
  --aqua: #9fd8c0; --rose: #e9b2a0; --gold: #f0d48e;
  --bg-rgb: 7 13 10; --glow-a: 70 140 95; --glow-b: 160 200 120; --glow-c: 220 180 110;
  --panel: rgba(11, 21, 16, 0.95); --hero-tint: #0e1d15;
  --dawn: #f3f1e7; --dawn-ink: #1e2a1f; --dawn-soft: #4a5745; --dawn-line: rgba(30, 42, 31, 0.14);
  --dawn-muted: #66725f; --dawn-g1: #8a5a1c; --dawn-g2: #4f7a2a; --dawn-g3: #2f6f62; --dawn-accent: #6b8f2a;
  --dawn-glow-a: 226 195 107; --dawn-glow-b: 160 200 120;
  --water-pond: #040906; --water-sky: #23402f; --water-deep: #06222a; --water-clear: #2f7f86;
}

[data-scheme="ember"] {
  --ink: #120809; --night: #1a0c10; --deep: #261219; --plum: #3a1724;
  --mist: #fbeee9; --soft: #e3c7c0; --muted: #ab8a88;
  --lime: #ff9a6b; --lime-deep: #e57a4a; --accent-rgb: 255 154 107; --on-accent: #2a0e04;
  --aqua: #9fe0d8; --rose: #ff9fb0; --gold: #ffd08a;
  --bg-rgb: 18 8 9; --glow-a: 210 70 100; --glow-b: 255 150 90; --glow-c: 170 70 150;
  --panel: rgba(26, 12, 16, 0.95); --hero-tint: #22101a;
  --dawn: #fbf0ea; --dawn-ink: #3a1724; --dawn-soft: #6a4450; --dawn-line: rgba(58, 23, 36, 0.14);
  --dawn-muted: #8a646c; --dawn-g1: #b8365a; --dawn-g2: #c9652a; --dawn-g3: #8a3f8f; --dawn-accent: #c9652a;
  --dawn-glow-a: 255 159 176; --dawn-glow-b: 255 208 138;
  --water-pond: #0d0508; --water-sky: #4a1f33; --water-deep: #1a1430; --water-clear: #3f6f9a;
}

[data-scheme="golden"] {
  --ink: #0f0b07; --night: #17110b; --deep: #221911; --plum: #33251a;
  --mist: #fbf3e6; --soft: #e2d3bc; --muted: #a8977e;
  --lime: #f2b84b; --lime-deep: #d99a2b; --accent-rgb: 242 184 75; --on-accent: #2a1a02;
  --aqua: #a8dcc8; --rose: #f0a99a; --gold: #ffd98a;
  --bg-rgb: 15 11 7; --glow-a: 200 140 60; --glow-b: 240 190 110; --glow-c: 220 120 90;
  --panel: rgba(23, 17, 11, 0.95); --hero-tint: #1d150c;
  --dawn: #faf4ea; --dawn-ink: #33251a; --dawn-soft: #5f4c3a; --dawn-line: rgba(51, 37, 26, 0.14);
  --dawn-muted: #806c57; --dawn-g1: #b5532e; --dawn-g2: #a06c12; --dawn-g3: #4f7f6a; --dawn-accent: #b07a1e;
  --dawn-glow-a: 242 184 75; --dawn-glow-b: 240 169 154;
  --water-pond: #0a0704; --water-sky: #4a3520; --water-deep: #10202c; --water-clear: #3a7896;
}

[data-scheme="aurora"] {
  --ink: #06060d; --night: #0b0a18; --deep: #15122b; --plum: #231b45;
  --mist: #f0eefc; --soft: #cbc6e6; --muted: #948db5;
  --lime: #7ff0c4; --lime-deep: #4fd3a2; --accent-rgb: 127 240 196; --on-accent: #052116;
  --aqua: #84e8f0; --rose: #f2a3d8; --gold: #e8e08a;
  --bg-rgb: 6 6 13; --glow-a: 140 90 255; --glow-b: 80 240 200; --glow-c: 240 120 220;
  --panel: rgba(11, 10, 24, 0.95); --hero-tint: #110d26;
  --dawn: #f2f0fb; --dawn-ink: #231b45; --dawn-soft: #4f4875; --dawn-line: rgba(35, 27, 69, 0.14);
  --dawn-muted: #6a638f; --dawn-g1: #8a3fd1; --dawn-g2: #1a8a74; --dawn-g3: #c03f9f; --dawn-accent: #1f9f86;
  --dawn-glow-a: 140 90 255; --dawn-glow-b: 80 240 200;
  --water-pond: #04030c; --water-sky: #2a1f5c; --water-deep: #061f33; --water-clear: #2b8fa8;
}

[data-scheme="slate"] {
  --ink: #0b0c0f; --night: #121418; --deep: #1a1d23; --plum: #262a33;
  --mist: #f2f3f5; --soft: #c9cdd4; --muted: #8d939d;
  --lime: #a9c7ff; --lime-deep: #7fa6f0; --accent-rgb: 169 199 255; --on-accent: #0b1530;
  --aqua: #b8e2ea; --rose: #e8bcc8; --gold: #e6d3a6;
  --bg-rgb: 11 12 15; --glow-a: 110 130 170; --glow-b: 160 190 220; --glow-c: 190 170 200;
  --panel: rgba(18, 20, 24, 0.95); --hero-tint: #15181e;
  --dawn: #f2f3f5; --dawn-ink: #1a1d23; --dawn-soft: #4a505b; --dawn-line: rgba(26, 29, 35, 0.14);
  --dawn-muted: #646b76; --dawn-g1: #3f5f9f; --dawn-g2: #5f6f8f; --dawn-g3: #2f7f8f; --dawn-accent: #3f5f9f;
  --dawn-glow-a: 169 199 255; --dawn-glow-b: 184 226 234;
  --water-pond: #06070a; --water-sky: #2c3340; --water-deep: #0a1a2a; --water-clear: #3a6f8f;
}

/* ---------- Light ---------- */

[data-tone="light"] {
  color-scheme: light;
  --text-shadow-rgb: 255 255 255;   /* light behind dark text */
  --spectrum: linear-gradient(90deg, #d8464b, #e07f2e, #d9b230, #6fae2c, #2e93c8, #6352cc, #c766b5);
}

/* dark bands inside a light scheme (light text): the shadow goes dark again */
[data-tone="light"] .section.dawn, [data-scheme="harvest"] .page-hero { --text-shadow-rgb: 0 0 0; }

[data-scheme="daylight"] {   /* warm cream, plum text, brand green */
  --ink: #f7f1ec; --night: #efe6df; --deep: #e7dcd3; --plum: #dccbd8;
  --mist: #2a1a2e; --soft: #4e3f52; --muted: #74647a;
  --lime: #3f7a14; --lime-deep: #2f5f0e; --accent-rgb: 63 122 20; --on-accent: #ffffff;
  --aqua: #2f8590; --rose: #b8456f; --gold: #a56d14;
  --fg-rgb: 42 26 46; --bg-rgb: 247 241 236;
  --line: rgba(42, 26, 46, 0.12); --line-strong: rgba(42, 26, 46, 0.24); --veil: rgba(42, 26, 46, 0.06);
  --shadow: rgba(60, 40, 60, 0.22); --panel: rgba(255, 252, 249, 0.97);
  --glow-a: 181 166 240; --glow-b: 143 210 214; --glow-c: 240 169 191;
  --dawn: #2a1a2e; --dawn-ink: #f7f1ec; --dawn-soft: #d9c9dc; --dawn-line: rgba(255, 255, 255, 0.16);
  --dawn-muted: #b4a1b8; --dawn-card: rgba(255, 255, 255, 0.06);
  --dawn-g1: #f0a9bf; --dawn-g2: #f4cf86; --dawn-g3: #8fe3e6; --dawn-accent: #a6d65a;
  --dawn-glow-a: 125 106 224; --dawn-glow-b: 240 169 191;
  /* daybreak hero */
  --i-ink: #3a2842; --i-night: #5a4566; --i-deep: #4a3756; --i-mist: #fff8fb; --i-soft: #f1e4ee; --i-muted: #e6d8e2;
  --i-bg-rgb: 58 40 66; --i-accent: #b8e07a; --i-accent-rgb: 184 224 122; --i-on-accent: #1a2408; --i-hero-tint: #9a8098;
  --water-pond: #7a6585; --water-sky: #e8c9d6; --water-deep: #1f4f7a; --water-clear: #79bde0; --water-vig: 0.82;
}

[data-scheme="sky"] {        /* misty blue, navy text, clear blue */
  --ink: #eef3f7; --night: #e4ecf2; --deep: #d8e3ec; --plum: #cbd8e6;
  --mist: #142338; --soft: #3a4a5e; --muted: #5a6b7f;
  --lime: #1f6fb2; --lime-deep: #175a92; --accent-rgb: 31 111 178; --on-accent: #ffffff;
  --aqua: #1d7f8c; --rose: #b4466a; --gold: #94650f;
  --fg-rgb: 20 35 56; --bg-rgb: 238 243 247;
  --line: rgba(20, 35, 56, 0.12); --line-strong: rgba(20, 35, 56, 0.24); --veil: rgba(20, 35, 56, 0.06);
  --shadow: rgba(20, 35, 56, 0.2); --panel: rgba(250, 252, 254, 0.97);
  --glow-a: 120 160 230; --glow-b: 120 200 220; --glow-c: 230 170 200;
  --dawn: #142338; --dawn-ink: #eef3f7; --dawn-soft: #c6d3e0; --dawn-line: rgba(255, 255, 255, 0.16);
  --dawn-muted: #9aabbd; --dawn-card: rgba(255, 255, 255, 0.06);
  --dawn-g1: #9fc8ff; --dawn-g2: #8fe3e6; --dawn-g3: #f0a9bf; --dawn-accent: #8fd0f0;
  --dawn-glow-a: 79 182 232; --dawn-glow-b: 125 106 224;
  --i-ink: #1c2b40; --i-night: #4f6a86; --i-deep: #3d5671; --i-mist: #ffffff; --i-soft: #e6eef6; --i-muted: #dbe6f0;
  --i-bg-rgb: 28 43 64; --i-accent: #9fd0ff; --i-accent-rgb: 159 208 255; --i-on-accent: #0b2340; --i-hero-tint: #7f9ab4;
  --water-pond: #56708c; --water-sky: #d5e6f3; --water-deep: #0f3a63; --water-clear: #86cdec; --water-vig: 0.82;
}

[data-scheme="sage"] {       /* soft sage, deep green text, terracotta */
  --ink: #f1f3ec; --night: #e7ebe0; --deep: #dde3d3; --plum: #cfd8c4;
  --mist: #1e2a1f; --soft: #45523f; --muted: #626e5b;
  --lime: #9a4a24; --lime-deep: #7d3a1b; --accent-rgb: 154 74 36; --on-accent: #ffffff;
  --aqua: #2c7a6c; --rose: #a5475e; --gold: #8a6410;
  --fg-rgb: 30 42 31; --bg-rgb: 241 243 236;
  --line: rgba(30, 42, 31, 0.12); --line-strong: rgba(30, 42, 31, 0.24); --veil: rgba(30, 42, 31, 0.06);
  --shadow: rgba(30, 42, 31, 0.2); --panel: rgba(250, 251, 247, 0.97);
  --glow-a: 150 190 140; --glow-b: 120 190 170; --glow-c: 220 170 130;
  --dawn: #24321f; --dawn-ink: #f1f3ec; --dawn-soft: #cfd8c4; --dawn-line: rgba(255, 255, 255, 0.16);
  --dawn-muted: #a3b09a; --dawn-card: rgba(255, 255, 255, 0.06);
  --dawn-g1: #f0b48f; --dawn-g2: #e6d38a; --dawn-g3: #9fd8c0; --dawn-accent: #e2a77a;
  --dawn-glow-a: 160 200 120; --dawn-glow-b: 226 167 122;
  --i-ink: #1f2c22; --i-night: #4f6656; --i-deep: #3e5446; --i-mist: #fbfdf8; --i-soft: #e5ede0; --i-muted: #dbe5d6;
  --i-bg-rgb: 31 44 34; --i-accent: #e8b48c; --i-accent-rgb: 232 180 140; --i-on-accent: #2a1206; --i-hero-tint: #7d9483;
  --water-pond: #5f7466; --water-sky: #d6e3cc; --water-deep: #0f3d4f; --water-clear: #78c2cf; --water-vig: 0.82;
}

[data-scheme="harvest"] {    /* page-only (a campaign page): soft cream, deep olive text, terracotta, muted gold */
  --ink: #f6efe3; --night: #efe6d6; --deep: #e7dcc8; --plum: #dccfb6;
  --mist: #26301f; --soft: #4a5240; --muted: #6a6a58;
  --lime: #9c4527; --lime-deep: #7f361d; --accent-rgb: 156 69 39; --on-accent: #ffffff;
  --aqua: #4f6b3a; --rose: #9c4527; --gold: #8d6a24;
  --fg-rgb: 38 48 31; --bg-rgb: 246 239 227;
  --line: rgba(38, 48, 31, 0.13); --line-strong: rgba(38, 48, 31, 0.25); --veil: rgba(38, 48, 31, 0.06);
  --shadow: rgba(38, 48, 31, 0.2); --panel: rgba(251, 247, 240, 0.97);
  --glow-a: 196 160 96; --glow-b: 150 170 110; --glow-c: 214 150 110;
  --dawn: #2b3a22; --dawn-ink: #f6efe3; --dawn-soft: #ddd5c0; --dawn-line: rgba(255, 255, 255, 0.16);
  --dawn-muted: #b9b49c; --dawn-card: rgba(255, 255, 255, 0.06);
  --dawn-g1: #e2b86a; --dawn-g2: #e8a07c; --dawn-g3: #c9d29a; --dawn-accent: #e2b86a;
  --dawn-glow-a: 226 184 106; --dawn-glow-b: 232 160 124;
  /* olive page top with cream text and gold */
  --i-ink: #2b3a22; --i-night: #55603f; --i-deep: #3e4a30; --i-mist: #fbf7ef; --i-soft: #ece4d2; --i-muted: #ddd5c0;
  --i-bg-rgb: 43 58 34; --i-accent: #e2b86a; --i-accent-rgb: 226 184 106; --i-on-accent: #2b2008; --i-hero-tint: #7c8466;
  --water-pond: #5f6a4c; --water-sky: #e9dcc0; --water-deep: #2b3a22; --water-clear: #c9b27a; --water-vig: 0.82;
}

[data-scheme="blush"] {      /* rose quartz, plum text, berry */
  --ink: #faf1f2; --night: #f3e5e8; --deep: #ecd9de; --plum: #e2c8d2;
  --mist: #3a1e2b; --soft: #5f4350; --muted: #7a5f6b;
  --lime: #a8336a; --lime-deep: #8a2756; --accent-rgb: 168 51 106; --on-accent: #ffffff;
  --aqua: #2a7f8a; --rose: #b03a6a; --gold: #95600e;
  --fg-rgb: 58 30 43; --bg-rgb: 250 241 242;
  --line: rgba(58, 30, 43, 0.12); --line-strong: rgba(58, 30, 43, 0.24); --veil: rgba(58, 30, 43, 0.06);
  --shadow: rgba(58, 30, 43, 0.2); --panel: rgba(255, 250, 251, 0.97);
  --glow-a: 230 150 190; --glow-b: 160 200 230; --glow-c: 245 190 160;
  --dawn: #3a1e2b; --dawn-ink: #faf1f2; --dawn-soft: #e6cdd7; --dawn-line: rgba(255, 255, 255, 0.16);
  --dawn-muted: #bfa0ae; --dawn-card: rgba(255, 255, 255, 0.06);
  --dawn-g1: #ffb3cf; --dawn-g2: #f4cf86; --dawn-g3: #b5a6f0; --dawn-accent: #f0a9bf;
  --dawn-glow-a: 230 147 214; --dawn-glow-b: 244 207 134;
  --i-ink: #3a1e2b; --i-night: #6e4f62; --i-deep: #5a3d4f; --i-mist: #fff8fa; --i-soft: #f5e4eb; --i-muted: #ecd8e0;
  --i-bg-rgb: 58 30 43; --i-accent: #ffb3cf; --i-accent-rgb: 255 179 207; --i-on-accent: #3a0f22; --i-hero-tint: #9a7b8e;
  --water-pond: #7d5f72; --water-sky: #f0cddc; --water-deep: #1d4b78; --water-clear: #7ab9de; --water-vig: 0.82;
}

[data-scheme="seafoam"] {    /* pale seafoam, deep green-teal text, lagoon teal */
  --ink: #eef6f3; --night: #e2efea; --deep: #d5e7e0; --plum: #c6ddd5;
  --mist: #12302b; --soft: #36524c; --muted: #55706a;
  --lime: #0f766e; --lime-deep: #0b5d57; --accent-rgb: 15 118 110; --on-accent: #ffffff;
  --aqua: #1d7f8c; --rose: #b4466a; --gold: #8a6410;
  --fg-rgb: 18 48 43; --bg-rgb: 238 246 243;
  --line: rgba(18, 48, 43, 0.12); --line-strong: rgba(18, 48, 43, 0.24); --veil: rgba(18, 48, 43, 0.06);
  --shadow: rgba(18, 48, 43, 0.2); --panel: rgba(250, 253, 252, 0.97);
  --glow-a: 110 200 180; --glow-b: 130 190 230; --glow-c: 240 180 170;
  --dawn: #12302b; --dawn-ink: #eef6f3; --dawn-soft: #c3ddd6; --dawn-line: rgba(255, 255, 255, 0.16);
  --dawn-muted: #94b3ab; --dawn-card: rgba(255, 255, 255, 0.06);
  --dawn-g1: #8fe3e6; --dawn-g2: #b9dd83; --dawn-g3: #f4cf86; --dawn-accent: #7fe0c8;
  --dawn-glow-a: 95 212 196; --dawn-glow-b: 143 208 240;
  --i-ink: #123029; --i-night: #4a7069; --i-deep: #3a5c56; --i-mist: #fbfffd; --i-soft: #e2f1ec; --i-muted: #d3e8e1;
  --i-bg-rgb: 18 48 41; --i-accent: #8ff0d8; --i-accent-rgb: 143 240 216; --i-on-accent: #06251e; --i-hero-tint: #6f9690;
  --water-pond: #4f7670; --water-sky: #d2ece4; --water-deep: #0b3a4a; --water-clear: #7fd0dc; --water-vig: 0.82;
}

[data-scheme="lavender"] {   /* lavender mist, ink-violet text, violet */
  --ink: #f4f1fa; --night: #ebe5f5; --deep: #e0d8ef; --plum: #d3c8e8;
  --mist: #241a3d; --soft: #4a4066; --muted: #675d82;
  --lime: #6a3fc4; --lime-deep: #5530a3; --accent-rgb: 106 63 196; --on-accent: #ffffff;
  --aqua: #1f7a8c; --rose: #b03a7a; --gold: #8f6212;
  --fg-rgb: 36 26 61; --bg-rgb: 244 241 250;
  --line: rgba(36, 26, 61, 0.12); --line-strong: rgba(36, 26, 61, 0.24); --veil: rgba(36, 26, 61, 0.06);
  --shadow: rgba(36, 26, 61, 0.2); --panel: rgba(252, 250, 255, 0.97);
  --glow-a: 180 160 240; --glow-b: 150 200 240; --glow-c: 240 170 210;
  --dawn: #241a3d; --dawn-ink: #f4f1fa; --dawn-soft: #d6cdea; --dawn-line: rgba(255, 255, 255, 0.16);
  --dawn-muted: #a99fc4; --dawn-card: rgba(255, 255, 255, 0.06);
  --dawn-g1: #c8b6ff; --dawn-g2: #f0a9bf; --dawn-g3: #8fe3e6; --dawn-accent: #c8b6ff;
  --dawn-glow-a: 125 106 224; --dawn-glow-b: 230 147 214;
  --i-ink: #241a3d; --i-night: #5c5080; --i-deep: #4a3f6b; --i-mist: #fdfbff; --i-soft: #ebe5f7; --i-muted: #ddd5ee;
  --i-bg-rgb: 36 26 61; --i-accent: #d2c2ff; --i-accent-rgb: 210 194 255; --i-on-accent: #1e0f45; --i-hero-tint: #8a7fae;
  --water-pond: #6a5f8e; --water-sky: #e4d9f5; --water-deep: #1b3f78; --water-clear: #86bfe8; --water-vig: 0.82;
}

[data-scheme="sand"] {       /* sunlit sand, espresso text, deep teal */
  --ink: #f8f2e8; --night: #f0e7d8; --deep: #e7dbc6; --plum: #dccdb3;
  --mist: #2b2216; --soft: #54483a; --muted: #6f6252;
  --lime: #1f6b73; --lime-deep: #17545b; --accent-rgb: 31 107 115; --on-accent: #ffffff;
  --aqua: #1f6b73; --rose: #a8434f; --gold: #8a5d0e;
  --fg-rgb: 43 34 22; --bg-rgb: 248 242 232;
  --line: rgba(43, 34, 22, 0.12); --line-strong: rgba(43, 34, 22, 0.24); --veil: rgba(43, 34, 22, 0.06);
  --shadow: rgba(43, 34, 22, 0.2); --panel: rgba(255, 252, 246, 0.97);
  --glow-a: 240 200 140; --glow-b: 130 200 200; --glow-c: 240 160 120;
  --dawn: #2b2216; --dawn-ink: #f8f2e8; --dawn-soft: #e0d4c0; --dawn-line: rgba(255, 255, 255, 0.16);
  --dawn-muted: #b3a48c; --dawn-card: rgba(255, 255, 255, 0.06);
  --dawn-g1: #f4cf86; --dawn-g2: #f0a99a; --dawn-g3: #8fe3e6; --dawn-accent: #8fd8d0;
  --dawn-glow-a: 242 184 75; --dawn-glow-b: 143 216 208;
  --i-ink: #2b2216; --i-night: #6b5f4c; --i-deep: #574c3c; --i-mist: #fffcf6; --i-soft: #f3ebdd; --i-muted: #e6dccb;
  --i-bg-rgb: 43 34 22; --i-accent: #9fe0d8; --i-accent-rgb: 159 224 216; --i-on-accent: #0c2a2c; --i-hero-tint: #9a8b72;
  --water-pond: #7a6c58; --water-sky: #f2dcc0; --water-deep: #0f4256; --water-clear: #7ec4d6; --water-vig: 0.82;
}

[data-scheme="snow"] {       /* as white as it gets: white page, white hero, ink text, cobalt */
  --ink: #ffffff; --night: #fafbfc; --deep: #f2f4f7; --plum: #e9ecf1;
  --mist: #111418; --soft: #3c4250; --muted: #5d6472;
  --lime: #1d5fbf; --lime-deep: #174c99; --accent-rgb: 29 95 191; --on-accent: #ffffff;
  --aqua: #13707e; --rose: #b03a5e; --gold: #946010;
  --fg-rgb: 17 20 24; --bg-rgb: 255 255 255;
  --line: rgba(17, 20, 24, 0.1); --line-strong: rgba(17, 20, 24, 0.2); --veil: rgba(17, 20, 24, 0.05);
  --shadow: rgba(17, 20, 24, 0.14); --panel: rgba(255, 255, 255, 0.98);
  --glow-a: 200 210 240; --glow-b: 190 225 235; --glow-c: 240 205 220;
  /* the "dawn" bands stay light too: a whisper of grey */
  --dawn: #f4f6f9; --dawn-ink: #111418; --dawn-soft: #3c4250; --dawn-line: rgba(17, 20, 24, 0.1);
  --dawn-muted: #5d6472; --dawn-card: #ffffff;
  --dawn-g1: #b03a5e; --dawn-g2: #946010; --dawn-g3: #13707e; --dawn-accent: #1d5fbf;
  --dawn-glow-a: 210 220 245; --dawn-glow-b: 240 215 225;
  --i-hero-tint: #ffffff; --i-night: #eef2f6;
  --hero-tint: #ffffff;
  /* pale water on white */
  --water-pond: #e8eef3; --water-sky: #ffffff; --water-deep: #2c6ea6; --water-clear: #a4d8f0; --water-vig: 0.97;
}
/* hero headline: deeper rainbow so "Life" reads on white */
[data-scheme="snow"] .hero h1 .accent-italic {
  background-image: linear-gradient(100deg,
    #c2457a 0%, #b8761a 17%, #4f8f2a 33%, #1f8a96 50%, #6a4fc4 67%, #b0408f 83%, #c2457a 100%);
}
[data-scheme="snow"] .hero h1 { text-shadow: 0 2px 30px rgb(255 255 255 / 0.9); }
[data-scheme="snow"] .wave-figure .wf-flow { stroke: var(--lime); }
/* videos keep a dark frame so the play button and thumbnails read */
[data-scheme="snow"] .video { --deep: #2b3242; --fg-rgb: 255 255 255; }

/* Light schemes: heroes and media stay a mid-tone island with light text */
[data-tone="light"]:not([data-scheme="snow"]) :is(.hero, .page-hero, .site-header:not(.is-scrolled), .video, .art, .wave-figure) {
  color-scheme: dark;
  color: var(--i-soft);
  --ink: var(--i-ink); --night: var(--i-night); --deep: var(--i-deep); --plum: var(--i-deep);
  --mist: var(--i-mist); --soft: var(--i-soft); --muted: var(--i-muted);
  --lime: var(--i-accent); --lime-deep: var(--i-accent); --accent-rgb: var(--i-accent-rgb); --on-accent: var(--i-on-accent);
  --rose: #f0a9bf; --gold: #f4cf86; --aqua: #8fe3e6;
  --fg-rgb: 255 255 255; --bg-rgb: var(--i-bg-rgb);
  --line: rgba(255, 255, 255, 0.16); --line-strong: rgba(255, 255, 255, 0.3); --veil: rgba(255, 255, 255, 0.1);
  --panel: rgb(var(--i-bg-rgb) / 0.96); --shadow: rgba(0, 0, 0, 0.5);
  --hero-tint: var(--i-hero-tint);
}
/* a subpage's page top in a light scheme is a dark island with light words, fading into the light page below.
   On a phone the words wrap, so the page top grows and its last lines (buttons, tags) used to sit in that light
   fade, faint. The fade now only covers the empty space under the last line, and the tags and outline buttons
   get a soft backing in the island's own color, so they read over the bright parts of the moving light too. */
[data-tone="light"]:not([data-scheme="snow"]) .page-hero::after { height: clamp(48px, 8vw, 104px); }
[data-tone="light"]:not([data-scheme="snow"]) .page-hero .tag { background: rgb(var(--i-bg-rgb) / 0.42); border-color: rgba(255, 255, 255, 0.28); color: var(--i-mist); }
[data-tone="light"]:not([data-scheme="snow"]) .page-hero .btn.ghost { --b-bg: rgb(var(--i-bg-rgb) / 0.38); --b-fg: var(--i-mist); }

/* lighter scrims over the daybreak water */
[data-tone="light"] .hero::after {
  background: linear-gradient(180deg, transparent, rgb(var(--bg-rgb) / 0.35) 45%, rgb(var(--bg-rgb) / 0.78));
}
[data-tone="light"] .hero h1 { text-shadow: 0 4px 40px rgb(var(--bg-rgb) / 0.55); }
[data-tone="light"] :is(.hero-hint, .hero-status, .hero .eyebrow, .hero-lede) {
  color: var(--soft);
  text-shadow: 0 1px 10px rgb(var(--bg-rgb) / 0.6);
}
[data-tone="light"] .ambient-fallback {
  background:
    radial-gradient(60% 70% at 78% 30%, rgb(var(--glow-a) / 0.45), transparent 70%),
    radial-gradient(50% 60% at 20% 80%, rgb(var(--glow-b) / 0.3), transparent 70%),
    linear-gradient(180deg, var(--i-hero-tint), var(--i-night));
}
/* a dark hint of the infinity on light CTA bands */
[data-tone="light"] .cta-band::after { filter: invert(1); }

/* ---------- Colors menu ---------- */
.nav-colors .nav-visuals-btn .swatch {
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid var(--line-strong);
  background: conic-gradient(var(--sw-a, #07070f) 0 50%, var(--sw-b, #a6d65a) 50% 100%);
}
.colors-menu { width: 360px; }
.colors-menu .group {
  margin: 8px 10px 2px;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--muted);
}
.colors-menu .grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.visuals-menu.colors-menu button {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 30px 9px 10px;
}
.colors-menu .chip {
  flex: none;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid var(--line-strong);
  background:
    radial-gradient(circle at 50% 50%, var(--c3) 0 22%, transparent 23%),
    conic-gradient(var(--c1) 0 50%, var(--c2) 50% 100%);
}
.visuals-menu.colors-menu button b { font-size: 0.86rem; white-space: nowrap; }
.visuals-menu.colors-menu button[aria-pressed="true"]::after { right: 12px; }

@media (min-width: 1001px) and (max-width: 1180px) {
  .nav-colors .nav-visuals-btn .label { display: none; }
}

.nav-colors .now { display: none; }

@media (max-width: 1000px) {
  .nav { overflow-y: auto; justify-content: safe center; padding: var(--header-h) 0 28px; }
  .nav-colors { order: 11; margin-top: 18px; gap: 6px; }
  .nav-colors .nav-visuals-btn .swatch { display: none; }
  .colors-menu {
    width: min(92vw, 360px);
    flex-wrap: wrap;
    justify-content: center;
    border-radius: 22px;
    padding: 8px;
  }
  .colors-menu .group { display: none; }
  .colors-menu .grid { display: contents; }
  .visuals-menu.colors-menu button { padding: 4px; border-radius: 50%; }
  .visuals-menu.colors-menu button b { display: none; }
  .colors-menu .chip { width: 34px; height: 34px; }
  .visuals-menu.colors-menu button[aria-pressed="true"] { background: transparent; }
  .visuals-menu.colors-menu button[aria-pressed="true"] .chip { box-shadow: 0 0 0 2px var(--ink), 0 0 0 4px var(--mist); }
  .nav-colors .now { display: block; margin: 0; font-size: 0.85rem; color: var(--soft); }
}

/* Thankful Harvest: the colored italic in terracotta and gold (light on the olive page top) */
[data-scheme="harvest"] .accent-italic { background-image: linear-gradient(100deg, #9c4527, #a8742a 55%, #6b7a3a); }
[data-scheme="harvest"] :is(.page-hero, .section.dawn) .accent-italic { background-image: linear-gradient(100deg, #eaa580, #e2b86a 55%, #f1dca6); }
