:root{
  --violet: #6F2DBD;
  --teal: #0FA3B1;
  --lime: #B9E769;
  --navy: #0B1D51;
  --ink: #0f172a;
  --soft: #F9FAFB;
}

html, body{
  font-family: "Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color: var(--ink);
  background: #fff;
}

h1,h2,h3,h4,h5{
  font-family: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.fw-extrabold{ font-weight: 800; }
.nav-link.active{ color: var(--violet)!important; font-weight:600; }
.nav-link:hover{ color: var(--violet); }

.hero-neo{
  background:
    radial-gradient(1000px 500px at 10% 10%, rgba(255,255,255,.10), rgba(255,255,255,0)),
    linear-gradient(135deg, var(--violet), var(--teal));
}
.shadow-neo{ box-shadow: 0 10px 30px rgba(11,29,81,.25); }

.bg-soft{ background: var(--soft); }

.card{ border-radius: 1rem; }
.card .bi{ vertical-align:-2px; }

.text-violet{ color: var(--violet)!important; }
.text-teal{ color: var(--teal)!important; }

.btn-teal{
  --bs-btn-bg: var(--teal);
  --bs-btn-border-color: var(--teal);
  --bs-btn-hover-bg: #0c8996;
  --bs-btn-hover-border-color: #0c8996;
  color:#fff;
}

.price-card.highlight{ outline: 3px solid var(--violet); }
.price-card .display-6{ color: var(--navy); }

.step-badge-square{
  display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center;
  border-radius:.75rem; background: var(--violet); color:#fff; font-weight:700;
}

.glass{
  background: rgba(255,255,255,.7);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(111,45,189,.1);
}

.section-cta{
  background:
    radial-gradient(800px 400px at 80% 10%, rgba(185,231,105,.25), rgba(185,231,105,0)),
    linear-gradient(135deg, #ffffff, #f3f7ff);
  border-top: 1px solid rgba(0,0,0,.04);
}

/* Accessibility helpers */
.hp-field{ position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
a{ text-underline-offset: 2px; }

/* Breadcrumb contrast */
.breadcrumb a{ text-decoration: none; }
