/* =====================================================================
   miniapps · Estética "soft tech" para las landings
   Se carga DESPUÉS de landing.css y de los estilos de cada página.
   Bloques en blanco y negro; azul, rojo y amarillo solo como acento.
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700&family=Manrope:wght@400;500;600;700&display=swap');

:root{
  --bg:#ffffff; --bg2:#f5f5f3; --dark:#0d0f12; --dark2:#16191e;
  --ink:#0d0f12; --muted:#656a72; --line:#e6e6e2; --line-d:rgba(255,255,255,.12);
  --paper:#ffffff; --paper2:#f5f5f3; --white:#ffffff;
  --r:22px; --r-s:14px;
  --sh:0 1px 2px rgba(13,15,18,.04),0 12px 32px rgba(13,15,18,.07);
  --sh-l:0 2px 4px rgba(13,15,18,.05),0 30px 60px rgba(13,15,18,.12);
  --display:'Sora',system-ui,sans-serif; --body:'Manrope',system-ui,sans-serif;
}
body{background:var(--bg);font-family:var(--body);color:var(--ink);font-size:16px;line-height:1.6}
h1,h2,h3,h4,.btn,.k,.seg button{font-family:var(--display)}
h1,h2,h3,h4{text-transform:none!important;letter-spacing:-.035em!important;font-weight:700!important}
.k{font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--muted)}
.dot{width:8px;height:8px;margin-right:8px}
.blue{color:var(--blue)}
.hl:after{height:.09em;bottom:.08em;border-radius:4px}

/* Botones: redondeados, sin sombra dura */
.btn{border:1px solid var(--ink);border-radius:999px;text-transform:none;letter-spacing:0;font-weight:600;font-size:15px;padding:15px 24px;transition:transform .2s,background .2s,color .2s,box-shadow .2s,border-color .2s}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(13,15,18,.14)}
.btn.solid{background:var(--ink);color:#fff}
.btn.solid:hover{background:#000}
.btn.line{background:#fff;border-color:var(--line);color:var(--ink)}
.btn.line:hover{border-color:var(--ink)}
.btn.blue{background:var(--blue);border-color:var(--blue);color:#fff}
.btn.yellow{background:var(--blue);border-color:var(--blue);color:#fff}
.btn.wa{background:var(--green);border-color:var(--green);color:#0d0f12}

/* Nav */
.nav{background:rgba(255,255,255,.82);border-bottom:1px solid var(--line)}
.nav .wrap{height:70px}
.logo b{font-family:var(--display);font-weight:700;letter-spacing:-.04em}
.logo .sh i{width:12px;height:12px}
.logo .sh .t{border-left-width:7px;border-right-width:7px;border-bottom-width:12px}
.logo .prod{border-radius:999px;background:var(--bg2);color:var(--ink);letter-spacing:.08em;font-size:11px;padding:5px 10px}
.nav nav a{text-transform:none;letter-spacing:0;font-weight:600;color:var(--muted)}
.nav nav a:hover{color:var(--ink)}
.nav .btn{padding:10px 18px;font-size:14px}

/* Secciones: sin rayas negras, ritmo blanco / gris claro / negro */
.sec,.hero,.mq,.band,.ck-sec{border-bottom:0}
.sec:nth-of-type(even){background:var(--bg2)}
.sec-h{grid-template-columns:auto 1fr auto;align-items:end;padding:96px 0 44px;gap:22px}
.sec-h .n{font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.08em;line-height:1;color:var(--muted);border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;align-self:start;margin-top:6px}
.sec-h h2{font-size:clamp(34px,4.4vw,56px);line-height:1.02}
.sec-h p{color:var(--muted);font-size:17px}
.pad{padding-bottom:104px}

/* Teléfono */
.phone{box-shadow:var(--sh-l);background:#0d0f12}

/* Segmentados */
.seg{border:1px solid var(--line);border-radius:999px;background:#fff;padding:4px;gap:4px}
.seg button{border-radius:999px;text-transform:none;letter-spacing:0;font-size:14px;padding:10px 18px;color:var(--muted)}
.seg button + button{border-left:0}
.seg button.on{background:var(--ink);color:#fff}

/* ---------- Hero ---------- */
.hero{background:radial-gradient(1200px 500px at 85% -10%,rgba(6,86,186,.08),transparent 60%),#fff}
.hero-l{border-right:0}
.hero h1{font-size:clamp(46px,6.4vw,92px);line-height:.98;margin:20px 0 22px}
.hero .lead{color:var(--muted);font-size:19px}
.proof{gap:12px}
.proof div{border-top:0;background:var(--bg2);border-radius:var(--r-s);padding:14px 16px}
.proof b{font-family:var(--display);font-size:26px}
.comp .c1{width:58%;background:radial-gradient(circle at 30% 30%,rgba(6,86,186,.22),rgba(6,86,186,.05) 70%);top:8%;right:-6%}
.comp .q1{width:12%;background:var(--yellow);border-radius:50% 50% 50% 4px;bottom:12%;left:12%;opacity:.9}
.comp .s1{width:6%;background:var(--red);border-radius:4px;top:16%;left:18%}
.comp .b1,.comp .b2{display:none}
.noti{border:1px solid var(--line);box-shadow:var(--sh);border-radius:16px}
.noti .ni{border-radius:10px;background:#e8f8ee;color:#118a43;font-weight:700}

/* Cinta de rubros: negra y finita */
.mq{background:var(--dark);color:#fff}
.mq .tr{font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.02em;text-transform:none;padding:14px 0}
.mq .tr i{width:8px;height:8px;background:var(--blue)}
.mq .tr i.c{background:var(--yellow)}
.mq .tr i.t{border-left-width:5px;border-right-width:5px;border-bottom:8px solid var(--red)}

/* ---------- 01 Dos historias ---------- */
.vs{border:0;gap:16px}
.vs > div{border-radius:var(--r);padding:26px}
.vs > div + div{border-left:0}
.vs .bad{background:#fff;border:1px solid var(--line)}
.vs .good{background:var(--dark)}
.vs .lbl b{font-family:var(--display);font-size:20px;text-transform:none;letter-spacing:-.02em}
.clock{border:0;border-radius:999px;padding:6px 12px;font-family:var(--display)}
.vs .bad .clock{background:#fdecea;color:var(--red)}
.vs .good .clock{background:rgba(255,255,255,.1);color:#fff}
.chat{border:0;border-radius:16px;background:#f2efe9}
.chat .day{border:0;border-radius:999px;background:#fff;color:var(--muted)}
.msg{border:0;border-radius:14px;box-shadow:0 1px 1px rgba(0,0,0,.06)}
.msg.v{background:#dcf8c6}
.msg.sys{background:var(--red);border-radius:12px}
.typing{border:0;border-radius:14px}
.fs{border:1px solid var(--line-d);border-radius:14px}
.fs .fn{border:1px solid var(--line-d);border-radius:10px;font-family:var(--display)}
.fs.ok .fn{background:var(--blue);border-color:var(--blue);color:#fff}
.fs small{color:#9aa1ab}
.fres{background:#fff;border:0;border-radius:14px}
.fres small b{color:var(--blue)}
.totals{border:0;gap:16px;margin-top:16px}
.totals div{border:1px solid var(--line)!important;border-radius:var(--r-s);background:#fff}
.totals .tk{letter-spacing:.1em}
.totals .tv b{font-family:var(--display);color:var(--ink)}
.totals .tv s{color:var(--red)}

/* ---------- 02 Antes / después ---------- */
.sw{text-transform:none;font-family:var(--display);font-weight:600;letter-spacing:0}
.sw .tg{border:0;border-radius:999px;background:#d9d9d5}
.sw .tg i{border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.sw.on .tg{background:var(--blue)}
.adg{border:0;gap:16px}
.adc{border:0!important;border-radius:var(--r);min-height:210px}
.adc .f{border-radius:var(--r)}
.adc .f.a{background:#fff;border:1px solid var(--line)}
.adc .f.b{background:var(--dark)}
.adc .ico{width:10px!important;height:10px!important;border-radius:50%!important;transform:none!important}
.adc .a .ico{background:var(--red)}
.adc .b .ico{background:var(--blue)}
.adc p{font-family:var(--display);font-size:19px;letter-spacing:-.02em}
.adc small{font-family:var(--body);color:inherit}

/* ---------- 03 Calculadora ---------- */
.calc{border:0;gap:16px}
.calc-in{background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.calc-out{background:var(--dark);border-radius:var(--r)}
.calc-out .deco{width:280px;height:280px;background:radial-gradient(circle,rgba(6,86,186,.55),transparent 65%);right:-110px;top:-110px}
.sl output{font-family:var(--display)}
input[type=range]::-webkit-slider-runnable-track{height:6px;border:0;border-radius:99px;background:linear-gradient(90deg,var(--blue) var(--p,50%),#e4e4e0 var(--p,50%))}
input[type=range]::-moz-range-track{height:6px;border:0;border-radius:99px;background:#e4e4e0}
input[type=range]::-moz-range-progress{height:6px;border-radius:99px}
input[type=range]::-webkit-slider-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid var(--blue);margin-top:-8px;box-shadow:0 2px 6px rgba(0,0,0,.18)}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--blue)}
.res{border-top:1px solid var(--line-d)}
.res .rk{color:#9aa1ab;letter-spacing:.1em}
.res .rv2{font-family:var(--display)}
.res .rv2 em{color:#9aa1ab}
.res .rd{color:#b9bec6}
.res.big .rv2{color:#fff}
.res.big .rv2 span{background:linear-gradient(90deg,#fff,#9cc2ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.calc-out .btn{background:var(--blue);border-color:var(--blue);color:#fff}
.calc-out .btn:hover{box-shadow:0 10px 24px rgba(6,86,186,.4)}

/* ---------- 04 Cómo funciona ---------- */
.steps{border:0;gap:16px}
.st{border:1px solid var(--line)!important;border-radius:var(--r);background:#fff;min-height:270px;overflow:hidden}
.st .sn{font-family:var(--display);font-size:15px;font-weight:600;color:var(--muted);letter-spacing:.04em}
.st .sn:before{content:"0"}
.st .sg{width:12px!important;height:12px!important;border:0!important;border-radius:50%!important;background:var(--line)!important;margin:auto 0 0}
.st h4{font-size:20px;margin:16px 0 8px}
.st p{color:var(--muted)}
.st .pb{height:3px;background:var(--blue)}
.st.on{background:var(--dark);border-color:var(--dark)!important}
.st.on .sn,.st.on p{color:#9aa1ab}
.st.on .sg{background:var(--blue)!important;transform:none}

/* ---------- 05 Recordatorios: bloque negro ---------- */
.remsec{background:var(--dark)!important;color:#fff}
.rem{padding:104px 0}
.remsec .k{color:#9aa1ab}
.remsec .dot{background:var(--yellow)!important}
.rem .lead2{color:#b9bec6}
.rem ul{border-top:1px solid var(--line-d)}
.rem li{border-bottom:1px solid var(--line-d);color:#e6e8eb}
.rem li:before{width:8px;height:8px;border-radius:50%;top:22px;background:var(--blue)}
.rem li:nth-child(2):before{background:var(--yellow)}
.rem li:nth-child(3):before{background:var(--red)}
.rem .inc{border-radius:999px;background:rgba(255,255,255,.08);color:#fff;letter-spacing:.06em;font-weight:600}
.rm{border:0;border-radius:var(--r);box-shadow:0 30px 80px rgba(0,0,0,.45);overflow:hidden}
.rm-h{background:#1b1f25}
.rm-h i{background:var(--blue)}
.rm-b{background:#f2efe9}
.rm-msg,.rm-rep{border:0;border-radius:14px;box-shadow:0 1px 1px rgba(0,0,0,.06)}
.rm-msg{background:#dcf8c6}
.rm-a{border-top:1px solid var(--line);color:var(--ink)}
.rm-btns{border:1px solid var(--line);border-radius:999px;padding:4px;gap:4px}
.rm-btns button{border-radius:999px;text-transform:none;letter-spacing:0;font-family:var(--display)}
.rm-btns button + button{border-left:0}
.rm-btns button.on{background:var(--ink);color:#fff}
.rm-out i{border-radius:50%}

/* ---------- 06 Demo ---------- */
.demo{border-top:0;gap:32px}
.demo-l{border-right:0}
.demo-l h3{font-size:clamp(30px,3.6vw,46px)}
.demo-l .p2{color:var(--muted)}
.tryit{border:1px solid var(--line);border-radius:999px;padding:5px;background:#fff}
.tryit input{font-size:17px;padding:10px 14px}
.tryit button{border-radius:999px;text-transform:none;letter-spacing:0;font-family:var(--display);padding:0 20px}
.tryit button:hover{background:var(--blue)}
.tips{border-top:0;display:grid;gap:10px}
.tips div{border:1px solid var(--line);border-radius:var(--r-s);padding:14px 16px;background:#fff}
.tips b{border-radius:50%;font-family:var(--display)}
.demo-r{border-top:0}
.simwrap .bg{width:220px;height:220px;background:radial-gradient(circle,rgba(6,86,186,.18),transparent 70%)}
.simwrap .bg2{width:70px;height:70px;border-radius:18px;background:var(--yellow);opacity:.9;left:-24px;bottom:110px}
.hint a{text-transform:none;letter-spacing:0;font-size:14px}

/* ---------- 07 Incluye ---------- */
.inc-g{border:0;gap:16px}
.ic{border:1px solid var(--line)!important;border-radius:var(--r);background:#fff;transition:transform .2s,box-shadow .2s}
.ic:hover{background:#fff;transform:translateY(-2px);box-shadow:var(--sh)}
.ic .gi{width:40px;height:40px;border-radius:12px;background:var(--bg2);overflow:hidden}
.ic .gi i{transform:scale(.55);transform-origin:0 0;mix-blend-mode:normal;opacity:.9}
.ic h4{font-size:18px;text-transform:none}
.ic p{color:var(--muted)}

/* ---------- Planes ---------- */
.bill .save{border:0;border-radius:999px;background:#fff6d6;color:#7a5a00;font-weight:600}
.reco{border:1px solid var(--line);border-radius:var(--r-s);background:#fff}
.reco i{width:10px;height:10px}
.plans{border:0;gap:16px}
.plan{border:1px solid var(--line)!important;border-radius:var(--r);background:#fff;box-shadow:none}
.plan.hot{background:var(--dark);color:#fff;border-color:var(--dark)!important;box-shadow:var(--sh-l)}
.plan h3{font-size:26px}
.plan .badge{border:0;border-radius:999px;background:var(--yellow);font-family:var(--body);letter-spacing:.06em}
.plan .pd{color:var(--muted)}
.plan.hot .pd,.plan.hot .per{color:#9aa1ab}
.price{font-family:var(--display);letter-spacing:-.05em}
.price .amt{font-size:56px}
.plan ul{border-top:1px solid var(--line)}
.plan.hot ul{border-color:var(--line-d)}
.plan li{border-bottom:1px solid var(--line)}
.plan.hot li{border-color:var(--line-d)}
.plan li:before{width:6px;height:6px;border-radius:50%;top:20px;background:var(--blue)}
.plan.hot li:before{background:var(--yellow)}
.plan li.x:before{border:1px solid currentColor;background:none}
.plan .btn{background:#fff;color:var(--ink);border-color:var(--line)}
.plan .btn:hover{border-color:var(--ink)}
.plan.hot .btn{background:var(--blue);border-color:var(--blue);color:#fff}
.fine span:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--blue);vertical-align:2px}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{font-family:var(--display);font-size:18px;font-weight:600}
.faq summary i{border:1px solid var(--line);border-radius:50%;width:32px;height:32px}
.faq details[open] summary i{background:var(--ink);border-color:var(--ink)}
.faq details p{color:var(--muted)}

/* ---------- Cierre: bloque negro con un toque de color ---------- */
.band{background:radial-gradient(700px 400px at 90% 10%,rgba(6,86,186,.45),transparent 60%),var(--dark)}
.band h2{font-size:clamp(36px,5vw,68px);line-height:1}
.band p{color:#b9bec6}
.band .bc{width:16px;height:16px;right:auto;left:auto;top:60px;right:120px;background:var(--yellow)}
.band .bs{width:14px;height:14px;left:auto;right:170px;bottom:auto;top:90px;background:var(--red);border-radius:3px}
.band .btn.line{background:transparent;border-color:rgba(255,255,255,.3);color:#fff}
.band .btn.line:hover{border-color:#fff;box-shadow:none}
footer{border-top:1px solid var(--line)}

/* ---------- Celular: barra fija ---------- */
.mcta{background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line)}
.mcta .btn{font-size:14px}

/* ---------- Contratación y pago ---------- */
.ck-sec{background:var(--bg2)}
.ck-info h2{font-size:clamp(36px,4.8vw,62px);line-height:1}
.ck-info p{color:var(--muted)}
.ck-steps{border-top:0;display:grid;gap:10px}
.ck-steps li{border:1px solid var(--line);border-radius:var(--r-s);background:#fff;padding:14px 16px}
.ck-steps .ckn{border-radius:10px;font-family:var(--display);background:var(--dark)!important;color:#fff!important}
.ck-steps li:nth-child(3) .ckn{background:var(--blue)!important}
.ck-trust span{border:1px solid var(--line);border-radius:999px;letter-spacing:.04em;font-weight:700;color:var(--muted)}
.ck-card{border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-l);background:#fff;overflow:hidden}
.dh{background:var(--dark)}
.dh b{font-family:var(--display);text-transform:none;letter-spacing:-.01em;font-size:17px}
.dh button{border:1px solid rgba(255,255,255,.3);border-radius:50%}
.drawer{border-left:1px solid var(--line);background:#fff}
.df{border-top:1px solid var(--line);background:var(--bg2)}
.fl{letter-spacing:.12em;color:var(--muted)}
.opts{border:0;gap:8px}
.opt{border:1px solid var(--line)!important;border-radius:var(--r-s);background:#fff;transition:border-color .15s,background .15s}
.opt:hover{border-color:#bfc3c8!important}
.opt.on{background:var(--dark);border-color:var(--dark)!important;color:#fff}
.opt.on small{color:#9aa1ab}
.in{border:1px solid var(--line);border-radius:var(--r-s);background:#fff}
.in:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(6,86,186,.12)}
.sum .sp{font-family:var(--display)}
.ck-pay-wait{border:0;border-radius:var(--r-s);background:#fff6d6}
.done h3{font-family:var(--display);text-transform:none}
.done .dshape{transform:scale(.6)}
.alta-colors input[type=color]{border:1px solid var(--line)!important;border-radius:10px}

@media (max-width:1060px){
  .hero-r{border-top:0}
  .demo-r{border-top:0}
}
@media (max-width:700px){
  .sec-h{padding:64px 0 28px}
  .pad{padding-bottom:72px}
  .hero h1{font-size:46px}
  .vs > div + div{border-top:0}
  .totals div{border-top:1px solid var(--line)!important}
  .rem{padding:72px 0}
  .proof div{flex:1 1 30%}
}

/* Ajustes finos */
.st .sg{margin:18px 0 auto!important}
.ic .gi{display:grid;place-items:center}
.ic .gi i{display:none}
.ic .gi:after{content:"";width:12px;height:12px;border-radius:50%;background:var(--blue)}
.ic:nth-child(3n+2) .gi:after{background:var(--red);border-radius:3px}
.ic:nth-child(3n) .gi:after{width:0;height:0;border-radius:0;background:none;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:12px solid var(--yellow)}
.comp .q1{width:9%}
html,body{overflow-x:clip}
@media (max-width:700px){.proof{gap:8px}.proof div{padding:12px 12px}.proof b{font-size:20px;white-space:nowrap}.proof span{font-size:12px}}
