/* GexFlow — sitio oficial (gexflow.net). Oscuro por defecto, claro opcional (data-theme). 2026-10-22. */
:root{--fondo:#0B0E14;--sup:#131722;--sup2:#1A1F2B;--borde:#2A2E39;--txt:#E6EDF3;--suave:#9AA3B5;--azul:#2962FF;--cian:#00C2FF;--verde:#22C55E;--rojo:#F23645;--ambar:#F5A524;--radio:14px}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--fondo:#FFFFFF;--sup:#F5F7FB;--sup2:#EDF1F7;--borde:#DCE1EA;--txt:#0B0E14;--suave:#4B5568}}
:root[data-theme="light"]{--fondo:#FFFFFF;--sup:#F5F7FB;--sup2:#EDF1F7;--borde:#DCE1EA;--txt:#0B0E14;--suave:#4B5568}
:root[data-theme="dark"]{--fondo:#0B0E14;--sup:#131722;--sup2:#1A1F2B;--borde:#2A2E39;--txt:#E6EDF3;--suave:#9AA3B5}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--fondo);color:var(--txt);font:16px/1.6 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--cian);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
/* cabecera */
.cab{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--fondo) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--borde)}
.cab .wrap{display:flex;align-items:center;gap:16px;height:64px}
.marca{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:var(--txt)}.marca:hover{text-decoration:none}
.marca b{background:linear-gradient(90deg,var(--azul),var(--cian));-webkit-background-clip:text;background-clip:text;color:transparent}
.nav{display:flex;gap:22px;margin-left:24px}.nav a{color:var(--suave);font-size:15px}.nav a:hover{color:var(--txt);text-decoration:none}
.cab .der{margin-left:auto;display:flex;align-items:center;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:10px;font-weight:600;font-size:15px;border:1px solid transparent;cursor:pointer}
.btn:hover{text-decoration:none}.btn-p{background:var(--azul);color:#fff}.btn-p:hover{background:#1E53E5}
.btn-s{background:transparent;color:var(--txt);border-color:var(--borde)}.btn-s:hover{background:var(--sup)}
.chip{font-size:12px;padding:5px 10px;border-radius:999px;border:1px solid var(--borde);color:var(--suave);background:transparent;cursor:pointer}
/* héroe */
.heroe{padding:72px 0 40px;text-align:center}
.heroe h1{font-size:clamp(34px,5.4vw,60px);line-height:1.08;letter-spacing:-.02em;margin:0 auto 18px;max-width:900px}
.heroe h1 em{font-style:normal;background:linear-gradient(90deg,var(--azul),var(--cian));-webkit-background-clip:text;background-clip:text;color:transparent}
.heroe p.lead{font-size:clamp(17px,2vw,20px);color:var(--suave);max-width:720px;margin:0 auto 28px}
.heroe .acc{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.heroe .nota{color:var(--suave);font-size:13px;margin-top:12px}
.captura{margin:44px auto 0;max-width:1100px;border-radius:16px;overflow:hidden;border:1px solid var(--borde);box-shadow:0 30px 80px rgba(0,0,0,.45)}
/* secciones */
section{padding:72px 0}section.alt{background:var(--sup)}
.tit{font-size:clamp(26px,3.4vw,38px);letter-spacing:-.01em;margin:0 0 10px;text-align:center}
.subt{color:var(--suave);text-align:center;max-width:720px;margin:0 auto 40px}
.rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.tarjeta{background:var(--sup);border:1px solid var(--borde);border-radius:var(--radio);padding:22px}section.alt .tarjeta{background:var(--fondo)}
.tarjeta .ico{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;background:var(--sup2);margin-bottom:12px}
.tarjeta h3{margin:0 0 6px;font-size:18px}.tarjeta p{margin:0;color:var(--suave);font-size:15px}
.pasos{counter-reset:p;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.paso{position:relative;padding:22px 22px 22px 64px;background:var(--sup);border:1px solid var(--borde);border-radius:var(--radio)}
.paso::before{counter-increment:p;content:counter(p);position:absolute;left:20px;top:20px;width:30px;height:30px;border-radius:50%;background:var(--azul);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.paso h3{margin:0 0 4px;font-size:17px}.paso p{margin:0;color:var(--suave);font-size:15px}
/* precios */
.periodo{display:flex;justify-content:center;margin:0 auto 28px;background:var(--sup2);border:1px solid var(--borde);border-radius:999px;width:max-content;padding:4px}
.periodo button{background:none;border:0;color:var(--suave);padding:8px 18px;border-radius:999px;font-size:14px;cursor:pointer;font-weight:600}.periodo button.sel{background:var(--azul);color:#fff}
.periodo .ah{color:var(--verde);font-size:12px;margin-left:4px}.periodo button.sel .ah{color:#D7FBE4}
.planes{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px;align-items:stretch}
.plan{background:var(--fondo);border:1px solid var(--borde);border-radius:18px;padding:26px;display:flex;flex-direction:column}
.plan.dest{border-color:var(--azul);box-shadow:0 0 0 1px var(--azul) inset}
.plan .et{align-self:flex-start;font-size:12px;font-weight:700;color:#fff;background:var(--azul);padding:3px 10px;border-radius:999px;margin-bottom:10px}
.plan h3{margin:0;font-size:20px}.plan .desc{color:var(--suave);font-size:14px;min-height:44px;margin:6px 0 14px}
.plan .precio{font-size:40px;font-weight:800;letter-spacing:-.02em}.plan .precio small{font-size:15px;font-weight:500;color:var(--suave)}
.plan .fact{font-size:13px;color:var(--suave);min-height:20px;margin-bottom:16px}
.plan ul{list-style:none;padding:0;margin:0 0 22px;flex:1}.plan li{padding:6px 0 6px 26px;position:relative;font-size:15px}
.plan li::before{content:"✓";position:absolute;left:0;color:var(--verde);font-weight:700}
.plan .btn{width:100%}
/* FAQ */
.faq{max-width:820px;margin:0 auto}.faq details{border-bottom:1px solid var(--borde);padding:16px 4px}
.faq summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none}.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--suave)}.faq details[open] summary::after{content:"–"}.faq p{color:var(--suave);margin:10px 0 0}
/* llamado y pie */
.cta{text-align:center}.cta p{color:var(--suave);margin:0 0 24px}
.pie{border-top:1px solid var(--borde);padding:40px 0;color:var(--suave);font-size:14px}
.pie .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}.pie h4{color:var(--txt);margin:0 0 10px;font-size:14px}
.pie a{color:var(--suave);display:block;padding:3px 0}.pie a:hover{color:var(--txt)}
.riesgo{margin-top:28px;padding-top:20px;border-top:1px solid var(--borde);font-size:12.5px;line-height:1.6}
@media (max-width:860px){.nav{display:none}.pie .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.cab .der .btn-s{display:none}.heroe{padding-top:48px}section{padding:52px 0}}
/* páginas legales: ancho de lectura, títulos, tablas y caja de borrador */
.legal{max-width:792px;padding-top:48px;padding-bottom:64px}
.legal>*{max-width:760px;margin-left:auto;margin-right:auto}
.legal h1{font-size:clamp(26px,3.4vw,36px);letter-spacing:-.01em;line-height:1.15;margin-top:0;margin-bottom:14px}
.legal h2{font-size:20px;margin:34px auto 8px;padding-top:18px;border-top:1px solid var(--borde)}
.legal p{margin:0 auto 12px;color:var(--txt)}
.legal strong{color:var(--txt)}
.legal ul,.legal ol{margin:0 auto 14px;padding-left:22px;color:var(--txt)}.legal li{margin:0 0 8px}
.legal code{font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--sup2);border:1px solid var(--borde);border-radius:5px;padding:1px 5px}
.legal table{width:100%;border-collapse:collapse;margin:10px auto 18px;font-size:14.5px;display:block;overflow-x:auto}
.legal th,.legal td{border:1px solid var(--borde);padding:8px 10px;text-align:left;vertical-align:top}
.legal th{background:var(--sup2);color:var(--txt);font-weight:600}
.legal p.mayus{font-size:14.5px;line-height:1.55}
.legal .borrador{background:color-mix(in srgb,var(--ambar) 14%,var(--fondo));border:1px solid color-mix(in srgb,var(--ambar) 55%,var(--borde));border-left:5px solid var(--ambar);border-radius:10px;padding:12px 16px;margin:0 auto 18px;font-size:14.5px;color:var(--txt)}
.legal .borrador strong{color:var(--txt)}
.legal .nota-legal{margin-top:34px;padding-top:16px;border-top:1px solid var(--borde);color:var(--suave);font-size:14px;font-style:italic}
/* 2026-10-22: botones de la cabecera sin partirse en teléfono */
.cab .btn{white-space:nowrap}
@media (max-width:520px){.cab .btn-p{padding:8px 12px;font-size:14px}.cab .wrap{gap:8px}}
/* 2026-10-22: guías (ancho de lectura, índice, definición, ejemplo, aviso, autoría, índice de tarjetas) */
.guia{max-width:792px;padding-top:36px;padding-bottom:64px}
.guia>:not(.guia-tabla){max-width:760px;margin-left:auto;margin-right:auto}
.guia h1{font-size:clamp(26px,3.4vw,36px);letter-spacing:-.01em;line-height:1.15;margin-top:14px;margin-bottom:14px}
.guia h2{font-size:22px;margin:36px auto 10px;padding-top:18px;border-top:1px solid var(--borde)}
.guia h3{font-size:17px;margin:22px auto 6px}
.guia p{margin:0 auto 12px}
.guia ul,.guia ol{margin:0 auto 14px;padding-left:22px}.guia li{margin:0 0 8px}
.guia strong{color:inherit}
.migas{font-size:14px;color:var(--suave);margin-bottom:6px}
.migas a{color:var(--suave)}.migas a:hover{color:var(--txt)}
.migas span{margin:0 6px}
.guia .definicion{background:var(--sup);border:1px solid var(--borde);border-left:5px solid var(--azul);border-radius:10px;padding:14px 18px;margin:0 auto 18px;font-size:17px;line-height:1.55}
.guia .toc{background:var(--sup);border:1px solid var(--borde);border-radius:10px;padding:12px 18px;margin:0 auto 26px;font-size:15px}
.guia .toc p{margin:0 0 6px;font-weight:600}
.guia .toc ol{margin:0;padding-left:20px}.guia .toc li{margin:0 0 4px}
.guia .ejemplo{background:var(--sup2);border:1px solid var(--borde);border-radius:10px;padding:14px 18px;margin:0 auto 16px;font-size:15px}
.guia .ejemplo p{margin:0 0 8px}.guia .ejemplo p:last-child{margin:0}
.guia-tabla{overflow-x:auto;margin:0 auto 16px;max-width:760px}
.guia table{width:100%;border-collapse:collapse;font-size:14.5px}
.guia th,.guia td{border:1px solid var(--borde);padding:8px 10px;text-align:left;vertical-align:top}
.guia th{background:var(--sup2);font-weight:600}
.guia .aviso-riesgo{background:color-mix(in srgb,var(--ambar) 12%,var(--fondo));border:1px solid color-mix(in srgb,var(--ambar) 55%,var(--borde));border-left:5px solid var(--ambar);border-radius:10px;padding:12px 16px;margin:34px auto 0;font-size:13.5px;line-height:1.6}
.guia .aviso-riesgo p{margin:0}
.guia .cta-guia{text-align:center;margin:28px auto 0;padding:22px;background:var(--sup);border:1px solid var(--borde);border-radius:var(--radio)}
.guia .cta-guia p{margin:0 0 14px}
.guia .autor{color:var(--suave);font-size:13.5px;margin:18px auto 0}
.guia .indice-guias{margin-top:28px}

.plan-tag{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.3px;vertical-align:middle;background:rgba(41,98,255,.15);color:var(--azul);border:1px solid rgba(41,98,255,.45)}
.plan-nota{display:block;margin-bottom:10px;font-size:13px;color:var(--suave)}

/* Icono flotante de WhatsApp (2026-10-25, pedido del CEO): abajo a la derecha, enlaza a wa.me con el número de contacto */
.wa-flotante{position:fixed;right:18px;bottom:18px;z-index:60;width:56px;height:56px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.35);transition:transform .15s,box-shadow .15s}
.wa-flotante:hover{transform:scale(1.08);box-shadow:0 8px 22px rgba(0,0,0,.45)}.wa-flotante:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media (max-width:600px){.wa-flotante{right:12px;bottom:12px;width:52px;height:52px}}

/* Aviso de precios de lanzamiento 2026 (franja superior + bloque en #pricing) */
:root{--lanz-acc:#00C2FF}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--lanz-acc:#1E53E5}}
:root[data-theme="light"]{--lanz-acc:#1E53E5}:root[data-theme="dark"]{--lanz-acc:#00C2FF}
[data-lanz="b"] .v-a,:root:not([data-lanz="b"]) .v-b{display:none}
.lanz-off .lanz-franja{display:none}
.lanz-franja{background:color-mix(in srgb,var(--azul) 12%,var(--fondo));border-bottom:1px solid color-mix(in srgb,var(--azul) 40%,var(--borde));color:var(--txt);font-size:14px;line-height:1.4}
.lanz-franja .wrap{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding-right:52px}
.lanz-et{flex:none;font-size:12px;font-weight:700;letter-spacing:.3px;color:var(--lanz-acc);border:1px solid color-mix(in srgb,var(--lanz-acc) 55%,transparent);border-radius:999px;padding:2px 9px}
.lanz-txt{margin:0}.lanz-corta{display:none}
.lanz-ir{flex:none;font-weight:600;color:var(--lanz-acc);white-space:nowrap}
.lanz-x{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:8px;background:none;color:var(--suave);font-size:22px;line-height:1;cursor:pointer}
.lanz-x:hover{color:var(--txt);background:color-mix(in srgb,var(--txt) 8%,transparent)}
.lanz-x:focus-visible,.lanz-ir:focus-visible{outline:2px solid var(--lanz-acc);outline-offset:2px}
.lanz-bloque{display:flex;align-items:center;gap:20px;max-width:860px;margin:0 auto 28px;padding:18px 22px;background:var(--fondo);border:1px solid color-mix(in srgb,var(--azul) 45%,var(--borde));border-left:4px solid var(--azul);border-radius:var(--radio)}
.lanz-bloque h3{margin:0 0 4px;font-size:18px}.lanz-bloque p{margin:0;color:var(--suave);font-size:15px}
.lanz-bloque .lanz-legal{margin-top:8px;font-size:13px}.lanz-bloque .btn{flex:none}
.plan .lanz-tag{margin:0 0 2px;font-size:12px;font-weight:600;color:var(--lanz-acc);min-height:18px}
@media (max-width:640px){.lanz-bloque{flex-direction:column;align-items:stretch}.lanz-bloque .btn{width:100%}}
@media (max-width:520px){.lanz-larga{display:none}.lanz-corta{display:inline}.lanz-franja .wrap{justify-content:flex-start;gap:8px}.lanz-franja{font-size:13.5px}}

/* 2026-11-05: tabla comparativa de planes (texto una sola vez a la izquierda; ✓ o número en cada plan) */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cmp-barra{display:flex;justify-content:flex-end;margin:0 0 8px}
.cmp-wrap{position:relative;border:1px solid var(--borde);border-radius:18px;background:var(--fondo)}
.cmp{width:100%;border-collapse:separate;border-spacing:0;font-size:14.5px;table-layout:fixed}
.cmp th,.cmp td{padding:0;vertical-align:middle}
.cmp thead th{position:sticky;top:64px;z-index:5;background:var(--fondo);text-align:center;padding:16px 10px 14px;border-bottom:1px solid var(--borde);vertical-align:top;font-weight:400}
.cmp thead th:first-child{border-top-left-radius:18px}.cmp thead th:last-child{border-top-right-radius:18px}
.cmp .cmp-izq{text-align:left;width:38%;font-size:13px;color:var(--suave);font-weight:600;vertical-align:bottom}
.cmp thead th.pl{width:15.5%}
.cmp thead th h3{margin:6px 0 2px;font-size:18px}
.cmp thead .desc{color:var(--suave);font-size:12.5px;line-height:1.35;margin:0 0 8px;min-height:34px}
.cmp thead .precio{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.1}.cmp thead .precio small{font-size:13px;font-weight:500;color:var(--suave)}
.cmp thead .fact{font-size:12px;color:var(--suave);min-height:18px;margin:2px 0 10px}
.cmp thead .btn{width:100%;padding:8px 6px;font-size:14px;white-space:nowrap}
.cmp thead .btn-off{opacity:.55;cursor:default;pointer-events:none}
.cmp thead th.dest{border-left:2px solid var(--azul);border-right:2px solid var(--azul);border-top:2px solid var(--azul)}
.cmp thead th .et{display:inline-block;font-size:11px;font-weight:700;color:#fff;background:var(--azul);padding:2px 10px;border-radius:999px}
.cmp thead th.pl-platinum{opacity:.85}.cmp thead .precio.plat{color:var(--suave)}
.cmp tbody th[scope=row]{text-align:left;padding:9px 14px;font-weight:400;border-bottom:1px solid var(--borde)}
.cmp tbody th[scope=row] b{display:block;font-size:14.5px;font-weight:650}
.cmp tbody th[scope=row] .d{display:block;color:var(--suave);font-size:12.5px;line-height:1.4;margin-top:1px}
.cmp.sin-desc .d{display:none}.cmp.sin-desc tbody th[scope=row]{padding-top:7px;padding-bottom:7px}
.cmp tbody td{text-align:center;border-bottom:1px solid var(--borde);font-size:15px}
.cmp tbody td.dest{border-left:2px solid var(--azul);border-right:2px solid var(--azul);background:color-mix(in srgb,var(--azul) 5%,transparent)}
.cmp tbody tr:last-child td.dest{border-bottom:2px solid var(--azul)}
.cmp .ok{color:var(--verde);font-weight:800;font-size:17px}.cmp .no{color:var(--borde);font-weight:400}.cmp .num{font-weight:700}
.cmp tr.grp th{background:var(--sup2);text-align:left;padding:7px 14px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--suave);font-weight:700;border-bottom:1px solid var(--borde)}
.cmp tbody tr:hover th[scope=row],.cmp tbody tr:hover td{background-color:color-mix(in srgb,var(--azul) 4%,transparent)}
.cmp-nota{margin-top:18px;font-size:13.5px}
@media (max-width:900px){
  .cmp-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .cmp{min-width:720px;table-layout:auto}.cmp thead th{position:static}
  .cmp thead th.pl{min-width:112px}.cmp .cmp-izq{width:170px;min-width:170px}
  .cmp tbody th[scope=row],.cmp thead th:first-child{position:sticky;left:0;z-index:3;background:var(--fondo)}
  .cmp thead .gl-sello svg{display:none}.cmp thead .gl-sello{white-space:normal;text-align:center;line-height:1.15;clip-path:none;border-radius:6px;max-width:100%}
  .cmp tr.grp th{padding:6px 10px}
}

/* ==========================================================================
   GexFlow — Precio de lanzamiento 2026 (prefijo gl-). Pegar al final de site.css.
   Piezas: (a) .gl-franja  (b) .gl-tabla + .gl-sello  (c) .gl-precio
           (d) .gl-franja--campana  (e) .gl-bloque
   Usa las variables de site.css (--fondo --sup --sup2 --borde --txt --suave --azul --cian --verde --ambar).
   ========================================================================== */

/* ---- Tokens propios (oscuro por defecto / claro) ---- */
:root{--gl-acc:#00C2FF;--gl-acc-txt:#7FDBFF;--gl-tinte:rgba(41,98,255,.12);--gl-verde:#34D399;--gl-oro:#F5A524;--gl-sombra:0 10px 30px -12px rgba(0,0,0,.6)}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--gl-acc:#1E53E5;--gl-acc-txt:#1E53E5;--gl-tinte:rgba(41,98,255,.07);--gl-verde:#15803D;--gl-sombra:0 10px 30px -14px rgba(16,40,110,.28)}}
:root[data-theme="light"]{--gl-acc:#1E53E5;--gl-acc-txt:#1E53E5;--gl-tinte:rgba(41,98,255,.07);--gl-verde:#15803D;--gl-sombra:0 10px 30px -14px rgba(16,40,110,.28)}
:root[data-theme="dark"]{--gl-acc:#00C2FF;--gl-acc-txt:#7FDBFF;--gl-tinte:rgba(41,98,255,.12);--gl-verde:#34D399;--gl-sombra:0 10px 30px -12px rgba(0,0,0,.6)}

.gl-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@keyframes gl-brillo{0%,70%{transform:translateX(-120%)}100%{transform:translateX(120%)}}

/* ==========================================================================
   (a) FRANJA SUPERIOR — banda de marca, siempre oscura (mismo contraste en ambos temas)
   ========================================================================== */
.gl-franja{position:relative;overflow:hidden;color:#E8EEFF;font-size:14px;line-height:1.35;
  background:linear-gradient(90deg,#08164A 0%,#1238A8 50%,#08164A 100%);border-bottom:1px solid rgba(0,194,255,.45)}
.gl-franja::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 28px)}
.gl-franja::after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(0,194,255,.18),transparent);animation:gl-brillo 7s ease-in-out infinite}
.gl-franja-in{position:relative;z-index:1;max-width:1180px;margin:0 auto;min-height:46px;padding:7px 54px 7px 16px;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 14px}
.gl-franja[hidden],.gl-franja-off .gl-franja{display:none}

.gl-chip{flex:none;display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:999px;
  background:#fff;color:#0B2A8A;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1.5}
.gl-chip svg{width:13px;height:13px;flex:none}
.gl-franja-txt{margin:0}
.gl-franja-txt b,.gl-mini b{color:#fff;font-weight:800}
.gl-mini{white-space:nowrap;font-variant-numeric:tabular-nums}
.gl-mini b{font-size:16px}
.gl-sep{opacity:.6;margin:0 6px}
.gl-corta{display:none}
.gl-ir{flex:none;display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;white-space:nowrap;
  color:#fff;font-weight:700;font-size:13px;text-decoration:none;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.55)}
.gl-ir:hover{background:rgba(255,255,255,.22);text-decoration:none}
.gl-x{position:absolute;z-index:2;right:4px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:8px;
  background:none;color:#CFE0FF;font-size:22px;line-height:1;cursor:pointer}
.gl-x:hover{color:#fff;background:rgba(255,255,255,.12)}
.gl-ir:focus-visible,.gl-x:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (max-width:560px){
  .gl-franja{font-size:13px}
  .gl-franja-in{justify-content:flex-start;gap:6px 8px;padding-left:12px}
  .gl-larga{display:none}.gl-corta{display:inline}
  .gl-chip{font-size:10px;letter-spacing:.06em}
}

/* ==========================================================================
   (d) VARIANTE CAMPAÑA (Black Friday u otra temporal) — misma estructura, acento oro
   ========================================================================== */
.gl-franja--campana{color:#F3E9D2;background:linear-gradient(90deg,#0B0E14 0%,#1F1806 50%,#0B0E14 100%);border-bottom-color:rgba(245,165,36,.6)}
.gl-franja--campana::before{background:repeating-linear-gradient(135deg,rgba(245,165,36,.06) 0 2px,transparent 2px 14px)}
.gl-franja--campana::after{background:linear-gradient(100deg,transparent,rgba(255,210,122,.20),transparent)}
.gl-franja--campana .gl-chip{background:var(--gl-oro);color:#1A1100}
.gl-franja--campana .gl-franja-txt b,.gl-franja--campana .gl-mini b{color:#FFD27A}
.gl-franja--campana .gl-ir{color:#1A1100;background:var(--gl-oro);border-color:var(--gl-oro)}
.gl-franja--campana .gl-ir:hover{background:#FFC04D}
.gl-franja--campana .gl-x{color:#E9D9B4}
.gl-franja--campana .gl-ir:focus-visible,.gl-franja--campana .gl-x:focus-visible{outline-color:var(--gl-oro)}

/* ==========================================================================
   SELLO / CINTA "PRECIO DE LANZAMIENTO" (se usa en la tabla y en el bloque de precio)
   ========================================================================== */
.gl-sello{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:6px;padding:4px 14px;
  background:linear-gradient(90deg,#1E53E5,#2962FF);color:#fff;font-size:11px;font-weight:800;letter-spacing:.09em;
  text-transform:uppercase;line-height:1.4;white-space:nowrap;
  clip-path:polygon(0 0,100% 0,calc(100% - 7px) 50%,100% 100%,0 100%,7px 50%);box-shadow:0 0 0 1px rgba(0,194,255,.5) inset}
.gl-sello svg{width:12px;height:12px;flex:none}
.gl-sello::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.4) 50%,transparent 65%);
  transform:translateX(-120%);animation:gl-brillo 5s ease-in-out infinite}
.gl-sello--suave{background:var(--sup2);color:var(--suave);box-shadow:0 0 0 1px var(--borde) inset}
.gl-sello--suave::after{display:none}
.gl-sello--verde{background:color-mix(in srgb,var(--gl-verde) 14%,var(--fondo));color:var(--gl-verde);box-shadow:0 0 0 1px color-mix(in srgb,var(--gl-verde) 50%,transparent) inset}
.gl-sello--verde::after{display:none}

/* ==========================================================================
   (b) TABLA COMPARATIVA DE PLANES
   En móvil la tabla se desplaza DENTRO de su caja (la página no tiene scroll horizontal);
   la 1.ª columna queda fija.
   ========================================================================== */
.gl-tabla-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--fondo);
  border:1px solid var(--borde);border-radius:18px;box-shadow:var(--gl-sombra)}
.gl-tabla-wrap:focus-visible{outline:2px solid var(--gl-acc);outline-offset:2px}
.gl-tabla{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;font-size:15px;color:var(--txt)}
.gl-tabla th,.gl-tabla td{padding:12px 14px;text-align:center;border-bottom:1px solid var(--borde)}
.gl-tabla tbody tr:last-child th,.gl-tabla tbody tr:last-child td{border-bottom:0}
.gl-tabla tbody th{text-align:left;font-weight:500;color:var(--txt)}
.gl-tabla tbody th small{display:block;color:var(--suave);font-size:12.5px;font-weight:400}
.gl-tabla th:first-child,.gl-tabla td:first-child{position:sticky;left:0;z-index:1;background:var(--fondo);min-width:190px;
  box-shadow:1px 0 0 var(--borde)}
.gl-tabla .gl-grupo th{background:var(--sup);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--suave);padding:8px 14px}

/* Cabecera de cada plan */
.gl-cab{vertical-align:bottom;padding:18px 12px 16px!important;min-width:140px}
.gl-cab-top{min-height:26px;margin-bottom:10px}
.gl-cab-nom{display:block;font-size:18px;font-weight:800;letter-spacing:-.01em}
.gl-cab-precio{display:block;margin:4px 0 2px;font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}
.gl-cab-precio small{font-size:13px;font-weight:500;color:var(--suave);letter-spacing:0}
.gl-cab-nota{display:block;font-size:12.5px;color:var(--suave);font-weight:400;min-height:18px}
.gl-cab .btn{margin-top:12px;width:100%;padding:8px 10px;font-size:14px}

/* Columna destacada (Pro) */
.gl-tabla .gl-dest{background:var(--gl-tinte)}
.gl-tabla thead .gl-dest{box-shadow:inset 0 3px 0 var(--azul)}
.gl-tabla thead .gl-dest .gl-cab-precio{color:var(--gl-acc-txt)}
.gl-popular{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;vertical-align:middle;
  color:#fff;background:var(--azul)}

/* Columna "próximamente" (Platinum): atenuada sin perder contraste AA */
.gl-tabla .gl-prox{color:var(--suave);background:repeating-linear-gradient(135deg,transparent 0 10px,color-mix(in srgb,var(--borde) 35%,transparent) 10px 11px)}
.gl-tabla thead .gl-prox .gl-cab-nom,.gl-tabla thead .gl-prox .gl-cab-precio{color:var(--suave)}
.gl-btn-off{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;width:100%;padding:8px 10px;border-radius:10px;
  font-size:14px;font-weight:600;color:var(--suave);border:1px dashed var(--borde);cursor:not-allowed}

/* Marcas de celda */
.gl-si,.gl-no{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:50%}
.gl-si{color:var(--gl-verde);background:color-mix(in srgb,var(--gl-verde) 14%,transparent)}
.gl-si svg{width:14px;height:14px}
.gl-no{color:var(--suave)}
.gl-prox .gl-si{color:var(--suave);background:var(--sup2)}
.gl-tabla-pie{margin:12px 4px 0;font-size:13px;color:var(--suave);text-align:center}
.gl-desliza{display:none}
@media (max-width:800px){.gl-desliza{display:block;margin:0 0 8px;font-size:12.5px;color:var(--suave);text-align:right}}

/* ==========================================================================
   (c) BLOQUE GRANDE DE PRECIO (dentro de .plan o de la cabecera)
   ========================================================================== */
.gl-precio{position:relative;margin:18px 0 18px;padding:22px 16px 14px;border-radius:14px;
  background:linear-gradient(180deg,var(--gl-tinte),transparent 85%);border:1px solid color-mix(in srgb,var(--azul) 38%,var(--borde))}
.gl-precio > .gl-sello{position:absolute;top:-12px;left:12px}
.gl-precio-num{display:flex;align-items:flex-start;line-height:1;font-weight:800;letter-spacing:-.035em;color:var(--txt);font-variant-numeric:tabular-nums}
.gl-moneda{font-size:26px;margin:6px 2px 0 0;color:var(--gl-acc-txt)}
.gl-entero{font-size:clamp(52px,12vw,64px)}
.gl-dec{font-size:22px;margin-top:6px}
.gl-per{align-self:flex-end;margin:0 0 7px 6px;font-size:15px;font-weight:500;letter-spacing:0;color:var(--suave)}
.gl-precio-fact{margin-top:8px;font-size:13.5px;color:var(--suave)}
.gl-precio-fact b{color:var(--txt);font-weight:700}
.gl-ahorro{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:2px 10px;border-radius:999px;font-size:12.5px;font-weight:700;
  color:var(--gl-verde);background:color-mix(in srgb,var(--gl-verde) 12%,transparent);border:1px solid color-mix(in srgb,var(--gl-verde) 45%,transparent)}
.gl-ahorro svg{width:12px;height:12px}
.gl-ahorro[hidden]{display:none}
.gl-precio--dest{border-color:var(--azul);box-shadow:0 0 0 1px var(--azul) inset,0 12px 30px -16px rgba(41,98,255,.65)}
.gl-precio--gratis{background:color-mix(in srgb,var(--gl-verde) 7%,transparent);border-color:color-mix(in srgb,var(--gl-verde) 40%,var(--borde))}
.gl-precio--gratis .gl-moneda{color:var(--gl-verde)}

/* ==========================================================================
   (e) BLOQUE EXPLICATIVO (reemplaza a .lanz-bloque)
   ========================================================================== */
.gl-bloque{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px 22px;
  max-width:900px;margin:0 auto 32px;padding:24px 24px 22px;border-radius:18px;
  background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--azul) 16%,transparent),transparent 55%),var(--fondo);
  border:1px solid color-mix(in srgb,var(--azul) 40%,var(--borde));box-shadow:var(--gl-sombra)}
.gl-bloque::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--azul),var(--cian))}
.gl-bloque-ico{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,#2962FF,#00A8E8);box-shadow:0 8px 20px -8px rgba(41,98,255,.8)}
.gl-bloque-ico svg{width:28px;height:28px}
.gl-bloque-eye{margin:0 0 4px;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--gl-acc-txt)}
.gl-bloque h3{margin:0 0 6px;font-size:21px;line-height:1.25;letter-spacing:-.01em}
.gl-bloque p{margin:0;color:var(--suave);font-size:15px}
.gl-bloque-precios{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.gl-pill{display:inline-flex;align-items:baseline;gap:6px;padding:4px 12px;border-radius:999px;background:var(--sup2);border:1px solid var(--borde);
  font-size:13.5px;color:var(--suave);white-space:nowrap}
.gl-pill b{font-size:17px;font-weight:800;color:var(--txt);font-variant-numeric:tabular-nums}
.gl-pill--dest{border-color:var(--azul)}
.gl-bloque-legal{margin-top:12px!important;font-size:13px!important}
.gl-bloque-cta{display:flex;flex-direction:column;align-items:stretch;gap:6px;text-align:center}
.gl-bloque-cta small{font-size:12.5px;color:var(--suave)}
.gl-bloque-cta .btn{white-space:nowrap}
@media (max-width:700px){
  .gl-bloque{grid-template-columns:1fr;padding:22px 16px 18px}
  .gl-bloque-ico{width:48px;height:48px;border-radius:14px}
  .gl-bloque-cta .btn{width:100%;white-space:normal}
}

/* Movimiento reducido: sin brillos animados */
@media (prefers-reduced-motion: reduce){
  .gl-franja::after,.gl-sello::after{animation:none;display:none}
}

/* 2026-11-05: integración con la tabla de planes y las franjas */
.lanz-off .gl-franja:not(.gl-franja--campana){display:none}
.camp-on .gl-franja:not(.gl-franja--campana){display:none}
.cmp thead th.dest{background:var(--gl-tinte)}.cmp thead th.dest .precio{color:var(--gl-acc-txt)}
.cmp tbody td.dest{background:var(--gl-tinte)}
.cmp thead th .gl-sello{margin-bottom:8px}
.cmp thead th h3 .gl-popular{margin-left:6px;font-size:10.5px}
.cmp thead th.pl-platinum{background:repeating-linear-gradient(135deg,transparent 0 10px,color-mix(in srgb,var(--borde) 35%,transparent) 10px 11px)}
.cmp tbody td[data-p=platinum] .ok{color:var(--suave)}

/* teléfono: columna de funciones angosta y fija; se ven ~2 planes a la vez y se desliza para ver el resto */
@media (max-width:700px){
  .cmp{min-width:570px;table-layout:fixed}
  .cmp .cmp-izq{width:150px;min-width:150px}.cmp thead th.pl{width:105px;min-width:105px;padding:12px 6px 10px}
  .cmp thead .desc{display:none}.cmp thead th h3{font-size:16px}.cmp thead .precio{font-size:24px}
  .cmp thead .btn{font-size:13px;padding:7px 4px}.cmp thead .gl-sello{font-size:9px;padding:3px 6px;letter-spacing:.04em}
  .cmp tbody th[scope=row]{padding:8px 10px}.cmp tbody th[scope=row] b{font-size:13.5px}.cmp tbody th[scope=row] .d{font-size:11.5px}
  .cmp thead th .gl-popular{display:block;margin:2px auto 0;width:max-content}
  .cmp-barra{justify-content:space-between;align-items:center}
}

/* filas de grupo: la etiqueta va en la columna fija de funciones y el resto de la fila queda tintado */
.cmp tbody tr.grp th[scope=row]{background:var(--sup2);padding:7px 14px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--suave);font-weight:700}
.cmp tbody tr.grp td{background:var(--sup2);border-bottom:1px solid var(--borde)}
.cmp tbody tr.grp:hover th,.cmp tbody tr.grp:hover td{background-color:var(--sup2)}
@media (max-width:700px){.cmp tbody tr.grp th[scope=row]{padding:6px 10px;font-size:11px;letter-spacing:.05em}}

/* 2026-11-05: píldora de oferta sobre el título del héroe */
.hero-oferta{display:inline-flex;align-items:center;gap:10px;margin:0 auto 22px;padding:7px 14px 7px 12px;border-radius:999px;font-size:14px;color:var(--txt);
  background:linear-gradient(90deg,color-mix(in srgb,var(--azul) 18%,transparent),color-mix(in srgb,var(--cian) 12%,transparent));border:1px solid color-mix(in srgb,var(--azul) 50%,var(--borde))}
.hero-oferta:hover{text-decoration:none;border-color:var(--cian)}
.hero-oferta svg{width:18px;height:18px;flex:none;color:var(--gl-acc)}
.hero-oferta b{font-weight:800}.hero-oferta i{font-style:normal;color:var(--gl-acc-txt);font-weight:700}
@media (max-width:560px){.hero-oferta{font-size:12.5px;padding:6px 12px;text-align:left}}

/* 2026-11-05: carrusel de imágenes de la portada (desliza con el dedo, flechas, puntos; se detiene al pasar el ratón/enfocar y si el usuario prefiere menos movimiento) */
.carrusel{position:relative;background:var(--sup)}
.car-pista{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.car-pista::-webkit-scrollbar{display:none}
.car-pista:focus-visible{outline:2px solid var(--cian);outline-offset:-2px}
.car-slide{position:relative;flex:0 0 100%;margin:0;scroll-snap-align:center;background:#0B0E14}
.car-slide img{width:100%;aspect-ratio:1480/800;object-fit:contain;background:#0B0E14}
.car-slide figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:34px 20px 14px;text-align:left;color:#E6EDF3;
  background:linear-gradient(180deg,transparent,rgba(5,8,14,.92) 62%)}
.car-slide figcaption b{font-size:17px}.car-slide figcaption em{font-style:normal;font-size:14px;color:#B6C0D2;flex-basis:100%}
.car-plan{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:1px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.5);color:#fff}
.car-plan-pro{background:var(--azul);border-color:var(--azul)}.car-plan-plat{background:rgba(255,255,255,.12)}
.car-flecha{position:absolute;top:50%;transform:translateY(-70%);z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(11,14,20,.72);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.car-flecha:hover{background:rgba(41,98,255,.85)}.car-prev{left:12px}.car-next{right:12px}
.car-puntos{position:absolute;left:0;right:0;bottom:-26px;display:flex;justify-content:center;gap:2px}
.car-punto{width:28px;height:24px;border:0;background:none;cursor:pointer;position:relative}
.car-punto::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px;border-radius:50%;background:var(--borde);transition:background .2s,transform .2s}
.car-punto[aria-current=true]::after{background:var(--azul);transform:scale(1.25)}
.carrusel{margin-bottom:34px;overflow:visible}.carrusel .car-pista{border-radius:16px}
@media (max-width:640px){.car-flecha{display:none}.car-slide figcaption{padding:26px 12px 10px}.car-slide figcaption b{font-size:14px}.car-slide figcaption em{font-size:12px}}
@media (prefers-reduced-motion:reduce){.car-pista{scroll-behavior:auto}}
