:root{
  --bg:#060815; --text:#e8ecf7; --muted:#b7c1d1; --line:rgba(255,255,255,.08);
  --accent:#7a6cff; --accent2:#2ea1ff; --radius:16px; --maxw:1200px;
}
*{box-sizing:border-box}html,body{margin:0;height:100%}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial; background:var(--bg); color:var(--text); line-height:1.55}
a{text-decoration:none;color:inherit}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* Nav */
header{position:sticky;top:0;z-index:20;background:rgba(6,8,21,.6);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}

/* Brand with logo */
.brand{display:flex;align-items:center;gap:.65rem;font-weight:800}
.brand .logo{display:block;height:26px; width:auto}
.brand .brand-text{display:none} /* hide text when logo present */
.brand-badge{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}

/* Pills nav */
nav ul{display:flex;gap:14px;list-style:none;align-items:center;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:999px;padding:4px 8px}
nav a{padding:10px 14px;border-radius:999px;color:var(--muted);border:1px solid transparent}
nav a:hover{border-color:var(--line);color:var(--text)}
nav .cta{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none}

/* Hero with starfield canvas + conic glow */
.hero{position:relative;min-height:72vh;display:grid;place-items:center;background:#060815;overflow:hidden;isolation:isolate}
#stars{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0}
.hero::before{content:"";position:absolute;left:50%;top:25%;transform:translate(-50%,-50%);width:140vmax;height:140vmax;border-radius:50%;
  background:conic-gradient(from var(--a,0deg), #7a6cff, #2ea1ff, #ff7ad9, #7a6cff);
  filter:blur(90px) saturate(130%);opacity:.35;animation:heroSpin 36s linear infinite;z-index:0}
.hero::after{content:"";position:absolute;inset:0;background:
  radial-gradient(80% 60% at 50% 25%, rgba(6,8,21,0) 35%, rgba(6,8,21,.55) 80%),
  linear-gradient(to bottom, rgba(6,8,21,0) 0%, rgba(6,8,21,.35) 70%, rgba(6,8,21,.65) 100%);
  pointer-events:none;z-index:1}
.hero-content{position:relative;z-index:2;text-align:center;max-width:900px;padding:32px 18px;background:transparent!important;box-shadow:none!important}
.hero h1{font-size:clamp(32px,5vw,56px);line-height:1.1;margin:.25rem 0 .5rem}
.hero p{color:var(--muted);max-width:800px;margin:0 auto 1rem}

.btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;padding:12px 16px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text)}
.btn:hover{background:rgba(255,255,255,.08);border-color:transparent}
.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;color:#fff}
.btn-secondary{background:rgba(255,255,255,.06)}

/* Consistent outlines for every button (incl. primary) */
.btn {
  border: 1px solid var(--line);
}

/* Primary keeps the gradient but now also has an outline */
.btn-primary {
  border: 1px solid rgba(122,108,255,.45);                  /* visible like others */
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06),        /* inner crispness */
              0 0 0 1px rgba(122,108,255,.25);              /* outer ring */
}

.btn-primary:hover {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.10),
              0 0 0 1px rgba(122,108,255,.40);
}


/* Sections & cards */
.section{padding:72px 0;border-top:1px solid var(--line)}
.section h2{font-size:clamp(28px,4.2vw,40px);text-align:center;margin:0 0 .5rem}
.section .lead{text-align:center;color:var(--muted);max-width:780px;margin:0 auto 28px}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:
  linear-gradient(180deg, rgba(122,108,255,.08), transparent 40%),
  repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0 1px, transparent 1px 40px),
  repeating-linear-gradient(90deg, rgba(255,255,255,.02) 0 1px, transparent 1px 40px),
  #0e1730; border:1px solid var(--line); border-radius:16px; padding:18px}
.icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;margin-bottom:8px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}

/* Process */
.process{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{background:
  linear-gradient(180deg, rgba(122,108,255,.08), transparent 40%),
  repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0 1px, transparent 1px 40px),
  repeating-linear-gradient(90deg, rgba(255,255,255,.02) 0 1px, transparent 1px 40px),
  #0e1730; border:1px solid var(--line); border-radius:16px; padding:18px}
.step .n{display:inline-block;background:rgba(255,255,255,.08);padding:4px 10px;border-radius:8px;margin-bottom:8px;font-weight:700;color:var(--text)}

/* Pricing */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tier{background:
  linear-gradient(180deg, rgba(122,108,255,.08), transparent 40%),
  repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0 1px, transparent 1px 40px),
  repeating-linear-gradient(90deg, rgba(255,255,255,.02) 0 1px, transparent 1px 40px),
  #0e1730; border:1px solid var(--line); border-radius:16px; padding:22px; position:relative}
.tier .price{font-size:34px;font-weight:800;margin:8px 0}
.tier .build{position:absolute;right:16px;top:16px;color:#cfd7ff;font-size:.9rem;opacity:.9}

/* CTA */
.cta{background:radial-gradient(600px 360px at 50% -10%, rgba(46,161,255,.2), transparent 60%);padding:64px 0;text-align:center}
.cta .box{display:inline-block;background:#0e1730;border:1px solid var(--line);border-radius:16px;padding:24px 26px}
.cta .box p{color:var(--muted)}

/* Footer */
footer{border-top:1px solid var(--line);padding:26px 0;color:var(--muted)}
footer .row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer .logo{height:22px;width:auto;opacity:.9}

/* Forms */
label{display:block;color:var(--muted);font-size:14px;margin-bottom:4px}
input,textarea{width:100%;padding:10px 12px;border-radius:10px;background:#0a152e;border:1px solid var(--line);color:var(--text)}
textarea{min-height:120px;resize:vertical}

/* Responsive */
@media (max-width:980px){.grid,.process,.pricing{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.grid,.process,.pricing{grid-template-columns:1fr} .nav{flex-direction:column;height:auto;padding:10px 0}}

@keyframes heroSpin{to{--a:360deg}}
