:root{
  --nv-bg: #0b1220;
  --nv-card: rgba(255,255,255,.06);
  --nv-border: rgba(255,255,255,.12);
  --nv-text: #e9eefc;
  --nv-muted: rgba(233,238,252,.72);
  --nv-accent: #7c5cff;
  --nv-accent2:#35d0ba;
  --nv-warm:#ffb703;
}

*{box-sizing:border-box;}
html,body{height:100%;}
body{
  font-size:16px;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1200px 600px at 12% 10%, rgba(124,92,255,.25), transparent 60%),
              radial-gradient(900px 520px at 88% 18%, rgba(53,208,186,.18), transparent 60%),
              radial-gradient(900px 520px at 55% 95%, rgba(255,183,3,.12), transparent 60%),
              var(--nv-bg);
  color: var(--nv-text);
}

a{color:inherit;}
.text-muted-nv{color:var(--nv-muted)!important;}
.bg-glass{
  background: var(--nv-card);
  border: 1px solid var(--nv-border);
  backdrop-filter: blur(10px);
}
.nv-shadow{box-shadow: 0 16px 40px rgba(0,0,0,.35);}
.rounded-xxl{border-radius: 1.25rem;}

.navbar{
  border-bottom: 1px solid var(--nv-border);
  background: rgba(11,18,32,.65);
  backdrop-filter: blur(10px);
}
.navbar .nav-link{opacity:.9;}
.navbar .nav-link:hover{opacity:1;}

.hero{
  padding: 5.5rem 0 3rem;
}
.hero-badge{
  display:inline-flex; gap:.5rem; align-items:center;
  padding:.4rem .75rem;
  border-radius:999px;
  border:1px solid var(--nv-border);
  background: rgba(255,255,255,.04);
  font-size:.95rem;
}
.hero h1{font-weight:800; letter-spacing:-.02em;}
.hero p{font-size:1.05rem; color:var(--nv-muted);}

.btn-nv{
  border-radius: 999px;
  padding: .85rem 1.1rem;
  font-weight: 700;
  border: 1px solid rgba(124,92,255,.55);
  background: linear-gradient(135deg, rgba(124,92,255,.92), rgba(53,208,186,.92));
  color: #08101c;
}
.btn-nv:hover{filter: brightness(1.05); transform: translateY(-1px);}
.btn-outline-nv{
  border-radius: 999px;
  padding: .85rem 1.1rem;
  font-weight: 700;
  border: 1px solid var(--nv-border);
  background: rgba(255,255,255,.03);
  color: var(--nv-text);
}
.btn-outline-nv:hover{background: rgba(255,255,255,.06);}

.section{
  padding: 3.2rem 0;
}
.section-title{
  font-weight:800;
  letter-spacing:-.01em;
}
.kpi{
  padding: 1.1rem 1.1rem;
}
.kpi .kpi-icon{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  background: rgba(124,92,255,.15);
  border:1px solid rgba(124,92,255,.25);
}
.kpi .kpi-value{font-size:1.25rem;font-weight:800;}
.kpi .kpi-label{color:var(--nv-muted);}

.feature-card{
  height:100%;
  padding: 1.25rem;
}
.feature-card .icon{
  width:44px;height:44px;border-radius:14px;
  display:grid;place-items:center;
  background: rgba(53,208,186,.14);
  border:1px solid rgba(53,208,186,.25);
}
.feature-card h3{font-size:1.05rem;font-weight:800;margin-top:.9rem;}
.feature-card p{color:var(--nv-muted);margin-bottom:0;}

.step{
  display:flex; gap:1rem;
}
.step .n{
  width:40px;height:40px;border-radius:14px;
  display:grid;place-items:center;
  background: rgba(255,183,3,.12);
  border:1px solid rgba(255,183,3,.22);
  font-weight:900;
}
.step p{color:var(--nv-muted); margin:0;}

.quote{
  padding: 1.3rem;
}
.quote .stars i{margin-right:.15rem; opacity:.9;}
.quote p{color:var(--nv-muted); margin: .75rem 0 0;}

.faq .accordion-item{
  background: rgba(255,255,255,.03);
  border: 1px solid var(--nv-border);
  border-radius: 1rem;
  overflow:hidden;
  margin-bottom: .75rem;
}
.faq .accordion-button{
  background: transparent;
  color: var(--nv-text);
  font-weight: 800;
}
.faq .accordion-button:focus{box-shadow:none;}
.faq .accordion-button:not(.collapsed){
  color: var(--nv-text);
  background: rgba(255,255,255,.04);
}
.faq .accordion-body{color: var(--nv-muted);}

.form-control, .form-select{
  background: rgba(255,255,255,.03);
  border:1px solid var(--nv-border);
  color: var(--nv-text);
  border-radius: 1rem;
  padding:.75rem .9rem;
}
.form-control:focus, .form-select:focus{
  box-shadow:none;
  border-color: rgba(124,92,255,.55);
}
.form-control::placeholder{color: rgba(233,238,252,.55);}

.footer{
  border-top: 1px solid var(--nv-border);
  padding: 2.5rem 0 1.5rem;
  color: var(--nv-muted);
}
.footer a{text-decoration:none;}
.footer a:hover{text-decoration:underline;}

.cookie-banner{
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 1050;
  display:none;
}
.cookie-banner .inner{
  padding: 1rem 1rem;
}
.small-note{font-size:.95rem; color: var(--nv-muted);}

.page-hero{
  padding: 4.6rem 0 2.2rem;
}
.page-hero p{color:var(--nv-muted);}

.img-cover{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius: 1.25rem;
  border:1px solid var(--nv-border);
}
.badge-soft{
  border:1px solid var(--nv-border);
  background: rgba(255,255,255,.04);
  color: var(--nv-text);
  font-weight:700;
  padding:.45rem .7rem;
  border-radius: 999px;
}
