/* Icon styles */
.icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  margin-bottom: 16px;
}

.icon svg {
  width: 28px;
  height: 28px;
}

.icon-primary {
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 15%, white), color-mix(in srgb, var(--accent) 10%, white));
  border: 1px solid color-mix(in srgb, var(--accent) 20%, transparent);
}

.icon-primary svg {
  color: var(--accent);
}

/* Feature grid with icons */
.feature-card {
  text-align: center;
  padding: 24px;
}

.feature-card .icon {
  margin: 0 auto 16px;
}

/* Stats section */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 24px;
  text-align: center;
}

.stat-item {
  padding: 20px;
}

.stat-number {
  font-size: 2.5rem;
  font-weight: 800;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.2;
}

.stat-label {
  color: var(--muted);
  font-size: 0.9rem;
  margin-top: 4px;
}

/* Testimonial style */
.testimonial {
  position: relative;
  padding: 24px 24px 24px 48px;
}

.testimonial::before {
  content: '"';
  position: absolute;
  top: 12px;
  left: 16px;
  font-size: 4rem;
  line-height: 1;
  color: var(--accent);
  opacity: 0.3;
  font-family: Georgia, serif;
}

/* CTA section */
.cta-section {
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 8%, white), color-mix(in srgb, var(--accent2) 6%, white));
  text-align: center;
  padding: 48px 32px;
}

.cta-section h2 {
  margin-bottom: 16px;
}

.cta-section .btn-row {
  justify-content: center;
  margin-top: 24px;
}

/* Process steps */
.process-step {
  position: relative;
  padding-left: 60px;
}

.process-step::before {
  content: attr(data-step);
  position: absolute;
  left: 0;
  top: 0;
  width: 44px;
  height: 44px;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 700;
  font-size: 1.1rem;
}
