:root{
  --bg:#F5F5F7;--sup:#FFFFFF;--txt:#141416;--txt2:#3F3F46;--mut:#6B6B73;--borde:#ECECEF;
  --negro:#0B0B0D;--lima:#A7E37E;--verde:#15803D;--verdeBg:#DCFCE7;
  --cuero1:#7A5536;--cuero2:#3A2414;--crema:#FAEEDC;
  --r:28px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--txt);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
img,svg{display:block}
.cont{max-width:1160px;margin:0 auto;padding:0 20px}
h1,h2,h3,.marca,.num{font-family:"Space Grotesk",Inter,sans-serif;letter-spacing:-.03em}

/* ---------- barra ---------- */
.barra{position:sticky;top:0;z-index:20;background:rgba(245,245,247,.82);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
.barra.oscura{background:rgba(11,11,13,.72);color:#fff}
.barra.con-borde{border-bottom-color:var(--borde)}
.barra.oscura.con-borde{border-bottom-color:rgba(255,255,255,.08)}
.barra .cont{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700}
.logo .ico{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--cuero1),var(--cuero2));color:var(--crema);display:grid;place-items:center;font-family:"Space Grotesk",Inter,system-ui,sans-serif;font-size:20px;font-weight:700;box-shadow:inset 0 0 0 2px rgba(245,225,195,.25)}
.logo span{font-size:20px}
nav{display:flex;align-items:center;gap:6px}
nav a{text-decoration:none;color:inherit;opacity:.75;font-weight:500;font-size:15px;padding:8px 12px;border-radius:999px}
nav a:hover{opacity:1}
nav a.pill{opacity:1;background:#fff;color:var(--txt);font-weight:700;padding:10px 18px}
.barra:not(.oscura) nav a.pill{background:var(--txt);color:#fff}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 26px;border-radius:999px;font-weight:700;text-decoration:none;font-size:16px;transition:transform .15s ease,background .15s}
.btn:active{transform:scale(.97)}
.btn-claro{background:#fff;color:var(--txt)}
.btn-claro:hover{background:#EDEDF0}
.btn-negro{background:var(--txt);color:#fff}
.btn-negro:hover{background:#2A2A30}
.btn-borde{border:1.5px solid rgba(255,255,255,.28);color:#fff}
.btn-borde:hover{background:rgba(255,255,255,.08)}
.btn svg{width:20px;height:20px}

/* ---------- hero ---------- */
.hero{background:var(--negro);color:#fff;position:relative;overflow:hidden;padding:72px 0 0}
.hero::before{content:"";position:absolute;inset:-10% -10% 0;background:
  radial-gradient(600px 380px at 20% 30%,rgba(122,85,54,.55),transparent 70%),
  radial-gradient(520px 360px at 82% 20%,rgba(167,227,126,.18),transparent 70%),
  radial-gradient(700px 420px at 50% 90%,rgba(59,76,202,.28),transparent 70%);pointer-events:none}
.hero .cont{position:relative;text-align:center}
.etiqueta{display:inline-flex;align-items:center;gap:8px;color:var(--lima);font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px;padding:8px 14px;border-radius:999px;background:rgba(167,227,126,.1)}
.etiqueta i{width:7px;height:7px;border-radius:50%;background:var(--lima);box-shadow:0 0 0 4px rgba(167,227,126,.2)}
.hero h1{font-size:clamp(46px,8.4vw,112px);line-height:.96;margin:0 auto 22px;max-width:11ch}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--lima),#E9F7B4);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.sub{color:#C9C9CF;font-size:clamp(17px,2vw,20px);max-width:34em;margin:0 auto 32px}
.hero .botones{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:64px}
.escena{position:relative;height:560px;max-width:980px;margin:0 auto}
.escena .tel{position:absolute;left:50%;bottom:-120px;translate:-50% 0;z-index:3}
.flotante{position:absolute;z-index:4;background:rgba(255,255,255,.96);color:var(--txt);border-radius:22px;padding:14px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 24px 50px rgba(0,0,0,.35);text-align:left;font-size:14px;animation:flota 7s ease-in-out infinite}
.flotante b{display:block;font-size:15px}
.flotante small{color:var(--mut)}
.flotante .ic{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;font-weight:800;flex-shrink:0}
.fl1{left:2%;top:90px}
.fl2{right:0;top:200px;animation-delay:-3s}
.fl3{left:8%;top:320px;animation-delay:-5s}
@keyframes flota{50%{translate:0 -12px}}

/* ---------- teléfono ---------- */
.tel{width:300px;height:620px;border-radius:50px;background:#1B1B1F;padding:11px;box-shadow:0 40px 80px rgba(0,0,0,.45),inset 0 0 0 2px #3A3A40;flex-shrink:0}
.pantalla{width:100%;height:100%;border-radius:40px;background:var(--bg);overflow:hidden;position:relative;color:var(--txt);text-align:left;font-size:12px;padding:46px 14px 14px;display:flex;flex-direction:column;gap:12px}
.pantalla::before{content:"";position:absolute;top:10px;left:50%;translate:-50% 0;width:92px;height:26px;border-radius:20px;background:#0B0B0D}
.p-head{display:flex;align-items:center;gap:8px}
.p-av{width:30px;height:30px;border-radius:50%;background:var(--txt);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px}
.p-head b{font-family:"Space Grotesk",Inter,system-ui,sans-serif;font-size:15px;display:block;line-height:1.1}
.p-head small{color:var(--mut);font-size:11px}
.p-tit{font-family:"Space Grotesk",Inter,system-ui,sans-serif;font-weight:700;font-size:20px}
.mini-tj{border-radius:14px;aspect-ratio:1.586;padding:12px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;box-shadow:0 10px 20px rgba(0,0,0,.18)}
.mini-tj::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.25),rgba(255,255,255,0) 45%,rgba(0,0,0,.15))}
.mini-tj .t1{font-weight:700;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.mini-tj .chip{width:30px;height:22px;border-radius:5px;background:linear-gradient(135deg,#ECECF1,#A9ABB3)}
.mini-tj .t2{display:flex;justify-content:space-between;font-weight:600;letter-spacing:.14em;font-size:11px}
.carrusel{display:flex;gap:8px;margin:0 -14px;padding:0 30px}
.carrusel .mini-tj{width:100%;flex-shrink:0}
.carrusel .lado{opacity:.45;transform:scale(.9)}
.p-card{background:#fff;border:1px solid var(--borde);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:8px}
.p-fila{display:flex;justify-content:space-between;align-items:center;gap:8px}
.p-pill{font-size:10px;font-weight:700;padding:3px 8px;border-radius:999px}
.p-monto{font-family:"Space Grotesk",Inter,system-ui,sans-serif;font-weight:700;font-size:26px;letter-spacing:-.02em;line-height:1}
.p-mut{color:var(--mut);font-size:11px}
.p-btns{display:flex;gap:6px}
.p-btn{flex:1;height:34px;border-radius:11px;background:var(--txt);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px}
.p-btn.gris{flex:0 0 auto;padding:0 12px;background:var(--bg);color:var(--txt)}
.p-promo{background:var(--txt);color:#fff;border-radius:16px;padding:12px;display:flex;align-items:center;gap:10px}
.p-logo{width:34px;height:34px;border-radius:10px;background:#fff;color:var(--txt);display:grid;place-items:center;font-weight:800;font-size:11px;flex-shrink:0}
.p-promo small{color:var(--lima);font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;display:block}
.p-promo .v{font-family:"Space Grotesk",Inter,system-ui,sans-serif;font-weight:700;font-size:22px;color:var(--lima);margin-left:auto}
.p-lista{background:#fff;border:1px solid var(--borde);border-radius:16px;overflow:hidden}
.p-lista .it{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #F1F1F3}
.p-lista .it:last-child{border-bottom:0}
.p-lista .it b{font-size:12px;display:block}
.p-lista .it .v{margin-left:auto;font-family:"Space Grotesk",Inter,system-ui,sans-serif;font-weight:700;font-size:15px}
.dias{display:flex;gap:5px}
.dias span{flex:1;height:48px;border-radius:12px;background:#fff;border:1px solid var(--borde);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px;color:var(--mut);font-weight:600}
.dias span b{font-family:"Space Grotesk",Inter,system-ui,sans-serif;font-size:15px;color:var(--txt)}
.dias span i{width:4px;height:4px;border-radius:50%;background:var(--verde);margin-top:2px}
.dias span.on{background:var(--txt);border-color:var(--txt);color:#C9C9CF}
.dias span.on b{color:#fff}
.dias span.on i{background:var(--lima)}
.opc{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;font-size:12px}
.opc b{display:block}
.opc .v{margin-left:auto;font-family:"Space Grotesk",Inter,system-ui,sans-serif;font-weight:700}

/* ---------- números ---------- */
.numeros{padding:72px 0 40px}
.numeros .cont{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.numero{background:#fff;border:1px solid var(--borde);border-radius:24px;padding:24px}
.numero .num{font-weight:700;font-size:clamp(34px,4vw,48px);line-height:1}
.numero p{color:var(--mut);font-size:15px;margin-top:8px}

/* ---------- funciones ---------- */
section.bloque{padding:28px 0}
.panel{border-radius:40px;padding:64px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;overflow:hidden;position:relative;min-height:620px}
.panel.al-reves .texto{order:2}
.panel .texto .etq{font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin-bottom:16px;display:block}
.panel h2{font-size:clamp(36px,5vw,64px);line-height:1;margin-bottom:18px}
.panel p{font-size:18px;opacity:.85;max-width:28em}
.panel ul{list-style:none;margin-top:24px;display:grid;gap:12px}
.panel li{display:flex;gap:12px;align-items:flex-start;font-size:16px;font-weight:500}
.panel li::before{content:"";width:22px;height:22px;border-radius:50%;flex-shrink:0;margin-top:1px;background:currentColor;opacity:.18}
.panel .visual{display:flex;justify-content:center;position:relative}
.panel .visual .tel{transform:rotate(-3deg)}
.panel.al-reves .visual .tel{transform:rotate(3deg)}
.pn-negro{background:var(--negro);color:#fff}
.pn-verde{background:#D9F2C4;color:#0F2A12}
.pn-lila{background:#E9E3FF;color:#24135A}
.pn-ambar{background:linear-gradient(135deg,#FDE68A,#F59E0B);color:#451A03}
.pn-cuero{background:linear-gradient(135deg,var(--cuero1),var(--cuero2));color:var(--crema)}

/* avisos */
.avisos{display:grid;gap:12px;width:100%;max-width:380px}
.aviso{background:rgba(255,255,255,.9);color:var(--txt);border-radius:22px;padding:14px 16px;display:flex;gap:12px;align-items:center;box-shadow:0 14px 30px rgba(69,26,3,.18)}
.aviso .ic{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--cuero1),var(--cuero2));color:var(--crema);display:grid;place-items:center;font-family:"Space Grotesk",Inter,system-ui,sans-serif;font-weight:700;flex-shrink:0}
.aviso b{display:block;font-size:15px}
.aviso small{color:var(--mut);font-size:13px}
.aviso .hora{margin-left:auto;align-self:flex-start;color:var(--mut);font-size:12px}
.aviso:nth-child(2){margin-left:24px}
.aviso:nth-child(3){margin-left:48px;opacity:.85}

/* ranking */
.ranking{display:grid;gap:10px;width:100%;max-width:380px}
.rk1{border-radius:26px;padding:24px;color:#fff;background:linear-gradient(135deg,#2B2B6E,#141440);box-shadow:0 20px 40px rgba(36,19,90,.25)}
.rk1 small{color:var(--lima);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:12px}
.rk1 .num{font-size:44px;font-weight:700;margin:4px 0}
.rk1 p{font-size:14px;opacity:.85}
.rk{background:#fff;border-radius:18px;padding:14px 16px;display:flex;gap:12px;align-items:center;font-weight:600}
.rk .n{font-family:"Space Grotesk",Inter,system-ui,sans-serif;color:var(--mut);width:14px}
.rk .c{width:34px;height:24px;border-radius:5px}
.rk .v{margin-left:auto;font-family:"Space Grotesk",Inter,system-ui,sans-serif;font-weight:700}

/* plan */
.niveles{display:grid;gap:10px;width:100%;max-width:380px}
.nivel{background:rgba(255,255,255,.1);border:1px solid rgba(245,225,195,.25);border-radius:20px;padding:16px 18px;display:flex;gap:14px;align-items:center}
.nivel .ic{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:rgba(245,225,195,.15)}
.nivel.ok .ic{background:var(--lima);color:#0F2A12}
.nivel b{display:block}
.nivel small{opacity:.75}
.barra-prog{height:10px;border-radius:5px;background:rgba(245,225,195,.18);overflow:hidden}
.barra-prog i{display:block;height:100%;width:62%;background:var(--lima);border-radius:5px}

/* ---------- privacidad ---------- */
.privacidad-bloque{background:#fff;border:1px solid var(--borde);border-radius:40px;padding:56px;display:grid;grid-template-columns:auto 1fr;gap:36px;align-items:center}
.candado{width:96px;height:96px;border-radius:30px;background:linear-gradient(135deg,var(--cuero1),var(--cuero2));display:grid;place-items:center;color:var(--crema)}
.candado svg{width:44px;height:44px}
.privacidad-bloque h2{font-size:clamp(28px,3.4vw,40px);line-height:1.05;margin-bottom:12px}
.privacidad-bloque p{color:var(--txt2);font-size:17px}
.sellos{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.sellos span{background:var(--bg);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}

/* ---------- preguntas ---------- */
.preguntas{padding:72px 0}
.preguntas .cont{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;align-items:start}
.preguntas h2{font-size:clamp(34px,4.4vw,56px);line-height:1}
.preguntas .lista{display:grid;gap:10px}

/* ---------- cierre ---------- */
.cierre{padding:0 0 72px}
.cierre .caja-cierre{background:var(--negro);color:#fff;border-radius:40px;padding:72px 40px;text-align:center;position:relative;overflow:hidden}
.cierre .caja-cierre::before{content:"";position:absolute;inset:auto -10% -60% -10%;height:120%;background:radial-gradient(closest-side,rgba(167,227,126,.22),transparent);pointer-events:none}
.cierre h2{font-size:clamp(38px,6vw,80px);line-height:.98;margin:0 auto 18px;max-width:12ch;position:relative}
.cierre p{color:#C9C9CF;font-size:18px;margin-bottom:30px;position:relative}
.cierre .btn{position:relative}

/* ---------- pie ---------- */
footer{border-top:1px solid var(--borde);padding:36px 0;color:var(--mut);font-size:14px}
footer .cont{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{margin-left:18px;text-decoration:none}
footer a:hover{color:var(--txt)}

/* ---------- páginas de texto ---------- */
.doc{max-width:760px;margin:0 auto;padding:60px 20px 80px}
.doc h1{font-size:clamp(34px,5vw,48px);margin-bottom:6px}
.doc .fecha{color:var(--mut);margin-bottom:32px}
.doc h2{font-size:22px;margin:34px 0 10px}
.doc p,.doc li{color:var(--txt2);font-size:16px}
.doc ul{padding-left:22px;margin:8px 0}
.doc li{margin:6px 0}
.caja{background:var(--sup);border:1px solid var(--borde);border-radius:22px;padding:22px;margin:16px 0}
.caja.verde{background:var(--verdeBg);border-color:var(--verdeBg)}
details{background:var(--sup);border:1px solid var(--borde);border-radius:20px;padding:18px 22px;margin:10px 0}
.preguntas details{margin:0}
summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:"Space Grotesk",Inter,system-ui,sans-serif;font-size:24px;line-height:1;color:var(--mut);transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{margin-top:10px;color:var(--txt2)}

/* ---------- aparecer al hacer scroll ---------- */
.rev{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.rev.vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rev{opacity:1;transform:none;transition:none}
  .flotante{animation:none}
  html{scroll-behavior:auto}
}

/* ---------- responsive ---------- */
@media (max-width:960px){
  .panel{grid-template-columns:1fr;padding:44px 28px 0;min-height:0;border-radius:32px;gap:36px}
  .panel.al-reves .texto{order:0}
  .panel .visual{margin-bottom:-120px}
  .panel .visual.sin-tel{margin-bottom:40px}
  .numeros .cont{grid-template-columns:repeat(2,1fr)}
  .preguntas .cont{grid-template-columns:1fr;gap:24px}
  .fl1{left:-10px;top:40px}.fl2{right:-10px;top:150px}.fl3{display:none}
}
@media (max-width:640px){
  nav a:not(.pill){display:none}
  .hero{padding-top:48px}
  .escena{height:500px}
  .escena .tel{bottom:-150px}
  .flotante{padding:10px 12px;font-size:12px;border-radius:18px}
  .flotante .ic{width:32px;height:32px;border-radius:10px}
  .flotante b{font-size:13px}
  .fl1{left:-4px;top:4px}.fl2{right:-4px;top:auto;bottom:40px}
  .privacidad-bloque{grid-template-columns:1fr;padding:32px 24px;border-radius:32px}
  .cierre .caja-cierre{padding:56px 22px;border-radius:32px}
  .numero{padding:18px}
  .panel{padding:36px 22px 0}
  .tel{width:270px;height:560px}
  footer a{margin-left:0;margin-right:16px}
}
