/* Follow the visitor's appearance preference without changing the dark design. */
@media (prefers-color-scheme: light) {
  :root {
    --bg: #f6f8f2;
    --surface: #ffffff;
    --surface-2: #edf3e7;
    --line: #d3ddcb;
    --text: #172110;
    --muted: #53634c;
    --lime: #416820;
    --dark: #15200e;
    color-scheme: light;
  }

  ::selection {
    background: #c2f594;
    color: #14210d;
  }

  .brand img { filter: brightness(0); }
  .skip-link { background: #c2f594; color: #14210d; }
  .navigation > a:not(.button) { color: #43513c; }
  .navigation > a:hover,
  .navigation > a[aria-current] { color: #416820; }

  .button-lime {
    color: #14210d;
    background: #c2f594;
    box-shadow: 0 3px 14px #385b1610;
  }
  .button-lime:hover {
    color: #14210d;
    background: #b2e983;
    box-shadow: 0 5px 22px #385b161a;
  }
  .status-dot { box-shadow: 0 0 8px #527c2a30; }
  .hero .eyebrow,
  .contact-copy > .eyebrow { color: #465e34; }
  .location,
  .location svg,
  .art-coordinate { color: #53634c; }
  .art-grid {
    background-image: linear-gradient(#4168200d 1px, transparent 1px),
      linear-gradient(90deg, #4168200d 1px, transparent 1px);
  }
  .art-halo {
    background: radial-gradient(ellipse, #8cc25426, transparent 65%);
  }
  .orbit-card {
    background: linear-gradient(120deg, #fffffff2, #eff5e9f2);
    border-color: #b9cbaa;
    box-shadow: 0 12px 35px #314b1612;
  }
  .orbit-card > div > span { color: #53634c; }

  /* Retain the dark glass core while making its connecting lines visible. */
  .architecture > g[stroke="#9cb58b"] {
    stroke: #527c35;
    stroke-opacity: .28;
  }
  .architecture > g[stroke="#b6f878"] { stroke: #527c35; }
  .architecture > g[stroke="#b6f878"] > path { stroke-opacity: .65; }
  .architecture > g[fill="#c5ff91"] { fill: #416820; }
  .architecture > g[stroke="#b9f58b"] {
    stroke: #416820;
    stroke-opacity: .48;
  }

  .capability-strip { background: #edf3e7; }
  .strip-inner > span { color: #43513c; }
  .strip-inner > span:first-child { color: #53634c; }
  .solution-card {
    background: linear-gradient(140deg, #ffffff, #f1f6eb);
    border-color: #d3ddcb;
    box-shadow: 0 8px 26px #30471a06;
  }
  .solution-card:hover {
    background: linear-gradient(140deg, #ffffff, #eaf3e0);
    border-color: #819e68;
    box-shadow: 0 12px 30px #30471a0d;
  }
  .service-icon,
  .form-icon {
    background: #e9f3df;
    border-color: #b8cda6;
  }
  .card-number,
  .solution-card p,
  .solution-note { color: #53634c; }
  .card-tags span {
    color: #4b623b;
    border-color: #c9d7be;
    background: #edf4e6;
  }
  .card-link { color: #435735; }
  .solution-note a { color: #365c1c; }
  .solution-note a:hover { color: #254711; }

  .connected-section {
    background: #edf3e7;
    border-color: #d3ddcb;
  }
  .connected-section::before {
    background: radial-gradient(ellipse, #90bd5e18, transparent 65%);
  }
  .system-preview {
    background: linear-gradient(130deg, #ffffff, #f2f7ed);
    border-color: #b9cbaa;
    box-shadow: 0 22px 65px #30471a10, 0 0 50px #9fc67c0a;
  }
  .preview-toolbar {
    color: #53634c;
    border-color: #d3ddcb;
    background: #f3f7ee;
  }
  .window-dots i { background: #97ab87; }
  .window-dots i:first-child { background: #527c35; }
  .preview-mark { color: #416820; }
  .system-tabs { border-color: #d3ddcb; }
  .system-tabs button { color: #53634c; }
  .system-tabs button:hover {
    color: #365c1c;
    background: #eaf3e0;
  }
  .system-tabs button.is-active {
    color: #365c1c;
    background: #e3f1d7;
    border-color: #8fa979;
  }
  .preview-title .eyebrow,
  .preview-caption { color: #53634c; }
  .connected-badge { color: #416820; }
  .workflow-track {
    color: #53634c;
    background: radial-gradient(ellipse, #99c16f22, transparent 73%);
  }
  .workflow-track i {
    background: linear-gradient(90deg, #527c3530, #527c35);
  }
  .workflow-core {
    color: #416820;
    border-color: #7ca05f;
    background: linear-gradient(135deg, #e2f3d0, #f2f8ec);
    box-shadow: 0 0 30px #78a84118;
  }
  .workflow-rows > div { color: #435735; border-color: #d3ddcb; }
  .row-icon { color: #53634c; }
  .row-value { color: #365c1c; background: #e3f1d7; }
  .row-value.in-progress { color: #53634c; background: #eaf0e4; }
  .preview-footnote { color: #53634c; border-color: #d3ddcb; }

  .feature-button {
    color: #435735;
    background: #f3f8ee;
    border-color: #b9cbaa;
  }
  .feature-button:hover {
    color: #365c1c;
    background: #eaf3e0;
    border-color: #819e68;
  }
  .feature-button.is-selected {
    color: #365c1c;
    background: #e3f1d7;
    border-color: #78995c;
  }
  .feature-index,
  .feature-label,
  .feature-flow-arrow { color: #53634c; }
  .feature-detail {
    background: linear-gradient(130deg, #edf6e5, #f7faf3);
    border-color: #afc49d;
  }
  .feature-detail p { color: #53634c; }
  .feature-flow { color: #365c1c; }
  .feature-flow-step {
    color: #365c1c;
    background: #e7f1de;
    border-color: #b7cba6;
  }
  .feature-enquiry { color: #416820; }
  .feature-enquiry:hover { color: #254711; }

  .step > span { background: #e9f3df; border-color: #b8cda6; }
  .step i::after { background: #7f986d; }
  .step-note { color: #53634c; }
  .about-art {
    border-color: #d3ddcb;
    background-color: #eef4e8;
    background-image: radial-gradient(#527c352d .7px, transparent .7px);
  }
  .crosshair,
  .map-label,
  .map-caption { color: #53634c; }
  .about-art #map-dots circle { fill: #527c35; fill-opacity: .68; }
  .about-art svg > path { stroke: #527c35; stroke-opacity: .65; }
  .about-art svg > circle:not(.map-pulse) { fill: #416820; }
  .about-art .map-pulse { stroke: #416820; stroke-opacity: .5; }
  .about-art svg text { fill: #416820; }

  .quote-inner { background: #c2f594; color: #17220f; }
  .quote-inner > p { color: #40552f; }
  .footer-top > p,
  .footer-bottom { color: #53634c; }
  .footer-bottom > a { color: #435735; }

  .back-link,
  .copy-button,
  .contact-facts > div { color: #53634c; }
  .contact-facts .status-dot { background: #527c35; }
  .enquiry-panel {
    border-color: #c3d1b7;
    background: linear-gradient(135deg, #ffffff, #f0f6e9);
    box-shadow: 0 14px 45px #30471a09;
  }
  .form-heading { border-color: #d3ddcb; }
  .form-heading p,
  .form-help,
  .quote-explainer > p,
  .contact-next p { color: #53634c; }
  label,
  .quote-explainer strong { color: #435735; }
  input,
  select,
  textarea {
    color: #172110;
    background: #ffffff;
    border-color: #839677;
    color-scheme: light;
  }
  input::placeholder,
  textarea::placeholder { color: #62705a; opacity: 1; }
  input:focus,
  select:focus,
  textarea:focus {
    border-color: #416820;
    box-shadow: 0 0 0 3px #41682018;
  }
  option { color: #172110; background: #ffffff; }

  @media (max-width: 768px) {
    .menu-toggle { background: #ffffff; border-color: #839677; }
    .navigation {
      background: #fafff5;
      border-color: #b9cbaa;
      box-shadow: 0 18px 30px #30471a1a;
    }
  }
}
