/* KnowTech unified palette — navy structure, cyan technology, neutral surfaces. */
:root {
  --kt-v2-bg: #f5fafb;
  --kt-v2-card: #ffffff;
  --kt-v2-soft: #edf5f7;
  --kt-v2-soft-blue: #e8f4f7;
  --kt-v2-ink: #102a36;
  --kt-v2-text: #405b67;
  --kt-v2-muted: #536f7a;
  --kt-v2-navy: #155b6d;
  --kt-v2-navy-deep: #0d5264;
  --kt-v2-copper: #0d7185;
  --kt-v2-line: #c7dce1;
  --kt-v2-shadow: 0 16px 40px rgba(16, 67, 79, .08);
  --kt-color-primary: #0d7185;
  --kt-color-primary-hover: #095e70;
  --kt-color-accent: #35c6da;
  --kt-color-on-accent: #06161c;
  --kt-color-focus: #168da5;
}

:root[data-theme="dark"] {
  --kt-v2-bg: #071218;
  --kt-v2-card: #0e2028;
  --kt-v2-soft: #102630;
  --kt-v2-soft-blue: #102a35;
  --kt-v2-ink: #edf9fb;
  --kt-v2-text: #b9ced5;
  --kt-v2-muted: #93aeb7;
  --kt-v2-navy: #68ddea;
  --kt-v2-navy-deep: #68ddea;
  --kt-v2-copper: #68ddea;
  --kt-v2-line: #294550;
  --kt-v2-shadow: 0 18px 46px rgba(0, 0, 0, .24);
  --kt-color-primary: #68ddea;
  --kt-color-primary-hover: #91e9f2;
  --kt-color-accent: #68ddea;
  --kt-color-on-accent: #06161c;
  --kt-color-focus: #91e9f2;
}

html[data-theme="light"] body,
html:not([data-theme]) body { background: var(--kt-v2-bg); color: var(--kt-v2-text); }
html[data-theme="dark"] body { background: var(--kt-v2-bg); color: var(--kt-v2-text); }

body:not(.home) {
  --ktp-bg: var(--kt-v2-bg);
  --ktp-panel: var(--kt-v2-card);
  --ktp-soft: var(--kt-v2-soft);
  --ktp-ink: var(--kt-v2-ink);
  --ktp-text: var(--kt-v2-text);
  --ktp-muted: var(--kt-v2-muted);
  --ktp-line: var(--kt-v2-line);
  --ktp-blue: var(--kt-color-primary);
  --ktp-copper: var(--kt-color-primary);
}

html body :is(h1, h2, h3, h4, h5, h6) { color: var(--kt-v2-ink); }
html body :is(.kt-overline, .kt-section-heading small, .kt-section-heading > span, .kt-section-heading > div > span, .kt-editorial-kicker, .kt-shop-hero__copy > span, .kt-services-hero__copy > span, .kt-about-hero-copy > span, .kt-contact-hero-copy > span, .kt-services-intro > header > span, .kt-services-audience > div > span, .kt-services-process > header > span, .kt-services-cta > div > span) {
  color: var(--kt-color-primary) !important;
}

html body :is(.kt-section-heading p, .kt-product-meta, .kt-insight-time, .kt-article-meta, .kt-card-meta, .kt-pathway-card p, .kt-product-card p, .kt-insight-card p) {
  color: var(--kt-v2-muted) !important;
}

html body .kt-article-meta span,
html body .kt-insight-read time,
html body .kt-services-map small,
html body .kt-service-card__top > span,
html body .kt-services-process li > span {
  color: var(--kt-color-primary) !important;
}

html[data-theme="light"] body .kt-services-map small,
html:not([data-theme]) body .kt-services-map small,
html[data-theme="light"] body .kt-service-card__top > span,
html:not([data-theme]) body .kt-service-card__top > span,
html[data-theme="light"] body .kt-services-process li > span,
html:not([data-theme]) body .kt-services-process li > span {
  border-color: color-mix(in srgb, var(--kt-color-primary) 22%, white) !important;
  background: color-mix(in srgb, var(--kt-color-primary) 9%, white) !important;
}

html body :is(.kt-pathway-card, .kt-product-card, .kt-product-tile, .kt-insight-card, .kt-article-card, .kt-purchase-card, .kt-finder, .kt-journey-item, .kt-faq-item, .kt-work-card) {
  border-color: var(--kt-v2-line) !important;
  background-color: var(--kt-v2-card) !important;
}

html body :is(.kt-button--primary, .kt-product-go, .kt-shop-hero__copy > a, .kt-editorial-hero .kt-button, .kt-services-hero .kt-button--primary) {
  color: #fff !important;
  border-color: var(--kt-color-primary) !important;
  background: var(--kt-color-primary) !important;
}
html body :is(.kt-button--primary, .kt-product-go, .kt-shop-hero__copy > a, .kt-editorial-hero .kt-button, .kt-services-hero .kt-button--primary):hover {
  background: var(--kt-color-primary-hover) !important;
}

html body :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--kt-color-focus) 36%, transparent) !important;
  outline-offset: 3px;
}

/* Light editorial and service canvases use one cool neutral family. */
html[data-theme="light"] body:not(.home) :is(.kt-services-hero, .kt-about-hero, .kt-contact-hero, .kt-editorial-hero, .kt-shop-hero, .kt-portfolio-hero),
html:not([data-theme]) body:not(.home) :is(.kt-services-hero, .kt-about-hero, .kt-contact-hero, .kt-editorial-hero, .kt-shop-hero, .kt-portfolio-hero) {
  border-color: var(--kt-v2-line) !important;
  background:
    radial-gradient(circle at 82% 16%, rgba(53,198,218,.12), transparent 30%),
    linear-gradient(135deg, #ffffff, var(--kt-v2-soft)) !important;
}

/* Article hero remains a strong navy anchor, now using the same brand family. */
html[data-theme][dir] body.single-post .kt-article-hero {
  border-color: rgba(104, 221, 234, .18) !important;
  background: linear-gradient(135deg, #071b25 0%, #0d3345 58%, #12495c 100%) !important;
}
html[data-theme][dir] body.single-post .kt-article-hero :is(h1, a, span, time, p) { color: #edf9fb; }
html[data-theme][dir] body.single-post .kt-article-hero .kt-article-meta a { color: #91e9f2 !important; }

/* Footer is the dark counterpart of the same navy/cyan system. */
html body .kt-site-footer {
  --kt-v2-ink: #edf9fb;
  --kt-v2-text: #b9ced5;
  --kt-v2-muted: #93aeb7;
  --kt-v2-line: #294550;
  color: #b9ced5 !important;
  background: linear-gradient(150deg, #071218, #0b222c 64%, #0d2c38) !important;
}
html body .kt-site-footer :is(h2, h3, strong) { color: #edf9fb !important; }
html body .kt-site-footer a { color: #c9dce1 !important; }
html body .kt-site-footer a:hover { color: #91e9f2 !important; }

::selection { color: #06161c; background: #91e9f2; }
