/*
 * GEN.Z — finition claire. Load after the existing component styles.
 * Opt-in only: old boards keep their dark appearance.
 * Paint only: no trajectory, device sizing, visibility or timing changes.
 * The canonical hero/intro and floating header are deliberately not targeted.
 */
body[data-genz-theme="light"] {
  --gz-light-paper: #f4f6f8;
  --gz-light-surface: #edf2f7;
  --gz-light-low: #dfe7ef;
  --gz-light-ink: #1a2a3a;
  --gz-light-muted: #4c6074;
  --gz-light-soft: #52677b;
  --gz-light-blue: #165f95;
  --gz-light-cyan: #17677f;
  --gz-light-violet: #7043a5;
  --gz-light-coral: #98452f;
  --gz-light-line: #c1cdd9;
  --gz-light-control: #6d7f92;
  --gz-light-focus: #065e9f;
  --gz-light-glass: linear-gradient(145deg, #ffffffeb, #edf2f7e6 58%, #e3eaf4e6);
  --gz-light-shadow: 0 15px 42px #364f6f12, inset 0 1px 0 #ffffffed;
  background: var(--gz-light-paper);
}

/* Continuous, gently varied section surfaces. */
body[data-genz-theme="light"] .tx-journey,
body[data-genz-theme="light"] .tx-section,
body[data-genz-theme="light"] .tx-intro-note,
body[data-genz-theme="light"] .tx-bridge,
body[data-genz-theme="light"] .tx-footer {
  color: var(--gz-light-ink);
}
body[data-genz-theme="light"] .tx-journey {
  background: linear-gradient(180deg, #f4f6f8, #eff3f8 62%, #eaf0f6);
}
body[data-genz-theme="light"] .tx-compose {
  background: radial-gradient(ellipse at 76% 57%, #cad8ed66, transparent 58%);
}
body[data-genz-theme="light"] .tx-interface {
  border-top-color: #bfccda80;
}
body[data-genz-theme="light"] .tx-tree-zone {
  border-top-color: var(--gz-light-line);
  background: radial-gradient(ellipse at 50% 48%, #d3deed75, transparent 65%), #edf2f7;
}
body[data-genz-theme="light"] #tx-04 {
  background: radial-gradient(ellipse at 82% 25%, #dce7f366, transparent 60%), #f5f7fa;
}
body[data-genz-theme="light"] #tx-05 {
  background: linear-gradient(155deg, #eff3f8, #f7f8fa 72%);
}
body[data-genz-theme="light"] .tx-lab {
  border-top-color: var(--gz-light-line);
  background: radial-gradient(ellipse at 10% 20%, #d9e3f080, transparent 60%), #eaf0f6;
}
body[data-genz-theme="light"] .tx-label,
body[data-genz-theme="light"] .tx-intro-note,
body[data-genz-theme="light"] .tx-lead,
body[data-genz-theme="light"] .tx-tree-head p,
body[data-genz-theme="light"] .tx-interface-copy p,
body[data-genz-theme="light"] .tx-two-head > p,
body[data-genz-theme="light"] .tx-panel > header p,
body[data-genz-theme="light"] .tx-note {
  color: var(--gz-light-muted);
}
body[data-genz-theme="light"] .tx-label b {
  color: var(--gz-light-blue);
}
body[data-genz-theme="light"] .tx-compose-copy h2 em {
  color: #4a6481;
}
body[data-genz-theme="light"] .tx-quick a {
  color: var(--gz-light-blue);
  border-color: var(--gz-light-control);
  background: #ffffff73;
}
body[data-genz-theme="light"] .tx-source-guide {
  color: var(--gz-light-muted);
  border-color: #8197af;
  background: #ffffff2e;
}
body[data-genz-theme="light"] .tx-tools > span {
  color: var(--gz-light-muted);
  border-top-color: var(--gz-light-line);
}
body[data-genz-theme="light"] .tx-tools i {
  color: var(--gz-light-blue);
}
body[data-genz-theme="light"] .tx-target-slot {
  border-color: #aebfd47a;
}
body[data-genz-theme="light"] .tx-target-slot::before,
body[data-genz-theme="light"] .tx-target-slot::after {
  color: #7089a4;
}

/* The same travelling card: polished glass instead of a dark painted panel. */
body[data-genz-theme="light"] .tx-concept-card {
  color: var(--gz-light-ink);
  border-color: #9daec0;
  background: radial-gradient(ellipse at 85% 10%, #d7c8f338, transparent 55%),
    linear-gradient(145deg, #fbfdff, #e4edf6 70%, #e9e7f6);
  box-shadow: 0 28px 65px #38516b22, 0 3px 10px #526b8512, inset 0 1px 0 #ffffff;
}
body[data-genz-theme="light"] .tx-concept-card::after {
  background: linear-gradient(140deg, #ffffff80, transparent 45%);
}
body[data-genz-theme="light"] .tx-card-bar {
  border-bottom-color: #b1c2d4;
}
body[data-genz-theme="light"] .tx-card-bar i,
body[data-genz-theme="light"] .tx-card-body > small,
body[data-genz-theme="light"] .tx-card-footer {
  color: var(--gz-light-muted);
}
body[data-genz-theme="light"] .tx-card-action {
  color: #154a75;
  background: linear-gradient(135deg, #ffffffa6, #d9e8f5a6);
  border-color: #6686a7;
  box-shadow: inset 0 1px 0 #ffffffd9, 0 5px 15px #46627f12;
}
body[data-genz-theme="light"] .tx-card-sculpture {
  border-color: #93b0d0;
  background: radial-gradient(circle at 25% 22%, #ffffffeb, #9bc9ee99 48%, #977bd761);
  box-shadow: inset 15px 15px 35px #ffffff61, inset -10px -10px 30px #6c83b147, 0 16px 32px #476b9124;
}
body[data-genz-theme="light"] .tx-card-sculpture::after {
  border-color: #718ead;
  box-shadow: inset 0 1px 0 #ffffffcc;
}
body[data-genz-theme="light"] .tx-travel-caption,
body[data-genz-theme="light"] .tx-bridge {
  color: var(--gz-light-soft);
}
body[data-genz-theme="light"] .tx-travel-caption > span {
  background: #c6d3e0;
}
body[data-genz-theme="light"] .tx-travel-caption > span::after {
  background: var(--gz-light-blue);
}
body[data-genz-theme="light"] .tx-bridge {
  border-top-color: var(--gz-light-line);
  background: #f1f5f9;
}
body[data-genz-theme="light"] .tx-bridge::before,
body[data-genz-theme="light"] .tx-bridge::after {
  background: linear-gradient(90deg, transparent, #93abc366);
}

/* 03 — glass nodes, metallic connections, three distinct accent families. */
body[data-genz-theme="light"] .tx-root-node {
  border-color: #9fb1c4;
  background: var(--gz-light-glass);
  box-shadow: var(--gz-light-shadow);
}
body[data-genz-theme="light"] .tx-root-node > div > span,
body[data-genz-theme="light"] .tx-branch small,
body[data-genz-theme="light"] .tx-tree-detail {
  color: var(--gz-light-muted);
}
body[data-genz-theme="light"] .tx-icon {
  color: var(--gz-light-cyan);
  border-color: #78a0b5;
  background: linear-gradient(135deg, #f5fdff, #cde6f2);
  box-shadow: inset 0 1px 0 #ffffff, 0 5px 0 #a8bac32e, 0 10px 20px #3d5b7412;
}
body[data-genz-theme="light"] .tx-branches::before,
body[data-genz-theme="light"] .tx-branches::after,
body[data-genz-theme="light"] .tx-branch::before {
  background: #8298ae;
}
body[data-genz-theme="light"] .tx-branch::after {
  border-right-color: #587796;
  border-bottom-color: #587796;
}
body[data-genz-theme="light"] .tx-branch > button {
  color: var(--gz-light-ink);
  border-color: var(--gz-light-control);
  background: var(--gz-light-glass);
  box-shadow: inset 0 1px 0 #ffffffed, 0 6px 18px #3a57710a;
}
body[data-genz-theme="light"] .tx-branch > button:hover,
body[data-genz-theme="light"] .tx-branch > button[aria-pressed="true"] {
  border-color: var(--gz-light-blue);
  background: linear-gradient(135deg, #f8fcff, #e0ecfa);
  box-shadow: inset 0 1px 0 #ffffff, 0 0 0 1px #165f9526, 0 10px 28px #3e72a11c;
}
body[data-genz-theme="light"] .tx-branch:nth-child(2) .tx-icon {
  color: var(--gz-light-violet);
  border-color: #9b83bc;
  background: linear-gradient(135deg, #faf6ff, #e5d8f5);
}
body[data-genz-theme="light"] .tx-branch:nth-child(3) .tx-icon {
  color: var(--gz-light-coral);
  border-color: #b98572;
  background: linear-gradient(135deg, #fff7f1, #f4d8ca);
}
body[data-genz-theme="light"] .tx-spec > details {
  border-color: var(--gz-light-line);
}
body[data-genz-theme="light"] .tx-spec summary {
  color: var(--gz-light-blue);
}
body[data-genz-theme="light"] .tx-spec details p {
  color: var(--gz-light-muted);
}

/* 04 / 06D — silver drawing paper; image-backed renders retain their colour. */
body[data-genz-theme="light"] [data-plan-demo] {
  --pd-line: #b7c7d8;
  --pd-muted: #4c6074;
  --pd-light: #1a2a3a;
  color: var(--gz-light-ink);
}
body[data-genz-theme="light"] [data-plan-demo] .pd-switch {
  border-color: var(--gz-light-control);
  background: linear-gradient(145deg, #ffffffbf, #dfe7efbf);
  box-shadow: inset 0 1px 0 #ffffff;
}
body[data-genz-theme="light"] [data-plan-demo] .pd-mode {
  color: var(--gz-light-muted);
}
body[data-genz-theme="light"] [data-plan-demo] .pd-mode > span {
  color: var(--gz-light-muted);
  opacity: 1;
}
body[data-genz-theme="light"] [data-plan-demo] .pd-mode[aria-pressed="true"] {
  color: #154a75;
  background: linear-gradient(145deg, #ffffff, #dfebf8);
  box-shadow: inset 0 1px 0 #ffffff, 0 2px 8px #4264861c;
}
body[data-genz-theme="light"] [data-plan-demo] .pd-mode[aria-pressed="true"] > span {
  color: #154a75;
}
body[data-genz-theme="light"] [data-plan-demo] .pd-stage {
  border-color: #9caec1;
  background: radial-gradient(ellipse at 75% 50%, #cee0f25e, transparent 60%),
    linear-gradient(90deg, #5b7a9a12 1px, transparent 1px),
    linear-gradient(#5b7a9a12 1px, transparent 1px), #edf2f7;
  background-size: auto, 28px 28px, 28px 28px, auto;
  box-shadow: inset 0 1px 0 #ffffff, 0 16px 36px #304b6810;
}
body[data-genz-theme="light"] [data-plan-demo] .pd-plan-stamp,
body[data-genz-theme="light"] [data-plan-demo] .pd-plan-stamp b,
body[data-genz-theme="light"] [data-plan-demo] .pd-stage-note {
  color: var(--gz-light-muted);
}
body[data-genz-theme="light"] [data-plan-demo] .pd-sketch-soft {
  stroke: #355c7e;
}
body[data-genz-theme="light"] [data-plan-demo] .pd-measure {
  stroke: #294e70;
  opacity: .8;
}
body[data-genz-theme="light"] [data-plan-demo] .pd-handwriting {
  fill: #45627c;
}
body[data-genz-theme="light"] [data-plan-demo] .pd-point {
  fill: #3a668d;
}
body[data-genz-theme="light"] [data-plan-demo] .pd-observe,
body[data-genz-theme="light"] [data-plan-demo] .pd-status,
body[data-genz-theme="light"] [data-plan-demo] .pd-caption {
  color: var(--gz-light-muted);
}
body[data-genz-theme="light"] [data-plan-demo] .pd-ink-dot {
  background: #52677b;
}
body[data-genz-theme="light"] [data-plan-demo] .pd-cyan-dot {
  background: #287f9c;
}
body[data-genz-theme="light"] [data-plan-demo] .pd-coral-dot {
  background: #a85d44;
}
body[data-genz-theme="light"] [data-plan-demo] .pd-render-browser {
  box-shadow: 0 20px 48px #263c5526, inset 0 1px 0 #ffffff3d;
}
/* No colour/filter/background override of .pd-render-image, .pd-render-copy,
   .pd-render-nav or .pd-image-shade: each approved image keeps its own palette. */

/* 05 and 06B share a real silver material, not a black plastic frame. */
body[data-genz-theme="light"] :where(#formats-demo, #needs-demo) {
  --gd-metal: linear-gradient(125deg, #f9fcff, #a7b5c5 30%, #e4ebf3 51%, #90a1b5 77%, #cad6e2);
  --gd-metal-line: #7b8da2;
  --gd-metal-shadow: 0 24px 45px #344e6a26, 0 3px 8px #48617c1a, inset 0 1px 0 #ffffff;
  --gd-neck: linear-gradient(90deg, #8c9db1, #e3eaf2 36%, #bdcbd9 64%, #8295aa);
  --gd-foot: linear-gradient(180deg, #e6edf5, #92a5ba);
}
body[data-genz-theme="light"] #formats-demo {
  --fd-light: #1a2a3a;
  --fd-muted: #4c6074;
  --fd-line: #b9c8d8;
  color: var(--gz-light-ink);
}
body[data-genz-theme="light"] #formats-demo .fd-switch,
body[data-genz-theme="light"] #needs-demo .nd-device-switch {
  border-color: var(--gz-light-control);
  background: linear-gradient(145deg, #ffffffbf, #dfe7efbf);
  box-shadow: inset 0 1px 0 #ffffff;
}
body[data-genz-theme="light"] #formats-demo .fd-switch button,
body[data-genz-theme="light"] #needs-demo .nd-device-switch button {
  color: var(--gz-light-muted);
}
body[data-genz-theme="light"] #formats-demo .fd-switch button[aria-pressed="true"],
body[data-genz-theme="light"] #needs-demo .nd-device-switch button[aria-pressed="true"] {
  color: #154a75;
  background: linear-gradient(145deg, #ffffff, #dfebf8);
  box-shadow: inset 0 1px 0 #ffffff, 0 2px 8px #4264861c;
}
body[data-genz-theme="light"] #formats-demo .fd-stage,
body[data-genz-theme="light"] #needs-demo .nd-stage {
  border-color: #a3b3c5;
  background: radial-gradient(ellipse at 50% 35%, #c8daed7a, transparent 60%),
    linear-gradient(155deg, #f7f9fc, #e2e9f2 80%);
  box-shadow: inset 0 1px 0 #ffffff, 0 16px 36px #304b6810;
}
body[data-genz-theme="light"] #formats-demo .fd-stage-label,
body[data-genz-theme="light"] #formats-demo .fd-device-number,
body[data-genz-theme="light"] #formats-demo .fd-status,
body[data-genz-theme="light"] #formats-demo .fd-caption,
body[data-genz-theme="light"] #needs-demo .nd-device-tools > span,
body[data-genz-theme="light"] #needs-demo .nd-stage-caption {
  color: var(--gz-light-muted);
}
body[data-genz-theme="light"] #formats-demo .fd-screen,
body[data-genz-theme="light"] #formats-demo .fd-phone-screen {
  border-color: #6f8197;
  background: #f0f5fa;
}
body[data-genz-theme="light"] #formats-demo .fd-window-nav {
  border-bottom-color: #becbda;
  background: linear-gradient(180deg, #f7faff, #e4edf6);
}
body[data-genz-theme="light"] #formats-demo .fd-window-nav strong,
body[data-genz-theme="light"] #formats-demo .fd-phone-nav {
  color: #33516f;
}
body[data-genz-theme="light"] #formats-demo .fd-window-dots i {
  background: #7e94ab;
}
body[data-genz-theme="light"] #formats-demo .fd-window-links i {
  background: #8299b0;
}
body[data-genz-theme="light"] #formats-demo .fd-desktop-content {
  background: radial-gradient(ellipse at 75% 35%, #ccdcf278, transparent 58%), #edf3fa;
}
body[data-genz-theme="light"] #formats-demo .fd-phone-screen {
  background: radial-gradient(ellipse at 70% 75%, #cfdef291, transparent 58%), #edf3fa;
}
body[data-genz-theme="light"] #formats-demo .fd-kicker {
  color: var(--gz-light-cyan);
}
body[data-genz-theme="light"] #formats-demo .fd-desktop-copy h4,
body[data-genz-theme="light"] #formats-demo .fd-phone-copy h4 {
  color: var(--gz-light-ink);
}
body[data-genz-theme="light"] #formats-demo .fd-desktop-copy em,
body[data-genz-theme="light"] #formats-demo .fd-phone-copy em {
  color: #4e5f95;
}
body[data-genz-theme="light"] #formats-demo .fd-desktop-copy p,
body[data-genz-theme="light"] #formats-demo .fd-phone-copy p,
body[data-genz-theme="light"] #formats-demo .fd-feature-row,
body[data-genz-theme="light"] #formats-demo .fd-floating-chip {
  color: var(--gz-light-muted);
}
body[data-genz-theme="light"] #formats-demo .fd-floating-chip {
  border-color: #a0b5cd;
  background: linear-gradient(135deg, #ffffffb8, #e1ebf5c9);
  box-shadow: 0 8px 20px #4b6d8e1a, inset 0 1px 0 #ffffff;
}
body[data-genz-theme="light"] #formats-demo .fd-floating-chip b {
  color: #244766;
}
body[data-genz-theme="light"] #formats-demo .fd-illustrative-action,
body[data-genz-theme="light"] #formats-demo .fd-phone-action {
  color: #5c3025;
  background: linear-gradient(135deg, #ffe8da, #f1c1ab);
  border-color: #b1755b;
  box-shadow: inset 0 1px 0 #fff4ed, 0 5px 14px #b577571a;
}
body[data-genz-theme="light"] #formats-demo .fd-orb {
  border-color: #89acc7;
  background: radial-gradient(circle at 30% 24%, #ffffffd9, transparent 34%),
    radial-gradient(circle at 65% 72%, #ac8bdc91, transparent 69%),
    linear-gradient(145deg, #80cfdf99, #a9c3e266 48%, #a39cdd80);
  box-shadow: inset 8px 6px 20px #ffffff7a, inset -8px -15px 25px #8a76b43d, 0 13px 25px #4464842b;
}
body[data-genz-theme="light"] #formats-demo .fd-orbit {
  border-color: #7097b6;
  box-shadow: 0 0 9px #76b8e026, inset 0 1px 0 #ffffffb3;
}
body[data-genz-theme="light"] #formats-demo .fd-feature-row {
  border-top-color: #b7c7da;
}
body[data-genz-theme="light"] #formats-demo .fd-feature-row i {
  border-color: #51899c;
}
body[data-genz-theme="light"] #formats-demo .fd-desktop-foot,
body[data-genz-theme="light"] #needs-demo .nd-device-foot {
  border-color: #8c9fb4;
  box-shadow: 0 9px 20px #38536d24;
}
body[data-genz-theme="light"] #formats-demo .fd-home-indicator,
body[data-genz-theme="light"] #needs-demo.nd-mobile .nd-device-home {
  background: #61778f;
}
body[data-genz-theme="light"] #formats-demo .fd-ground {
  background: radial-gradient(ellipse, #718eae30, transparent 68%);
}

/* 06 — substantial translucent buttons, not a flat white tab strip. */
body[data-genz-theme="light"] .tx-tab {
  color: var(--gz-light-ink);
  border-color: var(--gz-light-control);
  background: var(--gz-light-glass);
  box-shadow: inset 0 1px 0 #ffffffd9, 0 5px 14px #3a55710a;
}
body[data-genz-theme="light"] .tx-tab > i {
  color: var(--gz-light-cyan);
  border-color: #78a0b5;
  background: linear-gradient(135deg, #f5fdff, #cde6f2);
  box-shadow: inset 0 1px 0 #ffffff, 0 5px 15px #3356721a;
}
body[data-genz-theme="light"] .tx-tab:nth-child(2) > i {
  color: var(--gz-light-violet);
  background: linear-gradient(135deg, #faf6ff, #e5d8f5);
  border-color: #9b83bc;
}
body[data-genz-theme="light"] .tx-tab:nth-child(3) > i {
  color: var(--gz-light-coral);
  background: linear-gradient(135deg, #fff7f1, #f4d8ca);
  border-color: #b98572;
}
body[data-genz-theme="light"] .tx-tab:nth-child(4) > i {
  color: #245e9a;
  background: linear-gradient(135deg, #f5f9ff, #cbdcf6);
  border-color: #819dbd;
}
body[data-genz-theme="light"] .tx-tab small {
  color: var(--gz-light-muted);
}
body[data-genz-theme="light"] .tx-tab[aria-selected="true"] {
  color: #154a75;
  border-color: var(--gz-light-blue);
  background: linear-gradient(135deg, #ffffff, #dce9f7);
  box-shadow: inset 0 1px 0 #ffffff, 0 0 0 1px #165f9526, 0 10px 28px #3e72a11c;
}
body[data-genz-theme="light"] .tx-panel {
  border-color: #b3c2d3;
  background: linear-gradient(155deg, #f9fbfdeb, #edf2f8eb);
  box-shadow: inset 0 1px 0 #ffffff, 0 18px 44px #3d57710c;
}

/* A — colourful glass studies, clear labels and quiet metal edges. */
body[data-genz-theme="light"] .tx-poster {
  color: var(--gz-light-ink);
  border-color: #99b0ca;
  background: radial-gradient(ellipse at 75% 10%, #b9d1f26b, transparent 60%), #e4edf8;
  box-shadow: inset 0 1px 0 #ffffffd9, 0 10px 24px #3b587314;
}
body[data-genz-theme="light"] .tx-poster:nth-child(2) {
  background: radial-gradient(ellipse at 75% 10%, #d3b8ed78, transparent 60%), #eee8f6;
  border-color: #ac99c3;
}
body[data-genz-theme="light"] .tx-poster:nth-child(3) {
  background: radial-gradient(ellipse at 75% 10%, #f0c0a97d, transparent 60%), #f7e9e3;
  border-color: #bd9c8c;
}
body[data-genz-theme="light"] .tx-poster > small,
body[data-genz-theme="light"] .tx-poster-scene span,
body[data-genz-theme="light"] .tx-poster details p {
  color: #475a70;
}
body[data-genz-theme="light"] .tx-poster-scene {
  border-color: #9dacc161;
  background: #ffffff40;
  box-shadow: inset 0 1px 0 #ffffff80;
}
body[data-genz-theme="light"] .tx-poster-orb {
  border-color: #8cb8cd;
  background: radial-gradient(circle at 25% 20%, #ffffffed, #8fc9edb3 58%, #6a8fce5e);
  box-shadow: inset 0 1px 8px #ffffff99, 0 14px 28px #3e6c9633;
}
body[data-genz-theme="light"] .tx-poster-orb::after {
  border-color: #688daf;
  box-shadow: inset 0 1px 0 #ffffffb3;
}
body[data-genz-theme="light"] .tx-poster:nth-child(2) .tx-poster-orb {
  border-color: #b49ac9;
  background: radial-gradient(circle at 25% 20%, #f9f3ffee, #b894dcbf 58%, #9470b866);
  box-shadow: inset 0 1px 8px #ffffff99, 0 14px 28px #78618b33;
}
body[data-genz-theme="light"] .tx-poster:nth-child(3) .tx-poster-orb {
  border-color: #cb9a83;
  background: radial-gradient(circle at 25% 20%, #fff7eced, #e6a18abf 58%, #b67a7466);
  box-shadow: inset 0 1px 8px #ffffff99, 0 14px 28px #a46c5933;
}
body[data-genz-theme="light"] .tx-poster details {
  border-top-color: #9cabc16b;
}
body[data-genz-theme="light"] .tx-reel-tools > span {
  color: var(--gz-light-muted);
}
body[data-genz-theme="light"] .tx-reel-tools button {
  color: #154a75;
  border-color: var(--gz-light-control);
  background: var(--gz-light-glass);
  box-shadow: inset 0 1px 0 #ffffff;
}

/* B — the same live screen remains inside both silver device frames. */
body[data-genz-theme="light"] #needs-demo {
  --nd-paper: #edf3fa;
  --nd-panel: #e5eef7;
  --nd-ink: #1a2a3a;
  --nd-muted: #4c6074;
  --nd-line: #becbd9;
  --nd-accent: #165f95;
  --nd-accent-rgb: 22, 95, 149;
  color: var(--gz-light-ink);
}
body[data-genz-theme="light"] #needs-demo[data-goal="social"] {
  --nd-accent: #7043a5;
  --nd-accent-rgb: 112, 67, 165;
}
body[data-genz-theme="light"] #needs-demo[data-goal="contact"] {
  --nd-accent: #98452f;
  --nd-accent-rgb: 152, 69, 47;
}
body[data-genz-theme="light"] #needs-demo .nd-eyebrow,
body[data-genz-theme="light"] #needs-demo .nd-description,
body[data-genz-theme="light"] #needs-demo .nd-goal small,
body[data-genz-theme="light"] #needs-demo .nd-legend {
  color: var(--gz-light-muted);
}
body[data-genz-theme="light"] #needs-demo .nd-goal {
  color: var(--gz-light-ink);
  border-color: var(--gz-light-control);
  background: var(--gz-light-glass);
  box-shadow: inset 0 1px 0 #ffffffd9, 0 5px 15px #3b56700a;
}
body[data-genz-theme="light"] #needs-demo .nd-goal > i {
  color: var(--gz-light-soft);
}
body[data-genz-theme="light"] #needs-demo .nd-goal:hover {
  border-color: var(--nd-accent);
}
body[data-genz-theme="light"] #needs-demo .nd-goal[aria-pressed="true"] {
  border-color: var(--nd-accent);
  background: linear-gradient(135deg, #ffffff, rgba(var(--nd-accent-rgb), .08)), #edf2f7;
  box-shadow: inset 0 1px 0 #ffffff, 0 0 0 1px rgba(var(--nd-accent-rgb), .12), 0 8px 22px rgba(var(--nd-accent-rgb), .07);
}
body[data-genz-theme="light"] #needs-demo .nd-goal-icon {
  color: var(--gz-light-cyan);
  border-color: #83a0b7;
  background: radial-gradient(circle at 25% 15%, #ffffff, #d6e4f1);
  box-shadow: inset 0 1px 1px #ffffff, 0 7px 15px #3a5b7d1a;
}
body[data-genz-theme="light"] #needs-demo .nd-goal:nth-child(2) .nd-goal-icon {
  color: var(--gz-light-violet);
  background: linear-gradient(135deg, #faf6ff, #e5d8f5);
  border-color: #9b83bc;
}
body[data-genz-theme="light"] #needs-demo .nd-goal:nth-child(3) .nd-goal-icon {
  color: var(--gz-light-coral);
  background: linear-gradient(135deg, #fff7f1, #f4d8ca);
  border-color: #b98572;
}
body[data-genz-theme="light"] #needs-demo .nd-goal[aria-pressed="true"] .nd-goal-icon {
  color: var(--nd-accent);
  box-shadow: inset 0 1px 1px #ffffff, 0 6px 18px rgba(var(--nd-accent-rgb), .14);
}
body[data-genz-theme="light"] #needs-demo .nd-screen {
  color: var(--gz-light-ink);
  border-color: #6f8197;
  background: #edf3fa;
}
body[data-genz-theme="light"] #needs-demo .nd-browser-bar {
  color: var(--gz-light-muted);
  border-bottom-color: #becbda;
  background: linear-gradient(180deg, #f7faff, #e4edf6);
}
body[data-genz-theme="light"] #needs-demo.nd-mobile .nd-browser-bar {
  background: transparent;
}
body[data-genz-theme="light"] #needs-demo .nd-browser-bar i {
  border-color: #748ba4;
}
body[data-genz-theme="light"] #needs-demo .nd-context {
  color: #33516f;
  background: linear-gradient(135deg, #d6e4f3, #edf3fa);
}
body[data-genz-theme="light"] #needs-demo .nd-context span {
  color: var(--gz-light-muted);
}
body[data-genz-theme="light"] #needs-demo .nd-context i {
  background: #7b97b366;
}
body[data-genz-theme="light"] #needs-demo .nd-context-orbit {
  border-color: #829dbb;
}
body[data-genz-theme="light"] #needs-demo .nd-context::after {
  background: linear-gradient(180deg, transparent, #edf3fa77 60%, #edf3fa);
}
body[data-genz-theme="light"] #needs-demo .nd-focus-divider {
  color: var(--gz-light-muted);
  border-top-color: #b1c3d6;
  border-bottom-color: #c0cdda;
  background: linear-gradient(90deg, rgba(var(--nd-accent-rgb), .07), #edf3fa);
}
body[data-genz-theme="light"] #needs-demo .nd-appcontent {
  background: #edf3fa;
  scrollbar-color: #6d839a #e2eaf4;
}
body[data-genz-theme="light"] #needs-demo .nd-module-icon {
  color: var(--nd-accent);
  border-color: var(--nd-accent);
  background: radial-gradient(circle at 30% 15%, #ffffffeb, rgba(var(--nd-accent-rgb), .08));
  box-shadow: inset 0 1px 1px #ffffff, 0 10px 25px #3d5c7914;
}
body[data-genz-theme="light"] #needs-demo .nd-panel h4,
body[data-genz-theme="light"] #needs-demo .nd-social-projection h5,
body[data-genz-theme="light"] #needs-demo .nd-call-demo h5 {
  color: var(--gz-light-ink);
}
body[data-genz-theme="light"] #needs-demo .nd-calendar-meta,
body[data-genz-theme="light"] #needs-demo .nd-calendar-meta > span:last-child,
body[data-genz-theme="light"] #needs-demo .nd-times-label,
body[data-genz-theme="light"] #needs-demo .nd-times-label > span:last-child,
body[data-genz-theme="light"] #needs-demo .nd-disclaimer,
body[data-genz-theme="light"] #needs-demo .nd-social-projection p,
body[data-genz-theme="light"] #needs-demo .nd-call-demo p {
  color: var(--gz-light-muted);
}
body[data-genz-theme="light"] #needs-demo .nd-days button,
body[data-genz-theme="light"] #needs-demo .nd-times button {
  color: #35516c;
  border-color: var(--gz-light-control);
  background: linear-gradient(145deg, #ffffff, #e3ecf7);
  box-shadow: inset 0 1px 0 #ffffff;
}
body[data-genz-theme="light"] #needs-demo .nd-days button[aria-pressed="true"],
body[data-genz-theme="light"] #needs-demo .nd-times button[aria-pressed="true"] {
  color: #154a75;
  border-color: var(--nd-accent);
  background: linear-gradient(145deg, #f9fcff, #dbe9f8);
  box-shadow: inset 0 1px 0 #ffffff, 0 0 0 1px rgba(var(--nd-accent-rgb), .15);
}
body[data-genz-theme="light"] #needs-demo .nd-primary {
  color: var(--nd-accent);
  border-color: var(--nd-accent);
  background: linear-gradient(135deg, #ffffffd9, rgba(var(--nd-accent-rgb), .08)), #edf3fa;
  box-shadow: inset 0 1px 0 #ffffff, 0 6px 16px rgba(var(--nd-accent-rgb), .08);
}
body[data-genz-theme="light"] #needs-demo .nd-primary:not(:disabled):hover {
  background: linear-gradient(135deg, #ffffff, rgba(var(--nd-accent-rgb), .12)), #edf3fa;
}
body[data-genz-theme="light"] #needs-demo .nd-screen-foot {
  color: var(--gz-light-muted);
  background: #e5edf6;
  border-top-color: #bacbdc;
}
body[data-genz-theme="light"] #needs-demo .nd-days,
body[data-genz-theme="light"] #needs-demo.nd-mobile .nd-days {
  scrollbar-color: #6d839a #e2eaf4;
}
body[data-genz-theme="light"] #needs-demo .nd-connections {
  stroke: #99abc1;
}
body[data-genz-theme="light"] #needs-demo .nd-hub-core {
  color: #1a2a3a;
  border-color: #8da3be;
  background: radial-gradient(circle at 32% 22%, #ffffff, #dce5f2 75%);
  box-shadow: inset 0 2px 7px #ffffffb3, 0 12px 30px #53698324;
}
body[data-genz-theme="light"] #needs-demo .nd-hub-core > span {
  color: #1a2a3a;
}
body[data-genz-theme="light"] #needs-demo .nd-hub-core > i {
  border-color: #819bb8;
}
body[data-genz-theme="light"] #needs-demo .nd-network,
body[data-genz-theme="light"] #needs-demo.nd-mobile .nd-network {
  color: #4e5c74;
}
body[data-genz-theme="light"] #needs-demo.nd-mobile .nd-network {
  border-color: var(--gz-light-control);
  background: linear-gradient(135deg, #ffffff, #e9e7f4);
}
body[data-genz-theme="light"] #needs-demo .nd-network-icon {
  border-color: #8d9fb8;
  background: radial-gradient(circle at 30% 20%, #ffffff, #dce6f4 75%);
  box-shadow: inset 0 1px 1px #ffffff, 0 7px 17px #4b62851c;
}
body[data-genz-theme="light"] #needs-demo .nd-network[aria-pressed="true"],
body[data-genz-theme="light"] #needs-demo.nd-mobile .nd-network[aria-pressed="true"] {
  color: var(--gz-light-violet);
  border-color: var(--nd-accent);
}
body[data-genz-theme="light"] #needs-demo.nd-mobile .nd-network[aria-pressed="true"] {
  background: linear-gradient(135deg, #ffffff, #e9def5);
}
body[data-genz-theme="light"] #needs-demo .nd-network[aria-pressed="true"] .nd-network-icon {
  border-color: var(--nd-accent);
  background: radial-gradient(circle at 30% 20%, #ffffff, #e1d3f2 75%);
}
body[data-genz-theme="light"] #needs-demo .nd-network-facebook svg {
  color: #2865a0;
  fill: #a4caef80;
}
body[data-genz-theme="light"] #needs-demo .nd-network-instagram svg {
  stroke: #9a458f;
}
body[data-genz-theme="light"] #needs-demo .nd-network-youtube svg {
  stroke: #ac414f;
}
body[data-genz-theme="light"] #needs-demo .nd-network-tiktok svg {
  stroke: #1c7585;
}
body[data-genz-theme="light"] #needs-demo .nd-social-projection,
body[data-genz-theme="light"] #needs-demo .nd-call-demo,
body[data-genz-theme="light"] #needs-demo .nd-message-demo {
  border-top-color: var(--gz-light-line);
}
body[data-genz-theme="light"] #needs-demo .nd-social-poster {
  color: #35234b;
  border-color: #9b83bc;
  background: radial-gradient(ellipse at 80% 20%, #d2b5ed8c, transparent 70%), #e9e2f4;
  box-shadow: inset 0 1px 0 #ffffffa6;
}
body[data-genz-theme="light"] #needs-demo .nd-social-poster > span,
body[data-genz-theme="light"] #needs-demo .nd-social-poster > b {
  color: #64477e;
}
body[data-genz-theme="light"] #needs-demo .nd-social-poster > i {
  border-color: #9679b9;
}
body[data-genz-theme="light"] #needs-demo .nd-contact-choices button {
  color: var(--gz-light-ink);
  border-color: var(--gz-light-control);
  background: linear-gradient(135deg, #fffaf7, #f4e8e3);
  box-shadow: inset 0 1px 0 #ffffff;
}
body[data-genz-theme="light"] #needs-demo .nd-contact-choices button[aria-pressed="true"] {
  border-color: var(--nd-accent);
  background: linear-gradient(135deg, #fffaf7, #f7e2d9);
  box-shadow: inset 0 1px 0 #ffffff, 0 0 0 1px #98452f26;
}
body[data-genz-theme="light"] #needs-demo .nd-contact-choices span {
  color: #62564f;
}
body[data-genz-theme="light"] #needs-demo .nd-call-disc {
  color: var(--gz-light-coral);
  border-color: #b37861;
  background: radial-gradient(circle at 30% 20%, #fff9f1, #edbca680);
  box-shadow: inset 0 2px 3px #ffffffbf, 7px 16px 20px #966d5426;
}
body[data-genz-theme="light"] #needs-demo .nd-call-disc > span {
  border-color: #bb8e736b;
}
body[data-genz-theme="light"] #needs-demo .nd-message-demo label {
  color: var(--gz-light-ink);
}
body[data-genz-theme="light"] #needs-demo .nd-message-demo label > span {
  color: var(--gz-light-muted);
}
body[data-genz-theme="light"] #needs-demo .nd-message-demo textarea {
  color: var(--gz-light-ink);
  border-color: var(--gz-light-control);
  background: #fbfdff;
  box-shadow: inset 0 2px 5px #3654700a;
  color-scheme: light;
}
body[data-genz-theme="light"] #needs-demo .nd-message-demo textarea::placeholder {
  color: var(--gz-light-soft);
  opacity: 1;
}
body[data-genz-theme="light"] #needs-demo .nd-message-preview {
  color: #743d2c;
  border-left-color: var(--nd-accent);
  background: #f8e9e1;
}

/* C — a polished light interface with readable coloured inspection marks. */
body[data-genz-theme="light"] .tx-inspect-screen {
  color: var(--gz-light-ink);
  border-color: #93abc5;
  background: radial-gradient(ellipse at 85% 50%, #d3c9ee52, transparent 65%), #e8f0f8;
  box-shadow: inset 0 1px 0 #ffffff, 0 15px 32px #3b587318;
}
body[data-genz-theme="light"] .tx-inspect-top {
  color: #335675;
  border-bottom-color: #b7c8da;
}
body[data-genz-theme="light"] .tx-inspect-body > small {
  color: var(--gz-light-cyan);
}
body[data-genz-theme="light"] .tx-inspect-body > span {
  color: #154a75;
  background: linear-gradient(135deg, #ffffff, #dbe8f5);
  border-color: #6d8aa7;
  box-shadow: inset 0 1px 0 #ffffff;
}
body[data-genz-theme="light"] .tx-inspect-controls button {
  color: var(--gz-light-ink);
  border-color: var(--gz-light-control);
  background: var(--gz-light-glass);
}
body[data-genz-theme="light"] .tx-inspect-controls button[aria-pressed="true"] {
  color: #154a75;
  border-color: var(--gz-light-blue);
  background: linear-gradient(135deg, #ffffff, #e0ecfa);
  box-shadow: 0 0 0 1px #165f9526;
}
body[data-genz-theme="light"] .tx-inspect-copy {
  color: var(--gz-light-muted);
}
body[data-genz-theme="light"] .tx-inspect-screen[data-part="nav"] .tx-inspect-top {
  outline-color: #1d709f;
  background: #d3e7f5;
}
body[data-genz-theme="light"] .tx-inspect-screen[data-part="content"] h4 {
  outline-color: #8054ae;
}
body[data-genz-theme="light"] .tx-inspect-screen[data-part="action"] .tx-inspect-body > span {
  outline-color: #a55d43;
}

/* Appointment rail: its initial hidden state and scroll trigger stay in JS. */
body[data-genz-theme="light"] .booking-dock {
  color: var(--gz-light-ink);
  border-color: #9fb1c6;
  background: linear-gradient(120deg, #ffffffed, #e8eff7eb);
  box-shadow: 0 12px 36px #2b4a6b29, inset 0 1px 0 #ffffff;
}
body[data-genz-theme="light"] .booking-track {
  background: #f8fbff94;
}
body[data-genz-theme="light"] .booking-fill {
  background: linear-gradient(90deg, #dce9f8, #c2daf3);
}
body[data-genz-theme="light"] .booking-label {
  color: var(--gz-light-ink);
}
body[data-genz-theme="light"] .booking-arrows {
  color: var(--gz-light-blue);
}
body[data-genz-theme="light"] .booking-knob {
  border-color: #8da3be;
  background: linear-gradient(135deg, #ffffff, #e3edf7);
  box-shadow: 0 3px 10px #3f597933, inset 0 1px 0 #ffffff;
}
body[data-genz-theme="light"] .booking-range:focus-visible ~ .booking-knob {
  outline: 3px solid var(--gz-light-focus);
}

/* Native dialog and fallback share the same restrained blue glass palette. */
body[data-genz-theme="light"] .booking-modal {
  color: var(--gz-light-ink);
  color-scheme: light;
  border-color: #8fa3bb;
  background: linear-gradient(155deg, #fafdff, #eaf0f7);
  box-shadow: 0 30px 100px #1839544d, inset 0 1px 0 #ffffff;
}
body[data-genz-theme="light"] .booking-modal::backdrop,
body[data-genz-theme="light"] .dialog-fallback-backdrop {
  background: #233c597d;
}
body[data-genz-theme="light"] .booking-modal .booking-top {
  border-bottom-color: #bfccda;
  background: #f4f8fdf5;
}
body[data-genz-theme="light"] .booking-modal .mini-brand {
  color: var(--gz-light-ink);
}
body[data-genz-theme="light"] .booking-modal .demo-note,
body[data-genz-theme="light"] .booking-modal .step-caption,
body[data-genz-theme="light"] .booking-modal .step-help,
body[data-genz-theme="light"] .booking-modal .privacy-note,
body[data-genz-theme="light"] .booking-modal .form-label em,
body[data-genz-theme="light"] .booking-modal .booking-summary dt {
  color: var(--gz-light-muted);
}
body[data-genz-theme="light"] .booking-modal .booking-close {
  color: #23435e;
  border-color: var(--gz-light-control);
  background: var(--gz-light-glass);
  box-shadow: inset 0 1px 0 #ffffff;
}
body[data-genz-theme="light"] .booking-modal .step-progress {
  background: #d4dfec;
}
body[data-genz-theme="light"] .booking-modal .step-progress i {
  background: #316f9f;
}
body[data-genz-theme="light"] .booking-modal .choice {
  color: var(--gz-light-ink);
  border-color: var(--gz-light-control);
  background: linear-gradient(145deg, #ffffff, #edf3fa);
  box-shadow: inset 0 1px 0 #ffffff;
}
body[data-genz-theme="light"] .booking-modal .choice:hover {
  border-color: var(--gz-light-blue);
}
body[data-genz-theme="light"] .booking-modal .choice:has(input:checked) {
  color: #154a75;
  border-color: var(--gz-light-blue);
  background: linear-gradient(145deg, #f9fcff, #dce9f8);
  box-shadow: inset 0 1px 0 #ffffff, 0 0 0 1px #165f9526;
}
body[data-genz-theme="light"] .booking-modal .choice input {
  accent-color: var(--gz-light-blue);
}
body[data-genz-theme="light"] .booking-modal .choice:has(input:focus-visible) {
  outline-color: var(--gz-light-focus);
}
body[data-genz-theme="light"] .booking-modal .form-label input,
body[data-genz-theme="light"] .booking-modal .form-label textarea {
  color: var(--gz-light-ink);
  border-color: var(--gz-light-control);
  background: #fbfdff;
  box-shadow: inset 0 2px 5px #3654700a;
}
body[data-genz-theme="light"] .booking-modal .form-label input::placeholder,
body[data-genz-theme="light"] .booking-modal .form-label textarea::placeholder {
  color: var(--gz-light-soft);
  opacity: 1;
}
body[data-genz-theme="light"] .booking-modal .form-label input[aria-invalid="true"],
body[data-genz-theme="light"] .booking-modal .form-label textarea[aria-invalid="true"] {
  border-color: #a23e2f;
}
body[data-genz-theme="light"] .booking-modal .form-error {
  color: #983a2d;
}
body[data-genz-theme="light"] .booking-modal .booking-actions {
  border-top-color: #bfccda;
}
body[data-genz-theme="light"] .booking-modal .booking-actions button,
body[data-genz-theme="light"] .booking-modal .summary-actions button {
  color: #ffffff;
  background: linear-gradient(135deg, #195f93, #234f79);
  box-shadow: inset 0 1px 0 #ffffff3d, 0 6px 18px #24567c26;
}
body[data-genz-theme="light"] .booking-modal .booking-actions button:first-child:not(:last-child),
body[data-genz-theme="light"] .booking-modal .summary-actions .secondary {
  color: #254d6c;
  border-color: var(--gz-light-control);
  background: var(--gz-light-glass);
  box-shadow: inset 0 1px 0 #ffffff;
}
body[data-genz-theme="light"] .booking-modal .booking-summary dl > div {
  border-bottom-color: #bfccda;
}
body[data-genz-theme="light"] .booking-modal .summary-status {
  color: #21577d;
}

/* Final contact area, with the same material as the rest of the light page. */
body[data-genz-theme="light"] .tx-footer {
  color: var(--gz-light-muted);
  border-top-color: #bdcbd9;
  background: linear-gradient(160deg, #f5f8fb, #e3ebf4);
}
body[data-genz-theme="light"] .tx-footer a {
  color: var(--gz-light-blue);
}
body[data-genz-theme="light"] .tx-footer [data-book] {
  color: #154a75;
  border-color: var(--gz-light-control);
  background: var(--gz-light-glass);
  box-shadow: inset 0 1px 0 #ffffff, 0 7px 20px #38587812;
}
body[data-genz-theme="light"] .tx-footer .gz-footer-legal {
  color: var(--gz-light-muted);
}

/* Strong, consistent keyboard focus; no global hero/header control override. */
body[data-genz-theme="light"] .tx-journey :is(button, a, summary, input, textarea):focus-visible,
body[data-genz-theme="light"] .tx-section :is(button, a, summary, input, textarea):focus-visible,
body[data-genz-theme="light"] .tx-reel:focus-visible,
body[data-genz-theme="light"] [data-plan-demo] button:focus-visible,
body[data-genz-theme="light"] #formats-demo button:focus-visible,
body[data-genz-theme="light"] #needs-demo button:focus-visible,
body[data-genz-theme="light"] #needs-demo textarea:focus-visible,
body[data-genz-theme="light"] .booking-modal :is(button, a, summary, input, textarea):focus-visible,
body[data-genz-theme="light"] .booking-dock .booking-label:focus-visible,
body[data-genz-theme="light"] .tx-footer :is(button, a):focus-visible {
  outline: 3px solid var(--gz-light-focus);
  outline-offset: 4px;
}

/* Preserve the readable grid density of the approved phone drawing. */
@media (max-width: 620px) {
  body[data-genz-theme="light"] [data-plan-demo] .pd-stage {
    background-size: auto, 23px 23px, 23px 23px, auto;
  }
}

/* Gradients are decoration; system colours remain usable in contrast modes. */
@media (forced-colors: active) {
  body[data-genz-theme="light"] .booking-modal .choice input {
    accent-color: auto;
  }
  body[data-genz-theme="light"] .tx-section :is(button, a, input, textarea):focus-visible,
  body[data-genz-theme="light"] .booking-modal :is(button, a, input, textarea):focus-visible,
  body[data-genz-theme="light"] .tx-footer :is(button, a):focus-visible {
    outline-color: Highlight;
  }
}

/* GEN.Z V21 — selective return of V20 materials on the approved light page.
   Paint only: hero/header/dock, device geometry and screen layouts are intact. */

/* 01: the original dark card stays below the separate composition-02 reveal.
   The integrator owns this explicit material state and the reveal above it. */
body[data-genz-theme="light"] .tx-journey[data-card-material="dark"] .tx-concept-card {
  color: #edf5ff;
  border-color: #c4dcfa7d;
  background: radial-gradient(ellipse at 85% 10%, #9c80d757, transparent 55%),
    linear-gradient(145deg, #233e59, #14233c 70%);
  box-shadow: 0 35px 90px #0005, inset 0 1px #e1ecff50;
}
body[data-genz-theme="light"] .tx-journey[data-card-material="dark"] .tx-concept-card::after {
  background: linear-gradient(140deg, #ffffff14, transparent 45%);
}
body[data-genz-theme="light"] .tx-journey[data-card-material="dark"] .tx-card-bar {
  border-bottom-color: #b1c9e74f;
}
body[data-genz-theme="light"] .tx-journey[data-card-material="dark"] .tx-card-bar i {
  color: #adc5e3;
}
body[data-genz-theme="light"] .tx-journey[data-card-material="dark"] .tx-card-body > small {
  color: #a7c1dd;
}
body[data-genz-theme="light"] .tx-journey[data-card-material="dark"] .tx-card-action {
  color: #edf5ff;
  border-color: #afd6fa70;
  background: #13253b5c;
  box-shadow: inset 0 1px #e1ecff12;
}
body[data-genz-theme="light"] .tx-journey[data-card-material="dark"] .tx-card-sculpture {
  border-color: #c9edff55;
  background: radial-gradient(circle at 25% 22%, #cdf7ff89, #5f8be941 55%, #56407c33);
  box-shadow: inset 15px 15px 35px #c9e9ff1f, inset -10px -10px 30px #1016265c;
}
body[data-genz-theme="light"] .tx-journey[data-card-material="dark"] .tx-card-sculpture::after {
  border-color: #a9d5ff70;
  box-shadow: none;
}
body[data-genz-theme="light"] .tx-journey[data-card-material="dark"] .tx-card-footer {
  color: #91afd4;
}

/* 03: all four cards share the light material; only icon bezels stay deep. */
body[data-genz-theme="light"] .tx-root-node {
  color: var(--gz-light-ink);
  border-color: #9fb1c4;
  background: var(--gz-light-glass);
  box-shadow: var(--gz-light-shadow);
}
body[data-genz-theme="light"] .tx-root-node > div > span {
  color: var(--gz-light-muted);
}
body[data-genz-theme="light"] .tx-tree .tx-icon,
body[data-genz-theme="light"] .tx-inspect-controls .tx-icon {
  color: #a6e7ff;
  border-color: #afd9ff55;
  background: linear-gradient(135deg, #a1e2ff33, #4b7aca38), #172435;
  box-shadow: inset 0 1px #ffffff55, 0 5px 0 #111e301f, 0 10px 20px #243b501c;
}
body[data-genz-theme="light"] .tx-branch:nth-child(2) .tx-icon {
  color: #cbb8ff;
  border-color: #c3adff55;
  background: linear-gradient(135deg, #ceb3ff35, #7048bd30), #1d2033;
}
body[data-genz-theme="light"] .tx-branch:nth-child(3) .tx-icon {
  color: #ffd0be;
  border-color: #ffd1b855;
  background: linear-gradient(135deg, #ffc5ac35, #b45f5830), #29212c;
}

/* 04 / D: the old buttons inside the current clear outer capsule. */
body[data-genz-theme="light"] [data-plan-demo] .pd-mode {
  color: #a8bad1;
  background: #172435;
  box-shadow: inset 0 1px #d6e8ff1a;
}
body[data-genz-theme="light"] [data-plan-demo] .pd-mode > span {
  color: #b3c7df;
}
body[data-genz-theme="light"] [data-plan-demo] .pd-mode[aria-pressed="true"] {
  color: #172435;
  background: #dae7f7;
  box-shadow: inset 0 1px #ffffff99, 0 2px 8px #4264861c;
}
body[data-genz-theme="light"] [data-plan-demo] .pd-mode[aria-pressed="true"] > span {
  color: #172435;
}
body[data-genz-theme="light"] [data-plan-demo] .pd-plan-stamp b {
  color: #c2d3e9;
  background: #182b42;
  border-radius: 2px;
  box-shadow: 0 0 0 3px #182b42;
}

/* 05: deep individual buttons inside a clear capsule; the stage stays dark.
   Shared --gd-* materials, device feet and silhouettes are not overridden. */
body[data-genz-theme="light"] #formats-demo .fd-switch {
  border-color: var(--gz-light-control);
  background: linear-gradient(145deg, #ffffffbf, #dfe7efbf);
  box-shadow: inset 0 1px #ffffff;
}
body[data-genz-theme="light"] #formats-demo .fd-switch button {
  color: #a9c0dc;
  background: #172435;
  box-shadow: inset 0 1px #d6e8ff1a;
}
body[data-genz-theme="light"] #formats-demo .fd-switch button[aria-pressed="true"] {
  color: #18263a;
  background: #dbe7f8;
  box-shadow: inset 0 1px #ffffff88;
}
body[data-genz-theme="light"] #formats-demo .fd-stage {
  border-color: #6f8baa4d;
  background: radial-gradient(ellipse at 50% 35%, #3e587542, transparent 60%),
    linear-gradient(155deg, #172333, #0d141e 80%);
  box-shadow: inset 0 1px #dceaff1a, 0 16px 36px #304b681c;
}
body[data-genz-theme="light"] #formats-demo .fd-stage-label,
body[data-genz-theme="light"] #formats-demo .fd-device-number {
  color: #9eb7d7;
}
body[data-genz-theme="light"] #formats-demo .fd-ground {
  background: radial-gradient(ellipse, #758fa921, transparent 68%);
}

/* B: only the device scene is deep; the panel, silver hardware and live screen
   keep their existing light materials. Format controls match the 05 capsule. */
body[data-genz-theme="light"] #needs-demo .nd-device-switch button {
  color: #a9c0dc;
  background: #172435;
  box-shadow: inset 0 1px #d6e8ff1a;
}
body[data-genz-theme="light"] #needs-demo .nd-device-switch button[aria-pressed="true"] {
  color: #18263a;
  background: #dbe7f8;
  box-shadow: inset 0 1px #ffffff88;
}
body[data-genz-theme="light"] #needs-demo .nd-stage {
  border-color: #6f8baa4d;
  background: radial-gradient(ellipse at 50% 35%, #3e587542, transparent 60%),
    linear-gradient(155deg, #172333, #0d141e 80%);
  box-shadow: inset 0 1px #dceaff1a, 0 16px 36px #304b681c;
}

/* 06: all four selected V20 materials. Mint remains a small D icon accent. */
body[data-genz-theme="light"] .tx-tab {
  color: #b5cbe6;
  border-color: #6f91be75;
  background: linear-gradient(140deg, #1d2b40, #121c2b);
  box-shadow: inset 0 1px #d5e9ff12, 0 7px 18px #243c5614;
}
body[data-genz-theme="light"] .tx-tab > i {
  color: #b6e8ff;
  border-color: #a7d0ff63;
  background: linear-gradient(135deg, #bfeeff38, #598de22a);
  box-shadow: inset 0 1px #ffffff44, 0 5px 15px #0003;
}
body[data-genz-theme="light"] .tx-tab:nth-child(2) > i {
  color: #d2bcff;
  background: linear-gradient(135deg, #caafff33, #6746b92e);
  border-color: #b9a3f45e;
}
body[data-genz-theme="light"] .tx-tab:nth-child(3) > i {
  color: #ffcdbb;
  background: linear-gradient(135deg, #ffd4bc36, #b6675630);
  border-color: #f6bda763;
}
body[data-genz-theme="light"] .tx-tab:nth-child(4) > i {
  color: #b1f0dc;
  background: linear-gradient(135deg, #b8ffe033, #358b742e);
  border-color: #9de4cd5e;
}
body[data-genz-theme="light"] .tx-tab small {
  color: #a2b9d7;
}
body[data-genz-theme="light"] .tx-tab[aria-selected="true"] {
  color: #deecff;
  border-color: #bddfffba;
  background: linear-gradient(135deg, #31496a, #1a2b43);
  box-shadow: inset 0 1px #e4f1ff26, 0 10px 30px #243c5626;
}
body[data-genz-theme="light"] .tx-tab[aria-selected="true"] small {
  color: #b9cde8;
}

/* A: a dark gallery room, with all three current pale cards intact. */
body[data-genz-theme="light"] #tech-panel-a {
  color: #edf4ff;
  border-color: #7899c26b;
  background: radial-gradient(ellipse at 70% 0, #243a5952, transparent 64%), #0c1420;
  box-shadow: inset 0 1px #e5f3ff14, 0 18px 44px #2038501a;
}
body[data-genz-theme="light"] #tech-panel-a > header p {
  color: #b1c6e1;
}
body[data-genz-theme="light"] #tech-panel-a .tx-reel-tools > span {
  color: #a3bcdb;
}
body[data-genz-theme="light"] #tech-panel-a .tx-reel-tools button {
  color: #c8e1ff;
  border-color: #7b9bc77d;
  background: #1a2b44;
  box-shadow: inset 0 1px #e5f3ff14;
}

/* B: dark coloured icon bezels; tools and functional screens remain clear. */
body[data-genz-theme="light"] #needs-demo {
  --gz-nd-icon: #8fcbff;
}
body[data-genz-theme="light"] #needs-demo[data-goal="social"] {
  --gz-nd-icon: #c3a5ff;
}
body[data-genz-theme="light"] #needs-demo[data-goal="contact"] {
  --gz-nd-icon: #ffb49f;
}
body[data-genz-theme="light"] #needs-demo .nd-goal-icon,
body[data-genz-theme="light"] #needs-demo .nd-goal[aria-pressed="true"] .nd-goal-icon {
  color: #8fcbff;
  border-color: #b9cdec63;
  background: radial-gradient(circle at 25% 15%, #e6f1ff38, #3a506c2e 55%, #101724), #172435;
  box-shadow: inset 0 1px 1px #ffffff26, 0 7px 15px #20385026;
}
body[data-genz-theme="light"] #needs-demo .nd-goal:nth-child(2) .nd-goal-icon {
  color: #c3a5ff;
  border-color: #c3adff63;
  background: linear-gradient(135deg, #ceb3ff35, #7048bd30), #1d2033;
}
body[data-genz-theme="light"] #needs-demo .nd-goal:nth-child(3) .nd-goal-icon {
  color: #ffb49f;
  border-color: #ffd1b863;
  background: linear-gradient(135deg, #ffc5ac35, #b45f5830), #29212c;
}
body[data-genz-theme="light"] #needs-demo .nd-module-icon {
  color: var(--gz-nd-icon);
  border-color: #b6c9e575;
  background: linear-gradient(145deg, #31465f, #17243a);
  box-shadow: inset 0 1px 1px #ffffff26, 0 8px 20px #2038501f;
}
body[data-genz-theme="light"] #needs-demo .nd-network-icon {
  color: #b4c8e3;
  border-color: #7f94b275;
  background: radial-gradient(circle at 30% 20%, #7c9ac62b, #142237 75%), #172435;
  box-shadow: inset 0 1px 1px #ffffff22, 0 7px 17px #20385026;
}
body[data-genz-theme="light"] #needs-demo .nd-network[aria-pressed="true"] .nd-network-icon {
  border-color: #c3a5ff;
  background: radial-gradient(circle at 30% 20%, #c3a5ff47, #23223a 75%), #1d2033;
}
body[data-genz-theme="light"] #needs-demo .nd-network-facebook svg {
  color: #a8ceff;
  fill: #82b4ff42;
}
body[data-genz-theme="light"] #needs-demo .nd-network-instagram svg {
  stroke: #e1a2f5;
}
body[data-genz-theme="light"] #needs-demo .nd-network-youtube svg {
  stroke: #ffa4b1;
}
body[data-genz-theme="light"] #needs-demo .nd-network-tiktok svg {
  stroke: #8ee5ec;
}
body[data-genz-theme="light"] #needs-demo .nd-call-disc {
  color: #ffd0b7;
  border-color: #dbad9c80;
  background: radial-gradient(circle at 30% 20%, #efb99e54, #3b3041 80%), #3b3041;
  box-shadow: inset 0 2px 3px #ffd5bb30, 7px 16px 20px #5e3c5129;
}

/* C: a deep navigation strip; the illustrated interface remains pale. */
body[data-genz-theme="light"] .tx-inspect-top {
  color: #bed5ef;
  border-bottom-color: #82a2c95c;
  background: #1d3048;
}
body[data-genz-theme="light"] .tx-inspect-screen[data-part="nav"] .tx-inspect-top {
  color: #d6e7fb;
  outline-color: #9adfff;
  background: #2b4a6e;
}

/* Focus follows the local light/dark surface and never changes box geometry. */
body[data-genz-theme="light"] [data-plan-demo] .pd-mode:focus-visible,
body[data-genz-theme="light"] #formats-demo .fd-switch button:focus-visible,
body[data-genz-theme="light"] #needs-demo .nd-device-switch button:focus-visible {
  outline-color: #9bddec;
  outline-offset: -3px;
}
body[data-genz-theme="light"] [data-plan-demo] .pd-mode[aria-pressed="true"]:focus-visible,
body[data-genz-theme="light"] #formats-demo .fd-switch button[aria-pressed="true"]:focus-visible,
body[data-genz-theme="light"] #needs-demo .nd-device-switch button[aria-pressed="true"]:focus-visible {
  outline-color: #065e9f;
}
body[data-genz-theme="light"] #tech-panel-a .tx-reel:focus-visible,
body[data-genz-theme="light"] #tech-panel-a .tx-reel-tools button:focus-visible {
  outline-color: #9bddec;
}
@media (forced-colors: active) {
  body[data-genz-theme="light"] [data-plan-demo] .pd-mode:focus-visible,
  body[data-genz-theme="light"] [data-plan-demo] .pd-mode[aria-pressed="true"]:focus-visible,
  body[data-genz-theme="light"] #formats-demo .fd-switch button:focus-visible,
  body[data-genz-theme="light"] #formats-demo .fd-switch button[aria-pressed="true"]:focus-visible,
  body[data-genz-theme="light"] #needs-demo .nd-device-switch button:focus-visible,
  body[data-genz-theme="light"] #needs-demo .nd-device-switch button[aria-pressed="true"]:focus-visible,
  body[data-genz-theme="light"] #tech-panel-a .tx-reel:focus-visible,
  body[data-genz-theme="light"] #tech-panel-a .tx-reel-tools button:focus-visible {
    outline-color: Highlight;
  }
}

/* Project enquiry: direct mail remains a usable action before native delivery. */
body[data-genz-theme="light"] .booking-modal .booking-contact-fallback {
  margin-top: 18px;
}
body[data-genz-theme="light"] .booking-modal .booking-email-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  max-width: 100%;
  box-sizing: border-box;
  padding: 13px 22px;
  border: 1px solid #235d89;
  border-radius: 24px;
  font: inherit;
  font-size: 14px;
  line-height: 1.45;
  text-decoration: none;
  color: #ffffff;
  background: linear-gradient(135deg, #195f93, #234f79);
  box-shadow: inset 0 1px 0 #ffffff3d, 0 6px 18px #24567c26;
}
body[data-genz-theme="light"] .booking-modal .booking-email-action:focus-visible {
  outline: 3px solid #367cab;
  outline-offset: 4px;
}
body[data-genz-theme="light"] .booking-modal [data-send]:disabled {
  opacity: .55;
  cursor: not-allowed;
}
