/* ECE 1919684 — approved unified corporate blue for the desktop site.
   Exact approved swatch: RGB(45,60,145), #2D3C91.
   Dark desktop experience only; light theme and mobile remain independent.
   Existing dynamic photographs, functional cards, CMS and contact popup untouched. */
@media screen and (min-width:981px) {
  html:root:not([data-theme="light"]) {
    --ece84-blue:#2d3c91;
    --ece84-line:rgba(132,183,255,.13);
  }
  html:root:not([data-theme="light"]) body {
    background-color:var(--ece84-blue)!important;
    background-image:
      repeating-linear-gradient(132deg,transparent 0 172px,var(--ece84-line) 173px,transparent 174px 307px),
      repeating-linear-gradient(0deg,transparent 0 137px,rgba(132,183,255,.045) 138px,transparent 139px 254px)!important;
    color:#f3f7ff;
  }
  /* A single base colour spans top bar, hero, photo blend, lower sections and footer. */
  html:root:not([data-theme="light"]) body header.site-header.ece-header19194.ece-header19194 {
    background:#2d3c91!important;
    background-image:repeating-linear-gradient(132deg,transparent 0 170px,rgba(132,183,255,.08) 171px,transparent 172px 304px)!important;
    border-bottom-color:rgba(172,202,255,.17)!important;
    box-shadow:none!important;
  }
  html:root:not([data-theme="light"]) body main {
    background:transparent!important;
    color:#f4f7ff;
  }
  html:root:not([data-theme="light"]) body main > section.ece-approved-hero19191.ece78-desktop-home {
    --ece-unified-panel:#2d3c91;
    background-color:#2d3c91!important;
    background-image:none!important;
    padding-bottom:clamp(30px,3.2vw,44px)!important;
  }
  html:root:not([data-theme="light"]) body main > section.ece-approved-hero19191.ece78-desktop-home .ece-approved-layout {
    background:#2d3c91!important;
  }
  /* Match the hero photograph against the SAME colour: no opaque vertical seam. */
  html:root:not([data-theme="light"]) body main > section.ece-approved-hero19191.ece78-desktop-home .ece-approved-layout::before {
    background-image:url('/ece81-hero-panorama.webp')!important;
    background-position:right 50%!important;
    background-size:cover!important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 16%,rgba(0,0,0,.10) 29%,rgba(0,0,0,.36) 43%,rgba(0,0,0,.72) 58%,#000 76%)!important;
    mask-image:linear-gradient(90deg,transparent 0%,transparent 16%,rgba(0,0,0,.10) 29%,rgba(0,0,0,.36) 43%,rgba(0,0,0,.72) 58%,#000 76%)!important;
  }
  html:root:not([data-theme="light"]) body main > section.ece-approved-hero19191.ece78-desktop-home .ece-approved-layout::after {
    background:
      repeating-linear-gradient(132deg,transparent 0 174px,rgba(145,196,255,.085) 175px,transparent 176px 302px),
      linear-gradient(90deg,rgba(45,60,145,.02),rgba(45,60,145,0) 82%)!important;
    pointer-events:none!important;
  }
  html:root:not([data-theme="light"]) body main > section.ece-approved-hero19191.ece78-desktop-home::before {
    background:
      repeating-linear-gradient(132deg,transparent 0 174px,rgba(145,196,255,.085) 175px,transparent 176px 302px),
      repeating-linear-gradient(0deg,transparent 0 133px,rgba(145,196,255,.045) 134px,transparent 135px 225px)!important;
    opacity:1!important;
  }
  /* The hero remains compact; the existing approved orange CTA remains small. */
  html:root:not([data-theme="light"]) body main .ece-approved-hero19191.ece78-desktop-home .ece-approved-actions > a.ece-approved-secondary {
    min-width:0!important;width:auto!important;min-height:50px!important;
    padding:12px 25px!important;gap:12px!important;
    font-size:16px!important;border-radius:11px!important;
  }
  /* The same blue is used underneath ALL lower content panels, without flattening cards. */
  html:root:not([data-theme="light"]) body main > section.section,
  html:root:not([data-theme="light"]) body main > section.solutions,
  html:root:not([data-theme="light"]) body main > section.process,
  html:root:not([data-theme="light"]) body main > section.expertise,
  html:root:not([data-theme="light"]) body main > section.company-links {
    background:#2d3c91!important;
    background-image:none!important;
    color:#f3f7ff!important;
    border-color:rgba(159,194,255,.17)!important;
  }
  html:root:not([data-theme="light"]) body main > section.section::before,
  html:root:not([data-theme="light"]) body main > section.solutions::before,
  html:root:not([data-theme="light"]) body main > section.process::before {
    background:
      repeating-linear-gradient(132deg,transparent 0 174px,rgba(145,196,255,.075) 175px,transparent 176px 302px),
      repeating-linear-gradient(0deg,transparent 0 133px,rgba(145,196,255,.04) 134px,transparent 135px 225px)!important;
    opacity:1!important;
    pointer-events:none!important;
  }
  html:root:not([data-theme="light"]) body main > section.section .section-intro h2,
  html:root:not([data-theme="light"]) body main > section.section .section-intro h3,
  html:root:not([data-theme="light"]) body main > section.section > .container > h1 {
    color:#fff!important;
  }
  html:root:not([data-theme="light"]) body main > section.section .section-intro > p,
  html:root:not([data-theme="light"]) body main > section.section .section-intro > div p {
    color:#d2defb!important;
  }
  html:root:not([data-theme="light"]) body main > section.section .section-number,
  html:root:not([data-theme="light"]) body main > section.section .eyebrow {
    color:#b9d9ff!important;
  }
  /* Keep the service photography and four visible cards intact. */
  html:root:not([data-theme="light"]) body main .ece-approved-hero19191.ece78-desktop-home .ece-approved-directions {
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  html:root:not([data-theme="light"]) body main .ece-approved-hero19191.ece78-desktop-home .ece-approved-directions > a.ece-hero-direction > i {
    display:block!important;position:absolute!important;right:14px!important;bottom:11px!important;
    z-index:3!important;font:normal 22px/1 Arial,sans-serif!important;
    color:#8fc2ff!important;pointer-events:none!important;
  }
  html:root:not([data-theme="light"]) body footer.kei14-footer.kei14-footer,
  html:root:not([data-theme="light"]) body .kei14-foot {
    background:#2d3c91!important;background-color:#2d3c91!important;background-image:none!important;
    border-color:rgba(160,193,255,.19)!important;
  }
  html:root:not([data-theme="light"]) body footer.kei14-footer.kei14-footer {
    background-image:repeating-linear-gradient(132deg,transparent 0 174px,rgba(145,196,255,.075) 175px,transparent 176px 302px)!important;
    color:#f4f7ff!important;
  }
  html:root:not([data-theme="light"]) body footer.kei14-footer.kei14-footer :is(h2,h3,h4,a) {color:#f6f9ff;}
  html:root:not([data-theme="light"]) body footer.kei14-footer.kei14-footer :is(p,small,.kei14-foot-bottom) {color:#d5e0f6;}
}
/* Preserve responsive behaviour at the desktop breakpoint while preventing overflow. */
@media screen and (min-width:981px) and (max-width:1100px) {
  html:root:not([data-theme="light"]) body main .ece-approved-hero19191.ece78-desktop-home .ece-approved-directions > a.ece-hero-direction > i {
    right:8px!important;bottom:7px!important;font-size:18px!important;
  }
}
