:root {
  --cx-font-sans: Arial, Helvetica, sans-serif;

  --cx-bg-dark: #07111f;
  --cx-surface-dark: #0d1b2e;

  --cx-text-dark: #0b1b3a;
  --cx-text-on-dark: #f8fafc;
  --cx-text-on-dark-soft: #e5e7eb;
  --cx-muted-on-dark: #cbd5e1;

  --cx-light-link: #155EEF;
  --cx-light-visited: #1E40AF;

  --cx-dark-link: #93C5FD;
  --cx-dark-visited: #60A5FA;

  --cx-focus: #facc15;
  --cx-border-dark: rgba(255,255,255,.14);
}

*, *::before, *::after {
  box-sizing: border-box;
}

body.cx-ds-v1 {
  margin: 0;
  font-family: var(--cx-font-sans);
}

body.cx-ds-v1.cx-theme-dark {
  background: var(--cx-bg-dark);
  color: var(--cx-text-on-dark);
}

body.cx-ds-v1.cx-theme-dark :where(h1,h2,h3) {
  color: var(--cx-text-on-dark);
}

body.cx-ds-v1.cx-theme-dark :where(p,li) {
  color: var(--cx-text-on-dark-soft);
}

body.cx-ds-v1.cx-theme-dark :where(a) {
  color: var(--cx-dark-link);
}

body.cx-ds-v1.cx-theme-dark :where(a:visited) {
  color: var(--cx-dark-visited);
}

body.cx-ds-v1 :where(a:focus-visible,button:focus-visible) {
  outline: 3px solid var(--cx-focus);
  outline-offset: 3px;
}

body.cx-ds-v1.cx-theme-dark :where(.orphan-index) {
  color: var(--cx-text-on-dark);
}

body.cx-ds-v1.cx-theme-dark :where(.orphan-index p) {
  color: var(--cx-text-on-dark-soft);
}

body.cx-ds-v1.cx-theme-dark :where(.card,.service-card) {
  background: var(--cx-surface-dark);
  border-color: var(--cx-border-dark);
}

/* Narrow compatibility override for the existing bad !important rule */
body.cx-ds-v1.cx-theme-dark :where(
  .card h1,.card h2,.card h3,.card h4,
  .service-card h1,.service-card h2,.service-card h3,.service-card h4,
  .feature-card h1,.feature-card h2,.feature-card h3,.feature-card h4,
  .entity-card h1,.entity-card h2,.entity-card h3,.entity-card h4,
  .case-card h1,.case-card h2,.case-card h3,.case-card h4
) {
  color: var(--cx-text-on-dark) !important;
}

/* Insights contains a light Related section inside the dark page */
body.cx-ds-v1.cx-theme-dark #cx-related-clean {
  color: var(--cx-text-dark);
}

body.cx-ds-v1.cx-theme-dark #cx-related-clean :where(h1,h2,h3,p,li) {
  color: var(--cx-text-dark);
}

body.cx-ds-v1.cx-theme-dark #cx-related-clean :where(a) {
  color: var(--cx-light-link);
}

body.cx-ds-v1.cx-theme-dark #cx-related-clean :where(a:visited) {
  color: var(--cx-light-visited);
}


/* SERVICE TEMPLATE V1 — scoped pilot rules only */
:root{--cx-bg-deep:#020617;--cx-bg-navy:#07111f;--cx-surface-soft:#f6f9fc;--cx-surface-white:#fff;--cx-primary:#2563eb;--cx-primary-hover:#1d4ed8;--cx-text-light:#fff;--cx-text-soft:#dbeafe;--cx-border-light:#dbe4f0;--cx-container:1160px;--cx-prose:820px;}
body.cx-ds-v1.cx-service-page{background:var(--cx-surface-soft);color:var(--cx-text-dark);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body.cx-ds-v1.cx-service-page :where(a){color:var(--cx-light-link);text-decoration-thickness:.08em;text-underline-offset:.18em;}
body.cx-ds-v1.cx-service-page :where(a:visited){color:var(--cx-light-visited);}
body.cx-ds-v1.cx-service-page :where(p,li){color:#334155;}
body.cx-ds-v1.cx-service-page :where(h1,h2,h3){color:var(--cx-text-dark);letter-spacing:-.03em;}
.cx-service-page .cx-container{width:min(var(--cx-container),calc(100% - 48px));margin-inline:auto;}
.cx-service-page .cx-prose{max-width:var(--cx-prose);}
.cx-service-page .cx-site-header{position:sticky;top:0;z-index:20;background:rgba(2,6,23,.96);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px);}
.cx-service-page .cx-header-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px;}
.cx-service-page .cx-brand{color:var(--cx-text-light);font-weight:800;font-size:18px;text-decoration:none;white-space:nowrap;}
.cx-service-page .cx-site-nav{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap;}
.cx-service-page .cx-site-nav a{color:var(--cx-muted-on-dark);font-size:14px;font-weight:700;text-decoration:none;}
.cx-service-page .cx-site-nav a:hover,.cx-service-page .cx-site-nav a:focus-visible{color:var(--cx-text-light);}
.cx-service-page .cx-service-hero{background:radial-gradient(circle at 18% 18%,rgba(37,99,235,.25),transparent 34%),linear-gradient(135deg,#020617 0%,#07111f 55%,#0d1b2e 100%);color:var(--cx-text-light);padding:92px 0 84px;}
.cx-service-page .cx-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:54px;align-items:center;}
.cx-service-page .cx-eyebrow{margin:0 0 18px;color:#93c5fd;font-size:13px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;}
.cx-service-page .cx-service-hero h1{max-width:760px;margin:0;color:var(--cx-text-light);font-size:clamp(38px,5vw,60px);line-height:1.08;font-weight:900;}
.cx-service-page .cx-hero-lede{max-width:760px;margin:24px 0 0;color:var(--cx-text-soft);font-size:19px;line-height:1.72;}
.cx-service-page .cx-hero-actions,.cx-service-page .cx-cta-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;}
.cx-service-page .cx-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:13px 20px;border-radius:999px;font-weight:800;text-decoration:none;border:1px solid transparent;}
.cx-service-page .cx-button-primary{background:var(--cx-primary);color:#fff!important;box-shadow:0 16px 34px rgba(37,99,235,.25);}
.cx-service-page .cx-button-primary:hover{background:var(--cx-primary-hover);}
.cx-service-page .cx-button-secondary{color:#dbeafe!important;border-color:rgba(219,234,254,.36);background:rgba(255,255,255,.06);}
.cx-service-page .cx-hero-panel{padding:30px;border-radius:24px;background:rgba(13,27,46,.86);border:1px solid rgba(255,255,255,.14);box-shadow:0 26px 70px rgba(0,0,0,.26);}
.cx-service-page .cx-hero-panel h2{margin:0 0 14px;color:var(--cx-text-light);font-size:24px;}
.cx-service-page .cx-hero-panel ul,.cx-service-page .cx-clean-list{margin:0;padding:0;list-style:none;}
.cx-service-page .cx-hero-panel li{padding:12px 0;color:var(--cx-text-soft);border-top:1px solid rgba(255,255,255,.1);}
.cx-service-page .cx-hero-panel li:first-child{border-top:0;}
.cx-service-page .cx-section{padding:82px 0;}.cx-service-page .cx-section-white{background:#fff;}.cx-service-page .cx-section-light{background:var(--cx-surface-soft);}.cx-service-page .cx-section-dark{background:var(--cx-bg-deep);color:var(--cx-text-light);}
.cx-service-page .cx-section-dark :where(h2,h3){color:var(--cx-text-light);}.cx-service-page .cx-section-dark :where(p,li){color:var(--cx-muted-on-dark);}
.cx-service-page .cx-section-intro{max-width:820px;margin-bottom:34px;}.cx-service-page .cx-section-intro h2,.cx-service-page .cx-split h2{margin:0 0 16px;font-size:clamp(32px,3vw,42px);line-height:1.18;}.cx-service-page .cx-section-intro p,.cx-service-page .cx-split p{margin:0 0 16px;font-size:17px;}
.cx-service-page .cx-grid{display:grid;gap:22px;}.cx-service-page .cx-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}.cx-service-page .cx-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.cx-service-page .cx-card{padding:26px;border-radius:22px;background:#fff;border:1px solid var(--cx-border-light);box-shadow:0 12px 36px rgba(15,23,42,.06);}.cx-service-page .cx-card h3{margin:0 0 10px;font-size:21px;line-height:1.25;}.cx-service-page .cx-card p{margin:0;}
.cx-service-page .cx-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:54px;align-items:start;}
.cx-service-page .cx-check-list li{position:relative;padding:10px 0 10px 28px;color:#334155;}.cx-service-page .cx-check-list li::before{content:"";position:absolute;left:0;top:18px;width:9px;height:9px;border-radius:999px;background:var(--cx-primary);}
.cx-service-page .cx-workflow{counter-reset:cx-step;}.cx-service-page .cx-step{position:relative;padding-top:54px;}.cx-service-page .cx-step::before{counter-increment:cx-step;content:counter(cx-step,decimal-leading-zero);position:absolute;top:24px;left:26px;color:#2563eb;font-size:14px;font-weight:900;letter-spacing:.08em;}
.cx-service-page .cx-control-panel{padding:34px;border-radius:26px;background:linear-gradient(135deg,rgba(13,27,46,.98),rgba(7,17,31,.98));border:1px solid rgba(255,255,255,.14);}.cx-service-page .cx-control-panel .cx-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);box-shadow:none;}.cx-service-page .cx-control-panel .cx-card h3{color:var(--cx-text-light);}.cx-service-page .cx-control-panel .cx-card p{color:var(--cx-muted-on-dark);}
.cx-service-page .cx-related-grid a.cx-card{color:inherit;text-decoration:none;}.cx-service-page .cx-related-grid a.cx-card:hover{border-color:rgba(37,99,235,.42);box-shadow:0 18px 44px rgba(37,99,235,.12);}
.cx-service-page .cx-final-cta{padding:78px 0;background:linear-gradient(135deg,#07111f 0%,#020617 100%);color:var(--cx-text-light);}.cx-service-page .cx-final-cta h2{margin:0 0 14px;color:var(--cx-text-light);font-size:clamp(32px,4vw,46px);}.cx-service-page .cx-final-cta p{max-width:760px;margin:0;color:var(--cx-text-soft);}
.cx-service-page .cx-site-footer{padding:48px 0;background:#061225;color:var(--cx-muted-on-dark);border-top:1px solid rgba(255,255,255,.1);}.cx-service-page .cx-footer-grid{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:26px;}.cx-service-page .cx-site-footer h2,.cx-service-page .cx-site-footer h3{margin:0 0 12px;color:var(--cx-text-light);font-size:17px;letter-spacing:0;}.cx-service-page .cx-site-footer a{display:block;color:var(--cx-muted-on-dark);text-decoration:none;margin:8px 0;font-size:14px;}.cx-service-page .cx-site-footer a:hover,.cx-service-page .cx-site-footer a:focus-visible{color:var(--cx-text-light);}.cx-service-page .cx-footer-note{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);color:#94a3b8;font-size:14px;}
@media (max-width:1024px){.cx-service-page .cx-hero-grid,.cx-service-page .cx-split,.cx-service-page .cx-footer-grid{grid-template-columns:1fr}.cx-service-page .cx-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:768px){.cx-service-page .cx-container{width:min(100% - 40px,var(--cx-container))}.cx-service-page .cx-header-inner{align-items:flex-start;flex-direction:column;padding:18px 0;gap:14px}.cx-service-page .cx-site-nav{justify-content:flex-start;gap:12px 16px}.cx-service-page .cx-service-hero{padding:68px 0}.cx-service-page .cx-section{padding:62px 0}.cx-service-page .cx-grid-2,.cx-service-page .cx-grid-3{grid-template-columns:1fr}}
@media (max-width:390px){.cx-service-page .cx-container{width:min(100% - 36px,var(--cx-container))}.cx-service-page .cx-button{width:100%}.cx-service-page .cx-card,.cx-service-page .cx-hero-panel,.cx-service-page .cx-control-panel{padding:22px;border-radius:20px}}

/* SERVICE TEMPLATE V1.1 — visual refinement only, scoped to service pages */
.cx-service-page .cx-service-hero {
  padding: 82px 0 74px;
}

.cx-service-page .cx-service-hero .cx-eyebrow {
  color: #93c5fd;
}

.cx-service-page .cx-service-hero .cx-hero-lede {
  color: #dbeafe;
}

.cx-service-page .cx-section {
  padding: 68px 0;
}

.cx-service-page .cx-section-intro {
  margin-bottom: 26px;
}

.cx-service-page .cx-split {
  align-items: center;
  gap: 44px;
}

.cx-service-page .cx-check-list li {
  padding-top: 8px;
  padding-bottom: 8px;
}

.cx-service-page .cx-check-list li::before {
  top: 17px;
}

.cx-service-page .cx-card {
  padding: 24px;
}

.cx-service-page .cx-card h3 {
  min-height: 1.25em;
}

.cx-service-page .cx-card .cx-check-list li {
  padding-top: 7px;
  padding-bottom: 7px;
}

.cx-service-page .cx-workflow {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.cx-service-page .cx-workflow .cx-step {
  grid-column: span 2;
}

.cx-service-page .cx-workflow .cx-step:nth-child(4) {
  grid-column: 2 / span 2;
}

.cx-service-page .cx-workflow .cx-step:nth-child(5) {
  grid-column: 4 / span 2;
}

.cx-service-page .cx-site-nav {
  gap: 14px 18px;
}

.cx-service-page .cx-site-nav a {
  line-height: 1.35;
}

@media (max-width:1024px) {
  .cx-service-page .cx-section {
    padding: 62px 0;
  }

  .cx-service-page .cx-split {
    align-items: start;
  }

  .cx-service-page .cx-workflow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cx-service-page .cx-workflow .cx-step,
  .cx-service-page .cx-workflow .cx-step:nth-child(4),
  .cx-service-page .cx-workflow .cx-step:nth-child(5) {
    grid-column: auto;
  }
}

@media (max-width:768px) {
  .cx-service-page .cx-service-hero {
    padding: 66px 0;
  }

  .cx-service-page .cx-section {
    padding: 58px 0;
  }

  .cx-service-page .cx-workflow {
    grid-template-columns: 1fr;
  }
}

@media (max-width:390px) {
  .cx-service-page .cx-section {
    padding: 52px 0;
  }
}

/* SERVICE TEMPLATE V1.2 — final readability and typography fixes, scoped only */
.cx-service-page .cx-section-dark .cx-section-intro h2,
.cx-service-page .cx-section-dark .cx-split > div > h2 {
  color: #ffffff;
}

.cx-service-page .cx-section-dark .cx-section-intro p,
.cx-service-page .cx-section-dark .cx-split > div > p {
  color: #cbd5e1;
}

.cx-service-page .cx-control-panel .cx-card h3 {
  color: #ffffff;
}

.cx-service-page .cx-control-panel .cx-card p {
  color: #dce3ee;
}

.cx-service-page .cx-workflow .cx-step {
  padding-top: 24px;
}

.cx-service-page .cx-workflow .cx-step::before {
  position: static;
  display: block;
  margin-bottom: 10px;
  color: #2563eb;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1;
}

.cx-service-page .cx-workflow .cx-step h3 {
  margin-top: 0;
}

.cx-service-page .cx-site-footer h2,
.cx-service-page .cx-site-footer h3 {
  color: #f8fafc;
}

.cx-service-page .cx-site-footer p {
  color: #cbd5e1;
}

.cx-service-page .cx-site-footer a {
  color: #cbd5e1;
}

.cx-service-page .cx-footer-note {
  color: #cbd5e1;
}

/* SERVICE TEMPLATE V1.3 — final enterprise polish only */
.cx-service-page .cx-inputs-split {
  align-items: start;
}

.cx-service-page .cx-inputs-split .cx-section-intro {
  margin-bottom: 0;
}

.cx-service-page .cx-related-note {
  margin: 22px 0 0;
  font-size: 16px;
}

.cx-service-page .cx-related-note a {
  font-weight: 800;
  text-decoration-thickness: .08em;
}
