*,*::before,*::after{box-sizing:border-box}

/* Fuente de reemplazo con las métricas de Inter ajustadas, por rango de peso.
   ────────────────────────────────────────────────────────────────────────────
   PROBLEMA: Inter es la fuente del body, o sea casi todo el texto del sitio.
   Mientras no llega, Windows dibuja con Segoe UI, que es MAS ANGOSTA. Al llegar
   Inter el texto se ensancha y todo lo alineado a la derecha se recoloca (el
   .hdr__act se corría 5px). size-adjust agranda Segoe UI esa misma diferencia,
   así ocupa el ancho exacto de Inter y el cambio de fuente no mueve nada.

   POR QUE UNO POR PESO: Segoe UI Regular con negrita sintetizada NO se ensancha
   (mide igual en 400, 600 y 700), pero Inter sí. Un size-adjust único servía para
   el 400 y fallaba en el 600, que es el peso de los .btn. De ahí venía el salto
   residual del header.

   FACTORES MEDIDOS en Chrome/Windows con una sonda que compara el ancho del mismo
   texto antes y después del swap (fallback = 701px en los tres pesos):
     peso 400 -> Inter 706px  =>  107.2 × 706/701 = 107.96%   (medido)
     peso 600 -> Inter 718px  =>  107.2 × 718/701 = 109.80%   (medido)
     peso 700 -> Inter 724px  =>  107.2 × 724/701 = 110.72%   (medido)
     peso 500 -> interpolado entre 400 y 600                  (NO medido)

   El local() apunta solo a Segoe UI a propósito: los factores se midieron en
   Windows y no valen para las fuentes de sistema de macOS o Linux, que siguen la
   cadena normal sin ajuste. Si se re-mide en otra plataforma, agregar su bloque.
   Si se cambia Inter por otra fuente, estos números dejan de servir: hay que
   volver a medir, no estimar. */
@font-face{font-family:'Inter fallback';src:local('Segoe UI');font-weight:100 450;size-adjust:107.96%}
@font-face{font-family:'Inter fallback';src:local('Segoe UI');font-weight:451 550;size-adjust:108.60%}
@font-face{font-family:'Inter fallback';src:local('Segoe UI');font-weight:551 650;size-adjust:109.80%}
@font-face{font-family:'Inter fallback';src:local('Segoe UI');font-weight:651 900;size-adjust:110.72%}

:root{
  --azul-50:#E8F7FF;--azul-100:#C1DEFF;--azul-200:#94C2FF;--azul-300:#69A5FF;
  --azul-500:#1C64FF;--azul-600:#0147FE;--azul-700:#0029D7;
  --cian-50:#E0FDFF;--cian-100:#BAF3FE;--cian-300:#1DE1FE;--cian-700:#00698F;
  --navy-200:#A6BFF0;--navy-800:#092265;--navy-900:#010C44;
  --gris-50:#F4F7FC;--gris-100:#D8DCE6;--gris-200:#BBC2D3;--gris-500:#6B7796;
  --exito:#0E9F6E;--exito-50:#EBFCF2;--alerta:#F59E0B;--alerta-50:#FFF4E2;--error:#E5484D;--error-50:#FFEFED;
  --bg:#FFF;--bg-2:#F6F9FE;--bg-3:#EFF4FF;--line:#E3E9F5;--line-2:#CFD8EA;
  --tx:#010C44;--tx-2:#55607E;--tx-3:#848FAC;
  --grad:linear-gradient(118deg,#0147FE 0%,#0F79FF 26%,#019EFE 52%,#0FC5FE 76%,#1DE1FE 100%);
  --f-dis:'Schibsted Grotesk',system-ui,sans-serif;
  --f-ui:'Inter','Inter fallback',system-ui,-apple-system,sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --r-md:10px;--r-lg:16px;--r-xl:22px;--r-full:999px;
  --sh-2:0 2px 4px rgba(1,12,68,.05),0 8px 20px -12px rgba(1,12,68,.22);
  --sh-3:0 4px 8px rgba(1,12,68,.05),0 20px 44px -20px rgba(1,12,68,.28);
  --sh-4:0 8px 16px rgba(1,12,68,.06),0 36px 80px -28px rgba(1,12,68,.34);
  --gut:clamp(20px,4vw,40px);--maxw:1200px;
}
/* Zoom global al 90%: todo el sitio se dibuja un poco mas chico, igual que
   bajar el zoom del navegador. Se aplica en el root para que afecte a todas
   las paginas de una sola vez. */
html{zoom:.9;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:68px}
body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--f-ui);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--azul-600);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut)}
.sec{padding:clamp(44px,5.6vw,78px) 0}
.sec--tint{background:var(--bg-2)}
.sec--dark{background:var(--navy-900);color:#fff}
.eyebrow{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--azul-600);font-weight:500}
.sec--dark .eyebrow{color:var(--cian-300)}
h1,h2,h3,h4{margin:0;font-family:var(--f-dis);font-weight:700;letter-spacing:-.03em;line-height:1.08}
h2{font-size:clamp(24px,3.1vw,35px)}
h3{font-size:clamp(18px,2vw,22px);letter-spacing:-.025em}
.lede{color:var(--tx-2);font-size:clamp(14.5px,1.35vw,16.5px);line-height:1.65;max-width:60ch;margin:15px 0 0}
.sec--dark .lede{color:var(--navy-200)}
.ctr{text-align:center}.ctr .lede{margin-inline:auto}
h2.ctr,.lede.ctr{margin-inline:auto}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:13.5px;font-weight:600;
  border:1px solid transparent;border-radius:var(--r-full);padding:10px 19px;cursor:pointer;
  transition:transform .16s,box-shadow .16s,background .16s,border-color .16s,color .16s;line-height:1.2;white-space:nowrap}
.btn--pri{background:var(--azul-600);color:#fff}
.btn--pri:hover{background:var(--azul-700);transform:translateY(-1px);box-shadow:0 10px 22px -10px rgba(1,71,254,.75)}
.btn--sec{background:#fff;color:var(--navy-900);border-color:var(--line-2)}
.btn--sec:hover{border-color:var(--azul-600);color:var(--azul-600)}
.btn--ghost{background:transparent;color:var(--tx-2);padding:11px 14px}
.btn--ghost:hover{color:var(--azul-600)}
.btn--wt{background:#fff;color:var(--navy-900)}
.btn--wt:hover{transform:translateY(-1px)}
.btn--out{background:transparent;color:#fff;border-color:rgba(255,255,255,.32)}
.btn--out:hover{border-color:#fff}
.btn--lg{font-size:15px;padding:12.5px 24px}

/* cabecera */
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}
.hdr__in{max-width:var(--maxw);margin:0 auto;padding:11px var(--gut);display:flex;align-items:center;justify-content:space-between;gap:clamp(14px,3vw,32px)}
.hdr__logo img{height:29px;width:auto}
.hdr nav{display:flex;gap:2px;flex:1}
.hdr nav a{font-size:14.5px;color:var(--tx-2);padding:8px 11px;border-radius:var(--r-md);transition:.15s}
.hdr nav a:hover{color:var(--azul-600);background:var(--bg-3)}
.hdr nav a[aria-current="page"]{color:var(--azul-600);font-weight:500}
.hdr__act{display:flex;align-items:center;gap:8px}
.burger{display:none;background:none;border:1px solid var(--line-2);border-radius:var(--r-md);padding:8px 10px;cursor:pointer}
.burger span{display:block;width:18px;height:1.5px;background:var(--tx);margin:3.5px 0;border-radius:2px}
@media (max-width:1000px){
  .hdr nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;padding:10px var(--gut) 18px}
  .hdr[data-open="1"] nav{display:flex}.hdr nav a{padding:11px 8px}
  .burger{display:block;order:3}.hdr__act .btn--ghost{display:none}
}

/* héroe home */
.hero{position:relative;padding:clamp(36px,4.8vw,62px) 0 clamp(38px,5.2vw,66px);overflow:hidden}
.hero::before{content:"";position:absolute;top:-320px;right:-12%;width:840px;height:840px;pointer-events:none;
  background:radial-gradient(circle,rgba(29,225,254,.3) 0%,rgba(1,71,254,.16) 42%,transparent 68%)}
.hero .wrap{position:relative;z-index:1}
.hero__grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,5vw,56px);align-items:center}
@media (max-width:980px){.hero__grid{grid-template-columns:1fr}}
.hero h1{font-size:clamp(28px,4.1vw,45px);font-weight:800;letter-spacing:-.038em;line-height:1.06;margin-top:14px}
.hero h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__cta{display:flex;gap:11px;margin-top:28px;flex-wrap:wrap}
.hero__fine{font-size:13px;color:var(--tx-3);margin:15px 0 0}
.chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:24px}
.chip{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;
  border:1px solid var(--line-2);border-radius:var(--r-full);padding:5px 12px;color:var(--tx-2);background:#fff}

/* robot flotante */
.botwrap{position:relative;display:flex;justify-content:center;align-items:center}
.botwrap::before{content:"";position:absolute;inset:8% 14%;border-radius:50%;
  background:radial-gradient(circle,rgba(29,225,254,.42),rgba(1,71,254,.2) 48%,transparent 70%);filter:blur(20px)}
.botwrap img{position:relative;width:min(320px,74%);height:auto;animation:float 5.5s ease-in-out infinite;filter:drop-shadow(0 26px 44px rgba(1,12,68,.34))}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.botwrap figcaption{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);white-space:nowrap;
  font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-3)}

/* héroe de subpágina */
.shero{position:relative;overflow:hidden;padding:clamp(40px,5.5vw,74px) 0 clamp(44px,6vw,80px);background:var(--bg-2);border-bottom:1px solid var(--line)}
.shero::before{content:"";position:absolute;top:-300px;left:-10%;width:760px;height:760px;pointer-events:none;
  background:radial-gradient(circle,rgba(29,225,254,.24),rgba(1,71,254,.13) 44%,transparent 68%)}
.shero .wrap{position:relative;z-index:1}
.crumb{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-3);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.crumb a:hover{color:var(--azul-600)}
.shero__grid{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(28px,5vw,56px);align-items:center;margin-top:24px}
@media (max-width:980px){.shero__grid{grid-template-columns:1fr}}
.shero h1{font-size:clamp(26px,3.8vw,42px);font-weight:800;letter-spacing:-.037em;line-height:1.06;margin-top:13px}
.shero h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.shero__cta{display:flex;gap:11px;margin-top:26px;flex-wrap:wrap}

/* dos tarjetas de servicio */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px}
@media (max-width:900px){.cards{grid-template-columns:1fr}}
.card{border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;position:relative}
.card:hover{transform:translateY(-3px);box-shadow:var(--sh-3)}
.card__top{height:5px;background:var(--c)}
.card__b{padding:clamp(26px,3.4vw,36px);display:flex;flex-direction:column;flex:1}
.card__k{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-3)}
.card h3{margin:12px 0 0;font-size:clamp(24px,2.9vw,32px)}
.card h3 span{color:var(--c)}
.card__for{display:inline-block;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;
  background:var(--bg-3);color:var(--azul-700);padding:5px 11px;border-radius:var(--r-full);margin-top:14px;align-self:flex-start}
.card__d{margin:16px 0 0;font-size:15.5px;color:var(--tx-2);line-height:1.6}
.card ul{margin:20px 0 26px;padding:0;list-style:none}
.card li{display:flex;gap:10px;padding:6px 0;font-size:14px;color:var(--tx-2);line-height:1.5}
.card li svg{flex:none;margin-top:3px}
.card__go{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap}

/* reseñas */
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
@media (max-width:900px){.revs{grid-template-columns:1fr}}
.rev{border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;padding:26px 24px 24px;display:flex;flex-direction:column}
.rev__q{font-family:var(--f-dis);font-size:16.5px;font-weight:600;letter-spacing:-.02em;line-height:1.45;color:var(--tx);margin:0 0 auto}
.rev__ph{color:var(--tx-3);font-weight:500;font-style:italic}
.rev__w{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.rev__av{width:38px;height:38px;border-radius:50%;background:var(--bg-3);border:1px dashed var(--line-2);flex:none;
  display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:8px;color:var(--tx-3);letter-spacing:.06em;text-align:center;line-height:1.2}
.rev__w b{display:block;font-size:13.5px;font-weight:600}
.rev__w span{display:block;font-size:12px;color:var(--tx-3)}

.logowall{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-top:28px}
@media (max-width:900px){.logowall{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.logowall{grid-template-columns:repeat(2,1fr)}}
.logoslot{background:#fff;height:84px;display:flex;align-items:center;justify-content:center;
  font-family:var(--f-mono);font-size:9px;letter-spacing:.1em;color:var(--tx-3);text-align:center;padding:8px}
.placeholder{border:1px dashed var(--azul-300);background:var(--azul-50);border-radius:var(--r-md);
  padding:14px 16px;margin-top:22px;display:flex;gap:11px;align-items:flex-start}
.placeholder b{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--azul-700);flex:none;padding-top:2px}
.placeholder p{margin:0;font-size:13px;color:var(--navy-800);line-height:1.55}

/* equipo */
/* equipo: título a la izquierda, fichas a la derecha */
.eqx{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(26px,4.5vw,56px);align-items:center}
@media (max-width:900px){.eqx{grid-template-columns:1fr}}
.team{display:grid;grid-template-columns:1fr;gap:14px}
.mate{border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden;
  display:flex;align-items:stretch;gap:18px;padding:14px;transition:transform .2s,box-shadow .2s}
.mate:hover{transform:translateY(-2px);box-shadow:var(--sh-3)}
.mate__ph{width:clamp(150px,15vw,182px);height:auto;flex:none;aspect-ratio:1/1;object-fit:cover;display:block;
  border-radius:var(--r-md);background:var(--bg-3);border:1px solid var(--line)}
@media (max-width:460px){.mate{flex-direction:column}.mate__ph{width:100%;max-width:240px}}
.mate__b{padding:2px 0 0;display:flex;flex-direction:column;flex:1;min-width:0}
.mate b{display:block;font-family:var(--f-dis);font-size:17px;font-weight:700;letter-spacing:-.02em}
.mate__r{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--azul-600);margin:5px 0 9px}
.mate p{margin:0;font-size:13.5px;color:var(--tx-2);line-height:1.55}
.mate a{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--azul-600);font-weight:500;margin-top:auto;padding-top:11px;align-self:flex-start}
.mate a:hover{text-decoration:underline}

/* ventajas */
.edges{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(166,191,240,.2);border:1px solid rgba(166,191,240,.2);border-radius:var(--r-lg);overflow:hidden;margin-top:38px}
@media (max-width:900px){.edges{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.edges{grid-template-columns:1fr}}
.edge{background:var(--navy-900);padding:26px 22px 28px}
.edge__n{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.13em;color:var(--cian-300)}
.edge b{display:block;font-family:var(--f-dis);font-size:16px;font-weight:600;letter-spacing:-.02em;color:#fff;margin:11px 0 8px}
.edge p{margin:0;font-size:13.5px;color:var(--navy-200);line-height:1.55}

/* dolores */
.pains{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
@media (max-width:900px){.pains{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.pains{grid-template-columns:1fr}}
.pain{border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;background:#fff;display:flex;gap:13px;align-items:flex-start}
.pain i{flex:none;width:22px;height:22px;border-radius:50%;background:var(--error-50);color:var(--error);
  display:flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;font-weight:700;margin-top:1px}
.pain p{margin:0;font-size:14.5px;line-height:1.55;color:var(--tx-2)}
.pain p b{color:var(--tx);font-weight:600}
.turn{margin-top:32px;border-radius:var(--r-lg);background:var(--grad);color:#fff;padding:clamp(26px,4vw,40px);
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.turn b{font-family:var(--f-dis);font-size:clamp(19px,2.5vw,27px);font-weight:700;letter-spacing:-.025em;line-height:1.25;max-width:25ch;display:block}
.turn p{margin:8px 0 0;font-size:14.5px;opacity:.92;max-width:46ch}

/* capacidades */
.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-top:38px}
@media (max-width:900px){.caps{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.caps{grid-template-columns:1fr}}
.cap{background:#fff;padding:26px 24px 28px}
.sec--tint .cap{background:var(--bg-2)}
.cap__n{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;color:var(--azul-600)}
.cap h4{font-size:17px;margin:12px 0 8px;letter-spacing:-.02em}
.cap p{margin:0;font-size:14px;color:var(--tx-2);line-height:1.6}

/* bloques alternos */
.feat{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,66px);align-items:center;padding:clamp(38px,5.5vw,62px) 0}
.feat+.feat{border-top:1px solid var(--line)}
@media (max-width:900px){.feat{grid-template-columns:1fr;gap:28px}.feat__v{order:2}}
.feat h3{margin-top:13px}
.feat>div>p{color:var(--tx-2);font-size:15.5px;line-height:1.65;margin:15px 0 0;max-width:50ch}
.feat ul{margin:18px 0 0;padding:0;list-style:none}
.feat li{display:flex;gap:11px;padding:6px 0;font-size:14.5px;color:var(--tx-2);line-height:1.5}
.feat li svg{flex:none;margin-top:3px}
.feat--rev .feat__v{order:-1}
@media (max-width:900px){.feat--rev .feat__v{order:2}}

.panel{border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--sh-2);overflow:hidden}
.panel__hd{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:var(--bg-2);gap:10px}
.panel__hd span{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-3)}
.panel__b{padding:16px}

.tag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3.5px 10px;border-radius:var(--r-full)}
.tag--az{background:var(--azul-50);color:var(--azul-700)}
.tag--ci{background:var(--cian-50);color:var(--cian-700)}
.tag--ok{background:var(--exito-50);color:#065F46}
.tag--wr{background:var(--alerta-50);color:#8A5300}
.tag--ia{background:var(--grad);color:#fff}

.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{text-align:left;font-family:var(--f-mono);font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--tx-3);font-weight:500;padding:0 8px 9px 0;border-bottom:1px solid var(--line-2)}
.tbl td{padding:9px 8px 9px 0;border-bottom:1px solid var(--line);color:var(--tx-2)}
.tbl td:first-child{color:var(--tx);font-weight:500}
.tbl .m{font-family:var(--f-mono);font-size:11.5px;font-variant-numeric:tabular-nums;text-align:right}
.tbl th.m{text-align:right}
.tbl tr:last-child td{border-bottom:0}

.alertbox{display:flex;gap:11px;padding:13px 15px;border-radius:var(--r-md);border:1px solid;align-items:flex-start}
.alertbox b{font-size:13.5px;display:block;margin-bottom:3px}
.alertbox p{margin:0;font-size:12.5px;line-height:1.5}
.alertbox--in{background:var(--azul-50);border-color:var(--azul-200);color:var(--navy-800)}
.alertbox--wr{background:var(--alerta-50);border-color:#FDCA8F;color:#5C3800}
.alertbox--ok{background:var(--exito-50);border-color:#A0D7BB;color:#065F46}

.feed__row{padding:13px 16px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:flex-start}
.feed__row:last-child{border-bottom:0}
.feed__row--hi{background:linear-gradient(90deg,rgba(1,71,254,.05),transparent)}
.feed__ic{width:32px;height:32px;border-radius:9px;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:8.5px;font-weight:600}
.feed__ic--p{background:var(--azul-50);color:var(--azul-700)}
.feed__ic--d{background:var(--exito-50);color:#065F46}
.feed__ic--a{background:var(--alerta-50);color:#8A5300}
.feed__b{flex:1;min-width:0}
.feed__b b{font-size:13.5px;font-weight:600;display:block;letter-spacing:-.01em}
.feed__b p{margin:2px 0 0;font-size:12.5px;color:var(--tx-2);line-height:1.45}
.feed__t{font-family:var(--f-mono);font-size:10px;color:var(--tx-3);white-space:nowrap;flex:none}
.live{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.12em;color:var(--exito);text-transform:uppercase;white-space:nowrap}
.live i{width:6px;height:6px;border-radius:50%;background:var(--exito);box-shadow:0 0 0 3px rgba(14,159,110,.16);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.sweep{position:relative;height:2px;background:var(--line);border-radius:2px;overflow:hidden}
.sweep::after{content:"";position:absolute;inset:0;width:32%;background:linear-gradient(90deg,transparent,var(--cian-300),transparent);animation:sw 2.4s linear infinite}
@keyframes sw{from{transform:translateX(-120%)}to{transform:translateX(420%)}}

.search{border:1px solid var(--line-2);border-radius:var(--r-full);padding:11px 16px;font-size:13.5px;color:var(--tx);display:flex;gap:10px;align-items:center;background:#fff}
.search svg{flex:none}
.res{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.res:last-child{border-bottom:0}
.res b{font-weight:500}
.res>span{font-family:var(--f-mono);font-size:11.5px;color:var(--tx-3);white-space:nowrap}

.cad{display:grid;gap:10px}
.cad__s{border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;background:var(--bg-2)}
.cad__s b{font-size:12.5px;display:block;margin-bottom:4px}
.cad__s p{margin:0;font-size:12px;color:var(--tx-2);line-height:1.5}
.cad__s.on{background:#fff;border-color:var(--azul-200);box-shadow:0 6px 18px -12px rgba(1,71,254,.5)}
.cad__d{font-family:var(--f-mono);font-size:11px;color:var(--tx);line-height:1.85}
.cad__d em{font-style:normal;color:var(--tx-3)}

.report{border-radius:var(--r-md);border:1px solid var(--line);padding:18px;background:#fff}
.report__v{font-family:var(--f-dis);font-size:33px;font-weight:700;letter-spacing:-.035em;line-height:1}
.bar{height:6px;border-radius:99px;background:var(--gris-100);overflow:hidden;margin-top:14px}
.bar i{display:block;height:100%;border-radius:99px;background:var(--grad)}
.pdfmock{border:1px solid var(--line);border-radius:8px;background:#fff;padding:16px;box-shadow:var(--sh-2)}
.pdfmock__hd{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--azul-600);padding-bottom:9px;margin-bottom:12px}
.pdfmock__hd b{font-family:var(--f-dis);font-size:12px;letter-spacing:-.01em}
.pdfmock__hd span{font-family:var(--f-mono);font-size:8px;letter-spacing:.1em;color:var(--tx-3)}
.pdfmock__logo{width:52px;height:16px;border-radius:3px;background:var(--gris-100);display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:6px;color:var(--tx-3);letter-spacing:.06em}
.pdfmock i{display:block;height:3px;background:var(--gris-100);border-radius:2px;margin-bottom:5px}
.pdfmock i:nth-child(3n){width:74%}

.profiles{display:grid;grid-template-columns:1fr 1fr;gap:9px}
@media (max-width:520px){.profiles{grid-template-columns:1fr}}
.profile{border:1px solid var(--line);border-radius:var(--r-md);padding:12px 13px;background:#fff}
.profile b{display:block;font-size:12.5px;font-weight:600;margin-bottom:3px}
.profile span{font-size:11.5px;color:var(--tx-2);line-height:1.45;display:block}

.rival__r{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12.5px;padding:9px 0;border-bottom:1px solid var(--line)}
.rival__r:last-child{border-bottom:0}
.rival__r b{font-weight:500;color:var(--tx)}
.rival__bar{flex:1;max-width:110px;height:5px;background:var(--gris-100);border-radius:99px;overflow:hidden}
.rival__bar i{display:block;height:100%;background:var(--azul-600);border-radius:99px}
.rival__r span{font-family:var(--f-mono);font-size:11px;color:var(--tx-3);white-space:nowrap}

/* chat */
.chat{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-4);overflow:hidden}
.chat__hd{padding:12px 16px;background:var(--bg-2);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}
.chat__hd img{width:30px;height:30px;object-fit:contain;flex:none}
.chat__hd b{font-size:13.5px;display:block;line-height:1.2}
.chat__hd span{font-size:11px;color:var(--exito);font-weight:500}
.chat__b{padding:16px;display:grid;gap:10px;background:var(--bg-2)}
.msg{max-width:84%;padding:10px 14px;border-radius:16px;font-size:13.5px;line-height:1.5}
.msg--u{background:#fff;border:1px solid var(--line);justify-self:end;border-bottom-right-radius:5px}
.msg--b{background:var(--grad);color:#fff;justify-self:start;border-bottom-left-radius:5px}
.chat__sys{margin:4px 0 0;border-top:1px dashed var(--line-2);padding-top:12px;display:grid;gap:7px}
.chat__sys div{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--tx-2)}
.chat__sys svg{flex:none}

/* pipeline */
.pipe{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
@media (max-width:520px){.pipe{grid-template-columns:1fr 1fr}}
.pipecol{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);padding:9px}
.pipecol__h{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-3);margin-bottom:8px;display:flex;justify-content:space-between}
.pipecard{background:#fff;border:1px solid var(--line);border-radius:7px;padding:8px 9px;margin-bottom:6px;font-size:11.5px;line-height:1.4}
.pipecard b{display:block;font-weight:600;font-size:11.5px;margin-bottom:2px}
.pipecard span{color:var(--tx-3);font-size:10.5px}

/* portales */
.ports{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.port{border:1px solid var(--line);background:#fff;border-radius:var(--r-md);padding:8px 14px;font-size:13px;color:var(--tx-2);font-weight:500}
.sec--dark .port{background:rgba(255,255,255,.06);border-color:rgba(166,191,240,.2);color:#D6E1FA}

/* cadena */
.chain{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:38px}
@media (max-width:900px){.chain{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.chain{grid-template-columns:1fr}}
.step{border:1px solid rgba(166,191,240,.22);border-radius:var(--r-lg);padding:22px 20px;background:rgba(255,255,255,.045)}
.step__n{font-family:var(--f-mono);font-size:10px;letter-spacing:.13em;color:var(--cian-300)}
.step b{display:block;font-family:var(--f-dis);font-size:16px;font-weight:600;letter-spacing:-.02em;margin:11px 0 7px;color:#fff}
.step p{margin:0;font-size:13.5px;color:var(--navy-200);line-height:1.55}

/* precios modulares */
.mods{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:38px}
@media (max-width:900px){.mods{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.mods{grid-template-columns:1fr}}
.pmod{border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 22px 26px;background:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column}
.pmod::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--c)}
.pmod__k{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-3)}
.pmod h4{font-size:19px;margin:11px 0 10px;color:var(--c)}
.pmod p{margin:0 0 16px;font-size:13.5px;color:var(--tx-2);line-height:1.55;flex:1}
.pmod ul{margin:0 0 18px;padding:0;list-style:none}
.pmod li{font-size:12.5px;color:var(--tx-2);padding:4px 0 4px 15px;position:relative;line-height:1.45}
.pmod li::before{content:"";position:absolute;left:0;top:10px;width:5px;height:5px;border-radius:2px;background:var(--c)}
.pmod__p{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--tx-3);border-top:1px solid var(--line);padding-top:14px;text-transform:uppercase}
.pnote{margin-top:30px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;padding:26px;display:flex;justify-content:space-between;gap:24px;align-items:center;flex-wrap:wrap}
.pnote b{font-family:var(--f-dis);font-size:19px;font-weight:700;letter-spacing:-.02em;display:block}
.pnote p{margin:7px 0 0;font-size:14px;color:var(--tx-2);max-width:52ch}

/* FAQ */
.faq{max-width:780px;margin:34px auto 0;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:17px 40px 17px 0;font-family:var(--f-dis);font-size:16.5px;font-weight:600;letter-spacing:-.015em;position:relative;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:9px;height:9px;border-right:1.5px solid var(--tx-3);border-bottom:1.5px solid var(--tx-3);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-20%) rotate(225deg)}
.faq details[open] summary{color:var(--azul-600)}
.faq p{margin:0 0 20px;font-size:14.5px;color:var(--tx-2);line-height:1.65;max-width:66ch}

/* cross-sell */
.cross{border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;padding:clamp(26px,3.4vw,38px);
  display:flex;justify-content:space-between;gap:26px;align-items:center;flex-wrap:wrap;box-shadow:var(--sh-2)}
.cross__k{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-3)}
.cross b{display:block;font-family:var(--f-dis);font-size:clamp(20px,2.4vw,26px);font-weight:700;letter-spacing:-.025em;margin-top:10px}
.cross p{margin:9px 0 0;font-size:14.5px;color:var(--tx-2);max-width:50ch}

/* CTA */
.cta{background:var(--navy-900);color:#fff;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;top:-42%;left:50%;transform:translateX(-50%);width:900px;height:720px;
  background:radial-gradient(circle,rgba(29,225,254,.22),rgba(1,71,254,.14) 44%,transparent 68%)}
.cta .wrap{position:relative;z-index:1;text-align:center}
.cta h2{color:#fff}
.cta h2 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta p{color:var(--navy-200);max-width:50ch;margin:18px auto 0;font-size:16.5px}
.cta__b{display:flex;gap:12px;justify-content:center;margin-top:30px;flex-wrap:wrap}
.cta__f{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:#6478AE;margin-top:22px;text-transform:uppercase}
.cta img{width:94px;margin:0 auto 20px;animation:float 5.5s ease-in-out infinite}

/* pie */
.ft{background:var(--navy-900);color:var(--navy-200);border-top:1px solid rgba(166,191,240,.14);padding:clamp(46px,6vw,70px) 0 30px}
.ft__grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:clamp(24px,4vw,46px)}
@media (max-width:820px){.ft__grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ft__grid{grid-template-columns:1fr}}
.ft img{height:26px;width:auto;margin-bottom:18px}
.ft p{font-size:13.5px;line-height:1.6;max-width:34ch;margin:0}
.ft h5{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#6478AE;margin:0 0 14px;font-weight:500}
.ft ul{list-style:none;margin:0;padding:0}
.ft li{padding:5px 0}
.ft li a{font-size:13.5px;transition:.15s}
.ft li a:hover{color:#fff}
.ft__bot{margin-top:clamp(36px,5vw,54px);padding-top:22px;border-top:1px solid rgba(166,191,240,.14);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;color:#6478AE}

/* tarjetas de servicio en rejilla */
.cards4,.cardsv{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
@media (max-width:880px){.cards4,.cardsv{grid-template-columns:1fr}}
.cards4 .card__b,.cardsv .card__b{padding:clamp(20px,2.4vw,27px)}
.cards4 .card h3,.cardsv .card h3{font-size:clamp(19px,2.1vw,23px)}
.cards4 .card ul,.cardsv .card ul{margin:16px 0 22px}
.cards4 .card li,.cardsv .card li{font-size:13.5px}
/* etiqueta de servicio aún en construcción */
.soon{display:inline-block;margin-left:7px;vertical-align:middle;
  font-family:var(--f-mono);font-size:8.5px;letter-spacing:.11em;text-transform:uppercase;font-weight:500;
  background:var(--alerta-50);color:#9A6300;border:1px solid rgba(245,158,11,.35);
  border-radius:var(--r-full);padding:3px 8px;line-height:1.2}
.cardsv .card li b{color:var(--tx);font-weight:600}
.cardsv .card li span{display:block}

/* bloques fuera de los servicios centrales: MLS y web profesional */
.webx{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4.5vw,56px);align-items:center}
@media (max-width:860px){.webx{grid-template-columns:1fr}}
.webx__t .hero__cta{margin-top:24px}
.webx__l{margin:0;padding:0;list-style:none;display:grid;gap:11px}
.webx__l li{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg-2);padding:17px 19px}
.sec--tint .webx__l li{background:#fff}
.webx__l b{display:block;font-family:var(--f-dis);font-size:15.5px;font-weight:600;letter-spacing:-.02em;margin-bottom:5px}
.webx__l span{font-size:13.5px;color:var(--tx-2);line-height:1.6}

/* presentación del agente en el héroe */
.agent{position:relative;display:flex;flex-direction:column;align-items:center}
.agent__glow{position:absolute;inset:0 22% 46% 22%;border-radius:50%;
  background:radial-gradient(circle,rgba(29,225,254,.44),rgba(1,71,254,.2) 48%,transparent 70%);filter:blur(20px)}
.agent img{position:relative;width:min(148px,36%);height:auto;animation:float 5.5s ease-in-out infinite;
  filter:drop-shadow(0 18px 28px rgba(1,12,68,.3))}
.agent__card{position:relative;margin-top:-14px;width:min(320px,100%);background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--sh-4);overflow:hidden;z-index:2}
.agent__hd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 13px;
  background:var(--bg-2);border-bottom:1px solid var(--line)}
.agent__hd b{font-size:12px;font-weight:600}
.agent__hd em{font-style:normal;font-family:var(--f-mono);font-size:8.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--tx-3);display:block;margin-top:1px}
.agent__msgs{padding:11px 13px 5px;display:grid;gap:7px;background:var(--bg-2)}
.amsg{background:#fff;border:1px solid var(--line);border-radius:12px 12px 12px 4px;padding:8px 11px;
  font-size:11.8px;line-height:1.45;color:var(--tx);box-shadow:0 1px 2px rgba(1,12,68,.04);
  opacity:0;animation:pop .5s cubic-bezier(.22,.75,.2,1) forwards}
.amsg:nth-child(1){animation-delay:.25s}
.amsg:nth-child(2){animation-delay:.75s}
.amsg:nth-child(3){animation-delay:1.25s}
.amsg:nth-child(4){animation-delay:1.75s}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.amsg__t{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-top:5px}
.amsg__t em{font-style:normal;font-family:var(--f-mono);font-size:8.5px;letter-spacing:.09em;color:var(--tx-3);text-transform:uppercase}
.amsg__a{font-size:10.5px;font-weight:600;color:var(--azul-600)}
.amsg--last{border-color:var(--azul-200);background:var(--azul-50)}
.agent__ft{padding:9px 13px 11px;border-top:1px solid var(--line);background:#fff;display:flex;gap:8px;align-items:center}
.agent__ft div{flex:1;border:1px solid var(--line-2);border-radius:var(--r-full);padding:6px 11px;font-size:11px;color:var(--tx-3)}
.agent__ft span{width:26px;height:26px;border-radius:50%;background:var(--grad);flex:none;display:flex;align-items:center;justify-content:center}
@media (prefers-reduced-motion:reduce){.amsg{opacity:1;animation:none}}

/* bloque híbrido */
.hyb{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(16px,3vw,30px);align-items:stretch;margin-top:40px}
@media (max-width:860px){.hyb{grid-template-columns:1fr;gap:14px}}
.hyb__c{border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px;background:#fff}
.hyb__c--out{background:var(--bg-2);border-style:dashed}
.hyb__k{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--tx-3);display:block;margin-bottom:12px}
.hyb__c b{display:block;font-family:var(--f-dis);font-size:17px;font-weight:600;letter-spacing:-.02em;margin-bottom:9px}
.hyb__c p{margin:0;font-size:14px;color:var(--tx-2);line-height:1.6}
.hyb__c ul{margin:12px 0 0;padding:0;list-style:none}
.hyb__c li{font-size:13.5px;color:var(--tx-2);padding:5px 0 5px 16px;position:relative;line-height:1.5}
.hyb__c li::before{content:"";position:absolute;left:0;top:11px;width:5px;height:5px;border-radius:2px;background:var(--gris-200)}
.hyb__c--yes li::before{background:var(--azul-600)}
.hyb__x{display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:var(--tx-3)}
.hyb__mid{margin-top:clamp(16px,3vw,30px);border-radius:var(--r-lg);background:var(--grad);color:#fff;padding:clamp(26px,4vw,38px)}
.hyb__mid b{display:block;font-family:var(--f-dis);font-size:clamp(19px,2.4vw,26px);font-weight:700;letter-spacing:-.025em;line-height:1.3;max-width:34ch}
.hyb__mid p{margin:10px 0 0;font-size:15px;opacity:.93;max-width:60ch}

/* tarjeta del agente: Propelia dentro de su propia tarjeta */
.card--agent{position:relative;overflow:hidden}
.card--agent .card__b{position:relative;z-index:1}
.card--agent .card__k,
.card--agent h3,
.card--agent .card__d{padding-right:clamp(58px,7.5vw,76px)}
.card__bot{position:absolute;top:clamp(10px,1.4vw,15px);right:clamp(9px,1.3vw,14px);width:clamp(52px,6.5vw,68px);z-index:2;pointer-events:none}
.card__bot::before{content:"";position:absolute;inset:-14% -8% 4% -8%;border-radius:50%;
  background:radial-gradient(circle,rgba(29,225,254,.42),rgba(1,71,254,.18) 50%,transparent 72%);filter:blur(14px)}
.card__bot img{position:relative;width:100%;height:auto;animation:float 5.5s ease-in-out infinite;
  filter:drop-shadow(0 14px 22px rgba(1,12,68,.26))}

/* banda de logos bajo el héroe */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2);padding:22px 0}
.trust__in{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut);display:flex;align-items:center;gap:clamp(20px,4vw,44px);flex-wrap:wrap;justify-content:center}
.trust__k{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-3);white-space:nowrap}
.trust__logos{display:flex;align-items:center;gap:clamp(22px,4vw,46px);flex-wrap:wrap;justify-content:center}
.trust__logos img{height:26px;width:auto;max-width:130px;object-fit:contain;filter:grayscale(1);opacity:.62;transition:.2s}
.trust__logos img:hover{filter:none;opacity:1}
@media (max-width:600px){.trust__logos img{height:20px;max-width:96px}}

/* dolor dentro de la tarjeta */
.card__win{display:flex;gap:9px;align-items:flex-start;margin:14px 0 0;padding:11px 13px;
  background:var(--azul-50);border-left:2px solid var(--c);border-radius:0 var(--r-md) var(--r-md) 0;
  font-size:13.5px;color:var(--navy-800);line-height:1.45;font-weight:500}
.card__win svg{flex:none;margin-top:2px}
.cards4 .card__d,.cardsv .card__d{margin-top:13px;font-size:13.5px}

/* reseñas */
.revs4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:32px}
@media (max-width:1080px){.revs4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.revs4{grid-template-columns:1fr}}
.rev4{position:relative;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;
  padding:clamp(17px,1.9vw,21px);display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 1px 2px rgba(1,12,68,.04);transition:transform .2s,box-shadow .2s}
.rev4:hover{transform:translateY(-2px);box-shadow:var(--sh-3)}
.rev4::before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--c)}
/* la comilla decorativa va bajo la cabecera: arriba la cortaba el borde de la tarjeta */
.rev4::after{content:"\201C";position:absolute;top:clamp(40px,5vw,52px);right:clamp(10px,1.6vw,16px);
  font-family:var(--f-dis);font-size:58px;font-weight:800;line-height:1;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.18;pointer-events:none}
.rev4__hd{display:flex;justify-content:space-between;align-items:flex-start;gap:9px;margin-bottom:14px;position:relative;z-index:1}
.rev4__logo{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;padding:6px 9px;
  height:34px;display:flex;align-items:center;justify-content:center}
.rev4__logo img{max-height:18px;max-width:92px;width:auto;object-fit:contain}
.rev4__t{font-family:var(--f-mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;
  background:var(--bg-3);color:var(--azul-700);padding:4px 7px;border-radius:var(--r-full);white-space:nowrap;flex:none;margin-top:4px}
.rev4__q{font-family:var(--f-dis);font-size:14.5px;font-weight:600;letter-spacing:-.018em;
  line-height:1.42;color:var(--tx);margin:0 0 auto;position:relative;z-index:1}
.rev4__f{display:flex;flex-direction:column;align-items:flex-start;gap:5px;
  margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.rev4__w b{display:block;font-family:var(--f-dis);font-size:13px;font-weight:700;letter-spacing:-.015em}
.rev4__w span{display:block;font-size:11.5px;color:var(--tx-3);margin-top:1px}
.rev4__link{font-size:11.5px;font-weight:600;color:var(--azul-600);white-space:nowrap}
.rev4__link:hover{text-decoration:underline}

/* cómo trabajamos: texto a la izquierda, rejilla de puntos a la derecha */
.wrk{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(24px,4vw,48px);align-items:center}
@media (max-width:940px){.wrk{grid-template-columns:1fr}}
.wrk__hi{margin-top:18px;border-left:3px solid var(--azul-600);background:var(--bg-3);
  border-radius:0 var(--r-md) var(--r-md) 0;padding:13px 16px;font-size:13.5px;line-height:1.55;color:var(--navy-800)}

/* listas compactas */
.mini{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
@media (max-width:460px){.mini{grid-template-columns:1fr}}
.mini div{background:#fff;padding:14px 15px}
.sec--tint .mini div{background:var(--bg-2)}
.mini b{display:block;font-family:var(--f-dis);font-size:13.5px;font-weight:600;letter-spacing:-.02em;margin-bottom:4px}
.mini span{font-size:12px;color:var(--tx-2);line-height:1.45}
.mini em{font-style:normal;font-family:var(--f-mono);font-size:8.5px;letter-spacing:.12em;color:var(--azul-600);display:block;margin-bottom:6px}

/* Reveal on scroll. El estado por defecto es VISIBLE a propósito: la animación solo
   existe cuando hay JavaScript (html.js la pone el script inline del <head>) y la
   clase .in la agrega site.js. Si se invierte esto, cualquier lector que no ejecute
   JS ve la home entera en opacity:0 — fue la causa de dos rechazos de la verificación
   OAuth de Google. Ver docs/oauth-verification-fixes.md, punto 6. NO invertir. */
.rv{opacity:1;transform:none}
html.js .rv{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,.75,.2,1)}
html.js .rv.in{opacity:1;transform:none}

/* Variante con fundido PARCIAL: arranca en opacity .6, no en 0. Es la única variante admisible
   en los bloques que inspecciona la verificación OAuth de Google (el héroe, que tiene el <h1> con
   "Propelia", y #que-es-propelia). El punto que hundió la verificación no era "usar opacity",
   era opacity:0: un elemento en 0 es contenido invisible y un crawler lo trata como oculto. En
   .6 el texto es visible y legible en todos los frames, así que aunque el revisor ejecute JS y
   capture antes de que dispare el IntersectionObserver, lee el contenido.
   Ver punto 6 de docs/oauth-verification-fixes.md.
   REGLAS: no bajar el .6 (por debajo de ~.5 el contraste del cuerpo de texto se cae) y NUNCA
   ponerlo en 0. La regla .in de abajo hace falta por especificidad: html.js .rv.in tiene el mismo
   peso que html.js .rv.rv--slide y va antes en el archivo, así que sin ella el bloque se quedaría
   en .6 para siempre. */
html.js .rv.rv--slide{opacity:.6}
html.js .rv.rv--slide.in{opacity:1}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  html{scroll-behavior:auto}html.js .rv{opacity:1;transform:none}
}

/* ══ páginas legales ══ */
.legal{padding:clamp(40px,6vw,72px) 0 clamp(56px,7.5vw,104px)}
.legal__in{max-width:760px}
.legal__back{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:500;color:var(--azul-600);margin-bottom:24px}
.legal__back:hover{text-decoration:underline}
.legal h1{font-size:clamp(27px,3.9vw,40px);margin-top:14px}
.legal__updated{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--tx-3);margin:14px 0 40px}
.legal__body{font-size:15.5px;line-height:1.75;color:var(--tx-2)}
.legal__body h3{color:var(--tx);margin:32px 0 10px;font-size:clamp(17px,2vw,20px)}
.legal__body h3:first-child{margin-top:0}
.legal__body p{margin:0 0 16px}
.legal__body ul{margin:0 0 16px;padding:0 0 0 20px}
.legal__body li{margin:0 0 8px}
.legal__body strong{color:var(--tx);font-weight:600}
.legal__body a{color:var(--azul-600);font-weight:500}
.legal__body a:hover{text-decoration:underline}

/* página de contacto */
.ctc{padding-top:clamp(34px,4.4vw,56px)}
.ctc__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,4.5vw,58px);align-items:start}
@media (max-width:900px){.ctc__grid{grid-template-columns:1fr}}
.ctc__side h1{font-size:clamp(27px,3.6vw,40px);font-weight:800;letter-spacing:-.035em;line-height:1.08;margin-top:12px}
.ctc__side h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ctc__pts{margin:26px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.ctc__pts li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--tx-2);line-height:1.55}
.ctc__pts svg{flex:none;margin-top:3px}
.ctc__dir{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.ctc__dir b{display:block;font-family:var(--f-dis);font-size:14.5px;font-weight:600;letter-spacing:-.02em}
.ctc__dir a{display:inline-block;margin-top:4px;font-size:14px;font-weight:600;color:var(--azul-600)}
.ctc__card{border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;
  padding:clamp(22px,2.8vw,32px);box-shadow:var(--sh-3)}

/* formulario */
.frm{display:grid;gap:15px}
.frm__row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
@media (max-width:560px){.frm__row{grid-template-columns:1fr}}
.fld{display:grid;gap:6px;min-width:0}
.fld label,.fld legend{font-size:12.5px;font-weight:600;color:var(--tx);letter-spacing:-.005em}
.fld i{font-style:normal;color:var(--azul-600)}
.fld input,.fld select,.fld textarea{font:inherit;font-size:14px;color:var(--tx);background:var(--bg-2);
  border:1px solid var(--line-2);border-radius:var(--r-md);padding:10px 12px;width:100%;
  transition:border-color .15s,background .15s,box-shadow .15s}
.fld textarea{resize:vertical;line-height:1.55}
.fld input:hover,.fld select:hover,.fld textarea:hover{border-color:var(--gris-200)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;background:#fff;
  border-color:var(--azul-600);box-shadow:0 0 0 3px rgba(1,71,254,.13)}
.fld input::placeholder,.fld textarea::placeholder{color:var(--tx-3)}
.fld--set{border:0;padding:0;margin:0}
.fld--set legend{padding:0;margin-bottom:8px}
.chk{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px}
@media (max-width:560px){.chk{grid-template-columns:1fr}}
.chk label{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:400;color:var(--tx-2);cursor:pointer}
.chk input,.rgpd input{accent-color:var(--azul-600);width:15px;height:15px;flex:none;margin:0;cursor:pointer}
.rgpd{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--tx-2);line-height:1.5;cursor:pointer}
.rgpd input{margin-top:2px}
.rgpd a{color:var(--azul-600);font-weight:600;text-decoration:underline}
.frm__go{width:100%;margin-top:3px}
.frm__fine{margin:0;text-align:center;font-size:12px;color:var(--tx-3)}
.frm__err{margin:0;padding:10px 12px;border-radius:var(--r-md);
  background:var(--error-50);color:var(--error);font-size:13px;font-weight:500}
.frm__ok{margin:0;padding:10px 12px;border-radius:var(--r-md);
  background:var(--exito-50);color:var(--exito);font-size:13px;font-weight:600}
.frm__go[disabled]{opacity:.62;cursor:progress;transform:none;box-shadow:none}
.fld input:user-invalid,.fld select:user-invalid,.fld textarea:user-invalid{border-color:var(--error)}

/* Acá vivía un parche que ocultaba .btn/.chip/.hdr nav a con visibility:hidden mientras
   cargaban las fuentes. Se quitó: causaba el salto que pretendía evitar (los elementos
   aparecían de golpe al quitarse .fonts-pending, por fonts.ready o por un setTimeout de
   300ms, lo que ganara la carrera). Las fuentes ya se piden con display=optional, que es
   el modo sin layout shift. Prueba: .eyebrow y .chip usan la misma fuente y solo saltaba
   el que estaba en el parche. No reintroducir. */


/* ══════════════════════════════════════════════════════════════════════════
   HOME v2 — rediseño de la portada (agosto 2026)
   ──────────────────────────────────────────────────────────────────────────
   Todo lo nuevo de la home va con prefijo .pv2- para no pisar las clases que
   comparten contacto.html y las páginas legales.

   Sistema, tal cual el manual de marca:
     · Tipografía  Schibsted Grotesk (titulares) · Inter (texto) · JetBrains Mono (etiquetas)
     · Color       azul --azul-600 · cian --cian-300 SOLO sobre navy · navy --navy-900
     · Fondos      blanco · --bg-2 alterno · --navy-900 en las secciones de peso
     · Jerarquía   la marca la sombra, no el grosor del borde:
                     tarjeta normal      -> 1px --line  + --sh-2
                     tarjeta protagonista-> 1px --azul-100 + --sh-3   (UNA por sección)
                     botón principal     -> sin borde, azul con halo
   No usar bordes gruesos ni sombras sólidas desplazadas: se probaron y se
   descartaron por pesados.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Héroe ─────────────────────────────────────────────────────────────── */
.pv2-hero{padding-top:clamp(30px,3.4vw,44px)}
.pv2-hero::before{display:none}
.pv2-hero__block{position:absolute;top:0;right:0;width:min(38vw,512px);height:min(58%,520px);
  background:var(--azul-600);border-bottom-left-radius:200px;pointer-events:none}
.pv2-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.04fr .96fr;
  gap:clamp(28px,4vw,48px);align-items:start}

.pv2-badge{display:inline-flex;align-items:center;background:var(--azul-50);border:1px solid var(--azul-100);
  color:var(--azul-600);border-radius:var(--r-full);padding:7px 16px;font-family:var(--f-mono);
  font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.pv2-h1{font-size:clamp(30px,4.4vw,52px)!important;margin-top:24px!important;text-wrap:balance}

.pv2-points{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px 26px}
.pv2-points li{display:flex;align-items:center;gap:9px;font-size:14.5px;font-weight:500;color:var(--tx)}
.pv2-points svg{color:var(--azul-600);flex:none}

/* conversación del agente, la pieza gráfica del héroe */
.pv2-chatwrap{position:relative;padding-top:6px}
.pv2-chat{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);
  padding:22px 22px 24px;box-shadow:var(--sh-4);transform:rotate(-1.3deg)}
.pv2-chat__hd{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pv2-chat__k{font-family:var(--f-mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;
  text-transform:uppercase;color:var(--tx-3)}
.pv2-chat__tag{background:var(--exito-50);color:var(--exito);border-radius:var(--r-full);
  padding:5px 11px;font-size:11.5px;font-weight:600}
.pv2-chat__msgs{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.pv2-b{max-width:90%;padding:12px 15px;font-size:14.5px;line-height:1.5}
.pv2-b--in{align-self:flex-start;max-width:86%;background:var(--bg-2);border:1px solid var(--line);
  border-radius:15px 15px 15px 5px;color:var(--tx)}
.pv2-b--out{align-self:flex-end;background:var(--azul-600);color:#fff;border-radius:15px 15px 5px 15px}
.pv2-chat__ft{display:flex;align-items:center;gap:11px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}
.pv2-chat__ok{width:32px;height:32px;border-radius:12px;background:var(--exito-50);flex:none;
  display:flex;align-items:center;justify-content:center}
.pv2-chat__ft b{display:block;font-size:14px;font-weight:600;color:var(--tx)}
.pv2-chat__ft span{display:block;font-size:12.5px;color:var(--tx-3);margin-top:2px}
.pv2-bot{position:absolute;right:-14px;bottom:-70px;width:124px;height:auto}

/* ── El problema ───────────────────────────────────────────────────────── */
.eyebrow--cian{color:var(--cian-300)}
.pv2-pain{position:relative;overflow:hidden}
.pv2-pain::before{content:"";position:absolute;top:-240px;left:-120px;width:900px;height:700px;pointer-events:none;
  background:radial-gradient(closest-side,rgba(1,71,254,.38),rgba(29,225,254,.10) 55%,rgba(1,12,68,0) 78%)}
.pv2-pain__grid{position:relative;z-index:1;display:grid;grid-template-columns:.84fr 1.16fr;
  gap:clamp(28px,4.6vw,64px);align-items:center}
.pv2-pain__h{color:#fff;margin-top:18px;text-wrap:balance}
.pv2-pain__h em{font-style:normal;background:linear-gradient(118deg,#0FC5FE 0%,#1DE1FE 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.pv2-pain__p{color:var(--navy-200);font-size:16.5px;line-height:1.6;margin:22px 0 0;max-width:34ch}
.pv2-pain__l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pv2-pain__l li{background:rgba(166,191,240,.07);border:1px solid rgba(166,191,240,.20);border-radius:14px;
  padding:22px 24px;display:flex;gap:13px;align-items:flex-start;
  font-family:var(--f-dis);font-size:17.5px;font-weight:700;letter-spacing:-.024em;line-height:1.32;color:#fff}
.pv2-pain__l svg{flex:none;margin-top:3px}

/* ── Qué es Propelia (sección protegida por la verificación de Google) ──── */
.pv2-what{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,56px);align-items:start}
.pv2-what__gc{margin-top:20px;background:var(--bg-2);border:1px solid var(--line);
  border-left:3px solid var(--azul-600);border-radius:14px;padding:20px 24px}

/* ── Cabecera de sección con bajada a la derecha ───────────────────────── */
.pv2-head{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(24px,4vw,48px);flex-wrap:wrap}
.pv2-head .lede{margin-bottom:6px}

/* ── El ciclo de nueve pasos ───────────────────────────────────────────── */
.pv2-cycle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:38px}
.pv2-phase{display:flex;flex-direction:column;gap:12px}
.pv2-phase__h{display:flex;align-items:center;gap:12px;margin-bottom:4px}
.pv2-phase__h span{font-family:var(--f-mono);font-size:10.5px;font-weight:500;letter-spacing:.13em;
  text-transform:uppercase;color:var(--azul-600);white-space:nowrap}
.pv2-phase__h i{height:2px;flex-grow:1;background:linear-gradient(90deg,var(--azul-600),rgba(1,71,254,0))}
.pv2-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;box-shadow:var(--sh-2)}
.pv2-step em{font-style:normal;font-family:var(--f-mono);font-size:10px;color:var(--tx-3)}
.pv2-step b{display:block;font-family:var(--f-dis);font-size:17.5px;font-weight:700;letter-spacing:-.026em;
  margin-top:7px;line-height:1.26}
.pv2-step > span:last-child{display:block;color:var(--tx-2);font-size:14.5px;line-height:1.52;margin-top:8px}
.pv2-step--ia{border-color:var(--azul-100)}
.pv2-step--hero{border-color:var(--azul-100);box-shadow:var(--sh-3)}
.pv2-ia{position:absolute;top:18px;right:20px;font-family:var(--f-mono);font-size:9.5px;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;color:var(--azul-600);background:var(--azul-50);
  border-radius:var(--r-full);padding:4px 10px;line-height:1}
.pv2-ia--on{color:#fff;background:var(--azul-600)}

.pv2-note{display:flex;align-items:center;gap:16px;margin-top:24px;background:var(--azul-50);
  border:1px solid var(--azul-100);border-radius:var(--r-lg);padding:20px 28px}
.pv2-note svg{flex:none}
.pv2-note p{margin:0;color:var(--tx-2);font-size:16px;line-height:1.55}
.pv2-note b{color:var(--tx);font-weight:600}

/* ── Todo lo que va dentro ─────────────────────────────────────────────── */
.pv2-photo{margin-top:32px;background:#fff;border:1px solid var(--azul-100);border-radius:var(--r-xl);
  padding:30px 34px;box-shadow:var(--sh-3);display:grid;grid-template-columns:.8fr 1.2fr;
  gap:clamp(24px,3.4vw,44px);align-items:center}
.pv2-photo__t{display:flex;align-items:center;gap:12px}
.pv2-photo__t b{font-family:var(--f-dis);font-size:clamp(19px,1.9vw,23px);font-weight:700;letter-spacing:-.03em}
.pv2-photo p{color:var(--tx-2);font-size:16px;line-height:1.58;margin:16px 0 0}
.pv2-photo__hi{color:var(--tx)!important;font-weight:500;margin-top:10px!important}
.pv2-ba{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pv2-ba figure{margin:0}
.pv2-ba figcaption{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.12em;
  text-transform:uppercase;color:var(--tx-3);margin-top:10px;text-align:center}
.pv2-ba figcaption.is-on{color:var(--azul-600)}
.pv2-ba__im{position:relative;aspect-ratio:3/2;border-radius:14px;overflow:hidden;border:1px solid var(--line);
  background:var(--azul-50)}
.pv2-ba__im img{width:100%;height:100%;object-fit:contain;display:block}
.pv2-ba__im--post{border-color:var(--azul-100)}
.pv2-ba__im--post span{position:absolute;top:10px;right:10px;background:var(--azul-600);color:#fff;
  font-family:var(--f-mono);font-size:9px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  border-radius:var(--r-full);padding:5px 10px;z-index:1}

.pv2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.pv2-c{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 26px;box-shadow:var(--sh-2)}
.pv2-c b{display:block;font-family:var(--f-dis);font-size:18px;font-weight:700;letter-spacing:-.028em;margin-top:14px}
.pv2-c > span:last-child{display:block;color:var(--tx-2);font-size:14.5px;line-height:1.52;margin-top:8px}
.pv2-c--hero{border-color:var(--azul-100);box-shadow:var(--sh-3)}
.pv2-c--dark{background:var(--navy-900);border-color:var(--navy-900);position:relative;overflow:hidden}
.pv2-c--dark::before{content:"";position:absolute;top:-120px;right:-60px;width:320px;height:260px;pointer-events:none;
  background:radial-gradient(closest-side,rgba(29,225,254,.28),rgba(1,71,254,.10) 55%,rgba(1,12,68,0) 78%)}
.pv2-c--dark b{color:#fff;position:relative}
.pv2-c--dark > span:last-child{color:var(--navy-200);position:relative}
.pv2-ic{width:36px;height:36px;border-radius:12px;background:var(--azul-50);display:flex;
  align-items:center;justify-content:center;position:relative}
.pv2-ic--grad{background:var(--grad);flex:none}
.pv2-ic--solid{background:var(--azul-600)}
.pv2-ic--dark{background:rgba(29,225,254,.14)}

/* ── Planes ────────────────────────────────────────────────────────────── */
.pv2-plans{position:relative;overflow:hidden}
.pv2-plans::before{content:"";position:absolute;top:-280px;left:50%;transform:translateX(-50%);
  width:1100px;height:720px;pointer-events:none;
  background:radial-gradient(closest-side,rgba(29,225,254,.22),rgba(1,71,254,.12) 55%,rgba(1,12,68,0) 78%)}
.pv2-plans .wrap{position:relative;z-index:1}
.pv2-plans__hd{text-align:center}
.pv2-plans__hd h2{color:#fff;margin-inline:auto}
.pv2-plans__p{color:var(--navy-200);font-size:16.5px;line-height:1.6;margin:16px auto 0;max-width:58ch}
.pv2-plans__grid{display:grid;grid-template-columns:1fr 1.14fr;gap:22px;margin-top:40px;align-items:stretch}
.pv2-plans__fine{text-align:center;font-family:var(--f-mono);font-size:11.5px;font-weight:500;
  letter-spacing:.05em;color:var(--navy-200);margin:28px 0 0}

.pv2-plan{background:rgba(166,191,240,.07);border:1px solid rgba(166,191,240,.20);border-radius:var(--r-xl);
  padding:34px 36px;display:flex;flex-direction:column;position:relative}
.pv2-plan__k{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.13em;
  text-transform:uppercase;color:var(--navy-200)}
.pv2-plan__n{display:block;font-family:var(--f-dis);font-size:27px;font-weight:700;letter-spacing:-.032em;
  margin-top:8px;color:#fff}
.pv2-plan__d{color:var(--navy-200);font-size:15.5px;line-height:1.58;margin:12px 0 0}
.pv2-plan__pr{margin-top:26px;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.pv2-plan__pr strong{font-family:var(--f-dis);font-size:clamp(40px,4.4vw,54px);font-weight:800;
  letter-spacing:-.05em;line-height:1;color:#fff}
.pv2-plan__pr span{color:var(--navy-200);font-size:15.5px}
.pv2-plan__pr em{font-style:normal;font-family:var(--f-mono);font-size:11.5px;font-weight:500;letter-spacing:.04em;
  color:var(--tx-2);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-full);padding:7px 13px}
.pv2-plan__fine{color:var(--tx-3);font-size:14px;line-height:1.5;margin:11px 0 0}
.pv2-plan__b{margin-top:24px;justify-content:center;text-align:center}
.pv2-plan__l{list-style:none;margin:24px 0 0;padding:22px 0 0;border-top:1px solid rgba(166,191,240,.20);
  display:flex;flex-direction:column;gap:12px}
.pv2-plan__l li{display:flex;gap:11px;align-items:flex-start;font-size:15px;line-height:1.45;color:var(--navy-200)}
.pv2-plan__l svg{flex:none;margin-top:2px}
.pv2-plan__l--two{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;border-top-color:var(--line)}
.pv2-plan__l--two li{color:var(--tx)}

.pv2-plan--pri{background:#fff;border-color:var(--azul-100);
  box-shadow:0 8px 16px rgba(1,12,68,.10),0 36px 80px -28px rgba(1,71,254,.45)}
.pv2-plan--pri .pv2-plan__k{color:var(--tx-3)}
.pv2-plan--pri .pv2-plan__n{color:var(--tx)}
.pv2-plan--pri .pv2-plan__d{color:var(--tx-2)}
.pv2-plan--pri .pv2-plan__pr strong{color:var(--azul-600)}
.pv2-plan--pri .pv2-plan__pr span{color:var(--tx-3)}
.pv2-plan__badge{position:absolute;top:-13px;left:36px;background:var(--azul-600);color:#fff;
  font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  border-radius:var(--r-full);padding:7px 15px}
.pv2-plan__star{display:flex;gap:11px;align-items:flex-start;margin-top:24px;padding:13px 15px;
  background:var(--azul-50);border:1px solid var(--azul-100);border-radius:12px}
.pv2-plan__star svg{flex:none;margin-top:1px}
.pv2-plan__star span{font-size:15px;line-height:1.45;font-weight:600;color:var(--tx)}
.pv2-plan__star + .pv2-plan__l{margin-top:16px;border-top:0;padding-top:0}

/* Valor añadido debajo de los planes (fondo oscuro, mismo lenguaje que .pv2-plan) */
.pv2-adds{margin-top:34px;padding-top:30px;border-top:1px solid rgba(166,191,240,.20)}
.pv2-adds__hd{text-align:center;font-family:var(--f-mono);font-size:11px;font-weight:500;
  letter-spacing:.13em;text-transform:uppercase;color:var(--cian-300)}
.pv2-adds__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:22px}
.pv2-add{background:rgba(166,191,240,.07);border:1px solid rgba(166,191,240,.20);
  border-radius:var(--r-lg);padding:22px 20px;display:flex;flex-direction:column;gap:9px}
.pv2-add svg{flex:none}
.pv2-add b{font-size:15.5px;font-weight:650;line-height:1.3;color:#fff}
.pv2-add span{color:var(--navy-200);font-size:14.5px;line-height:1.5}

/* ── Por qué nosotros ──────────────────────────────────────────────────── */
.pv2-why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px;align-items:stretch}
.pv2-band{margin-top:26px;background:var(--navy-900);border-radius:var(--r-xl);padding:clamp(26px,3.4vw,40px) clamp(26px,3.6vw,44px);
  position:relative;overflow:hidden;display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(24px,3.8vw,48px);align-items:center}
.pv2-band::before{content:"";position:absolute;top:-180px;right:-80px;width:620px;height:480px;pointer-events:none;
  background:radial-gradient(closest-side,rgba(29,225,254,.28),rgba(1,71,254,.12) 55%,rgba(1,12,68,0) 78%)}
.pv2-band > *{position:relative;z-index:1}
.pv2-band h3{margin:16px 0 0;font-family:var(--f-dis);font-size:clamp(22px,2.5vw,29px);font-weight:700;
  letter-spacing:-.034em;line-height:1.1;color:#fff}
.pv2-band__t{display:flex;flex-direction:column;gap:16px}
.pv2-band__t p{color:var(--navy-200);font-size:16.5px;line-height:1.62;margin:0}
.pv2-band__t b{color:#fff;font-weight:600}
.pv2-band__t b.is-cian{color:var(--cian-300)}
.pv2-band__t hr{border:0;border-top:1px solid rgba(166,191,240,.20);margin:0;width:100%}

/* ── Adaptación a pantallas pequeñas ───────────────────────────────────── */
@media (max-width:980px){
  .pv2-hero__grid,.pv2-what,.pv2-pain__grid,.pv2-photo,.pv2-band{grid-template-columns:1fr}
  /* el bloque azul se esconde: a un ancho de movil cae debajo del titular y lo vuelve ilegible */
  .pv2-hero__block{display:none}
  .pv2-cycle,.pv2-grid,.pv2-why{grid-template-columns:1fr 1fr}
  .pv2-plans__grid{grid-template-columns:1fr}
  .pv2-adds__grid{grid-template-columns:1fr 1fr}
  .pv2-chatwrap{margin-top:8px}
  .pv2-chat{transform:none}
  .pv2-bot{width:96px;right:-6px;bottom:-54px}
  .pv2-band h3{margin-top:12px}
}
@media (max-width:640px){
  .pv2-cycle,.pv2-grid,.pv2-why,.pv2-pain__l,.pv2-ba,.pv2-plan__l--two,.pv2-adds__grid{grid-template-columns:1fr}
  .pv2-photo,.pv2-plan{padding:24px 22px}
  .pv2-note{flex-direction:column;align-items:flex-start;gap:12px;padding:18px 20px}
  .pv2-plan__badge{left:22px}
  .pv2-points{gap:10px 18px}
  .pv2-bot{width:78px;bottom:-44px}
}
@media (prefers-reduced-motion:reduce){
  .pv2-chat{transform:none}
}

/* ══════════════════════════════════════════════════════════════════════════
   MÓVIL — versión para teléfono (septiembre 2026)
   ──────────────────────────────────────────────────────────────────────────
   Este bloque va AL FINAL del archivo a propósito: son correcciones que solo
   se aplican por debajo de 700px y necesitan ganar por orden a las reglas de
   arriba (mismas clases, misma especificidad). Nada de aquí toca el
   escritorio ni la tablet: todo vive dentro de @media.

   Criterios:
     · legibilidad primero (se anula el zoom global .9, ver abajo)
     · una sola columna y aire suficiente entre bloques
     · zonas de toque de 44px como mínimo
     · nada que se salga por el lado derecho
   ══════════════════════════════════════════════════════════════════════════ */

@media (max-width:700px){

  /* El html{zoom:.9} de arriba es una decisión de densidad pensada para
     pantalla grande. En un teléfono deja el cuerpo de texto en ~13.5px
     reales: se lee mal y obliga a hacer pinch. En móvil se vuelve al 100%.
     Ojo: las media queries NO se ven afectadas por zoom, así que los cortes
     de 980px/640px del archivo siguen midiendo lo mismo. */
  html{zoom:1;scroll-padding-top:62px}
  body{-webkit-tap-highlight-color:rgba(1,71,254,.12)}

  /* iOS Safari hace zoom automático al enfocar cualquier campo con letra
     menor de 16px, y luego no lo deshace. Con 16px no pasa. */
  .fld input,.fld select,.fld textarea{font-size:16px;padding:12px 13px}

  /* ── Cabecera ─────────────────────────────────────────────────────────── */
  .hdr__in{padding-top:9px;padding-bottom:9px;gap:10px}
  .hdr__logo img{height:26px}
  .hdr__act .btn--pri{font-size:13px;padding:12px 16px}
  .burger{padding:9px 11px}
  /* el desplegable se lee como una lista, no como tres enlaces sueltos */
  .hdr nav{padding:6px var(--gut) 14px;box-shadow:0 20px 34px -20px rgba(1,12,68,.3)}
  .hdr nav a{padding:14px 4px;font-size:16px;border-radius:0;border-bottom:1px solid var(--line)}
  .hdr nav a:hover{background:transparent}

  /* ── Héroe ────────────────────────────────────────────────────────────── */
  .pv2-h1{margin-top:18px!important}
  .hero .lede{margin-top:13px}
  /* los dos botones a todo el ancho: en una columna estrecha quedaban de
     anchos distintos y el segundo parecía secundario por tamaño, no por color */
  .hero__cta{margin-top:24px;gap:10px}
  .hero__cta .btn{width:100%}
  /* las tres pruebas sociales en columna: envueltas quedaban 1 + 2 y se leía
     como una lista rota */
  .pv2-points{flex-direction:column;align-items:flex-start;gap:11px;margin-top:22px}
  /* sitio para el robot, que antes se comía la esquina de la tarjeta y
     asomaba sobre la banda de logos */
  .pv2-chatwrap{padding-bottom:30px}
  .pv2-chat{padding:20px 18px 22px}
  .pv2-b{font-size:14px}
  .pv2-bot{width:70px;right:0;bottom:-6px}

  /* ── Banda de confianza ───────────────────────────────────────────────── */
  /* cuatro logos en fila se partían 3 + 1 y quedaban descolgados */
  .trust{padding:20px 0}
  .trust__in{gap:14px}
  .trust__logos{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;width:100%}
  .trust__logos img{height:22px;max-width:100%;margin:0 auto;opacity:.8}

  /* ── Ritmo general ────────────────────────────────────────────────────── */
  .sec{padding:42px 0}
  .pv2-cycle{margin-top:28px;gap:14px}
  .pv2-phase{gap:10px}
  .pv2-step{padding:18px 19px}
  .pv2-step b{font-size:16.5px}
  .pv2-step > span:last-child{font-size:14px}
  .pv2-grid,.pv2-why{margin-top:16px;gap:12px}
  .pv2-c{padding:20px 21px}
  .pv2-c b{font-size:17px}
  .pv2-pain__l{gap:10px}
  .pv2-pain__l li{padding:17px 18px;font-size:16px}
  .pv2-pain__p{font-size:15.5px;margin-top:16px}
  .pv2-what__gc{padding:17px 19px}
  .pv2-note p{font-size:15px}
  .pv2-photo{padding:22px 20px}
  /* el icono y el titular en línea dejaban la última palabra sola y sangrada */
  .pv2-photo__t{align-items:flex-start;gap:10px}
  .pv2-photo__t b{font-size:19px;line-height:1.2}
  .pv2-photo p{font-size:15px;margin-top:14px}
  .pv2-ba{gap:12px}

  /* ── Planes ───────────────────────────────────────────────────────────── */
  .pv2-plans__grid{margin-top:32px;gap:18px}
  .pv2-plan{padding:26px 22px}
  .pv2-plan__n{font-size:24px}
  .pv2-plan__pr{margin-top:20px}
  .pv2-plan__pr strong{font-size:42px}
  .pv2-plan__l li,.pv2-plan__star span{font-size:14.5px}
  .pv2-adds{margin-top:28px;padding-top:26px}
  .pv2-add{padding:19px 18px}

  /* ── Equipo ───────────────────────────────────────────────────────────── */
  /* la ficha ya se apila por debajo de 460px; aquí se adelanta el corte para
     que la foto no comprima el texto a dos palabras por línea */
  .mate{flex-direction:column;gap:14px}
  .mate__ph{width:100%;max-width:none;aspect-ratio:16/10;object-fit:cover;object-position:center 22%}
  .mate p{font-size:14px}

  /* ── Reseñas y FAQ ────────────────────────────────────────────────────── */
  .revs4{gap:12px}
  .rev4__q{font-size:15px}
  .faq{margin-top:26px}
  .faq summary{padding:16px 34px 16px 0;font-size:16px}
  .faq p{font-size:14.5px}

  /* ── CTA final ────────────────────────────────────────────────────────── */
  .cta p{font-size:15.5px}
  .cta__b{gap:10px}
  .cta__b .btn{width:100%}
  .cta img{width:82px}

  /* ── Pie ──────────────────────────────────────────────────────────────── */
  /* a una sola columna el pie medía casi una pantalla y media; a dos columnas
     se lee igual y ocupa la mitad */
  .ft{padding-bottom:calc(26px + env(safe-area-inset-bottom))}
  .ft__grid{grid-template-columns:1fr 1fr;gap:26px 20px}
  .ft__grid > :first-child{grid-column:1 / -1}
  .ft p{max-width:44ch}
  .ft li{padding:7px 0}
  .ft li a{font-size:13px}

  /* ── Contacto ─────────────────────────────────────────────────────────── */
  .ctc__card{padding:20px 18px;border-radius:var(--r-lg)}
  .ctc__pts{margin-top:22px}
  .chk label{padding:3px 0}
  .rgpd{font-size:13px}

  /* ── Páginas legales ──────────────────────────────────────────────────── */
  .legal__body{font-size:15px}
  .legal__updated{margin-bottom:28px}
}

/* Teléfonos estrechos (iPhone SE / mini y similares) */
@media (max-width:400px){
  .hdr__logo img{height:24px}
  .hdr__act{gap:6px}
  .hdr__act .btn--pri{font-size:12.5px;padding:12px 13px}
  .pv2-plan,.pv2-photo{padding:22px 18px}
  .pv2-plan__badge{left:18px}
  .pv2-pain__l li{padding:15px 16px;font-size:15.5px}
  .trust__logos{gap:14px}
}

/* Por debajo de 340px (Galaxy Fold cerrado y similares) dos columnas en el pie
   dejan los enlaces en tres líneas cada uno: mejor una sola. */
@media (max-width:340px){
  .ft__grid{grid-template-columns:1fr}
  .ft__grid > :first-child{grid-column:auto}
}

/* Acceso al CRM dentro del desplegable.
   ────────────────────────────────────────────────────────────────────────────
   En escritorio el acceso al CRM es el botón fantasma del header, pero por
   debajo de 1000px ese botón se oculta por falta de sitio y el enlace no
   estaba en ninguna otra parte: desde el teléfono no había forma de entrar al
   CRM. Este enlace vive en el <nav> de todas las páginas y solo se muestra
   cuando el header está en modo hamburguesa. */
.hdr__acceso{display:none}
@media (max-width:1000px){
  .hdr__acceso{display:flex;align-items:center;gap:8px;margin-top:10px;
    color:var(--azul-600);font-weight:600;border-bottom:0}
  .hdr__acceso svg{flex:none}
}

/* El mismo ajuste del robot para tablet: entre 700 y 980px el header ya está en
   modo hamburguesa y la tarjeta del chat ocupa todo el ancho, así que el robot
   quedaba cortado por la banda de logos. */
@media (min-width:701px) and (max-width:980px){
  .pv2-chatwrap{padding-bottom:34px}
  .pv2-bot{bottom:-8px;right:0}
}
