/* ============================================
   HRVICO — How It Works
   ============================================ */

.how-it-works {
  position: relative;
}

.how-it-works__steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-xl);
  position: relative;
}

/* Connecting line behind steps */
.how-it-works__steps::before {
  content: '';
  position: absolute;
  top: 52px;
  left: calc(16.66% + 20px);
  right: calc(16.66% + 20px);
  height: 2px;
  background: linear-gradient(90deg,
    var(--accent-purple),
    var(--accent-blue),
    var(--accent-cyan)
  );
  opacity: 0.3;
  z-index: 0;
}

.step-card {
  text-align: center;
  position: relative;
  z-index: 1;
}

.step-card__number {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--glass-bg);
  border: 2px solid rgba(108, 63, 197, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--space-xl);
  position: relative;
}

.step-card__number-inner {
  font-family: var(--font-display);
  font-size: var(--fs-xl);
  font-weight: var(--fw-bold);
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.step-card__number::after {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: var(--gradient-primary);
  opacity: 0.1;
  z-index: -1;
}

.step-card__icon {
  font-size: 32px;
  margin-bottom: var(--space-lg);
}

.step-card__title {
  font-family: var(--font-display);
  font-size: var(--fs-xl);
  font-weight: var(--fw-semibold);
  color: var(--text-primary);
  margin-bottom: var(--space-md);
}

.step-card__desc {
  font-size: var(--fs-sm);
  color: var(--text-secondary);
  line-height: var(--lh-relaxed);
  max-width: 300px;
  margin: 0 auto;
}

.how-it-works__cta {
  text-align: center;
  margin-top: var(--space-3xl);
}

@media (max-width: 768px) {
  .how-it-works__steps {
    grid-template-columns: 1fr;
    gap: var(--space-2xl);
  }

  .how-it-works__steps::before {
    display: none;
  }
}
