:root{
  --hero-start:#7c3aed; 
  --hero-end:#0ea5e9;   
  --accent:#00d4a6;   
  --surface:#ffffff;
  --text:#0f172a;
}

body{ color:var(--text); }

.bg-gradient-hero{
  background: linear-gradient(135deg,var(--hero-start),var(--hero-end));
}

.btn-hero{
  background: var(--accent);
  border: none;
  color:#062a24;
}
.btn-hero:hover{ filter: brightness(0.95); }

.glassy{
  background: rgba(255,255,255,0.12);
  backdrop-filter: blur(8px);
  border-radius: 1rem;
  color: #fff;
}
.glassy .form-control, .glassy .form-select{
  background: rgba(255,255,255,0.9);
  border: 0;
}

.feature .bi{ color: var(--hero-start); }

.step{
  border: 1px dashed rgba(2,6,23,.15);
  border-radius: .75rem;
  background: #fff;
}
.step-num{
  width: 36px;height:36px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background: var(--accent);color:#062a24;font-weight:700;
}

.price-card .display-6{ letter-spacing: -0.5px; }
.price-card{ border-radius: 1rem; }

footer a{ text-decoration: none; }
footer a:hover{ text-decoration: underline; }

.skip-link{
  position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;
}
.skip-link:focus{ position:static;width:auto;height:auto; }

.navbar .nav-link.active{
  position: relative; font-weight:600;
}
.navbar .nav-link.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:3px;background:var(--accent);border-radius:2px;
}

:focus-visible{
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}
