:root{
  --bg:#0f172a;
  --card:#162033;
  --text:#f8fafc;
  --muted:#94a3b8;
  --accent:#00c8ff;
  --accent2:#04dc36;
  --border:#293548;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family:system-ui,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}

.page{
  max-width:1200px;
  margin:auto;
  padding:2rem;
}

.hero{
  text-align:center;
  padding:4rem 0;
}

.logo{
  max-width:220px;
  margin-bottom:1rem;
}

.badge{
  display:inline-block;
  background:rgba(0,200,255,.15);
  color:var(--accent);
  padding:0.4rem 0.8rem;
  border-radius:30px;
  font-size:.9rem;
}

h1{
  font-size:3rem;
  margin:1rem 0;
}

.hero-text{
  max-width:720px;
  margin:0 auto;
  color:var(--muted);
}

.hero-buttons{
  margin-top:2rem;
  display:flex;
  gap:1rem;
  justify-content:center;
  flex-wrap:wrap;
}

.btn-primary,
.btn-secondary{
  text-decoration:none;
  padding:0.9rem 1.4rem;
  border-radius:10px;
  transition:.2s;
}

.btn-primary{
  background:var(--accent);
  color:#000;
  font-weight:700;
}

.btn-secondary{
  border:1px solid var(--border);
  color:#fff;
}

.features,
.gateway-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1rem;
  margin:3rem 0;
}

.feature,
.gateway-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:12px;
  padding:1.2rem;
}

.pricing,
.gateway,
.cta{
  margin:4rem 0;
}

.price{
  font-size:2rem;
  color:var(--accent2);
  font-weight:700;
  margin:1rem 0;
}

.section-label{
  color:var(--accent);
  font-size:.9rem;
  text-transform:uppercase;
}

.list{
  margin-top:1rem;
  padding-left:1.25rem;
}

.footer{
  border-top:1px solid var(--border);
  padding-top:2rem;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:1rem;
  color:var(--muted);
}

@media(max-width:768px){

  h1{
    font-size:2rem;
  }

  .page{
    padding:1rem;
  }

}