/* Landing de Locha (API Locha + app Locha). Lenguaje visual de Autos: héroe con aurora, insignias, cinta de funciones, marcos de navegador,
   claro/oscuro. Sin dependencias: HTML, CSS y un JS pequeño. Tokens iguales a los del back office. */
:root{--fondo:#f4f7fc;--papel:#fff;--papel-2:#eef3fb;--tinta:#0e1626;--suave:#4a566b;--tenue:#5a667c;--linea:#dde4f0;--marca:#1d4ed8;--marca-2:#1740b0;--marca-f:#e8eefc;--turquesa:#00838f;--acento:#f5a524;--ok:#15803d;--sombra:0 1px 2px rgba(15,23,42,.05),0 14px 40px rgba(15,23,42,.08);--aur1:rgba(29,78,216,.20);--aur2:rgba(0,131,143,.16);--aur3:rgba(245,165,36,.16);--ancho:1160px}
:root[data-tema=oscuro]{color-scheme:dark;--fondo:#0a0f1c;--papel:#111a2c;--papel-2:#0e1626;--tinta:#e9eef8;--suave:#a9b6cc;--tenue:#7f8da6;--linea:#223049;--marca:#6c93ff;--marca-2:#4c78f0;--marca-f:#16213f;--turquesa:#35c0cf;--acento:#fbbf24;--ok:#4ade80;--sombra:0 1px 2px rgba(0,0,0,.4),0 18px 50px rgba(0,0,0,.4);--aur1:rgba(108,147,255,.20);--aur2:rgba(53,192,207,.14);--aur3:rgba(251,191,36,.10)}
@media (prefers-color-scheme:dark){:root:not([data-tema=claro]){color-scheme:dark;--fondo:#0a0f1c;--papel:#111a2c;--papel-2:#0e1626;--tinta:#e9eef8;--suave:#a9b6cc;--tenue:#7f8da6;--linea:#223049;--marca:#6c93ff;--marca-2:#4c78f0;--marca-f:#16213f;--turquesa:#35c0cf;--acento:#fbbf24;--ok:#4ade80;--sombra:0 1px 2px rgba(0,0,0,.4),0 18px 50px rgba(0,0,0,.4);--aur1:rgba(108,147,255,.20);--aur2:rgba(53,192,207,.14);--aur3:rgba(251,191,36,.10)}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px;background:var(--fondo)}
body{margin:0;background:var(--fondo);color:var(--tinta);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto}a{color:var(--marca)}h1,h2,h3{line-height:1.12;letter-spacing:-.02em;margin:0;text-wrap:balance}
code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.cont{max-width:var(--ancho);margin:0 auto;padding:0 22px}
.salto{position:absolute;left:-999px;top:8px;background:#0b1020;color:#fff;border:2px solid #fff;padding:8px 14px;border-radius:8px;z-index:100;font-weight:700}.salto:focus{left:8px}
:focus-visible{outline:3px solid var(--acento);outline-offset:3px;border-radius:6px}
/* logos claro/oscuro e imágenes por tema */
.logo{display:block;height:auto}.l-oscuro,.i-oscuro,.marco img.i-oscuro,.tel img.i-oscuro{display:none}
:root[data-tema=oscuro] .l-claro,:root[data-tema=oscuro] .i-claro{display:none}:root[data-tema=oscuro] .l-oscuro,:root[data-tema=oscuro] .i-oscuro,:root[data-tema=oscuro] .marco img.i-oscuro,:root[data-tema=oscuro] .tel img.i-oscuro{display:block}
@media (prefers-color-scheme:dark){:root:not([data-tema=claro]) .l-claro,:root:not([data-tema=claro]) .i-claro{display:none}:root:not([data-tema=claro]) .l-oscuro,:root:not([data-tema=claro]) .i-oscuro,:root:not([data-tema=claro]) .marco img.i-oscuro,:root:not([data-tema=claro]) .tel img.i-oscuro{display:block}}
/* banda y navegación */
.banda{background:linear-gradient(90deg,#1d4ed8,#00838f);text-align:center;font-size:14px}.banda a{display:block;color:#fff;text-decoration:none;padding:8px 14px}.banda a:hover{text-decoration:underline}
.nav{position:sticky;top:0;z-index:50;backdrop-filter:saturate(1.5) blur(14px);background:color-mix(in srgb,var(--fondo) 82%,transparent);border-bottom:1px solid var(--linea)}
.nav-in{max-width:var(--ancho);margin:0 auto;padding:12px 22px;display:flex;align-items:center;gap:24px}
.nav-links{display:flex;gap:22px;margin-left:12px}.nav-links a{color:var(--suave);text-decoration:none;font-size:14.5px;font-weight:500}.nav-links a:hover{color:var(--tinta)}.nav-links a[hidden]{display:none}
.nav-acc{display:flex;align-items:center;gap:12px;margin-left:auto}.enlace-ing{color:var(--tinta);text-decoration:none;font-weight:600;font-size:14.5px;padding:8px 6px}.enlace-ing:hover{color:var(--marca)}
.btn-tema,.btn-menu{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--linea);background:var(--papel);color:var(--tinta);cursor:pointer;padding:0}
.btn-tema svg,.btn-menu svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.btn-tema .sol{display:none}
:root[data-tema=oscuro] .btn-tema .sol{display:block}:root[data-tema=oscuro] .btn-tema .luna{display:none}
@media (prefers-color-scheme:dark){:root:not([data-tema=claro]) .btn-tema .sol{display:block}:root:not([data-tema=claro]) .btn-tema .luna{display:none}}
.btn-menu{display:none;border-radius:10px}
/* botones */
.boton{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:10px 18px;font:700 15px system-ui,sans-serif;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s;position:relative;overflow:hidden}
.boton.prim{background:linear-gradient(135deg,var(--marca),var(--turquesa));color:#fff;box-shadow:0 8px 22px color-mix(in srgb,var(--marca) 35%,transparent)}
:root[data-tema=oscuro] .boton.prim{color:#07101f}@media (prefers-color-scheme:dark){:root:not([data-tema=claro]) .boton.prim{color:#07101f}}
.boton.prim:hover{transform:translateY(-1px);box-shadow:0 12px 28px color-mix(in srgb,var(--marca) 45%,transparent)}
.boton.prim::after{content:"";position:absolute;inset:0;width:55%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:translateX(-130%) skewX(-12deg)}.boton.prim:hover::after{animation:brillo .9s ease}
@keyframes brillo{0%{transform:translateX(-130%) skewX(-12deg)}100%{transform:translateX(260%) skewX(-12deg)}}
.boton.sec{background:var(--papel);color:var(--tinta);border-color:var(--linea)}.boton.sec:hover{border-color:var(--marca);color:var(--marca)}
.boton.grande{padding:14px 26px;font-size:16.5px;border-radius:14px}
/* héroe */
.heroe{position:relative;overflow:hidden;padding:60px 0 56px}
.aurora{position:absolute;inset:-10% -10% auto -10%;height:120%;background:radial-gradient(42% 46% at 20% 18%,var(--aur1),transparent 62%),radial-gradient(40% 50% at 82% 28%,var(--aur2),transparent 62%),radial-gradient(40% 40% at 55% 90%,var(--aur3),transparent 62%);animation:aurora 22s ease-in-out infinite;filter:blur(22px);pointer-events:none}
@keyframes aurora{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(3%,-2%,0) scale(1.07)}}
.heroe-in{position:relative}
.insignia{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--marca);background:var(--marca-f);border:1px solid color-mix(in srgb,var(--marca) 28%,transparent);border-radius:999px;padding:6px 14px;margin:0 0 20px}
.pt{width:8px;height:8px;border-radius:50%;background:var(--acento);box-shadow:0 0 0 3px color-mix(in srgb,var(--acento) 28%,transparent)}
.heroe h1{font-size:clamp(34px,5.2vw,60px);max-width:15ch}
.brillo{background-image:linear-gradient(100deg,var(--marca) 0%,var(--turquesa) 30%,var(--acento) 55%,var(--marca) 80%,var(--turquesa) 100%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:tinte 7s linear infinite}
@keyframes tinte{to{background-position:220% center}}
.sub{font-size:clamp(17px,2.2vw,20px);color:var(--suave);max-width:600px;margin:20px 0 0}.sub b{color:var(--tinta)}
.fichas{list-style:none;padding:0;margin:22px 0 0;display:flex;gap:10px;flex-wrap:wrap}
.fichas li{font-size:14px;font-weight:600;border:1px solid var(--linea);background:var(--papel);border-radius:999px;padding:6px 14px}
.fichas li::before{content:"✓";color:var(--ok);margin-right:7px;font-weight:800}
.ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}.ctas.ctr{margin-top:22px}
.micro{font-size:13.5px;color:var(--tenue);margin:14px 0 0}
/* tasa en vivo */
.vivo{width:100%;max-width:520px;justify-self:end;background:var(--papel);border:1px solid var(--linea);border-radius:20px;padding:16px 20px;box-shadow:var(--sombra);text-align:left}
.vivo-cab{display:flex;align-items:center;gap:8px;font-size:14.5px}.vivo-cab small{margin-left:auto;color:var(--suave)}
.pt-vivo{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 55%,transparent);animation:latido 2s infinite}
@keyframes latido{70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}
.vivo-val{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px}.vivo-val small{display:block;color:var(--suave);font-size:12.5px}
.vivo-val strong{font-size:clamp(24px,4vw,32px);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.vivo-pie{margin:8px 0 0;font-size:12.5px;color:var(--tenue)}
/* marcos de navegador */
.marco{background:var(--papel);border:1px solid var(--linea);border-radius:16px;box-shadow:var(--sombra);overflow:hidden;position:relative}
.marco-barra{display:flex;align-items:center;gap:7px;padding:10px 14px;border-bottom:1px solid var(--linea);background:var(--papel-2);font:12.5px ui-monospace,Menlo,monospace;color:var(--suave)}
.marco-barra i{width:10px;height:10px;border-radius:50%;background:#ef6b5f}.marco-barra i:nth-child(2){background:#f5bf4f}.marco-barra i:nth-child(3){background:#61c554}.marco-barra span{margin-left:10px}
.marco img{width:100%;height:auto}.i-claro{display:block}
@keyframes flota{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
/* cinta */
.cinta{overflow:hidden;border-block:1px solid var(--linea);background:color-mix(in srgb,var(--papel) 70%,transparent)}
.cinta-pista{display:flex;gap:0;width:max-content;animation:cinta 46s linear infinite}.cinta:hover .cinta-pista{animation-play-state:paused}
.cinta-pista span{padding:13px 22px;font-size:14px;color:var(--suave);white-space:nowrap;font-weight:500}.cinta-pista span::before{content:"•";color:var(--turquesa);margin-right:22px}
@keyframes cinta{to{transform:translateX(-50%)}}
/* secciones */
.sec{padding:88px 0}.sec.alt{background:var(--papel-2);border-block:1px solid var(--linea)}.sec[hidden]{display:none}
.ojo{font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--marca);margin:0 0 10px}
.sec h2{font-size:clamp(28px,4vw,42px);max-width:22ch}.lead{font-size:18px;color:var(--suave);max-width:680px;margin:16px 0 0}.lead b{color:var(--tinta)}
.rejilla3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px}
.tarjeta{background:var(--papel);border:1px solid var(--linea);border-radius:20px;padding:24px;box-shadow:var(--sombra);transition:transform .18s,border-color .18s}
.tarjeta:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--marca) 40%,var(--linea))}
.tarjeta h3{font-size:19px;margin-bottom:8px}.tarjeta p{margin:0;color:var(--suave);font-size:15.5px}.tarjeta p b{color:var(--tinta)}
.num{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--marca-f);color:var(--marca);font-weight:800;margin-bottom:14px}
.solucion{margin-top:28px;border:1px solid color-mix(in srgb,var(--marca) 35%,var(--linea));background:linear-gradient(135deg,var(--marca-f),transparent);border-radius:20px;padding:22px 26px}
.solucion h3{font-size:21px}.solucion p{margin:6px 0 0;color:var(--suave)}.solucion p b{color:var(--tinta)}
.dos-col{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:start}
.pasos{list-style:none;counter-reset:p;padding:0;margin:28px 0}.pasos li{counter-increment:p;position:relative;padding:0 0 22px 52px}
.pasos li::before{content:counter(p);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--marca),var(--turquesa));color:#fff;display:grid;place-items:center;font-weight:800}
:root[data-tema=oscuro] .pasos li::before{color:#07101f}@media (prefers-color-scheme:dark){:root:not([data-tema=claro]) .pasos li::before{color:#07101f}}
.pasos b{display:block;font-size:17.5px}.pasos span{color:var(--suave)}
.codigo{background:#0b1220;color:#dbe6ff;border:1px solid #1f2d49;border-radius:18px;overflow:hidden;box-shadow:var(--sombra)}
.codigo-barra{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:#0f1a30;color:#9fb3d6;font-size:12.5px;border-bottom:1px solid #1f2d49}
.codigo pre{margin:0;padding:14px 18px;overflow:auto;font-size:13px;line-height:1.6;border-bottom:1px solid #1f2d49}.codigo pre:last-of-type{border-bottom:0}
.copiar{background:#1a2744;color:#dbe6ff;border:1px solid #2b3d63;border-radius:8px;padding:3px 10px;font-size:12px;cursor:pointer}.copiar:hover{background:#243559}
.codigo-pie{margin:0;padding:10px 16px;font-size:12.5px;color:#9fb3d6;background:#0f1a30;border-top:1px solid #1f2d49}.codigo-pie code{color:#cfe0ff}
/* portal */
.portal-grid{display:grid;grid-template-columns:300px 1fr;gap:30px;margin-top:36px;align-items:start}
.pestanas{display:flex;flex-direction:column;gap:6px}
.pestanas>button{text-align:left;font:600 15px system-ui,sans-serif;border:1px solid var(--linea);background:var(--papel);color:var(--suave);border-radius:12px;padding:12px 16px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.pestanas>button:hover{color:var(--tinta)}.pestanas>button[aria-selected=true]{background:var(--marca-f);color:var(--marca);border-color:color-mix(in srgb,var(--marca) 40%,var(--linea))}
.lista-chk{list-style:none;padding:0;margin:14px 0 0}.lista-chk li{position:relative;padding:5px 0 5px 28px;color:var(--suave);font-size:15.5px}
.lista-chk li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:800}
.nota-capt{margin:16px 0 0;font-size:13px;color:var(--tenue)}
/* app */
.app-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center}
.descarga{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:26px}
.qr-caja{display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;border-radius:14px;padding:8px 8px 6px;border:1px solid var(--linea)}.qr-caja small{color:#334;font-size:11.5px}
#qr svg{display:block;width:104px;height:104px}
.telefonos{position:relative;display:flex;justify-content:center;align-items:center;gap:0;min-height:520px}
.tel{width:min(210px,29vw);border-radius:30px;padding:7px;background:#0b1220;border:1px solid #26354f;box-shadow:var(--sombra);position:relative}
.tel img{display:block;border-radius:24px;width:100%;height:auto}.tel.t1{transform:translateY(34px) rotate(-3deg);z-index:2}.tel.t2{transform:translateY(-8px);z-index:3;margin:0 -16px}.tel.t3{transform:translateY(40px) rotate(3deg);z-index:2}
/* preguntas */
.faq{max-width:820px}.faq h2{text-align:center;margin:0 auto 28px}
.faq details{border:1px solid var(--linea);background:var(--papel);border-radius:14px;margin-bottom:10px;overflow:hidden}
.faq summary{cursor:pointer;padding:16px 20px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}.faq summary::after{content:"+";font-size:22px;line-height:1;color:var(--marca)}
.faq details[open] summary::after{content:"–"}.faq details p{margin:0;padding:0 20px 18px;color:var(--suave)}
/* cierre y pie */
.cta-final{text-align:center;padding:84px 0;background:radial-gradient(60% 90% at 50% 0%,var(--aur1),transparent 70%)}.cta-final h2{font-size:clamp(28px,4.4vw,44px);margin:12px auto 0;max-width:20ch}.cta-final p{color:var(--suave);font-size:18px;margin:12px 0 0}
.moneda{display:block;margin:0 auto;filter:drop-shadow(0 12px 22px rgba(245,165,36,.35));animation:flota 6s ease-in-out infinite}
.pie{border-top:1px solid var(--linea);padding:36px 0 44px;font-size:14px;color:var(--suave)}
.pie-in{display:grid;grid-template-columns:1.2fr 1fr;gap:20px 40px}.pie-in nav{display:flex;flex-wrap:wrap;gap:10px 22px;align-content:flex-start}.pie-in nav a{color:var(--suave);text-decoration:none}.pie-in nav a:hover{color:var(--marca)}
.pie-in p{margin:10px 0 0}.aviso-legal{grid-column:1/-1;font-size:12.5px;color:var(--tenue);border-top:1px solid var(--linea);padding-top:16px}
/* aparición al desplazarse (solo con JS) */
.js .rev{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.js .rev.vis{opacity:1;transform:none}
/* adaptación */
@media (max-width:980px){.nav-links{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;margin:0;background:var(--papel);border-bottom:1px solid var(--linea);padding:8px 22px 14px}.nav-links.abierto{display:flex}.nav-links a{padding:12px 0;border-top:1px solid var(--linea)}.nav-links a:first-child{border-top:0}
  .btn-menu{display:inline-flex}.enlace-ing{display:none}.dos-col,.app-grid,.portal-grid{grid-template-columns:1fr}.rejilla3{grid-template-columns:1fr 1fr}.pestanas{flex-direction:row;flex-wrap:wrap}.pestanas .lista-chk{flex-basis:100%}
  .telefonos{min-height:420px;margin-top:10px}}
@media (max-width:640px){.sec{padding:60px 0}.heroe{padding-top:44px}.rejilla3{grid-template-columns:1fr}.nav-acc .boton{display:none}.pie-in{grid-template-columns:1fr}.vivo-val{grid-template-columns:1fr 1fr;gap:8px}.tel{border-radius:22px;padding:5px}.tel img{border-radius:18px}.tel.t2{margin:0 -12px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.aurora,.brillo,.cinta-pista,.moneda,.pt-vivo{animation:none}.js .rev{opacity:1;transform:none;transition:none}.tarjeta,.boton{transition:none}}

/* ingresar: portal del cliente o administración (12-10-2026) */
.ingresar{position:relative}.enlace-ing{display:inline-flex;align-items:center;gap:4px;background:none;border:0;cursor:pointer;font:inherit;font-weight:600;font-size:14.5px}
.enlace-ing svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;transition:transform .15s}.enlace-ing[aria-expanded=true] svg{transform:rotate(180deg)}
.menu-ing{position:absolute;right:0;top:calc(100% + 8px);min-width:270px;background:var(--papel);border:1px solid var(--linea);border-radius:16px;box-shadow:var(--sombra);padding:6px;z-index:60}
.menu-ing a{display:block;padding:10px 12px;border-radius:11px;text-decoration:none;color:var(--tinta)}.menu-ing a:hover,.menu-ing a:focus-visible{background:var(--marca-f)}
.menu-ing b{display:block;font-size:15px}.menu-ing small{display:block;color:var(--suave);font-size:13px;margin-top:1px}
.solo-movil{display:none}.ico-banda{width:16px;height:16px;fill:currentColor;vertical-align:-3px}
@media (max-width:980px){.ingresar{display:none}.nav-links .solo-movil{display:block}.nav-links .solo-movil.destacado{color:var(--marca);font-weight:700}}
/* planes con su moneda (13-10-2026): una escalera por producto, la moneda crece en cada escalón */
.escalera{border-radius:24px;padding:22px 20px 20px;border:1px solid var(--linea);background:var(--papel-2)}
.escalera.api{background:linear-gradient(180deg,color-mix(in srgb,var(--marca) 9%,var(--papel)),var(--papel))}
.escalera.app{background:linear-gradient(180deg,color-mix(in srgb,var(--acento) 12%,var(--papel)),var(--papel))}
.esc-cab h3{font-size:22px;margin-top:6px}.esc-cab p{margin:4px 0 0;color:var(--suave);font-size:15px}
.esc-tipo{display:inline-block;font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 12px}
.api .esc-tipo{background:var(--marca-f);color:var(--marca)}.app .esc-tipo{background:color-mix(in srgb,var(--acento) 20%,transparent);color:color-mix(in srgb,var(--acento) 50%,var(--tinta))}
.mon{width:var(--tam,64px);height:var(--tam,64px);justify-self:center;position:relative;z-index:1;filter:drop-shadow(0 6px 10px rgba(15,23,42,.18))}
.m-escalon{margin:0;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--suave)}
.m-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0}.m-chips span{font-size:12.5px;font-weight:700;border-radius:999px;padding:3px 10px;background:var(--papel-2);border:1px solid var(--linea);color:var(--tinta)}
.m-fuente{font-size:12.5px!important}.m-fuente a{color:var(--suave)}.m-fuente a:hover{color:var(--marca)}
.m-nota{margin:18px 0 0;font-size:13px;color:var(--suave)}
/* héroe (13-10-2026, 2.ª versión): texto a la izquierda y la vitrina al lado */
.heroe .cont.heroe-in{max-width:1300px;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:36px 56px;align-items:center}
.heroe h1{font-size:clamp(32px,3.5vw,50px);max-width:16ch}.heroe .insignia{margin-bottom:16px}.heroe .fichas{margin-top:16px;gap:8px}.heroe .fichas li{font-size:13.5px;padding:5px 12px}.heroe .sub{font-size:clamp(17px,1.6vw,19px);margin-top:16px}
.ctas.izq{justify-content:flex-start;margin-top:24px}.heroe .micro b{color:var(--tinta)}.heroe .micro a{font-weight:700}
.heroe .vivo{margin-top:20px;max-width:460px;justify-self:start;padding:12px 18px}.heroe .vivo-val strong{font-size:clamp(22px,2.4vw,28px)}.heroe .vivo-val{margin-top:6px}
/* vitrina: el portal (navegador) y la app (teléfono) superpuestos; la leyenda va debajo, FUERA de la captura, unida por una línea */
.vitrina{position:relative;margin:0}
.escena{display:grid;padding-bottom:4px}
.escena>*{grid-area:1/1}
.v-nav{width:80%;justify-self:start;align-self:start}
.vitrina .tel.v-tel{width:29%;justify-self:end;align-self:start;margin-top:13%;z-index:2;border-radius:26px;padding:6px}
.pantallas{position:relative;aspect-ratio:1360/840}.v-tel .pantallas{aspect-ratio:540/1140;border-radius:20px;overflow:hidden}
.pant{position:absolute;inset:0;opacity:0;transition:opacity .55s ease}.pant.act{opacity:1}
.pant img{width:100%;height:100%;object-fit:cover;border-radius:0}.v-tel .pant img{border-radius:20px}
.v-pt{position:absolute;border:2.5px solid var(--acento);border-radius:10px;background:transparent;opacity:0;transform:scale(1.04);transition:opacity .3s,transform .3s;z-index:3;pointer-events:none}
.v-pt.act{opacity:1;transform:none;animation:v-latido 1.8s ease-out infinite}
@keyframes v-latido{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--acento) 55%,transparent)}100%{box-shadow:0 0 0 10px transparent}}
.v-lineas{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:4}
.v-lineas path{fill:none;stroke:var(--acento);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.v-lineas circle{fill:var(--acento)}
.v-lineas.dibuja path{animation:v-trazo .7s ease forwards}
@keyframes v-trazo{from{stroke-dashoffset:var(--largo,600)}to{stroke-dashoffset:0}}
.v-leyenda{margin-top:22px;position:relative}
.v-pasos{list-style:none;margin:0;padding:0;display:grid}
.v-paso{grid-area:1/1;background:var(--papel);border:1px solid var(--linea);border-left:4px solid var(--acento);border-radius:14px;padding:12px 16px;box-shadow:var(--sombra);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .4s,transform .4s,visibility .4s}
.v-paso[data-prod=api]{border-left-color:var(--marca)}
.v-paso.act{opacity:1;visibility:visible;transform:none}
.v-prod{display:block;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--marca)}.v-paso[data-prod=app] .v-prod{color:color-mix(in srgb,var(--acento) 45%,var(--tinta))}
.v-paso b{display:block;font-size:17px;margin-top:2px}.v-tx{display:block;color:var(--suave);font-size:14.5px;margin-top:2px}
.v-ctl{display:flex;align-items:center;gap:12px;margin-top:12px}
.v-pausa{width:34px;height:34px;flex:none;border-radius:50%;border:1px solid var(--linea);background:var(--papel);color:var(--tinta);display:grid;place-items:center;cursor:pointer;padding:0}
.v-pausa svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.v-pausa .ic-play{display:none;fill:currentColor}
.v-pausa[aria-pressed=true] .ic-pausa{display:none}.v-pausa[aria-pressed=true] .ic-play{display:block}
.v-ires{display:flex;gap:6px;flex:1}
.v-ir{flex:1;height:24px;border:0;background:none;padding:0;cursor:pointer;display:flex;align-items:center}
.v-ir i{display:block;width:100%;height:4px;border-radius:4px;background:var(--linea);overflow:hidden;position:relative}
.v-ir i::after{content:"";position:absolute;inset:0;transform-origin:left;transform:scaleX(0);background:var(--marca)}
.v-ir.hecho i::after{transform:none}
.v-ir.act i::after{animation:v-avance var(--paso,5.5s) linear forwards}
.vitrina.pausa .v-ir.act i::after{animation-play-state:paused}
.v-ir.act.quieto i::after{animation:none;transform:none}
@keyframes v-avance{to{transform:scaleX(1)}}
/* planes (13-10-2026, 2.ª versión): compactos, una fila por plan y las dos escaleras lado a lado */
.escaleras{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;margin-top:34px;align-items:start}
.escalera{border-radius:24px;padding:20px 18px 20px}
.planes-esc{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.plan{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:4px 12px;align-items:center;background:var(--papel);border:1px solid var(--linea);border-radius:16px;padding:12px 14px;box-shadow:var(--sombra)}
.plan .mon{grid-row:1}
.plan.dest{border-color:var(--marca);box-shadow:0 0 0 2px color-mix(in srgb,var(--marca) 28%,transparent),var(--sombra)}
.app .plan.dest{border-color:color-mix(in srgb,var(--acento) 70%,var(--tinta));box-shadow:0 0 0 2px color-mix(in srgb,var(--acento) 35%,transparent),var(--sombra)}
.pl-insignia{display:none;margin-left:8px;border-radius:999px;padding:1px 8px;background:var(--marca);color:#fff;letter-spacing:.03em}
.app .pl-insignia{background:var(--acento);color:#3a2600}.plan.dest .pl-insignia{display:inline-block}
:root[data-tema=oscuro] .pl-insignia{color:#07101f}@media (prefers-color-scheme:dark){:root:not([data-tema=claro]) .pl-insignia{color:#07101f}}
.plan h4{font-size:19px;margin:1px 0 0;line-height:1.2}.pl-valor{font-weight:700;color:var(--tinta)!important}
.pl-res{margin:3px 0 0;color:var(--suave);font-size:14px;line-height:1.45}
.pl-precio{text-align:right;line-height:1.1;white-space:nowrap}.pl-monto{font-size:24px;letter-spacing:-.02em}.pl-per{font-size:13.5px;color:var(--suave);font-weight:600}
.pl-alt{display:block;font-size:12.5px;color:var(--tenue);margin-top:4px}
.pl-bs{display:block;font-size:12.5px;color:var(--tenue);margin-top:2px;white-space:nowrap}
.pl-mas{grid-column:2/-1;margin-top:2px}.pl-mas summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--marca);width:max-content;max-width:100%}
.pl-para{margin:8px 0 0;color:var(--tinta);font-size:14.5px;font-weight:600}
.pl-incluye{list-style:none;padding:0;margin:6px 0 0}
.pl-incluye li{position:relative;padding:3px 0 3px 22px;color:var(--suave);font-size:14px}.pl-incluye li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:800}
.pl-incluye li.todo{padding-left:0;color:var(--tinta);font-weight:700}.pl-incluye li.todo::before{content:none}
.pl-hist{margin-top:8px;border-top:1px solid var(--linea);padding-top:6px}.pl-hist p{margin:6px 0 0;color:var(--suave);font-size:14px}
.esc-nota{margin:14px 2px 0;font-size:13.5px;color:var(--suave)}
.escalera .boton.esc-cta{margin-top:14px;width:100%;padding:12px 18px}   /* .sec también es la clase de las secciones (88 px de relleno): aquí manda el botón */
@media (max-width:1100px){.escaleras{grid-template-columns:1fr}}
@media (max-width:980px){.heroe .cont.heroe-in{grid-template-columns:1fr}.heroe h1{max-width:20ch}.vitrina{max-width:680px}}
@media (max-width:520px){.plan{grid-template-columns:44px minmax(0,1fr);grid-template-areas:"mon esc" "mon nom" "mon pre" "res res" "mas mas";padding:12px;gap:2px 10px}
  .plan .mon{grid-area:mon}.pl-cuerpo{display:contents}.plan .m-escalon{grid-area:esc}.plan h4{grid-area:nom}.pl-res{grid-area:res;margin-top:6px}.pl-precio{grid-area:pre;text-align:left;margin-top:2px;white-space:normal}.pl-alt{display:inline;margin-left:6px}.pl-mas{grid-area:mas}   /* el resumen a lo ancho, bajo nombre y precio */.plan .mon{width:calc(var(--tam) * .78);height:calc(var(--tam) * .78)}
  .pl-mas{grid-column:1/-1}.pl-monto{font-size:20px}.ctas.izq .boton{flex:1 1 auto}.v-leyenda{margin-top:24px}}
@media (prefers-reduced-motion:reduce){.pant,.v-pt,.v-paso{transition:none}.v-pt.act{animation:none}.v-lineas.dibuja path{animation:none}}   /* la barra del paso sigue: si la persona pide «seguir», avanza */
.v-nav .marco-barra span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
/* app (13-10-2026): un teléfono destacado por turno, unido a su línea de la lista; debajo, cómo lo recibe el contacto */
/* 13-10 (8j): sin giro, sin escala y sin filtro sobre las capturas: girar o escalar una imagen con texto fino la remuestrea y se ve
   dentada (medido a densidad 2). El destacado sube y lleva el aro; los demás solo bajan la opacidad, que no toca los píxeles. */
.tel.t1{transform:translateY(34px)}.tel.t3{transform:translateY(40px)}
.tel{transition:translate .5s ease,opacity .5s ease,box-shadow .5s ease}
.telefonos.anima .tel{opacity:.8}
.telefonos.anima .tel.act{opacity:1;translate:0 -16px;z-index:5;box-shadow:0 0 0 3px var(--acento),var(--sombra)}
.tel-et{position:absolute;left:50%;bottom:-38px;translate:-50% 0;white-space:nowrap;font-size:13px;font-weight:700;color:var(--suave);background:var(--papel);border:1px solid var(--linea);border-radius:999px;padding:3px 12px;opacity:.55;transition:opacity .4s,color .4s,border-color .4s}
.tel.act .tel-et{opacity:1;color:var(--tinta);border-color:var(--acento)}
.telefonos{padding-bottom:40px}
.lista-app li{border-radius:10px;transition:background .3s,color .3s;margin-left:-10px;padding-left:38px}.lista-app li::before{left:10px}
.lista-app li.act{background:color-mix(in srgb,var(--acento) 16%,transparent);color:var(--tinta)}
.lista-app li[data-tel]{cursor:default}.lista-app a{color:inherit;text-decoration-color:color-mix(in srgb,var(--marca) 50%,transparent)}
.recibe{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:40px;align-items:center;margin-top:84px}
.recibe h3{font-size:clamp(24px,3vw,32px);margin-top:4px}.recibe-tx>p:not(.ojo):not(.micro){color:var(--suave);font-size:17px;margin:12px 0 0;max-width:520px}
.recibe-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.recibe-tabs button{font:600 15px system-ui,sans-serif;border:1px solid var(--linea);background:var(--papel);color:var(--suave);border-radius:999px;padding:9px 16px;cursor:pointer}
.recibe-tabs button[aria-selected=true]{background:var(--marca-f);color:var(--marca);border-color:color-mix(in srgb,var(--marca) 40%,var(--linea))}
.chat{border-radius:26px;overflow:hidden;border:1px solid var(--linea);box-shadow:var(--sombra);background:var(--papel);width:100%;max-width:380px;justify-self:center}
.chat-cab{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--papel-2);border-bottom:1px solid var(--linea)}
.chat-av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--marca),var(--turquesa))}
.chat-cab b{display:block;font-size:15px;line-height:1.2}.chat-cab small{color:var(--tenue);font-size:12.5px}
.chat-cuerpo{position:relative;padding:16px 14px 18px;min-height:640px;background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--tinta) 9%,transparent) 1px,transparent 0) 0 0/16px 16px,color-mix(in srgb,var(--papel-2) 70%,var(--fondo))}
.burbuja{background:var(--papel);border-radius:4px 16px 16px 16px;box-shadow:0 1px 2px rgba(15,23,42,.12);margin:0;max-width:290px}
.burbuja.escribe{display:none;width:66px;padding:12px 14px;gap:5px}.chat.escribiendo .burbuja.escribe{display:flex}.chat.escribiendo .msj{display:none}
.burbuja.escribe i{width:8px;height:8px;border-radius:50%;background:var(--tenue);animation:puntos 1s infinite}.burbuja.escribe i:nth-child(2){animation-delay:.15s}.burbuja.escribe i:nth-child(3){animation-delay:.3s}
@keyframes puntos{0%,60%,100%{opacity:.35;translate:0 0}30%{opacity:1;translate:0 -4px}}
.msj{padding:5px;animation:llega .45s ease both}.msj[hidden]{display:none}
.msj img{width:100%;height:auto;border-radius:12px}.msj img.i-claro{display:block}.msj img.i-oscuro{display:none}   /* una sola imagen, la del tema */
:root[data-tema=oscuro] .msj img.i-claro{display:none}:root[data-tema=oscuro] .msj img.i-oscuro{display:block}
@media (prefers-color-scheme:dark){:root:not([data-tema=claro]) .msj img.i-claro{display:none}:root:not([data-tema=claro]) .msj img.i-oscuro{display:block}}
@keyframes llega{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
.chat-txt{font-size:12.5px;line-height:1.42;color:var(--tinta);padding:8px 8px 2px;overflow-wrap:anywhere}.chat-enl{color:var(--marca);text-decoration:underline}
.hora{display:block;text-align:right;font-size:11px;color:var(--tenue);margin-top:2px}.chat-txt.solo-hora{padding-top:2px}
@media (max-width:980px){.recibe{grid-template-columns:1fr;margin-top:60px}.telefonos{padding-bottom:44px}}
@media (max-width:640px){.tel-et{font-size:11.5px;padding:2px 8px;bottom:-34px}.chat-cuerpo{min-height:0}}
@media (prefers-reduced-motion:reduce){.tel,.tel-et,.lista-app li{transition:none}.msj{animation:none}.burbuja.escribe i{animation:none}}
/* vitrina en el teléfono (13-10-2026, pedido de Amable): API Locha y App Locha SEPARADAS, una debajo de la otra y a todo el ancho; la leyenda
   va justo debajo del dispositivo del paso, y el portal se ACERCA a la zona enmarcada para que se distinga lo que se señala */
.v-tit{display:none}
.lente{position:absolute;inset:0;transform-origin:0 0;transition:transform .6s ease}.v-nav .pantallas{overflow:hidden}
@media (max-width:760px){
  .vitrina{display:flex;flex-direction:column}.escena{display:contents}
  .v-tit{display:block;margin:0 0 10px;font-size:12.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--marca)}
  .v-tit.app{color:color-mix(in srgb,var(--acento) 45%,var(--tinta));margin-top:34px;align-self:center}
  .v-tit.api{order:1}.v-nav{order:2;width:100%}.vitrina.prod-api .v-leyenda{order:3}
  .v-tit.app{order:4}.vitrina .tel.v-tel{order:5;width:72%;align-self:center;justify-self:auto;margin-top:0}.vitrina.prod-app .v-leyenda{order:6}
  .v-leyenda{margin-top:18px}.vitrina.prod-api .v-leyenda{order:3}
}
@media (max-width:760px) and (prefers-reduced-motion:reduce){.lente{transition:none}}
/* 13-10 (8k): cómo se comparte un cálculo, en 3 pasos con pantallas reales (solo con la pestaña «Un cálculo») */
.flujo{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:none}
.flujo[hidden]{display:none}
.flujo li{display:flex;flex-direction:column;gap:8px;animation:llega .45s ease both}.flujo li:nth-child(2){animation-delay:.25s}.flujo li:nth-child(3){animation-delay:.5s}
.flujo img{width:100%;height:auto;border-radius:14px;border:1px solid var(--linea);box-shadow:var(--sombra)}
.flujo img.i-claro{display:block}.flujo img.i-oscuro{display:none}
:root[data-tema=oscuro] .flujo img.i-claro{display:none}:root[data-tema=oscuro] .flujo img.i-oscuro{display:block}
@media (prefers-color-scheme:dark){:root:not([data-tema=claro]) .flujo img.i-claro{display:none}:root:not([data-tema=claro]) .flujo img.i-oscuro{display:block}}
.flujo span{font-size:13.5px;color:var(--suave);line-height:1.4}.flujo b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--acento);color:#2b1d00;font-size:12px;margin-right:4px}
@media (max-width:520px){.flujo{grid-template-columns:1fr 1fr}.flujo li:last-child{grid-column:1/-1;max-width:60%;justify-self:center}}
@media (prefers-reduced-motion:reduce){.flujo li{animation:none}}
