/* The clock is initialized in the shared head, so navigation and refreshes
   render the same palette as the rest of the visitor's session. */
html[data-home-theme='dark'] {
  color-scheme: dark;
  --theme-on-accent: #102033;
  --theme-success: #80ddb2;
  --theme-warning: #f4cf83;
}

html[data-home-theme='light'] {
  color-scheme: light;
  --theme-on-accent: #fff;
  --theme-success: #1d6b4d;
  --theme-warning: #805218;
}

html[data-home-theme] {
  --bg: var(--home-bg);
  --bg-2: var(--home-surface);
  --text: var(--home-text);
  --muted: var(--home-muted);
  --dim: var(--home-muted);
  --line: var(--home-border);
  --panel: var(--home-panel);
  --cyan: var(--home-accent);
  --blue: var(--home-accent);
  --home-scene-floor: var(--home-bg);
  background: var(--home-bg);
}

html[data-home-theme] body {
  background: var(--home-bg);
  color: var(--home-text);
}

html[data-home-theme] .page {
  background: linear-gradient(180deg, var(--home-bg), var(--home-surface) 45%, var(--home-bg));
}

html[data-home-theme] .page::before,
html[data-home-theme] .page::after,
html[data-home-theme] .page-hero::before {
  content: none;
}

html[data-home-theme] .page-hero {
  background: radial-gradient(ellipse at 85% 5%, color-mix(in srgb, var(--home-sky-top) 24%, transparent), transparent 65%),
    linear-gradient(180deg, var(--home-surface), var(--home-bg));
}

html[data-home-theme] .page :is(
  .brand, .brand-mark, .header-login, .nav a, .section-title, .page-hero h1,
  .service-card h3, .panel-card h3, .featured-case h3, .tech-row h3,
  .insight-card h2, .insight-card h3, .stat-value, .proof-value,
  .step h3, .detail-row h3, .check-list strong, .faq summary,
  .cta-banner h2, .footer-cta h2, .legal-body h2, .place-badge span
) {
  color: var(--home-text);
}

html[data-home-theme] .page :is(
  .breadcrumbs ol, .breadcrumbs a, .page-hero .lede, .chip, .stat-label,
  .section-lede, .section-head .section-lede, .service-card p, .split-copy p,
  .panel-card p, .check-list li, .step p, .faq details p, .cta-banner p,
  .proof-item p, .featured-case p, .case-count, .date, .insight-body p.excerpt,
  .detail-row p, .place-copy p, .footer-col h3, .footer-col a, .footer-col p,
  .footer-bottom, .policies a, .legal-body p, .legal-body li, .legal-updated,
  .nav-caret, .nav-drop .drop-note, .landing-header-note
) {
  color: var(--home-muted);
}

html[data-home-theme] .page :is(
  .accent, .text-link, .micro-link, .case-link, .read-more, .panel-link,
  .kicker-line, .legal-body a, .step-num
) {
  color: var(--home-accent);
}

html[data-home-theme] .page :is(
  .nav a:hover, .nav a:focus-visible, .nav a[aria-current='page'],
  .header-login:hover, .breadcrumbs a:hover, .service-card h3 a:hover,
  .panel-link:hover, .insight-card h2 a:hover, .insight-card h3 a:hover, .tool-card h3 a:hover,
  .read-more:hover, .footer-col a:hover, .policies a:hover
) {
  color: var(--home-accent);
}

html[data-home-theme] .page :is(.breadcrumbs li + li, .chips .chip:not(:first-child), .hero-chips .chip:not(:first-child))::before {
  color: var(--home-muted);
}

html[data-home-theme] .page :is(.tech-row h3, .detail-row h3)::before,
html[data-home-theme] .page .faq summary::after {
  color: var(--home-accent);
}

html[data-home-theme] .page :is(
  .stat, .service-card, .tech-row, .detail-row, .faq details,
  .footer, .footer-bottom, .nav-login-mobile
) {
  border-color: var(--home-border);
}

html[data-home-theme] .section-line {
  background: var(--home-border);
}

html[data-home-theme] .check-list li::before {
  background: var(--home-accent);
}

html[data-home-theme] .services {
  background: none;
}

html[data-home-theme] .page :is(.panel-card, .proof-item, .insight-card, .featured-panel, .step) {
  background: var(--home-panel);
  border-color: var(--home-border);
  box-shadow: 0 10px 30px rgba(20, 43, 59, .04);
}

html[data-home-theme] .step::before {
  color: var(--home-accent);
}

html[data-home-theme] :is(.assessment-panel, .assessment-result-card, .assessment-option) {
  background: var(--home-panel);
  border-color: var(--home-border);
  box-shadow: none;
}

html[data-home-theme] .assessment-question legend {
  color: var(--home-text);
}

html[data-home-theme] :is(.assessment-result-card p, .assessment-option, .assessment-progress, .assessment-note) {
  color: var(--home-muted);
}

html[data-home-theme] .assessment-option:has(input:checked) {
  background: var(--home-bg);
  border-color: var(--home-accent);
  color: var(--home-text);
}

html[data-home-theme] .assessment-option input {
  accent-color: var(--home-accent);
}

html[data-home-theme] .cta-banner {
  border-color: var(--home-border);
  background: linear-gradient(120deg, var(--home-panel), color-mix(in srgb, var(--home-sky-horizon) 35%, var(--home-surface)));
}

html[data-home-theme] .page :is(.button, .pill, .icon-btn, .slide-arrow) {
  background: var(--home-panel);
  border-color: var(--home-border);
  color: var(--home-text);
  box-shadow: 0 4px 14px rgba(20, 43, 59, .05);
}

html[data-home-theme] .page :is(.button, .pill, .icon-btn, .slide-arrow):hover {
  background: var(--home-surface);
  border-color: var(--home-accent);
  color: var(--home-accent);
}

html[data-home-theme] .page :is(.button, .pill) .icon {
  color: var(--home-accent);
}

html[data-home-theme] :is(a, button, input, select, textarea):focus-visible {
  outline-color: var(--home-accent);
}

html[data-home-theme] .skip-link {
  background: var(--home-text);
  color: var(--home-panel);
}

html[data-home-theme] .nav-drop {
  background: var(--home-panel);
  border-color: var(--home-border);
  box-shadow: 0 16px 38px rgba(20, 43, 59, .13);
}

html[data-home-theme] .nav-drop a:hover,
html[data-home-theme] .nav-drop a:focus-visible {
  background: var(--home-bg);
}

html[data-home-theme='light'] .service-card--cloud { --tone: #176480; }
html[data-home-theme='light'] .service-card--operations { --tone: #167054; }
html[data-home-theme='light'] .service-card--software { --tone: #714ba1; }
html[data-home-theme='light'] .service-card--security { --tone: #886019; }

html[data-home-theme] .service-icon {
  background: var(--home-surface);
  border-color: var(--home-border);
}

html[data-home-theme] .featured-panel::before {
  background: linear-gradient(90deg, var(--home-panel) 0%, var(--home-panel) 22%, color-mix(in srgb, var(--home-panel) 92%, transparent) 33%, transparent 65%);
}

html[data-home-theme] .featured-case {
  background: color-mix(in srgb, var(--home-panel) 96%, transparent);
  border-color: var(--home-border);
  box-shadow: 0 10px 30px rgba(20, 43, 59, .09);
}

html[data-home-theme='light'] .logo-strip-row img,
html[data-home-theme='light'] .featured-art--client-logo {
  filter: none;
  opacity: 1;
}

html[data-home-theme='light'] .featured-art--client-logo {
  background: var(--home-panel);
}

html[data-home-theme='light'] .insight-art {
  filter: none;
  opacity: 1;
}

html[data-home-theme] .tech-stack-art {
  filter: none;
  opacity: 1;
}

html[data-home-theme] .place-photo img {
  border-color: var(--home-border);
  box-shadow: 0 18px 42px rgba(20, 43, 59, .14);
}

html[data-home-theme] .place-badge {
  background: var(--home-panel);
  border-color: var(--home-border);
  box-shadow: 0 12px 28px rgba(20, 43, 59, .12);
}

html[data-home-theme] .footer {
  background: linear-gradient(180deg, var(--home-bg), var(--home-surface));
}

html[data-home-theme='light'] .footer-art {
  opacity: .18;
}

html[data-home-theme] .page :is(.footer-logo, .footer-col .socials a) {
  background: var(--home-panel);
  border-color: var(--home-border);
  color: var(--home-accent);
}

html[data-home-theme] .footer-col .socials a:hover {
  background: var(--home-bg);
  color: var(--home-text);
}

@media (max-width: 900px) {
  html[data-home-theme] .nav {
    background: var(--home-panel);
    border-color: var(--home-border);
    box-shadow: 0 18px 42px rgba(20, 43, 59, .14);
  }

  html[data-home-theme] .nav-drop {
    background: none;
    box-shadow: none;
  }
}
