:root{
  --bg:#070A12;
  --panel:rgba(255,255,255,.06);
  --panel2:rgba(255,255,255,.10);
  --text:#EAF0FF;
  --muted:rgba(234,240,255,.72);
  --muted2:rgba(234,240,255,.55);
  --stroke:rgba(255,255,255,.12);

  --brand1:#7C5CFF;
  --brand2:#27E0B3;

  --radius:18px;
  --max:1120px;
  --shadow:0 12px 40px rgba(0,0,0,.45);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  color:var(--text);
  background:
    radial-gradient(1200px 700px at 15% -10%, rgba(124,92,255,.35), transparent 60%),
    radial-gradient(1000px 600px at 85% 0%, rgba(39,224,179,.25), transparent 55%),
    linear-gradient(180deg, #070A12 0%, #060814 100%);
  line-height:1.6;
}

a{color:inherit;text-decoration:none}
.container{max-width:var(--max);margin:0 auto;padding:0 1.25rem}
.container.narrow{max-width:720px}

/* Skip link (keyboard accessibility) */
.skip-link{
  position:absolute;
  left:-9999px;
  top:12px;
  padding:.6rem .9rem;
  border-radius:999px;
  background: rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color: var(--text);
  z-index:9999;
}
.skip-link:focus{
  left:12px;
}

/* Clear keyboard focus */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline: 2px solid var(--brand2);
  outline-offset: 3px;
}

/* Placeholder contrast */
::placeholder{
  color: rgba(234,240,255,.55);
}

/* Make inline links inside text look like links */
p a, .fine a, .card a, .faq-a a{
  text-decoration: underline;
  text-decoration-color: rgba(39,224,179,.55);
  text-underline-offset: 3px;
}
p a:hover, .fine a:hover, .card a:hover, .faq-a a:hover{
  text-decoration-color: rgba(39,224,179,.9);
}

/* NAV */
.nav{
  position:sticky;top:0;z-index:50;
  backdrop-filter: blur(10px);
  background: rgba(7,10,18,.72);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.nav-inner{
  height:68px;
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;
}

/* TEXT-ONLY LOGO (WORDMARK) */
.brand{display:flex;align-items:center;gap:.65rem}
.brand-mark{display:none;} /* kill any old icon usage */
.brand-name{display:none;} /* kill old single-line name */

.logo{
  display:flex;
  flex-direction:column;
  line-height:1.02;
}
.logo-main{
  font-weight:800;
  letter-spacing:.2px;
  font-size:1.05rem;
}
.logo-sub{
  margin-top:.15rem;
  font-weight:700;
  letter-spacing:.32em;
  font-size:.72rem;
  color:var(--muted2);
}

.nav-links{display:flex;align-items:center;gap:1.2rem}
.nav-links a{color:var(--muted);font-weight:600}
.nav-links a:hover{color:var(--text)}

.nav-toggle{
  display:none;
  width:44px;height:40px;border-radius:12px;
  background:transparent;border:1px solid rgba(255,255,255,.12);
  align-items:center;justify-content:center;
  gap:5px;flex-direction:column;
}
.nav-toggle:hover{
  background: rgba(255,255,255,.05);
}
.nav-toggle span{
  width:20px;height:2px;background:rgba(234,240,255,.85);
  display:block;border-radius:99px;
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.7rem 1.15rem;
  border-radius:999px;
  font-weight:750;
  background: linear-gradient(135deg, var(--brand1), var(--brand2));
  color:#03110C;
  border:0;
}
.btn:hover{filter:brightness(1.05)}
.btn.ghost{
  background: transparent;
  color: var(--text);
  border: 1px solid rgba(255,255,255,.16);
}
.btn.large{padding:.9rem 1.5rem}
.btn.wide{width:100%}

.mobile-nav{
  display:none;
  padding: .75rem 1.25rem 1.1rem;
  border-top: 1px solid rgba(255,255,255,.06);
}
.mobile-nav a{
  display:block;
  padding:.75rem 0;
  color:var(--muted);
  font-weight:650;
}
.mobile-nav a.btn{margin-top:.6rem;color:#03110C}

/* HERO */
.hero{padding:5.5rem 0 3.25rem;text-align:center}
.hero-badge{
  display:inline-flex;
  padding:.4rem .75rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  color:var(--muted);
  font-weight:650;
  margin-bottom:1.25rem;
}
.hero h1{
  margin:.25rem 0 1rem;
  font-size: clamp(2.4rem, 5vw, 3.6rem);
  line-height:1.08;
}
.hero h1 span{color:var(--brand2)}
.hero p{
  max-width: 760px;
  margin: 0 auto 1.8rem;
  color: var(--muted);
  font-size: 1.05rem;
}
.hero-cta{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap}

.hero-stats{
  margin: 2.25rem auto 0;
  max-width: 980px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.stat{
  padding: 1rem 1rem;
  border-radius: var(--radius);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
}
.stat-num{font-size:1.4rem;margin-bottom:.15rem}
.stat-label{color:var(--muted);font-weight:650}

/* SECTIONS */
.section{padding:4.5rem 0}
.section.alt{background: rgba(255,255,255,.02)}
h2{margin:0 0 .8rem;font-size:2.2rem;text-align:center}
.section-sub{
  margin: 0 auto 2.5rem;
  max-width: 860px;
  color: var(--muted);
  text-align:center;
}

.grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:1.2rem;
}
.card{
  padding: 1.65rem 1.6rem;
  border-radius: var(--radius);
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow);
}
.card h3{margin:.1rem 0 .5rem}
.card p{margin:.35rem 0 1rem;color:var(--muted)}
.ticks{margin:0;padding-left:1.05rem;color:var(--muted)}
.ticks li{margin:.45rem 0}

/* PRICING */
.pricing-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
}
.price-card{
  position:relative;
  padding: 1.7rem 1.6rem;
  border-radius: var(--radius);
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  display:flex;
  flex-direction:column;
  min-height: 420px;
}
.price-card.featured{
  background: linear-gradient(180deg, rgba(124,92,255,.18), rgba(39,224,179,.08));
  border: 1px solid rgba(255,255,255,.18);
}
.pill{
  position:absolute;top:14px;right:14px;
  padding:.35rem .6rem;
  border-radius: 999px;
  background: rgba(39,224,179,.18);
  border: 1px solid rgba(39,224,179,.35);
  color: var(--text);
  font-weight:750;
  font-size:.85rem;
}
.price-head h3{margin:.1rem 0 .25rem}
.price-desc{margin:0 0 .85rem;color: var(--muted)}
.price-figure{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 1rem;
  padding: .75rem 0 1rem;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
  margin-bottom: 1rem;
}
.price{
  font-size:2.05rem;
  font-weight:900;
  letter-spacing:-.5px;
}
.price-note{
  color:var(--muted2);
  font-weight:700;
  margin-bottom:.15rem;
  white-space:nowrap;
}
.price-meta{margin-top:.4rem}
.price-foot{margin-top:auto;padding-top: 1.1rem}

.fine{color:var(--muted2);font-size:.95rem}
.center{text-align:center}
.mono{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}

/* ABOUT */
.about{display:block}
.about-copy{max-width:980px;margin:0 auto}
.about-copy h2{text-align:center}
.about-copy p{color:var(--muted);margin:.5rem 0 0}

.about-points{
  margin-top:1.1rem;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:.9rem;
}
.mini-card{
  padding:1rem;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
}
.mini-title{font-weight:850;margin-bottom:.15rem}
.mini-text{color:var(--muted2);font-weight:650}

.about-subhead{
  margin: 2.2rem 0 .9rem;
  text-align:center;
}
.about-note{
  margin-top: .9rem;
  text-align:center;
}
.about-points.timelines{margin-top:0}

/* FAQ */
.faq{
  max-width: 920px;
  margin: 0 auto .75rem;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  overflow:hidden;
}
.faq-q{
  width:100%;
  display:flex;align-items:center;justify-content:space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
  background: transparent;
  border:0;
  color: var(--text);
  font-weight:800;
  cursor:pointer;
  text-align:left;
}
.faq-q:hover{background: rgba(255,255,255,.03)}
.faq-a{
  padding: 0 1.1rem 1rem;
  color: var(--muted);
}
.chev{opacity:.8}

/* FORM */
form{margin-top:1.25rem}
label{display:block}
label span{display:block;color:var(--muted);font-weight:700;margin:0 0 .35rem}
.form-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: .85rem;
}
input, textarea, select{
  width:100%;
  padding:.9rem 1rem;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.07);
  color: var(--text);
  outline: none;
}

select option{
  background:#070A12;
  color:#EAF0FF;
}

textarea{min-height:140px;resize:vertical}

/* Contact checklist spacing */
.email-checklist{ margin-top: 1.25rem; }
.email-checklist .mini-title{ margin-bottom: .35rem; }

/* FOOTER */
.footer{
  padding: 2rem 0;
  border-top: 1px solid rgba(255,255,255,.06);
  background: rgba(0,0,0,.15);
}
.footer-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;
  color: var(--muted);
}

/* RESPONSIVE */
@media (max-width: 980px){
  .grid, .pricing-grid{grid-template-columns: 1fr}
  .hero-stats{grid-template-columns: 1fr}
  .about-points{grid-template-columns: 1fr}
  .form-grid{grid-template-columns: 1fr}
  .nav-links{display:none}
  .nav-toggle{display:flex}
  .mobile-nav.open{display:block}
}
