:root {
  color-scheme: dark;
  --ink: #f3f6ff;
  --muted: #b2bfd9;
  --line: rgba(150, 175, 230, .22);
  --blue: #8dbbff;
  --blue-deep: #b0d0ff;
  --soft-blue: rgba(77, 132, 224, .14);
  --soft-mint: rgba(35, 183, 164, .14);
  --soft-rose: rgba(228, 126, 151, .14);
  --planet-glass: rgba(10, 18, 38, .78);
}

html { background: #04060f; scrollbar-color: #435878 #04060f; }
body.ascend-background { background: #04060f; color: var(--ink); isolation: isolate; }
.planet-canvas, .planet-fallback {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -1;
}
.planet-canvas { display: block; opacity: 0; transition: opacity .8s ease; }
.planet-fallback { background: radial-gradient(ellipse at 50% 100%, #142b61, #071126 48%, #04060f 80%); }
html[data-renderer="webgl"] .planet-canvas { opacity: 1; }
html[data-renderer="webgl"] .planet-fallback { visibility: hidden; }

/* Keep the existing illustrations on their original light palettes. */
:is(.ecosystem, .system-map, .flow-scene.customer, .seller-panel, .mobile-automation) {
  --ink: #071b34;
  --muted: #586f87;
  --blue: #2563eb;
  --blue-deep: #1749b8;
  --soft-blue: #eaf2ff;
  --soft-mint: #e8f8f5;
  --soft-rose: #fff0f2;
}

body.ascend-background :is(.hero, .section, .statement, .final-cta, .footer) { background: transparent; }
.projects-showcase::before { background: none; }
.hero .hero-title .hero-title-dark { color: var(--ink); }
.hero .hero-title .hero-title-detail { color: var(--blue); }
.hero-copy > .hero-description, .hero-copy > p { color: var(--muted); }
.hero-tag { color: #a3ece0; border-color: rgba(93, 240, 168, .22); background: rgba(8, 29, 36, .85); }

body.ascend-background .site-header .nav {
  color: var(--ink);
  border-color: var(--line);
  background: rgba(7, 14, 31, .88);
  box-shadow: 0 14px 38px rgba(0, 0, 0, .24);
}
.site-header .brand { color: var(--ink); }
.site-header .brand small, .site-header .nav-links { color: var(--muted); }
.site-header .nav-cta { background: #2563eb; color: #fff; }
.site-header .menu-toggle { color: var(--ink); background: rgba(141, 187, 255, .12); }

body.ascend-background .button.primary { color: #fff; background: #2563eb; }
body.ascend-background .button.primary:hover { background: #1d4ed8; }
body.ascend-background .button.secondary {
  color: var(--ink);
  background: rgba(12, 23, 45, .88);
  box-shadow: inset 0 0 0 1px var(--line);
}
body.ascend-background .button.secondary:hover { background: #172945; }

:is(.transform-card, .feature-primary, .feature-wide, .feature-minor article,
    .price-card, .journal-card, .channel-plan, .integrate-card, .contact-form,
    .comparison-viewport::after, .comparison-chip, .compare-nav, .compare-replay, .track-mark) {
  color: var(--ink);
  border-color: var(--line);
  background: var(--planet-glass);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .2);
}
.price-card--pro { border-color: rgba(100, 170, 255, .6); background: rgba(14, 34, 64, .9); }
.price-description, .price-period, .price-features, .comparison-meta { color: var(--muted); }
.price-card--pro .button { color: #08213d; }
.demo-action .button, .cta-inner .button { color: #1749b8; }
.before-state { color: #efb4c6; }
.after-state { color: #8ee0d5; }
.before-state .state-title, .before-state .state-badge { color: #efb4c6; }
.after-state .state-title, .after-state .state-badge { color: #8ee0d5; }
.comparison-chip { color: var(--muted); }
.comparison-chip.is-active { color: #c1dcff; border-color: #4b73a4; background: rgba(38, 83, 148, .4); }
.process-line { color: var(--ink); background: var(--planet-glass); }
.process-item { color: var(--muted); }
body.ascend-background summary { color: var(--ink); }
.tpl-tab-name { opacity: .72; }
.footer, .footer-copyright { color: var(--muted); }
body.ascend-background .footer { border-top: 1px solid var(--line); }
body.ascend-background .journal-card { color: var(--ink); background: var(--planet-glass); }
.journal-card__category { color: #d9e8ff; background: #14243e; }

@media (prefers-reduced-motion: reduce) {
  .planet-canvas { transition: none; }
  .hero-badge .badge-message--channel { display: none; }
}
