:root{
  color-scheme: dark;
  --bs-body-bg:#0b1020;
  --bs-body-color:#e2e8f0;
  --bs-border-color:#20305a;
  --bs-card-bg:#121936;
  --bs-card-border-color:#20305a;
  --bs-primary:#5b8eff;
}

body{ font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
html { scroll-behavior: smooth; }

.tag{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.35rem .6rem;border-radius:999px;
  border:1px solid var(--bs-border-color);
  color:#94a3b8;font-size:.8rem;
}

.pill{ border:1px solid rgba(91,142,255,.35); background:rgba(91,142,255,.12); color:#cbdafe }

.card-gradient{ background:linear-gradient(180deg,#121936 0%, #0e1733 100%) }

.shadow-soft{ box-shadow:0 14px 34px rgba(0,0,0,.28), 0 6px 16px rgba(16,24,40,.16) }

/* Номера шагов */
.step-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;flex:0 0 28px;
  border:1px solid var(--bs-primary);border-radius:50%;
  background:rgba(91,142,255,.08);color:var(--bs-primary);
  font-weight:700;font-size:.85rem;line-height:1;font-variant-numeric:tabular-nums;
  box-shadow:inset 0 0 0 1px rgba(91,142,255,.12);
}

/* Hero benefits */
.hero-benefits .benefit{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.4rem .65rem;border:1px solid rgba(148,163,184,.2);
  border-radius:.75rem;color:#cbd5e1;font-size:.9rem;
}
.hero-benefits .benefit span{ color:var(--bs-primary); font-weight:700 }

/* Альтернативный фон секции */
.section-alt{
  position:relative;
  background:linear-gradient(0deg, rgba(255,255,255,.02), rgba(255,255,255,.02));
  border-block:1px solid rgba(255,255,255,.04);
}

/* Бейдж для тарифов */
.plan-badge{
  background:rgba(91,142,255,.12);
  border:1px solid rgba(91,142,255,.35);
  color:#cbdafe;
  padding:.25rem .5rem;border-radius:.5rem;font-size:.8rem;
}

.form-control,.form-select{
  background:rgba(255,255,255,.04);
  border-color:var(--bs-border-color);
}
.form-control:focus,.form-select:focus{
  border-color:var(--bs-primary);
  box-shadow:0 0 0 .2rem rgba(91,142,255,.25);
  background:rgba(255,255,255,.06);
}

.form-card{ border-radius:1rem }

.btn-primary{ box-shadow:0 6px 14px rgba(91,142,255,.25); transition:transform .2s ease }
.btn-primary:hover{ transform:translateY(-1px) }

.footer-line{ border-top:1px solid var(--bs-border-color) }

.brand-logo,.footer-logo{ display:inline-block; vertical-align:middle }

.section-title{ margin-bottom:.25rem }
.section-sub{ margin-bottom:1rem }

/* Доступность: видимый outline по Tab */
:focus-visible{
  outline:2px solid var(--bs-primary);
  outline-offset:2px;
}

/* Уважение к reduced motion */
@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; animation:none !important }
}
