/* Additive theme layer: approved composition, type and motion remain in styles.css. */
:root {
  color-scheme: dark;
  --control-line: #60788f;
  --shadow: 0 12px 35px #0005;
}
:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f7f9fc;
  --surface: #ffffff;
  --line: #cbd6e2;
  --ink: #10283f;
  --muted: #4b6075;
  --cyan: #006b83;
  --orange: #ad450d;
  --control-line: #7a8ea1;
  --shadow: 0 12px 35px #163d5914;
}
/* The supplied raster logo stays unchanged, on its original black plate. */
.brand img { background: #000; }
.theme-toggle {
  order: 3;
  flex-shrink: 0;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid var(--control-line);
  border-radius: 5px;
  background: var(--surface);
  color: var(--ink);
  font-size: 12px;
  cursor: pointer;
}
.theme-toggle[hidden] { display: none; }
.theme-toggle:hover { border-color: var(--cyan); }
.theme-toggle[aria-pressed="true"] { border-color: var(--cyan); }
.theme-sun, .theme-moon { font-size: 20px; line-height: 1; color: var(--cyan); }
.theme-moon { display: none; }
[data-theme="light"] .theme-sun { display: none; }
[data-theme="light"] .theme-moon { display: inline; }
.header { gap: 22px; }
.header nav { margin-left: auto; gap: 24px; }
.header nav .nav-contact { margin-left: 0; }
[data-theme="light"] .header { border-color: var(--line); }
[data-theme="light"] .header nav { color: var(--muted); }
[data-theme="light"] .nav-contact { border-color: #b76a40; }
[data-theme="light"] .local-note,
[data-theme="light"] .graphic-caption,
[data-theme="light"] .hero-principles,
[data-theme="light"] .business-card-bottom,
[data-theme="light"] .service-card ul,
[data-theme="light"] .contact-action p a,
[data-theme="light"] .footer-bottom,
[data-theme="light"] .privacy-note { color: var(--muted); }
[data-theme="light"] .search-label {
  background: var(--surface); color: var(--muted); border-color: #a7bdcf; box-shadow: var(--shadow);
}
[data-theme="light"] .business-card {
  background: linear-gradient(150deg,#fff,#edf4f9 75%); border-color: #8aafc5; box-shadow: 0 25px 50px #163d591a;
}
[data-theme="light"] .social-label { background: #fff; border-color: #c7855d; box-shadow: var(--shadow); }
[data-theme="light"] .connection { border-color: #c7855d; }
[data-theme="light"] .orbital { border-color: #8db5c7; box-shadow: none; }
[data-theme="light"] .orbital-two { border-color: #d8ad8d; }
[data-theme="light"] .presence:before { background: radial-gradient(ellipse,#b7e3ed55,transparent 70%); }
[data-theme="light"] .map { opacity: .4; }
[data-theme="light"] .service-card { background: linear-gradient(135deg,#fff,#f0f5f9 70%); }
[data-theme="light"] .service-card:hover { border-color: #6c96ad; box-shadow: var(--shadow); }
[data-theme="light"] .approach { background: #edf3f8; border-color: var(--line); }
[data-theme="light"] .approach .small-note { color: var(--muted)!important; }
[data-theme="light"] .channel { background: #fff; border-color: #a7bdcf; }
[data-theme="light"] .channel-focus { background: #fff4e9; border-color: #c7855d; }
[data-theme="light"] .diagram-connector span { border-color: #7a9eb4; }
[data-theme="light"] .steps li { border-color: #7a9eb4; }
[data-theme="light"] .steps li:last-child { border-left-color: transparent; }
[data-theme="light"] .contact-panel {
  border-color: #a7bdcf; background: radial-gradient(ellipse at right,#d8eef477,transparent 65%),#fff;
}
/* Service links retain navigation semantics; brand fills stay constant in both themes. */
.service-card { display: flex; flex-direction: column; }
.service-card ul { margin-top: auto; }
.service-card .service-cta {
  align-self: flex-start;
  justify-content: center;
  min-height: 48px;
  max-width: 100%;
  margin-top: 12px;
  padding: 12px 18px;
  border: 1px solid transparent;
  border-radius: 5px;
  background: #50d4ee;
  color: #10283f;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  gap: 14px;
  transition: background-color .2s;
}
.meta-card .service-cta { background: #ff8a3c; }
.service-card .service-cta:hover { background: #79e1f5; color: #10283f; }
.meta-card .service-cta:hover { background: #ffa366; }
.service-card .service-cta:focus-visible {
  outline: 3px solid var(--ink);
  outline-offset: 4px;
}
/* CTA keeps dark ink on orange in both themes: never white on orange. */
.button { color: #10141c; }
@media (min-width: 761px) and (max-width: 1050px) {
  .header { gap: 14px; }
  .header nav { gap: 14px; }
  .header nav a { font-size: 11px; }
  .header nav .nav-contact { padding-inline: 11px; }
  .nav-contact span { margin-left: 8px; }
  .theme-toggle { padding-inline: 9px; font-size: 11px; }
}
@media (max-width: 760px) {
  .header { gap: 0; }
  .theme-toggle { order: 0; margin-left: auto; margin-right: 12px; }
  .header nav { order: 4; margin-left: 0; gap: 10px 24px; }
  .js .menu-toggle { color: var(--ink); border-color: var(--control-line); }
}
