/* Concentrix CVG Philippines Inc. case-study extensions */

.page-concentrix-case .kp-case-logo-link {
  width: min(360px, 100%);
}

.page-concentrix-case .kp-case-logo {
  max-height: 72px;
  object-position: left center;
}

.page-concentrix-case .kp-concentrix-metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.page-concentrix-case .kp-concentrix-note {
  margin: 24px 0 0;
  padding-top: 20px;
  border-top: 1px solid rgba(17,17,17,.08);
  color: rgba(17,17,17,.62);
  font-size: .92rem;
  line-height: 1.7;
}

.page-concentrix-case .kp-concentrix-workspace {
  padding: 30px;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 28px;
  background: #fff;
  overflow: hidden;
}

.page-concentrix-case .kp-concentrix-workspace-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}

.page-concentrix-case .kp-concentrix-workspace-card {
  min-height: 170px;
  padding: 22px;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 20px;
  background: rgba(17,17,17,.018);
  transition:
    transform 280ms var(--kp-case-ease),
    border-color 260ms ease,
    background-color 260ms ease;
}

.page-concentrix-case .kp-concentrix-workspace-card:hover {
  transform: translateY(-5px);
  border-color: rgba(138,37,40,.28);
  background: #fff;
}

.page-concentrix-case .kp-concentrix-workspace-card--center {
  border-color: rgba(138,37,40,.24);
  background: rgba(138,37,40,.045);
}

.page-concentrix-case .kp-concentrix-workspace-card strong {
  display: block;
  margin: 10px 0 8px;
  color: #111;
  line-height: 1.35;
}

.page-concentrix-case .kp-concentrix-workspace-card p {
  margin: 0;
  color: rgba(17,17,17,.62);
  font-size: .9rem;
  line-height: 1.6;
}

.page-concentrix-case .kp-concentrix-mini-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
  padding: 18px;
  border-radius: 18px;
  background: rgba(138,37,40,.045);
}

.page-concentrix-case .kp-concentrix-mini-flow span {
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff;
  color: #111;
  font-size: .82rem;
  font-weight: 800;
}

.page-concentrix-case .kp-concentrix-mini-flow b {
  color: #8a2528;
}

.page-concentrix-case .kp-concentrix-responsibility-visual {
  position: relative;
  padding: 28px;
  overflow: hidden;
}

.page-concentrix-case .kp-concentrix-responsibility-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  margin-top: 18px;
}

.page-concentrix-case .kp-concentrix-responsibility-grid span {
  min-height: 88px;
  display: grid;
  place-items: center;
  padding: 16px;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 17px;
  text-align: center;
  font-size: .86rem;
  font-weight: 750;
  background: rgba(17,17,17,.018);
}

.page-concentrix-case .kp-concentrix-responsibility-grid span:last-child {
  grid-column: 1 / -1;
}

.page-concentrix-case .kp-concentrix-responsibility-center {
  margin-top: 14px;
  padding: 18px;
  border-radius: 18px;
  background: rgba(138,37,40,.07);
  text-align: center;
}

.page-concentrix-case .kp-concentrix-responsibility-center small,
.page-concentrix-case .kp-concentrix-responsibility-center strong {
  display: block;
}

.page-concentrix-case .kp-concentrix-responsibility-center small {
  color: #8a2528;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.page-concentrix-case .kp-concentrix-responsibility-center strong {
  margin-top: 7px;
}

/* Eight-step standardized process maps:
   01 → 02 → 03 → 04
   08 ← 07 ← 06 ← 05 */
.page-concentrix-case .kp-process-map.kp-concentrix-eight-map {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  grid-template-areas:
    "step1 step2 step3 step4"
    "step8 step7 step6 step5";
  gap: 42px 50px;
  align-items: stretch;
  position: relative;
  overflow: visible;
}

.page-concentrix-case .kp-concentrix-eight-map .kp-process-node[data-step="1"] { grid-area: step1; }
.page-concentrix-case .kp-concentrix-eight-map .kp-process-node[data-step="2"] { grid-area: step2; }
.page-concentrix-case .kp-concentrix-eight-map .kp-process-node[data-step="3"] { grid-area: step3; }
.page-concentrix-case .kp-concentrix-eight-map .kp-process-node[data-step="4"] { grid-area: step4; }
.page-concentrix-case .kp-concentrix-eight-map .kp-process-node[data-step="5"] { grid-area: step5; }
.page-concentrix-case .kp-concentrix-eight-map .kp-process-node[data-step="6"] { grid-area: step6; }
.page-concentrix-case .kp-concentrix-eight-map .kp-process-node[data-step="7"] { grid-area: step7; }
.page-concentrix-case .kp-concentrix-eight-map .kp-process-node[data-step="8"] { grid-area: step8; }

.page-concentrix-case .kp-concentrix-eight-map .kp-process-node::after {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(138,37,40,.18);
  border-radius: 999px;
  background: #fff;
  color: #8a2528;
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 0 0 0 rgba(138,37,40,.17);
}

.page-concentrix-case .kp-concentrix-eight-map .kp-process-node[data-step="1"]::after,
.page-concentrix-case .kp-concentrix-eight-map .kp-process-node[data-step="2"]::after,
.page-concentrix-case .kp-concentrix-eight-map .kp-process-node[data-step="3"]::after {
  content: "→";
  right: -44px;
  top: 50%;
  transform: translateY(-50%);
}

.page-concentrix-case .kp-concentrix-eight-map .kp-process-node[data-step="4"]::after {
  content: "↓";
  right: 50%;
  bottom: -38px;
  transform: translateX(50%);
}

.page-concentrix-case .kp-concentrix-eight-map .kp-process-node[data-step="5"]::after,
.page-concentrix-case .kp-concentrix-eight-map .kp-process-node[data-step="6"]::after,
.page-concentrix-case .kp-concentrix-eight-map .kp-process-node[data-step="7"]::after {
  content: "←";
  left: -44px;
  top: 50%;
  transform: translateY(-50%);
}

.page-concentrix-case .kp-concentrix-eight-map .kp-process-node[data-step="8"]::after {
  content: none;
  display: none;
}

/* Exact shared process-map reveal and glow behavior. */
.page-concentrix-case.kp-case-effects-ready
  .kp-concentrix-eight-map
  .kp-process-node:not([data-step="8"])::after {
  opacity: 0;
}

.page-concentrix-case
  .kp-concentrix-eight-map.is-map-animated
  .kp-process-node:not([data-step="8"])::after {
  opacity: 1;
  transition: opacity 360ms ease, transform 520ms var(--kp-case-ease);
  animation: kpMapArrowPulseHorizontal 1.45s ease-in-out infinite;
}

.page-concentrix-case
  .kp-concentrix-eight-map.is-map-animated
  .kp-process-node[data-step="2"]::after,
.page-concentrix-case
  .kp-concentrix-eight-map.is-map-animated
  .kp-process-node[data-step="6"]::after {
  animation-delay: 260ms;
}

.page-concentrix-case
  .kp-concentrix-eight-map.is-map-animated
  .kp-process-node[data-step="4"]::after {
  animation-name: kpMapArrowPulseVertical;
  animation-delay: 520ms;
}

.page-concentrix-case .kp-concentrix-account-panel,
.page-concentrix-case .kp-concentrix-performance-panel {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}

.page-concentrix-case .kp-concentrix-account-panel > .kp-mini-label,
.page-concentrix-case .kp-concentrix-performance-panel > .kp-mini-label {
  grid-column: 1 / -1;
}

.page-concentrix-case .kp-concentrix-account-panel > div,
.page-concentrix-case .kp-concentrix-performance-panel > div {
  padding: 14px;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 14px;
  background: #fff;
}

.page-concentrix-case .kp-concentrix-account-panel small,
.page-concentrix-case .kp-concentrix-account-panel strong,
.page-concentrix-case .kp-concentrix-performance-panel small,
.page-concentrix-case .kp-concentrix-performance-panel strong {
  display: block;
}

.page-concentrix-case .kp-concentrix-account-panel small,
.page-concentrix-case .kp-concentrix-performance-panel small {
  color: rgba(17,17,17,.52);
  font-size: .72rem;
}

.page-concentrix-case .kp-concentrix-account-panel strong,
.page-concentrix-case .kp-concentrix-performance-panel strong {
  margin-top: 4px;
  font-size: .86rem;
}

.page-concentrix-case .kp-concentrix-resolution-compare {
  display: grid;
  gap: 12px;
}

.page-concentrix-case .kp-concentrix-resolution-compare > div,
.page-concentrix-case .kp-concentrix-communication-card,
.page-concentrix-case .kp-concentrix-crm-note {
  padding: 18px;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 16px;
  background: #fff;
}

.page-concentrix-case .kp-concentrix-resolution-compare p,
.page-concentrix-case .kp-concentrix-communication-card p,
.page-concentrix-case .kp-concentrix-crm-note p {
  margin: 8px 0 0;
  color: rgba(17,17,17,.62);
  font-size: .84rem;
  line-height: 1.58;
}

.page-concentrix-case .kp-concentrix-communication-card strong {
  display: block;
  margin-top: 12px;
  color: #111;
}

.page-concentrix-case .kp-concentrix-classification-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 18px;
}

.page-concentrix-case .kp-concentrix-classification-grid .kp-result-card {
  padding: 22px;
}

.page-concentrix-case .kp-concentrix-value-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 20px;
}

.page-concentrix-case .kp-concentrix-before-after {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 22px;
}

.page-concentrix-case .kp-concentrix-before-after > article,
.page-concentrix-case .kp-concentrix-confidential-card {
  padding: 28px;
}

.page-concentrix-case .kp-concentrix-role-grid {
  grid-template-columns: repeat(3,minmax(0,1fr));
}

.page-concentrix-case .kp-concentrix-highlight {
  max-width: 940px;
  margin: 28px auto 0;
  padding: 28px 32px;
  border-left: 4px solid #8a2528;
  border-radius: 0 20px 20px 0;
  background: rgba(138,37,40,.055);
  color: #111;
  font-family: var(--kp-font-heading);
  font-size: clamp(1.35rem,2.2vw,1.8rem);
  font-weight: 700;
  line-height: 1.35;
}

@media (max-width: 1180px) {
  .page-concentrix-case .kp-concentrix-classification-grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }

  .page-concentrix-case .kp-concentrix-classification-grid article:nth-child(n/**/+4) {
    grid-column: span 1;
  }

  .page-concentrix-case .kp-concentrix-value-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 980px) {
  .page-concentrix-case .kp-concentrix-metric-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .page-concentrix-case .kp-concentrix-workspace-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .page-concentrix-case .kp-process-map.kp-concentrix-eight-map {
    grid-template-columns: repeat(2,minmax(0,1fr));
    grid-template-areas:
      "step1 step2"
      "step4 step3"
      "step5 step6"
      "step8 step7";
    gap: 38px 44px;
  }

  .page-concentrix-case .kp-concentrix-eight-map .kp-process-node::after {
    content: "↓" !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: -35px !important;
    transform: translateX(-50%) !important;
    animation-name: kpMapArrowPulseVertical !important;
  }

  .page-concentrix-case .kp-concentrix-eight-map .kp-process-node[data-step="8"]::after {
    content: none !important;
    display: none !important;
  }

  .page-concentrix-case .kp-concentrix-role-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .page-concentrix-case .kp-concentrix-workspace-grid,
  .page-concentrix-case .kp-concentrix-classification-grid,
  .page-concentrix-case .kp-concentrix-value-grid,
  .page-concentrix-case .kp-concentrix-before-after {
    grid-template-columns: 1fr;
  }

  .page-concentrix-case .kp-concentrix-classification-grid article {
    grid-column: span 1 !important;
  }

  .page-concentrix-case .kp-concentrix-responsibility-grid {
    grid-template-columns: 1fr;
  }

  .page-concentrix-case .kp-concentrix-responsibility-grid span:last-child {
    grid-column: span 1;
  }
}

@media (max-width: 640px) {
  .page-concentrix-case .kp-concentrix-metric-grid,
  .page-concentrix-case .kp-process-map.kp-concentrix-eight-map {
    grid-template-columns: 1fr;
  }

  .page-concentrix-case .kp-concentrix-metric-grid .kp-ataglance-item {
    border-right: 0;
    border-bottom: 1px solid rgba(17,17,17,.08);
    padding: 24px 0;
  }

  .page-concentrix-case .kp-concentrix-metric-grid .kp-ataglance-item:last-child {
    border-bottom: 0;
  }

  .page-concentrix-case .kp-process-map.kp-concentrix-eight-map {
    grid-template-areas:
      "step1"
      "step2"
      "step3"
      "step4"
      "step5"
      "step6"
      "step7"
      "step8";
    gap: 38px;
  }

  .page-concentrix-case .kp-concentrix-workspace {
    padding: 22px;
  }

  .page-concentrix-case .kp-concentrix-mini-flow {
    align-items: stretch;
    flex-direction: column;
  }

  .page-concentrix-case .kp-concentrix-mini-flow b {
    transform: rotate(90deg);
    align-self: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-concentrix-case .kp-concentrix-eight-map .kp-process-node::after {
    animation: none !important;
  }
}

/* ================================================================
   STANDARDIZED CONCENTRIX SERPENTINE MAPS
   Same size, red, border, pulse, glow, motion and responsive model
   used by the other case-study process maps.
   ================================================================ */

/* Prevent inherited card pseudo-connectors from creating duplicates. */
body.page-concentrix-case
  .kp-concentrix-workspace-map
  .kp-process-node::after,
body.page-concentrix-case
  .kp-concentrix-eight-map
  .kp-process-node::after {
  content: none !important;
  display: none !important;
}

/* Hero information cards must always wrap within their grid cells. */
body.page-concentrix-case .kp-project-info-card {
  min-width: 0 !important;
  height: auto !important;
  overflow: hidden !important;
}

body.page-concentrix-case .kp-project-info-card p {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: auto !important;
}

body.page-concentrix-case .kp-project-info-card--industry p {
  font-size: 0.86rem !important;
  line-height: 1.42 !important;
}

/* Workspace ownership card. */
body.page-concentrix-case .kp-concentrix-workspace-map-wrap {
  padding: 30px !important;
  border: 1px solid rgba(17, 17, 17, 0.08) !important;
  border-radius: 28px !important;
  background: #ffffff !important;
  overflow: visible !important;
}

body.page-concentrix-case .kp-concentrix-workspace-role {
  max-width: 720px !important;
  margin: 0 auto 30px !important;
  padding: 22px 26px !important;
  border: 1px solid rgba(138, 37, 40, 0.22) !important;
  border-radius: 20px !important;
  background: rgba(138, 37, 40, 0.045) !important;
  text-align: center !important;
  transition:
    transform 300ms var(--kp-case-ease),
    border-color 260ms ease,
    box-shadow 300ms ease !important;
}

body.page-concentrix-case .kp-concentrix-workspace-role:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(138, 37, 40, 0.34) !important;
  box-shadow: 0 18px 34px rgba(17, 17, 17, 0.07) !important;
}

body.page-concentrix-case .kp-concentrix-workspace-role span,
body.page-concentrix-case .kp-concentrix-workspace-role strong {
  display: block !important;
}

body.page-concentrix-case .kp-concentrix-workspace-role span {
  color: #8a2528 !important;
  font-size: 0.78rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.page-concentrix-case .kp-concentrix-workspace-role strong {
  margin-top: 8px !important;
  color: #111111 !important;
  font-size: 1.08rem !important;
}

body.page-concentrix-case .kp-concentrix-workspace-role p {
  max-width: 580px !important;
  margin: 8px auto 0 !important;
  color: rgba(17, 17, 17, 0.62) !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
}

/* Six-card desktop serpentine:
   01 → 02 → 03
   06 ← 05 ← 04 */
body.page-concentrix-case .kp-process-map.kp-concentrix-workspace-map {
  display: grid !important;
  grid-template-columns:
    minmax(0, 1fr) 34px
    minmax(0, 1fr) 34px
    minmax(0, 1fr) !important;
  grid-template-rows: auto 34px auto !important;
  grid-template-areas:
    "step1 a12 step2 a23 step3"
    ".     .   .     .   down34"
    "step6 a65 step5 a54 step4" !important;
  column-gap: 12px !important;
  row-gap: 12px !important;
  align-items: center !important;
  position: relative !important;
  overflow: visible !important;
}

body.page-concentrix-case
  .kp-concentrix-workspace-map
  .kp-process-node[data-step="1"] { grid-area: step1 !important; }
body.page-concentrix-case
  .kp-concentrix-workspace-map
  .kp-process-node[data-step="2"] { grid-area: step2 !important; }
body.page-concentrix-case
  .kp-concentrix-workspace-map
  .kp-process-node[data-step="3"] { grid-area: step3 !important; }
body.page-concentrix-case
  .kp-concentrix-workspace-map
  .kp-process-node[data-step="4"] { grid-area: step4 !important; }
body.page-concentrix-case
  .kp-concentrix-workspace-map
  .kp-process-node[data-step="5"] { grid-area: step5 !important; }
body.page-concentrix-case
  .kp-concentrix-workspace-map
  .kp-process-node[data-step="6"] { grid-area: step6 !important; }

/* Eight-card desktop serpentines:
   01 → 02 → 03 → 04
   08 ← 07 ← 06 ← 05 */
body.page-concentrix-case .kp-process-map.kp-concentrix-eight-map {
  display: grid !important;
  grid-template-columns:
    minmax(0, 1fr) 34px
    minmax(0, 1fr) 34px
    minmax(0, 1fr) 34px
    minmax(0, 1fr) !important;
  grid-template-rows: auto 34px auto !important;
  grid-template-areas:
    "step1 a12 step2 a23 step3 a34 step4"
    ".     .   .     .   .     .   down45"
    "step8 a87 step7 a76 step6 a65 step5" !important;
  column-gap: 10px !important;
  row-gap: 12px !important;
  align-items: center !important;
  position: relative !important;
  overflow: visible !important;
}

body.page-concentrix-case
  .kp-concentrix-eight-map
  .kp-process-node[data-step="1"] { grid-area: step1 !important; }
body.page-concentrix-case
  .kp-concentrix-eight-map
  .kp-process-node[data-step="2"] { grid-area: step2 !important; }
body.page-concentrix-case
  .kp-concentrix-eight-map
  .kp-process-node[data-step="3"] { grid-area: step3 !important; }
body.page-concentrix-case
  .kp-concentrix-eight-map
  .kp-process-node[data-step="4"] { grid-area: step4 !important; }
body.page-concentrix-case
  .kp-concentrix-eight-map
  .kp-process-node[data-step="5"] { grid-area: step5 !important; }
body.page-concentrix-case
  .kp-concentrix-eight-map
  .kp-process-node[data-step="6"] { grid-area: step6 !important; }
body.page-concentrix-case
  .kp-concentrix-eight-map
  .kp-process-node[data-step="7"] { grid-area: step7 !important; }
body.page-concentrix-case
  .kp-concentrix-eight-map
  .kp-process-node[data-step="8"] { grid-area: step8 !important; }

/* Exact standard connector appearance.
   Opacity and box-shadow deliberately have no !important so the shared
   keyframes can animate the glow and brightness. */
body.page-concentrix-case .kp-concentrix-map-arrow {
  position: relative !important;
  z-index: 3 !important;
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  align-self: center !important;
  justify-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(138, 37, 40, 0.18) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #8a2528 !important;
  font-size: 1.08rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  opacity: 0;
  transform: scale(0.55) !important;
  box-shadow: 0 0 0 0 rgba(138, 37, 40, 0.17);
  pointer-events: none !important;
}

/* Connector positions shared across all Concentrix serpentines. */
body.page-concentrix-case
  [data-kp-process-map]
  .kp-concentrix-map-arrow[data-arrow-area="a12"] { grid-area: a12 !important; }
body.page-concentrix-case
  [data-kp-process-map]
  .kp-concentrix-map-arrow[data-arrow-area="a23"] { grid-area: a23 !important; }
body.page-concentrix-case
  [data-kp-process-map]
  .kp-concentrix-map-arrow[data-arrow-area="a34"] { grid-area: a34 !important; }
body.page-concentrix-case
  [data-kp-process-map]
  .kp-concentrix-map-arrow[data-arrow-area="down34"] { grid-area: down34 !important; }
body.page-concentrix-case
  [data-kp-process-map]
  .kp-concentrix-map-arrow[data-arrow-area="down45"] { grid-area: down45 !important; }
body.page-concentrix-case
  [data-kp-process-map]
  .kp-concentrix-map-arrow[data-arrow-area="a54"] { grid-area: a54 !important; }
body.page-concentrix-case
  [data-kp-process-map]
  .kp-concentrix-map-arrow[data-arrow-area="a65"] { grid-area: a65 !important; }
body.page-concentrix-case
  [data-kp-process-map]
  .kp-concentrix-map-arrow[data-arrow-area="a76"] { grid-area: a76 !important; }
body.page-concentrix-case
  [data-kp-process-map]
  .kp-concentrix-map-arrow[data-arrow-area="a87"] { grid-area: a87 !important; }

/* Exact shared reveal, pulse, glow and directional timing. */
body.page-concentrix-case
  [data-kp-process-map].is-map-animated
  .kp-concentrix-map-arrow {
  opacity: 1;
  transform: scale(1) !important;
  transition:
    opacity 360ms ease,
    transform 520ms var(--kp-case-ease) !important;
  will-change: opacity, box-shadow, filter !important;
}

body.page-concentrix-case
  [data-kp-process-map].is-map-animated
  .kp-concentrix-map-arrow--horizontal {
  animation: kpMapArrowPulseHorizontal 1.45s ease-in-out infinite !important;
}

body.page-concentrix-case
  [data-kp-process-map].is-map-animated
  .kp-concentrix-map-arrow--vertical {
  animation: kpMapArrowPulseVertical 1.45s ease-in-out infinite !important;
  animation-delay: 520ms !important;
}

body.page-concentrix-case
  [data-kp-process-map].is-map-animated
  .kp-concentrix-map-arrow[data-arrow-area="a23"],
body.page-concentrix-case
  [data-kp-process-map].is-map-animated
  .kp-concentrix-map-arrow[data-arrow-area="a65"] {
  animation-delay: 260ms !important;
}

body.page-concentrix-case .kp-concentrix-workspace-summary {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 28px !important;
  padding: 18px !important;
  border-radius: 18px !important;
  background: rgba(138, 37, 40, 0.045) !important;
}

body.page-concentrix-case .kp-concentrix-workspace-summary span {
  padding: 8px 12px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #111111 !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
}

body.page-concentrix-case .kp-concentrix-workspace-summary b {
  color: #8a2528 !important;
}

/* Match the other case studies: two-column serpentine on tablet. */
@media (max-width: 980px) {
  body.page-concentrix-case .kp-process-map.kp-concentrix-workspace-map {
    grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr) !important;
    grid-template-rows: auto 34px auto 34px auto !important;
    grid-template-areas:
      "step1 a12 step2"
      ".     .   a23"
      "step4 down34 step3"
      "a54   .   ."
      "step5 a65 step6" !important;
    column-gap: 12px !important;
    row-gap: 12px !important;
  }

  body.page-concentrix-case .kp-process-map.kp-concentrix-eight-map {
    grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr) !important;
    grid-template-rows: auto 34px auto 34px auto 34px auto !important;
    grid-template-areas:
      "step1 a12 step2"
      ".     .   a23"
      "step4 a34 step3"
      "down45 .  ."
      "step5 a65 step6"
      ".     .   a76"
      "step8 a87 step7" !important;
    column-gap: 12px !important;
    row-gap: 12px !important;
  }

  body.page-concentrix-case .kp-concentrix-map-arrow {
    font-size: 0 !important;
  }

  body.page-concentrix-case
    .kp-concentrix-map-arrow[data-arrow-area="a12"]::before,
  body.page-concentrix-case
    .kp-concentrix-map-arrow[data-arrow-area="a65"]::before {
    content: "→" !important;
  }

  body.page-concentrix-case
    .kp-concentrix-map-arrow[data-arrow-area="a34"]::before,
  body.page-concentrix-case
    .kp-concentrix-map-arrow[data-arrow-area="down34"]::before,
  body.page-concentrix-case
    .kp-concentrix-map-arrow[data-arrow-area="a87"]::before {
    content: "←" !important;
  }

  body.page-concentrix-case
    .kp-concentrix-map-arrow[data-arrow-area="a23"]::before,
  body.page-concentrix-case
    .kp-concentrix-map-arrow[data-arrow-area="down45"]::before,
  body.page-concentrix-case
    .kp-concentrix-map-arrow[data-arrow-area="a54"]::before,
  body.page-concentrix-case
    .kp-concentrix-map-arrow[data-arrow-area="a76"]::before {
    content: "↓" !important;
  }

  body.page-concentrix-case .kp-concentrix-map-arrow::before {
    color: #8a2528 !important;
    font-size: 1.08rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  body.page-concentrix-case
    [data-kp-process-map].is-map-animated
    .kp-concentrix-map-arrow[data-arrow-area="a23"],
  body.page-concentrix-case
    [data-kp-process-map].is-map-animated
    .kp-concentrix-map-arrow[data-arrow-area="down45"],
  body.page-concentrix-case
    [data-kp-process-map].is-map-animated
    .kp-concentrix-map-arrow[data-arrow-area="a54"],
  body.page-concentrix-case
    [data-kp-process-map].is-map-animated
    .kp-concentrix-map-arrow[data-arrow-area="a76"] {
    animation-name: kpMapArrowPulseVertical !important;
  }
}

/* Match the other case studies: single vertical sequence on mobile. */
@media (max-width: 640px) {
  body.page-concentrix-case .kp-process-map.kp-concentrix-workspace-map {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: none !important;
    grid-template-areas:
      "step1"
      "a12"
      "step2"
      "a23"
      "step3"
      "down34"
      "step4"
      "a54"
      "step5"
      "a65"
      "step6" !important;
    row-gap: 12px !important;
    column-gap: 0 !important;
  }

  body.page-concentrix-case .kp-process-map.kp-concentrix-eight-map {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: none !important;
    grid-template-areas:
      "step1"
      "a12"
      "step2"
      "a23"
      "step3"
      "a34"
      "step4"
      "down45"
      "step5"
      "a65"
      "step6"
      "a76"
      "step7"
      "a87"
      "step8" !important;
    row-gap: 12px !important;
    column-gap: 0 !important;
  }

  body.page-concentrix-case .kp-concentrix-map-arrow::before {
    content: "↓" !important;
  }

  body.page-concentrix-case
    [data-kp-process-map].is-map-animated
    .kp-concentrix-map-arrow {
    animation-name: kpMapArrowPulseVertical !important;
  }

  body.page-concentrix-case .kp-concentrix-workspace-map-wrap {
    padding: 22px !important;
  }

  body.page-concentrix-case .kp-concentrix-workspace-summary {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  body.page-concentrix-case .kp-concentrix-workspace-summary b {
    align-self: center !important;
    transform: rotate(90deg) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-concentrix-case .kp-concentrix-map-arrow {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
}

/* ================================================================
   UNIFORM PROCESS-CARD SIZING — FULL TEXT VISIBLE
   All three serpentine maps share the same width, minimum height and
   internal spacing without clipping or line clamping.
   ================================================================ */

body.page-concentrix-case {
  --kp-concentrix-process-card-width: 235px;
  --kp-concentrix-process-card-min-height: 246px;
}

body.page-concentrix-case
  :is(.kp-concentrix-workspace-map, .kp-concentrix-eight-map)
  .kp-process-node {
  width: var(--kp-concentrix-process-card-width) !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: var(--kp-concentrix-process-card-min-height) !important;
  max-height: none !important;
  padding: 22px 20px !important;
  align-self: stretch !important;
  justify-self: center !important;
  overflow: visible !important;
}

body.page-concentrix-case
  :is(.kp-concentrix-workspace-map, .kp-concentrix-eight-map)
  .kp-process-node strong {
  min-height: 2.64em !important;
  margin-bottom: 9px !important;
  line-height: 1.32 !important;
}

body.page-concentrix-case
  :is(.kp-concentrix-workspace-map, .kp-concentrix-eight-map)
  .kp-process-node p {
  display: block !important;
  overflow: visible !important;
  margin: 0 !important;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
}

body.page-concentrix-case .kp-process-map.kp-concentrix-workspace-map {
  grid-template-columns:
    var(--kp-concentrix-process-card-width) 34px
    var(--kp-concentrix-process-card-width) 34px
    var(--kp-concentrix-process-card-width) !important;
  justify-content: center !important;
}

body.page-concentrix-case .kp-process-map.kp-concentrix-eight-map {
  grid-template-columns:
    var(--kp-concentrix-process-card-width) 34px
    var(--kp-concentrix-process-card-width) 34px
    var(--kp-concentrix-process-card-width) 34px
    var(--kp-concentrix-process-card-width) !important;
  justify-content: center !important;
}

/* Only “Telecommunications” is shortened. The full BPO wording remains. */
body.page-concentrix-case .kp-project-info-card--industry p {
  white-space: normal !important;
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  font-size: 0.88rem !important;
  line-height: 1.42 !important;
}

@media (max-width: 980px) {
  body.page-concentrix-case {
    --kp-concentrix-process-card-width: min(300px, calc((100vw - 118px) / 2));
    --kp-concentrix-process-card-min-height: 230px;
  }

  body.page-concentrix-case .kp-process-map.kp-concentrix-workspace-map,
  body.page-concentrix-case .kp-process-map.kp-concentrix-eight-map {
    grid-template-columns:
      var(--kp-concentrix-process-card-width) 34px
      var(--kp-concentrix-process-card-width) !important;
    justify-content: center !important;
  }
}

@media (max-width: 640px) {
  body.page-concentrix-case {
    --kp-concentrix-process-card-width: min(100%, 520px);
    --kp-concentrix-process-card-min-height: 188px;
  }

  body.page-concentrix-case
    :is(.kp-concentrix-workspace-map, .kp-concentrix-eight-map)
    .kp-process-node {
    width: var(--kp-concentrix-process-card-width) !important;
    height: auto !important;
    min-height: var(--kp-concentrix-process-card-min-height) !important;
    max-height: none !important;
  }

  body.page-concentrix-case .kp-process-map.kp-concentrix-workspace-map,
  body.page-concentrix-case .kp-process-map.kp-concentrix-eight-map {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

