.page-process .section-process-line,
.page-process .section-process-stages {
  padding-block: clamp(48px, 5vw, 68px);
}

.page-process .section-process-line .diagram-wrap {
  width: 100%;
  max-width: none;
}

.page-process .section-process-line .system-flow {
  width: 100%;
}

.page-process .section-process-line .system-flow__path {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
}

.page-process .section-process-line .system-flow__node {
  min-height: 0;
  height: auto;
}

.page-process .process-stage-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 18px;
}

.page-process .process-stage-grid .card {
  min-height: 0;
  height: 100%;
  padding: 22px 24px;
}

.page-process .process-stage-grid .card h3 {
  margin-bottom: 10px;
}

.page-process .process-stage-grid .card p {
  margin: 3px 0;
  line-height: 1.45;
}

@media (min-width: 1440px) {
  .page-process .process-stage-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
  }

  .page-process .process-stage-grid .card {
    padding: 20px;
  }

  .page-process .process-stage-grid .card h3 {
    font-size: 1.08rem;
  }

  .page-process .process-stage-grid .card p {
    font-size: .91rem;
  }
}

@media (max-width: 1180px) {
  .page-process .section-process-line .system-flow__path {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .page-process .section-process-line .system-flow__path,
  .page-process .process-stage-grid {
    grid-template-columns: 1fr;
  }
}
