:root{
  --pc-purple:#6f2dbd;
  --pc-purple-2:#4c1d95;
  --pc-lilac:#ede9fe;
  --pc-ink:#0f172a;
}
body { color: var(--pc-ink); }
.bg-purple { background: var(--pc-purple) !important; }
.text-purple { color: var(--pc-purple) !important; }
.btn-purple {
  background: var(--pc-purple);
  border-color: var(--pc-purple);
  color: #fff;
}
.btn-purple:hover, .btn-purple:focus {
  background: var(--pc-purple-2);
  border-color: var(--pc-purple-2);
  color: #fff;
}
.hero {
  background:
    radial-gradient(1200px circle at 20% 10%, rgba(237,233,254,0.95), rgba(255,255,255,0) 55%),
    linear-gradient(180deg, rgba(111,45,189,0.12), rgba(255,255,255,0));
}
.badge-pill{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.35rem .75rem;
  border-radius:999px;
  background: rgba(111,45,189,0.08);
  border: 1px solid rgba(111,45,189,0.18);
  color: var(--pc-purple-2);
  font-weight:600;
  font-size:.95rem;
}
.card-soft{
  border: 1px solid rgba(15,23,42,0.08);
  box-shadow: 0 10px 25px rgba(15,23,42,0.06);
  border-radius: 1rem;
}
.section-title{ letter-spacing: -0.02em; }
.checklist li{ margin-bottom:.5rem; }
.small-muted{ color: rgba(15,23,42,0.7); }
.footer-links a { color: rgba(255,255,255,0.85); text-decoration: none; }
.footer-links a:hover { color: #fff; text-decoration: underline; }
.skip-link{
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{
  position:static; width:auto; height:auto; padding:.5rem .75rem; background:#fff; border-radius:.5rem;
  display:inline-block; margin: .75rem;
}
/* Make the sent alert appear nicely below the sticky nav */
.sent-alert-wrap{
  position: sticky;
  top: 72px;
  z-index: 1020;
}
