.how-it-works {
  padding: var(--sp-10) 0;
  background: var(--c-purple-dark);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.how-it-works::before {
  content: '';
  position: absolute;
  top: -200px; right: -200px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(232,180,188,0.18), transparent 60%);
  pointer-events: none;
}
.how-it-works::after {
  content: '';
  position: absolute;
  bottom: -200px; left: -200px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(107,91,149,0.30), transparent 60%);
  pointer-events: none;
}
.steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-6);
  position: relative;
  z-index: 2;
}
.step {
  text-align: left;
}
.step-num {
  display: inline-block;
  font-family: var(--f-display);
  font-size: 3rem;
  font-weight: 600;
  background: linear-gradient(135deg, var(--c-rose), var(--c-yellow));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin-bottom: var(--sp-3);
  line-height: 1;
}
.step h3 {
  color: #fff;
  margin-bottom: var(--sp-3);
}
.step p {
  color: rgba(255,255,255,0.7);
  line-height: 1.6;
}

@media (max-width: 720px) {
  .steps { grid-template-columns: 1fr; gap: var(--sp-6); }
}
