/* assets/css/blocks/stages.css */
.stages { background: #fff; color: #111; box-sizing: border-box; font-family: "MontserratCustom", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.stages__wrap { max-width: 1200px; margin: 0 auto; padding: 54px 20px; box-sizing: border-box; }
.stages__title { margin: 0 0 32px; text-align: center; font-weight: 800; font-size: 28px; }

/* grid: 4 columns on desktop */
.stages__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 36px;
  align-items: start;
}

/* each card */
.stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 18px;
  padding: 6px 12px;
  box-sizing: border-box;
}

/* image */
.stage__img {
  width: 160px;
  height: 160px;
  object-fit: cover;
  display: block;
  border-radius: 6px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.06);
}

/* heading & text */
.stage__heading {
  margin: 0;
  font-family: "MontserratCustom", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 800;
  font-size: 18px;
  line-height: 1.05;
}
.stage__desc {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: #444;
  font-size: 14px;
  line-height: 1.7;
  max-width: 260px; /* держим читабельную ширину текста */
}

/* tablet: 2 columns */
@media (max-width: 920px) {
  .stages__wrap { padding: 42px 16px; }
  .stages__grid { grid-template-columns: repeat(2, 1fr); gap: 28px; }
  .stage__img { width: 140px; height: 140px; }
  .stage__desc { max-width: none; font-size: 14px; }
}

/* mobile: 1 column */
@media (max-width: 480px) {
  .stages__wrap { padding: 30px 12px; }
  .stages__grid { grid-template-columns: 1fr; gap: 18px; }
  .stage { text-align: center; align-items: center; }
  .stage__img { width: 120px; height: 120px; }
  .stage__heading { font-size: 17px; }
  .stage__desc { font-size: 14px; line-height: 1.6; padding: 0 8px; }
}
