:root{
  --primary:#4f46e5;
  --dark:#020617;
  --text:#475569;
  --light:#f8fafc;
  --border:#e5e7eb;
  --radius:16px;
}
*{margin:0;padding:0;box-sizing:border-box;font-family:'Inter',sans-serif;}
body{color:var(--dark);line-height:1.7;background:#fff;}
a{text-decoration:none;color:inherit;}
.container{width:90%;max-width:1200px;margin:auto}

/* HEADER */
header{
  position:fixed;top:0;width:100%;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
  z-index:999;
}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{font-size:24px;font-weight:800;color:var(--primary)}
.nav a{margin-left:25px;color:var(--text);font-weight:500}

.btn{padding:12px 22px;border-radius:12px;font-weight:600;transition:.3s}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:#3730a3}
.btn-outline{border:1px solid var(--primary);color:var(--primary)}

/* HERO */
.hero{
  padding:160px 0 120px;
  text-align:center;
}
.hero h1{font-size:56px;font-weight:800;line-height:1.15;margin-bottom:20px}
.hero span{color:var(--primary)}
.hero p{font-size:20px;color:var(--text);max-width:720px;margin:auto}
.hero-actions{margin-top:35px}
.hero-actions a{margin:0 12px}

/* SECTIONS */
section{padding:110px 0}
.section-title{text-align:center;margin-bottom:70px}
.section-title h2{font-size:42px;margin-bottom:12px}
.section-title p{color:var(--text)}

.grid{display:grid;gap:32px}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

.card{
  background:#fff;border:1px solid var(--border);
  border-radius:var(--radius);
  padding:36px;transition:.35s;
}
.card:hover{
  transform:translateY(-10px);
  box-shadow:0 30px 60px rgba(0,0,0,.08)
}

/* DEMO FORM */
.demo-form{
  max-width:420px;margin:40px auto 0;
  display:grid;gap:14px
}
.demo-form input{
  padding:14px;border-radius:10px;
  border:1px solid var(--border)
}
.demo-form button{
  padding:14px;border-radius:12px;
  border:none;background:#fff;color:var(--primary);
  font-weight:600;cursor:pointer
}

/* CTA */
.cta{
  background:linear-gradient(135deg,var(--primary),#6366f1);
  color:#fff;text-align:center;
  padding:110px 20px;border-radius:40px
}

/* FOOTER */
footer{
  padding:60px 0;background:#020617;color:#94a3b8;
  text-align:center
}

@media(max-width:768px){
  .hero h1{font-size:38px}
  .section-title h2{font-size:32px}
}
