:root {
  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",
    Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

:root {
  --accent: #6f42c1;
  --accent-2: #0d6efd;
  --bg-soft: #f6f3ff;
}

body {
  font-family: var(--font-sans);
}
.bg-gradient-light {
  background: linear-gradient(0deg, var(--bg-soft), #ffffff);
}

.brand-badge {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  display: inline-block;
}

.btn-accent {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
.btn-accent:hover,
.btn-accent:focus {
  background: #5a34a2;
  border-color: #5a34a2;
  color: #fff;
}

.service-card i,
.price-card i {
  color: var(--accent);
}
.border-accent {
  border-color: var(--accent) !important;
}
.step-number {
  display: inline-block;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  line-height: 36px;
  font-weight: 700;
}

.visually-hidden-focusable:not(:focus):not(:focus-within) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.price-card .display-6 {
  letter-spacing: -0.02em;
}

footer .btn {
  --bs-btn-border-radius: 0.75rem;
}
