/* Theme control and complete light palette. Photographs retain their original colors. */
.theme-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; flex: 0 0 36px; padding: 0;
  color: var(--color-frost-glow); background: transparent;
  border: 1px solid var(--color-glass-edge); border-radius: 50%; cursor: pointer;
  transition: background .2s, transform .2s;
}
.theme-toggle:hover { background: var(--surface-frost-5); transform: rotate(12deg); }
.theme-toggle svg { width: 16px; height: 16px; }
.theme-toggle .theme-moon { display: none; }
html[data-theme=light] .theme-toggle .theme-moon { display: block; }
html[data-theme=light] .theme-toggle .theme-sun { display: none; }
html[data-theme=light] {
  color-scheme: light;
  --color-midnight-canvas: #f7f7f5;
  --color-steel-plate: #e6e6e3;
  --color-ice-highlight: #19191c;
  --color-frost-glow: #29292d;
  --color-moon-mist: #505057;
  --color-fog-veil: #626269;
  --color-blueprint-blue: #36363c;
  --color-glass-edge: #19191c26;
  --color-luminous-fill: #19191c0d;
  --surface-frost-1: #19191c03;
  --surface-frost-2: #19191c08;
  --surface-frost-3: #19191c0a;
  --surface-frost-5: #19191c12;
  --surface-header-glass: #f7f7f5ed;
  --surface-nav-mobile: #f7f7f5;
  --surface-deep-glass: #fff;
  --surface-midnight-canvas: #f7f7f5;
  --surface-steel-plate: #e6e6e3;
  --surface-frosted-glass: #ffffffcc;
  --gradient-ice-highlight: linear-gradient(180deg,#19191c,#626269);
  --shadow-sm: 0 2px 12px #19191c0b;
  --shadow-md: 0 6px 24px #19191c12;
  --shadow-subtle: inset 0 0 0 1px #19191c18;
  --shadow-subtle-2: inset 0 1px 0 #fff, 0 8px 28px #19191c09;
  --shadow-subtle-3: inset 0 0 0 1px #19191c18;
  --shadow-subtle-4: inset 0 1px 0 #fff, 0 12px 40px #19191c08;
  --shadow-subtle-5: inset 0 0 0 1px #19191c18;
  --shadow-subtle-6: inset 0 1px 0 #fff, 0 16px 48px #19191c10;
  --shadow-subtle-7: inset 0 1px 0 #fff;
  --shadow-subtle-8: inset 0 1px 0 #fff, 0 8px 24px #19191c08;
  --shadow-subtle-9: inset 0 0 0 1px #19191c30;
}
html[data-theme=light] body { background: var(--color-midnight-canvas); }
html[data-theme=light] body::before { border-color: #19191c14; }
html[data-theme=light] body::after { background: #333338; }
html[data-theme=light] ::selection { background: #28282d; color: #fff; }
html[data-theme=light] :focus-visible { outline-color: #333338; }
html[data-theme=light] header { background: #f7f7f5d9; }
html[data-theme=light] header.scrolled { background: #f7f7f5f2; }
html[data-theme=light] .brand-dot { background: repeating-linear-gradient(135deg,#242429 0 3px,transparent 3px 6px); }
html[data-theme=light] .lang-toggle { border-color: #19191c26; }
html[data-theme=light] .cta-btn { background: #242429; color: #fff; border-color: #242429; }
html[data-theme=light] .cta-btn:hover { background: #08080a; box-shadow: 0 6px 24px #19191c20; }
html[data-theme=light] .nav .cta-btn { background: transparent; color: #242429; border-color: #19191c50; }
html[data-theme=light] .nav .cta-btn:hover { background: #19191c08; }
html[data-theme=light] :is(.kicker,.eyebrow-sm,.service-hero-index) { color: #626269; }
html[data-theme=light] .hero-canvas { filter: invert(1); }
html[data-theme=light] .hero::after { background: radial-gradient(ellipse at 50% 43%,#f7f7f5b8 0%,#f7f7f550 38%,transparent 68%); }
html[data-theme=light] .hero h1 { color: #19191c; -webkit-text-fill-color: #19191c; }
html[data-theme=light] .hero h1 em { color: #65656c; -webkit-text-fill-color: #65656c; }
html[data-theme=light] .hero p.lede { color: #505057; }
html[data-theme=light] .complex-diagram { background: radial-gradient(ellipse at 50% 100%,#19191c06,transparent 60%),#fffffff0; border-color: #19191c26; box-shadow: 0 12px 40px #19191c06; }
html[data-theme=light] .complex-diagram::before { background-image: radial-gradient(#19191c35 .6px,transparent .6px); }
html[data-theme=light] .c-node { background: linear-gradient(150deg,#fff,#f0f0ee); border-color: #19191c26; box-shadow: 0 6px 15px #19191c0a; }
html[data-theme=light] .core-engine { background: linear-gradient(135deg,#fff,#e8e8e5); border-color: #19191c40; box-shadow: 0 8px 32px #19191c12; }
html[data-theme=light] .core-engine::before, html[data-theme=light] .core-engine::after { border-color: #19191c22; }
html[data-theme=light] .engine-tags span { color: #505057; background: #19191c06; }
html[data-theme=light] :is(.service-card,.capability-card) { background: linear-gradient(145deg,#fff,#f3f3f1); border-color: #19191c24; }
html[data-theme=light] .service-card::before { background-image: linear-gradient(0deg,#fafaf8,transparent 90%),var(--card-image); opacity: .32; }
html[data-theme=light] .service-card:hover::before { opacity: .5; }
html[data-theme=light] .service-card-index { color: #242429; }
html[data-theme=light] .tag { background: #fffffff2; color: #505057; border-color: #19191c24; }
html[data-theme=light] .service-card-icon { background: #fff; border-color: #19191c30; box-shadow: 0 6px 16px #19191c12; }
html[data-theme=light] .service-card-desc { color: #55555c; }
html[data-theme=light] .service-card-arrow { background: #19191c06; border-color: #19191c26; }
html[data-theme=light] .service-card.reveal.active:hover { border-color: #19191c55; }
html[data-theme=light] .service-card:hover .service-card-arrow { background: #242429; color: #fff; }
html[data-theme=light] .stat-card { border-color: #19191c26; }
html[data-theme=light] .section-padding[style*='background: rgba(0,0,0'] { background: #19191c03 !important; }
html[data-theme=light] .roi { background: radial-gradient(ellipse at 50% 90%,#19191c05,transparent 60%); }
html[data-theme=light] .roi-box { border-color: #19191c26; background: linear-gradient(120deg,#fff,#f2f2f0); box-shadow: 0 20px 60px #19191c08; }
html[data-theme=light] .roi-inputs label { color: #55555c; }
html[data-theme=light] .roi-inputs input[type=range] { background: linear-gradient(to right,#55555c var(--range-fill,15%),#d3d3d0 var(--range-fill,15%)); }
html[data-theme=light] .roi-inputs input[type=range]::-webkit-slider-thumb { background: #242429; box-shadow: 0 0 0 5px #19191c0e; }
html[data-theme=light] .roi-inputs input[type=range]::-moz-range-thumb { background: #242429; }
html[data-theme=light] .roi-inputs input[type=range]:focus-visible { outline-color: #333338; }
html[data-theme=light] .roi-result { border-color: #19191c26; }
html[data-theme=light] #contact { background: radial-gradient(ellipse at 0 60%,#19191c05,transparent 65%) !important; }
html[data-theme=light] .contact-wrapper { border-color: #19191c26; background: #fff; }
html[data-theme=light] .form-group label { color: #55555c; }
html[data-theme=light] .form-control { background: #f7f7f5; border-color: #19191c30; color: #242429; }
html[data-theme=light] .form-control:focus { border-color: #19191c80; box-shadow: 0 0 0 3px #19191c08; }
html[data-theme=light] .nav-dropdown-panel-inner { background: #fff; border-color: #19191c26; box-shadow: 0 24px 50px #19191c18; }
html[data-theme=light] :is(.nav-dropdown-item-icon,.capability-card-icon) { background: #19191c06; }
html[data-theme=light] .service-hero { background: radial-gradient(ellipse at 85% 20%,#19191c06,transparent 60%); }
html[data-theme=light] :is(.service-hero h1,.flow-step h4,.capability-card h4,.case-study h3) { color: #19191c; }
html[data-theme=light] .service-hero-image .framed-image { border-color: #19191c26; }
html[data-theme=light] .flow-step-num { background: #fff; border-color: #19191c30; box-shadow: 0 0 0 8px #19191c04; }
html[data-theme=light] .flow-connector { background: linear-gradient(90deg,#19191c10,#19191c50,#19191c10); }
html[data-theme=light] .case-study { background: #fff; border-color: #19191c26; }
html[data-theme=light] .page-cta { background: radial-gradient(ellipse at 50% 0,#19191c08,transparent 70%); border-color: #19191c26; }
@media (max-width:900px) {
  html[data-theme=light] .nav-dropdown-panel-inner { background: transparent; box-shadow: none; }
}
@media (max-width:600px) {
  .nav { padding-inline: 18px; }
  .controls { gap: 6px; }
  .theme-toggle { width: 32px; height: 32px; flex-basis: 32px; }
  .nav .brand { font-size: 12px; gap: 6px; }
  .nav .brand-dot { width: 16px; height: 16px; }
  .lang-toggle { padding-inline: 7px; }
  .nav .cta-btn { padding-inline: 9px; }
  .menu-btn { min-width: 24px; }
}
@media (prefers-reduced-motion:reduce) { .theme-toggle { transition: none; } }
