:root{
  --pink:#db1f69;
  --pink-soft:#ffe2ef;
  --green:#86c90d;
  --green-2:#71b400;
  --green-dark:#102716;
  --green-text:#74aa13;
  --green-soft:#eef7d9;
  --cream:#fffdf5;
  --muted:#7b8190;
  --line:#e4e6d5;
  --card:#ffffff;
  --danger:#b3261e;
  --shadow:0 22px 45px rgba(48,64,20,.13);
  --radius:30px;
}
*{box-sizing:border-box}
html{min-height:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  min-height:100vh;
  margin:0;
  font-family:'Rubik',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--green-dark);
  background:
    radial-gradient(circle at 0% 0%, rgba(220,235,168,.72) 0 0, transparent 13rem),
    radial-gradient(circle at 96% 10%, rgba(230,238,189,.35) 0 0, transparent 18rem),
    linear-gradient(180deg,#fffdf6 0%,#fffdf8 70%,#edf5cf 100%);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.app-shell{
  width:100%;
  min-height:100vh;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding:30px 18px 40px;
  position:relative;
  overflow:hidden;
}
.app-shell::before{
  content:'';
  position:fixed;
  left:-15vw;
  bottom:-7vw;
  width:72vw;
  height:20vw;
  border-radius:50%;
  background:rgba(178,209,78,.22);
  transform:rotate(6deg);
  pointer-events:none;
}
.app-shell::after{
  content:'';
  position:fixed;
  right:-18vw;
  bottom:-8vw;
  width:78vw;
  height:21vw;
  border-radius:50%;
  background:rgba(150,185,34,.22);
  transform:rotate(-5deg);
  pointer-events:none;
}
.phone-card{
  width:100%;
  max-width:430px;
  min-height:min(780px,calc(100vh - 60px));
  position:relative;
  z-index:1;
  padding:72px 18px 28px;
  display:flex;
  flex-direction:column;
}
.phone-card.info-card{max-width:520px;min-height:auto;padding-top:58px}
.brand-top{text-align:center;margin-bottom:18px}
.brand-logo{width:190px;max-width:68%;height:auto;display:inline-block}
.legal-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:35px;
  padding:7px 18px;
  border-radius:10px;
  background:rgba(238,247,217,.95);
  color:var(--green-text);
  font-weight:800;
  font-size:.78rem;
  letter-spacing:.02em;
  margin:0 auto 22px;
}
.legal-badge svg{width:18px;height:18px;fill:currentColor;flex:0 0 auto}
.page-title{
  margin:0;
  font-size:clamp(2.65rem,11.8vw,4.25rem);
  line-height:.98;
  letter-spacing:-.065em;
  text-align:center;
  font-weight:800;
  color:var(--green-dark);
}
.page-title .green{color:var(--green-text)}
.page-title .pink{color:var(--pink)}
.page-title .upper{text-transform:uppercase;color:var(--green-text);letter-spacing:-.04em}
.page-subtitle{
  margin:20px auto 0;
  max-width:29ch;
  color:var(--muted);
  text-align:center;
  font-size:1.08rem;
  line-height:1.42;
}
.page-subtitle strong{color:var(--green-dark);font-weight:800}.page-subtitle .pink{color:var(--pink);font-weight:800}
.benefit-list{width:100%;max-width:330px;margin:30px auto 0;display:grid;gap:0}
.benefit-item{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center;min-height:58px;position:relative}
.benefit-item:not(:last-child)::after{content:'';position:absolute;left:66px;right:0;bottom:0;height:1px;background:var(--line)}
.round-icon{width:42px;height:42px;border-radius:50%;background:var(--green-soft);display:grid;place-items:center;color:var(--green-text)}
.round-icon svg{width:25px;height:25px;stroke:currentColor;stroke-width:2.25;fill:none;stroke-linecap:round;stroke-linejoin:round}
.round-icon svg.fill{fill:currentColor;stroke:none}
.benefit-item p{margin:0;font-weight:800;font-size:1rem;line-height:1.25;color:var(--green-dark)}
.benefit-item .pink{color:var(--pink)}
.actions{display:grid;gap:13px;margin-top:24px}
.btn-primary,.btn-secondary,.btn-ghost{
  width:100%;
  border:0;
  border-radius:999px;
  min-height:58px;
  padding:15px 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-weight:800;
  font-size:1rem;
  letter-spacing:.02em;
  cursor:pointer;
  text-transform:uppercase;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.btn-primary{background:linear-gradient(180deg,var(--green) 0%,var(--green-2) 100%);color:#fff;box-shadow:0 14px 26px rgba(114,175,0,.24)}
.btn-secondary{background:#1d250c;color:#fff;box-shadow:0 12px 24px rgba(29,37,12,.16)}
.btn-ghost{background:rgba(255,255,255,.55);color:var(--green-text);border:2px solid var(--green-text);box-shadow:none}
.btn-back{min-height:48px;max-width:240px;margin:0 auto;text-transform:none;background:rgba(255,255,255,.65);border-color:#dce5bd;color:var(--green-text)}
.btn-primary:active,.btn-secondary:active,.btn-ghost:active{transform:scale(.985)}
.btn-icon{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green-text);flex:0 0 auto}.btn-icon svg{width:20px;height:20px;stroke:currentColor;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
.tiny-note{margin:15px 0 0;text-align:center;color:#8b8f9a;font-size:.86rem}.proof-card{margin:28px auto 0;width:100%;background:#fff;border-radius:26px;padding:24px 22px;box-shadow:var(--shadow)}
.proof-head{display:grid;grid-template-columns:58px 1fr;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}.proof-icon{width:58px;height:58px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center}.proof-icon svg{width:32px;height:32px;fill:currentColor}.stars{color:var(--pink);font-size:1.25rem;letter-spacing:.12em;font-weight:800;line-height:1}.proof-head strong{display:block;margin-top:7px;font-size:1.12rem}.proof-head span{display:block;color:#1f314c;line-height:1.35}.quote{margin:20px 0 0;color:#1f314c;text-align:center;line-height:1.45;font-size:.98rem}.quote .q{color:var(--pink);font-size:2rem;font-weight:800;line-height:0}.quote-author{display:block;margin-top:14px;color:#1f314c}.quote-author b{color:var(--pink)}
/* Form */
.form-card{padding-top:56px}.form-shell{margin-top:28px;background:#fff;border-radius:28px;padding:22px 18px 18px;box-shadow:var(--shadow)}
.form-wrap{display:grid;gap:18px}.field{display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:end;text-align:left}.field-icon{align-self:center;width:46px;height:46px;border-radius:16px;background:var(--green-soft);color:var(--green-text);display:grid;place-items:center}.field-icon svg{width:26px;height:26px;stroke:currentColor;stroke-width:2.25;fill:none;stroke-linecap:round;stroke-linejoin:round}.field-box label{display:block;font-size:.96rem;font-weight:800;color:var(--green-dark);margin:0 0 9px}.field input{width:100%;min-height:54px;border:1.5px solid #dfe1c9;border-radius:12px;background:#fff;padding:0 14px;color:var(--green-dark);outline:none;box-shadow:0 8px 16px rgba(62,83,12,.04);font-size:1rem}.field input::placeholder{color:#a0a6b4}.field input:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(148,193,31,.15)}
.form-error{display:none;color:var(--danger);background:#fff3f1;border:1px solid #ffd2cb;border-radius:16px;padding:11px 13px;font-size:.9rem;text-align:left}.form-error.show{display:block}.safe-note{text-align:center;margin:17px 0 0;color:var(--green-dark);line-height:1.35}.safe-note strong{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:800}.safe-note svg{width:22px;height:22px;fill:var(--green-text)}.safe-note span{display:block;color:var(--muted);font-size:.88rem;margin-top:3px}.whatsapp-box{margin:28px auto 0;width:92%;background:rgba(238,247,217,.95);border-radius:18px;padding:14px;display:grid;grid-template-columns:54px 1fr 48px;gap:12px;align-items:center}.whatsapp-box .help-icon{width:54px;height:54px;border-radius:50%;background:var(--pink-soft);color:var(--pink);display:grid;place-items:center}.whatsapp-box strong{display:block;color:var(--pink);font-size:.98rem}.whatsapp-box span{display:block;color:var(--green-dark);font-size:.9rem;margin-top:4px}.wa-btn{width:46px;height:46px;border-radius:50%;background:#fff;color:#51b934;display:grid;place-items:center}.wa-btn svg{width:30px;height:30px;fill:currentColor}
/* Info */
.steps{position:relative;display:grid;gap:16px;margin:30px 0 0}.steps::before{content:'';position:absolute;left:25px;top:40px;bottom:92px;width:3px;border-radius:99px;background:repeating-linear-gradient(to bottom, rgba(116,170,19,.26) 0 10px, transparent 10px 20px)}.step-card{position:relative;background:#fff;border-radius:22px;padding:20px 18px 20px 74px;min-height:130px;box-shadow:0 16px 32px rgba(48,64,20,.11)}.step-number{position:absolute;left:4px;top:42px;width:43px;height:43px;border-radius:50%;background:linear-gradient(180deg,var(--green),var(--green-2));color:#fff;display:grid;place-items:center;font-weight:800;z-index:1}.step-card .big-icon{width:82px;height:82px;border-radius:50%;background:var(--green-soft);display:grid;place-items:center;color:var(--green-text);margin:0 0 14px}.step-card .big-icon svg{width:50px;height:50px;stroke:currentColor;stroke-width:2.1;fill:none;stroke-linecap:round;stroke-linejoin:round}.step-card h2{font-size:1.15rem;margin:0 0 7px;line-height:1.12}.step-card p{margin:0;color:#4c544c;line-height:1.45;font-size:.97rem}.highlight-box{margin:22px 0 0;background:rgba(238,247,217,.95);border-radius:22px;padding:20px;display:grid;grid-template-columns:58px 1fr;gap:15px;align-items:center}.highlight-box strong{display:block;color:var(--green-text);font-size:1.04rem}.highlight-box span{display:block;margin-top:5px;color:var(--green-dark);line-height:1.35}
/* Success */
.success-mark{width:122px;height:122px;border-radius:50%;margin:22px auto 20px;display:grid;place-items:center;background:var(--green-soft);box-shadow:inset 0 0 0 10px rgba(148,193,31,.14)}.success-mark svg{width:72px;height:72px;stroke:var(--green-text);stroke-width:2.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.mini-note{margin:14px 0 0;color:var(--muted);font-size:.95rem;text-align:center;line-height:1.4}.floating-wa{position:fixed;right:24px;bottom:24px;width:58px;height:58px;border-radius:50%;background:#39b54a;color:#fff;display:grid;place-items:center;box-shadow:0 12px 24px rgba(32,132,45,.25);z-index:10}.floating-wa svg{width:36px;height:36px;fill:currentColor}
@media (min-width:460px){.phone-card{max-width:470px}.benefit-list{max-width:370px}.phone-card.info-card{max-width:520px}.step-card{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:center;padding-left:86px}.step-card .big-icon{margin:0}.step-card h2{font-size:1.18rem}}
@media (max-width:420px){.app-shell{padding:18px 10px 30px}.phone-card{min-height:calc(100vh - 36px);padding:54px 12px 22px}.brand-logo{width:172px}.legal-badge{font-size:.72rem;margin-bottom:19px}.page-title{font-size:clamp(2.35rem,12vw,3.35rem)}.page-subtitle{font-size:1rem}.benefit-list{margin-top:24px;max-width:315px}.btn-primary,.btn-secondary,.btn-ghost{min-height:56px;font-size:.93rem}.proof-card{padding:20px 18px}.form-shell{padding:20px 14px}.field{grid-template-columns:46px 1fr;gap:12px}.field-icon{width:44px;height:44px}.whatsapp-box{width:100%;grid-template-columns:48px 1fr 44px}.steps::before{left:22px}.step-card{padding-left:68px}.step-number{left:0}.floating-wa{right:18px;bottom:18px}}

/* Validación de teléfono */
.field-error{display:block;margin-top:8px;color:var(--danger);font-size:.78rem;font-weight:700;line-height:1.35}
.input-error{border-color:var(--danger)!important;box-shadow:0 0 0 4px rgba(217,27,102,.13)!important}
