:root {
  --primary: #7c3aed;
  --primary-dark: #5b21b6;
  --light: #f8fafc;
  --dark: #0f172a;
  --gray: #64748b;
}

* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Poppins', sans-serif; line-height:1.6; color:#1e293b; background:#fff; }

.container { max-width:1200px; margin:0 auto; padding:0 1.5rem; }

.hero {
  background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)), url('../images/hero-bg.jpg') center/cover;
  color:white; min-height:100vh; display:flex; align-items:center; text-align:center;
}
.hero h1 { font-size:3.8rem; margin-bottom:1.5rem; }
.subtitle { font-size:1.5rem; margin-bottom:2.5rem; opacity:0.9; }
.btn {
  display:inline-block; padding:1rem 2.5rem; border-radius:999px; font-weight:600; text-decoration:none;
  transition:all 0.3s;
}
.primary { background:var(--primary); color:white; }
.primary:hover { background:var(--primary-dark); transform:translateY(-3px); }
.secondary { background:white; color:var(--primary); border:2px solid white; }
.secondary:hover { background:transparent; color:white; }

.section { padding:8rem 0; }
h2 { font-size:3rem; text-align:center; margin-bottom:4rem; }

.grid-3 { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:2.5rem; }

.card, .price-card {
  background:#fff; border-radius:16px; padding:2.5rem; box-shadow:0 10px 30px rgba(0,0,0,0.08);
  text-align:center; transition:all 0.3s;
}
.card:hover, .price-card:hover { transform:translateY(-12px); box-shadow:0 20px 50px rgba(124,58,237,0.2); }
.card img { width:90px; height:90px; margin-bottom:1.5rem; }

.pricing-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(320px,1fr)); gap:2rem; }
.price-card { position:relative; }
.tag { position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:var(--primary); color:white; padding:0.4rem 1.2rem; border-radius:999px; font-size:0.9rem; }

.steps { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:3rem; text-align:center; }
.step span { display:block; width:60px; height:60px; background:var(--primary); color:white; border-radius:50%; margin:0 auto 1.5rem; line-height:60px; font-size:1.8rem; font-weight:bold; }

footer { background:var(--dark); color:white; padding:4rem 0; text-align:center; }
footer a { color:var(--primary); text-decoration:none; margin:0 1rem; }
.small { font-size:0.95rem; opacity:0.7; margin-top:1.5rem; }

/* WhatsApp flotante */
.whatsapp-float {
  position:fixed; bottom:25px; right:25px; z-index:999;
}
.whatsapp-float img { width:65px; height:65px; border-radius:50%; box-shadow:0 5px 15px rgba(0,0,0,0.3); transition:0.3s; }
.whatsapp-float:hover img { transform:scale(1.15); }

/* Responsive */
@media (max-width:768px) {
  .hero h1 { font-size:2.8rem; }
  h2 { font-size:2.4rem; }
}
