/* Production color roles: warm canvas, platinum surfaces, graphite structure, silver-violet action. */
:root {
  --theme-canvas: #f8f7f4;
  --theme-surface: #f1f0ed;
  --theme-surface-edge: #e5e4e1;
  --theme-ink: #17151c;
  --theme-muted: #625e58;
  --theme-border: #2625231f;
  --theme-violet: #5f4276;
  --theme-violet-highlight: #80639a;
  --theme-violet-deep: #3b2949;
  --theme-lilac: #d8d0e4;
}

html {
  accent-color: var(--theme-violet);
  scrollbar-color: var(--theme-violet-highlight) var(--theme-surface);
}

html ::selection { color: #fff; background: var(--theme-violet); }

html #home.mw-hero,
html #global-network,
html #services.reference-study,
html #services .content-screen,
html #services .content-screen__header,
html #services .content-screen__nav,
html #about,
html #clients,
html #contact,
html .footer-glow { background-color: var(--theme-canvas); }

/* The published white build carries a higher-specificity legacy canvas rule. */
html[data-white-preview],
html[data-white-preview] body,
html[data-white-preview] #home.mw-hero,
html[data-white-preview] #global-network,
html[data-white-preview] #services.reference-study,
html[data-white-preview] #services .content-screen,
html[data-white-preview] #services .content-screen__header,
html[data-white-preview] #services .content-screen__nav,
html[data-white-preview] #about,
html[data-white-preview] #clients,
html[data-white-preview] #contact,
html[data-white-preview] .footer-glow { background-color: var(--theme-canvas); }

html #home .mw-hero__intro,
html #home .mw-hero__description,
html #global-network :is(.homepage-flight__touch-hint, .homepage-flight__status, .compact-flight-board__status, .compact-flight-board__source),
html #contact .orbital-cta__copy p,
html .footer-glow :is(.footer-glow__identity p, .footer-glow__nav a, .footer-glow__bottom) { color: var(--theme-muted); }

html #home .mw-hero__button {
  border: 1px solid #2d2037;
  background: linear-gradient(180deg, #493650 0%, var(--theme-violet-deep) 100%);
  filter: none;
  box-shadow: 0 8px 20px #17151c29;
  transition: background 180ms ease-out, box-shadow 180ms ease-out;
}

html #home .mw-hero__button:hover {
  background: var(--theme-violet);
  filter: none;
  box-shadow: 0 10px 22px #17151c30;
}

html #contact .orbital-cta__button {
  border: 1px solid #2d2037;
  background: linear-gradient(180deg, #513d59 0%, var(--theme-violet-deep) 100%);
  filter: drop-shadow(0 10px 16px #17151c2e);
  box-shadow: none;
  transition: background 180ms ease-out, filter 180ms ease-out;
}

html #contact .orbital-cta__button:hover {
  background: var(--theme-violet);
  filter: drop-shadow(0 12px 18px #17151c38);
}

html #contact .orbital-cta__button:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 6px var(--theme-ink);
}

html #home :is(a, summary):focus-visible,
html .language-selector:focus-within,
html #about a:focus-visible,
html #clients .client-partners__more:focus-visible,
html .footer-glow a:focus-visible {
  outline-color: var(--theme-violet-highlight);
}

html #services { --features-accent: var(--theme-violet); }
html #services .content-screen__nav button[aria-pressed="true"] {
  background: var(--theme-violet);
  box-shadow: inset 0 0 0 2px var(--theme-violet-highlight);
}
html #services .service-detail a { background: var(--theme-violet-deep); }

html #clients .client-partners__plus {
  background: linear-gradient(145deg, var(--theme-violet-highlight), var(--theme-violet-deep));
  box-shadow: inset 0 1px 0 #ffffff66, 0 8px 16px #432a5526;
}
html #clients .client-partners__more:hover .client-partners__plus { background: var(--theme-violet-deep); }

html #global-network .globe-section-heading {
  color: #fff;
  background:
    linear-gradient(118deg, transparent 0 22%, #ffffff2e 38%, transparent 58%),
    linear-gradient(105deg, #24182c, var(--theme-violet) 45%, var(--theme-violet-deep));
  border-color: var(--theme-surface);
  box-shadow: 3px 7px 0 var(--theme-violet-deep), 5px 12px 22px #432a5530;
}

html #global-network :is(.homepage-flight__heading, .globe-services-link) {
  color: #fff;
  background: #211927;
  border-color: var(--theme-surface);
  box-shadow: 3px 5px 0 var(--theme-violet), 6px 9px 0 var(--theme-lilac), 8px 14px 20px #21192730;
}

html #global-network .homepage-flight__heading span:first-child,
html #global-network .globe-services-link > span > span {
  color: #fff;
  text-shadow: 0 0 8px #d8d0e480, 2px 2px 0 var(--theme-violet);
}

html #global-network .homepage-flight__heading span:nth-child(2),
html #global-network .globe-services-link > span > span:nth-child(2) {
  color: var(--theme-lilac);
  text-shadow: 0 0 8px #d8d0e480, 2px 2px 0 var(--theme-violet-deep);
}

html #global-network .homepage-flight__heading svg { stroke: var(--theme-violet-highlight); }
html #global-network :is(.globe-cities, .compact-flight-board) li > span:first-child,
html #global-network .departures-board :is(.departures-board__airport, td:first-child, a) { color: var(--theme-violet); }

html #global-network .homepage-flight__controls :is(button, a) { color: var(--theme-violet-deep); }
html #global-network .homepage-flight__controls button { border-color: #3b294950; }
html #global-network .homepage-flight__controls button:hover:not(:disabled) { color: #fff; background: var(--theme-violet-deep); }
html #global-network :is(.homepage-flight, .globe-services-link):focus-visible,
html #global-network .homepage-flight :focus-visible { outline-color: var(--theme-violet-highlight); }

html .footer-glow__icons a,
html .footer-glow__nav h2 { color: var(--theme-muted); }
html .footer-glow a:hover { color: var(--theme-violet); }
html .footer-glow ::selection,
html #contact ::selection { color: #fff; background: var(--theme-violet); }

@media (prefers-reduced-motion: reduce) {
  html #home .mw-hero__button,
  html #contact .orbital-cta__button { transition: none; }
}
