/* Software development hero v2: a lighter product-workbench composition. */
.service-detail-software .service-redesign-nav {
  display: none !important;
}

.service-detail-software .service-detail-hero.is-software-hero {
  min-height: min(640px, calc(100vh - 86px)) !important;
  grid-template-columns: minmax(0, .78fr) minmax(490px, 1.22fr) !important;
  gap: clamp(40px, 5.5vw, 84px) !important;
  padding: clamp(58px, 6vw, 88px) 7vw clamp(62px, 6vw, 92px) !important;
  background:
    linear-gradient(90deg, rgba(20, 118, 232, .055) 1px, transparent 1px),
    linear-gradient(0deg, rgba(20, 118, 232, .055) 1px, transparent 1px),
    radial-gradient(circle at 78% 34%, rgba(35, 180, 233, .22), transparent 25%),
    radial-gradient(circle at 18% 75%, rgba(91, 129, 245, .09), transparent 28%),
    linear-gradient(124deg, #fff 0%, #f5faff 56%, #e9f7fc 100%) !important;
  background-size: 56px 56px, 56px 56px, auto, auto, auto !important;
}

.service-detail-software .service-detail-hero.is-software-hero::before {
  top: 13% !important;
  right: 7% !important;
  z-index: 0 !important;
  width: min(540px, 43vw) !important;
  border: 1px solid rgba(31, 139, 224, .18) !important;
  border-radius: 30px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.78), rgba(229,246,255,.56)) !important;
  box-shadow: 0 0 0 12px rgba(255,255,255,.52), 0 30px 70px rgba(26,87,140,.12) !important;
  transform: rotate(-4deg) !important;
}

.service-detail-software .service-detail-hero.is-software-hero::after {
  top: auto !important;
  right: 8% !important;
  bottom: 12% !important;
  z-index: 4 !important;
  min-height: 30px !important;
  padding: 0 13px !important;
  color: #3d79a7 !important;
  border: 1px solid rgba(20,118,232,.16) !important;
  border-radius: 5px !important;
  background: rgba(255,255,255,.84) !important;
  box-shadow: 0 10px 24px rgba(23,75,126,.1) !important;
  content: "BUILD  /  DEPLOY  /  SCALE" !important;
  font-size: 9px !important;
  letter-spacing: .14em !important;
}

.service-detail-software-hero-content {
  max-width: 620px !important;
  padding: 0 !important;
  text-align: left !important;
}

.service-detail-software-hero-content::after {
  position: absolute;
  top: 12px;
  right: -34px;
  content: "01";
  color: rgba(20, 118, 232, .06);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 104px;
  font-weight: 900;
  line-height: 1;
  pointer-events: none;
}

.service-detail-software-hero-content h1 {
  max-width: 560px !important;
  color: #132d4a !important;
  font-size: clamp(42px, 4.5vw, 66px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}

.service-detail-software-hero-content h1::after {
  width: 64px !important;
  height: 4px !important;
  margin-top: 22px !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, #1476e8, #22b9d8) !important;
  box-shadow: 22px 0 0 rgba(34,185,216,.25), 44px 0 0 rgba(34,185,216,.1) !important;
}

.service-detail-software-hero-content p {
  max-width: 520px !important;
  margin-top: 20px !important;
  color: #58738b !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}

.service-detail-software-hero-chips {
  gap: 8px 16px !important;
  margin-top: 20px !important;
}

.service-detail-software-hero-chips span {
  position: relative !important;
  min-height: 26px !important;
  padding: 0 0 0 12px !important;
  color: #3a7097 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 12px !important;
}

.service-detail-software-hero-chips span::before {
  position: absolute;
  width: 4px;
  height: 4px;
  margin: 8px 0 0 -11px;
  content: "";
  border-radius: 50%;
  background: #25a9d6;
}

.service-detail-software-hero-action {
  min-height: 48px !important;
  margin-top: 24px !important;
  padding: 0 20px 0 22px !important;
  border-radius: 6px !important;
  box-shadow: 0 14px 26px rgba(20,118,232,.2) !important;
  font-size: 14px !important;
}

.software-hero-visual {
  z-index: 3 !important;
  min-height: 390px !important;
  padding: 14px !important;
  border: 1px solid rgba(26,128,210,.24) !important;
  border-radius: 20px !important;
  background: linear-gradient(150deg, rgba(255,255,255,.96), rgba(235,247,253,.92)) !important;
  box-shadow: 0 30px 70px rgba(25,87,139,.16), 0 0 0 8px rgba(255,255,255,.68) !important;
  transform: rotate(1.4deg) !important;
}

@media (min-width: 901px) {
  .software-hero-visual {
    width: 100% !important;
    margin-right: 0 !important;
  }
}

.software-hero-visual::before {
  position: absolute;
  top: -34px;
  right: 10%;
  width: 68px;
  height: 68px;
  content: "";
  border: 1px solid rgba(20,118,232,.2);
  border-radius: 50%;
  box-shadow: 0 0 0 12px rgba(20,118,232,.04), 0 0 0 24px rgba(20,118,232,.025);
  pointer-events: none;
}

.software-hero-visual-head {
  min-height: 28px !important;
  padding-bottom: 10px !important;
  font-size: 8px !important;
}

.software-hero-screen {
  min-height: 282px !important;
  margin: 11px 0 !important;
  border-radius: 12px !important;
  background: linear-gradient(145deg, #eaf7fd, #dceffc) !important;
}

.software-hero-screen img {
  width: 94% !important;
  height: 90% !important;
  border-radius: 9px !important;
  box-shadow: 0 18px 34px rgba(10,43,75,.18) !important;
}

.software-hero-visual-footer {
  padding-top: 10px !important;
  font-size: 7px !important;
}

@media (max-width: 900px) {
  .service-detail-software .service-detail-hero.is-software-hero {
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    gap: 42px !important;
    padding: 62px 7vw 74px !important;
  }

  .service-detail-software-hero-content::after { right: 0; }
  .software-hero-visual { width: min(680px, 90vw) !important; margin: 0 auto !important; }
}

@media (max-width: 680px) {
  .service-detail-software .service-detail-hero.is-software-hero { padding: 48px 7vw 62px !important; }
  .service-detail-software-hero-content h1 { font-size: 40px !important; }
  .service-detail-software-hero-content p { font-size: 15px !important; }
  .software-hero-visual { min-height: 320px !important; padding: 10px !important; border-radius: 16px !important; }
  .software-hero-screen { min-height: 235px !important; }
  .service-detail-software .service-detail-hero.is-software-hero::after { right: 8%; bottom: 5%; }
}

/* Replace the generic phone collage with a product-delivery workbench. */
.software-hero-screen {
  display: block !important;
  min-height: 282px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(26, 128, 210, .2) !important;
  background: linear-gradient(135deg, #f8fcff 0%, #edf7fc 52%, #e3f1fa 100%) !important;
}

.software-workbench {
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr);
  width: 100%;
  min-height: 282px;
  color: #37566f;
  background: rgba(255, 255, 255, .78);
  font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif;
}

.software-workbench-side {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 16px 10px 12px;
  border-right: 1px solid rgba(45, 127, 181, .12);
  background: rgba(241, 249, 253, .92);
}

.software-workbench-brand { display: flex; align-items: center; gap: 6px; color: #1e6fb5; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 7px; font-weight: 800; letter-spacing: .08em; }
.software-workbench-brand b { display: grid; width: 20px; height: 20px; place-items: center; color: #fff; border-radius: 6px; background: linear-gradient(135deg, #1476e8, #23b5d8); box-shadow: 0 5px 12px rgba(20,118,232,.2); font-size: 8px; letter-spacing: -.06em; }
.software-workbench-side nav { display: grid; gap: 5px; }
.software-workbench-side nav span { display: flex; align-items: center; min-height: 26px; padding: 0 8px; color: #7894aa; border-radius: 6px; font-size: 8px; white-space: nowrap; }
.software-workbench-side nav span.is-active { color: #146fc2; background: #fff; box-shadow: 0 5px 14px rgba(34,116,169,.1); font-weight: 700; }
.software-workbench-team { display: flex; align-items: center; gap: 5px; margin-top: auto; padding-top: 10px; border-top: 1px solid rgba(45,127,181,.12); }
.software-workbench-team > i { display: grid; width: 18px; height: 18px; place-items: center; color: #fff; border-radius: 50%; background: #7c9dea; font-size: 7px; font-style: normal; font-weight: 800; }
.software-workbench-team span { display: grid; gap: 2px; min-width: 0; }
.software-workbench-team b { color: #40647e; font-size: 7px; white-space: nowrap; }
.software-workbench-team small { color: #90a8b9; font-size: 6px; white-space: nowrap; }

.software-workbench-main { min-width: 0; padding: 13px 14px 12px; }
.software-workbench-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #6d879a; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 7px; letter-spacing: .02em; }
.software-workbench-toolbar b { padding: 0 4px; color: #b6c9d6; font-weight: 400; }
.software-workbench-toolbar > div { display: flex; align-items: center; gap: 8px; }
.software-workbench-toolbar em { display: inline-flex; align-items: center; gap: 4px; color: #22a486; font-style: normal; }
.software-workbench-toolbar em i { width: 4px; height: 4px; border-radius: 50%; background: #2fc4a2; box-shadow: 0 0 0 3px rgba(47,196,162,.12); }
.software-workbench-toolbar button { width: 20px; height: 18px; padding: 0; color: #6f8ca1; border: 1px solid rgba(77,139,179,.14); border-radius: 5px; background: #fff; font-size: 11px; line-height: 12px; }
.software-workbench-summary { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-top: 16px; padding-bottom: 12px; border-bottom: 1px solid rgba(45,127,181,.12); }
.software-workbench-summary > div:first-child { display: grid; gap: 2px; }
.software-workbench-summary small { color: #8ca3b4; font-size: 7px; }
.software-workbench-summary strong { color: #173e61; font-size: 29px; font-weight: 800; letter-spacing: -.06em; line-height: 1; }
.software-workbench-summary strong span { color: #6b8ca7; font-size: 12px; letter-spacing: 0; }
.software-workbench-summary em { color: #1ca583; font-size: 7px; font-style: normal; }
.software-workbench-spark { display: flex; align-items: end; gap: 4px; width: 116px; height: 38px; padding: 0 3px 1px; border-bottom: 1px solid rgba(59,144,192,.18); }
.software-workbench-spark i { flex: 1; min-height: 5px; border-radius: 3px 3px 1px 1px; background: linear-gradient(180deg, #52c9dc, #74a0e7); opacity: .84; }
.software-workbench-spark i:nth-child(6), .software-workbench-spark i:nth-child(8) { background: linear-gradient(180deg, #167bed, #68b7e8); }

.software-workbench-flow { position: relative; margin-top: 12px; padding: 11px 11px 9px; border: 1px solid rgba(55,139,188,.14); border-radius: 10px; background: rgba(255,255,255,.72); box-shadow: 0 10px 22px rgba(30,102,147,.06); }
.software-workbench-flow-head, .software-workbench-flow-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.software-workbench-flow-head { color: #4e7792; font-size: 8px; font-weight: 700; }
.software-workbench-flow-head small { color: #8ba6b7; font-size: 6px; font-weight: 500; }
.software-workbench-flow-line { position: absolute; top: 67px; right: 28px; left: 28px; height: 1px; background: linear-gradient(90deg, #5bb8dc 0 40%, #b8d8e8 40%); }
.software-workbench-flow-nodes { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; margin-top: 21px; }
.software-workbench-flow-nodes article { display: grid; gap: 6px; justify-items: center; min-width: 0; text-align: center; }
.software-workbench-flow-nodes article > b { position: relative; z-index: 1; display: grid; width: 20px; height: 20px; place-items: center; color: #86a4b6; border: 1px solid #c5dce8; border-radius: 50%; background: #f7fcfe; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 6px; }
.software-workbench-flow-nodes article.is-done > b { color: #fff; border-color: #42bda4; background: #42bda4; box-shadow: 0 0 0 4px rgba(66,189,164,.12); }
.software-workbench-flow-nodes article.is-current > b { color: #fff; border-color: #2389e8; background: #2389e8; box-shadow: 0 0 0 4px rgba(35,137,232,.13); }
.software-workbench-flow-nodes article span { display: grid; gap: 2px; min-width: 0; }
.software-workbench-flow-nodes article strong { color: #47708a; font-size: 7px; white-space: nowrap; }
.software-workbench-flow-nodes article.is-current strong { color: #1c72c3; }
.software-workbench-flow-nodes article small { color: #9ab0be; font-size: 6px; white-space: nowrap; }
.software-workbench-flow-foot { margin-top: 10px; color: #9ab0be; font-size: 6px; }
.software-workbench-flow-foot span { display: inline-flex; align-items: center; gap: 4px; }
.software-workbench-flow-foot i { width: 5px; height: 5px; border-radius: 50%; background: #c6dbe7; }
.software-workbench-flow-foot i.is-done { background: #42bda4; }
.software-workbench-flow-foot i.is-current { background: #2389e8; }
.software-workbench-flow-foot em { margin-left: auto; color: #4180aa; font-style: normal; }

.software-workbench-bottom { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
.software-workbench-bottom > div:first-child { position: relative; display: grid; gap: 2px; padding-left: 9px; }
.software-workbench-bottom > div:first-child::before { position: absolute; top: 2px; bottom: 2px; left: 0; width: 2px; content: ""; border-radius: 2px; background: #38b7a1; }
.software-workbench-bottom small { color: #95aebe; font-size: 6px; }
.software-workbench-bottom strong { color: #406780; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; }
.software-workbench-bottom span { color: #8ba4b4; font-size: 6px; }
.software-workbench-bottom > div:first-child i { position: absolute; top: 3px; right: -17px; display: grid; width: 12px; height: 12px; place-items: center; color: #fff; border-radius: 50%; background: #39b39b; font-size: 8px; font-style: normal; }
.software-workbench-avatars { display: flex; align-items: center; padding-left: 12px; }
.software-workbench-avatars span, .software-workbench-avatars b { display: grid; width: 18px; height: 18px; margin-left: -5px; place-items: center; color: #fff; border: 2px solid #f8fcff; border-radius: 50%; background: #688cdb; font-size: 6px; font-weight: 700; }
.software-workbench-avatars span:nth-child(2) { background: #61b5ae; }
.software-workbench-avatars span:nth-child(3) { background: #d79670; }
.software-workbench-avatars b { color: #5884a2; background: #e3eff5; }

.software-hero-screen-corner { z-index: 5 !important; }

@media (max-width: 680px) {
  .software-workbench { grid-template-columns: 78px minmax(0, 1fr); min-height: 235px; }
  .software-workbench-side { gap: 12px; padding: 11px 7px 9px; }
  .software-workbench-side nav span { min-height: 22px; padding: 0 6px; font-size: 7px; }
  .software-workbench-main { padding: 10px 9px 9px; }
  .software-workbench-summary { margin-top: 11px; padding-bottom: 9px; }
  .software-workbench-summary strong { font-size: 23px; }
  .software-workbench-spark { width: 82px; height: 29px; gap: 3px; }
  .software-workbench-flow { margin-top: 9px; padding: 8px 7px 7px; }
  .software-workbench-flow-line { top: 57px; right: 20px; left: 20px; }
  .software-workbench-flow-nodes { margin-top: 17px; }
  .software-workbench-flow-nodes article strong { font-size: 6px; }
  .software-workbench-flow-nodes article small { font-size: 5px; }
  .software-workbench-flow-foot { margin-top: 7px; }
  .software-workbench-bottom { margin-top: 8px; }
}

/* Software detail capability rows: compact editorial rhythm instead of oversized whitespace. */
.service-detail-software .service-detail-sections {
  position: relative !important;
  padding: 86px 0 78px !important;
  background:
    radial-gradient(circle at 8% 8%, rgba(32, 156, 217, .10), transparent 23%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 52%, #f6fbff 100%) !important;
}

.service-detail-software .service-detail-sections::before {
  top: 42px !important;
  left: max(6vw, calc((100vw - 1240px) / 2)) !important;
  color: rgba(20, 118, 232, .56) !important;
  font-size: 10px !important;
  letter-spacing: .20em !important;
}

.service-detail-software .service-detail-two-col {
  display: grid !important;
  min-height: 0 !important;
  width: min(1240px, 88vw) !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.04fr) !important;
  gap: clamp(42px, 6vw, 88px) !important;
  align-items: center !important;
  margin: 0 auto 74px !important;
  padding: 34px 42px !important;
  border: 1px solid rgba(29, 125, 190, .13) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, .82) !important;
  box-shadow: 0 22px 56px rgba(25, 84, 134, .08) !important;
}

.service-detail-software .service-detail-two-col:last-child { margin-bottom: 0 !important; }
.service-detail-software .service-detail-two-col::before { top: 0 !important; right: 0 !important; bottom: 0 !important; left: auto !important; width: 48% !important; border: 0 !important; border-left: 1px solid rgba(20, 118, 232, .08) !important; border-radius: 0 !important; background: linear-gradient(180deg, rgba(226, 244, 253, .58), rgba(255, 255, 255, 0)) !important; transform: none !important; }
.service-detail-software .service-detail-two-col:nth-child(2)::before { right: auto !important; left: 0 !important; border-right: 1px solid rgba(12, 155, 189, .08) !important; border-left: 0 !important; background: linear-gradient(180deg, rgba(226, 249, 249, .54), rgba(255, 255, 255, 0)) !important; }

.service-detail-software .service-detail-two-col::after,
.service-detail-software .service-detail-two-col:first-child::after {
  top: 20px !important;
  right: 34px !important;
  left: auto !important;
  color: rgba(20, 118, 232, .08) !important;
  font-size: clamp(76px, 9vw, 124px) !important;
  pointer-events: none !important;
}

.service-detail-software .service-detail-two-copy { padding: 0 !important; }
.service-detail-software .service-detail-two-icon { display: none !important; }
.service-detail-software .service-detail-two-copy::before { margin-bottom: 14px !important; color: #1680c9 !important; font-size: 10px !important; letter-spacing: .18em !important; }
.service-detail-software .service-detail-two-col:nth-child(2) .service-detail-two-copy::before { color: #0c9bbd !important; }
.service-detail-software .service-detail-two-icon { width: 48px !important; height: 48px !important; margin-bottom: 18px !important; padding: 9px !important; border-radius: 12px !important; background: #eef8ff !important; }
.service-detail-software .service-detail-two-copy h2 { max-width: 460px !important; margin-bottom: 14px !important; color: #123052 !important; font-size: clamp(28px, 3vw, 42px) !important; line-height: 1.18 !important; }
.service-detail-software .service-detail-two-copy p { max-width: 470px !important; margin-bottom: 18px !important; color: #60778d !important; font-size: 15px !important; line-height: 1.78 !important; }
.service-detail-software .service-detail-two-copy p::after { display: block !important; margin-top: 20px !important; color: rgba(20, 118, 232, .68) !important; font-size: 9px !important; letter-spacing: .12em !important; }
.service-detail-software .service-detail-two-col:nth-child(2) .service-detail-two-copy p::after { color: rgba(12, 155, 189, .74) !important; }
.service-detail-software .service-detail-two-copy strong { min-height: 34px !important; padding: 0 11px 0 7px !important; color: #166bb7 !important; border: 1px solid rgba(20, 118, 232, .14) !important; border-radius: 7px !important; background: #f5fbff !important; font-size: 12px !important; }
.service-detail-software .service-detail-two-copy strong img { width: 22px !important; height: 22px !important; }
.software-detail-statline { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 0 0 16px; padding: 10px 0 12px; border-top: 1px solid rgba(20, 118, 232, .11); border-bottom: 1px solid rgba(20, 118, 232, .11); }
.software-detail-statline span { display: inline-flex; align-items: center; gap: 6px; color: #64839a; font-size: 10px; white-space: nowrap; }
.software-detail-statline b { color: #2b9bd0; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 9px; letter-spacing: .06em; }
.service-detail-software .service-detail-two-col:nth-child(2) .software-detail-statline b { color: #0c9bbd; }

.service-detail-software .service-detail-two-media { width: 100% !important; aspect-ratio: 1.52 / 1 !important; border: 1px solid rgba(20, 118, 232, .14) !important; border-radius: 16px !important; background: #f4faff !important; box-shadow: 0 20px 42px rgba(18, 74, 126, .12), 0 0 0 6px rgba(255, 255, 255, .92) !important; transition: transform .34s ease, box-shadow .34s ease, filter .34s ease !important; }
.service-detail-software .service-detail-two-col:hover .service-detail-two-media { transform: translateY(-5px) !important; filter: saturate(1.04) !important; box-shadow: 0 28px 54px rgba(18, 74, 126, .18), 0 0 0 6px rgba(255, 255, 255, .96) !important; }

@media (max-width: 900px) {
  .service-detail-software .service-detail-two-col { width: min(720px, 88vw) !important; grid-template-columns: 1fr !important; gap: 28px !important; padding: 30px !important; }
  .service-detail-software .service-detail-two-col::before { top: 52% !important; right: 0 !important; bottom: auto !important; left: 0 !important; width: auto !important; height: 1px !important; border: 0 !important; border-top: 1px solid rgba(20, 118, 232, .08) !important; background: none !important; }
  .service-detail-software .service-detail-two-col:nth-child(2)::before { top: 52% !important; right: 0 !important; left: 0 !important; border-right: 0 !important; border-top: 1px solid rgba(12, 155, 189, .08) !important; }
  .service-detail-software .service-detail-two-copy { padding-top: 0 !important; }
}

@media (max-width: 560px) {
  .service-detail-software .service-detail-sections { padding: 64px 0 58px !important; }
  .service-detail-software .service-detail-two-col { width: min(500px, 88vw) !important; gap: 22px !important; margin-bottom: 28px !important; padding: 24px 20px !important; border-radius: 18px !important; }
  .service-detail-software .service-detail-two-col::before,
  .service-detail-software .service-detail-two-col:nth-child(2)::before { display: none !important; }
  .service-detail-software .service-detail-two-copy h2 { font-size: 28px !important; }
  .service-detail-software .service-detail-two-copy p { font-size: 14px !important; }
  .software-detail-statline { gap: 7px 10px; }
  .service-detail-software .service-detail-two-media { border-radius: 13px !important; }
}

/* Detail expansion v2: a more editorial, information-rich delivery map. */
.service-detail-software .service-redesign-expansion {
  padding: 92px 6vw 104px !important;
  background: linear-gradient(180deg, #f5faff 0%, #ffffff 46%, #f7fbff 100%) !important;
}
.service-detail-software .service-redesign-expansion::before { width: 54vw !important; background: radial-gradient(circle at 78% 16%, rgba(39, 169, 218, .14), transparent 38%) !important; }
.service-detail-software .service-redesign-expansion-head { position: relative; width: min(1210px, 100%) !important; margin: 0 auto !important; padding: 0 0 38px !important; border-bottom: 1px solid rgba(20, 118, 232, .14) !important; }
.service-detail-software .service-redesign-expansion-head > span { margin-bottom: 15px !important; color: #1984cc !important; font-size: 10px !important; letter-spacing: .20em !important; }
.service-detail-software .service-redesign-expansion-head h2 { max-width: 920px !important; color: #102f50 !important; font-size: clamp(32px, 3.6vw, 54px) !important; line-height: 1.18 !important; letter-spacing: -.025em !important; }
.service-detail-software .service-redesign-expansion-head p { max-width: 650px !important; margin-top: 18px !important; color: #637d93 !important; font-size: 15px !important; line-height: 1.8 !important; }
.service-redesign-expansion-meta { position: absolute; right: 0; bottom: 42px; display: flex; align-items: center; gap: 10px; color: #6a8aa2; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 9px; white-space: nowrap; }
.service-redesign-expansion-meta span { display: inline-flex; align-items: center; gap: 6px; }
.service-redesign-expansion-meta b { color: #1881cb; font-size: 10px; }
.service-redesign-expansion-meta i { width: 24px; height: 1px; background: #b8d5e7; }
.service-detail-software .service-redesign-step-track { width: min(1210px, 100%) !important; margin: 48px auto 0 !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 14px !important; }
.service-detail-software .service-redesign-step-track::before { top: 22px !important; right: 7% !important; left: 7% !important; background: linear-gradient(90deg, #69bfe1, #277fe0, #b5d7e8) !important; }
.service-detail-software .service-redesign-step-track article { min-height: 172px !important; padding: 54px 20px 18px !important; border: 1px solid rgba(20, 118, 232, .12) !important; border-radius: 12px !important; background: rgba(255,255,255,.78) !important; box-shadow: 0 14px 34px rgba(26, 93, 142, .06) !important; transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease !important; }
.service-detail-software .service-redesign-step-track article:hover { border-color: rgba(20, 118, 232, .32) !important; box-shadow: 0 22px 42px rgba(26, 93, 142, .13) !important; transform: translateY(-5px) !important; }
.service-detail-software .service-redesign-step-track article > span { top: 13px !important; left: 17px !important; color: #2186c8 !important; font-size: 10px !important; }
.service-detail-software .service-redesign-step-track article i { top: 17px !important; left: 50% !important; width: 10px !important; height: 10px !important; border-color: #fff !important; background: #2b9bd0 !important; transform: translateX(-50%) !important; }
.service-detail-software .service-redesign-step-track article strong { color: #194d73 !important; font-size: 18px !important; }
.service-detail-software .service-redesign-step-track article p { margin-top: 10px !important; color: #718ba0 !important; font-size: 13px !important; line-height: 1.7 !important; }
.service-detail-software .service-redesign-step-track article small { display: block; margin-top: 17px; color: #a1b7c5; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 8px; letter-spacing: .10em; }
.service-detail-software .service-redesign-scene-heading { width: min(1210px, 100%) !important; margin: 66px auto 0 !important; padding-bottom: 16px !important; border-bottom: 1px solid rgba(20, 118, 232, .14) !important; }
.service-detail-software .service-redesign-scene-heading strong { color: #194d73 !important; font-size: 23px !important; }
.service-detail-software .service-redesign-scene-heading span { color: #82a3b7 !important; font-size: 9px !important; }
.service-detail-software .service-redesign-scene-grid { width: min(1210px, 100%) !important; margin: 20px auto 0 !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 14px !important; }
.service-detail-software .service-redesign-scene-grid article { min-height: 184px !important; padding: 22px 22px 20px !important; border: 1px solid rgba(20, 118, 232, .12) !important; border-radius: 12px !important; background: linear-gradient(145deg, #fff, #f4faff) !important; box-shadow: 0 12px 28px rgba(27, 78, 128, .06) !important; }
.service-detail-software .service-redesign-scene-grid article::before { position: absolute; top: 0; right: 22px; left: 22px; height: 2px; content: ""; border-radius: 0 0 3px 3px; background: linear-gradient(90deg, #45b4dd, #1680cb); opacity: .7; }
.service-detail-software .service-redesign-scene-grid article:hover { border-color: rgba(20, 118, 232, .28) !important; background: #fff !important; box-shadow: 0 20px 38px rgba(27, 78, 128, .12) !important; transform: translateY(-4px) !important; }
.service-detail-software .service-redesign-scene-grid h3 { margin: 22px 0 7px !important; color: #194d73 !important; font-size: 20px !important; }
.service-detail-software .service-redesign-scene-grid p { color: #718ba0 !important; font-size: 13px !important; line-height: 1.7 !important; }
.service-detail-software .service-redesign-scene-grid article > span { margin-top: 15px !important; padding: 5px 8px !important; color: #2b83b6 !important; background: #eaf7ff !important; font-size: 9px !important; }

@media (max-width: 900px) {
  .service-detail-software .service-redesign-expansion { padding: 76px 7vw 88px !important; }
  .service-redesign-expansion-meta { position: static; margin-top: 25px; flex-wrap: wrap; white-space: normal; }
  .service-detail-software .service-redesign-step-track { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .service-detail-software .service-redesign-step-track::before { display: none !important; }
  .service-detail-software .service-redesign-scene-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 560px) {
  .service-detail-software .service-redesign-expansion { padding: 64px 7vw 72px !important; }
  .service-detail-software .service-redesign-expansion-head h2 { font-size: 32px !important; line-height: 1.24 !important; }
  .service-detail-software .service-redesign-step-track { grid-template-columns: 1fr !important; margin-top: 34px !important; }
  .service-detail-software .service-redesign-scene-grid { grid-template-columns: 1fr !important; }
  .service-detail-software .service-redesign-scene-heading { display: flex !important; margin-top: 48px !important; }
}

/* Keep the delivery process complete while removing excess vertical whitespace. */
.service-detail-software-process {
  padding: 54px 5vw 58px !important;
}

.service-detail-software-process .service-detail-section-head {
  margin-bottom: 28px !important;
}

.service-detail-software-process .service-detail-section-head h2 {
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 1.2 !important;
}

.service-detail-software-process .service-detail-section-head p {
  margin-top: 10px !important;
  line-height: 1.6 !important;
}

.service-detail-software-process-grid {
  gap: 12px !important;
}

.service-detail-software-process-grid article,
.service-detail-software-process-grid article:last-child {
  min-height: 0 !important;
  padding: 0 18px 18px !important;
}

.service-detail-software-process-grid article > span {
  margin-bottom: 14px !important;
}

.service-detail-software-process-grid h3 {
  margin-bottom: 8px !important;
  font-size: 18px !important;
}

.service-detail-software-process-grid p {
  line-height: 1.6 !important;
}

@media (max-width: 560px) {
  .service-detail-software-process {
    padding: 42px 7vw 46px !important;
  }

  .service-detail-software-process .service-detail-section-head {
    margin-bottom: 22px !important;
  }

  .service-detail-software-process-grid article,
  .service-detail-software-process-grid article:last-child {
    padding-bottom: 14px !important;
  }
}
