/* Full-cycle delivery section: editorial hierarchy with a light delivery rail. */
.services-page .services-method-section {
  position: relative !important;
  padding: clamp(108px, 11vw, 168px) max(5vw, calc((100vw - 1280px) / 2)) clamp(84px, 8vw, 118px) !important;
  overflow: hidden !important;
  background: #fff !important;
}

.services-page .services-method-section::before {
  position: absolute !important;
  top: 0 !important;
  right: max(5vw, calc((100vw - 1280px) / 2)) !important;
  left: max(5vw, calc((100vw - 1280px) / 2)) !important;
  display: block !important;
  height: 1px !important;
  content: "" !important;
  background: linear-gradient(90deg, rgb(33 119 221 / 45%), rgb(33 119 221 / 8%) 58%, transparent) !important;
}

.services-method-top {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  align-items: end;
  gap: clamp(54px, 9vw, 150px);
}

.services-page .services-method-intro {
  width: auto !important;
}

.services-page .services-method-intro > span {
  display: block !important;
  margin: 0 0 24px !important;
  color: #2583e5 !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
}

.services-page .services-method-intro h2 {
  max-width: 690px !important;
  margin: 0 !important;
  color: #183653 !important;
  font-size: clamp(38px, 4vw, 56px) !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  letter-spacing: -.015em !important;
}

.services-page .services-method-intro h2 em {
  color: #2679dc !important;
  font-style: normal !important;
}

.services-page .services-method-intro p {
  max-width: 720px !important;
  margin: 28px 0 0 !important;
  color: #71879c !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.9 !important;
}

.services-method-summary {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 16px;
  align-items: end;
  padding: 0 0 8px 26px;
  border-left: 1px solid #d9e8f4;
}

.services-method-summary-number {
  color: #2379dc;
  font-size: clamp(64px, 7vw, 94px);
  font-weight: 900;
  line-height: .8;
  letter-spacing: -.06em;
}

.services-method-summary-copy {
  display: grid;
  gap: 5px;
  padding-bottom: 3px;
}

.services-method-summary-copy strong {
  color: #234967;
  font-size: 18px;
  font-weight: 900;
}

.services-method-summary-copy span {
  color: #8298aa;
  font-size: 12px;
  font-weight: 700;
}

.services-method-summary-rule {
  grid-column: 1 / -1;
  width: 100%;
  height: 1px;
  margin-top: 24px;
  background: linear-gradient(90deg, #2a83e5, #d9e8f4 72%, transparent);
}

.services-method-summary-caption {
  grid-column: 1 / -1;
  margin-top: 12px;
  color: #91a5b6;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .07em;
  white-space: nowrap;
}

.services-method-summary-caption i {
  margin: 0 5px;
  color: #3c99dc;
  font-style: normal;
}

.services-page .services-method-rail {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin-top: clamp(84px, 8vw, 116px) !important;
}

.services-page .services-method-rail::before {
  position: absolute !important;
  top: 16px !important;
  right: 5% !important;
  left: 5% !important;
  display: block !important;
  height: 1px !important;
  content: "" !important;
  background: linear-gradient(90deg, #d9e9f3, #5da3da 34%, #b4d9ee 72%, #d9e9f3) !important;
}

.services-page .services-method-rail article {
  position: relative !important;
  min-height: 226px !important;
  padding: 56px clamp(24px, 2.2vw, 32px) 20px !important;
  border-top: 0 !important;
  border-right: 1px solid #e3edf4 !important;
}

.services-page .services-method-rail article:last-child { border-right: 0 !important; }

.services-page .services-method-rail article::before {
  position: absolute !important;
  top: 10px !important;
  left: 0 !important;
  display: block !important;
  width: 13px !important;
  height: 13px !important;
  content: "" !important;
  border: 3px solid #fff !important;
  border-radius: 50% !important;
  background: #2e93da !important;
  box-shadow: 0 0 0 1px rgb(46 147 218 / 38%), 0 0 0 6px rgb(46 147 218 / 8%) !important;
}

.services-method-step-head {
  position: absolute;
  top: 0;
  right: clamp(24px, 2.2vw, 32px);
  left: clamp(24px, 2.2vw, 32px);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

.services-method-step-head span {
  color: #2783d8;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
}

.services-method-step-head small {
  color: #a4b7c6;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
}

.services-page .services-method-rail article strong {
  display: block !important;
  color: #245174 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
}

.services-page .services-method-rail article p {
  max-width: 260px !important;
  margin: 12px 0 0 !important;
  color: #7c92a4 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
}

.services-method-output {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 13px;
  margin-top: 20px;
}

.services-method-output span {
  position: relative;
  padding-left: 9px;
  color: #4b89ad;
  font-size: 11px;
  font-weight: 700;
}

.services-method-output span::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 3px;
  height: 3px;
  content: "";
  border-radius: 50%;
  background: #5aadd6;
  transform: translateY(-50%);
}

.services-page .services-method-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  margin-top: 54px !important;
  padding-top: 22px !important;
  border-top: 1px solid #e2edf4 !important;
  color: #7890a3 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.services-method-bottom > span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.services-method-bottom > span > i {
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #2c95d5;
  box-shadow: 0 0 0 5px rgb(44 149 213 / 10%);
}

.services-page .services-method-bottom a {
  color: #1477da !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.services-page .services-method-bottom a i {
  margin-left: 9px !important;
  font-size: 16px !important;
  font-style: normal !important;
}

@media (max-width: 980px) {
  .services-method-top { grid-template-columns: 1fr; gap: 42px; }
  .services-method-summary { max-width: 360px; }
  .services-page .services-method-rail { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0 24px !important; }
  .services-page .services-method-rail::before { display: none !important; }
  .services-page .services-method-rail article { border-bottom: 1px solid #e3edf4 !important; }
  .services-page .services-method-rail article:nth-child(2) { border-right: 0 !important; }
}

@media (max-width: 620px) {
  .services-page .services-method-section { padding: 86px 6vw 78px !important; }
  .services-page .services-method-intro h2 { font-size: 36px !important; line-height: 1.22 !important; }
  .services-page .services-method-intro p { font-size: 14px !important; }
  .services-page .services-method-rail { grid-template-columns: 1fr !important; gap: 0 !important; margin-top: 68px !important; }
  .services-page .services-method-rail article,
  .services-page .services-method-rail article:nth-child(2) { min-height: 198px !important; padding: 54px 18px 28px !important; border-right: 0 !important; }
  .services-method-step-head { right: 18px; left: 18px; }
  .services-page .services-method-bottom { display: block !important; margin-top: 38px !important; }
  .services-page .services-method-bottom a { display: inline-block; margin-top: 20px; }
  .services-method-summary-caption { font-size: 8px; letter-spacing: .03em; }
}
