/* Landing v2 (2026-10-19). Fondo en la familia de azules de la app, un tono mas oscuro (pedido del duenno 19-oct) para que resalte el resto (encabezado del chat), oro para la marca, celeste para los datos.
   Celular primero; en pantallas anchas el heroe pasa a dos columnas (texto | cerebro) y las secciones a rejilla. */
:root {
  --bg: #0E2F5E; --ink: #F2F6FC; --mut: #C9D5E6; --oro: #E3B65B; --oro2: #FFE9B0; --dato: #7FDBFF; --panel: #081D3F; --borde: #2E5C9C;
  --display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --body: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, 'Cascadia Mono', Consolas, monospace;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; color: var(--ink); font-family: var(--body); background: var(--bg);
  background-image: radial-gradient(90% 40% at 50% 22%, rgba(46,104,180,.55) 0%, rgba(14,47,94,0) 70%), linear-gradient(#143F7A 0%, #0E2F5E 30%, #081C3D 100%);
  background-attachment: scroll; min-height: 100vh; }
a { color: var(--oro2); }
.lv2-cont { max-width: 1120px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.lv2-nav { position: sticky; top: 0; z-index: 10; background: rgba(14,47,94,.88); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid rgba(143,176,221,.18); padding-top: env(safe-area-inset-top, 0px); }
.lv2-nav .lv2-cont { display: flex; align-items: center; gap: 10px; min-height: 60px; }
.lv2-marca { font: 600 15px/1 var(--body); letter-spacing: .32em; color: var(--ink); text-decoration: none; margin-inline-end: auto; }
.lv2-idioma { min-height: 40px; padding: 0 8px; border-radius: 10px; border: 1px solid #8DA8CF; background: #0A2650; color: var(--ink); font: 600 13px var(--body); }
.lv2-entrar { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid #A9BEDD; color: var(--ink); font: 600 13px/1 var(--body); text-decoration: none; }

/* ---------- Heroe ---------- */
.lv2-heroe { display: flex; flex-direction: column; gap: 18px; padding-block: 22px 8px; }
.lv2-izq { display: contents; }
.lv2-texto { order: 1; }
.lv2-demo { order: 2; }
.lv2-conv { order: 3; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.lv2-conv[hidden] { display: none; }
.lv2-texto { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.lv2-ceja { margin: 6px 0 -6px; font: 700 13px/1.3 var(--body); letter-spacing: .12em; text-transform: uppercase; color: var(--oro2); }
.lv2-heroe h1 { margin: 0; font: 600 44px/1.02 var(--display); text-wrap: balance; }
.lv2-heroe h1 em { font-style: italic; color: var(--oro); }
.lv2-sub { margin: 0; font-size: 16px; line-height: 1.5; color: var(--mut); max-width: 46ch; }
.lv2-cta { display: flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 22px; border: 0; border-radius: 16px; background: var(--oro); color: #231700;
  font: 700 16px/1 var(--body); text-decoration: none; box-shadow: 0 6px 24px rgba(227,182,91,.3); }
.lv2-fino { margin: -4px 0 0; text-align: center; font-size: 12.5px; color: var(--mut); }
.lv2-demo { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.lv2-demo[hidden] { display: none; }
.lv2-preg { display: flex; flex-direction: column; gap: 8px; }
.lv2-preg-t { font: 600 11px/1.3 var(--body); letter-spacing: .08em; text-transform: uppercase; color: var(--mut); }
.lv2-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.lv2-chip { min-height: 40px; padding: 0 12px; border-radius: 999px; border: 1px solid #8DA8CF; background: rgba(255,255,255,.07); color: var(--ink); font: 600 13px/1 var(--body); cursor: pointer; }
.lv2-chip[aria-pressed="true"] { background: var(--oro); border-color: var(--oro); color: #231700; }
.lv2-cerebro canvas { display: block; width: 100%; }
.lv2-visor { display: block; width: 100%; height: 210px; margin-top: -6px; border-radius: 14px; background: var(--panel); border: 1px solid var(--borde);
  background-image: linear-gradient(rgba(127,219,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(127,219,255,.05) 1px, transparent 1px); background-size: 14px 14px; }
.lv2-log { margin: -4px 0 0; padding: 10px 12px; min-height: 104px; border-radius: 12px; background: var(--panel); border: 1px solid var(--borde); font: 400 11.5px/1.6 var(--mono);
  color: var(--dato); list-style: none; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; }
.lv2-log li { overflow-wrap: anywhere; }
.lv2-log li b { font-weight: 600; color: var(--oro2); }
.lv2-log li.fin { color: #FFFFFF; }
.lv2-resp { display: flex; flex-direction: column; gap: 8px; min-height: 240px; }
.lv2-b { max-width: 90%; padding: 10px 13px; font: 400 14.5px/1.55 var(--body); border-radius: 16px; animation: lv2-entra .35s ease-out both; }
.lv2-u { align-self: flex-end; background: #2462B3; color: #FFFFFF; border-end-end-radius: 5px; }
.lv2-m { align-self: flex-start; background: #FFFFFF; color: #0E1B2E; border-end-start-radius: 5px; }
.lv2-firma { display: block; margin-bottom: 4px; font: 700 11px/1 var(--body); letter-spacing: .08em; color: #7A4A00; }
.lv2-m mark { background: var(--oro2); color: #3A2600; padding: 0 3px; border-radius: 4px; font-weight: 700; }
.lv2-fuentes { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.lv2-fuentes span { padding: 4px 8px; border-radius: 999px; background: #EAF0F8; color: #164A8E; font: 600 11px/1 var(--body); animation: lv2-entra .3s ease-out both; }
.lv2-ejemplo { margin: -2px 0 0; font-size: 12px; color: var(--mut); }
@keyframes lv2-entra { from { opacity: 0; transform: translateY(6px) } to { opacity: 1; transform: none } }

/* ---------- Secciones ---------- */
.lv2-bloque { padding-block: 40px 6px; display: flex; flex-direction: column; gap: 16px; }
.lv2-bloque h2 { margin: 0; font: 600 33px/1.08 var(--display); text-wrap: balance; }
.lv2-bloque h2 em { font-style: italic; color: var(--oro); }
.lv2-rejilla { display: grid; gap: 12px; }
.lv2-prom { display: flex; flex-direction: column; gap: 6px; padding: 14px; border-radius: 16px; background: var(--panel); border: 1px solid var(--borde); }
.lv2-prom h3 { margin: 4px 0 0; font: 700 16px/1.2 var(--body); color: var(--oro2); }
.lv2-prom p { margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--mut); }
.lv2-prom-v { min-height: 74px; display: flex; flex-direction: column; justify-content: center; }
.lv2-linea-t { position: relative; height: 54px; border-bottom: 2px solid #4C79B5; display: flex; justify-content: space-between; align-items: flex-end; padding: 0 2px 8px; }
.lv2-hito { font: 600 11px/1 var(--mono); color: var(--mut); }
.lv2-hito.oro { color: var(--oro2); }
.lv2-ventana { position: absolute; inset-inline-start: 36%; width: 40%; bottom: -5px; height: 8px; border-radius: 4px; background: rgba(227,182,91,.35); border: 1px solid var(--oro); }
.lv2-marcador { position: absolute; bottom: -7px; inset-inline-start: 0; width: 12px; height: 12px; border-radius: 50%; background: var(--dato); box-shadow: 0 0 12px var(--dato); animation: lv2-avanza 2.25s ease-in-out infinite; }
@keyframes lv2-avanza { 0% { inset-inline-start: 0 } 45%, 80% { inset-inline-start: calc(46% - 6px) } 100% { inset-inline-start: 0 } }
.lv2-recuerdos { gap: 5px; align-items: flex-start; }
.lv2-recuerdos span { font: 500 11.5px/1.2 var(--mono); color: var(--dato); padding: 4px 8px; border-radius: 8px; background: rgba(127,219,255,.08); border: 1px solid rgba(127,219,255,.3); animation: lv2-aparece 2.5s var(--d) ease-out infinite both; }
.lv2-recuerdos b { margin-top: 3px; font: 700 12.5px/1.3 var(--body); color: #231700; background: var(--oro); padding: 6px 10px; border-radius: 10px; animation: lv2-aparece 2.5s var(--d) ease-out infinite both; }
@keyframes lv2-aparece { 0% { opacity: .35; transform: translateX(-4px) } 12%, 85% { opacity: 1; transform: none } 100% { opacity: .35 } }
.lv2-mini { align-self: flex-start; max-width: 92%; padding: 9px 12px; border-radius: 14px; border-end-start-radius: 5px; background: #FFFFFF; color: #0E1B2E; font: 400 13px/1.45 var(--body); }
.lv2-pasos { margin: 0; padding: 0; list-style: none; counter-reset: p; display: grid; gap: 0; }
.lv2-pasos li { counter-increment: p; position: relative; padding-block: 0 18px; padding-inline-start: 46px; display: flex; flex-direction: column; gap: 4px; }
.lv2-pasos li::before { content: counter(p); position: absolute; inset-inline-start: 0; top: -2px; width: 32px; height: 32px; border-radius: 50%; background: var(--oro); color: #231700; font: 700 15px/32px var(--body); text-align: center; }
.lv2-pasos li:not(:last-child)::after { content: ""; position: absolute; inset-inline-start: 15px; top: 32px; bottom: 2px; width: 2px; background: linear-gradient(var(--oro), rgba(227,182,91,.15)); }
.lv2-pasos b { font: 700 16px/1.3 var(--body); }
.lv2-pasos span { font-size: 14.5px; line-height: 1.5; color: var(--mut); }
.lv2-conf { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.lv2-conf li { position: relative; padding-inline-start: 26px; font-size: 14.5px; line-height: 1.5; color: var(--mut); }
.lv2-conf li b { color: var(--ink); }
.lv2-conf li::before { content: ""; position: absolute; inset-inline-start: 3px; top: 6px; width: 11px; height: 6px; border-left: 2.5px solid var(--oro); border-bottom: 2.5px solid var(--oro); transform: rotate(-45deg); }
.lv2-tabla { overflow-x: auto; border-radius: 14px; border: 1px solid var(--borde); }
.lv2-comp { width: 100%; border-collapse: collapse; font-size: 13.5px; line-height: 1.4; }
.lv2-comp th, .lv2-comp td { padding: 10px; text-align: start; vertical-align: top; border-top: 1px solid #23508F; }
.lv2-comp thead th { border-top: 0; font: 700 11px/1.2 var(--body); letter-spacing: .06em; text-transform: uppercase; color: var(--mut); background: var(--panel); }
.lv2-comp tbody th { font-weight: 600; color: var(--mut); width: 26%; }
.lv2-comp td:nth-child(2) { color: #A9BEDD; }
.lv2-comp td:nth-child(3) { color: var(--ink); font-weight: 600; background: rgba(227,182,91,.08); }
.lv2-precio { display: flex; flex-direction: column; gap: 12px; padding: 18px 16px; border-radius: 20px; background: #FFFFFF; color: #0E1B2E; max-width: 460px; width: 100%;
  box-shadow: 0 0 0 1px rgba(227,182,91,.6), 0 16px 40px rgba(5,15,40,.4); }
.lv2-precio-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.lv2-plan { font: 600 22px/1.1 var(--display); }
.lv2-gratis { font: 700 12px/1 var(--body); padding: 6px 10px; border-radius: 999px; background: var(--oro2); color: #3A2600; }
.lv2-monto { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.lv2-monto b { font: 700 38px/1 var(--body); color: #164A8E; }
.lv2-monto span { font-size: 14px; color: #2A3A52; }
.lv2-incl { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.lv2-incl li { position: relative; padding-inline-start: 24px; font: 500 14.5px/1.4 var(--body); }
.lv2-incl li::before { content: ""; position: absolute; inset-inline-start: 3px; top: 5px; width: 11px; height: 6px; border-left: 2.5px solid #0B6343; border-bottom: 2.5px solid #0B6343; transform: rotate(-45deg); }
.lv2-pausa { margin: 0; font-size: 13px; line-height: 1.5; color: #2A3A52; }
.lv2-fino2 { margin: -2px 0 0; text-align: center; font-size: 12px; line-height: 1.45; color: #2A3A52; }
.lv2-faq { display: flex; flex-direction: column; gap: 8px; max-width: 760px; }
.lv2-faq details { border-radius: 14px; background: var(--panel); border: 1px solid var(--borde); }
.lv2-faq summary { min-height: 48px; display: flex; align-items: center; padding: 0 14px; font: 600 15px/1.3 var(--body); cursor: pointer; list-style: none; }
.lv2-faq summary::-webkit-details-marker { display: none; }
.lv2-faq summary::after { content: "+"; margin-inline-start: auto; padding-inline-start: 10px; font-size: 20px; color: var(--oro); }
.lv2-faq details[open] summary::after { content: "\2212"; }
.lv2-faq details p { margin: 0; padding: 0 14px 14px; font-size: 14.5px; line-height: 1.5; color: var(--mut); }
.lv2-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lv2-centro { align-items: center; }
.lv2-cierre { text-align: center; align-items: center; padding-bottom: 26px; }
.lv2-cierre h2 { font-size: 38px; }
.lv2-cierre .lv2-cta { width: 100%; max-width: 420px; }
.lv2-pie { margin-top: 26px; padding-block: 18px calc(18px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--borde); display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; line-height: 1.5; color: var(--mut); text-align: center; }
.lv2-pie a { color: var(--oro2); }
.lv2-cta:focus-visible, .lv2-chip:focus-visible, .lv2-entrar:focus-visible, .lv2-idioma:focus-visible, .lv2-faq summary:focus-visible, .lv2-pie a:focus-visible { outline: 2px solid var(--dato); outline-offset: 2px; }

/* Celulares angostos: la barra superior entra en una linea (y si aun no cabe, "Entrar" baja) */
@media (max-width: 380px) {
  .lv2-nav .lv2-cont { flex-wrap: wrap; gap: 6px; padding-block: 6px; }
  .lv2-marca { letter-spacing: .18em; }
  .lv2-idioma { max-width: 92px; }
  .lv2-entrar { padding: 0 10px; font-size: 12px; }
}
@media (min-width: 960px) {
  .lv2-heroe { display: grid; grid-template-columns: minmax(0, 1fr) 440px; align-items: start; gap: 48px; padding-block: 48px 8px; }
  .lv2-izq { display: flex; flex-direction: column; gap: 30px; min-width: 0; position: sticky; top: 84px; }
  .lv2-conv .lv2-log { margin: 0; }
  .lv2-resp { min-height: 280px; }
  .lv2-heroe h1 { font-size: 64px; }
  .lv2-sub { font-size: 18px; }
  .lv2-texto .lv2-cta { align-self: flex-start; }
  .lv2-texto .lv2-fino { text-align: start; }
  .lv2-rejilla.tres { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lv2-pasos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .lv2-pasos li:not(:last-child)::after { display: none; }
  .lv2-dos { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: start; }
  .lv2-bloque h2 { font-size: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .lv2-b, .lv2-fuentes span, .lv2-marcador, .lv2-recuerdos span, .lv2-recuerdos b { animation: none; }
  .lv2-marcador { inset-inline-start: calc(46% - 6px); }
}
