/* ============================================================
   work-process.css
   Desktop 1440px: 7-step process grid with connecting line
   Mobile  370px:  vertical column
   ============================================================ */

.work-process {
  padding-top:    calc(40 / var(--vw-base) * 100vw);
  padding-bottom: calc(40 / var(--vw-base) * 100vw);
  background-color: #F4EFEF;
}

.work-process .container {
  display: flex;
  flex-direction: column;
  gap: calc(30 / var(--vw-base) * 100vw);
}

.work-process__header {
  display: flex;
  flex-direction: column;
  gap: calc(20 / var(--vw-base) * 100vw);
}

.work-process__title {
  font-size:   calc(35 / var(--vw-base) * 100vw);
  font-weight: 600;
  line-height: 1.14;
  color: var(--color-text);
}

.work-process__subtitle {
  font-size:   calc(16 / var(--vw-base) * 100vw);
  font-weight: 400;
  line-height: 1.25;
  color: var(--color-text);
}

.work-process__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: calc(50 / var(--vw-base) * 100vw);
  position: relative;
}

.work-process__grid::before {
  content: "";
  position: absolute;
  top: calc(27 / var(--vw-base) * 100vw);
  left: 0;
  right: 0;
  height: calc(1.5 / var(--vw-base) * 100vw);
  background-color: #d2d2d2;
}

.work-process__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: calc(10 / var(--vw-base) * 100vw);
  position: relative;
}

.work-process__icon {
	position: relative;
	z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width:  calc(55 / var(--vw-base) * 100vw);
  height: calc(55 / var(--vw-base) * 100vw);
  margin-bottom: calc(5 / var(--vw-base) * 100vw);
  border-radius: 50%;
  background-color: var(--color-white);
}

.work-process__icon svg {
  width:  calc(24 / var(--vw-base) * 100vw);
  height: calc(24 / var(--vw-base) * 100vw);
  fill: var(--color-red);
  stroke: none;
}

.work-process__step-title {
  font-size:   calc(14 / var(--vw-base) * 100vw);
  font-weight: 600;
  line-height: 1.43;
  color: var(--color-text);
}

.work-process__step-text {
  font-size:   calc(12 / var(--vw-base) * 100vw);
  font-weight: 400;
  line-height: 1.17;
  color: var(--color-text);
}

/* ── MOBILE ─────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .work-process {
    padding-top:    calc(20 / var(--vw-base) * 100vw);
    padding-bottom: calc(20 / var(--vw-base) * 100vw);
  }

  .work-process .container {
    gap: calc(20 / var(--vw-base) * 100vw);
  }

  .work-process__title {
    font-size:   calc(26 / var(--vw-base) * 100vw);
    line-height: 1.15;
  }

  .work-process__subtitle {
    font-size: calc(14 / var(--vw-base) * 100vw);
    line-height: 1.43;
  }

  .work-process__grid {
    display: flex;
    flex-direction: column;
    gap: calc(15 / var(--vw-base) * 100vw);
    position: relative;
    align-items: center;
  }

  .work-process__grid::before {
    display: none;
  }

  .work-process__step-title {
    font-size: calc(16 / var(--vw-base) * 100vw);
  }

  .work-process__step-text {
    font-size: calc(14 / var(--vw-base) * 100vw);
  }
}
