/* CCM v87 — targeted polish for Services capability/journey sections and Contact final CTA.
   Loaded after v86. No content, service cards, images or admin behavior is changed. */

/* =========================================================
   SERVICES — shared geometry for the two requested sections
   ========================================================= */
.services-page-v18 > .services-catalog-section .services-operations-section,
.services-page-v18 > .services-journey-section{
  position:relative!important;
  overflow:hidden!important;
}

/* Campaign-Ready Capabilities: retain full-bleed light background, but align all inner content
   to the same site grid used by the following journey section. */
.services-page-v18 > .services-catalog-section .services-operations-section{
  width:100vw!important;
  max-width:none!important;
  margin:64px 0 -72px calc(50% - 50vw)!important;
  padding:82px max(28px,calc((100vw - 1450px)/2)) 84px!important;
  border:0!important;
  border-radius:0!important;
  background:
    radial-gradient(circle at 92% 10%,rgba(255,116,23,.085),transparent 24%),
    radial-gradient(circle at 5% 88%,rgba(16,72,121,.06),transparent 26%),
    linear-gradient(180deg,#fff 0%,#f7fafc 100%)!important;
}
.services-page-v18 > .services-catalog-section .services-operations-section:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(10,47,80,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(10,47,80,.026) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 88%);
}
.services-page-v18 > .services-catalog-section .services-operations-section > *{
  position:relative!important;
  z-index:1!important;
}
.services-page-v18 > .services-catalog-section .services-operations-heading{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:76px!important;
  row-gap:8px!important;
  align-items:end!important;
  width:100%!important;
  max-width:1450px!important;
  margin:0 auto 38px!important;
  text-align:left!important;
}
.services-page-v18 > .services-catalog-section .services-operations-heading .services-eyebrow{
  grid-column:1!important;
  grid-row:1!important;
  margin:0 0 5px!important;
}
.services-page-v18 > .services-catalog-section .services-operations-heading h2{
  grid-column:1!important;
  grid-row:2!important;
  max-width:760px!important;
  margin:0!important;
  font-size:clamp(34px,3vw,46px)!important;
  line-height:1.08!important;
  letter-spacing:-.04em!important;
}
.services-page-v18 > .services-catalog-section .services-operations-heading p{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  align-self:end!important;
  max-width:560px!important;
  margin:0 0 4px!important;
  font-size:12px!important;
  line-height:1.8!important;
}
.services-page-v18 > .services-catalog-section .services-operations-grid{
  width:100%!important;
  max-width:1450px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.services-page-v18 > .services-catalog-section .services-operations-grid article{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  min-height:210px!important;
  padding:26px 25px 25px!important;
  border-radius:18px!important;
  border:1px solid #dde6ed!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 12px 34px rgba(7,25,45,.065)!important;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease!important;
}
.services-page-v18 > .services-catalog-section .services-operations-grid article:hover{
  transform:translateY(-4px)!important;
  border-color:rgba(255,116,23,.38)!important;
  box-shadow:0 20px 44px rgba(7,25,45,.105)!important;
}
.services-page-v18 > .services-catalog-section .services-operations-grid article>span{
  flex:0 0 auto!important;
  width:46px!important;
  height:46px!important;
  margin:0 0 18px!important;
  border-radius:13px!important;
  background:linear-gradient(145deg,#fff4eb,#ffe9d8)!important;
  border:1px solid rgba(255,116,23,.18)!important;
  color:#f2711c!important;
}
.services-page-v18 > .services-catalog-section .services-operations-grid h3{
  margin:0 0 9px!important;
  font-size:17px!important;
  line-height:1.28!important;
  color:#102941!important;
}
.services-page-v18 > .services-catalog-section .services-operations-grid p{
  margin:0!important;
  font-size:11.2px!important;
  line-height:1.72!important;
  color:#667989!important;
}
.services-page-v18 > .services-catalog-section .services-industry-strip{
  width:100%!important;
  max-width:1450px!important;
  margin:20px auto 0!important;
  padding:18px 20px!important;
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  align-items:center!important;
  gap:20px!important;
  border:1px solid #dde6ed!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 8px 24px rgba(7,25,45,.035)!important;
}
.services-page-v18 > .services-catalog-section .services-industry-strip>span{
  margin:0!important;
  white-space:nowrap!important;
  color:#536779!important;
}
.services-page-v18 > .services-catalog-section .services-industry-strip>div{
  justify-content:flex-start!important;
}
.services-page-v18 > .services-catalog-section .services-industry-strip b{
  padding:7px 11px!important;
  background:#fff!important;
  border-color:#dfe7ed!important;
  color:#29435a!important;
}

/* Where Each Service Fits: dark section, matched alignment and more disciplined cards. */
.services-page-v18 > .services-journey-section{
  padding:84px 0!important;
  background:
    radial-gradient(circle at 88% 16%,rgba(55,126,190,.24),transparent 29%),
    radial-gradient(circle at 7% 88%,rgba(255,116,23,.10),transparent 25%),
    linear-gradient(140deg,#041426 0%,#071f38 58%,#082b49 100%)!important;
}
.services-page-v18 > .services-journey-section:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.58),transparent 92%);
}
.services-page-v18 > .services-journey-section>.wrap{
  position:relative!important;
  z-index:2!important;
  max-width:1450px!important;
}
.services-page-v18 > .services-journey-section .services-heading-row{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr)!important;
  gap:76px!important;
  align-items:end!important;
  margin:0 0 40px!important;
}
.services-page-v18 > .services-journey-section .services-heading-row>div{
  min-width:0!important;
}
.services-page-v18 > .services-journey-section .services-heading-row .services-eyebrow{
  margin-bottom:12px!important;
}
.services-page-v18 > .services-journey-section .services-heading-row h2{
  max-width:760px!important;
  margin:0!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:clamp(34px,3vw,46px)!important;
  line-height:1.08!important;
  letter-spacing:-.04em!important;
}
.services-page-v18 > .services-journey-section .services-heading-row h2 strong{
  color:#ff9149!important;
  -webkit-text-fill-color:#ff9149!important;
}
.services-page-v18 > .services-journey-section .services-heading-row>p{
  max-width:560px!important;
  margin:0 0 4px!important;
  color:#b9c8d5!important;
  -webkit-text-fill-color:#b9c8d5!important;
  font-size:12px!important;
  line-height:1.8!important;
}
.services-page-v18 > .services-journey-section .services-journey-track{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.services-page-v18 > .services-journey-section .services-journey-track:before{
  left:7.5%!important;
  right:7.5%!important;
  top:30px!important;
  background:linear-gradient(90deg,rgba(255,145,73,.10),rgba(255,145,73,.62),rgba(255,145,73,.10))!important;
}
.services-page-v18 > .services-journey-section .services-journey-track>article{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
.services-page-v18 > .services-journey-section .services-journey-marker{
  min-height:62px!important;
  margin:0 0 17px!important;
}
.services-page-v18 > .services-journey-section .services-journey-marker span{
  width:60px!important;
  height:60px!important;
  flex:0 0 60px!important;
  background:#071b31!important;
  border-color:rgba(255,145,73,.48)!important;
  color:#ff9149!important;
  box-shadow:0 0 0 7px rgba(255,145,73,.045)!important;
}
.services-page-v18 > .services-journey-section .services-journey-card{
  flex:1 1 auto!important;
  min-height:270px!important;
  padding:25px 23px 23px!important;
  display:flex!important;
  flex-direction:column!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.045))!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.10)!important;
  backdrop-filter:blur(7px)!important;
}
.services-page-v18 > .services-journey-section .services-journey-card:hover{
  transform:translateY(-4px)!important;
  background:rgba(255,255,255,.085)!important;
  border-color:rgba(255,145,73,.38)!important;
  box-shadow:0 20px 40px rgba(0,0,0,.18)!important;
}
.services-page-v18 > .services-journey-section .services-journey-card small{
  margin-bottom:9px!important;
  color:#ff9149!important;
}
.services-page-v18 > .services-journey-section .services-journey-card h3{
  min-height:40px!important;
  margin:0 0 10px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:16px!important;
  line-height:1.28!important;
}
.services-page-v18 > .services-journey-section .services-journey-card p{
  margin:0 0 18px!important;
  color:#b9c8d5!important;
  -webkit-text-fill-color:#b9c8d5!important;
  font-size:10.6px!important;
  line-height:1.72!important;
}
.services-page-v18 > .services-journey-section .services-journey-card>div{
  margin-top:auto!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}
.services-page-v18 > .services-journey-section .services-journey-card>div span{
  padding:6px 9px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.065)!important;
  border:1px solid rgba(255,255,255,.11)!important;
  color:#e1e9ef!important;
  font-size:8px!important;
  line-height:1.15!important;
}

/* ==========================================
   CONTACT — final quick-contact section DARK
   ========================================== */
.contact-conversion-page > #quick-contact{
  position:relative!important;
  overflow:hidden!important;
  padding:64px 0!important;
  background:
    radial-gradient(circle at 88% 16%,rgba(52,126,193,.24),transparent 30%),
    radial-gradient(circle at 6% 88%,rgba(255,116,23,.10),transparent 24%),
    linear-gradient(140deg,#041426 0%,#071f38 58%,#082b49 100%)!important;
  color:#fff!important;
  border-top:1px solid rgba(255,255,255,.07)!important;
  border-bottom:0!important;
}
.contact-conversion-page > #quick-contact:before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  width:420px!important;
  height:420px!important;
  right:-190px!important;
  top:-230px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(255,116,23,.17),transparent 68%)!important;
  pointer-events:none!important;
}
.contact-conversion-page > #quick-contact .cta-grid{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:42px!important;
  min-height:0!important;
}
.contact-conversion-page > #quick-contact .cta-grid>div:first-child{
  max-width:780px!important;
  padding:0!important;
}
.contact-conversion-page > #quick-contact .cta-grid h2{
  margin:0 0 10px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:none!important;
  font-size:clamp(30px,2.5vw,40px)!important;
  line-height:1.1!important;
  letter-spacing:-.035em!important;
}
.contact-conversion-page > #quick-contact .cta-grid p{
  margin:0!important;
  max-width:690px!important;
  color:#c3d0db!important;
  -webkit-text-fill-color:#c3d0db!important;
  font-size:12.5px!important;
  line-height:1.75!important;
}
.contact-conversion-page > #quick-contact .cta-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}
.contact-conversion-page > #quick-contact .cta-actions .btn{
  min-height:50px!important;
  padding:0 22px!important;
  border-radius:10px!important;
}
.contact-conversion-page > #quick-contact .btn-ghost{
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.55)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.contact-conversion-page > #quick-contact .btn-ghost:hover,
.contact-conversion-page > #quick-contact .btn-ghost:focus{
  background:#fff!important;
  border-color:#fff!important;
  color:#08243d!important;
  -webkit-text-fill-color:#08243d!important;
}

/* =====================
   Responsive refinements
   ===================== */
@media(max-width:1199px){
  .services-page-v18 > .services-catalog-section .services-operations-heading,
  .services-page-v18 > .services-journey-section .services-heading-row{
    grid-template-columns:minmax(0,1fr) minmax(280px,.78fr)!important;
    gap:46px!important;
  }
  .services-page-v18 > .services-journey-section .services-journey-track{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px!important;
  }
  .services-page-v18 > .services-journey-section .services-journey-track:before{display:none!important}
}
@media(max-width:991px){
  .services-page-v18 > .services-catalog-section .services-operations-section{
    padding-left:28px!important;
    padding-right:28px!important;
  }
  .services-page-v18 > .services-catalog-section .services-operations-heading,
  .services-page-v18 > .services-journey-section .services-heading-row{
    grid-template-columns:1fr!important;
    gap:14px!important;
    align-items:start!important;
  }
  .services-page-v18 > .services-catalog-section .services-operations-heading p{
    grid-column:1!important;
    grid-row:3!important;
    max-width:760px!important;
    margin-top:4px!important;
  }
  .services-page-v18 > .services-catalog-section .services-operations-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .contact-conversion-page > #quick-contact .cta-grid{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .contact-conversion-page > #quick-contact .cta-actions{justify-content:flex-start!important}
}
@media(max-width:767px){
  .services-page-v18 > .services-catalog-section .services-operations-section{
    margin-top:42px!important;
    margin-bottom:-48px!important;
    padding:58px 18px 60px!important;
  }
  .services-page-v18 > .services-catalog-section .services-operations-heading,
  .services-page-v18 > .services-journey-section .services-heading-row{
    margin-bottom:28px!important;
  }
  .services-page-v18 > .services-catalog-section .services-operations-heading h2,
  .services-page-v18 > .services-journey-section .services-heading-row h2{
    font-size:31px!important;
  }
  .services-page-v18 > .services-catalog-section .services-operations-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .services-page-v18 > .services-catalog-section .services-operations-grid article{
    min-height:0!important;
    padding:22px 20px!important;
  }
  .services-page-v18 > .services-catalog-section .services-industry-strip{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:16px!important;
  }
  .services-page-v18 > .services-catalog-section .services-industry-strip>span{white-space:normal!important}
  .services-page-v18 > .services-journey-section{padding:58px 0!important}
  .services-page-v18 > .services-journey-section .services-journey-track{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .services-page-v18 > .services-journey-section .services-journey-card{
    min-height:0!important;
    padding:22px 20px!important;
  }
  .services-page-v18 > .services-journey-section .services-journey-card h3{min-height:0!important}
  .contact-conversion-page > #quick-contact{padding:50px 0!important}
  .contact-conversion-page > #quick-contact .cta-grid{gap:20px!important}
  .contact-conversion-page > #quick-contact .cta-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  .contact-conversion-page > #quick-contact .cta-actions .btn{
    width:100%!important;
    justify-content:center!important;
  }
}
