/* Electric Control identity for every public service detail. */
body.ec-service-detail-editorial {
  --sd-navy: #0f1c2e;
  --sd-graphite: #2b2f38;
  --sd-green: #7dbf2a;
  --sd-line: #e6e8eb;
  --sd-muted: #68717e;
  --sd-gutter: clamp(24px, 6vw, 96px);
}

body.ec-service-detail-editorial .ec-page-hero--premium {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: clamp(560px, 76svh, 820px);
  padding: 142px 0 76px;
  overflow: hidden;
  background-color: var(--sd-navy) !important;
  background-image: linear-gradient(90deg, rgba(7, 17, 31, .91) 0%, rgba(7, 17, 31, .68) 48%, rgba(7, 17, 31, .16) 100%), linear-gradient(0deg, rgba(7,17,31,.48), transparent 60%), var(--ec-hero-bg) !important;
  background-position: center, center, center;
  background-size: cover;
}
body.ec-service-detail-editorial .ec-page-hero--premium::before,
body.ec-service-detail-editorial .ec-page-hero--premium::after { display: none; }
body.ec-service-detail-editorial .ec-page-hero--premium .ec-container {
  width: min(100% - var(--sd-gutter) * 2, 1440px);
  margin: 0 auto;
}
body.ec-service-detail-editorial .ec-page-hero--premium .ec-breadcrumb { margin: 0 0 32px; }
body.ec-service-detail-editorial .ec-page-hero--premium .ec-breadcrumb a,
body.ec-service-detail-editorial .ec-page-hero--premium .ec-breadcrumb span { color: rgba(255,255,255,.72); }
body.ec-service-detail-editorial .ec-page-hero--premium .ec-breadcrumb span:last-child { color: var(--sd-green); }
body.ec-service-detail-editorial #svc-detail-title {
  max-width: 1100px;
  margin: 0 0 22px;
  color: #fff;
  font-size: clamp(3.4rem, 7.8vw, 7.4rem);
  font-weight: 800;
  line-height: .96;
  letter-spacing: -.065em;
  text-wrap: balance;
}
body.ec-service-detail-editorial #svc-detail-title .ec-section-label {
  margin-bottom: 24px !important;
  color: var(--sd-green) !important;
  font-size: .7rem !important;
  font-weight: 800;
  letter-spacing: .18em !important;
  text-transform: uppercase;
}
body.ec-service-detail-editorial #svc-detail-title .ec-highlight { color: var(--sd-green); background: none; -webkit-text-fill-color: currentColor; }
body.ec-service-detail-editorial #svc-detail-summary {
  max-width: 690px;
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  line-height: 1.8;
}

body.ec-service-detail-editorial [data-ec-page] > .ec-section { padding: clamp(64px, 8vw, 120px) 0; background: #fff; }
body.ec-service-detail-editorial #svc-detail-content,
body.ec-service-detail-editorial #svc-detail-capabilities,
body.ec-service-detail-editorial #svc-detail-cta { max-width: 1240px !important; margin-right: auto; margin-left: auto; }
body.ec-service-detail-editorial #service-engineering-hud {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: -142px auto 72px;
  border: 1px solid rgba(15,28,46,.1);
  background: #fff;
  box-shadow: 0 24px 70px rgba(15,28,46,.13);
}
body.ec-service-detail-editorial .ec-hud-tile { min-height: 150px; padding: 25px 24px; border-right: 1px solid var(--sd-line); background: #fff; }
body.ec-service-detail-editorial .ec-hud-tile:last-child { border-right: 0; }
body.ec-service-detail-editorial .ec-hud-tile__label { display: flex; align-items: center; gap: 8px; margin-bottom: 18px; color: #66717e; font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
body.ec-service-detail-editorial .ec-hud-tile__label svg { color: #6a9e28; }
body.ec-service-detail-editorial .ec-hud-tile__value { color: var(--sd-navy); font-size: 1rem; font-weight: 800; line-height: 1.35; }
body.ec-service-detail-editorial .ec-hud-tile__sub { margin-top: 8px; color: var(--sd-muted); font-size: .76rem; line-height: 1.5; }

body.ec-service-detail-editorial .ec-tech-card {
  border: 1px solid var(--sd-line) !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.ec-service-detail-editorial .ec-tech-card:hover { transform: none; box-shadow: 0 14px 34px rgba(15,28,46,.08) !important; }
body.ec-service-detail-editorial .ec-tech-card__header { padding: 24px 28px 20px; border-bottom: 1px solid var(--sd-line); }
body.ec-service-detail-editorial .ec-tech-card__icon { color: #689b2b; background: rgba(125,191,42,.12); }
body.ec-service-detail-editorial .ec-tech-card__title { color: var(--sd-navy); font-weight: 800; letter-spacing: -.02em; }
body.ec-service-detail-editorial .ec-tech-card__body { padding: 24px 28px; color: #505a66; font-size: 1rem; line-height: 1.85; }
body.ec-service-detail-editorial #svc-detail-content > div[style*="display:grid"] > .ec-tech-card { min-height: 220px; }
body.ec-service-detail-editorial #svc-detail-content > div[style*="display:grid"] > .ec-tech-card h3 { color: var(--sd-navy) !important; font-weight: 800; }
body.ec-service-detail-editorial .ec-hardware-chip { border: 1px solid #dce2e7; border-radius: 0; color: var(--sd-navy); background: #f7f8f9; font-weight: 700; }
body.ec-service-detail-editorial .ec-hardware-chip__dot { background: var(--sd-green); }
body.ec-service-detail-editorial .ec-faq-item { border: 0 !important; border-top: 1px solid var(--sd-line) !important; border-radius: 0 !important; background: transparent !important; }
body.ec-service-detail-editorial .ec-faq-item:last-child { border-bottom: 1px solid var(--sd-line) !important; }
body.ec-service-detail-editorial .ec-faq-question { padding: 22px 8px !important; color: var(--sd-navy) !important; }
body.ec-service-detail-editorial .ec-faq-answer { padding-left: 8px !important; padding-right: 8px !important; }

body.ec-service-detail-editorial .ec-cta-banner,
body.ec-service-detail-editorial #svc-detail-cta .ec-cta-banner {
  border-radius: 0 !important;
  border-left: 5px solid var(--sd-green);
  background: var(--sd-navy) !important;
  text-align: left !important;
}
body.ec-service-detail-editorial .ec-cta-banner h3 { color: #fff !important; }
body.ec-service-detail-editorial .ec-cta-banner p { color: rgba(255,255,255,.72) !important; }
body.ec-service-detail-editorial #svc-detail-cta .ec-cta-banner > span { color: var(--sd-green) !important; background: rgba(125,191,42,.1) !important; border-color: rgba(125,191,42,.35) !important; }
body.ec-service-detail-editorial #svc-detail-cta .ec-btn-primary,
body.ec-service-detail-editorial #svc-detail-content .ec-btn-primary { color: var(--sd-navy) !important; background: var(--sd-green) !important; border-color: var(--sd-green) !important; box-shadow: none !important; }
body.ec-service-detail-editorial #svc-detail-cta .ec-btn,
body.ec-service-detail-editorial #svc-detail-content .ec-btn { border-radius: 0; font-weight: 800; letter-spacing: .04em; }
body.ec-service-detail-editorial .ec-page-cta { padding: 72px 0; background: #f5f6f7; }
body.ec-service-detail-editorial .ec-page-cta h2 { color: var(--sd-navy); }
body.ec-service-detail-editorial .ec-page-cta .ec-btn-primary { color: var(--sd-navy); background: var(--sd-green); border-color: var(--sd-green); }

/* Software page has bespoke product cards and inline brand colors. */
body.ec-service-detail-editorial #svc-detail-content > .ec-card[style*="linear-gradient"] {
  border: 1px solid var(--sd-line) !important;
  border-top: 4px solid var(--sd-green) !important;
  border-radius: 0 !important;
  box-shadow: 0 20px 54px rgba(15,28,46,.1) !important;
}
body.ec-service-detail-editorial #svc-detail-content > .ec-card[style*="linear-gradient"] a.ec-btn-primary { color: var(--sd-navy) !important; background: var(--sd-green) !important; box-shadow: none !important; }

@media (max-width: 900px) {
  body.ec-service-detail-editorial #service-engineering-hud { grid-template-columns: repeat(2, minmax(0,1fr)); margin-top: -90px; margin-bottom: 52px; }
  body.ec-service-detail-editorial .ec-hud-tile:nth-child(2) { border-right: 0; }
  body.ec-service-detail-editorial .ec-hud-tile:nth-child(-n+2) { border-bottom: 1px solid var(--sd-line); }
}
@media (max-width: 600px) {
  body.ec-service-detail-editorial .ec-page-hero--premium { min-height: 640px; padding: 124px 0 58px; background-image: linear-gradient(90deg, rgba(7,17,31,.9), rgba(7,17,31,.52)), linear-gradient(0deg, rgba(7,17,31,.5), transparent 70%), var(--ec-hero-bg) !important; background-position: center, center, 58% center; }
  body.ec-service-detail-editorial .ec-page-hero--premium .ec-container { width: calc(100% - 40px); }
  body.ec-service-detail-editorial .ec-page-hero--premium .ec-breadcrumb { margin-bottom: 24px; }
  body.ec-service-detail-editorial #svc-detail-title { font-size: clamp(3rem, 14vw, 4.6rem); }
  body.ec-service-detail-editorial [data-ec-page] > .ec-section > .ec-container { width: calc(100% - 40px); }
  body.ec-service-detail-editorial #service-engineering-hud { margin-top: -46px; margin-bottom: 42px; }
  body.ec-service-detail-editorial .ec-hud-tile { min-height: 0; padding: 17px 14px; }
  body.ec-service-detail-editorial .ec-hud-tile__label { font-size: .58rem; }
  body.ec-service-detail-editorial .ec-hud-tile__value { font-size: .86rem; }
  body.ec-service-detail-editorial #svc-detail-content > div[style*="display:grid"] { grid-template-columns: 1fr !important; }
  body.ec-service-detail-editorial #svc-detail-content > div[style*="display:grid"] > .ec-tech-card { min-height: 0; }
  body.ec-service-detail-editorial .ec-tech-card__header { padding: 19px 18px 16px; }
  body.ec-service-detail-editorial .ec-tech-card__body { padding: 18px; }
  body.ec-service-detail-editorial #svc-detail-cta .ec-cta-banner { padding: 28px 22px !important; }
  body.ec-service-detail-editorial #svc-detail-cta .ec-cta-banner > div:last-child { justify-content: flex-start !important; }
  body.ec-service-detail-editorial #svc-detail-content > .ec-card { padding: 24px !important; }
  body.ec-service-detail-editorial #svc-detail-content > .ec-card h2 { font-size: 1.35rem !important; }
}
