/* =====================================================================
   KODEUZ v2 · páginas propias (inicio, Odoo, diagnóstico, contacto, industrias, 404)
   Las variables de color y tipografía viven en kz2-chrome.css (:root). Aquí solo se usan.
   ===================================================================== */
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--kz-alto-header) + 12px);-webkit-text-size-adjust:100%}
body.kz2{margin:0;background:var(--kz-noche);color:var(--kz-texto);font:400 16px/1.6 var(--kz-sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.kz2 h1,.kz2 h2,.kz2 h3,.kz2 h4{font-family:var(--kz-disp);letter-spacing:-.02em;margin:0;color:inherit}
.kz2 p{margin:0}
.kz2 img,.kz2 svg,.kz2 video{max-width:100%;display:block}
:where(.kz2) a{color:inherit}
.kz2 :focus-visible{outline:3px solid var(--kz-g4);outline-offset:3px}
.kz2-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}

/* ---- Estructura de secciones ---- */
.kz2-sec{position:relative;padding:clamp(72px,10vw,128px) var(--kz-pad)}
.kz2-sec--claro{background:var(--kz-claro);color:var(--kz-tinta)}
.kz2-sec--blanco{background:#fff;color:var(--kz-tinta)}
.kz2-sec--alterna{background:var(--kz-noche-2)}
.kz2-wrap{max-width:var(--kz-max);margin:0 auto;position:relative}
.kz2-eti{display:inline-flex;align-items:center;gap:10px;font:700 12px/1 var(--kz-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--kz-suave)}
.kz2-eti:before{content:"";width:22px;height:2px;border-radius:2px;background:var(--kz-grad)}
.kz2-sec--claro .kz2-eti,.kz2-sec--blanco .kz2-eti{color:var(--kz-tinta-suave)}
.kz2-h2{font:800 clamp(32px,4.4vw,56px)/1.06 var(--kz-disp);margin:18px 0 18px;max-width:20ch}
.kz2-lead{font-size:clamp(17px,1.5vw,19.5px);line-height:1.6;color:var(--kz-suave);max-width:60ch}
.kz2-sec--claro .kz2-lead,.kz2-sec--blanco .kz2-lead{color:var(--kz-tinta-suave)}
.kz2-cabeza{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,72px);align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.kz2-cabeza .kz2-h2{margin-bottom:0}
@media (max-width:860px){.kz2-cabeza{grid-template-columns:1fr;align-items:start}}
.kz2-grad-texto{background:var(--kz-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.kz2-sec--claro .kz2-grad-texto,.kz2-sec--blanco .kz2-grad-texto{background:linear-gradient(100deg,#5E47F7,#A437E8 50%,#C2338A);-webkit-background-clip:text;background-clip:text}
.kz2-acciones{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* ---- Aparición suave al hacer scroll ---- */
.kz2-rev{opacity:.25;transform:translateY(16px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
.kz2-rev.is-in{opacity:1;transform:none}
.kz2-no-js .kz2-rev{opacity:1;transform:none}

/* =========================== HÉROE =========================== */
.kz2-hero{position:relative;overflow:hidden;padding:calc(var(--kz-alto-header) + clamp(40px,7vw,88px)) var(--kz-pad) clamp(56px,7vw,96px);background:
  radial-gradient(48% 60% at 85% 30%,rgba(94,71,247,.30),transparent 70%),
  radial-gradient(40% 50% at 70% 85%,rgba(238,67,169,.20),transparent 70%),
  radial-gradient(30% 40% at 10% 10%,rgba(253,165,75,.08),transparent 70%),var(--kz-noche)}
.kz2-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(160,190,230,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(160,190,230,.05) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(70% 70% at 60% 40%,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(70% 70% at 60% 40%,#000 30%,transparent 80%);pointer-events:none}
.kz2-hero__in{position:relative;z-index:1;max-width:var(--kz-max);margin:0 auto;display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(32px,5vw,72px);align-items:center}
.kz2-hero h1{font:800 clamp(40px,6vw,78px)/1.0 var(--kz-disp);letter-spacing:-.035em;margin:22px 0 22px}
.kz2-hero h1 .kz2-grad-texto{display:inline}
.kz2-hero__sub{font-size:clamp(17.5px,1.6vw,20.5px);line-height:1.55;color:var(--kz-suave);max-width:54ch;margin-bottom:32px}
.kz2-hero__garantias{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:22px;padding:0;list-style:none;color:var(--kz-suave);font-size:14.5px}
.kz2-hero__garantias li{display:inline-flex;align-items:center;gap:8px}
.kz2-hero__garantias li:before{content:"";width:16px;height:16px;flex:none;border-radius:50%;background:var(--kz-grad);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.6 5.9-4.2 4.6a.8.8 0 0 1-1.2 0L4.4 8.6a.8.8 0 1 1 1.2-1.1l1.2 1.3 3.6-4a.8.8 0 1 1 1.2 1.1z' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0zm3.6 5.9-4.2 4.6a.8.8 0 0 1-1.2 0L4.4 8.6a.8.8 0 1 1 1.2-1.1l1.2 1.3 3.6-4a.8.8 0 1 1 1.2 1.1z' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat}
@media (max-width:960px){.kz2-hero__in{grid-template-columns:1fr}.kz2-hero h1{max-width:16ch}}

/* ---- Aviso de la factura electrónica (temporal) ---- */
.kz2-aviso{position:relative;z-index:2;max-width:var(--kz-max);margin:0 auto clamp(28px,4vw,44px);display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:16px;text-decoration:none;color:var(--kz-suave);font-size:14.5px;line-height:1.45;background:rgba(253,165,75,.08);border:1px solid rgba(253,165,75,.35);transition:background .2s}
.kz2-aviso:hover{background:rgba(253,165,75,.14)}
.kz2-aviso b{flex:none;font:800 12px/1 var(--kz-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--kz-tinta);background:var(--kz-g4);padding:7px 10px;border-radius:999px}
.kz2-aviso span{flex:1}
.kz2-aviso i{font-style:normal;color:#fff}
.kz2-aviso .kz2-corto{display:none}
@media (max-width:600px){.kz2-aviso{font-size:13.5px;padding:10px 12px;gap:10px}.kz2-aviso .kz2-largo{display:none}.kz2-aviso .kz2-corto{display:inline}.kz2-aviso b{font-size:10.5px;padding:6px 8px}}

/* ---- El teléfono: «tu empresa en el celular» (vista ilustrativa, todo en HTML/CSS) ---- */
.kz2-movil-zona{position:relative;display:grid;place-items:center;min-height:560px}
.kz2-movil{position:relative;width:min(320px,82vw);aspect-ratio:9/18.6;border-radius:44px;padding:12px;background:linear-gradient(160deg,#1d2f45,#0a1624);box-shadow:0 0 0 1px rgba(160,190,230,.18),0 40px 80px -30px rgba(0,0,0,.8),0 0 120px -20px rgba(164,55,232,.45)}
.kz2-movil__pantalla{position:relative;height:100%;border-radius:34px;overflow:hidden;background:#07131f;padding:20px 16px 16px;display:flex;flex-direction:column;gap:10px;font-family:var(--kz-sans)}
.kz2-movil__isla{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:84px;height:22px;border-radius:20px;background:#000}
.kz2-movil__top{display:flex;justify-content:space-between;align-items:center;margin-top:16px}
.kz2-movil__top b{font:800 15px var(--kz-disp);color:#fff}
.kz2-movil__top small{font-size:10.5px;color:var(--kz-tenue)}
.kz2-vivo{display:inline-flex;align-items:center;gap:6px;font:700 9.5px/1 var(--kz-sans);letter-spacing:.12em;color:#7ef0c1}
.kz2-vivo:before{content:"";width:7px;height:7px;border-radius:50%;background:#35e0a1;box-shadow:0 0 0 0 rgba(53,224,161,.6);animation:kz2-pulso 2s infinite}
@keyframes kz2-pulso{70%{box-shadow:0 0 0 8px rgba(53,224,161,0)}100%{box-shadow:0 0 0 0 rgba(53,224,161,0)}}
.kz2-kpi{border-radius:16px;padding:12px 14px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));border:1px solid rgba(160,190,230,.12)}
.kz2-kpi small{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--kz-tenue)}
.kz2-kpi strong{display:block;font:800 22px/1.2 var(--kz-disp);color:#fff;margin-top:3px;font-variant-numeric:tabular-nums}
.kz2-kpi span{font-size:11px;color:var(--kz-suave)}
.kz2-kpi--grad{background:linear-gradient(135deg,rgba(94,71,247,.35),rgba(238,67,169,.22));border-color:rgba(238,67,169,.3)}
.kz2-kpi-fila{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kz2-kpi-fila .kz2-kpi strong{font-size:17px}
.kz2-barra{height:6px;border-radius:6px;background:rgba(255,255,255,.08);margin-top:8px;overflow:hidden}
.kz2-barra i{display:block;height:100%;width:82%;border-radius:6px;background:var(--kz-grad)}
.kz2-aprobar{display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:16px;padding:10px 12px;background:#fff;color:var(--kz-tinta)}
.kz2-aprobar small{display:block;font-size:10px;color:var(--kz-tinta-tenue);letter-spacing:.04em;text-transform:uppercase}
.kz2-aprobar b{font:800 13px var(--kz-disp)}
.kz2-aprobar em{font-style:normal;font:700 11px var(--kz-sans);color:#fff;background:var(--kz-grad-boton);padding:8px 10px;border-radius:999px;white-space:nowrap}
.kz2-feed{list-style:none;margin:0;padding:0;display:grid;gap:7px;overflow:hidden;flex:1;align-content:start}
.kz2-feed li{display:flex;gap:9px;align-items:flex-start;font-size:11.2px;line-height:1.35;color:var(--kz-suave);padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(160,190,230,.08);animation:kz2-entra .6s ease both}
.kz2-feed li i{flex:none;width:18px;height:18px;border-radius:6px;display:grid;place-items:center;font-style:normal;font-size:10px;color:#fff;background:var(--kz-grad-boton)}
.kz2-feed li b{color:#fff;font-weight:600}
@keyframes kz2-entra{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.kz2-flota{position:absolute;z-index:2;border-radius:16px;padding:12px 14px;background:rgba(14,35,54,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--kz-linea);box-shadow:0 20px 40px -20px rgba(0,0,0,.7);font-size:12.5px;color:var(--kz-suave);max-width:220px}
.kz2-flota b{display:block;color:#fff;font:800 15px var(--kz-disp)}
.kz2-flota--a{left:-15%;top:30%;max-width:200px}
.kz2-flota--b{right:-11%;bottom:19%;max-width:200px}
.kz2-ilustrativa{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);font-size:11.5px;color:var(--kz-tenue);white-space:nowrap}
@media (max-width:1180px){.kz2-flota{display:none}}
@media (max-width:560px){.kz2-flota{display:none}.kz2-movil-zona{min-height:auto;padding-bottom:28px}}

/* ---- Franja de industrias donde ya operamos ---- */
.kz2-franja{border-top:1px solid var(--kz-linea-2);border-bottom:1px solid var(--kz-linea-2);background:#071420;padding:22px var(--kz-pad)}
.kz2-franja__in{max-width:var(--kz-max);margin:0 auto;display:flex;align-items:center;gap:14px 28px;flex-wrap:wrap}
.kz2-franja__in>span{font:700 11.5px/1.3 var(--kz-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--kz-tenue);flex:none}
.kz2-franja ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px}
.kz2-franja li{font:600 13.5px/1 var(--kz-sans);color:var(--kz-suave);padding:9px 14px;border-radius:999px;border:1px solid var(--kz-linea)}

/* =========================== ¿TE SUENA? =========================== */
.kz2-voces{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.kz2-voz{margin:0;position:relative;background:#fff;border:1px solid var(--kz-linea-clara);border-radius:var(--kz-radio);padding:28px 26px 26px;box-shadow:0 1px 0 rgba(8,23,37,.03)}
.kz2-voz:before{content:"“";position:absolute;top:6px;left:20px;font:800 56px/1 var(--kz-disp);background:var(--kz-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kz2-voz p{font:700 clamp(18px,1.6vw,21px)/1.35 var(--kz-disp);letter-spacing:-.01em;color:var(--kz-tinta);margin-top:28px}
.kz2-voz span{display:block;margin-top:14px;font-size:14px;color:var(--kz-tinta-tenue)}
.kz2-remate{margin-top:clamp(36px,5vw,56px);display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;padding:26px 28px;border-radius:var(--kz-radio);background:var(--kz-noche);color:var(--kz-texto)}
.kz2-remate strong{font:800 clamp(19px,1.8vw,24px)/1.3 var(--kz-disp)}
.kz2-remate p{color:var(--kz-suave)}
.kz2-remate i{width:52px;height:52px;border-radius:16px;background:var(--kz-grad);display:grid;place-items:center;font-style:normal;font-size:24px;color:#fff}
@media (max-width:900px){.kz2-voces{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.kz2-voces{grid-template-columns:1fr}.kz2-remate{grid-template-columns:1fr}}

/* =========================== LO QUE CAMBIA =========================== */
.kz2-logros{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.kz2-logro{position:relative;overflow:hidden;border-radius:24px;padding:clamp(26px,3vw,38px);background:linear-gradient(180deg,var(--kz-panel),#0b1d2e);border:1px solid var(--kz-linea)}
.kz2-logro:after{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:var(--kz-grad);opacity:.85}
.kz2-logro__ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid var(--kz-linea);margin-bottom:22px}
.kz2-logro__ico svg{width:24px;height:24px}
.kz2-logro h3{font:800 clamp(22px,2.2vw,28px)/1.15 var(--kz-disp);margin-bottom:12px}
.kz2-logro p{color:var(--kz-suave);font-size:16.5px;max-width:48ch}
.kz2-logro ul{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.kz2-logro li{font-size:14.5px;color:var(--kz-suave);padding-left:22px;position:relative}
.kz2-logro li:before{content:"";position:absolute;left:0;top:.6em;width:10px;height:2px;border-radius:2px;background:var(--kz-grad)}
@media (max-width:780px){.kz2-logros{grid-template-columns:1fr}}

.kz2-tabla{margin-top:clamp(40px,5vw,64px);border-radius:24px;overflow:hidden;border:1px solid var(--kz-linea)}
.kz2-tabla table{width:100%;border-collapse:collapse;font-size:15.5px}
.kz2-tabla caption{text-align:left;padding:20px 24px;font:800 18px var(--kz-disp);background:var(--kz-panel);border-bottom:1px solid var(--kz-linea)}
.kz2-tabla th,.kz2-tabla td{padding:16px 24px;text-align:left;vertical-align:top;border-bottom:1px solid var(--kz-linea-2)}
.kz2-tabla thead th{font:700 12px var(--kz-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--kz-tenue);background:#0a1a2a}
.kz2-tabla tbody th{font-weight:700;color:#fff;width:22%}
.kz2-tabla td:nth-child(2){color:var(--kz-tenue)}
.kz2-tabla td:nth-child(3){color:#fff}
.kz2-tabla tr:last-child th,.kz2-tabla tr:last-child td{border-bottom:0}
@media (max-width:720px){
  .kz2-tabla thead{display:none}
  .kz2-tabla tr{display:block;padding:14px 18px;border-bottom:1px solid var(--kz-linea-2)}
  .kz2-tabla th,.kz2-tabla td{display:block;padding:4px 0;border:0;width:auto!important}
  .kz2-tabla td:nth-child(2):before{content:"Hoy: ";font-weight:700;color:var(--kz-tenue)}
  .kz2-tabla td:nth-child(3):before{content:"Con Kodeuz: ";font-weight:700;background:var(--kz-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
}

/* =========================== RESULTADOS =========================== */
.kz2-resultados{background:radial-gradient(50% 60% at 15% 0%,rgba(94,71,247,.22),transparent 70%),radial-gradient(40% 50% at 100% 100%,rgba(253,165,75,.10),transparent 70%),var(--kz-noche-2)}
.kz2-cifras{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border-radius:24px;overflow:hidden;background:var(--kz-linea);border:1px solid var(--kz-linea);margin-bottom:clamp(40px,5vw,64px)}
.kz2-cifra{background:var(--kz-noche-2);padding:28px 24px}
.kz2-cifra strong{display:block;font:800 clamp(34px,4vw,52px)/1 var(--kz-disp);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.kz2-cifra p{margin-top:12px;color:var(--kz-suave);font-size:14.5px;line-height:1.5}
.kz2-cifra sup{font-size:.45em;vertical-align:super;color:var(--kz-tenue);-webkit-text-fill-color:var(--kz-tenue)}
@media (max-width:900px){.kz2-cifras{grid-template-columns:1fr 1fr}}
@media (max-width:340px){.kz2-cifras{grid-template-columns:1fr}}
@media (max-width:520px){.kz2-cifra{padding:22px 18px}.kz2-cifra strong{font-size:30px}.kz2-cifra p{font-size:13.5px}}
.kz2-casos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.kz2-caso{display:flex;flex-direction:column;border-radius:24px;background:var(--kz-panel);border:1px solid var(--kz-linea);overflow:hidden}
.kz2-caso__top{padding:24px 24px 0}
.kz2-caso__eti{display:inline-block;font:700 11.5px/1 var(--kz-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--kz-suave);padding:8px 12px;border-radius:999px;border:1px solid var(--kz-linea)}
.kz2-caso h3{font:800 21px/1.25 var(--kz-disp);margin:18px 0 0}
.kz2-caso dl{margin:18px 24px 0;display:grid;gap:14px}
.kz2-caso dt{font:700 11.5px var(--kz-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--kz-tenue)}
.kz2-caso dd{margin:4px 0 0;color:var(--kz-suave);font-size:15px;line-height:1.55}
.kz2-caso__res{margin-top:auto;padding:20px 24px 24px;margin-top:22px;border-top:1px solid var(--kz-linea);background:linear-gradient(135deg,rgba(94,71,247,.16),rgba(238,67,169,.08))}
.kz2-caso__res strong{display:block;font:800 26px/1.15 var(--kz-disp);letter-spacing:-.02em}
.kz2-caso__res span{display:block;color:var(--kz-suave);font-size:14px;margin-top:6px}
.kz2-nota{margin-top:22px;font-size:13.5px;color:var(--kz-tenue);max-width:80ch}
@media (max-width:980px){.kz2-casos{grid-template-columns:1fr}}

/* =========================== ODOO =========================== */
.kz2-odoo-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.kz2-capas{display:grid;gap:12px}
.kz2-capa{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start;padding:20px 22px;border-radius:18px;background:#fff;border:1px solid var(--kz-linea-clara)}
.kz2-capa b{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;font:800 15px var(--kz-disp);color:#fff;background:var(--kz-tinta)}
.kz2-capa:nth-child(2) b{background:linear-gradient(135deg,#5E47F7,#A437E8)}
.kz2-capa:nth-child(3) b{background:linear-gradient(135deg,#C2338A,#EE43A9 60%,#FDA54B)}
.kz2-capa h3{font:800 18px/1.3 var(--kz-disp);color:var(--kz-tinta)}
.kz2-capa h3 img{display:inline-block;height:18px;width:auto;vertical-align:-3px;margin-right:4px}
.kz2-capa p{color:var(--kz-tinta-suave);font-size:15px;margin-top:4px}
.kz2-puertas{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:clamp(40px,5vw,60px)}
.kz2-puerta{display:flex;flex-direction:column;gap:12px;padding:28px;border-radius:24px;background:#fff;border:1px solid var(--kz-linea-clara);text-decoration:none;color:var(--kz-tinta);transition:transform .2s,box-shadow .2s}
.kz2-puerta:hover{transform:translateY(-3px);box-shadow:0 24px 50px -30px rgba(8,23,37,.45)}
.kz2-puerta small{font:700 12px var(--kz-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--kz-tinta-tenue)}
.kz2-puerta h3{font:800 24px/1.2 var(--kz-disp)}
.kz2-puerta p{color:var(--kz-tinta-suave)}
.kz2-puerta span{margin-top:auto;font-weight:700;color:#5E47F7}
.kz2-puerta--oscura{background:var(--kz-noche);color:#fff;border-color:transparent}
.kz2-puerta--oscura small{color:var(--kz-tenue)}.kz2-puerta--oscura p{color:var(--kz-suave)}.kz2-puerta--oscura span{color:#fff}
.kz2-video{position:relative;border-radius:24px;overflow:hidden;background:#000;aspect-ratio:16/9;box-shadow:0 30px 70px -35px rgba(8,23,37,.6)}
.kz2-video video{width:100%;height:100%;object-fit:cover}
.kz2-video figcaption{position:absolute;left:16px;bottom:14px;font-size:12.5px;color:rgba(255,255,255,.85);background:rgba(8,23,37,.6);padding:6px 10px;border-radius:999px}
.kz2-datos-odoo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}
.kz2-datos-odoo li{list-style:none;padding:10px 14px;border-radius:12px;background:#fff;border:1px solid var(--kz-linea-clara);font-size:14px;color:var(--kz-tinta-suave)}
.kz2-datos-odoo b{color:var(--kz-tinta)}
.kz2-datos-odoo{padding:0;margin-bottom:0}
@media (max-width:900px){.kz2-odoo-grid,.kz2-puertas{grid-template-columns:1fr}}

/* =========================== CALCULADORA RÁPIDA =========================== */
.kz2-calc{position:relative;overflow:hidden;border-radius:28px;padding:clamp(28px,4vw,56px);background:radial-gradient(60% 80% at 100% 0%,rgba(238,67,169,.25),transparent 70%),radial-gradient(60% 80% at 0% 100%,rgba(94,71,247,.32),transparent 70%),var(--kz-panel);border:1px solid var(--kz-linea);display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:center}
.kz2-calc h2{font:800 clamp(28px,3.4vw,44px)/1.08 var(--kz-disp);margin:16px 0 14px}
.kz2-calc__panel{display:grid;gap:22px;padding:26px;border-radius:22px;background:rgba(8,23,37,.6);border:1px solid var(--kz-linea)}
.kz2-rango{display:grid;gap:10px}
.kz2-rango label{display:flex;justify-content:space-between;gap:12px;font-size:14.5px;color:var(--kz-suave)}
.kz2-rango output{font:800 16px var(--kz-disp);color:#fff;font-variant-numeric:tabular-nums}
.kz2-calc__total{padding-top:18px;border-top:1px solid var(--kz-linea)}
.kz2-calc__total small{display:block;font-size:13px;color:var(--kz-tenue)}
.kz2-calc__total strong{display:block;font:800 clamp(32px,4vw,46px)/1.1 var(--kz-disp);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kz2-calc__total p{font-size:13px;color:var(--kz-tenue);margin-top:6px}
input[type=range].kz2-slider{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer;margin:0}
input[type=range].kz2-slider::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:linear-gradient(90deg,#5E47F7,#A437E8 var(--p,50%),rgba(255,255,255,.12) var(--p,50%))}
input[type=range].kz2-slider::-moz-range-track{height:6px;border-radius:6px;background:rgba(255,255,255,.12)}
input[type=range].kz2-slider::-moz-range-progress{height:6px;border-radius:6px;background:linear-gradient(90deg,#5E47F7,#A437E8)}
input[type=range].kz2-slider::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-9px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 4px rgba(164,55,232,.35)}
input[type=range].kz2-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:0;box-shadow:0 0 0 4px rgba(164,55,232,.35)}
input[type=range].kz2-slider:focus-visible{outline:3px solid var(--kz-g4);outline-offset:4px;border-radius:6px}
@media (max-width:860px){.kz2-calc{grid-template-columns:1fr}}

/* =========================== MÉTODO =========================== */
.kz2-pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:paso}
.kz2-paso{position:relative;padding:28px 26px;border-radius:22px;background:#fff;border:1px solid var(--kz-linea-clara)}
.kz2-paso__num{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.kz2-paso__num b{font:800 14px var(--kz-disp);width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;background:var(--kz-grad-boton)}
.kz2-paso__num small{font:700 11.5px var(--kz-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--kz-tinta-tenue)}
.kz2-paso h3{font:800 20px/1.25 var(--kz-disp);color:var(--kz-tinta);margin-bottom:8px}
.kz2-paso p{color:var(--kz-tinta-suave);font-size:15.5px}
.kz2-paso__ent{margin-top:14px;padding-top:14px;border-top:1px dashed var(--kz-linea-clara);font-size:14px;color:var(--kz-tinta-suave)}
.kz2-paso__ent b{color:var(--kz-tinta)}
@media (max-width:980px){.kz2-pasos{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.kz2-pasos{grid-template-columns:1fr}}
.kz2-compromisos{margin-top:clamp(32px,4vw,48px);display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border-radius:22px;overflow:hidden;background:var(--kz-linea-clara);border:1px solid var(--kz-linea-clara)}
.kz2-compromisos div{background:var(--kz-claro);padding:22px 24px}
.kz2-compromisos b{display:block;font:800 17px var(--kz-disp);color:var(--kz-tinta)}
.kz2-compromisos span{display:block;margin-top:6px;color:var(--kz-tinta-suave);font-size:14.5px}
@media (max-width:780px){.kz2-compromisos{grid-template-columns:1fr}}

/* =========================== INDUSTRIAS =========================== */
.kz2-inds{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kz2-ind{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:280px;padding:22px;border-radius:22px;overflow:hidden;text-decoration:none;color:#fff;background:#0b1d2e;isolation:isolate;border:1px solid var(--kz-linea)}
.kz2-ind img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:75% center;z-index:-2;transition:transform .6s ease}
.kz2-ind:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,23,37,.15) 0%,rgba(8,23,37,.55) 45%,rgba(8,23,37,.95) 100%)}
.kz2-ind:hover img{transform:scale(1.05)}
.kz2-ind small{font:700 11.5px var(--kz-sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.kz2-ind h3{font:800 19px/1.25 var(--kz-disp);margin:8px 0 10px}
.kz2-ind span{font-size:13px;color:rgba(255,255,255,.75)}
.kz2-ind i{position:absolute;top:18px;right:18px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-style:normal;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);transition:background .2s}
.kz2-ind:hover i{background:var(--kz-grad-boton)}
.kz2-ind--grande{grid-column:span 2}
@media (max-width:980px){.kz2-inds{grid-template-columns:1fr 1fr}.kz2-ind--grande{grid-column:span 2}}
@media (max-width:560px){.kz2-inds{gap:10px}.kz2-ind{min-height:210px;padding:16px;border-radius:18px}.kz2-ind h3{font-size:16px}.kz2-ind span{display:none}.kz2-ind i{top:12px;right:12px;width:30px;height:30px}.kz2-ind--grande{min-height:220px}}
@media (max-width:340px){.kz2-inds{grid-template-columns:1fr}.kz2-ind--grande{grid-column:auto}}
.kz2-grupo{margin-top:clamp(40px,5vw,60px)}
.kz2-grupo h2{font:800 22px var(--kz-disp);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.kz2-grupo h2:before{content:"";width:22px;height:2px;border-radius:2px;background:var(--kz-grad)}

/* =========================== PREGUNTAS =========================== */
.kz2-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,72px);align-items:start}
.kz2-faq__lista{display:grid;gap:10px}
.kz2-faq details{border-radius:18px;background:#fff;border:1px solid var(--kz-linea-clara);transition:box-shadow .2s}
.kz2-faq details[open]{box-shadow:0 18px 40px -28px rgba(8,23,37,.4)}
.kz2-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 22px;font:700 17px/1.35 var(--kz-disp);color:var(--kz-tinta)}
.kz2-faq summary::-webkit-details-marker{display:none}
.kz2-faq summary:after{content:"";flex:none;width:28px;height:28px;border-radius:50%;background:var(--kz-claro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' stroke='%23081725' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .2s}
.kz2-faq details[open] summary:after{transform:rotate(45deg)}
.kz2-faq summary:focus-visible{outline:3px solid #A437E8;outline-offset:2px;border-radius:18px}
.kz2-faq details>div{padding:0 22px 22px;color:var(--kz-tinta-suave);font-size:15.5px;line-height:1.65}
.kz2-faq details>div p+p{margin-top:10px}
@media (max-width:900px){.kz2-faq{grid-template-columns:1fr}}

/* =========================== AGENDA (formulario) =========================== */
.kz2-agenda{background:radial-gradient(50% 60% at 0% 0%,rgba(94,71,247,.25),transparent 70%),radial-gradient(40% 50% at 100% 100%,rgba(238,67,169,.16),transparent 70%),var(--kz-noche)}
.kz2-agenda__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,80px);align-items:start}
.kz2-agenda h1,.kz2-agenda .kz2-h2{max-width:16ch}
.kz2-despues{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:0}
.kz2-despues li{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:18px 0;border-top:1px solid var(--kz-linea)}
.kz2-despues li:last-child{border-bottom:1px solid var(--kz-linea)}
.kz2-despues b{font:800 14px var(--kz-disp);width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.07);border:1px solid var(--kz-linea)}
.kz2-despues strong{display:block;font:700 17px var(--kz-disp);color:#fff}
.kz2-despues p{color:var(--kz-suave);font-size:14.5px;margin-top:3px}
.kz2-confianza{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--kz-tenue);font-size:13.5px}
@media (max-width:900px){.kz2-agenda__grid{grid-template-columns:1fr}}

/* Formulario: MISMOS ids y nombres de campo que el formulario aprobado (kz-form, kz-nombre, kz-acepto…) */
.kz-contacto-caja{background:var(--kz-panel);border:1px solid var(--kz-linea);border-radius:24px;padding:clamp(22px,3.2vw,40px);box-shadow:0 40px 80px -50px rgba(0,0,0,.8)}
.kz-form{display:grid;gap:16px}
.kz-form__titulo{font:800 22px/1.2 var(--kz-disp);color:#fff}
.kz-form__sub{font-size:14.5px;color:var(--kz-suave);margin-top:-8px}
.kz-fila{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kz-campo{display:grid;gap:7px}
.kz-campo label{font:700 12px var(--kz-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--kz-suave)}
.kz-campo label em{font-style:normal;font-weight:500;letter-spacing:0;text-transform:none;color:var(--kz-tenue)}
.kz-campo input,.kz-campo textarea,.kz-campo select{width:100%;font:16px var(--kz-sans);color:#fff;background:var(--kz-noche);border:1px solid rgba(160,190,230,.2);border-radius:var(--kz-radio-s);padding:13px 15px;outline:none;transition:border-color .2s,box-shadow .2s;min-height:50px}
.kz-campo select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23b8c3d4' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:42px}
.kz-campo textarea{resize:vertical;min-height:120px;line-height:1.55}
.kz-campo input:hover,.kz-campo textarea:hover,.kz-campo select:hover{border-color:rgba(160,190,230,.36)}
.kz-campo input:focus,.kz-campo textarea:focus,.kz-campo select:focus{border-color:#A437E8;box-shadow:0 0 0 3px rgba(164,55,232,.25)}
.kz-oculto{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.kz-casilla{position:relative;display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;font-size:14px;line-height:1.55;cursor:pointer;user-select:none;margin-top:2px}
.kz-casilla input{position:absolute;z-index:1;left:0;top:0;opacity:0;width:22px;height:22px;margin:0;cursor:pointer}
.kz-casilla-caja{width:22px;height:22px;border-radius:7px;border:1px solid rgba(160,190,230,.35);background:var(--kz-noche);transition:background .2s,border-color .2s,box-shadow .2s;position:relative}
.kz-casilla-caja:after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0;transition:opacity .15s}
.kz-casilla:hover .kz-casilla-caja{border-color:#A437E8}
.kz-casilla input:focus-visible+.kz-casilla-caja{box-shadow:0 0 0 3px rgba(164,55,232,.3);border-color:#A437E8}
.kz-casilla input:checked+.kz-casilla-caja{background:var(--kz-grad-boton);border-color:transparent}
.kz-casilla input:checked+.kz-casilla-caja:after{opacity:1}
.kz-casilla-texto{color:var(--kz-suave)}
.kz-error{margin:0;padding:12px 15px;border-radius:12px;border:1px solid rgba(253,165,75,.4);background:rgba(253,165,75,.08);color:#fff;font-size:14px}
.kz-enviar{width:100%;min-height:56px;font-size:16px;margin-top:4px}
.kz-enviar:disabled{opacity:.65;cursor:wait}
.kz-form__pie{font-size:12.5px;color:var(--kz-tenue);text-align:center}
.kz-listo{display:grid;gap:14px}
.kz-listo h2{font:800 clamp(26px,3vw,36px)/1.15 var(--kz-disp)}
.kz-listo p{color:var(--kz-suave)}
.kz-listo b{color:#fff}
.kz-listo .kz2-btn{justify-self:start;margin-top:6px}
.kz-diag-adjunto{display:grid;gap:4px;padding:14px 16px;border-radius:14px;background:rgba(94,71,247,.12);border:1px solid rgba(164,55,232,.35);font-size:14px;color:var(--kz-suave)}
.kz-diag-adjunto b{color:#fff}
@media (max-width:560px){.kz-fila{grid-template-columns:1fr}}

/* =========================== DIAGNÓSTICO =========================== */
.kz2-diag{padding:calc(var(--kz-alto-header) + clamp(32px,5vw,64px)) var(--kz-pad) clamp(64px,8vw,110px);background:radial-gradient(50% 50% at 90% 10%,rgba(94,71,247,.25),transparent 70%),radial-gradient(40% 40% at 0% 100%,rgba(238,67,169,.14),transparent 70%),var(--kz-noche);min-height:100vh}
.kz2-diag__in{max-width:880px;margin:0 auto}
.kz2-diag h1{font:800 clamp(32px,4.6vw,54px)/1.06 var(--kz-disp);margin:16px 0 14px;max-width:18ch}
.kz2-progreso{margin:28px 0 22px;display:grid;gap:8px}
.kz2-progreso__barra{height:6px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden}
.kz2-progreso__barra i{display:block;height:100%;width:0;border-radius:6px;background:var(--kz-grad);transition:width .35s ease}
.kz2-progreso small{font-size:13px;color:var(--kz-tenue)}
.kz2-preg{border:0;margin:0;padding:clamp(22px,3vw,36px);border-radius:24px;background:var(--kz-panel);border:1px solid var(--kz-linea)}
.kz2-preg legend{font:800 clamp(21px,2.4vw,28px)/1.25 var(--kz-disp);color:#fff;padding:0;margin-bottom:8px;float:left;width:100%}
.kz2-preg legend+*{clear:both}
.kz2-preg__ayuda{color:var(--kz-suave);font-size:15px;margin:4px 0 20px!important;clear:both}
.kz2-opciones{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kz2-opcion{position:relative}
.kz2-opcion input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.kz2-opcion span{display:flex;align-items:center;gap:12px;min-height:58px;padding:14px 16px;border-radius:14px;background:var(--kz-noche);border:1px solid rgba(160,190,230,.2);color:var(--kz-texto);font-size:15.5px;line-height:1.35;transition:border-color .15s,background .15s}
.kz2-opcion span:before{content:"";flex:none;width:20px;height:20px;border-radius:50%;border:2px solid rgba(160,190,230,.45);transition:all .15s}
.kz2-opcion input[type=checkbox]+span:before{border-radius:6px}
.kz2-opcion input:hover+span{border-color:rgba(160,190,230,.45)}
.kz2-opcion input:focus-visible+span{outline:3px solid var(--kz-g4);outline-offset:2px}
.kz2-opcion input:checked+span{border-color:#A437E8;background:rgba(94,71,247,.14)}
.kz2-opcion input:checked+span:before{border-color:transparent;background:var(--kz-grad-boton);box-shadow:inset 0 0 0 4px var(--kz-noche)}
.kz2-opcion input[type=checkbox]:checked+span:before{box-shadow:none;background:var(--kz-grad-boton) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 5 5 9-10' fill='none' stroke='%23fff' stroke-width='3'/%3E%3C/svg%3E") center/14px no-repeat}
.kz2-opciones--una{grid-template-columns:1fr}
@media (max-width:600px){.kz2-opciones{grid-template-columns:1fr}}
.kz2-diag__nav{display:flex;justify-content:space-between;gap:12px;margin-top:18px}
.kz2-diag__error{margin-top:14px;color:#ffd2a1;font-size:14.5px}
.kz2-campos-trabajo{display:grid;gap:22px}
.kz2-moneda{display:flex;align-items:center;gap:10px}
.kz2-moneda span{font-weight:700;color:var(--kz-suave)}
.kz2-moneda input{max-width:220px}
/* Resultado */
.kz2-res{display:grid;gap:18px}
.kz2-res__top{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.kz2-res__card{padding:clamp(22px,3vw,32px);border-radius:24px;background:var(--kz-panel);border:1px solid var(--kz-linea)}
.kz2-res__card--grad{background:radial-gradient(80% 80% at 100% 0%,rgba(238,67,169,.28),transparent 70%),radial-gradient(80% 80% at 0% 100%,rgba(94,71,247,.35),transparent 70%),var(--kz-panel)}
.kz2-res__card small{display:block;font:700 12px var(--kz-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--kz-suave)}
.kz2-res__grande{display:block;font:800 clamp(38px,6vw,64px)/1.05 var(--kz-disp);letter-spacing:-.03em;margin:10px 0 8px;font-variant-numeric:tabular-nums}
.kz2-res__card p{color:var(--kz-suave);font-size:15px}
.kz2-medidor{position:relative;width:170px;height:170px;margin:12px auto 8px}
.kz2-medidor svg{width:100%;height:100%;transform:rotate(-90deg)}
.kz2-medidor b{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font:800 44px/1 var(--kz-disp)}
.kz2-medidor b span{display:block;font:600 12px var(--kz-sans);color:var(--kz-tenue);margin-top:4px}
.kz2-res__lista{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px;counter-reset:pri}
.kz2-res__lista li{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:16px;border-radius:16px;background:rgba(8,23,37,.55);border:1px solid var(--kz-linea)}
.kz2-res__lista li:before{counter-increment:pri;content:counter(pri);width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font:800 15px var(--kz-disp);color:#fff;background:var(--kz-grad-boton)}
.kz2-res__lista strong{display:block;font:700 16.5px var(--kz-disp);color:#fff}
.kz2-res__lista p{font-size:14.5px;margin-top:3px}
.kz2-honesto{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:18px 20px;border-radius:18px;border:1px dashed rgba(160,190,230,.3);color:var(--kz-suave);font-size:14.5px}
.kz2-honesto b{color:#fff}
.kz2-honesto i{font-style:normal;font-size:20px}
@media (max-width:760px){.kz2-res__top{grid-template-columns:1fr}}

/* =========================== Páginas internas: cabecera simple =========================== */
.kz2-pagina-top{padding:calc(var(--kz-alto-header) + clamp(48px,7vw,96px)) var(--kz-pad) clamp(48px,6vw,80px);background:radial-gradient(50% 60% at 85% 20%,rgba(94,71,247,.28),transparent 70%),radial-gradient(40% 50% at 10% 100%,rgba(238,67,169,.12),transparent 70%),var(--kz-noche)}
.kz2-pagina-top h1{font:800 clamp(36px,5.4vw,68px)/1.03 var(--kz-disp);letter-spacing:-.03em;margin:18px 0 18px;max-width:18ch}
.kz2-pasos-cambio{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kz2-pasos-cambio li{padding:22px;border-radius:20px;background:#fff;border:1px solid var(--kz-linea-clara)}
.kz2-pasos-cambio b{display:block;font:800 13px var(--kz-sans);letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(100deg,#5E47F7,#C2338A);-webkit-background-clip:text;background-clip:text;color:transparent}
.kz2-pasos-cambio strong{display:block;font:800 18px/1.3 var(--kz-disp);color:var(--kz-tinta);margin:8px 0 6px}
.kz2-pasos-cambio p{color:var(--kz-tinta-suave);font-size:15px}
@media (max-width:900px){.kz2-pasos-cambio{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.kz2-pasos-cambio{grid-template-columns:1fr}}
.kz2-apps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kz2-app{padding:20px;border-radius:18px;background:var(--kz-panel);border:1px solid var(--kz-linea)}
.kz2-app strong{display:block;font:800 17px var(--kz-disp);color:#fff;margin-bottom:6px}
.kz2-app p{color:var(--kz-suave);font-size:14.5px}
@media (max-width:900px){.kz2-apps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.kz2-apps{grid-template-columns:1fr}}

/* 404 */
.kz2-404{min-height:80vh;display:grid;place-content:center;text-align:center;gap:18px;padding:140px var(--kz-pad) 80px}
.kz2-404 h1{font:800 clamp(36px,5vw,60px)/1.05 var(--kz-disp)}
.kz2-404 p{color:var(--kz-suave)}
.kz2-404 .kz2-acciones{justify-content:center}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .kz2-rev{opacity:1!important;transform:none!important;transition:none!important}
  .kz2-vivo:before,.kz2-feed li{animation:none!important}
  .kz2-ind img{transition:none}
}

/* En celular los botones grandes ocupan el ancho y pueden partir la línea (nunca se salen de la tarjeta) */
@media (max-width:520px){.kz2 .kz2-btn--grande{width:100%;white-space:normal;text-align:center;line-height:1.25;padding:12px 20px}}

/* =====================================================================
   CAPA DE MOVIMIENTO (19-oct-2026) — nivel de acabado inspirado en la referencia motionsites.ai, en versión ligera:
   sin videos pesados, todo con CSS/canvas, se pausa fuera de pantalla y se apaga con prefers-reduced-motion.
   El contenido SIEMPRE es visible sin esperar: las animaciones solo lo acompañan.
   ===================================================================== */
/* Acento editorial: la parte en degradado de cada titular va en serif itálica (Instrument Serif) */
.kz2 h1 .kz2-grad-texto,.kz2 h2 .kz2-grad-texto{font-family:'Instrument Serif',Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.015em;font-size:1.1em;line-height:.9;padding-right:.08em}
.kz2-hero h1.kz2-titular{line-height:1.02}
.kz2-hero h1 .kz2-grad-texto{font-size:1.14em}
/* Titular que entra por líneas al cargar (CSS puro: si algo falla, el texto ya está ahí) */
.kz2-linea{display:inline-block;animation:kz2-sube .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 110ms + 80ms)}
@keyframes kz2-sube{from{opacity:0;transform:translateY(.45em);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.kz2-hero__sub,.kz2-hero .kz2-acciones,.kz2-hero__garantias,.kz2-hero .kz2-partner{animation:kz2-aparece .7s ease both .45s}
.kz2-movil-zona{animation:kz2-aparece 1s ease both .25s}
@keyframes kz2-aparece{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
/* Fondo vivo del héroe: auroras en los colores de la marca + red de datos (canvas) */
.kz2-aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.kz2-aurora i{position:absolute;width:46vw;height:46vw;max-width:720px;max-height:720px;border-radius:50%;filter:blur(90px);opacity:.42;mix-blend-mode:screen;animation:kz2-deriva 22s ease-in-out infinite alternate}
.kz2-aurora i:nth-child(1){background:#5E47F7;right:-8%;top:-14%}
.kz2-aurora i:nth-child(2){background:#A437E8;right:18%;bottom:-30%;animation-duration:28s;animation-delay:-6s;opacity:.30}
.kz2-aurora i:nth-child(3){background:#EE43A9;left:-12%;bottom:-36%;animation-duration:32s;animation-delay:-12s;opacity:.18}
@keyframes kz2-deriva{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-6%,8%) scale(1.12)}100%{transform:translate(5%,-4%) scale(.95)}}
.kz2-red{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.7;pointer-events:none}
.kz2-hero:after{z-index:0}
/* Marquesina de industrias */
.kz2-marquesina{position:relative;flex:1;min-width:0;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.kz2-marquesina__pista{list-style:none;margin:0;padding:0 10px 0 0;display:flex;gap:10px;flex:none;animation:kz2-desliza 38s linear infinite}
.kz2-marquesina:hover .kz2-marquesina__pista,.kz2-marquesina:focus-within .kz2-marquesina__pista{animation-play-state:paused}
@keyframes kz2-desliza{to{transform:translateX(-100%)}}
.kz2-franja li{white-space:nowrap}
.kz2-franja .kz2-marquesina__pista{flex-wrap:nowrap}
/* Luz que sigue el cursor en las tarjetas (solo con ratón) */
@media (hover:hover) and (pointer:fine){
  .kz2-logro,.kz2-caso,.kz2-calc,.kz2-puerta--oscura{--mx:50%;--my:0%}
  .kz2-logro:before,.kz2-caso:before,.kz2-calc:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(164,55,232,.16),transparent 45%);opacity:0;transition:opacity .3s;z-index:0}
  .kz2-logro:hover:before,.kz2-caso:hover:before,.kz2-calc:hover:before{opacity:1}
  .kz2-caso{position:relative}
  .kz2-logro>*,.kz2-caso>*,.kz2-calc>*{position:relative;z-index:1}
  .kz2-logro,.kz2-caso{transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s}
  .kz2-logro:hover,.kz2-caso:hover{transform:translateY(-4px);border-color:rgba(164,55,232,.35)}
}
/* El celular reacciona al scroll (lo mueve kz2.js con --giro y --sube) */
.kz2-movil{transform:rotate(var(--giro,-2deg)) translateY(var(--sube,0px));transition:transform .1s linear;will-change:transform}
/* Barra de progreso de lectura bajo el encabezado */
.kz2-progreso-lectura{position:fixed;left:0;top:0;height:3px;width:100%;z-index:101;background:var(--kz-grad);transform-origin:0 50%;transform:scaleX(var(--avance,0));pointer-events:none}
@media (prefers-reduced-motion:reduce){
  .kz2-linea,.kz2-hero__sub,.kz2-hero .kz2-acciones,.kz2-hero__garantias,.kz2-hero .kz2-partner,.kz2-movil-zona{animation:none!important}
  .kz2-aurora i{animation:none!important}
  .kz2-red{display:none}
  .kz2-marquesina{-webkit-mask-image:none;mask-image:none;overflow:visible}
  .kz2-marquesina__pista{animation:none!important;flex-wrap:wrap}
  .kz2-marquesina__pista[aria-hidden]{display:none}
  .kz2-movil{transform:rotate(-2deg)!important}
  .kz2-progreso-lectura{display:none}
}
@media (max-width:760px){.kz2-aurora i{filter:blur(60px);width:80vw;height:80vw}.kz2-red{opacity:.5}}
@media (max-width:760px){.kz2-franja__in{flex-direction:column;align-items:stretch;gap:12px}.kz2-marquesina{flex:none;width:100%}}
