:root{
  --bg:#0a0e1f;
  --bg-soft:#111634;
  --card:#161c3d;
  --card-2:#1d2550;
  --text:#f1f4ff;
  --muted:#a0a8c8;
  --brand:#7c5cff;      /* violeta */
  --brand-2:#d44bff;    /* magenta */
  --brand-3:#ff7a59;    /* naranja despegue */
  --accent:#ffc24b;     /* dorado */
  --wa:#25d366;
  --ok:#34d399;
  --radius:20px;
  --maxw:1140px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Manrope','Helvetica Neue',Arial,sans-serif;
  background:var(--bg);color:var(--text);line-height:1.6;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.grad-text{
  background:linear-gradient(120deg,var(--brand),var(--brand-2),var(--brand-3));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* ---- Botones ---- */
.btn{
  display:inline-flex;align-items:center;gap:10px;justify-content:center;
  padding:14px 26px;border-radius:999px;font-weight:700;font-size:1rem;
  background:linear-gradient(120deg,var(--brand),var(--brand-2));
  color:#fff;border:none;cursor:pointer;transition:transform .15s,box-shadow .15s;
  box-shadow:0 12px 30px rgba(124,92,255,.35);
}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(212,75,255,.45)}
.btn-lg{padding:17px 34px;font-size:1.08rem}
.btn-sm{padding:10px 20px;font-size:.92rem}
.btn-ghost{background:transparent;border:1.5px solid rgba(255,255,255,.22);box-shadow:none;color:var(--text)}
.btn-ghost:hover{border-color:var(--brand-2);color:#fff}
.btn-wa{background:var(--wa);box-shadow:0 12px 30px rgba(37,211,102,.35)}
.btn-wa:hover{box-shadow:0 16px 40px rgba(37,211,102,.45)}

/* ---- Nav ---- */
.nav{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  max-width:var(--maxw);margin:0 auto;padding:16px 24px;
}
.nav-wrap{position:sticky;top:0;z-index:50;background:rgba(10,14,31,.78);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.25rem}
.brand .rocket{font-size:1.4rem}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links a:not(.btn){color:var(--muted);font-weight:600;font-size:.95rem}
.nav-links a:not(.btn):hover{color:#fff}

/* ---- Hero ---- */
.hero{
  position:relative;max-width:var(--maxw);margin:0 auto;
  padding:90px 24px 70px;text-align:center;
}
.hero::before{
  content:"";position:absolute;top:-120px;left:50%;transform:translateX(-50%);
  width:760px;height:560px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(124,92,255,.28),rgba(212,75,255,.12) 45%,transparent 70%);
  filter:blur(20px);z-index:-1;pointer-events:none;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(124,92,255,.14);border:1px solid rgba(124,92,255,.3);
  color:#c9bcff;padding:7px 16px;border-radius:999px;font-weight:700;font-size:.85rem;margin-bottom:22px;
}
.hero h1{font-size:clamp(2.2rem,5.5vw,3.7rem);line-height:1.08;font-weight:800;letter-spacing:-1px}
.hero p.lead{color:var(--muted);font-size:1.18rem;max-width:620px;margin:22px auto 32px}
.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero-badges{list-style:none;display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin-top:34px;color:var(--muted);font-weight:600;font-size:.95rem}
.hero-badges li{display:flex;align-items:center;gap:7px}

/* ---- Secciones ---- */
.section{max-width:var(--maxw);margin:0 auto;padding:80px 24px}
.section-alt{background:var(--bg-soft)}
.section-title{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;text-align:center;letter-spacing:-.5px}
.section-sub{text-align:center;color:var(--muted);font-size:1.1rem;max-width:620px;margin:14px auto 0}
.muted{color:var(--muted)}

/* ---- Problema ---- */
.problema{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:46px}
.prob-card{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);padding:26px}
.prob-card .ico{font-size:1.8rem;margin-bottom:12px}
.prob-card h3{font-size:1.1rem;margin-bottom:8px}
.prob-card p{color:var(--muted);font-size:.96rem}

/* ---- Qué entregas ---- */
.entrega{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:46px}
.ent-card{
  background:linear-gradient(160deg,var(--card),var(--card-2));
  border:1px solid rgba(124,92,255,.18);border-radius:var(--radius);padding:28px;
  transition:transform .15s,border-color .15s;
}
.ent-card:hover{transform:translateY(-4px);border-color:rgba(212,75,255,.4)}
.ent-card .ico{font-size:2rem;margin-bottom:14px}
.ent-card h3{font-size:1.15rem;margin-bottom:8px}
.ent-card p{color:var(--muted);font-size:.96rem}

/* ---- Planes ---- */
.planes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:50px;align-items:stretch}
.plan{
  position:relative;background:var(--card);border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius);padding:34px 28px;display:flex;flex-direction:column;
}
.plan.featured{
  border:1.5px solid transparent;
  background:
    linear-gradient(var(--card),var(--card)) padding-box,
    linear-gradient(135deg,var(--brand),var(--brand-2),var(--brand-3)) border-box;
  box-shadow:0 20px 50px rgba(124,92,255,.25);
}
.plan .tag{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:linear-gradient(120deg,var(--brand),var(--brand-2));color:#fff;
  padding:6px 16px;border-radius:999px;font-size:.78rem;font-weight:800;letter-spacing:.5px;white-space:nowrap;
}
.plan h3{font-size:1.3rem;margin-bottom:6px}
.plan .price{font-size:2.2rem;font-weight:800;margin:10px 0 2px}
.plan .price small{font-size:.95rem;font-weight:600;color:var(--muted)}
.plan .price-note{color:var(--accent);font-size:.85rem;font-weight:700;margin-bottom:18px}
.plan ul{list-style:none;margin:14px 0 26px;display:flex;flex-direction:column;gap:11px}
.plan ul li{display:flex;gap:10px;align-items:flex-start;font-size:.96rem;color:var(--text)}
.plan ul li::before{content:"✓";color:var(--ok);font-weight:800;flex-shrink:0}
.plan ul li.no{color:var(--muted)}
.plan ul li.no::before{content:"–";color:var(--muted)}
.plan .btn{margin-top:auto;width:100%}
.planes-nota{text-align:center;color:var(--muted);font-size:.9rem;margin-top:26px}

/* ---- Portafolio ---- */
.porta{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin-top:46px;
  background:linear-gradient(160deg,var(--card),var(--card-2));border:1px solid rgba(124,92,255,.18);
  border-radius:var(--radius);padding:30px}
.porta-info{flex:1;min-width:260px}
.porta-info .chip{display:inline-block;background:rgba(52,211,153,.15);color:var(--ok);font-weight:700;font-size:.8rem;padding:5px 12px;border-radius:999px;margin-bottom:12px}
.porta-info h3{font-size:1.5rem;margin-bottom:10px}
.porta-info p{color:var(--muted);margin-bottom:18px}
.porta-tags{display:flex;flex-wrap:wrap;gap:8px}
.porta-tags span{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);padding:6px 12px;border-radius:999px;font-size:.82rem;color:var(--muted)}

/* ---- Pasos ---- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin-top:46px}
.step{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);padding:28px;position:relative}
.step .num{
  width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(120deg,var(--brand),var(--brand-2));color:#fff;font-weight:800;font-size:1.2rem;margin-bottom:16px;
}
.step h3{font-size:1.12rem;margin-bottom:8px}
.step p{color:var(--muted);font-size:.96rem}

/* ---- CTA ---- */
.cta{
  max-width:var(--maxw);margin:60px auto;padding:60px 30px;text-align:center;border-radius:28px;
  background:linear-gradient(135deg,rgba(124,92,255,.18),rgba(212,75,255,.12),rgba(255,122,89,.12));
  border:1px solid rgba(124,92,255,.25);
}
.cta h2{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800;margin-bottom:14px}
.cta p{color:var(--muted);font-size:1.12rem;max-width:560px;margin:0 auto 28px}

/* ---- Footer ---- */
.footer{max-width:var(--maxw);margin:0 auto;padding:40px 24px;text-align:center;color:var(--muted);border-top:1px solid rgba(255,255,255,.06)}
.footer .brand{justify-content:center;margin-bottom:10px;color:var(--text)}
.footer .copy{font-size:.88rem;margin-top:8px}

/* ---- WhatsApp flotante ---- */
.wa-float{
  position:fixed;right:22px;bottom:22px;z-index:60;
  width:60px;height:60px;border-radius:50%;background:var(--wa);
  display:flex;align-items:center;justify-content:center;color:#fff;
  box-shadow:0 10px 30px rgba(37,211,102,.45);transition:transform .15s;
}
.wa-float:hover{transform:scale(1.08)}

@media (max-width:720px){
  .nav-links{gap:14px}
  .nav-links a:not(.btn){display:none}
  .section{padding:60px 20px}
  .hero{padding:64px 20px 50px}
}
