/* DEC / Services page. Scope everything to .dec-svc-page so other pages do not change. */
#main .dec-svc-page,
#main .dec-svc-page * { box-sizing: border-box; }
#main .dec-svc-page { color:#08294d; background:#fff; font-family: Inter, 'Segoe UI', Arial, sans-serif; }
#main .dec-svc-page .container-page { width:100%; max-width:1500px; box-sizing:border-box; padding-inline:clamp(18px,3.8vw,64px); margin-inline:auto; }
#main .dec-svc-page a { text-decoration:none; }
#main .dec-svc-eyebrow { display:block; color:#185b9b; text-transform:uppercase; letter-spacing:.25em; font-size:10px; line-height:1.35; font-weight:600; }

/* Compact split-image hero. The image and fade are independent of the text layout. */
#main .dec-svc-hero { position:relative; display:flex; overflow:hidden; isolation:isolate; min-height:310px; background:#f3f9fe; }
#main .dec-svc-hero-photo { position:absolute; z-index:0; top:0; right:0; width:61%; height:100%; object-fit:cover; object-position:50% 43%; }
#main .dec-svc-hero::before { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(90deg,#f5faff 0%,#f5faff 31%,rgba(245,250,255,.96) 35%,rgba(245,250,255,.75) 43%,rgba(245,250,255,.25) 51%,rgba(245,250,255,0) 63%); }
#main .dec-svc-hero-inner { display:flex; flex-direction:column; justify-content:center; gap:0; position:relative; z-index:2; padding-block:26px 17px; }
#main .dec-svc-hero-copy { width:min(46%,460px); min-width:0; }
#main .dec-svc-hero h1 { margin:4px 0 3px; color:#08294d; font-size:clamp(38px,4.9vw,58px); font-weight:730; letter-spacing:-.04em; line-height:1.05; }
#main .dec-svc-hero h2 { margin:2px 0 0; color:#092748; font-size:clamp(15px,1.65vw,19px); font-weight:620; letter-spacing:-.021em; line-height:1.18; }
#main .dec-svc-hero p { margin:10px 0 0; color:#334257; font-size:clamp(11px,1.1vw,13px); font-weight:400; line-height:1.48; max-width:500px; }
#main .dec-svc-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:13px; }
#main .dec-svc-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:34px; padding:8px 17px; border-radius:3px; border:1px solid #092d53; font-size:11px; font-weight:570; line-height:1.2; color:#0a315b; white-space:normal; text-align:center; transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease; }
#main .dec-svc-btn-primary { background:#082e56; border-color:#082e56; color:#fff; }
#main .dec-svc-btn-outline { background:rgba(255,255,255,.91); }
#main .dec-svc-btn-primary:hover { background:#175685; color:#fff; }
#main .dec-svc-btn-outline:hover { background:#e9f4ff; }
#main .dec-svc-btn:focus-visible,#main .dec-svc-page a:focus-visible,#main .dec-svc-page summary:focus-visible { outline:3px solid #3999da; outline-offset:3px; }
#main .dec-svc-benefits { display:grid; grid-template-columns:repeat(4,minmax(0,auto)); justify-content:start; align-items:center; gap:clamp(14px,1.8vw,28px); margin-top:21px; width:min(58%,590px); }
#main .dec-svc-benefit { display:flex; align-items:center; gap:7px; min-width:0; color:#092b52; }
#main .dec-svc-benefit svg { flex:0 0 22px; width:22px; height:22px; stroke-width:2.35; }
#main .dec-svc-benefit span { font-size:clamp(9px,.75vw,11px); line-height:1.15; font-weight:560; white-space:nowrap; }

/* Catalogue: 4 cards followed by 3 wider cards when 7 services are published. */
#main .dec-svc-catalogue { padding-block:18px 25px; }
#main .dec-svc-catalogue-heading { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); align-items:end; gap:clamp(16px,2.1vw,35px); margin-bottom:15px; }
#main .dec-svc-catalogue-heading h2 { margin:4px 0 0; font-size:clamp(16px,1.53vw,24px); font-weight:650; color:#08294d; line-height:1.2; letter-spacing:-.028em; }
#main .dec-svc-catalogue-heading > p { margin:0 0 1px; font-size:clamp(10.5px,.9vw,12.5px); line-height:1.43; color:#48596a; font-weight:400; }
#main .dec-svc-filter { margin:-5px 0 14px; color:#17486f; font-size:11px; }
#main .dec-svc-filter summary { display:inline-flex; align-items:center; gap:8px; cursor:pointer; padding:5px 0; color:#1e5c8f; font-size:11px; font-weight:560; }
#main .dec-svc-filter-active { color:#566e82; font-size:10px; }
#main .dec-svc-filter-links { display:flex; flex-wrap:wrap; gap:6px; padding:7px 0 5px; }
#main .dec-svc-filter-links a { display:inline-flex; align-items:center; gap:4px; padding:6px 10px; border:1px solid #d9e6f0; border-radius:3px; background:#fff; color:#244d73; font-size:11px; }
#main .dec-svc-filter-links a.is-active { background:#092e57; border-color:#092e57; color:#fff; }
#main .dec-svc-filter-links small { font-size:10px; opacity:.75; }
#main .dec-svc-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:12px 14px; align-items:stretch; }
#main .dec-svc-card { min-width:0; grid-column:span 3; background:#fff; border:1px solid #e0e7f0; border-radius:4px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 2px 9px rgba(11,43,81,.025); transition:box-shadow .18s ease,transform .18s ease; }
#main .dec-svc-grid--seven .dec-svc-card:nth-child(n+5) { grid-column:span 4; }
#main .dec-svc-card:hover { box-shadow:0 9px 22px rgba(11,43,81,.11); transform:translateY(-2px); }
#main .dec-svc-card-image { display:block; height:clamp(104px,11vw,145px); flex:none; background:#dfeaf3; overflow:hidden; }
#main .dec-svc-card-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .2s ease; }
#main .dec-svc-card:hover .dec-svc-card-image img { transform:scale(1.025); }
#main .dec-svc-card-content { display:grid; grid-template-columns:30px minmax(0,1fr); gap:9px; padding:9px 10px 9px; flex:1; }
#main .dec-svc-card-icon { display:flex; justify-content:center; align-items:center; width:29px; height:29px; flex:none; background:#eaf3fb; border-radius:50%; color:#082e57; }
#main .dec-svc-card-icon svg { width:20px; height:20px; stroke-width:2.1; }
#main .dec-svc-card-text { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
#main .dec-svc-card h3 { margin:0 0 5px; font-size:clamp(11.5px,1.02vw,14px); line-height:1.22; font-weight:660; letter-spacing:-.015em; }
#main .dec-svc-card h3 a { color:#0a294f; }
#main .dec-svc-card p { flex:1; width:100%; margin:0; color:#495766; font-size:clamp(9.8px,.81vw,12px); line-height:1.35; font-weight:400; }
#main .dec-svc-card-link { display:inline-flex; align-items:center; gap:7px; margin-top:6px; color:#072e59; font-size:clamp(10.7px,.85vw,12px); line-height:1.25; font-weight:670; }
#main .dec-svc-card-link:hover,#main .dec-svc-card h3 a:hover { color:#1d6fad; }
#main .dec-svc-pagination { margin-top:23px; }
#main .dec-svc-empty { background:#f5f9fc; border:1px solid #e1ebf3; border-radius:4px; padding:28px; }
#main .dec-svc-empty h3 { font-size:20px; margin:0 0 8px; font-weight:650; }
#main .dec-svc-empty p { font-size:13px; color:#4e6379; margin:0 0 18px; }

@media(min-width:1500px){
  #main .dec-svc-hero { min-height:370px; }
  #main .dec-svc-hero-inner { padding-block:37px 25px; }
  #main .dec-svc-benefits { margin-top:27px; }
  #main .dec-svc-card-image { height:155px; }
}
@media(max-width:1100px) and (min-width:761px){
  #main .dec-svc-hero-copy { width:47%; }
  #main .dec-svc-hero { min-height:310px; }
  #main .dec-svc-benefits { width:58%; gap:11px; }
  #main .dec-svc-benefit svg { width:19px; height:19px; flex-basis:19px; }
}
@media(max-width:760px){
  #main .dec-svc-hero { display:flex; flex-direction:column; min-height:0; }
  #main .dec-svc-hero-photo { position:relative; order:2; height:clamp(185px,38vw,255px); width:100%; object-position:55% 39%; z-index:auto; }
  #main .dec-svc-hero::before { display:none; }
  #main .dec-svc-hero-inner { order:1; padding-block:29px 24px; }
  #main .dec-svc-hero-copy { width:100%; max-width:610px; }
  #main .dec-svc-hero h1 { font-size:clamp(37px,7vw,49px); }
  #main .dec-svc-hero h2 { font-size:clamp(15px,2.55vw,19px); }
  #main .dec-svc-hero p { font-size:12px; line-height:1.52; max-width:570px; }
  #main .dec-svc-benefits { width:100%; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:21px; }
  #main .dec-svc-benefit { gap:6px; }
  #main .dec-svc-benefit span { font-size:10px; white-space:normal; }
  #main .dec-svc-catalogue { padding-top:27px; }
  #main .dec-svc-catalogue-heading { gap:10px; grid-template-columns:1fr; align-items:start; }
  #main .dec-svc-catalogue-heading h2 { font-size:clamp(20px,3.4vw,26px); }
  #main .dec-svc-catalogue-heading > p { font-size:12px; max-width:650px; }
  #main .dec-svc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  #main .dec-svc-card,#main .dec-svc-grid--seven .dec-svc-card:nth-child(n+5){grid-column:span 1;}
  #main .dec-svc-card-image { height:clamp(108px,21vw,160px); }
  #main .dec-svc-card-content { grid-template-columns:27px minmax(0,1fr); gap:8px; padding:10px; }
  #main .dec-svc-card-icon { width:27px; height:27px; }
  #main .dec-svc-card-icon svg { width:18px; height:18px; }
  #main .dec-svc-card h3 { font-size:13px; }
  #main .dec-svc-card p { font-size:11px; }
}
@media(max-width:490px){
  #main .dec-svc-page .container-page { padding-inline:17px; }
  #main .dec-svc-hero-inner { padding-block:24px 22px; }
  #main .dec-svc-desktop-only { display:none; }
  #main .dec-svc-hero h1 { font-size:41px; }
  #main .dec-svc-hero h2 { font-size:16px; max-width:380px; }
  #main .dec-svc-hero p { font-size:12px; }
  #main .dec-svc-btn { font-size:11px; min-height:37px; padding:9px 13px; }
  #main .dec-svc-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:14px; }
  #main .dec-svc-benefit span { font-size:11px; }
  #main .dec-svc-hero-photo { height:190px; }
  #main .dec-svc-catalogue { padding-block:24px; }
  #main .dec-svc-grid { grid-template-columns:1fr; }
  #main .dec-svc-card-image { height:170px; }
  #main .dec-svc-card-content { grid-template-columns:32px minmax(0,1fr); gap:11px; }
  #main .dec-svc-card-icon { width:31px; height:31px; }
  #main .dec-svc-card-icon svg { width:21px; height:21px; }
  #main .dec-svc-card h3 { font-size:14px; }
  #main .dec-svc-card p { font-size:12px; }
  #main .dec-svc-card-link { font-size:12px; }
}
@media(prefers-reduced-motion:reduce){
  #main .dec-svc-page .dec-svc-btn,#main .dec-svc-card,#main .dec-svc-card-image img { transition:none; }
  #main .dec-svc-card:hover,#main .dec-svc-card:hover .dec-svc-card-image img { transform:none; }
}

/* A slightly wider hero inset follows the supplied composition; other sections stay compact. */
#main .dec-svc-hero .container-page { padding-inline:clamp(18px,4.7vw,70px); }
@media(max-width:490px) { #main .dec-svc-hero .container-page { padding-inline:17px; } }


/* ---------------------------------------------------------------
   DEC Services / Reference Part 2.
   Only this page is affected. The shared partner strip, contact
   information, footer and the homepage/other-page CTAs stay as-is.
   --------------------------------------------------------------- */

/* The Services page owns its own CTA so the shared footer's generic
   CTA must not be shown a second time. Modern Chromium/Firefox/Safari
   support :has(); no JavaScript or modifications to the shared footer. */
body:has(#dec-services-page) #store-footer .dec-ref-footer-cta {
  display: none !important;
}

#main .dec-svc-page .dec-svc-why {
  background: linear-gradient(180deg,#eaf4fc 0%,#f1f8fd 100%);
  border-top: 1px solid #d8e8f4;
  border-bottom: 1px solid #e0edf5;
  padding-block: 16px 17px;
}
#main .dec-svc-why-heading { margin: 0 0 8px; }
#main .dec-svc-why-heading h2,
#main .dec-svc-process-heading h2 {
  margin: 3px 0 0;
  color: #092b50;
  font-size: clamp(17px, 1.45vw, 24px);
  font-weight: 630;
  letter-spacing: -.025em;
  line-height: 1.2;
}
#main .dec-svc-why-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: stretch;
  gap: 0;
}
#main .dec-svc-why-item {
  position: relative;
  min-width: 0;
  min-height: 105px;
  display: grid;
  grid-template-rows: 30px auto;
  justify-items: center;
  align-content: center;
  row-gap: 8px;
  padding: 11px 8px;
  color: #092647;
  text-align: center;
}
#main .dec-svc-why-item + .dec-svc-why-item::before {
  content: "";
  position: absolute;
  top: 22%;
  bottom: 22%;
  left: 0;
  width: 1px;
  background: #c6daeb;
}
#main .dec-svc-why-icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  flex: none;
  color: #082b52;
}
#main .dec-svc-why-icon svg {
  display: block;
  width: 26px;
  height: 26px;
  flex: none;
  overflow: visible;
}
#main .dec-svc-why-copy {
  display: block;
  min-width: 0;
  font-size: clamp(10.5px, .86vw, 12px);
  font-weight: 500;
  line-height: 1.26;
  overflow-wrap: break-word;
}
#main .dec-svc-why-number {
  display: block;
  margin: 0 0 3px;
  color: #082b52;
  font-size: clamp(18px, 1.48vw, 21px);
  font-weight: 650;
  line-height: 1;
}

#main .dec-svc-process { padding-block: 18px 24px; }
#main .dec-svc-process-heading { margin: 0 0 12px; }
#main .dec-svc-steps {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: clamp(17px, 2.6vw, 36px);
  row-gap: 14px;
  padding: 0;
  margin: 0;
}
#main .dec-svc-step {
  position: relative;
  display: grid;
  grid-template-columns: 29px minmax(0, 1fr);
  align-items: start;
  column-gap: 11px;
  min-width: 0;
  min-height: 127px;
  padding: 12px 11px;
  border: 1px solid #e0e8f0;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 2px 12px rgba(8,39,74,.025);
}
#main .dec-svc-step:not(:last-child)::after {
  content: "";
  position: absolute;
  z-index: 1;
  width: 12px;
  height: 12px;
  border-top: 1.8px solid #5397d2;
  border-right: 1.8px solid #5397d2;
  right: calc(clamp(17px, 2.6vw, 36px) / -2 - 4px);
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
#main .dec-svc-step-number {
  grid-column: 1;
  display: grid;
  place-items: center;
  flex: none;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #072e58;
  color: #fff;
  font-size: 11px;
  font-weight: 630;
  line-height: 1;
}
#main .dec-svc-step-body {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: 0;
}
#main .dec-svc-step-icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex: none;
  margin: 0 0 7px;
  color: #072e58;
}
#main .dec-svc-step-icon svg {
  display: block;
  width: 24px;
  height: 24px;
  flex: none;
  overflow: visible;
}
#main .dec-svc-step h3 {
  margin: 0 0 5px;
  color: #082a51;
  font-size: clamp(11px, .92vw, 13px);
  font-weight: 620;
  line-height: 1.24;
}
#main .dec-svc-step p {
  margin: 0;
  color: #455b70;
  font-size: clamp(10px, .78vw, 12px);
  font-weight: 400;
  line-height: 1.38;
}

#main .dec-svc-team-cta {
  position:relative; isolation:isolate; overflow:hidden;
  background:#062c53;
  border-top:1px solid #103c68;
}
#main .dec-svc-team-cta::before {
  content:"";position:absolute;z-index:0;inset:0;
  background:linear-gradient(90deg,rgba(4,34,64,.99) 0%,rgba(5,46,81,.93) 40%,rgba(7,49,84,.62) 100%),url('/images/dec-reference/industrial-evening.webp') right 51% / cover no-repeat;
  pointer-events:none;
}
#main .dec-svc-team-cta::after {
  content:"";position:absolute;z-index:0;right:0;top:0;bottom:0;
  width:min(32%,470px);
  background:url('/images/dec-reference/site-team.webp') center 45% / cover no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 22%,black 70%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 22%,black 70%);
  opacity:.85;pointer-events:none;
}
#main .dec-svc-team-cta-inner {
  position:relative;z-index:1;
  min-height:111px;display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(15px,2.5vw,30px);
  padding-block:16px;
}
#main .dec-svc-team-cta-copy { max-width:560px; min-width:0; }
#main .dec-svc-team-cta .dec-svc-eyebrow { color:#c2e0f5; }
#main .dec-svc-team-cta h2 {
  color:#fff;margin:4px 0 5px;
  font-size:clamp(19px,1.7vw,26px);font-weight:610;
  letter-spacing:-.023em;line-height:1.18;
}
#main .dec-svc-team-cta p {
  margin:0;color:#d6e5f2;font-weight:400;
  font-size:clamp(10.5px,.91vw,13px);line-height:1.43;
}
#main .dec-svc-team-cta-actions {display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;}
#main .dec-svc-team-cta .dec-svc-btn {min-height:38px;font-weight:560;white-space:nowrap;font-size:11px;}
#main .dec-svc-btn-light {background:#f5faff;color:#092c50;border-color:#e6f0f9;}
#main .dec-svc-btn-light:hover {background:#dcecf8;color:#092c50;}
#main .dec-svc-btn-glass {background:rgba(5,38,71,.72);color:#fff;border-color:#bbd5ed;}
#main .dec-svc-btn-glass:hover {background:#134b7d;color:#fff;}

@media(max-width:1100px){
  #main .dec-svc-why-item {padding-inline:6px;}
  #main .dec-svc-team-cta::after {opacity:.6;width:30%;}
  #main .dec-svc-team-cta-actions {margin-right:0;}
}
@media(max-width:810px){
  #main .dec-svc-why-grid {grid-template-columns:repeat(3,minmax(0,1fr));row-gap:14px;}
  #main .dec-svc-why-item:nth-child(4)::before {display:none;}
  #main .dec-svc-steps {grid-template-columns:repeat(2,minmax(0,1fr));}
  #main .dec-svc-step:nth-child(2)::after {display:none;}
  #main .dec-svc-team-cta-inner {grid-template-columns:1fr;gap:13px;}
  #main .dec-svc-team-cta-actions {justify-content:flex-start;}
  #main .dec-svc-team-cta::after {width:46%;opacity:.23;}
}
@media(max-width:500px){
  #main .dec-svc-why {padding-block:20px;}
  #main .dec-svc-why-grid {grid-template-columns:repeat(2,minmax(0,1fr));row-gap:9px;}
  #main .dec-svc-why-item:nth-child(4)::before {display:block;}
  #main .dec-svc-why-item:nth-child(odd)::before {display:none;}
  #main .dec-svc-why-item {padding-inline:8px;min-height:101px;}
  #main .dec-svc-why-icon {height:30px;}
  #main .dec-svc-steps {grid-template-columns:1fr;gap:10px;}
  #main .dec-svc-step {min-height:0;}
  #main .dec-svc-step::after {display:none!important;}
  #main .dec-svc-step-body {min-width:0;}
  #main .dec-svc-step h3 {font-size:13px;}
  #main .dec-svc-step p {font-size:11px;}
  #main .dec-svc-team-cta-inner {padding-block:22px;}
  #main .dec-svc-team-cta::after {width:60%;opacity:.18;}
  #main .dec-svc-team-cta p {font-size:12px;}
  #main .dec-svc-team-cta-actions {gap:9px;}
  #main .dec-svc-team-cta .dec-svc-btn {white-space:normal;min-height:40px;}
}
@media (prefers-reduced-motion:reduce) {
  #main .dec-svc-team-cta .dec-svc-btn {transition:none;}
}


/* DEC v24: service CTA aligned with the approved quotation CTA visual direction. */
#main .dec-svc-team-cta {
  background: #eff7ff;
  border-top: 1px solid #dceaf8;
}
#main .dec-svc-team-cta::before {
  background:
    linear-gradient(90deg, rgba(239,247,255,.95) 0%, rgba(239,247,255,.88) 40%, rgba(239,247,255,.52) 58%, rgba(239,247,255,.08) 78%),
    url('/images/dec-reference/quote-engineer.webp') center right / cover no-repeat;
}
#main .dec-svc-team-cta::after {
  display: none;
}
#main .dec-svc-team-cta-inner {
  min-height: 107px;
  grid-template-columns: minmax(0,1fr) auto;
  gap: clamp(16px,2.7vw,40px);
  padding-block: clamp(15px,1.8vw,23px);
}
#main .dec-svc-team-cta-copy {
  max-width: 490px;
}
#main .dec-svc-team-cta .dec-svc-eyebrow {
  color: #1d598d;
}
#main .dec-svc-team-cta h2 {
  margin: 0 0 5px;
  color: #0b2d53;
  font-size: clamp(18px,1.85vw,25px);
  font-weight: 570;
  line-height: 1.2;
  letter-spacing: -.027em;
}
#main .dec-svc-team-cta p {
  color: #526c85;
  max-width: 515px;
  font-size: clamp(11px,.95vw,13px);
  line-height: 1.5;
}
#main .dec-svc-team-cta-actions {
  justify-content: flex-end;
  gap: 9px;
  margin: 0 clamp(65px,9vw,130px) 0 0;
}
#main .dec-svc-team-cta .dec-svc-btn {
  min-height: 38px;
  padding: 9px 15px;
  border-radius: 2px;
  font-size: 11.5px;
  font-weight: 530;
}
#main .dec-svc-btn-light {
  background: #092f57;
  border-color: #092f57;
  color: #fff;
}
#main .dec-svc-btn-light:hover {
  background: #174e82;
  color: #fff;
}
#main .dec-svc-btn-glass {
  background: rgba(255,255,255,.86);
  border-color: #567b9c;
  color: #0b3159;
}
#main .dec-svc-btn-glass:hover {
  background: #fff;
  color: #0b3159;
}
@media (max-width: 1080px) {
  #main .dec-svc-team-cta-actions {
    margin-right: 32px;
  }
}
@media (max-width: 820px) {
  #main .dec-svc-team-cta-inner {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  #main .dec-svc-team-cta-actions {
    justify-content: flex-start;
    margin-right: 0;
  }
}
@media (max-width: 500px) {
  #main .dec-svc-team-cta-inner {
    min-height: 0;
    padding-block: 20px;
  }
}

/* DEC v25: preserve admin-entered text structure on the Services page. */
#main .dec-svc-page .dec-svc-managed-copy {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
#main .dec-svc-page .dec-svc-steps .dec-svc-step {
  grid-template-columns: minmax(0, 1fr);
}
#main .dec-svc-page .dec-svc-steps .dec-svc-step-body {
  grid-column: 1;
}
#main .dec-svc-page .dec-svc-step::after { display: none; }
#main .dec-svc-page .dec-svc-why-grid {
  align-items: stretch;
}

/* Exactly the image, fade and photo placement of the shared quotation CTA.
   The CSS variable is populated by the admin-managed Services CTA image. */
#main .dec-svc-team-cta {
  background: #edf6fe;
  border-top: 1px solid #dceaf6;
  color: #0b2d53;
}
#main .dec-svc-team-cta::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  inset: 0 0 0 auto;
  width: min(66%, 940px);
  background-image: var(--dec-svc-cta-image, url('/images/dec-reference/cta-refinery-engineer.webp'));
  background-position: 70% 46%;
  background-size: cover;
  background-repeat: no-repeat;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.25) 19%, #000 68%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.25) 19%, #000 68%);
  opacity: 1;
  pointer-events: none;
}
#main .dec-svc-team-cta::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  inset: 0;
  width: auto;
  background: linear-gradient(90deg,#edf6fe 0%,rgba(237,246,254,.92) 31%,rgba(237,246,254,.35) 65%,rgba(237,246,254,.04) 100%);
  opacity: 1;
  pointer-events: none;
}
#main .dec-svc-team-cta-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(16px,2.7vw,40px);
  min-height: 107px;
  padding-block: clamp(15px,1.8vw,23px);
}
#main .dec-svc-team-cta-copy { max-width: 490px; min-width: 0; }
#main .dec-svc-team-cta .dec-svc-eyebrow { color: #1d598d; }
#main .dec-svc-team-cta h2 {
  margin: 0 0 5px;
  font-size: clamp(18px,1.85vw,25px);
  font-weight: 570;
  letter-spacing: -.027em;
  line-height: 1.2;
  color: #0b2d53;
}
#main .dec-svc-team-cta p {
  margin: 0;
  max-width: 515px;
  color: #526c85;
  font-size: clamp(11px,.95vw,13px);
  line-height: 1.5;
}
#main .dec-svc-team-cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  margin: 0 clamp(65px,9vw,130px) 0 0;
}
#main .dec-svc-team-cta .dec-svc-btn {
  min-height: 44px;
  padding: 11px 20px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  border-radius: 3px;
  white-space: nowrap;
}
#main .dec-svc-btn-light { background: #0b315a; border-color: #0b315a; color: #fff; }
#main .dec-svc-btn-light:hover { background: #185684; color: #fff; }
#main .dec-svc-btn-glass { background: rgba(255,255,255,.91); border-color: #9ab2cb; color: #0b315a; }
#main .dec-svc-btn-glass:hover { background: #eaf4fd; color: #0b315a; }
@media (max-width: 1080px) {
  #main .dec-svc-team-cta-actions { margin-right: 32px; }
}
@media (max-width: 820px) {
  #main .dec-svc-team-cta-inner { grid-template-columns: 1fr; gap: 12px; }
  #main .dec-svc-team-cta-actions { justify-content: flex-start; margin: 0; }
  #main .dec-svc-team-cta::before { width: 100%; opacity: .55; background-position: 74% center; }
  #main .dec-svc-team-cta::after { background: linear-gradient(90deg, rgba(237,246,254,.98), rgba(237,246,254,.76)); }
}
@media (max-width: 480px) {
  #main .dec-svc-team-cta-inner { min-height: 0; padding-block: 20px; }
  #main .dec-svc-team-cta::before { opacity: .38; }
  #main .dec-svc-team-cta .dec-svc-btn { min-height: 44px; }
}
