:root{
  --navy:#0A0D22;
  --navy-deep:#05060F;
  --card:#141833;
  --card-2:#1B2040;
  --text:#F2F1FA;
  --text-soft:#9A9DC2;
  --indigo:#8C7EF5;
  --indigo-deep:#6255D8;
  --coral:#E8677E;
  --orange:#FF8C4B;
  --wa:#25D366;
  --line:rgba(242,241,250,.12);
  --radius:14px;
  --maxw:1180px;
  --grad:linear-gradient(120deg,var(--indigo),var(--coral),var(--orange));
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Archivo',Arial,sans-serif;
  background:var(--navy);color:var(--text);line-height:1.6;
  overflow-x:hidden;position:relative;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
svg.icon{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ---- Grano (overlay global) ---- */
body::before{
  content:"";position:fixed;inset:0;z-index:998;pointer-events:none;
  opacity:.03;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'%3E%3C/rect%3E%3C/svg%3E");
}

.serif{font-family:'Fraunces',serif}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
em{font-family:'Fraunces',serif;font-style:italic;font-weight:600;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---- Etiquetas ---- */
.label{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Archivo',sans-serif;font-weight:700;font-size:.78rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--coral);
}
.label::before{content:"";width:20px;height:2px;background:var(--grad)}

/* ---- Botones ---- */
.btn{
  display:inline-flex;align-items:center;gap:10px;justify-content:center;
  padding:14px 28px;border-radius:10px;font-weight:700;font-size:1rem;
  font-family:'Archivo',sans-serif;
  background:var(--grad);color:#fff;border:none;
  cursor:pointer;box-shadow:0 8px 26px rgba(140,126,245,.28);
  transition:transform .15s ease,box-shadow .15s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(232,103,126,.38)}
.btn-lg{padding:17px 34px;font-size:1.08rem}
.btn-sm{padding:9px 18px;font-size:.9rem;box-shadow:0 4px 16px rgba(140,126,245,.24)}
.btn-ghost{background:var(--card-2);color:var(--text);box-shadow:none;border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--indigo);box-shadow:none}
.btn-wa{background:var(--wa);color:var(--navy-deep);box-shadow:0 8px 26px rgba(37,211,102,.3)}

/* ---- Nav ---- */
.nav-wrap{position:sticky;top:0;z-index:50;background:rgba(10,13,34,.85);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  max-width:var(--maxw);margin:0 auto;padding:14px 24px;
}
.brand{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-weight:700;font-size:1.35rem;font-style:italic}
.brand .rocket-mark{width:34px;height:34px;flex-shrink:0;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a:not(.btn){color:var(--text-soft);font-weight:600;font-size:.94rem}
.nav-links a:not(.btn):hover{color:var(--text)}

/* ---- Hero ---- */
.hero{
  position:relative;max-width:var(--maxw);margin:0 auto;
  padding:80px 24px 60px;
  display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;
}
.hero-copy{position:relative;z-index:2}
.hero .label{margin-bottom:20px}
.hero h1{font-family:'Fraunces',serif;font-size:clamp(2.4rem,5vw,3.9rem);line-height:1.04;font-weight:600;letter-spacing:-.5px}
.hero p.lead{color:var(--text-soft);font-size:1.15rem;max-width:520px;margin:24px 0 32px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-badges{list-style:none;display:flex;flex-wrap:wrap;gap:16px 22px;margin-top:34px;color:var(--text-soft);font-weight:600;font-size:.92rem}
.hero-badges li{display:flex;align-items:center;gap:7px}
.hero-badges li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--coral);flex-shrink:0}

.hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:380px}
.hero-art::before{
  content:"";position:absolute;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(140,126,245,.22),rgba(232,103,126,.1) 45%,transparent 70%);
  filter:blur(10px);z-index:0;
}
.orbit{position:absolute;width:340px;height:340px;border:1.5px dashed var(--line);border-radius:50%}
.rocket-illustration{position:relative;width:260px;animation:float 5s ease-in-out infinite;z-index:2}
@keyframes float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-16px) rotate(1deg)}}
.stamp{
  position:absolute;top:6px;right:0;width:118px;height:118px;border-radius:50%;
  border:1.5px dashed var(--line);background:var(--card);
  display:flex;align-items:center;justify-content:center;text-align:center;
  transform:rotate(9deg);z-index:3;
}
.stamp span{font-family:'Archivo',sans-serif;font-weight:800;font-size:.68rem;letter-spacing:.06em;line-height:1.35;text-transform:uppercase;color:var(--text)}
.star{position:absolute;color:var(--orange)}
.star svg{width:100%;height:100%}

/* ---- Secciones ---- */
.section{max-width:var(--maxw);margin:0 auto;padding:90px 24px}
.section-alt{background:var(--navy-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{text-align:center;max-width:640px;margin:0 auto}
.section-head .label{justify-content:center}
.section-title{font-family:'Fraunces',serif;font-size:clamp(2rem,4vw,2.7rem);font-weight:600;letter-spacing:-.5px;line-height:1.15;margin-top:14px}
.section-sub{color:var(--text-soft);font-size:1.08rem;margin:16px auto 0}

/* ---- Tarjetas ---- */
.problema{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-top:52px}
.prob-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;
  transition:transform .15s,border-color .15s;
}
.prob-card:hover{transform:translateY(-4px);border-color:var(--indigo)}
.prob-card .ico{width:34px;height:34px;color:var(--coral);margin-bottom:14px}
.prob-card h3{font-family:'Fraunces',serif;font-weight:600;font-size:1.15rem;margin-bottom:8px}
.prob-card p{color:var(--text-soft);font-size:.96rem}

/* ---- Qué entregas ---- */
.entrega{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;margin-top:52px}
.ent-card{
  background:linear-gradient(160deg,var(--card),var(--card-2));
  border:1px solid var(--line);border-radius:var(--radius);padding:28px;
  border-top:3px solid var(--c,var(--indigo));
  transition:transform .15s,border-color .15s;
}
.ent-card:hover{transform:translateY(-4px);border-color:var(--c,var(--indigo))}
.ent-card .ico{width:30px;height:30px;color:var(--c,var(--indigo));margin-bottom:14px}
.ent-card h3{font-family:'Fraunces',serif;font-weight:600;font-size:1.14rem;margin-bottom:8px}
.ent-card p{color:var(--text-soft);font-size:.95rem}

/* ---- Planes: estilo pase de embarque ---- */
.planes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin-top:56px;align-items:stretch}
.plan{
  position:relative;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:32px 28px;display:flex;flex-direction:column;
  overflow:visible;
}
.plan.featured{
  background:linear-gradient(165deg,var(--card-2),var(--navy-deep));
  border:1px solid transparent;
  background-image:linear-gradient(var(--card-2),var(--navy-deep)),var(--grad);
  background-origin:border-box;background-clip:padding-box,border-box;
  box-shadow:0 20px 50px rgba(140,126,245,.2);
}
.plan.featured .price-note{color:var(--orange)}
.plan .tag{
  position:absolute;top:-16px;right:22px;
  background:var(--grad);color:#fff;
  padding:6px 14px;border-radius:8px;font-size:.74rem;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;transform:rotate(4deg);
}
.plan h3{font-family:'Fraunces',serif;font-weight:600;font-size:1.4rem;margin-bottom:4px}
.plan .price{font-family:'Fraunces',serif;font-size:2.3rem;font-weight:600;margin:8px 0 2px}
.plan .price small{font-family:'Archivo',sans-serif;font-size:.92rem;font-weight:600;color:var(--text-soft);text-decoration:line-through}
.plan .price-note{color:var(--coral);font-size:.85rem;font-weight:700;margin-bottom:6px}
.plan-divider{border-top:2px dashed var(--line);position:relative;margin:18px -28px 20px}
.plan-divider::before,.plan-divider::after{
  content:"";position:absolute;top:-11px;width:22px;height:22px;border-radius:50%;background:var(--navy);
}
.plan-divider::before{left:-11px}
.plan-divider::after{right:-11px}
.plan ul{list-style:none;margin:0 0 26px;display:flex;flex-direction:column;gap:11px}
.plan ul li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:var(--text)}
.plan ul li::before{content:"✓";color:var(--indigo);font-weight:800;flex-shrink:0}
.plan.featured ul li::before{color:var(--orange)}
.plan ul li.no{color:var(--text-soft)}
.plan ul li.no::before{content:"–";color:var(--text-soft)}
.plan .btn{width:100%}
.plan-actions{margin-top:auto;display:flex;flex-direction:column;gap:10px}
.planes-nota{text-align:center;color:var(--text-soft);font-size:.92rem;margin-top:30px}

/* ---- Pasos: bitácora de misión ---- */
.steps{position:relative;margin-top:60px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px 26px}
.steps::before{
  content:"";position:absolute;top:22px;left:0;right:0;height:2px;
  background-image:linear-gradient(90deg,var(--line) 60%,transparent 0);background-size:14px 2px;
  display:none;
}
@media (min-width:860px){.steps::before{display:block}}
.step{position:relative;background:transparent;padding-top:0}
.step .num{
  width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--card);border:1.5px solid var(--indigo);color:var(--text);font-family:'Fraunces',serif;
  font-weight:700;font-size:1.2rem;margin-bottom:18px;position:relative;z-index:2;
}
.step h3{font-family:'Fraunces',serif;font-weight:600;font-size:1.14rem;margin-bottom:8px}
.step p{color:var(--text-soft);font-size:.95rem}

/* ---- CTA ---- */
.cta{
  position:relative;max-width:100%;margin:0;padding:90px 24px;text-align:center;
  background:linear-gradient(135deg,rgba(140,126,245,.16),rgba(232,103,126,.12),rgba(255,140,75,.1)),var(--navy-deep);
  clip-path:polygon(0 3%,100% 0,100% 97%,0 100%);
}
.cta-inner{max-width:640px;margin:0 auto}
.cta h2{font-family:'Fraunces',serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:600;line-height:1.15;margin-bottom:16px}
.cta p{color:var(--text-soft);font-size:1.12rem;margin:0 auto 30px}

/* ---- Footer ---- */
.footer{max-width:var(--maxw);margin:0 auto;padding:50px 24px 40px;text-align:center;color:var(--text-soft)}
.footer .brand{justify-content:center;margin-bottom:12px;color:var(--text)}
.footer p{max-width:420px;margin:0 auto}
.footer .copy{font-size:.86rem;margin-top:10px}

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

@media (max-width:900px){
  .hero{grid-template-columns:1fr;text-align:center;padding-top:56px}
  .hero-copy{order:2}
  .hero-cta{justify-content:center}
  .hero-badges{justify-content:center}
  .hero-art{order:1;min-height:280px}
  .stamp{right:calc(50% - 190px)}
}
@media (max-width:720px){
  .nav-links{gap:14px}
  .nav-links a:not(.btn){display:none}
  .section{padding:60px 20px}
  .plan-divider{margin-inline:-28px}
}
