/* ============================================================
   ITMAGIX — CUSTOM CRM / ERP DETAIL PAGE
   Independent page stylesheet
   Namespace: cerp-*
   ============================================================ */

.custom-crm-erp-page {
  --cerp-navy:#0A3161;
  --cerp-red:#B31942;
  --cerp-blue:#79B8EF;
  --cerp-ink:#142A3C;
  --cerp-muted:#667782;
  --cerp-line:#DCE5EA;
  --cerp-soft:#F5F8FA;
  --cerp-dark:#16354E;
}

/* H1 SAFETY */
.custom-crm-erp-page h1.inner-page-title {
  max-width:720px;
  font-size:clamp(2.65rem,4.2vw,4.1rem) !important;
  line-height:1.01;
  letter-spacing:-.042em;
}

/* HERO */
.cerp-hero {
  background:linear-gradient(180deg,#F8FAFC 0%,#F3F7F9 100%);
}

.cerp-hero-stage {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(470px,1fr);
  min-height:670px;
  overflow:hidden;
  border:1px solid #DDE6EC;
  border-radius:22px;
  background:#fff;
  box-shadow:0 25px 68px rgba(18,44,66,.09);
}

.cerp-hero-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(2rem,4.2vw,3.8rem);
}

.cerp-hero-copy .inner-page-lead {
  max-width:620px;
  color:#647681;
  font-size:clamp(.95rem,1.25vw,1.08rem);
  line-height:1.7;
}

.cerp-hero-proof {
  display:flex;
  flex-wrap:wrap;
  gap:.42rem;
  margin-top:1.5rem;
}

.cerp-hero-proof span {
  padding:.4rem .58rem;
  color:#5B6D79;
  font-size:.57rem;
  font-weight:760;
  border:1px solid #D7E1E7;
  border-radius:999px;
  background:#F8FAFB;
}

.cerp-hero-visual {
  position:relative;
  min-height:670px;
  overflow:hidden;
  background:#0B2840;
}

.cerp-hero-visual > img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.cerp-hero-shade {
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(7,28,46,.04) 34%,rgba(7,28,46,.68) 100%),
    linear-gradient(90deg,rgba(7,28,46,.18),transparent 45%);
}

.cerp-hero-pipeline,
.cerp-hero-note {
  position:absolute;
  z-index:2;
  left:1.2rem;
  right:1.2rem;
  border:1px solid rgba(255,255,255,.16);
  border-radius:12px;
  background:rgba(8,34,55,.82);
  backdrop-filter:blur(9px);
}

.cerp-hero-pipeline {
  bottom:1.2rem;
  padding:.9rem 1rem;
}

.cerp-hero-pipeline small,
.cerp-hero-note small {
  display:block;
  margin-bottom:.35rem;
  color:#9FD0F4;
  font-size:.47rem;
  font-weight:850;
  letter-spacing:.13em;
}

.cerp-pipeline-row {
  display:flex;
  align-items:center;
  gap:.65rem;
  color:#fff;
}

.cerp-pipeline-row span {
  font-size:.67rem;
  font-weight:760;
}

.cerp-pipeline-row i {
  color:#80BDEB;
  font-size:.72rem;
}

.cerp-hero-note {
  top:1.2rem;
  left:auto;
  max-width:300px;
  padding:.85rem .95rem;
  background:rgba(179,25,66,.88);
}

.cerp-hero-note small {
  color:#FFDCE4;
}

.cerp-hero-note strong {
  color:#fff;
  font-size:.74rem;
  line-height:1.42;
}

/* PAGE NAV */
.cerp-page-nav {
  border-top:1px solid #E2E8EC;
  border-bottom:1px solid #E2E8EC;
  background:rgba(255,255,255,.96);
}

.cerp-page-nav .container-xl {
  display:flex;
  align-items:center;
  gap:1.45rem;
  min-height:58px;
  overflow-x:auto;
  scrollbar-width:none;
}

.cerp-page-nav .container-xl::-webkit-scrollbar {
  display:none;
}

.cerp-page-nav a {
  flex:0 0 auto;
  color:#596B78;
  font-size:.65rem;
  font-weight:780;
  text-decoration:none;
}

.cerp-page-nav a:hover {
  color:var(--cerp-navy);
}

.cerp-page-nav .cerp-page-nav-cta {
  margin-left:auto;
  padding:.5rem .78rem;
  color:#fff;
  border-radius:6px;
  background:var(--cerp-navy);
}

/* SHARED HEADS */
.cerp-services-head,
.cerp-dual-head,
.cerp-workflows-head,
.cerp-delivery-head,
.cerp-architecture-head,
.cerp-engagement-head,
.cerp-related-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.64fr);
  gap:clamp(2.5rem,6vw,6rem);
  align-items:end;
  margin-bottom:2rem;
}

.custom-crm-erp-page .section-title {
  max-width:800px;
}

/* SERVICES */
.cerp-services {
  background:#fff;
}

.cerp-services-stage {
  display:grid;
  grid-template-columns:minmax(420px,.9fr) minmax(0,1.1fr);
  gap:clamp(2.5rem,5vw,5rem);
  align-items:start;
}

.cerp-services-media {
  position:sticky;
  top:1.5rem;
  min-height:680px;
  overflow:hidden;
  border-radius:18px;
  background:#17344C;
}

.cerp-services-media > img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.cerp-services-media::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,31,49,.02) 42%,rgba(8,31,49,.78) 100%);
}

.cerp-services-media-copy {
  position:absolute;
  z-index:2;
  left:1.25rem;
  right:1.25rem;
  bottom:1.25rem;
}

.cerp-services-media-copy small {
  display:block;
  margin-bottom:.4rem;
  color:#9ECFF3;
  font-size:.48rem;
  font-weight:850;
  letter-spacing:.13em;
}

.cerp-services-media-copy strong {
  display:block;
  color:#fff;
  font-size:1.02rem;
  line-height:1.46;
}

.cerp-services-list {
  border-top:1px solid var(--cerp-line);
}

.cerp-services-list article {
  display:grid;
  grid-template-columns:42px 1fr;
  gap:1rem;
  padding:1.35rem 0;
  border-bottom:1px solid var(--cerp-line);
}

.cerp-services-list > article > span {
  color:var(--cerp-red);
  font-size:.65rem;
  font-weight:850;
  padding-top:.1rem;
}

.cerp-services-list article:nth-child(even) > span {
  color:var(--cerp-navy);
}

.cerp-services-list small {
  display:block;
  margin-bottom:.3rem;
  color:#86949E;
  font-size:.48rem;
  font-weight:850;
  letter-spacing:.12em;
}

.cerp-services-list h3 {
  margin:0 0 .38rem;
  color:var(--cerp-ink);
  font-size:.98rem;
  line-height:1.4;
}

.cerp-services-list p {
  margin:0;
  color:#6B7B86;
  font-size:.74rem;
  line-height:1.58;
}

/* CRM + ERP */
.cerp-dual {
  background:#F5F8FA;
  border-top:1px solid #E3EAEE;
  border-bottom:1px solid #E3EAEE;
}

.cerp-dual-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}

.cerp-dual-panel {
  overflow:hidden;
  border-radius:18px;
  background:#fff;
  box-shadow:0 16px 42px rgba(18,41,61,.06);
}

.cerp-dual-image {
  height:330px;
  overflow:hidden;
}

.cerp-dual-image img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .35s ease;
}

.cerp-dual-panel:hover .cerp-dual-image img {
  transform:scale(1.03);
}

.cerp-dual-copy {
  padding:1.25rem;
}

.cerp-dual-copy small {
  display:block;
  margin-bottom:.42rem;
  color:var(--cerp-red);
  font-size:.49rem;
  font-weight:850;
  letter-spacing:.12em;
}

.cerp-dual-erp .cerp-dual-copy small {
  color:var(--cerp-navy);
}

.cerp-dual-copy h3 {
  margin:0 0 .55rem;
  color:var(--cerp-ink);
  font-size:1.15rem;
  line-height:1.35;
}

.cerp-dual-copy p {
  margin:0;
  color:#697984;
  font-size:.75rem;
  line-height:1.6;
}

.cerp-dual-tags {
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin-top:1rem;
}

.cerp-dual-tags span {
  padding:.36rem .5rem;
  color:#5F707B;
  font-size:.55rem;
  font-weight:730;
  border:1px solid #DCE4E9;
  border-radius:999px;
  background:#F9FBFC;
}

.cerp-bridge {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  margin-top:1rem;
  padding:.9rem 1rem;
  border-top:1px solid #D9E2E7;
  border-bottom:1px solid #D9E2E7;
  color:#536573;
}

.cerp-bridge > span {
  color:var(--cerp-red);
  font-size:.66rem;
  font-weight:850;
}

.cerp-bridge > span:last-child {
  color:var(--cerp-navy);
}

.cerp-bridge strong {
  color:var(--cerp-ink);
  font-size:.72rem;
  text-align:center;
}

/* WORKFLOW GALLERY */
.cerp-workflows {
  background:#fff;
}

.cerp-workflow-gallery {
  display:grid;
  grid-template-columns:1.15fr .85fr .85fr 1.15fr;
  grid-template-rows:360px;
  gap:.8rem;
}

.cerp-workflow-tile {
  position:relative;
  overflow:hidden;
  color:#fff;
  text-decoration:none;
  border-radius:16px;
  background:#17324A;
}

.cerp-workflow-tile > img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .35s ease;
}

.cerp-workflow-tile::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,28,46,.03) 38%,rgba(7,28,46,.86) 100%);
}

.cerp-workflow-overlay {
  position:absolute;
  z-index:2;
  left:1rem;
  right:1rem;
  bottom:1rem;
  transform:translateY(24px);
  transition:transform .28s ease;
}

.cerp-workflow-overlay small {
  display:block;
  margin-bottom:.35rem;
  color:#9FD0F4;
  font-size:.46rem;
  font-weight:850;
  letter-spacing:.12em;
}

.cerp-workflow-overlay strong {
  display:block;
  color:#fff;
  font-size:.84rem;
  line-height:1.42;
}

.cerp-workflow-overlay span {
  display:block;
  margin-top:.55rem;
  color:#D2DEE6;
  font-size:.61rem;
  opacity:0;
  transition:opacity .28s ease;
}

.cerp-workflow-tile:hover > img {
  transform:scale(1.04);
}

.cerp-workflow-tile:hover .cerp-workflow-overlay {
  transform:translateY(0);
}

.cerp-workflow-tile:hover .cerp-workflow-overlay span {
  opacity:1;
}

/* WHEN IT FITS */
.cerp-fit {
  background:#F6F8FA;
  border-top:1px solid #E3E9ED;
  border-bottom:1px solid #E3E9ED;
}

.cerp-fit-stage {
  display:grid;
  grid-template-columns:minmax(420px,.9fr) minmax(0,1.1fr);
  gap:clamp(3rem,6vw,6rem);
  align-items:center;
}

.cerp-fit-media {
  min-height:560px;
  overflow:hidden;
  border-radius:20px;
  background:#17344C;
  box-shadow:0 20px 50px rgba(18,42,62,.10);
}

.cerp-fit-media img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.cerp-fit-copy .section-title {
  margin-bottom:1rem;
}

.cerp-fit-signals {
  margin-top:1.4rem;
  border-top:1px solid #D6E0E6;
}

.cerp-fit-signals article {
  display:grid;
  grid-template-columns:44px 1fr;
  gap:.9rem;
  padding:.9rem 0;
  border-bottom:1px solid #D6E0E6;
}

.cerp-fit-signals span {
  color:var(--cerp-red);
  font-size:.62rem;
  font-weight:850;
}

.cerp-fit-signals article:nth-child(even) span {
  color:var(--cerp-navy);
}

.cerp-fit-signals strong {
  color:var(--cerp-ink);
  font-size:.79rem;
  line-height:1.48;
}

.cerp-text-link {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  margin-top:1rem;
  color:var(--cerp-navy);
  font-size:.7rem;
  font-weight:800;
  text-decoration:none;
}

/* DELIVERY */
.cerp-delivery {
  background:#fff;
}

.cerp-delivery-layout {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
  gap:clamp(3rem,6vw,6rem);
  align-items:stretch;
}

.cerp-delivery-flow {
  border-top:1px solid #D9E2E7;
}

.cerp-delivery-flow article {
  display:grid;
  grid-template-columns:54px 1fr;
  gap:1rem;
  padding:1.2rem 0;
  border-bottom:1px solid #D9E2E7;
}

.cerp-delivery-flow > article > span {
  color:var(--cerp-red);
  font-size:.68rem;
  font-weight:850;
}

.cerp-delivery-flow article:nth-child(even) > span {
  color:var(--cerp-navy);
}

.cerp-delivery-flow small {
  display:block;
  margin-bottom:.32rem;
  color:#82909A;
  font-size:.48rem;
  font-weight:850;
  letter-spacing:.12em;
}

.cerp-delivery-flow h3 {
  margin:0 0 .35rem;
  color:var(--cerp-ink);
  font-size:.96rem;
  line-height:1.4;
}

.cerp-delivery-flow p {
  margin:0;
  color:#6A7A85;
  font-size:.74rem;
  line-height:1.58;
}

.cerp-delivery-visual {
  position:relative;
  min-height:600px;
  overflow:hidden;
  border-radius:20px;
  background:#17344C;
}

.cerp-delivery-visual > img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.cerp-delivery-visual::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,28,46,.02) 46%,rgba(7,28,46,.76) 100%);
}

.cerp-delivery-note {
  position:absolute;
  z-index:2;
  left:1.2rem;
  right:1.2rem;
  bottom:1.2rem;
  padding:1rem 1.05rem 1rem 1.15rem;
  border-left:3px solid var(--cerp-blue);
  background:rgba(8,34,55,.84);
  backdrop-filter:blur(8px);
}

.cerp-delivery-note small {
  display:block;
  margin-bottom:.35rem;
  color:#9ECFF3;
  font-size:.47rem;
  font-weight:850;
  letter-spacing:.12em;
}

.cerp-delivery-note strong {
  display:block;
  color:#fff;
  font-size:.82rem;
  line-height:1.48;
}

/* ARCHITECTURE */
.cerp-architecture {
  color:#fff;
  background:
    radial-gradient(circle at 85% 12%,rgba(121,184,239,.10),transparent 30%),
    linear-gradient(145deg,#1D3A53,#122C42);
}

.cerp-architecture .eyebrow {
  color:#9ACBF1;
}

.cerp-architecture .section-title {
  color:#fff;
}

.cerp-architecture .section-lead {
  color:#C7D4DD;
}

.cerp-architecture-stage {
  padding:1.25rem;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(6,27,44,.40);
}

.cerp-architecture-band {
  display:grid;
  grid-template-columns:1.3fr repeat(5,1fr);
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  overflow:hidden;
  background:rgba(8,35,56,.58);
}

.cerp-architecture-band small,
.cerp-architecture-band span {
  padding:.76rem .7rem;
  font-size:.54rem;
  font-weight:780;
  text-align:center;
}

.cerp-architecture-band small {
  color:#9BCBF1;
  letter-spacing:.11em;
}

.cerp-architecture-band span {
  color:#E4EDF2;
}

.cerp-architecture-band > * + * {
  border-left:1px solid rgba(255,255,255,.08);
}

.cerp-architecture-core {
  margin:1rem 0;
  padding:1.6rem 1.2rem;
  text-align:center;
  border:1px solid rgba(121,184,239,.25);
  border-radius:14px;
  background:rgba(10,49,80,.78);
}

.cerp-architecture-core small {
  display:block;
  margin-bottom:.4rem;
  color:#FF93AA;
  font-size:.49rem;
  font-weight:850;
  letter-spacing:.12em;
}

.cerp-architecture-core strong {
  display:block;
  color:#fff;
  font-size:1rem;
}

.cerp-architecture-core p {
  max-width:760px;
  margin:.5rem auto 0;
  color:#C3D0D9;
  font-size:.71rem;
  line-height:1.55;
}

.cerp-architecture-connect {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.cerp-architecture-connect article {
  padding:1rem;
}

.cerp-architecture-connect article + article {
  border-left:1px solid rgba(255,255,255,.08);
}

.cerp-architecture-connect small {
  display:block;
  margin-bottom:.34rem;
  color:#9ACBF1;
  font-size:.47rem;
  font-weight:850;
  letter-spacing:.11em;
}

.cerp-architecture-connect article:nth-child(even) small {
  color:#FF92AA;
}

.cerp-architecture-connect strong {
  color:#fff;
  font-size:.74rem;
}

/* WHY ITMAGIX */
.cerp-why {
  background:#F5F8FA;
  border-top:1px solid #E3EAEE;
  border-bottom:1px solid #E3EAEE;
}

.cerp-why-layout {
  display:grid;
  grid-template-columns:minmax(450px,1fr) minmax(0,1fr);
  gap:clamp(3rem,6vw,6rem);
  align-items:center;
}

.cerp-why-visual {
  position:relative;
  min-height:575px;
  overflow:hidden;
  border-radius:20px;
  background:#17344C;
}

.cerp-why-visual > img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.cerp-why-visual::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,31,49,.02) 45%,rgba(8,31,49,.74) 100%);
}

.cerp-why-callout {
  position:absolute;
  z-index:2;
  left:1.2rem;
  right:1.2rem;
  bottom:1.2rem;
  padding:1rem 1.05rem 1rem 1.15rem;
  border-left:3px solid var(--cerp-red);
  background:rgba(255,255,255,.94);
}

.cerp-why-callout small {
  display:block;
  margin-bottom:.35rem;
  color:var(--cerp-red);
  font-size:.47rem;
  font-weight:850;
  letter-spacing:.12em;
}

.cerp-why-callout strong {
  display:block;
  color:var(--cerp-ink);
  font-size:.82rem;
  line-height:1.48;
}

.cerp-why-list {
  margin-top:1.5rem;
  border-top:1px solid #D7E1E7;
}

.cerp-why-list article {
  display:grid;
  grid-template-columns:42px 1fr;
  gap:.9rem;
  padding:1rem 0;
  border-bottom:1px solid #D7E1E7;
}

.cerp-why-list i {
  color:var(--cerp-navy);
  font-size:1.05rem;
}

.cerp-why-list article:nth-child(even) i {
  color:var(--cerp-red);
}

.cerp-why-list strong {
  display:block;
  margin-bottom:.28rem;
  color:var(--cerp-ink);
  font-size:.82rem;
}

.cerp-why-list p {
  margin:0;
  color:#6B7B86;
  font-size:.71rem;
  line-height:1.56;
}

/* ENGAGEMENT */
.cerp-engagement {
  background:#fff;
}

.cerp-engagement-list {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--cerp-line);
  border-bottom:1px solid var(--cerp-line);
}

.cerp-engagement-list article {
  min-height:265px;
  padding:1.3rem 1.2rem;
}

.cerp-engagement-list article + article {
  border-left:1px solid var(--cerp-line);
}

.cerp-engagement-list span {
  display:block;
  margin-bottom:2rem;
  color:var(--cerp-red);
  font-size:.48rem;
  font-weight:850;
  letter-spacing:.12em;
}

.cerp-engagement-list article:nth-child(2) span {
  color:var(--cerp-navy);
}

.cerp-engagement-list h3 {
  margin:0 0 1rem;
  color:var(--cerp-ink);
  font-size:1rem;
  line-height:1.42;
}

.cerp-engagement-list a {
  color:var(--cerp-navy);
  font-size:.64rem;
  font-weight:800;
  text-decoration:none;
}

/* FAQ */
.cerp-questions {
  color:#fff;
  background:
    radial-gradient(circle at 86% 10%,rgba(179,25,66,.10),transparent 30%),
    linear-gradient(145deg,#1D3B54,#122B41);
}

.cerp-questions-layout {
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:clamp(3rem,7vw,7rem);
  align-items:start;
}

.cerp-questions .eyebrow {
  color:#9BCBF1;
}

.cerp-questions .section-title {
  color:#fff;
}

.cerp-questions .section-lead {
  color:#C5D2DB;
}

.cerp-text-link-light {
  color:#9BCBF1;
}

.cerp-faq {
  border-top:1px solid rgba(255,255,255,.14);
}

.cerp-faq details {
  border-bottom:1px solid rgba(255,255,255,.12);
}

.cerp-faq summary {
  position:relative;
  padding:1.15rem 2rem 1.15rem 0;
  color:#fff;
  font-size:.82rem;
  font-weight:740;
  cursor:pointer;
  list-style:none;
}

.cerp-faq summary::-webkit-details-marker {
  display:none;
}

.cerp-faq summary::after {
  content:"+";
  position:absolute;
  right:.2rem;
  top:50%;
  transform:translateY(-50%);
  color:#8FC7F1;
  font-size:1.25rem;
}

.cerp-faq details[open] summary::after {
  content:"–";
}

.cerp-faq p {
  max-width:760px;
  margin:-.1rem 0 1.15rem;
  color:#B8C8D2;
  font-size:.72rem;
  line-height:1.62;
}

/* RELATED BUILD PATHS — LOCKED IMAGE PATTERN */
.cerp-related {
  background:#F6F8FA;
  border-top:1px solid #E3E9ED;
}

.cerp-related-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
}

.cerp-related-card {
  overflow:hidden;
  color:inherit;
  text-decoration:none;
  border:1px solid #DCE4E9;
  border-radius:14px;
  background:#fff;
  transition:transform .2s ease,box-shadow .2s ease;
}

.cerp-related-card:hover {
  transform:translateY(-4px);
  box-shadow:0 16px 38px rgba(18,41,61,.09);
}

.cerp-related-thumb {
  height:165px;
  overflow:hidden;
  background:#E8EEF2;
}

.cerp-related-thumb img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .3s ease;
}

.cerp-related-card:hover .cerp-related-thumb img {
  transform:scale(1.035);
}

.cerp-related-copy {
  padding:1rem;
}

.cerp-related-copy > span {
  display:block;
  margin-bottom:.45rem;
  color:var(--cerp-red);
  font-size:.48rem;
  font-weight:850;
  letter-spacing:.12em;
}

.cerp-related-card:nth-child(even) .cerp-related-copy > span {
  color:var(--cerp-navy);
}

.cerp-related-copy h3 {
  margin:0 0 .42rem;
  color:var(--cerp-ink);
  font-size:.93rem;
  line-height:1.35;
}

.cerp-related-copy p {
  margin:0 0 .8rem;
  color:#6A7984;
  font-size:.71rem;
  line-height:1.55;
}

.cerp-related-copy strong {
  color:var(--cerp-navy);
  font-size:.64rem;
}

.cerp-related-card:nth-child(even) .cerp-related-copy strong {
  color:var(--cerp-red);
}

/* RESPONSIVE */
@media (max-width:1199.98px) {
  .cerp-hero-stage {
    grid-template-columns:1fr 1fr;
  }

  .cerp-services-stage,
  .cerp-fit-stage,
  .cerp-delivery-layout,
  .cerp-why-layout {
    grid-template-columns:1fr;
  }

  .cerp-services-media {
    position:relative;
    top:auto;
    min-height:500px;
  }

  .cerp-workflow-gallery {
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:330px 330px;
  }

  .cerp-fit-media,
  .cerp-delivery-visual,
  .cerp-why-visual {
    min-height:500px;
  }

  .cerp-related-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:991.98px) {
  .cerp-hero-stage,
  .cerp-services-head,
  .cerp-dual-head,
  .cerp-workflows-head,
  .cerp-delivery-head,
  .cerp-architecture-head,
  .cerp-engagement-head,
  .cerp-related-head,
  .cerp-dual-grid,
  .cerp-questions-layout {
    grid-template-columns:1fr;
  }

  .cerp-hero-visual {
    min-height:520px;
  }

  .cerp-architecture-band {
    grid-template-columns:1fr 1fr;
  }

  .cerp-architecture-band > * + * {
    border-left:0;
    border-top:1px solid rgba(255,255,255,.08);
  }

  .cerp-architecture-connect {
    grid-template-columns:repeat(2,1fr);
  }

  .cerp-architecture-connect article:nth-child(3) {
    border-left:0;
    border-top:1px solid rgba(255,255,255,.08);
  }

  .cerp-architecture-connect article:nth-child(4) {
    border-top:1px solid rgba(255,255,255,.08);
  }

  .cerp-engagement-list {
    grid-template-columns:1fr;
  }

  .cerp-engagement-list article {
    min-height:auto;
  }

  .cerp-engagement-list article + article {
    border-left:0;
    border-top:1px solid var(--cerp-line);
  }

  .cerp-engagement-list span {
    margin-bottom:1rem;
  }
}

@media (max-width:767.98px) {
  .custom-crm-erp-page h1.inner-page-title {
    font-size:clamp(2.25rem,9.5vw,3.35rem) !important;
  }

  .cerp-hero-copy {
    padding:2rem 1.3rem;
  }

  .cerp-hero-visual {
    min-height:460px;
  }

  .cerp-page-nav .container-xl {
    gap:1rem;
  }

  .cerp-page-nav .cerp-page-nav-cta {
    margin-left:0;
  }

  .cerp-pipeline-row {
    flex-wrap:wrap;
  }

  .cerp-workflow-gallery {
    grid-template-columns:1fr;
    grid-template-rows:repeat(4,330px);
  }

  .cerp-workflow-overlay {
    transform:none;
  }

  .cerp-workflow-overlay span {
    opacity:1;
  }

  .cerp-architecture-connect {
    grid-template-columns:1fr;
  }

  .cerp-architecture-connect article,
  .cerp-architecture-connect article:nth-child(3),
  .cerp-architecture-connect article:nth-child(4) {
    border-left:0;
    border-top:1px solid rgba(255,255,255,.08);
  }

  .cerp-related-grid {
    grid-template-columns:1fr;
  }
}

@media (max-width:575.98px) {
  .cerp-hero-visual {
    min-height:430px;
  }

  .cerp-hero-note {
    left:1rem;
    right:1rem;
    max-width:none;
  }

  .cerp-services-list article {
    grid-template-columns:34px 1fr;
    gap:.75rem;
  }

  .cerp-fit-media,
  .cerp-delivery-visual,
  .cerp-why-visual {
    min-height:420px;
  }

  .cerp-bridge {
    flex-wrap:wrap;
  }
}

@media (prefers-reduced-motion:reduce) {
  .cerp-dual-image img,
  .cerp-workflow-tile > img,
  .cerp-workflow-overlay,
  .cerp-workflow-overlay span,
  .cerp-related-card,
  .cerp-related-thumb img {
    transition:none !important;
  }
}

.cerp-hero-copy .eyebrow {
  margin-bottom:.8rem;
}

.cerp-hero-copy .inner-page-title {
  margin-bottom:1rem;
}

.cerp-hero-copy .inner-hero-actions {
  margin-top:.35rem;
}

@media (min-width:1200px) {
  .cerp-hero-copy {
    justify-content:center;
    min-height:670px;
  }
}

/* ============================================================
   WAYS TO ENGAGE V2 — IMAGE + ENGAGEMENT ROUTES
   ============================================================ */

.cerp-engagement-v2 {
  background:#fff;
}

.cerp-engagement-v2-stage {
  display:grid;
  grid-template-columns:minmax(420px,.9fr) minmax(0,1.1fr);
  gap:clamp(3rem,6vw,6rem);
  align-items:stretch;
}

.cerp-engagement-v2-visual {
  position:relative;
  min-height:560px;
  overflow:hidden;
  border-radius:20px;
  background:#17344C;
}

.cerp-engagement-v2-visual > img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.cerp-engagement-v2-visual::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(8,31,49,.02) 42%,rgba(8,31,49,.78) 100%);
}

.cerp-engagement-v2-visual-copy {
  position:absolute;
  z-index:2;
  left:1.2rem;
  right:1.2rem;
  bottom:1.2rem;
  padding:1rem 1.05rem 1rem 1.15rem;
  border-left:3px solid var(--cerp-red);
  background:rgba(255,255,255,.94);
}

.cerp-engagement-v2-visual-copy small {
  display:block;
  margin-bottom:.35rem;
  color:var(--cerp-red);
  font-size:.47rem;
  font-weight:850;
  letter-spacing:.12em;
}

.cerp-engagement-v2-visual-copy strong {
  display:block;
  color:var(--cerp-ink);
  font-size:.8rem;
  line-height:1.5;
}

.cerp-engagement-v2-content {
  align-self:center;
}

.cerp-engagement-v2-routes {
  margin-top:1.6rem;
  border-top:1px solid var(--cerp-line);
}

.cerp-engagement-v2-routes a {
  display:grid;
  grid-template-columns:42px 1fr 28px;
  gap:.9rem;
  align-items:center;
  padding:1.1rem 0;
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid var(--cerp-line);
  transition:padding-left .2s ease;
}

.cerp-engagement-v2-routes a:hover {
  padding-left:.3rem;
}

.cerp-engagement-v2-routes > a > span {
  color:var(--cerp-red);
  font-size:.64rem;
  font-weight:850;
}

.cerp-engagement-v2-routes a:nth-child(even) > span {
  color:var(--cerp-navy);
}

.cerp-engagement-v2-routes small {
  display:block;
  margin-bottom:.28rem;
  color:#87949D;
  font-size:.47rem;
  font-weight:850;
  letter-spacing:.12em;
}

.cerp-engagement-v2-routes h3 {
  margin:0;
  color:var(--cerp-ink);
  font-size:.92rem;
  line-height:1.42;
}

.cerp-engagement-v2-routes i {
  color:var(--cerp-navy);
  font-size:.9rem;
}

@media (max-width:991.98px) {
  .cerp-engagement-v2-stage {
    grid-template-columns:1fr;
  }

  .cerp-engagement-v2-visual {
    min-height:500px;
  }
}

@media (max-width:575.98px) {
  .cerp-engagement-v2-visual {
    min-height:420px;
  }

  .cerp-engagement-v2-routes a {
    grid-template-columns:34px 1fr 24px;
    gap:.7rem;
  }
}

.cerp-why-copy .section-title {
  max-width:720px;
}

.cerp-why-list {
  margin-top:1.25rem;
}

.cerp-why-list article {
  padding:1.05rem 0;
}


/* ============================================================
   HERO VISIBILITY + BALANCE FIX
   Explicitly override global inner-page hero colors.
   ============================================================ */

.custom-crm-erp-page .cerp-hero-copy h1.inner-page-title {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  color:var(--cerp-ink) !important;
  max-width:690px;
  margin:0 0 1rem;
  font-size:clamp(2.55rem,3.85vw,3.85rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.04em !important;
}

.custom-crm-erp-page .cerp-hero-copy .inner-page-lead {
  color:#627582 !important;
  max-width:620px;
  margin-bottom:1.15rem;
}

.custom-crm-erp-page .cerp-hero-copy .inner-hero-secondary {
  color:var(--cerp-navy) !important;
  opacity:1 !important;
  text-decoration:none;
}

.custom-crm-erp-page .cerp-hero-copy .inner-hero-secondary:hover {
  color:var(--cerp-red) !important;
}

.custom-crm-erp-page .cerp-hero-copy .eyebrow {
  color:var(--cerp-blue) !important;
}

.custom-crm-erp-page .cerp-hero-copy {
  justify-content:center;
  padding-top:clamp(2.5rem,5vw,4.2rem);
  padding-bottom:clamp(2.5rem,5vw,4.2rem);
}

@media (max-width:767.98px) {
  .custom-crm-erp-page .cerp-hero-copy h1.inner-page-title {
    font-size:clamp(2.2rem,9vw,3.2rem) !important;
    line-height:1.03 !important;
  }
}

/* ============================================================
   HERO V3 — CRM / ERP OPERATING COCKPIT
   Dark Build-family background with a distinct dual-system identity
   ============================================================ */

.cerp-hero-v3 {
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 82% 8%,rgba(121,184,239,.14),transparent 28%),
    radial-gradient(circle at 12% 94%,rgba(179,25,66,.10),transparent 25%),
    linear-gradient(145deg,#173A55 0%,#0B2C46 58%,#08253C 100%);
}

.cerp-hero-v3::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.17;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(90deg,transparent 0%,#000 50%,#000 100%);
}

.cerp-hero-v3 .container-xl {
  position:relative;
  z-index:2;
}

.cerp-hero-v3-breadcrumb {
  margin-bottom:1rem;
}

.cerp-hero-v3-breadcrumb a,
.cerp-hero-v3-breadcrumb li {
  color:rgba(255,255,255,.72);
}

.cerp-hero-v3-breadcrumb a:hover {
  color:#fff;
}

.cerp-hero-v3-stage {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(540px,1.18fr);
  gap:clamp(2rem,4vw,4.2rem);
  align-items:center;
  min-height:650px;
  padding:clamp(1.8rem,3.2vw,3rem);
  padding-bottom:132px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  background:
    linear-gradient(115deg,rgba(255,255,255,.025),transparent 45%),
    rgba(5,27,44,.20);
  box-shadow:0 28px 72px rgba(2,18,30,.18);
}

.cerp-hero-v3-copy {
  position:relative;
  z-index:5;
  max-width:680px;
}

.custom-crm-erp-page .cerp-hero-v3-copy .eyebrow {
  margin-bottom:.9rem;
  color:#9CCDF2 !important;
}

.custom-crm-erp-page .cerp-hero-v3-copy h1.inner-page-title {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  max-width:660px;
  margin:0 0 1rem;
  color:#fff !important;
  font-size:clamp(2.6rem,4vw,3.95rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.04em !important;
}

.custom-crm-erp-page .cerp-hero-v3-copy .inner-page-lead {
  max-width:610px;
  margin:0;
  color:#C8D6DF !important;
  font-size:clamp(.95rem,1.12vw,1.06rem);
  line-height:1.72;
}

.cerp-hero-v3-role-tags {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-top:1.25rem;
}

.cerp-hero-v3-role-tags span {
  padding:.38rem .58rem;
  color:#D9E4EB;
  font-size:.55rem;
  font-weight:760;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  backdrop-filter:blur(7px);
}

.cerp-hero-v3-cockpit {
  position:relative;
  z-index:4;
  min-height:475px;
}

.cerp-hero-v3-photo,
.cerp-hero-v3-shade {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.cerp-hero-v3-photo {
  overflow:hidden;
  border:7px solid #142534;
  border-radius:20px;
  background:#0A2235;
  box-shadow:0 30px 64px rgba(1,14,24,.34);
}

.cerp-hero-v3-photo img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.cerp-hero-v3-shade {
  z-index:2;
  border-radius:20px;
  background:
    linear-gradient(90deg,rgba(5,25,40,.54),rgba(5,25,40,.14) 48%,rgba(5,25,40,.46)),
    linear-gradient(180deg,rgba(5,25,40,.10) 22%,rgba(5,25,40,.72) 100%);
}

.cerp-hero-v3-lane,
.cerp-hero-v3-core,
.cerp-hero-v3-metrics {
  position:absolute;
  z-index:5;
}

.cerp-hero-v3-lane {
  top:1.1rem;
  width:42%;
  padding:.75rem .82rem;
  border:1px solid rgba(255,255,255,.13);
  border-radius:11px;
  background:rgba(8,34,53,.86);
  backdrop-filter:blur(8px);
}

.cerp-hero-v3-lane-crm {
  left:1.1rem;
}

.cerp-hero-v3-lane-erp {
  right:1.1rem;
}

.cerp-hero-v3-lane small {
  display:block;
  margin-bottom:.25rem;
  color:#9BCBF1;
  font-size:.42rem;
  font-weight:850;
  letter-spacing:.11em;
}

.cerp-hero-v3-lane-erp small {
  color:#FF8EA6;
}

.cerp-hero-v3-lane strong {
  display:block;
  color:#fff;
  font-size:.64rem;
  line-height:1.42;
}

.cerp-hero-v3-core {
  left:50%;
  top:46%;
  width:min(380px,62%);
  transform:translate(-50%,-50%);
  padding:1rem 1.05rem;
  text-align:center;
  border:1px solid rgba(121,184,239,.30);
  border-radius:15px;
  background:rgba(10,49,80,.92);
  box-shadow:0 20px 46px rgba(1,15,26,.22);
  backdrop-filter:blur(9px);
}

.cerp-hero-v3-core small {
  display:block;
  margin-bottom:.35rem;
  color:#FF92A9;
  font-size:.43rem;
  font-weight:850;
  letter-spacing:.12em;
}

.cerp-hero-v3-core strong {
  display:block;
  color:#fff;
  font-size:.76rem;
  line-height:1.42;
}

.cerp-hero-v3-core span {
  display:block;
  margin-top:.38rem;
  color:#BDCBD4;
  font-size:.54rem;
  line-height:1.48;
}

.cerp-hero-v3-metrics {
  left:1.1rem;
  right:1.1rem;
  bottom:1rem;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.55rem;
}

.cerp-hero-v3-metrics article {
  padding:.7rem .75rem;
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  background:rgba(7,30,48,.82);
  backdrop-filter:blur(8px);
}

.cerp-hero-v3-metrics small {
  display:block;
  margin-bottom:.22rem;
  color:#8FC7F1;
  font-size:.40rem;
  font-weight:850;
  letter-spacing:.10em;
}

.cerp-hero-v3-metrics article:nth-child(2) small {
  color:#FF8EA6;
}

.cerp-hero-v3-metrics strong {
  display:block;
  color:#fff;
  font-size:.86rem;
  line-height:1;
}

.cerp-hero-v3-metrics span {
  display:block;
  margin-top:.24rem;
  color:#AFC0CB;
  font-size:.48rem;
}

.cerp-hero-v3-start {
  position:absolute;
  z-index:8;
  left:clamp(1.8rem,3.2vw,3rem);
  right:47%;
  bottom:1.15rem;
  display:grid;
  grid-template-columns:minmax(190px,1fr) auto;
  gap:.7rem 1rem;
  align-items:center;
  min-height:92px;
  padding:.76rem .88rem;
  border:1px solid rgba(255,255,255,.10);
  border-radius:13px;
  background:rgba(5,25,40,.74);
  backdrop-filter:blur(9px);
}

.cerp-hero-v3-start > div:first-child small {
  display:block;
  margin-bottom:.22rem;
  color:#FF8EA6;
  font-size:.42rem;
  font-weight:850;
  letter-spacing:.11em;
}

.cerp-hero-v3-start > div:first-child strong {
  display:block;
  color:#fff;
  font-size:.65rem;
  line-height:1.42;
}

.cerp-hero-v3-actions {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.45rem;
}

.cerp-hero-v3 .btn-itx-primary {
  white-space:nowrap;
  color:#fff;
  background:var(--cerp-red);
  border-color:var(--cerp-red);
  box-shadow:0 10px 26px rgba(179,25,66,.18);
}

.cerp-hero-v3 .btn-itx-primary:hover {
  background:#971638;
  border-color:#971638;
}

.cerp-hero-v3-secondary {
  display:inline-flex;
  align-items:center;
  gap:.38rem;
  color:#D9EBF8;
  font-size:.65rem;
  font-weight:800;
  text-decoration:none;
}

.cerp-hero-v3-secondary:hover {
  color:#fff;
}

.cerp-hero-v3-flow {
  position:absolute;
  z-index:8;
  left:55%;
  right:clamp(1.8rem,3.2vw,3rem);
  bottom:1.15rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.48rem;
  min-height:92px;
  padding:.75rem .8rem;
  border:1px solid rgba(255,255,255,.10);
  border-radius:13px;
  background:rgba(5,25,40,.68);
  backdrop-filter:blur(9px);
}

.cerp-hero-v3-flow span {
  color:#E1E9EE;
  font-size:.54rem;
  font-weight:780;
}

.cerp-hero-v3-flow small {
  margin-right:.22rem;
  color:#8FC7F1;
  font-size:.39rem;
  font-weight:850;
}

.cerp-hero-v3-flow span:nth-of-type(even) small {
  color:#FF8EA6;
}

.cerp-hero-v3-flow i {
  color:#69889E;
  font-size:.56rem;
}

@media (max-width:1199.98px) {
  .cerp-hero-v3-stage {
    grid-template-columns:minmax(0,.86fr) minmax(470px,1.14fr);
  }

  .cerp-hero-v3-start {
    right:49%;
  }

  .cerp-hero-v3-flow {
    left:53%;
  }
}

@media (max-width:991.98px) {
  .cerp-hero-v3-stage {
    grid-template-columns:1fr;
    min-height:auto;
    padding:1.6rem 1.35rem 1.1rem;
  }

  .cerp-hero-v3-copy {
    max-width:760px;
  }

  .cerp-hero-v3-cockpit {
    min-height:525px;
    margin-top:.4rem;
  }

  .cerp-hero-v3-start,
  .cerp-hero-v3-flow {
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
  }

  .cerp-hero-v3-start {
    grid-template-columns:1fr auto;
    margin-top:.2rem;
  }

  .cerp-hero-v3-flow {
    margin-top:.75rem;
  }
}

@media (max-width:767.98px) {
  .custom-crm-erp-page .cerp-hero-v3-copy h1.inner-page-title {
    font-size:clamp(2.2rem,9vw,3.2rem) !important;
  }

  .cerp-hero-v3 {
    background:
      radial-gradient(circle at 86% 5%,rgba(121,184,239,.15),transparent 25%),
      linear-gradient(155deg,#173A55 0%,#0B2B45 60%,#08243A 100%);
  }

  .cerp-hero-v3-stage {
    padding:1.25rem .9rem .9rem;
    border-radius:18px;
  }

  .cerp-hero-v3-cockpit {
    min-height:480px;
  }

  .cerp-hero-v3-lane {
    top:.8rem;
    width:45%;
    padding:.65rem .68rem;
  }

  .cerp-hero-v3-lane-crm {
    left:.8rem;
  }

  .cerp-hero-v3-lane-erp {
    right:.8rem;
  }

  .cerp-hero-v3-core {
    width:72%;
  }

  .cerp-hero-v3-metrics {
    left:.8rem;
    right:.8rem;
    bottom:.8rem;
  }

  .cerp-hero-v3-start {
    grid-template-columns:1fr;
  }

  .cerp-hero-v3-actions {
    width:100%;
  }

  .cerp-hero-v3 .btn-itx-primary {
    width:100%;
    justify-content:center;
  }

  .cerp-hero-v3-flow {
    flex-wrap:wrap;
    min-height:auto;
  }
}

@media (max-width:575.98px) {
  .cerp-hero-v3-cockpit {
    min-height:510px;
  }

  .cerp-hero-v3-lane {
    width:calc(50% - 1rem);
  }

  .cerp-hero-v3-core {
    top:43%;
    width:80%;
  }

  .cerp-hero-v3-metrics {
    grid-template-columns:1fr;
  }

  .cerp-hero-v3-metrics article {
    display:grid;
    grid-template-columns:1fr auto;
    gap:.15rem .5rem;
    align-items:center;
  }

  .cerp-hero-v3-metrics article strong {
    grid-column:2;
    grid-row:1 / span 2;
  }

  .cerp-hero-v3-metrics article span {
    margin-top:0;
  }
}


/* COMPACT LONG-PAGE VERTICAL RHYTHM */
.custom-crm-erp-page > .cerp-hero-v3 {
  padding-top:1.15rem !important;
  padding-bottom:1.25rem !important;
}

.custom-crm-erp-page .section-pad {
  padding-top:clamp(3.25rem,4.4vw,4.25rem) !important;
  padding-bottom:clamp(3.25rem,4.4vw,4.25rem) !important;
}

.custom-crm-erp-page .cerp-services-head,
.custom-crm-erp-page .cerp-dual-head,
.custom-crm-erp-page .cerp-workflows-head,
.custom-crm-erp-page .cerp-delivery-head,
.custom-crm-erp-page .cerp-architecture-head,
.custom-crm-erp-page .cerp-related-head {
  margin-bottom:1.5rem;
}

@media (max-width:991.98px) {
  .custom-crm-erp-page > .cerp-hero-v3 {
    padding-top:.9rem !important;
    padding-bottom:1rem !important;
  }

  .custom-crm-erp-page .section-pad {
    padding-top:2.8rem !important;
    padding-bottom:2.8rem !important;
  }
}

@media (max-width:767.98px) {
  .custom-crm-erp-page > .cerp-hero-v3 {
    padding-top:.65rem !important;
    padding-bottom:.75rem !important;
  }

  .custom-crm-erp-page .section-pad {
    padding-top:2.25rem !important;
    padding-bottom:2.25rem !important;
  }

  .custom-crm-erp-page .cerp-services-head,
  .custom-crm-erp-page .cerp-dual-head,
  .custom-crm-erp-page .cerp-workflows-head,
  .custom-crm-erp-page .cerp-delivery-head,
  .custom-crm-erp-page .cerp-architecture-head,
  .custom-crm-erp-page .cerp-related-head {
    margin-bottom:1.15rem;
  }
}

