/* 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 {
  background:
    linear-gradient(118deg, transparent 0 20%, #ffffff33 36%, #f8e8ff0f 51%, transparent 64%),
    linear-gradient(105deg, #24182c 0%, var(--theme-violet) 24%, var(--theme-violet-highlight) 45%, #4b315d 67%, #211626 100%);
  background-position: 82% 0, 0 0;
  background-size: 170% 100%, 100% 100%;
  filter: drop-shadow(0 10px 16px #432a5526);
  box-shadow: inset 0 1px 0 #ffffff80, inset 0 -1px 0 #120a186e;
  transition: background-position 220ms ease-out, filter 220ms ease-out;
}

html #home .mw-hero__button:hover {
  background-position: 16% 0, 0 0;
  filter: drop-shadow(0 12px 20px #432a5538) brightness(1.08);
}

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 { transition: none; }
}
