/* 协作阶段用细线与节点表示顺序，不提供点击操作。 */
.service-process { padding: 64px 0 76px; background: #faf9f7; }
.service-process > .wrap { width: calc(100% - 144px); max-width: 1296px; }
.service-process .process-eyebrow { display: flex; align-items: center; gap: 18px; margin: 0 0 24px; color: #bd2d2d; font-size: 16px; line-height: 1.6; }
.service-process .process-eyebrow::before { content: ""; width: 38px; height: 1px; background: #bd2d2d; flex-shrink: 0; }
.service-process h2 { font-size: 52px; line-height: 1.35; }
.service-process .process-title-break { display: none; }
.service-process .collaboration-steps { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 44px; margin: 48px 0 0; padding: 0; list-style: none; }
.service-process .collaboration-steps::before { content: ""; position: absolute; top: 62px; right: 0; left: 0; height: 1px; background: #d7d3cd; }
.service-process .collaboration-step { position: relative; min-width: 0; }
.service-process .phase-marker { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 14px; height: 90px; }
.service-process .phase-number { color: #bd2d2d; font-size: 28px; line-height: 1.35; }
.service-process .phase-node { display: block; width: 20px; height: 20px; border-radius: 50%; background: #bd2d2d; }
.service-process .phase-copy h3 { margin: 20px 0 14px; font-size: 28px; line-height: 1.4; }
.service-process .phase-description { margin: 0; color: #6c6961; font-size: 21px; line-height: 1.8; }
.service-process .phase-deliverable { margin: 22px 0 0; color: #6c6961; font-size: 19px; line-height: 1.8; }
.service-process .phase-deliverable span { color: #bd2d2d; }
@media (max-width: 1150px) {
  .service-process > .wrap { width: calc(100% - 88px); }
  .service-process h2 { font-size: 46px; }
  .service-process .collaboration-steps { gap: 20px; }
  .service-process .collaboration-steps::before { top: 55px; }
  .service-process .phase-marker { height: 82px; }
  .service-process .phase-number { font-size: 24px; }
  .service-process .phase-node { width: 18px; height: 18px; }
  .service-process .phase-copy h3 { margin-top: 18px; font-size: 24px; }
  .service-process .phase-description { font-size: 16px; line-height: 1.9; }
  .service-process .phase-deliverable { margin-top: 20px; font-size: 16px; }
}
@media (max-width: 980px) {
  .service-process > .wrap { width: calc(100% - 64px); }
  .service-process h2 { font-size: 42px; }
  .service-process .collaboration-steps { grid-template-columns: 1fr; gap: 0; }
  .service-process .collaboration-steps::before { display: none; }
  .service-process .collaboration-step { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 20px; padding-bottom: 36px; }
  .service-process .collaboration-step:not(:last-child)::before { content: ""; position: absolute; left: 16px; top: 14px; bottom: -14px; width: 1px; background: #d7d3cd; }
  .service-process .collaboration-step:last-child { padding-bottom: 0; }
  .service-process .phase-marker { display: block; height: auto; }
  .service-process .phase-number { position: absolute; left: 52px; top: 0; font-size: 18px; line-height: 1.4; }
  .service-process .phase-node { width: 14px; height: 14px; margin: 7px auto 0; }
  .service-process .phase-copy { padding-top: 34px; }
  .service-process .phase-copy h3 { margin: 0 0 12px; font-size: 26px; }
  .service-process .phase-description { font-size: 19px; line-height: 1.85; }
  .service-process .phase-deliverable { margin-top: 16px; font-size: 17px; }
}
@media (max-width: 700px) {
  .service-process { padding: 44px 0 48px; }
  .service-process > .wrap { width: calc(100% - 44px); }
  .service-process .process-eyebrow { gap: 14px; margin-bottom: 18px; font-size: 14px; }
  .service-process .process-eyebrow::before { width: 30px; }
  .service-process h2 { font-size: 34px; }
  .service-process .process-title-break { display: block; }
  .service-process .collaboration-steps { margin-top: 32px; }
  .service-process .collaboration-step { grid-template-columns: 28px minmax(0, 1fr); gap: 18px; }
  .service-process .collaboration-step:not(:last-child)::before { left: 14px; top: 13px; bottom: -13px; }
  .service-process .phase-number { left: 46px; }
  .service-process .phase-node { width: 12px; height: 12px; }
  .service-process .phase-copy { padding-top: 32px; }
  .service-process .phase-copy h3 { font-size: 24px; }
  .service-process .phase-description { font-size: 17px; line-height: 1.9; }
  .service-process .phase-deliverable { font-size: 16px; }
}
