/* ===== flat theme: one royal blue family, no gradients ===== */
:root{
  --royal:#4169e1;
  --tint:#8fa9ff;
  /* older names kept so every script still works: all map to the same blues */
  --c-pink:#2447d6;--c-orange:#4169e1;--c-yellow:#8fa9ff;--c-green:#4169e1;--c-cyan:#5b8cff;--c-violet:#1a36b8;
  --x-blue:#1a36b8;--x-violet:#1a36b8;--x-pink:#1a36b8;--x-orange:#1a36b8;--x-green:#1a36b8;--x-cyan:#1a36b8;

  /* illustration palette: blues, white and ink only */
  --sc-bld1:#c3d1fb;--sc-bld2:#dfe7ff;--sc-win:#ffffff;--sc-win-off:#9db3f5;
  --sc-cloud:#e3eaff;--sc-cloud-edge:rgba(65,105,225,.2);
  --sc-sun:#8fa9ff;--sc-sun-glow:rgba(65,105,225,.14);--sc-moon:#ffffff;--sc-moon-dim:#c4d0f5;
  --sc-hill1:#d3defc;--sc-hill2:#b4c6f7;--sc-hill3:#8fa9ff;--sc-pine:#2447d6;
  --sc-white:#ffffff;--sc-ink:#1a36b8;--sc-rock:#8fa9ff;--sc-beam:rgba(65,105,225,.2);
  --sc-planet1:#4169e1;--sc-planet2:#4169e1;--sc-ring:#1a36b8;
  --sc-boat:#ffffff;--sc-hull:#2447d6;--sc-bird:#2447d6;--sc-balloon1:#2447d6;--sc-balloon2:#bcd0ff;
}
html[data-theme="dark"]{
  --tint:#9db3ff;
  --c-pink:#6f8cff;--c-orange:#8fa9ff;--c-yellow:#c3d1ff;--c-green:#8fa9ff;--c-cyan:#7fa0ff;--c-violet:#4169e1;
  --x-blue:#8fa9ff;--x-violet:#8fa9ff;--x-pink:#8fa9ff;--x-orange:#8fa9ff;--x-green:#8fa9ff;--x-cyan:#8fa9ff;

  --sc-bld1:#14224f;--sc-bld2:#0d1a42;--sc-win:#c3d1ff;--sc-win-off:#1d2f6a;
  --sc-cloud:#12204f;--sc-cloud-edge:rgba(143,169,255,.22);
  --sc-sun-glow:rgba(143,169,255,.14);--sc-moon:#eef2ff;--sc-moon-dim:#b7c4f0;
  --sc-hill1:#12265f;--sc-hill2:#0d1c4a;--sc-hill3:#091538;--sc-pine:#050c26;
  --sc-white:#dfe7ff;--sc-ink:#9db3ff;--sc-rock:#1b2a5c;--sc-beam:rgba(195,209,255,.22);
  --sc-planet1:#3550c8;--sc-planet2:#3550c8;--sc-ring:#cdd8ff;
  --sc-boat:#e8edff;--sc-hull:#4169e1;--sc-bird:#9db3ff;--sc-balloon1:#6f8cff;--sc-balloon2:#c3d1ff;
}
html{scroll-padding-top:76px}

/* headings: plain accent color, short flat rule */
em,.typed{color:var(--accent);-webkit-text-fill-color:currentColor}
h2::after{content:"";display:block;width:48px;height:4px;border-radius:2px;margin-top:16px;background:var(--accent)}
.section-head[style*="center"] h2::after{margin-inline:auto}

/* flat section backgrounds */
.hero{background:transparent}
#services,#about{background:color-mix(in srgb,var(--blue) 5%,transparent)}
.hero-copy::before{border-radius:16px}

/* page-wide sky: stars (dark) / small blue sparkles (light) */
html[data-theme="dark"] .sparks{display:none}
.spk{transform-box:fill-box;transform-origin:center;animation:spk 7s ease-in-out infinite var(--dl,0s)}
.spk.l{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@keyframes spk{0%,100%{opacity:.12;transform:scale(.55) rotate(0) translateY(0)}50%{opacity:.8;transform:scale(1.1) rotate(90deg) translateY(-34px)}}

/* buttons */
.btn-primary{box-shadow:none}
.btn-primary:hover{transform:translateY(-1px);box-shadow:none;filter:brightness(1.12)}
.btn-ghost:hover{transform:translateY(-1px)}

/* marquee */
.marquee{border-block:0}
.marquee-track span::before{content:"> ";opacity:.6}

/* illustration details, kept to the palette */
.scene-city .beacon{fill:var(--accent)}
.rocket-fly .fin{fill:var(--sc-ink)}
.rocket-fly .win{fill:var(--tint)}
.rocket-fly .flame{fill:var(--tint)}
.rocket-fly .flame2{fill:#ffffff}
.balloon-move .basket{fill:var(--sc-ink)}
.lh-band,html[data-theme="dark"] .lh-band{fill:var(--sc-ink)}
.lh-lamp{fill:var(--tint)}
.sunrise .core{fill:var(--sc-sun)}
html[data-theme="dark"] .sunrise .core{fill:var(--sc-moon)}
.bg-waves .w1{fill:color-mix(in srgb,var(--blue) 22%,transparent)}
.bg-waves .w2{fill:color-mix(in srgb,var(--blue) 14%,transparent)}
.bg-waves .w3{fill:color-mix(in srgb,var(--blue) 9%,transparent)}
.fly{fill:#c3d1ff;filter:drop-shadow(0 0 5px #7f9cf5)}
.seed{stroke:var(--sc-ink)}

/* one accent everywhere else */
.code-bar{background:var(--soft)}
.steps::after{box-shadow:none}
.gm-bar i{box-shadow:none}
.toast{border-left-color:var(--accent)}
.eyebrow{border:0}
