.steps-section {
  font-family:
    Inter,
    -apple-system,
    sans-serif;
  -webkit-font-smoothing: antialiased;
  padding: 28px 0 24px;
}
.steps-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}
.steps__header {
  text-align: center;
  margin-bottom: 48px;
}
.steps__tag {
  display: inline-block !important;
  background: #f3eeff !important;
  color: #2d1b69 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  padding: 6px 16px !important;
  border-radius: 100px !important;
  margin-bottom: 28px !important;
}
h2.steps__title,
.steps__title {
  font-family:
    Inter,
    -apple-system,
    sans-serif !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  letter-spacing: -.5px !important;
  margin: 0 0 24px !important;
  color: #1a1a2e !important;
  line-height: 1.25 !important;
}
.steps__timeline {
  display: flex;
  align-items: flex-start;
  margin-bottom: 48px;
}
.steps__step {
  flex: 1;
  text-align: center;
  position: relative;
  padding: 0 16px;
}
.steps__icon-wrap {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid #2d1b69;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  font-size: 36px;
  position: relative;
  z-index: 2;
}
.steps__num-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #2d1b69;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}
.steps__step-title {
  font-family:
    Inter,
    -apple-system,
    sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 8px;
  line-height: 1.3;
}
.steps__step-text {
  font-family:
    Inter,
    -apple-system,
    sans-serif;
  font-size: 13px;
  color: #888;
  line-height: 1.6;
}
.steps__step:last-child .steps__line-area {
  display: none;
}
.steps__line-area {
  position: absolute;
  top: 32px;
  left: calc(50% + 44px);
  right: calc(-50% + 44px);
  height: 18px;
  z-index: 1;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.steps__chevrons {
  display: flex;
  gap: 4px;
  animation: steps-chev-slide 14s linear infinite;
}
.steps__chev {
  color: #2d1b69;
  font-size: 20px;
  font-weight: 900;
  opacity: .15;
  animation: steps-chev-glow 2.5s ease-in-out infinite;
  flex-shrink: 0;
}
.steps__chev:nth-child(3n+1) {
  animation-delay: 0s;
}
.steps__chev:nth-child(3n+2) {
  animation-delay: .3s;
}
.steps__chev:nth-child(3n) {
  animation-delay: .6s;
}
@keyframes steps-chev-glow {
  0%, to {
    opacity: .15;
  }
  50% {
    opacity: .7;
  }
}
@keyframes steps-chev-slide {
  0% {
    transform: translate(-50%);
  }
  to {
    transform: translate(0);
  }
}
.steps__cta {
  text-align: center;
}
.steps__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #2d1b69;
  color: #fff;
  padding: 14px 40px;
  border-radius: 14px;
  font-family:
    Inter,
    -apple-system,
    sans-serif;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .02em;
  transition: all .25s;
  box-shadow: 0 4px 16px #2d1b6940;
  border: none;
  cursor: pointer;
}
.steps__btn:hover {
  background: #3d2b79;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px #2d1b6959;
  color: #fff;
}
@media (max-width: 768px) {
  .steps-section {
    padding: 24px 0;
  }
  h2.steps__title,
  .steps__title {
    font-size: 24px !important;
  }
  .steps__timeline {
    flex-direction: column;
    gap: 32px;
  }
  .steps__line-area {
    display: none !important;
  }
  .steps__btn {
    font-size: 14px;
    padding: 14px 28px;
    width: 100%;
    justify-content: center;
    white-space: nowrap;
  }
}
