:where(img){height:auto}
picture{display:contents}
/* ===== Dirección B «tecnológica y cálida»: tokens (ver GUIA.md, «Tipografía y color») ===== */
:root{
--wz-font-display:'Manrope','Manrope Fallback','Geist',system-ui,sans-serif;
--wz-font-body:'Geist','Geist Fallback',system-ui,sans-serif;
--wz-font-ui:'Geist','Geist Fallback',system-ui,sans-serif;
--wz-font-mono:'Geist Mono',ui-monospace,monospace;
--wz-ink:#1c1242;--wz-text:#3b345c;--wz-muted:#5b5470;
--wz-brand:#4723D9;--wz-brand-hover:#3a1cb0;--wz-brand-2:#2468d6;
--wz-grad:linear-gradient(95deg,#4723D9 0%,#2468d6 100%);
--wz-grad-dark:linear-gradient(95deg,#c9b8ff 0%,#9db8ff 100%);
--wz-accent:#f69321;--wz-accent-text:#9a5600;--wz-accent-display:#d56b00;--wz-accent-small:#ad5700;
--wz-bg:#ffffff;--wz-bg-soft:#faf9ff;--wz-bg-lav:#f4f1ff;--wz-tint:#ebe4ff;--wz-line:#e6e1f0;
--wz-dark:#1a0b5c;--wz-dark-2:#10063d;--wz-on-dark:#ffffff;--wz-on-dark-text:#d6c8ff;
--wz-fam-azul:#2859A2;--wz-fam-azul-tint:#e6ecf5;
--wz-fam-verde:#086840;--wz-fam-verde-tint:#e1f1ea;
--wz-fam-naranja:#9a5600;--wz-fam-naranja-tint:#fef0df;
--wz-fam-morado:#7B3FA0;--wz-fam-morado-tint:#f0e8f5;
}
/* respaldos métricos (anchos medidos contra Arial): el salto al cargar la fuente queda en ~1 % */
@font-face{font-family:'Manrope Fallback';src:local('Arial Bold'),local('Arial-BoldMT'),local('Arial');font-weight:500 800;size-adjust:101%;unicode-range:U+0020-007E,U+00A0-00FF}
@font-face{font-family:'Geist Fallback';src:local('Arial'),local('ArialMT');size-adjust:101.3%;unicode-range:U+0020-007E,U+00A0-00FF}
@font-face{font-family:'Geist Fallback';src:local('Arial Bold'),local('Arial-BoldMT');font-weight:600 700;size-adjust:100%;unicode-range:U+0020-007E,U+00A0-00FF}
body{margin:0;font-family:var(--wz-font-body);color:var(--wz-text);background:#faf9ff}
a{color:#4723D9;text-decoration:none}a:hover{color:#3a1cb0}
/* titulares y texto de exhibición (el que trae tracking negativo inline) en Manrope */
h1,h2,h3,h4,[style*="letter-spacing: -0.0"]{font-family:var(--wz-font-display)}
h1,h2,h3{text-wrap:balance}
/* ilustraciones, maquetas del ERP y adornos: se quedan en la letra del cuerpo (Geist) */
:is([role="img"],[aria-hidden="true"],.wz-ui,.wz-hero-frame,.wz-hero-wzy) :is(h1,h2,h3,h4,[style*="letter-spacing: -0.0"]){font-family:inherit}
/* palabra clave de H1/H2: degradado de marca con respaldo sólido (antes: subrayado naranja) */
.wz-mark{color:#4723D9}
:is(h1,h2,h3,p)[style*="color: #faf9ff"] .wz-mark,:is(h1,h2,h3,p)[style*="color: #ffffff"] .wz-mark{color:#c9b8ff}
.wz-hero-cifras dd{color:#4723D9}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
.wz-mark,.wz-hero-cifras dd{background-image:var(--wz-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.wz-hero-cifras dd{width:fit-content}
:is(h1,h2,h3,p)[style*="color: #faf9ff"] .wz-mark,:is(h1,h2,h3,p)[style*="color: #ffffff"] .wz-mark{background-image:var(--wz-grad-dark)}
}
@media (forced-colors:active){.wz-mark,.wz-hero-cifras dd{background-image:none;-webkit-text-fill-color:currentColor}}
/* acentos naranja en letra (reglas en naranja/INFORME.md). --wz-accent #f69321: sólo trazo/punto y letra sobre banda oscura; --wz-accent-display #d56b00: letra grande (>=24 px) sobre claro; --wz-accent-small #ad5700: letra chica sobre blanco, crema o lavanda */
h1 .wz-mark,.wz-mark--o{color:var(--wz-accent-display);background-image:none;-webkit-text-fill-color:currentColor}
h1:is([style*="color: #faf9ff"],[style*="color: #ffffff"]) .wz-mark,:is(h2,h3,p):is([style*="color: #faf9ff"],[style*="color: #ffffff"]) .wz-mark--o{color:var(--wz-accent);background-image:none}
/* números de paso en monoespaciada (01, 02, «Paso 1»): naranja chico. Fuera: numerales de las páginas legales (los que traen margin-right) y rótulos de formato de 26 px */
:is(p,span)[style*="Geist Mono"][style*="color: #4723D9"]:not([style*="margin-right"]):not([style*="font-size: 26px"]){color:var(--wz-accent-small)!important}
:is([role="img"],[aria-hidden="true"],.wz-ui,.wz-hero-frame,.wz-hero-wzy) :is(p,span)[style*="Geist Mono"][style*="color: #4723D9"]{color:#4723D9!important}
/* antetítulo único del sitio: versales Manrope + el punto naranja de la «i» (ver ICONOS.md) */
.wz-eye{font-family:var(--wz-font-display)}
.wz-eye::before{content:"";display:inline-block;flex:none;width:7px;height:7px;margin-right:9px;border-radius:1.5px;background:#f69321;vertical-align:.08em}
/* etiqueta informativa: rectángulo de radio 6 con el punto morado; --prox = próximamente (hueco y punteado), --act = por activación */
.wz-tag::before{content:"";display:inline-block;flex:none;width:6px;height:6px;margin-right:9px;border-radius:1.5px;background:var(--wz-tag-m,#4723D9);vertical-align:.1em}
.wz-tag--prox::before{background:transparent;box-shadow:inset 0 0 0 1.5px #8f86a8}
.wz-tag--act::before{background:#f69321}
.wz-dots{background-image:radial-gradient(#d6c8ff 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 70%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 70%,transparent)}
.wz-float{animation:wz-float 5.5s ease-in-out infinite}
.wz-float-slow{animation:wz-float2 8s ease-in-out infinite}
.wz-star{animation:wz-hop 3.2s ease-in-out infinite}
.wz-ring{animation:wz-orbit 120s linear infinite}
.wz-ring-rev{animation:wz-orbit 160s linear infinite reverse}
.wz-dot-go{animation:wz-sat-go 2s cubic-bezier(.65,0,.35,1) infinite}
.wz-dot-back{animation:wz-sat-back 2s cubic-bezier(.65,0,.35,1) infinite}
.wz-sat-ring{animation:wz-sat-ring 2s ease-out infinite}
.wz-chip{animation:wz-sat-chip 12s ease-in-out infinite both}
.wz-chip .wz-check{animation:wz-sat-check 12s ease-in-out infinite both}
.wz-label{opacity:0;animation:wz-sat-label 12s linear infinite both}
.wz-label-static{display:none}
.wz-n1{animation-delay:0s}.wz-n2{animation-delay:2s}.wz-n3{animation-delay:4s}.wz-n4{animation-delay:6s}.wz-n5{animation-delay:8s}.wz-n6{animation-delay:10s}
.wz-n2 .wz-check{animation-delay:2s}.wz-n3 .wz-check{animation-delay:4s}.wz-n4 .wz-check{animation-delay:6s}.wz-n5 .wz-check{animation-delay:8s}.wz-n6 .wz-check{animation-delay:10s}
.wz-drift{animation:wz-drift 14s ease-in-out infinite alternate}
.wz-marquee{display:flex;width:max-content;animation:wz-marquee 36s linear infinite}
.wz-marquee:hover{animation-play-state:paused}
.wz-shine{position:relative;overflow:hidden}
.wz-shine::after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:translate3d(-150%,0,0);animation:wz-shine 5s ease-in-out infinite}
.wz-over{margin-left:-96px}
.wz-over-r{margin-right:-96px}
.wz-tilt-b{margin-left:-80px;margin-top:56px}
.wz-pill{transition:transform .2s ease,background .2s ease}
.wz-pill:hover{transform:translateY(-2px)}
.wz-zoom img{transition:transform .7s cubic-bezier(.22,1,.36,1)}
.wz-zoom:hover img{transform:scale(1.05)}
.wz-js .wz-rv{opacity:0;transform:translate3d(0,28px,0);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i,0)*80ms);will-change:transform,opacity}
.wz-js .wz-rv--left{transform:translate3d(-48px,0,0)}
.wz-js .wz-rv--right{transform:translate3d(48px,0,0)}
.wz-js .wz-rv--scale{transform:scale(.94)}
.wz-js .wz-rv--fade{transform:none}
.wz-js .wz-rv--pop{transform:translate3d(0,16px,0) scale(.9)}
.wz-js .wz-rv.wz-in{opacity:1;transform:none}
.wz-prod{position:relative}
.wz-mega{display:none;position:absolute;left:50%;top:100%;transform:translateX(-32%);padding-top:8px;width:1040px;max-width:95vw;z-index:50;text-align:left}
.wz-prod:hover .wz-mega,.wz-prod:focus-within .wz-mega{display:block}
.wz-prod:hover .wz-caret,.wz-prod:focus-within .wz-caret{transform:rotate(180deg)}
.wz-caret{transition:transform .2s ease}
.wz-mi{display:flex;align-items:flex-start;gap:12px;margin:0 -8px;padding:8px;border-radius:8px;color:var(--wz-text)}
.wz-mi:hover{background:#f4f1ff;color:var(--wz-text)}
.wz-mi b{display:block;font-size:13.5px;font-weight:600;line-height:1.3;color:var(--wz-ink)}
.wz-mi small{display:block;margin-top:2px;font-size:11.5px;line-height:1.35;color:#5b5470}
.wz-ic{flex-shrink:0;display:inline-flex;width:28px;height:36px;align-items:center;justify-content:flex-start;color:#4723D9}
.wz-nav a:hover,.wz-prod button:hover{background:#f4f1ff;color:var(--wz-ink)}
@keyframes wz-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(-3deg)}}
@keyframes wz-float2{0%,100%{transform:translateY(0) rotate(2deg)}50%{transform:translateY(-6px) rotate(2deg)}}
@keyframes wz-hop{0%,70%,100%{transform:translateY(0) rotate(12deg)}78%{transform:translateY(-5px) rotate(12deg)}86%{transform:translateY(0) rotate(12deg)}93%{transform:translateY(-3px) rotate(12deg)}}
@keyframes wz-orbit{to{transform:rotate(360deg)}}
@keyframes wz-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-14px,0)}}
@keyframes wz-marquee{to{transform:translate3d(-50%,0,0)}}
@keyframes wz-shine{0%,70%{transform:translate3d(-150%,0,0)}100%{transform:translate3d(350%,0,0)}}
@keyframes wz-sat-go{0%{left:2%;opacity:0}6%{opacity:1}40%{opacity:1}45%,100%{left:98%;opacity:0}}
@keyframes wz-sat-back{0%,50%{left:98%;opacity:0}56%{opacity:1}90%{opacity:1}95%,100%{left:2%;opacity:0}}
@keyframes wz-sat-ring{0%,44%{transform:scale(1);opacity:0}46%{opacity:.5}70%,100%{transform:scale(1.5);opacity:0}}
@keyframes wz-sat-chip{0%{border-color:#e6e1f0;background:#fff}2%,14%{border-color:#4723D9;background:#f4f1ff}16.6%,100%{border-color:#e6e1f0;background:#fff}}
@keyframes wz-sat-check{0%,14%{opacity:0;transform:scale(.6)}16.6%,92%{opacity:1;transform:scale(1)}96%,100%{opacity:0;transform:scale(.6)}}
@keyframes wz-sat-label{0%{opacity:0}2%,14%{opacity:1}16.6%,100%{opacity:0}}
@media (max-width:1040px){.wz-over,.wz-over-r{margin-left:0;margin-right:0}}
@media (max-width:820px){.wz-nav{display:none!important}.wz-hide-sm{display:none!important}.wz-tilt-b{margin-left:0;margin-top:20px}}
@media (prefers-reduced-motion:reduce){
.wz-float,.wz-float-slow,.wz-star,.wz-ring,.wz-ring-rev,.wz-chip,.wz-chip .wz-check,.wz-drift,.wz-marquee,.wz-shine::after{animation:none}
.wz-dot-go,.wz-dot-back,.wz-sat-ring,.wz-label{display:none}
.wz-label-static{display:inline-flex}
.wz-chip .wz-check{opacity:1;transform:none}
.wz-js .wz-rv,.wz-js .wz-rv.wz-in{opacity:1;transform:none;transition:none}
.wz-marquee{flex-wrap:wrap;width:auto;justify-content:center}
}
/* preguntas frecuentes: un solo componente */
.wz-faq{border-top:1px solid #e6e1f0}
.wz-faq:last-of-type{border-bottom:1px solid #e6e1f0}
.wz-faq>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;box-sizing:border-box;padding:18px 0;list-style:none;cursor:pointer;font-size:18px;line-height:1.35;font-weight:600;color:var(--wz-ink)}
.wz-faq>summary::-webkit-details-marker{display:none}
.wz-faq>summary::after{content:"";flex:none;width:9px;height:9px;margin:-4px 6px 0 0;border-right:2px solid #4723D9;border-bottom:2px solid #4723D9;transform:rotate(45deg);transition:transform .2s ease}
.wz-faq[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
.wz-faq>p{margin:0;padding:0 0 22px;max-width:720px;font-size:16px;line-height:1.55;color:#5b5470}
/* promoción con vigencia (sitio-tools/promo.json): base para el lienzo; el comportamiento está en sitio.css / sitio.js */
[data-promo-off]{display:none}
.wz-cinta-c{display:none}
.wz-cinta-q:empty,.wz-promo-fichas:empty{display:none}
.wz-nube-a{animation:wz-nube-a 16s ease-in-out infinite alternate}
.wz-nube-b{animation:wz-nube-b 20s ease-in-out infinite alternate}
@keyframes wz-nube-a{from{transform:translate3d(0,0,0)}to{transform:translate3d(18px,-14px,0)}}
@keyframes wz-nube-b{from{transform:translate3d(0,0,0)}to{transform:translate3d(-16px,12px,0)}}
@media (prefers-reduced-motion:reduce){.wz-nube-a,.wz-nube-b{animation:none}}
/* ==========================================================================
   impresion.css — ilustraciones animadas de impresion (ticket y etiquetas)
   Va con ilus-ticket.html e ilus-etiqueta.html. Todo lleva el prefijo wz-imp-.
   Sin animacion (o sin este archivo) cada ilustracion queda en su estado final:
   ticket completo y las dos etiquetas ya impresas.
   Bucle de 8 s: imprime (0-60 %), pausa para leer (60-90 %), reinicio (90-100 %).
   ========================================================================== */

.wz-imp-ticket-papel,
.wz-imp-etq-tira,
.wz-imp-etq-rollo {
  will-change: transform;
}

/* ---------- Ticket: el papel sube por pasos, renglon por renglon ---------- */
.wz-imp-ticket-papel {
  animation: wz-imp-ticket-avance 8s cubic-bezier(0.35, 0, 0.3, 1) infinite;
}
@keyframes wz-imp-ticket-avance {
  0% { transform: translateY(362px); opacity: 1; }
  3% { transform: translateY(362px); }
  5.4% { transform: translateY(338px); }
  6.5% { transform: translateY(338px); }
  8.4% { transform: translateY(304px); }
  9.5% { transform: translateY(304px); }
  11.4% { transform: translateY(292px); }
  12.5% { transform: translateY(292px); }
  14.4% { transform: translateY(272px); }
  15.5% { transform: translateY(272px); }
  17.4% { transform: translateY(254px); }
  18.5% { transform: translateY(254px); }
  20.4% { transform: translateY(236px); }
  21.5% { transform: translateY(236px); }
  23.4% { transform: translateY(218px); }
  24.5% { transform: translateY(218px); }
  26.4% { transform: translateY(200px); }
  27.5% { transform: translateY(200px); }
  29.4% { transform: translateY(188px); }
  30.5% { transform: translateY(188px); }
  32.4% { transform: translateY(162px); }
  35% { transform: translateY(162px); }
  36.9% { transform: translateY(148px); }
  38% { transform: translateY(148px); }
  39.9% { transform: translateY(130px); }
  41% { transform: translateY(130px); }
  42.9% { transform: translateY(112px); }
  44% { transform: translateY(112px); }
  45.9% { transform: translateY(100px); }
  47% { transform: translateY(100px); }
  48.9% { transform: translateY(82px); }
  50% { transform: translateY(82px); }
  53.2% { transform: translateY(32px); }
  54.3% { transform: translateY(32px); }
  56.2% { transform: translateY(12px); }
  57.3% { transform: translateY(12px); }
  59.2% { transform: translateY(0px); }
  60.3% { transform: translateY(0px); }
  90% { transform: translateY(0px); opacity: 1; }
  95% { transform: translateY(-12px); opacity: 0; }
  95.01% { transform: translateY(362px); opacity: 0; }
  97% { transform: translateY(362px); opacity: 1; }
  100% { transform: translateY(362px); opacity: 1; }
}

/* Resalte del total cuando termina de imprimir */
.wz-imp-ticket-total {
  animation: wz-imp-ticket-total 8s ease-in-out infinite;
}
@keyframes wz-imp-ticket-total {
  0%, 61.3% { opacity: 0; }
  65.3%, 100% { opacity: 1; }
}

/* LED naranja de actividad (ticket) */
.wz-imp-ticket-led {
  opacity: 0.22;
  animation: wz-imp-ticket-led 8s steps(1, end) infinite;
}
@keyframes wz-imp-ticket-led {
  0% { opacity: 0.22; }
  2% { opacity: 0.22; }
  2.6% { opacity: 1; }
  5.2% { opacity: 0.35; }
  7.8% { opacity: 1; }
  10.4% { opacity: 0.35; }
  13% { opacity: 1; }
  15.6% { opacity: 0.35; }
  18.2% { opacity: 1; }
  20.8% { opacity: 0.35; }
  23.4% { opacity: 1; }
  26% { opacity: 0.35; }
  28.6% { opacity: 1; }
  31.2% { opacity: 0.35; }
  33.8% { opacity: 1; }
  36.4% { opacity: 0.35; }
  39% { opacity: 1; }
  41.6% { opacity: 0.35; }
  44.2% { opacity: 1; }
  46.8% { opacity: 0.35; }
  49.4% { opacity: 1; }
  52% { opacity: 0.35; }
  54.6% { opacity: 1; }
  57.2% { opacity: 0.35; }
  59.8% { opacity: 1; }
  60.3% { opacity: 0.22; }
  100% { opacity: 0.22; }
}

/* ---------- Etiquetas: la tira baja, sale una, se detiene, sale la otra ---------- */
.wz-imp-etq-tira {
  animation: wz-imp-etq-avance 8s cubic-bezier(0.45, 0, 0.25, 1) infinite;
}
@keyframes wz-imp-etq-avance {
  0%, 4% { transform: translateY(-312px); opacity: 1; }
  24%, 35% { transform: translateY(-138px); }
  53% { transform: translateY(0px); }
  90% { transform: translateY(0px); opacity: 1; }
  95% { transform: translateY(14px); opacity: 0; }
  95.01% { transform: translateY(-312px); opacity: 0; }
  97%, 100% { transform: translateY(-312px); opacity: 1; }
}

/* Costuras del rollo: avanzan a la par de la tira (periodo de 26 px) */
.wz-imp-etq-rollo {
  animation: wz-imp-etq-rollo 8s cubic-bezier(0.45, 0, 0.25, 1) infinite;
}
@keyframes wz-imp-etq-rollo {
  0%, 4% { transform: translateY(-130px); }
  24%, 35% { transform: translateY(-52px); }
  53%, 100% { transform: translateY(0px); }
}

/* LED naranja de actividad (etiquetas) */
.wz-imp-etq-led {
  opacity: 0.22;
  animation: wz-imp-etq-led 8s steps(1, end) infinite;
}
@keyframes wz-imp-etq-led {
  0% { opacity: 0.22; }
  3% { opacity: 0.22; }
  3.6% { opacity: 1; }
  6.2% { opacity: 0.35; }
  8.8% { opacity: 1; }
  11.4% { opacity: 0.35; }
  14% { opacity: 1; }
  16.6% { opacity: 0.35; }
  19.2% { opacity: 1; }
  21.8% { opacity: 0.35; }
  24.4% { opacity: 1; }
  24.5% { opacity: 0.22; }
  34% { opacity: 0.22; }
  34.6% { opacity: 1; }
  37.2% { opacity: 0.35; }
  39.8% { opacity: 1; }
  42.4% { opacity: 0.35; }
  45% { opacity: 1; }
  47.6% { opacity: 0.35; }
  50.2% { opacity: 1; }
  52.8% { opacity: 0.35; }
  53.5% { opacity: 0.22; }
  100% { opacity: 0.22; }
}

/* ---------- Movimiento reducido: estado final, legible y quieto ---------- */
@media (prefers-reduced-motion: reduce) {
  .wz-imp-ticket-papel,
  .wz-imp-ticket-total,
  .wz-imp-ticket-led,
  .wz-imp-etq-tira,
  .wz-imp-etq-rollo,
  .wz-imp-etq-led {
    animation: none !important;
    will-change: auto;
  }
  .wz-imp-ticket-papel,
  .wz-imp-etq-tira,
  .wz-imp-etq-rollo {
    transform: none !important;
    opacity: 1 !important;
  }
  .wz-imp-ticket-total {
    opacity: 1 !important;
  }
  .wz-imp-ticket-led,
  .wz-imp-etq-led {
    opacity: 0.22 !important;
  }
}

/* Wizzy · ilustración animada del chat (bucle de 14 s).
   Todo lo que aquí se oculta o mueve vuelve a su estado final legible si
   esta hoja no carga o si la persona pide menos movimiento. */
.wz-wzy-q, .wz-wzy-seg1, .wz-wzy-seg2, .wz-wzy-seg3, .wz-wzy-conv,
.wz-wzy-think, .wz-wzy-chip, .wz-wzy-done, .wz-wzy-st-on, .wz-wzy-st-off,
.wz-wzy-bar1, .wz-wzy-bar2, .wz-wzy-r1, .wz-wzy-r2,
.wz-wzy-b1, .wz-wzy-b2, .wz-wzy-b3, .wz-wzy-w, .wz-wzy-w::after {
  animation-duration: 14s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
}
.wz-wzy-q, .wz-wzy-seg1, .wz-wzy-seg2, .wz-wzy-seg3,
.wz-wzy-b1, .wz-wzy-b2, .wz-wzy-b3 { will-change: transform, opacity; }
.wz-wzy-conv { animation-name: wz-wzy-conv; }
.wz-wzy-q { animation-name: wz-wzy-q; }
.wz-wzy-seg1 { animation-name: wz-wzy-seg1; }
.wz-wzy-seg2 { animation-name: wz-wzy-seg2; }
.wz-wzy-seg3 { animation-name: wz-wzy-seg3; }
.wz-wzy-think { animation-name: wz-wzy-think; }
.wz-wzy-chip { animation-name: wz-wzy-chip; }
.wz-wzy-done { animation-name: wz-wzy-done; }
.wz-wzy-st-on { animation-name: wz-wzy-st-on; }
.wz-wzy-st-off { animation-name: wz-wzy-st-off; }
.wz-wzy-bar1, .wz-wzy-bar2 { transform-box: fill-box; transform-origin: 50% 100%; }
.wz-wzy-bar1 { animation-name: wz-wzy-bar1; }
.wz-wzy-bar2 { animation-name: wz-wzy-bar2; }
.wz-wzy-r1 { animation-name: wz-wzy-r1; }
.wz-wzy-r2 { animation-name: wz-wzy-r2; }
.wz-wzy-b1 { animation-name: wz-wzy-b1; }
.wz-wzy-b2 { animation-name: wz-wzy-b2; }
.wz-wzy-b3 { animation-name: wz-wzy-b3; }

/* Escritura progresiva: cada palabra aparece en su turno y lleva detrás el
   cursor violeta mientras es la última escrita. */
.wz-wzy-w { position: relative; }
.wz-wzy-w::after {
  content: "";
  position: absolute;
  left: 100%;
  top: .22em;
  width: 2px;
  height: 1.05em;
  margin-left: 2px;
  border-radius: 1px;
  background: #6E56F0;
  opacity: 0;
}

/* Indicadores de espera (ciclos cortos propios) */
.wz-wzy-spin { animation: wz-wzy-spin .8s linear infinite; }
.wz-wzy-dot1, .wz-wzy-dot2, .wz-wzy-dot3 { animation: wz-wzy-dot 1.2s ease-in-out infinite; }
.wz-wzy-dot2 { animation-delay: .15s; }
.wz-wzy-dot3 { animation-delay: .3s; }
@keyframes wz-wzy-spin {
  to { transform: rotate(360deg); }
}
@keyframes wz-wzy-dot {
  0%, 80%, 100% { transform: scale(.5); opacity: .4; }
  40% { transform: scale(1); opacity: 1; }
}

@keyframes wz-wzy-conv {
  0% { opacity: 1; }
  94.64% { opacity: 1; animation-timing-function: ease-in-out; }
  97.86% { opacity: 0; }
  100% { opacity: 0; }
}

@keyframes wz-wzy-q {
  0% { opacity: 0; transform: translateY(8px); }
  2.86% { opacity: 0; transform: translateY(8px); animation-timing-function: cubic-bezier(.2,.7,.2,1); }
  5.71% { opacity: 1; transform: translateY(0); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes wz-wzy-seg1 {
  0% { opacity: 0; transform: translateY(6px); }
  7.5% { opacity: 0; transform: translateY(6px); animation-timing-function: cubic-bezier(.2,.7,.2,1); }
  9.64% { opacity: 1; transform: translateY(0); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes wz-wzy-seg2 {
  0% { opacity: 0;  }
  43.21% { opacity: 0;  animation-timing-function: ease-out; }
  45.71% { opacity: 1;  }
  100% { opacity: 1;  }
}

@keyframes wz-wzy-seg3 {
  0% { opacity: 0;  }
  55% { opacity: 0;  animation-timing-function: ease-out; }
  57.5% { opacity: 1;  }
  100% { opacity: 1;  }
}

@keyframes wz-wzy-think {
  0% { opacity: 0; }
  8.57% { opacity: 0; }
  10% { opacity: 1; }
  13.93% { opacity: 1; }
  15% { opacity: 0; }
  100% { opacity: 0; }
}

@keyframes wz-wzy-chip {
  0% { opacity: 0; }
  15% { opacity: 0; }
  16.43% { opacity: 1; }
  22.14% { opacity: 1; }
  23.21% { opacity: 0; }
  100% { opacity: 0; }
}

@keyframes wz-wzy-done {
  0% { opacity: 0; }
  22.5% { opacity: 0; }
  23.57% { opacity: 1; }
  27.14% { opacity: 1; }
  28.21% { opacity: 0; }
  100% { opacity: 0; }
}

@keyframes wz-wzy-st-on {
  0% { opacity: 0; }
  6.07% { opacity: 0; }
  7.14% { opacity: 1; }
  42.5% { opacity: 1; }
  43.57% { opacity: 0; }
  100% { opacity: 0; }
}

@keyframes wz-wzy-st-off {
  0% { opacity: 1; }
  6.07% { opacity: 1; }
  7.14% { opacity: 0; }
  42.5% { opacity: 0; }
  43.57% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-bar1 {
  0% { transform: scaleY(0); }
  46.43% { transform: scaleY(0); animation-timing-function: cubic-bezier(.22,.8,.24,1); }
  52.14% { transform: scaleY(1); }
  100% { transform: scaleY(1); }
}

@keyframes wz-wzy-bar2 {
  0% { transform: scaleY(0); }
  47.71% { transform: scaleY(0); animation-timing-function: cubic-bezier(.22,.8,.24,1); }
  53.43% { transform: scaleY(1); }
  100% { transform: scaleY(1); }
}

@keyframes wz-wzy-r1 {
  0% { opacity: 0;  }
  58.21% { opacity: 0;  animation-timing-function: ease-out; }
  60% { opacity: 1;  }
  100% { opacity: 1;  }
}

@keyframes wz-wzy-r2 {
  0% { opacity: 0;  }
  59.5% { opacity: 0;  animation-timing-function: ease-out; }
  61.29% { opacity: 1;  }
  100% { opacity: 1;  }
}

@keyframes wz-wzy-b1 {
  0% { opacity: 0; transform: translateY(4px); }
  62.5% { opacity: 0; transform: translateY(4px); animation-timing-function: cubic-bezier(.2,.7,.2,1); }
  64.29% { opacity: 1; transform: translateY(0); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes wz-wzy-b2 {
  0% { opacity: 0; transform: translateY(4px); }
  63.36% { opacity: 0; transform: translateY(4px); animation-timing-function: cubic-bezier(.2,.7,.2,1); }
  65.14% { opacity: 1; transform: translateY(0); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes wz-wzy-b3 {
  0% { opacity: 0; transform: translateY(4px); }
  64.21% { opacity: 0; transform: translateY(4px); animation-timing-function: cubic-bezier(.2,.7,.2,1); }
  66% { opacity: 1; transform: translateY(0); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes wz-wzy-w1 {
  0% { opacity: 0; }
  28.93% { opacity: 0; }
  29.43% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c1 {
  0% { opacity: 0; }
  28.93% { opacity: 0; }
  29.07% { opacity: .9; }
  29.61% { opacity: .9; }
  29.75% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w1 { animation-name: wz-wzy-w1; }
.wz-wzy-w1::after { animation-name: wz-wzy-c1; }

@keyframes wz-wzy-w2 {
  0% { opacity: 0; }
  29.61% { opacity: 0; }
  30.11% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c2 {
  0% { opacity: 0; }
  29.61% { opacity: 0; }
  29.75% { opacity: .9; }
  30.28% { opacity: .9; }
  30.42% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w2 { animation-name: wz-wzy-w2; }
.wz-wzy-w2::after { animation-name: wz-wzy-c2; }

@keyframes wz-wzy-w3 {
  0% { opacity: 0; }
  30.28% { opacity: 0; }
  30.78% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c3 {
  0% { opacity: 0; }
  30.28% { opacity: 0; }
  30.42% { opacity: .9; }
  30.96% { opacity: .9; }
  31.1% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w3 { animation-name: wz-wzy-w3; }
.wz-wzy-w3::after { animation-name: wz-wzy-c3; }

@keyframes wz-wzy-w4 {
  0% { opacity: 0; }
  30.96% { opacity: 0; }
  31.46% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c4 {
  0% { opacity: 0; }
  30.96% { opacity: 0; }
  31.1% { opacity: .9; }
  31.64% { opacity: .9; }
  31.78% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w4 { animation-name: wz-wzy-w4; }
.wz-wzy-w4::after { animation-name: wz-wzy-c4; }

@keyframes wz-wzy-w5 {
  0% { opacity: 0; }
  31.64% { opacity: 0; }
  32.14% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c5 {
  0% { opacity: 0; }
  31.64% { opacity: 0; }
  31.78% { opacity: .9; }
  32.31% { opacity: .9; }
  32.45% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w5 { animation-name: wz-wzy-w5; }
.wz-wzy-w5::after { animation-name: wz-wzy-c5; }

@keyframes wz-wzy-w6 {
  0% { opacity: 0; }
  32.31% { opacity: 0; }
  32.81% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c6 {
  0% { opacity: 0; }
  32.31% { opacity: 0; }
  32.45% { opacity: .9; }
  32.99% { opacity: .9; }
  33.13% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w6 { animation-name: wz-wzy-w6; }
.wz-wzy-w6::after { animation-name: wz-wzy-c6; }

@keyframes wz-wzy-w7 {
  0% { opacity: 0; }
  32.99% { opacity: 0; }
  33.49% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c7 {
  0% { opacity: 0; }
  32.99% { opacity: 0; }
  33.13% { opacity: .9; }
  33.67% { opacity: .9; }
  33.81% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w7 { animation-name: wz-wzy-w7; }
.wz-wzy-w7::after { animation-name: wz-wzy-c7; }

@keyframes wz-wzy-w8 {
  0% { opacity: 0; }
  33.67% { opacity: 0; }
  34.17% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c8 {
  0% { opacity: 0; }
  33.67% { opacity: 0; }
  33.81% { opacity: .9; }
  34.34% { opacity: .9; }
  34.48% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w8 { animation-name: wz-wzy-w8; }
.wz-wzy-w8::after { animation-name: wz-wzy-c8; }

@keyframes wz-wzy-w9 {
  0% { opacity: 0; }
  34.34% { opacity: 0; }
  34.84% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c9 {
  0% { opacity: 0; }
  34.34% { opacity: 0; }
  34.48% { opacity: .9; }
  35.02% { opacity: .9; }
  35.16% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w9 { animation-name: wz-wzy-w9; }
.wz-wzy-w9::after { animation-name: wz-wzy-c9; }

@keyframes wz-wzy-w10 {
  0% { opacity: 0; }
  35.02% { opacity: 0; }
  35.52% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c10 {
  0% { opacity: 0; }
  35.02% { opacity: 0; }
  35.16% { opacity: .9; }
  35.7% { opacity: .9; }
  35.84% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w10 { animation-name: wz-wzy-w10; }
.wz-wzy-w10::after { animation-name: wz-wzy-c10; }

@keyframes wz-wzy-w11 {
  0% { opacity: 0; }
  35.7% { opacity: 0; }
  36.2% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c11 {
  0% { opacity: 0; }
  35.7% { opacity: 0; }
  35.84% { opacity: .9; }
  36.37% { opacity: .9; }
  36.52% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w11 { animation-name: wz-wzy-w11; }
.wz-wzy-w11::after { animation-name: wz-wzy-c11; }

@keyframes wz-wzy-w12 {
  0% { opacity: 0; }
  36.37% { opacity: 0; }
  36.87% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c12 {
  0% { opacity: 0; }
  36.37% { opacity: 0; }
  36.52% { opacity: .9; }
  37.05% { opacity: .9; }
  37.19% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w12 { animation-name: wz-wzy-w12; }
.wz-wzy-w12::after { animation-name: wz-wzy-c12; }

@keyframes wz-wzy-w13 {
  0% { opacity: 0; }
  37.05% { opacity: 0; }
  37.55% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c13 {
  0% { opacity: 0; }
  37.05% { opacity: 0; }
  37.19% { opacity: .9; }
  37.73% { opacity: .9; }
  37.87% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w13 { animation-name: wz-wzy-w13; }
.wz-wzy-w13::after { animation-name: wz-wzy-c13; }

@keyframes wz-wzy-w14 {
  0% { opacity: 0; }
  37.73% { opacity: 0; }
  38.23% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c14 {
  0% { opacity: 0; }
  37.73% { opacity: 0; }
  37.87% { opacity: .9; }
  38.4% { opacity: .9; }
  38.55% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w14 { animation-name: wz-wzy-w14; }
.wz-wzy-w14::after { animation-name: wz-wzy-c14; }

@keyframes wz-wzy-w15 {
  0% { opacity: 0; }
  38.4% { opacity: 0; }
  38.9% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c15 {
  0% { opacity: 0; }
  38.4% { opacity: 0; }
  38.55% { opacity: .9; }
  39.08% { opacity: .9; }
  39.22% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w15 { animation-name: wz-wzy-w15; }
.wz-wzy-w15::after { animation-name: wz-wzy-c15; }

@keyframes wz-wzy-w16 {
  0% { opacity: 0; }
  39.08% { opacity: 0; }
  39.58% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c16 {
  0% { opacity: 0; }
  39.08% { opacity: 0; }
  39.22% { opacity: .9; }
  39.76% { opacity: .9; }
  39.9% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w16 { animation-name: wz-wzy-w16; }
.wz-wzy-w16::after { animation-name: wz-wzy-c16; }

@keyframes wz-wzy-w17 {
  0% { opacity: 0; }
  39.76% { opacity: 0; }
  40.26% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c17 {
  0% { opacity: 0; }
  39.76% { opacity: 0; }
  39.9% { opacity: .9; }
  40.43% { opacity: .9; }
  40.58% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w17 { animation-name: wz-wzy-w17; }
.wz-wzy-w17::after { animation-name: wz-wzy-c17; }

@keyframes wz-wzy-w18 {
  0% { opacity: 0; }
  40.43% { opacity: 0; }
  40.93% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c18 {
  0% { opacity: 0; }
  40.43% { opacity: 0; }
  40.58% { opacity: .9; }
  41.11% { opacity: .9; }
  41.25% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w18 { animation-name: wz-wzy-w18; }
.wz-wzy-w18::after { animation-name: wz-wzy-c18; }

@keyframes wz-wzy-w19 {
  0% { opacity: 0; }
  41.11% { opacity: 0; }
  41.61% { opacity: 1; }
  100% { opacity: 1; }
}

@keyframes wz-wzy-c19 {
  0% { opacity: 0; }
  41.11% { opacity: 0; }
  41.25% { opacity: .9; }
  45.04% { opacity: .9; }
  45.18% { opacity: 0; }
  100% { opacity: 0; }
}

.wz-wzy-w19 { animation-name: wz-wzy-w19; }
.wz-wzy-w19::after { animation-name: wz-wzy-c19; }

@media (prefers-reduced-motion: reduce) {
  [class*="wz-wzy-"], .wz-wzy-w::after { animation: none !important; }
  .wz-wzy-w::after { opacity: 0; }
}

/* ==========================================================================
   factura.css — ilustracion animada de una factura CFDI (ilus-factura.html)
   Todo lleva el prefijo wz-fac-. El dibujo y su maquetacion van en linea en
   el HTML: sin este archivo (o con menos movimiento) la factura queda
   completa y estatica.
   Bucle de 10 s que ARRANCA COMPLETO: 0-30 % factura completa, 30-34 % se
   vacia, 36-70 % se vuelve a llenar (conceptos, totales, pie fiscal y al
   final cae el sello «Timbrada»), 70-100 % completa.
   ========================================================================== */

.wz-fac-r1, .wz-fac-r2, .wz-fac-r3, .wz-fac-tot, .wz-fac-pie, .wz-fac-sello, .wz-fac-total {
  animation-duration: 10s;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(.22, 1, .36, 1);
}
.wz-fac-r1, .wz-fac-r2, .wz-fac-r3, .wz-fac-tot, .wz-fac-sello { will-change: transform, opacity; }

.wz-fac-r1 { animation-name: wz-fac-r1; }
.wz-fac-r2 { animation-name: wz-fac-r2; }
.wz-fac-r3 { animation-name: wz-fac-r3; }
.wz-fac-tot { animation-name: wz-fac-tot; }
.wz-fac-pie { animation-name: wz-fac-pie; }
.wz-fac-sello { animation-name: wz-fac-sello; }
.wz-fac-total { animation-name: wz-fac-total; }

/* Conceptos: entran de izquierda a derecha, uno tras otro */
@keyframes wz-fac-r1 {
  0%, 30% { opacity: 1; transform: none; }
  33%, 36% { opacity: 0; transform: translate3d(-10px, 0, 0); }
  41%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-fac-r2 {
  0%, 30% { opacity: 1; transform: none; }
  33%, 41% { opacity: 0; transform: translate3d(-10px, 0, 0); }
  46%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-fac-r3 {
  0%, 30% { opacity: 1; transform: none; }
  33%, 46% { opacity: 0; transform: translate3d(-10px, 0, 0); }
  51%, 100% { opacity: 1; transform: none; }
}
/* Totales: suben despues del ultimo concepto */
@keyframes wz-fac-tot {
  0%, 30% { opacity: 1; transform: none; }
  33%, 52% { opacity: 0; transform: translate3d(0, 8px, 0); }
  57%, 100% { opacity: 1; transform: none; }
}
/* El renglon del total da un pulso corto al aparecer */
@keyframes wz-fac-total {
  0%, 56% { box-shadow: 0 0 0 0 rgba(71, 35, 217, 0); }
  59% { box-shadow: 0 0 0 5px rgba(71, 35, 217, .22); }
  64%, 100% { box-shadow: 0 0 0 0 rgba(71, 35, 217, 0); }
}
/* Pie fiscal: QR y folio */
@keyframes wz-fac-pie {
  0%, 30% { opacity: 1; }
  33%, 57% { opacity: 0; }
  62%, 100% { opacity: 1; }
}
/* Sello «Timbrada»: cae y asienta */
@keyframes wz-fac-sello {
  0%, 30% { opacity: 1; transform: none; }
  33%, 64% { opacity: 0; transform: scale(1.7); }
  68% { opacity: 1; transform: scale(.94); }
  70%, 100% { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  [class*="wz-fac-"] { animation: none !important; }
}

/* ---------- Periféricos del punto de venta: lector y cajón (prefijo wz-per-) ---------- */
.wz-per-laser{animation:wz-per-laser 2.6s ease-in-out infinite;transform-box:fill-box}
.wz-per-ok{animation:wz-per-ok 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.wz-per-gaveta{animation:wz-per-gaveta 4.2s cubic-bezier(.3,.9,.3,1) infinite}
.wz-per-led{animation:wz-per-led 4.2s linear infinite}
@keyframes wz-per-laser{0%{transform:translateY(-16px);opacity:0}10%{opacity:1}55%{transform:translateY(16px);opacity:1}65%,100%{transform:translateY(16px);opacity:0}}
@keyframes wz-per-ok{0%,55%{transform:scale(0);opacity:0}68%{transform:scale(1.15);opacity:1}75%,92%{transform:scale(1);opacity:1}100%{transform:scale(0);opacity:0}}
@keyframes wz-per-gaveta{0%,18%{transform:translateY(-14px)}34%,78%{transform:translateY(0)}94%,100%{transform:translateY(-14px)}}
@keyframes wz-per-led{0%,16%{opacity:.25}20%,78%{opacity:1}82%,100%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.wz-per-laser,.wz-per-ok,.wz-per-gaveta,.wz-per-led{animation:none!important}.wz-per-laser{opacity:1}.wz-per-ok{transform:none;opacity:1}.wz-per-gaveta{transform:none}}

/* ==========================================================================
   pos-hardware.css — ilustraciones animadas del equipo de mostrador
   Va con ilus-lector.html e ilus-cajon.html. Todo lleva el prefijo wz-hw-.
   Misma familia que impresion.css: bucle de 8 s, LEDs, pausa larga para leer.
   Sin animacion (o sin este archivo) cada ilustracion queda en su estado final:
   lector con el producto ya en el ticket; cajon abierto con la apertura registrada.
   ========================================================================== */

.wz-hw-lec-pistola,
.wz-hw-lec-laser,
.wz-hw-lec-fila,
.wz-hw-caj-gaveta {
  will-change: transform;
}

/* ============================ LECTOR ============================
   0-8 % reposo · 8-12 % apunta · 12-36 % el haz recorre el codigo ·
   36-44 % bip + palomita + codigo en el buscador · 44-52 % renglon nuevo
   y total · 52-90 % pausa · 90-100 % reinicio. */

.wz-hw-lec-pistola {
  animation: wz-hw-lec-pistola 8s cubic-bezier(0.35, 0, 0.3, 1) infinite;
}
@keyframes wz-hw-lec-pistola {
  0%, 6% { transform: translate(16px, -6px); }
  11%, 36% { transform: translate(0px, 0px); }
  37.2% { transform: translate(3px, -2px); }
  38.6% { transform: translate(0px, 0px); }
  44% { transform: translate(0px, 0px); }
  52%, 100% { transform: translate(16px, -6px); }
}

.wz-hw-lec-haz {
  animation: wz-hw-lec-haz 8s linear infinite;
}
@keyframes wz-hw-lec-haz {
  0%, 11.4% { opacity: 0; }
  12% { opacity: 1; }
  13% { opacity: 0.55; }
  14% { opacity: 1; }
  35.6% { opacity: 1; }
  36.4%, 100% { opacity: 0; }
}

.wz-hw-lec-laser {
  animation: wz-hw-lec-laser 8s ease-in-out infinite;
}
@keyframes wz-hw-lec-laser {
  0%, 12% { transform: translateY(-15px); }
  20% { transform: translateY(15px); }
  28% { transform: translateY(-15px); }
  35.6%, 100% { transform: translateY(0px); }
}

.wz-hw-lec-emisor {
  animation: wz-hw-lec-emisor 8s linear infinite;
}
@keyframes wz-hw-lec-emisor {
  0%, 11.4% { opacity: 0.3; }
  12%, 35.6% { opacity: 1; }
  36.4%, 100% { opacity: 0.3; }
}

/* Bip: halo del LED, arcos de sonido y palomita sobre la etiqueta */
.wz-hw-lec-led {
  transform-box: fill-box;
  transform-origin: center;
  animation: wz-hw-lec-led 8s ease-out infinite;
}
@keyframes wz-hw-lec-led {
  0%, 35.8% { opacity: 0.25; transform: scale(1); }
  36.6% { opacity: 1; transform: scale(1.5); }
  44% { opacity: 1; transform: scale(1); }
  52%, 100% { opacity: 0.25; transform: scale(1); }
}

.wz-hw-lec-bip {
  transform-box: fill-box;
  transform-origin: 50% 100%;
  animation: wz-hw-lec-bip 8s ease-out infinite;
}
@keyframes wz-hw-lec-bip {
  0%, 36% { opacity: 0; transform: scale(0.5); }
  37.4% { opacity: 1; transform: scale(1); }
  41% { opacity: 1; transform: scale(1.08); }
  45%, 100% { opacity: 0; transform: scale(1.25); }
}

.wz-hw-lec-ok {
  transform-box: fill-box;
  transform-origin: center;
  animation: wz-hw-lec-ok 8s cubic-bezier(0.3, 1.4, 0.5, 1) infinite;
}
@keyframes wz-hw-lec-ok {
  0%, 36.2% { transform: scale(0); opacity: 0; }
  36.3% { transform: scale(0); opacity: 1; }
  40% { transform: scale(1); opacity: 1; }
  90% { transform: scale(1); opacity: 1; }
  94%, 100% { transform: scale(0.6); opacity: 0; }
}

/* El codigo leido cae en el buscador y lo dispara */
.wz-hw-lec-ph {
  animation: wz-hw-lec-ph 8s steps(1, end) infinite;
}
@keyframes wz-hw-lec-ph {
  0%, 36.6% { opacity: 1; }
  36.7%, 46.9% { opacity: 0; }
  47%, 100% { opacity: 1; }
}
.wz-hw-lec-cod {
  animation: wz-hw-lec-cod 8s steps(1, end) infinite;
}
@keyframes wz-hw-lec-cod {
  0%, 36.6% { opacity: 0; }
  36.7%, 46.9% { opacity: 1; }
  47%, 100% { opacity: 0; }
}
.wz-hw-lec-foco {
  animation: wz-hw-lec-foco 8s ease-out infinite;
}
@keyframes wz-hw-lec-foco {
  0%, 36.4% { opacity: 0; }
  37.2%, 44% { opacity: 1; }
  48%, 100% { opacity: 0; }
}

/* Renglon nuevo del ticket */
.wz-hw-lec-fila {
  animation: wz-hw-lec-fila 8s cubic-bezier(0.2, 0.8, 0.2, 1) infinite;
}
@keyframes wz-hw-lec-fila {
  0%, 43.5% { opacity: 0; transform: translateY(-12px); }
  49% { opacity: 1; transform: translateY(0px); }
  90% { opacity: 1; transform: translateY(0px); }
  94%, 100% { opacity: 0; transform: translateY(0px); }
}

/* Total: $340.00 -> $600.00 */
.wz-hw-lec-antes {
  animation: wz-hw-lec-antes 8s steps(1, end) infinite;
}
@keyframes wz-hw-lec-antes {
  0%, 48.4% { opacity: 1; }
  48.5%, 93.9% { opacity: 0; }
  94%, 100% { opacity: 1; }
}
.wz-hw-lec-despues {
  animation: wz-hw-lec-despues 8s steps(1, end) infinite;
}
@keyframes wz-hw-lec-despues {
  0%, 48.4% { opacity: 0; }
  48.5%, 93.9% { opacity: 1; }
  94%, 100% { opacity: 0; }
}
.wz-hw-lec-salto {
  transform-box: fill-box;
  transform-origin: 100% 60%;
  animation: wz-hw-lec-despues 8s steps(1, end) infinite, wz-hw-lec-salto 8s ease-out infinite;
}
@keyframes wz-hw-lec-salto {
  0%, 48.5% { transform: scale(1); }
  50.5% { transform: scale(1.14); }
  55%, 100% { transform: scale(1); }
}

/* ============================ CAJON ============================
   0-5 % reposo · 6-24 % el cajero teclea su PIN · 25-29 % se acepta ·
   29-39 % la gaveta se desliza · 35-50 % «Apertura registrada» renglon por
   renglon · 50-90 % pausa · 90-100 % se cierra y reinicia. */

.wz-hw-caj-pin {
  animation: wz-hw-caj-pin 8s ease-in-out infinite;
}
@keyframes wz-hw-caj-pin {
  0%, 26% { opacity: 1; }
  29.5% { opacity: 0; }
  92% { opacity: 0; }
  95.5%, 100% { opacity: 1; }
}

.wz-hw-caj-d {
  transform-box: fill-box;
  transform-origin: center;
  animation: 8s cubic-bezier(0.3, 1.5, 0.5, 1) infinite;
}
.wz-hw-caj-d1 { animation-name: wz-hw-caj-d1; }
.wz-hw-caj-d2 { animation-name: wz-hw-caj-d2; }
.wz-hw-caj-d3 { animation-name: wz-hw-caj-d3; }
.wz-hw-caj-d4 { animation-name: wz-hw-caj-d4; }
@keyframes wz-hw-caj-d1 { 0%, 6.5% { transform: scale(0); } 9%, 91.9% { transform: scale(1); } 92%, 100% { transform: scale(0); } }
@keyframes wz-hw-caj-d2 { 0%, 11.5% { transform: scale(0); } 14%, 91.9% { transform: scale(1); } 92%, 100% { transform: scale(0); } }
@keyframes wz-hw-caj-d3 { 0%, 16.5% { transform: scale(0); } 19%, 91.9% { transform: scale(1); } 92%, 100% { transform: scale(0); } }
@keyframes wz-hw-caj-d4 { 0%, 21.5% { transform: scale(0); } 24%, 91.9% { transform: scale(1); } 92%, 100% { transform: scale(0); } }

.wz-hw-caj-k {
  opacity: 0;
  animation: 8s ease-out infinite;
}
.wz-hw-caj-k1 { animation-name: wz-hw-caj-k1; }
.wz-hw-caj-k2 { animation-name: wz-hw-caj-k2; }
.wz-hw-caj-k3 { animation-name: wz-hw-caj-k3; }
.wz-hw-caj-k4 { animation-name: wz-hw-caj-k4; }
@keyframes wz-hw-caj-k1 { 0%, 5.9% { opacity: 0; } 6.4% { opacity: 1; } 10%, 100% { opacity: 0; } }
@keyframes wz-hw-caj-k2 { 0%, 10.9% { opacity: 0; } 11.4% { opacity: 1; } 15%, 100% { opacity: 0; } }
@keyframes wz-hw-caj-k3 { 0%, 15.9% { opacity: 0; } 16.4% { opacity: 1; } 20%, 100% { opacity: 0; } }
@keyframes wz-hw-caj-k4 { 0%, 20.9% { opacity: 0; } 21.4% { opacity: 1; } 25%, 100% { opacity: 0; } }

/* La gaveta sale de debajo del cuerpo, con un rebote corto al tope */
.wz-hw-caj-gaveta {
  animation: wz-hw-caj-gaveta 8s cubic-bezier(0.3, 0, 0.25, 1) infinite;
}
@keyframes wz-hw-caj-gaveta {
  0%, 28.5% { transform: translateY(-138px); }
  36% { transform: translateY(4px); }
  38% { transform: translateY(-2px); }
  39.5% { transform: translateY(0px); }
  90% { transform: translateY(0px); }
  95.5%, 100% { transform: translateY(-138px); }
}

.wz-hw-caj-led {
  animation: wz-hw-caj-led 8s steps(1, end) infinite;
}
@keyframes wz-hw-caj-led {
  0%, 26% { opacity: 0.2; }
  26.1% { opacity: 1; }
  27.6% { opacity: 0.35; }
  29.1% { opacity: 1; }
  92% { opacity: 1; }
  95.5%, 100% { opacity: 0.2; }
}

.wz-hw-caj-reg {
  animation: wz-hw-caj-reg 8s ease-out infinite;
}
@keyframes wz-hw-caj-reg {
  0%, 31% { opacity: 0; }
  35% { opacity: 1; }
  89% { opacity: 1; }
  92.5%, 100% { opacity: 0; }
}

.wz-hw-caj-r {
  animation: 8s cubic-bezier(0.2, 0.8, 0.2, 1) infinite;
}
.wz-hw-caj-r1 { animation-name: wz-hw-caj-r1; }
.wz-hw-caj-r2 { animation-name: wz-hw-caj-r2; }
.wz-hw-caj-r3 { animation-name: wz-hw-caj-r3; }
.wz-hw-caj-r4 { animation-name: wz-hw-caj-r4; }
@keyframes wz-hw-caj-r1 { 0%, 36% { opacity: 0; transform: translateY(6px); } 40%, 100% { opacity: 1; transform: translateY(0px); } }
@keyframes wz-hw-caj-r2 { 0%, 39.5% { opacity: 0; transform: translateY(6px); } 43.5%, 100% { opacity: 1; transform: translateY(0px); } }
@keyframes wz-hw-caj-r3 { 0%, 43% { opacity: 0; transform: translateY(6px); } 47%, 100% { opacity: 1; transform: translateY(0px); } }
@keyframes wz-hw-caj-r4 { 0%, 46.5% { opacity: 0; transform: translateY(6px); } 50.5%, 100% { opacity: 1; transform: translateY(0px); } }

/* ---------- Movimiento reducido: estado final, legible y quieto ---------- */
@media (prefers-reduced-motion: reduce) {
  .wz-hw-lec-pistola,
  .wz-hw-lec-haz,
  .wz-hw-lec-laser,
  .wz-hw-lec-emisor,
  .wz-hw-lec-led,
  .wz-hw-lec-bip,
  .wz-hw-lec-ok,
  .wz-hw-lec-ph,
  .wz-hw-lec-cod,
  .wz-hw-lec-foco,
  .wz-hw-lec-fila,
  .wz-hw-lec-antes,
  .wz-hw-lec-despues,
  .wz-hw-lec-salto,
  .wz-hw-caj-pin,
  .wz-hw-caj-d,
  .wz-hw-caj-k,
  .wz-hw-caj-gaveta,
  .wz-hw-caj-led,
  .wz-hw-caj-reg,
  .wz-hw-caj-r {
    animation: none !important;
    will-change: auto;
  }
  .wz-hw-lec-pistola,
  .wz-hw-lec-laser,
  .wz-hw-lec-led,
  .wz-hw-lec-ok,
  .wz-hw-lec-fila,
  .wz-hw-lec-salto,
  .wz-hw-caj-gaveta,
  .wz-hw-caj-r {
    transform: none !important;
  }
  .wz-hw-lec-haz,
  .wz-hw-lec-ok,
  .wz-hw-lec-fila,
  .wz-hw-lec-despues,
  .wz-hw-lec-ph,
  .wz-hw-caj-reg,
  .wz-hw-caj-r,
  .wz-hw-caj-led {
    opacity: 1 !important;
  }
  .wz-hw-lec-antes,
  .wz-hw-lec-cod,
  .wz-hw-lec-foco,
  .wz-hw-lec-bip,
  .wz-hw-caj-pin,
  .wz-hw-caj-k {
    opacity: 0 !important;
  }
}

/* ==========================================================================
   orden-servicio.css — ilustracion animada de la lista de ordenes de servicio
   (ilus-orden-servicio.html). Todo lleva el prefijo wz-os-.
   Aqui vive la maquetacion (tarjetas apiladas en angosto, renglones en ancho)
   y el movimiento. Sin animacion la lista queda completa y estatica.
   Bucle de 14 s que ARRANCA COMPLETO: 0-20 % lista completa; 20-24 % sale la
   orden mas nueva y la 00005 regresa a «En proceso» sin horas; 34-40 % entra
   la orden nueva; 43-47 % cae su sello de garantia; 56-60 % se registran las
   horas de la 00005; 64-68 % pasa a «Cerrada»; 68-100 % completa.
   ========================================================================== */

/* ---------- Maquetacion: angosto (tarjetas apiladas) ---------- */
.wz-os-panel { padding: 14px; font-size: 13px; }
.wz-os-top { padding: 4px 4px 14px; }
.wz-os-btn-t { display: none; }
.wz-os-head { display: none; }
.wz-os-list { display: grid; gap: 10px; }
.wz-os-row {
  display: grid;
  grid-template-columns: 3.4em minmax(0, 1fr) minmax(0, 1fr) 6.4em;
  grid-template-areas:
    "folio gar gar st"
    "equipo equipo equipo equipo"
    "cliente cliente tecnico tecnico"
    "fecha fecha horas horas";
  gap: 10px 12px;
  align-items: start;
  padding: 14px;
}
.wz-os-c { min-width: 0; }
.wz-os-c-folio { grid-area: folio; align-self: center; }
.wz-os-c-st { grid-area: st; justify-self: end; align-self: center; }
.wz-os-c-gar { grid-area: gar; justify-self: end; align-self: center; }
.wz-os-c-equipo { grid-area: equipo; }
.wz-os-c-cliente { grid-area: cliente; }
.wz-os-c-tecnico { grid-area: tecnico; }
.wz-os-c-fecha { grid-area: fecha; }
.wz-os-c-horas { grid-area: horas; }
.wz-os-lb { display: block; margin-bottom: 2px; }
.wz-os-n4, .wz-os-n5 { display: none; }

@container (min-width: 400px) {
  .wz-os-panel { padding: 18px; font-size: 14px; }
  .wz-os-btn-t { display: inline; }
}
/* intermedio: tarjeta con los datos en una sola franja */
@container (min-width: 560px) {
  .wz-os-row {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.5fr) 7.4em 6.4em;
    grid-template-areas:
      "folio gar gar st"
      "equipo equipo equipo equipo"
      "cliente tecnico fecha horas";
    gap: 10px 20px;
    padding: 16px 18px;
  }
  .wz-os-n4 { display: block; }
}

/* ---------- Maquetacion: ancho (un renglon por orden) ---------- */
@container (min-width: 860px) {
  .wz-os-panel { padding: 22px 22px 24px; font-size: clamp(12.5px, 1.28cqw, 14.5px); }
  .wz-os-top { padding: 2px 4px 18px; }
  .wz-os-head, .wz-os-row {
    display: grid;
    grid-template-columns: 3.4em minmax(0, 2.2fr) minmax(0, 1.6fr) minmax(0, 1.7fr) 6.8em 4.8em 10em 7em;
    grid-template-areas: "folio equipo cliente tecnico fecha horas gar st";
    gap: 0 1.2em;
    align-items: center;
  }
  .wz-os-head { padding: 0 1.3em .7em; }
  .wz-os-row { padding: .95em 1.3em; }
  .wz-os-list { gap: 8px; }
  .wz-os-lb { display: none; }
  .wz-os-c-st, .wz-os-c-gar { justify-self: start; }
  .wz-os-n5 { display: block; }
}

/* ---------- Movimiento ---------- */
.wz-os-row1, .wz-os-row3, .wz-os-hueco, .wz-os-sello, .wz-os-h-on, .wz-os-h-off,
.wz-os-st-on, .wz-os-st-off, .wz-os-btn {
  animation-duration: 14s;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(.22, 1, .36, 1);
}
.wz-os-row1, .wz-os-sello, .wz-os-st-on { will-change: transform, opacity; }
.wz-os-row1 { animation-name: wz-os-row1; }
.wz-os-row3 { animation-name: wz-os-row3; }
.wz-os-hueco { animation-name: wz-os-hueco; }
.wz-os-sello { animation-name: wz-os-sello; transform-origin: 20% 50%; }
.wz-os-h-on { animation-name: wz-os-h-on; }
.wz-os-h-off { animation-name: wz-os-h-off; }
.wz-os-st-on { animation-name: wz-os-st-on; }
.wz-os-st-off { animation-name: wz-os-st-off; }
.wz-os-btn { animation-name: wz-os-btn; }
.wz-os-dot { animation: wz-os-dot 1.6s ease-in-out infinite; }

/* La orden nueva sale, queda el hueco «Registrar…» y vuelve a entrar */
@keyframes wz-os-row1 {
  0%, 20% { opacity: 1; transform: none; }
  24%, 34% { opacity: 0; transform: translate3d(0, -10px, 0) scale(.985); }
  40%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-os-hueco {
  0%, 21% { opacity: 0; }
  25%, 33% { opacity: 1; }
  37%, 100% { opacity: 0; }
}
/* El boton «Registrar orden» se oprime justo antes de que entre el renglon */
@keyframes wz-os-btn {
  0%, 30% { transform: none; box-shadow: 0 0 0 0 rgba(71, 35, 217, 0); }
  32% { transform: scale(.94); box-shadow: 0 0 0 0 rgba(71, 35, 217, .35); }
  36% { transform: none; box-shadow: 0 0 0 8px rgba(71, 35, 217, 0); }
  100% { transform: none; box-shadow: 0 0 0 0 rgba(71, 35, 217, 0); }
}
/* Sello de garantia: cae y asienta */
@keyframes wz-os-sello {
  0%, 20% { opacity: 1; transform: none; }
  24%, 43% { opacity: 0; transform: scale(1.5) rotate(-6deg); }
  46% { opacity: 1; transform: scale(.95); }
  48%, 100% { opacity: 1; transform: none; }
}
/* Horas de la 00005: del guion a «2.00 Hrs.» */
@keyframes wz-os-h-on {
  0%, 20% { opacity: 1; transform: none; }
  23%, 56% { opacity: 0; transform: translate3d(0, 6px, 0); }
  60%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-os-h-off {
  0%, 20% { opacity: 0; }
  23%, 56% { opacity: 1; }
  59%, 100% { opacity: 0; }
}
/* Estatus de la 00005: «En proceso» → «Cerrada» */
@keyframes wz-os-st-on {
  0%, 20% { opacity: 1; transform: none; }
  23%, 64% { opacity: 0; transform: scale(.8); }
  67% { opacity: 1; transform: scale(1.08); }
  69%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-os-st-off {
  0%, 20% { opacity: 0; }
  23%, 64% { opacity: 1; }
  66%, 100% { opacity: 0; }
}
/* El renglon que cambia se marca: morado al registrar horas, verde al cerrar */
@keyframes wz-os-row3 {
  0%, 55% { border-color: #e6e1f0; box-shadow: 0 1px 2px rgba(16, 6, 61, .04), 0 0 0 0 rgba(71, 35, 217, 0); }
  59% { border-color: #b6a0ff; box-shadow: 0 1px 2px rgba(16, 6, 61, .04), 0 0 0 4px rgba(71, 35, 217, .14); }
  63% { border-color: #e6e1f0; box-shadow: 0 1px 2px rgba(16, 6, 61, .04), 0 0 0 0 rgba(71, 35, 217, 0); }
  67% { border-color: #047857; box-shadow: 0 1px 2px rgba(16, 6, 61, .04), 0 0 0 4px rgba(4, 120, 87, .16); }
  76%, 100% { border-color: #e6e1f0; box-shadow: 0 1px 2px rgba(16, 6, 61, .04), 0 0 0 0 rgba(4, 120, 87, 0); }
}
@keyframes wz-os-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: .35; }
}

@media (prefers-reduced-motion: reduce) {
  [class*="wz-os-"] { animation: none !important; }
}

/* ==========================================================================
   compras-xml.css — ilustracion animada «del XML del proveedor a la
   recepcion» (ilus-compras-xml.html). Todo lleva el prefijo wz-cxml-.
   Aqui vive la maquetacion (tres pasos apilados en angosto, XML arriba y
   dos tarjetas en medio, tres columnas en ancho) y el movimiento. Sin
   animacion queda completa y estatica.
   Bucle de 16 s que ARRANCA COMPLETO: 0-18 % todo lleno; 18-21 % se vacian
   la orden y la recepcion; 22-40 % una franja lee el XML; 27-44 % se arma
   la orden (proveedor, tres renglones, total); 48-66 % se llena la
   recepcion (cantidad, lote y caducidad, marca de IA, series); 70 % pulsa
   «Guardar orden»; 74 % cae el sello «Recibida»; 76-100 % completa.
   ========================================================================== */

/* ---------- Maquetacion: angosto (pasos apilados) ---------- */
.wz-cxml-panel { padding: 14px 12px 16px; font-size: 13px; }
.wz-cxml-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "a" "f1" "b" "f2" "c";
  gap: 10px;
}
.wz-cxml-a { grid-area: a; }
.wz-cxml-b { grid-area: b; }
.wz-cxml-c { grid-area: c; }
.wz-cxml-f1 { grid-area: f1; }
.wz-cxml-f2 { grid-area: f2; }
.wz-cxml-fl svg { transform: rotate(90deg); }

@container (min-width: 420px) {
  .wz-cxml-panel { padding: 18px 18px 20px; font-size: 14px; }
}
/* intermedio: el XML arriba, la orden y la recepcion lado a lado */
@container (min-width: 700px) {
  .wz-cxml-panel { padding: 22px; font-size: 13.5px; }
  .wz-cxml-grid {
    grid-template-columns: minmax(0, 1fr) 2.4em minmax(0, 1fr);
    grid-template-areas: "a a a" "f1 f1 f1" "b f2 c";
    gap: 12px;
  }
  .wz-cxml-f2 svg { transform: none; }
  .wz-cxml-code { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
/* ancho: tres columnas, de izquierda a derecha */
@container (min-width: 940px) {
  .wz-cxml-panel { padding: 24px 24px 26px; font-size: clamp(12.5px, 1.22cqw, 14.5px); }
  .wz-cxml-grid {
    grid-template-columns: minmax(0, .8fr) 2.4em minmax(0, 1.1fr) 2.4em minmax(0, 1.1fr);
    grid-template-areas: "a f1 b f2 c";
    gap: 0 .9em;
    align-items: stretch;
  }
  .wz-cxml-fl svg { transform: none; }
  .wz-cxml-code { display: block; }
}

/* ---------- Movimiento ---------- */
.wz-cxml-scan, .wz-cxml-x1, .wz-cxml-x2, .wz-cxml-x3, .wz-cxml-x4, .wz-cxml-x5,
.wz-cxml-prov, .wz-cxml-o1, .wz-cxml-o2, .wz-cxml-o3, .wz-cxml-tot,
.wz-cxml-r1, .wz-cxml-l1, .wz-cxml-l2, .wz-cxml-ia, .wz-cxml-s1, .wz-cxml-s2,
.wz-cxml-btn, .wz-cxml-sello, .wz-cxml-fl-c {
  animation-duration: 16s;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(.22, 1, .36, 1);
}
.wz-cxml-scan, .wz-cxml-o1, .wz-cxml-o2, .wz-cxml-o3, .wz-cxml-ia, .wz-cxml-sello { will-change: transform, opacity; }

.wz-cxml-scan { animation-name: wz-cxml-scan; animation-timing-function: linear; }
.wz-cxml-x1 { animation-name: wz-cxml-x1; }
.wz-cxml-x2 { animation-name: wz-cxml-x2; }
.wz-cxml-x3 { animation-name: wz-cxml-x3; }
.wz-cxml-x4 { animation-name: wz-cxml-x4; }
.wz-cxml-x5 { animation-name: wz-cxml-x5; }
.wz-cxml-prov { animation-name: wz-cxml-prov; }
.wz-cxml-o1 { animation-name: wz-cxml-o1; }
.wz-cxml-o2 { animation-name: wz-cxml-o2; }
.wz-cxml-o3 { animation-name: wz-cxml-o3; }
.wz-cxml-tot { animation-name: wz-cxml-tot; }
.wz-cxml-r1 { animation-name: wz-cxml-r1; }
.wz-cxml-l1 { animation-name: wz-cxml-l1; }
.wz-cxml-l2 { animation-name: wz-cxml-l2; }
.wz-cxml-ia { animation-name: wz-cxml-ia; }
.wz-cxml-s1 { animation-name: wz-cxml-s1; }
.wz-cxml-s2 { animation-name: wz-cxml-s2; }
.wz-cxml-btn { animation-name: wz-cxml-btn; }
.wz-cxml-sello { animation-name: wz-cxml-sello; }
.wz-cxml-f1 .wz-cxml-fl-c { animation-name: wz-cxml-f1; }
.wz-cxml-f2 .wz-cxml-fl-c { animation-name: wz-cxml-f2; }

/* La franja que «lee» el XML baja de la primera a la ultima linea */
@keyframes wz-cxml-scan {
  0%, 21% { opacity: 0; top: 0; }
  23% { opacity: 1; top: 0; }
  39% { opacity: 1; top: calc(100% - 2.6em); }
  41%, 100% { opacity: 0; top: calc(100% - 2.6em); }
}
/* Cada dato que Wizerp toma del XML se enciende un instante */
@keyframes wz-cxml-x1 { 0%, 25%, 33%, 100% { background: rgba(246, 147, 33, 0); } 27%, 30% { background: rgba(246, 147, 33, .2); } }
@keyframes wz-cxml-x2 { 0%, 28%, 36%, 100% { background: rgba(246, 147, 33, 0); } 30%, 33% { background: rgba(246, 147, 33, .2); } }
@keyframes wz-cxml-x3 { 0%, 50%, 60%, 100% { background: rgba(246, 147, 33, 0); } 52%, 57% { background: rgba(246, 147, 33, .22); } }
@keyframes wz-cxml-x4 { 0%, 60%, 66%, 100% { background: rgba(246, 147, 33, 0); } 62%, 64% { background: rgba(246, 147, 33, .22); } }
@keyframes wz-cxml-x5 { 0%, 63%, 69%, 100% { background: rgba(246, 147, 33, 0); } 65%, 67% { background: rgba(246, 147, 33, .22); } }

/* Flechas: un pulso cuando la informacion pasa al siguiente paso */
@keyframes wz-cxml-f1 {
  0%, 25%, 33%, 100% { box-shadow: 0 0 0 0 rgba(71, 35, 217, 0); background: #ffffff; color: #4723D9; }
  28% { box-shadow: 0 0 0 6px rgba(71, 35, 217, .16); background: #4723D9; color: #ffffff; }
}
@keyframes wz-cxml-f2 {
  0%, 45%, 53%, 100% { box-shadow: 0 0 0 0 rgba(71, 35, 217, 0); background: #ffffff; color: #4723D9; }
  48% { box-shadow: 0 0 0 6px rgba(71, 35, 217, .16); background: #4723D9; color: #ffffff; }
}

/* Orden de compra: proveedor, renglones y total */
@keyframes wz-cxml-prov {
  0%, 18% { opacity: 1; }
  21%, 27% { opacity: 0; }
  31%, 100% { opacity: 1; }
}
@keyframes wz-cxml-o1 {
  0%, 18% { opacity: 1; transform: none; }
  21%, 30% { opacity: 0; transform: translate3d(-10px, 0, 0); }
  34%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-cxml-o2 {
  0%, 18% { opacity: 1; transform: none; }
  21%, 34% { opacity: 0; transform: translate3d(-10px, 0, 0); }
  38%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-cxml-o3 {
  0%, 18% { opacity: 1; transform: none; }
  21%, 38% { opacity: 0; transform: translate3d(-10px, 0, 0); }
  42%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-cxml-tot {
  0%, 18% { opacity: 1; transform: none; box-shadow: 0 0 0 0 rgba(71, 35, 217, 0); }
  21%, 42% { opacity: 0; transform: translate3d(0, 8px, 0); box-shadow: 0 0 0 0 rgba(71, 35, 217, 0); }
  45% { opacity: 1; transform: none; box-shadow: 0 0 0 5px rgba(71, 35, 217, .22); }
  49%, 100% { opacity: 1; transform: none; box-shadow: 0 0 0 0 rgba(71, 35, 217, 0); }
}

/* Recepcion: cantidad, lote, caducidad, marca de IA y series */
@keyframes wz-cxml-r1 {
  0%, 18% { opacity: 1; }
  21%, 48% { opacity: 0; }
  51%, 100% { opacity: 1; }
}
@keyframes wz-cxml-l1 {
  0%, 18% { opacity: 1; transform: none; }
  21%, 52% { opacity: 0; transform: translate3d(0, 6px, 0); }
  55%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-cxml-l2 {
  0%, 18% { opacity: 1; transform: none; }
  21%, 54% { opacity: 0; transform: translate3d(0, 6px, 0); }
  57%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-cxml-ia {
  0%, 18% { opacity: 1; transform: none; }
  21%, 57% { opacity: 0; transform: scale(.7); }
  60% { opacity: 1; transform: scale(1.08); }
  62%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-cxml-s1 {
  0%, 18% { opacity: 1; transform: none; }
  21%, 62% { opacity: 0; transform: translate3d(0, 6px, 0); }
  65%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-cxml-s2 {
  0%, 18% { opacity: 1; transform: none; }
  21%, 65% { opacity: 0; transform: translate3d(0, 6px, 0); }
  68%, 100% { opacity: 1; transform: none; }
}
/* «Guardar orden» pulsa y enseguida cae el sello */
@keyframes wz-cxml-btn {
  0%, 68%, 76%, 100% { box-shadow: 0 0 0 0 rgba(71, 35, 217, 0); transform: none; }
  71% { box-shadow: 0 0 0 6px rgba(71, 35, 217, .24); transform: scale(.96); }
}
@keyframes wz-cxml-sello {
  0%, 18% { opacity: 1; transform: none; }
  21%, 72% { opacity: 0; transform: scale(1.7); }
  75% { opacity: 1; transform: scale(.94); }
  77%, 100% { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  [class*="wz-cxml-"] { animation: none !important; }
}

/* ==========================================================================
   arranque-sat.css — ilustracion animada de la tarjeta «Importando tu
   informacion del SAT» del tablero (ilus-arranque-sat.html). Prefijo wz-arr-.
   Textos y cifras: los de la tarjeta real (js/sistema/onboarding-sat.js y
   capturas arr-listo / arr-analizando / arr-eleccion).
   Bucle de 16 s que ARRANCA COMPLETO (asi queda sin animacion o con
   prefers-reduced-motion): 0-13 % «lista»; 16-27 % Conexion (valida la
   CIEC); 27-42 % Descarga (contador a 244); 42-55 % analisis de facturas;
   55-69 % Eleccion (pulsa «Importar todo» al 65 %); 69-83 % Catalogos (las
   cuatro cifras suben); 83-100 % «Tu informacion del SAT esta lista».
   ========================================================================== */

/* ---------- Maquetacion ---------- */
.wz-arr-card { padding: 16px 14px 14px; font-size: 13px; }
.wz-arr-card p { margin: 0; }
.wz-arr-card b { font-weight: 600; }
.wz-arr-card i { font-style: normal; }
.wz-arr-card svg { display: block; width: 100%; height: 100%; }
.wz-arr-stack { display: grid; }
.wz-arr-stack > * { grid-area: 1 / 1; min-width: 0; }

.wz-arr-head { display: flex; align-items: flex-start; gap: .9em; }
.wz-arr-ic { position: relative; flex: 0 0 auto; width: 2.9em; height: 2.9em; border-radius: .8em; background: #ecfdf5; }
.wz-arr-ic-run, .wz-arr-ic-ok { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.wz-arr-ic-run { color: #9a5600; opacity: 0; }
.wz-arr-ic-run svg { width: 1.35em; height: 1.35em; }
.wz-arr-ic-ok { color: #047857; }
.wz-arr-ic-ok svg { position: relative; width: 1.3em; height: 1.3em; }
.wz-arr-burst { position: absolute; inset: 0; border-radius: .8em; border: 2px solid #047857; opacity: 0; }
.wz-arr-ttl { position: relative; flex: 1 1 auto; min-width: 0; padding-top: .15em; }
.wz-arr-tstack { position: relative; display: grid; }
.wz-arr-tstack > * { grid-area: 1 / 1; }
.wz-arr-t { display: block; font-size: 1.22em; line-height: 1.25; letter-spacing: -.015em; color: #0e0a1f; }
.wz-arr-talt { opacity: 0; }
.wz-arr-talt.wz-arr-v4 { position: absolute; left: 0; right: 0; top: 0; }
.wz-arr-meta { display: block; margin-top: .25em; font-size: .92em; color: #5b5470; font-family: 'Geist Mono', ui-monospace, monospace; letter-spacing: -.01em; }
.wz-arr-live { display: none; flex: 0 0 auto; align-items: center; gap: .5em; margin-top: .35em; padding: .38em .8em; border-radius: 999px; background: #f4f1ff; color: #3a1cb0; font-size: .82em; font-weight: 600; line-height: 1; opacity: 0; }
.wz-arr-live i { width: .55em; height: .55em; border-radius: 50%; background: #4723D9; }

/* linea de 5 etapas */
.wz-arr-steps { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 1.5em; }
.wz-arr-track { position: absolute; left: 0; right: 0; top: calc(.75em - 1.5px); height: 3px; border-radius: 3px; background: #ebe4ff; overflow: hidden; }
.wz-arr-fill { display: block; width: 100%; height: 100%; background: #4723D9; transform-origin: left center; }
.wz-arr-stp { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0; }
.wz-arr-dot { position: relative; width: 1.5em; height: 1.5em; box-sizing: border-box; border-radius: 50%; background: #ffffff; border: 2px solid #d6c8ff; }
.wz-arr-run, .wz-arr-done { position: absolute; inset: -2px; border-radius: 50%; box-sizing: border-box; }
.wz-arr-run { background: #ffffff; border: 3px solid #f69321; opacity: 0; }
.wz-arr-run i { position: absolute; inset: -7px; border-radius: 50%; background: rgba(246, 147, 33, .28); z-index: -1; }
.wz-arr-done { display: flex; align-items: center; justify-content: center; background: #047857; color: #ffffff; }
.wz-arr-done svg { width: .85em; height: .85em; }
.wz-arr-stp b { display: block; margin-top: .6em; font-size: .76em; letter-spacing: -.01em; line-height: 1.2; color: #0e0a1f; overflow-wrap: anywhere; }
.wz-arr-sub { display: none; margin-top: .2em; font-size: .88em; line-height: 1.25; color: #5b5470; }

/* «ahora mismo» */
.wz-arr-now { position: relative; margin-top: 1.3em; padding: 1.1em 1.1em 1.15em; border-radius: 1em; background: #f4f1ff; overflow: hidden; }
.wz-arr-pn { display: flex; flex-direction: column; gap: .85em; opacity: 0; }
.wz-arr-pn.wz-arr-v6 { opacity: 1; }
.wz-arr-row { display: flex; flex-direction: column; gap: .6em; }
.wz-arr-tx { flex: 1 1 auto; min-width: 0; }
.wz-arr-what { font-size: 1.12em; font-weight: 600; line-height: 1.3; letter-spacing: -.01em; color: #0e0a1f; }
.wz-arr-why { margin-top: .35em !important; color: #2a2438; }
.wz-arr-note, .wz-arr-safe { display: flex; align-items: flex-start; gap: .55em; margin-top: .55em !important; color: #2a2438; }
.wz-arr-note i { flex: 0 0 auto; width: .5em; height: .5em; margin-top: .5em; border-radius: 50%; background: #b6a0ff; }
.wz-arr-safe i { flex: 0 0 auto; width: 1.25em; height: 1.25em; margin-top: .1em; box-sizing: border-box; padding: .22em; border-radius: 50%; background: #ecfdf5; color: #047857; }
.wz-arr-numbox { position: relative; flex: 0 0 auto; }
.wz-arr-num { display: flex; align-items: baseline; gap: .45em; color: #0e0a1f; }
.wz-arr-num small { font-size: .95em; color: #5b5470; white-space: nowrap; }
.wz-arr-num .wz-arr-roll { font-size: 1.9em; font-weight: 700; letter-spacing: -.02em; }
.wz-arr-roll { display: inline-block; height: 1.15em; line-height: 1.15; overflow: hidden; vertical-align: bottom; font-variant-numeric: tabular-nums; }
.wz-arr-strip { display: flex; flex-direction: column; }
.wz-arr-strip > span { display: block; height: 1.15em; }
.wz-arr-bar { height: .5em; border-radius: 999px; background: #e0d6ff; overflow: hidden; }
.wz-arr-bar > span { display: block; width: 100%; height: 100%; border-radius: 999px; background: #4723D9; transform-origin: left center; }
.wz-arr-ind > span { width: 34%; }
.wz-arr-pn > .wz-arr-bar, .wz-arr-pn > .wz-arr-acts { margin-top: auto; }
.wz-arr-acts { display: flex; flex-wrap: wrap; gap: .6em; }
.wz-arr-btn { position: relative; display: inline-flex; align-items: center; padding: .62em .8em; font-size: .95em; border-radius: .7em; background: #ffffff; border: 1px solid #d6c8ff; color: #2a2438; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.wz-arr-v3 .wz-arr-note, .wz-arr-v4 .wz-arr-note, .wz-arr-v5 .wz-arr-note { display: none; }
.wz-arr-btn-p { background: #4723D9; border-color: #4723D9; color: #ffffff; }
.wz-arr-rip { position: absolute; inset: -1px; border-radius: .7em; border: 2px solid #4723D9; opacity: 0; }
.wz-arr-doc { position: absolute; left: .5em; top: .15em; width: 1.25em; height: 1.6em; box-sizing: border-box; padding: .32em .22em 0; border-radius: .22em; background: #ffffff; border: 1px solid #b6a0ff; box-shadow: 0 6px 12px -6px rgba(26, 11, 92, .45); opacity: 0; display: none; --wz-arr-dx: -4.6em; }
.wz-arr-doc i { display: block; height: 2px; margin-bottom: .2em; border-radius: 2px; background: #d6c8ff; }
.wz-arr-doc i:first-child { width: 55%; background: #f69321; }

/* cifras */
.wz-arr-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7em; margin-top: .8em; }
.wz-arr-st { min-width: 0; padding: .85em 1em .9em; border-radius: .95em; border: 1px solid #e6e1f0; background: #ffffff; }
.wz-arr-st small { display: block; font-size: .74em; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #5b5470; }
.wz-arr-big { margin-top: .15em; font-size: 1.85em; line-height: 1.15; color: #0e0a1f; }
.wz-arr-big b { font-weight: 700; letter-spacing: -.02em; }
.wz-arr-dash { color: #b6a0ff; }
.wz-arr-ssub { margin-top: .1em; font-size: .92em; color: #5b5470; line-height: 1.3; }
.wz-arr-v12, .wz-arr-v3, .wz-arr-v4, .wz-arr-v34 { opacity: 0; }
.wz-arr-c2, .wz-arr-c3 { transform: translate3d(0, -87.5%, 0); }
.wz-arr-k1, .wz-arr-k2, .wz-arr-k3, .wz-arr-k4 { transform: translate3d(0, -80%, 0); }

@container (min-width: 520px) {
  .wz-arr-card { padding: 22px 22px 20px; font-size: 14px; }
  .wz-arr-live { display: inline-flex; }
  .wz-arr-sub { display: block; }
  .wz-arr-stp b { font-size: .98em; letter-spacing: 0; }
  .wz-arr-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .wz-arr-row { flex-direction: row; align-items: flex-start; gap: 1.6em; }
  .wz-arr-num { flex-direction: column; align-items: flex-end; gap: 0; }
  .wz-arr-num .wz-arr-roll { font-size: 2.1em; text-align: right; }
  .wz-arr-doc { display: block; left: auto; right: .2em; }
  .wz-arr-v3 .wz-arr-note, .wz-arr-v4 .wz-arr-note, .wz-arr-v5 .wz-arr-note { display: flex; }
  .wz-arr-btn { font-size: 1em; padding: .62em 1.05em; }
  .wz-arr-now { padding: 1.25em 1.4em 1.35em; }
}
@container (min-width: 900px) {
  .wz-arr-card { padding: 30px 32px 30px; font-size: 15.5px; }
  .wz-arr-stats { gap: 1em; margin-top: 1em; }
  .wz-arr-st { padding: 1.05em 1.25em 1.1em; }
}

/* ---------- Movimiento ---------- */
.wz-arr-v1, .wz-arr-v2, .wz-arr-v3, .wz-arr-v4, .wz-arr-v5, .wz-arr-v6, .wz-arr-v12, .wz-arr-v34, .wz-arr-v56,
.wz-arr-vimp, .wz-arr-vlive, .wz-arr-ic, .wz-arr-ic-run, .wz-arr-ic-ok, .wz-arr-burst, .wz-arr-fill,
.wz-arr-run, .wz-arr-done, .wz-arr-lb, .wz-arr-strip, .wz-arr-b2, .wz-arr-b3, .wz-arr-b5,
.wz-arr-doc, .wz-arr-press, .wz-arr-rip, .wz-arr-st, .wz-arr-found {
  animation-duration: 16s;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(.22, 1, .36, 1);
}
.wz-arr-fill, .wz-arr-strip, .wz-arr-doc, .wz-arr-done { will-change: transform, opacity; }

.wz-arr-v1 { animation-name: wz-arr-v1; }
.wz-arr-v2 { animation-name: wz-arr-v2; }
.wz-arr-v3 { animation-name: wz-arr-v3; }
.wz-arr-v4 { animation-name: wz-arr-v4; }
.wz-arr-v5 { animation-name: wz-arr-v5; }
.wz-arr-v6 { animation-name: wz-arr-v6; }
.wz-arr-v12 { animation-name: wz-arr-v12; }
.wz-arr-v34 { animation-name: wz-arr-v34; }
.wz-arr-v56 { animation-name: wz-arr-v56; }
.wz-arr-found { animation-name: wz-arr-v34, wz-arr-found; }
.wz-arr-vimp { animation-name: wz-arr-vimp; }
.wz-arr-vlive, .wz-arr-ic-run { animation-name: wz-arr-vlive; }
.wz-arr-ic { animation-name: wz-arr-ic; }
.wz-arr-ic-ok { animation-name: wz-arr-ic-ok; }
.wz-arr-burst { animation-name: wz-arr-burst; }
.wz-arr-fill { animation-name: wz-arr-fill; animation-timing-function: cubic-bezier(.65, 0, .35, 1); }

@keyframes wz-arr-v6 {
  0%, 13% { opacity: 1; transform: none; }
  14.5% { opacity: 0; transform: none; }
  83% { opacity: 0; transform: translate3d(0, 6px, 0); }
  85.5%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-arr-v1 {
  0%, 16% { opacity: 0; transform: translate3d(0, 6px, 0); }
  17.8%, 26% { opacity: 1; transform: none; }
  27%, 100% { opacity: 0; transform: none; }
}
@keyframes wz-arr-v2 {
  0%, 27% { opacity: 0; transform: translate3d(0, 6px, 0); }
  28.8%, 41% { opacity: 1; transform: none; }
  42%, 100% { opacity: 0; transform: none; }
}
@keyframes wz-arr-v3 {
  0%, 42% { opacity: 0; transform: translate3d(0, 6px, 0); }
  43.8%, 54% { opacity: 1; transform: none; }
  55%, 100% { opacity: 0; transform: none; }
}
@keyframes wz-arr-v4 {
  0%, 55% { opacity: 0; transform: translate3d(0, 6px, 0); }
  56.8%, 68% { opacity: 1; transform: none; }
  69%, 100% { opacity: 0; transform: none; }
}
@keyframes wz-arr-v5 {
  0%, 69% { opacity: 0; transform: translate3d(0, 6px, 0); }
  70.8%, 82% { opacity: 1; transform: none; }
  83%, 100% { opacity: 0; transform: none; }
}
@keyframes wz-arr-v12 {
  0%, 16% { opacity: 0; }
  17.8%, 41% { opacity: 1; }
  42%, 100% { opacity: 0; }
}
@keyframes wz-arr-v34 {
  0%, 42% { opacity: 0; }
  43.8%, 68% { opacity: 1; }
  69%, 100% { opacity: 0; }
}
@keyframes wz-arr-found {
  0%, 55% { color: #b6a0ff; }
  57%, 100% { color: #0e0a1f; }
}
@keyframes wz-arr-v56 {
  0%, 13% { opacity: 1; }
  14.5%, 69% { opacity: 0; }
  70.8%, 100% { opacity: 1; }
}
@keyframes wz-arr-vimp {
  0%, 16% { opacity: 0; }
  17.8%, 54% { opacity: 1; }
  55%, 69% { opacity: 0; }
  70.8%, 82% { opacity: 1; }
  83%, 100% { opacity: 0; }
}
@keyframes wz-arr-vlive {
  0%, 16% { opacity: 0; }
  17.8%, 82% { opacity: 1; }
  83%, 100% { opacity: 0; }
}
@keyframes wz-arr-ic {
  0%, 13% { background-color: #ecfdf5; }
  16%, 83% { background-color: #fff3e0; }
  85.5%, 100% { background-color: #ecfdf5; }
}
@keyframes wz-arr-ic-ok {
  0%, 13% { opacity: 1; transform: none; }
  14.5%, 83% { opacity: 0; transform: scale(.5); }
  85% { opacity: 1; transform: scale(1.18); }
  87.5%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-arr-burst {
  0%, 83.5% { opacity: 0; transform: scale(.7); }
  84.5% { opacity: .55; transform: scale(.9); }
  91%, 100% { opacity: 0; transform: scale(1.9); }
}
/* la linea se llena hasta el centro de la etapa en curso (10/30/50/70 %) */
@keyframes wz-arr-fill {
  0%, 13% { transform: scaleX(1); opacity: 1; }
  14.5% { transform: scaleX(1); opacity: 0; }
  15% { transform: scaleX(0); opacity: 0; }
  16% { transform: scaleX(0); opacity: 1; }
  18%, 27% { transform: scaleX(.1); opacity: 1; }
  29.5%, 42% { transform: scaleX(.3); }
  44.5%, 69% { transform: scaleX(.5); }
  71.5%, 83% { transform: scaleX(.7); }
  86.5%, 100% { transform: scaleX(1); opacity: 1; }
}

/* nodos: en curso (aro naranja con pulso) -> palomita verde */
.wz-arr-run i { animation: wz-arr-halo 1.4s ease-in-out infinite; }
.wz-arr-ic-run svg { animation: wz-arr-bob 1.4s ease-in-out infinite; }
.wz-arr-live i { animation: wz-arr-blink 1.4s ease-in-out infinite; }
.wz-arr-ind > span { animation: wz-arr-ind 1.5s cubic-bezier(.65, 0, .35, 1) infinite; }
@keyframes wz-arr-halo { 0%, 100% { transform: scale(.72); opacity: .9; } 50% { transform: scale(1.12); opacity: .25; } }
@keyframes wz-arr-bob { 0%, 100% { transform: translate3d(0, -2px, 0); } 50% { transform: translate3d(0, 2px, 0); } }
@keyframes wz-arr-blink { 0%, 100% { opacity: 1; } 50% { opacity: .3; } }
@keyframes wz-arr-ind { 0% { transform: translate3d(-110%, 0, 0); } 100% { transform: translate3d(300%, 0, 0); } }

.wz-arr-run1 { animation-name: wz-arr-run1; }
.wz-arr-run2 { animation-name: wz-arr-run2; }
.wz-arr-run3 { animation-name: wz-arr-run3; }
.wz-arr-run4 { animation-name: wz-arr-run4; }
.wz-arr-done1 { animation-name: wz-arr-done1; }
.wz-arr-done2 { animation-name: wz-arr-done2; }
.wz-arr-done3 { animation-name: wz-arr-done3; }
.wz-arr-done4 { animation-name: wz-arr-done4; }
.wz-arr-done5 { animation-name: wz-arr-done5; }
.wz-arr-lb1 { animation-name: wz-arr-lb1; }
.wz-arr-lb2 { animation-name: wz-arr-lb2; }
.wz-arr-lb3 { animation-name: wz-arr-lb3; }
.wz-arr-lb4 { animation-name: wz-arr-lb4; }
.wz-arr-lb5 { animation-name: wz-arr-lb5; }

@keyframes wz-arr-run1 { 0%, 17% { opacity: 0; } 18.2%, 27% { opacity: 1; } 28%, 100% { opacity: 0; } }
@keyframes wz-arr-run2 { 0%, 28.5% { opacity: 0; } 29.7%, 42% { opacity: 1; } 43%, 100% { opacity: 0; } }
@keyframes wz-arr-run3 { 0%, 43.5% { opacity: 0; } 44.7%, 69% { opacity: 1; } 70%, 100% { opacity: 0; } }
@keyframes wz-arr-run4 { 0%, 70.5% { opacity: 0; } 71.7%, 83% { opacity: 1; } 84%, 100% { opacity: 0; } }
@keyframes wz-arr-done1 {
  0%, 13% { opacity: 1; transform: none; }
  14.5%, 27% { opacity: 0; transform: scale(.4); }
  28.2% { opacity: 1; transform: scale(1.2); }
  29.8%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-arr-done2 {
  0%, 13% { opacity: 1; transform: none; }
  14.5%, 42% { opacity: 0; transform: scale(.4); }
  43.2% { opacity: 1; transform: scale(1.2); }
  44.8%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-arr-done3 {
  0%, 13% { opacity: 1; transform: none; }
  14.5%, 69% { opacity: 0; transform: scale(.4); }
  70.2% { opacity: 1; transform: scale(1.2); }
  71.8%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-arr-done4 {
  0%, 13% { opacity: 1; transform: none; }
  14.5%, 83% { opacity: 0; transform: scale(.4); }
  84.2% { opacity: 1; transform: scale(1.2); }
  85.8%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-arr-done5 {
  0%, 13% { opacity: 1; transform: none; }
  14.5%, 85.5% { opacity: 0; transform: scale(.4); }
  86.7% { opacity: 1; transform: scale(1.25); }
  88.5%, 100% { opacity: 1; transform: none; }
}
@keyframes wz-arr-lb1 { 0%, 13% { opacity: 1; } 14.5%, 16.5% { opacity: .5; } 18%, 100% { opacity: 1; } }
@keyframes wz-arr-lb2 { 0%, 13% { opacity: 1; } 14.5%, 28% { opacity: .5; } 29.5%, 100% { opacity: 1; } }
@keyframes wz-arr-lb3 { 0%, 13% { opacity: 1; } 14.5%, 43% { opacity: .5; } 44.5%, 100% { opacity: 1; } }
@keyframes wz-arr-lb4 { 0%, 13% { opacity: 1; } 14.5%, 70% { opacity: .5; } 71.5%, 100% { opacity: 1; } }
@keyframes wz-arr-lb5 { 0%, 13% { opacity: 1; } 14.5%, 84.5% { opacity: .5; } 86.5%, 100% { opacity: 1; } }

/* contadores y barras */
.wz-arr-c2 { animation-name: wz-arr-c2; }
.wz-arr-c3 { animation-name: wz-arr-c3; }
.wz-arr-b2 { animation-name: wz-arr-b2; animation-timing-function: cubic-bezier(.4, 0, .3, 1); }
.wz-arr-b3 { animation-name: wz-arr-b3; animation-timing-function: cubic-bezier(.4, 0, .3, 1); }
.wz-arr-b5 { animation-name: wz-arr-b5; animation-timing-function: cubic-bezier(.4, 0, .3, 1); }
.wz-arr-k1 { animation-name: wz-arr-k1; }
.wz-arr-k2 { animation-name: wz-arr-k2; }
.wz-arr-k3 { animation-name: wz-arr-k3; }
.wz-arr-k4 { animation-name: wz-arr-k4; }
@keyframes wz-arr-c2 {
  0%, 28.5% { transform: translate3d(0, 0, 0); animation-timing-function: steps(7, end); }
  40%, 100% { transform: translate3d(0, -87.5%, 0); }
}
@keyframes wz-arr-c3 {
  0%, 43.5% { transform: translate3d(0, 0, 0); animation-timing-function: steps(7, end); }
  53.5%, 100% { transform: translate3d(0, -87.5%, 0); }
}
@keyframes wz-arr-b2 { 0%, 28.5% { transform: scaleX(0); } 40%, 100% { transform: scaleX(1); } }
@keyframes wz-arr-b3 { 0%, 43.5% { transform: scaleX(0); } 53.5%, 100% { transform: scaleX(1); } }
@keyframes wz-arr-b5 { 0%, 70.5% { transform: scaleX(0); } 81.5%, 100% { transform: scaleX(1); } }
@keyframes wz-arr-k1 {
  0%, 14.6% { transform: translate3d(0, -80%, 0); animation-timing-function: steps(1, end); }
  14.7%, 71% { transform: translate3d(0, 0, 0); animation-timing-function: steps(4, end); }
  75.5%, 100% { transform: translate3d(0, -80%, 0); }
}
@keyframes wz-arr-k2 {
  0%, 14.6% { transform: translate3d(0, -80%, 0); animation-timing-function: steps(1, end); }
  14.7%, 72.8% { transform: translate3d(0, 0, 0); animation-timing-function: steps(4, end); }
  77.3%, 100% { transform: translate3d(0, -80%, 0); }
}
@keyframes wz-arr-k3 {
  0%, 14.6% { transform: translate3d(0, -80%, 0); animation-timing-function: steps(1, end); }
  14.7%, 74.6% { transform: translate3d(0, 0, 0); animation-timing-function: steps(4, end); }
  79.1%, 100% { transform: translate3d(0, -80%, 0); }
}
@keyframes wz-arr-k4 {
  0%, 14.6% { transform: translate3d(0, -80%, 0); animation-timing-function: steps(1, end); }
  14.7%, 76.4% { transform: translate3d(0, 0, 0); animation-timing-function: steps(4, end); }
  80.9%, 100% { transform: translate3d(0, -80%, 0); }
}
/* cada cifra se enciende al terminar de subir */
.wz-arr-st1 { animation-name: wz-arr-st1; }
.wz-arr-st2 { animation-name: wz-arr-st2; }
.wz-arr-st3 { animation-name: wz-arr-st3; }
.wz-arr-st4 { animation-name: wz-arr-st4; }
@keyframes wz-arr-st1 { 0%, 75% { border-color: #e6e1f0; box-shadow: 0 0 0 0 rgba(71, 35, 217, 0); } 76.2% { border-color: #4723D9; box-shadow: 0 0 0 4px rgba(71, 35, 217, .12); } 82%, 100% { border-color: #e6e1f0; box-shadow: 0 0 0 0 rgba(71, 35, 217, 0); } }
@keyframes wz-arr-st2 { 0%, 76.8% { border-color: #e6e1f0; box-shadow: 0 0 0 0 rgba(71, 35, 217, 0); } 78% { border-color: #4723D9; box-shadow: 0 0 0 4px rgba(71, 35, 217, .12); } 83.8%, 100% { border-color: #e6e1f0; box-shadow: 0 0 0 0 rgba(71, 35, 217, 0); } }
@keyframes wz-arr-st3 { 0%, 78.6% { border-color: #e6e1f0; box-shadow: 0 0 0 0 rgba(71, 35, 217, 0); } 79.8% { border-color: #4723D9; box-shadow: 0 0 0 4px rgba(71, 35, 217, .12); } 85.6%, 100% { border-color: #e6e1f0; box-shadow: 0 0 0 0 rgba(71, 35, 217, 0); } }
@keyframes wz-arr-st4 { 0%, 80.4% { border-color: #e6e1f0; box-shadow: 0 0 0 0 rgba(71, 35, 217, 0); } 81.6% { border-color: #4723D9; box-shadow: 0 0 0 4px rgba(71, 35, 217, .12); } 87.4%, 100% { border-color: #e6e1f0; box-shadow: 0 0 0 0 rgba(71, 35, 217, 0); } }

/* facturas que «entran» al contador durante la descarga */
.wz-arr-d1 { animation-name: wz-arr-d1; }
.wz-arr-d2 { animation-name: wz-arr-d2; }
.wz-arr-d3 { animation-name: wz-arr-d3; }
@keyframes wz-arr-d1 {
  0%, 28.5% { opacity: 0; transform: translate3d(var(--wz-arr-dx), -.5em, 0) rotate(-10deg); }
  30% { opacity: 1; }
  32.6% { opacity: 0; transform: translate3d(0, .25em, 0) rotate(0deg) scale(.55); }
  32.7%, 34.5% { opacity: 0; transform: translate3d(var(--wz-arr-dx), .5em, 0) rotate(8deg); }
  36% { opacity: 1; }
  38.6%, 100% { opacity: 0; transform: translate3d(0, .25em, 0) rotate(0deg) scale(.55); }
}
@keyframes wz-arr-d2 {
  0%, 30% { opacity: 0; transform: translate3d(var(--wz-arr-dx), .7em, 0) rotate(9deg); }
  31.5% { opacity: 1; }
  34.1% { opacity: 0; transform: translate3d(0, .25em, 0) rotate(0deg) scale(.55); }
  34.2%, 36% { opacity: 0; transform: translate3d(var(--wz-arr-dx), -.7em, 0) rotate(-7deg); }
  37.5% { opacity: 1; }
  40%, 100% { opacity: 0; transform: translate3d(0, .25em, 0) rotate(0deg) scale(.55); }
}
@keyframes wz-arr-d3 {
  0%, 32% { opacity: 0; transform: translate3d(var(--wz-arr-dx), 0, 0) rotate(-4deg); }
  33.5% { opacity: 1; }
  36.2%, 100% { opacity: 0; transform: translate3d(0, .25em, 0) rotate(0deg) scale(.55); }
}

/* «Importar todo»: se pulsa */
.wz-arr-press { animation-name: wz-arr-press; }
.wz-arr-rip { animation-name: wz-arr-rip; }
@keyframes wz-arr-press { 0%, 64.5% { transform: none; } 65.6% { transform: scale(.94); } 67.2%, 100% { transform: none; } }
@keyframes wz-arr-rip { 0%, 65.4% { opacity: 0; transform: scale(1); } 65.8% { opacity: .6; transform: scale(1); } 68.6%, 100% { opacity: 0; transform: scale(1.22, 1.55); } }

/* angosto: el titulo largo ocupa el lugar del subtitulo mientras dura */
@container (max-width: 639px) {
  .wz-arr-meta { animation: wz-arr-meta 16s cubic-bezier(.22, 1, .36, 1) infinite both; }
}
@keyframes wz-arr-meta { 0%, 54% { opacity: 1; } 55%, 69% { opacity: 0; } 70.5%, 100% { opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  .wz-arr-card *, .wz-arr-card *::before, .wz-arr-card *::after { animation: none !important; }
}

/* ==========================================================================
   hero.css — hero de la portada (tablero vivo, recorrido de una venta, rejilla
   de modulos y franja de confianza). Todo lleva el prefijo wz-hero-.
   Sin animacion (o con prefers-reduced-motion) todo queda en su estado final:
   grafica dibujada y los cinco pasos con su palomita.
   ========================================================================== */

/* ---------- Grafica: la linea se dibuja una vez y el ultimo punto late ---------- */
.wz-hero-line { stroke-dasharray: 1; stroke-dashoffset: 0; animation: wz-hero-draw 2.2s cubic-bezier(.22, 1, .36, 1) .5s both; }
.wz-hero-area { animation: wz-hero-fade 1.2s ease 1.5s both; }
.wz-hero-dot { animation: wz-hero-fade .4s ease 2.4s both; }
.wz-hero-ring { opacity: 0; transform-box: fill-box; transform-origin: center; animation: wz-hero-ring 2.6s ease-out 2.8s infinite; }
.wz-hero-live { animation: wz-hero-blink 2.4s ease-in-out infinite; }
@keyframes wz-hero-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes wz-hero-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes wz-hero-ring { 0% { transform: scale(1); opacity: .7; } 70%, 100% { transform: scale(3.6); opacity: 0; } }
@keyframes wz-hero-blink { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

/* ---------- Recorrido de una venta: bucle de 11 s, un paso cada ~1.8 s ---------- */
.wz-hero-feed { margin: -72px 48px 0 -36px; }
.wz-hero-step { animation: 11s ease-in-out infinite; }
.wz-hero-ok { animation: 11s cubic-bezier(.34, 1.56, .64, 1) infinite; }
.wz-hero-s1 { animation-name: wz-hero-row1; } .wz-hero-s1 .wz-hero-ok { animation-name: wz-hero-ok1; }
.wz-hero-s2 { animation-name: wz-hero-row2; } .wz-hero-s2 .wz-hero-ok { animation-name: wz-hero-ok2; }
.wz-hero-s3 { animation-name: wz-hero-row3; } .wz-hero-s3 .wz-hero-ok { animation-name: wz-hero-ok3; }
.wz-hero-s4 { animation-name: wz-hero-row4; } .wz-hero-s4 .wz-hero-ok { animation-name: wz-hero-ok4; }
.wz-hero-s5 { animation-name: wz-hero-row5; } .wz-hero-s5 .wz-hero-ok { animation-name: wz-hero-ok5; }
@keyframes wz-hero-row1 { 0%, 5% { opacity: .5; background-color: rgba(244,241,255,0); } 8%, 18% { opacity: 1; background-color: #f4f1ff; } 22%, 95% { opacity: 1; background-color: rgba(244,241,255,0); } 100% { opacity: .5; background-color: rgba(244,241,255,0); } }
@keyframes wz-hero-row2 { 0%, 21% { opacity: .5; background-color: rgba(244,241,255,0); } 24%, 34% { opacity: 1; background-color: #f4f1ff; } 38%, 95% { opacity: 1; background-color: rgba(244,241,255,0); } 100% { opacity: .5; background-color: rgba(244,241,255,0); } }
@keyframes wz-hero-row3 { 0%, 37% { opacity: .5; background-color: rgba(244,241,255,0); } 40%, 50% { opacity: 1; background-color: #f4f1ff; } 54%, 95% { opacity: 1; background-color: rgba(244,241,255,0); } 100% { opacity: .5; background-color: rgba(244,241,255,0); } }
@keyframes wz-hero-row4 { 0%, 53% { opacity: .5; background-color: rgba(244,241,255,0); } 56%, 66% { opacity: 1; background-color: #f4f1ff; } 70%, 95% { opacity: 1; background-color: rgba(244,241,255,0); } 100% { opacity: .5; background-color: rgba(244,241,255,0); } }
@keyframes wz-hero-row5 { 0%, 69% { opacity: .5; background-color: rgba(244,241,255,0); } 72%, 82% { opacity: 1; background-color: #f4f1ff; } 86%, 95% { opacity: 1; background-color: rgba(244,241,255,0); } 100% { opacity: .5; background-color: rgba(244,241,255,0); } }
@keyframes wz-hero-ok1 { 0%, 6% { opacity: 0; transform: scale(.4); } 9.5%, 95% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(.4); } }
@keyframes wz-hero-ok2 { 0%, 22% { opacity: 0; transform: scale(.4); } 25.5%, 95% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(.4); } }
@keyframes wz-hero-ok3 { 0%, 38% { opacity: 0; transform: scale(.4); } 41.5%, 95% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(.4); } }
@keyframes wz-hero-ok4 { 0%, 54% { opacity: 0; transform: scale(.4); } 57.5%, 95% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(.4); } }
@keyframes wz-hero-ok5 { 0%, 70% { opacity: 0; transform: scale(.4); } 73.5%, 95% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(.4); } }

/* ---------- Rejilla de modulos ---------- */
.wz-hero-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.wz-hero-mod { transition: transform .25s cubic-bezier(.22, 1, .36, 1), border-color .2s ease, box-shadow .25s ease; }
.wz-hero-mod:hover, .wz-hero-mod:focus-visible { transform: translateY(-4px); border-color: #b6a0ff !important; box-shadow: 0 18px 30px -20px rgba(26, 11, 92, .45); }
.wz-hero-ico { transition: transform .3s cubic-bezier(.22, 1, .36, 1); }
.wz-hero-mod:hover .wz-hero-ico { transform: scale(1.08) rotate(-5deg); }
.wz-hero-go { opacity: 0; transform: translateX(-4px); transition: opacity .2s ease, transform .25s ease; }
.wz-hero-mod:hover .wz-hero-go, .wz-hero-mod:focus-visible .wz-hero-go { opacity: 1; transform: none; }
.wz-hero-logo { transition: transform .25s cubic-bezier(.22, 1, .36, 1); }
.wz-hero-trust:hover .wz-hero-logo { transform: translateY(-2px); }

@media (max-width: 1040px) {
  .wz-hero-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .wz-hero-feed { margin: -64px 14px 0; }
}
@media (max-width: 720px) {
  .wz-hero-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .wz-hero-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wz-hero-desc { display: none !important; }
  .wz-hero-mod { flex-direction: row !important; align-items: center; gap: 10px; padding: 9px 10px !important; min-height: 56px; }
  .wz-hero-top { flex-shrink: 0; }
  .wz-hero-go { display: none !important; }
  .wz-hero-name { margin-top: 0 !important; min-width: 0; }
  .wz-hero-feed { margin: -56px 8px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .wz-hero-line, .wz-hero-area, .wz-hero-dot, .wz-hero-live, .wz-hero-step, .wz-hero-ok { animation: none; }
  .wz-hero-ring { animation: none; opacity: 0; }
  .wz-hero-mod, .wz-hero-ico, .wz-hero-go, .wz-hero-logo { transition: none; }
  .wz-hero-mod:hover, .wz-hero-mod:hover .wz-hero-ico, .wz-hero-trust:hover .wz-hero-logo { transform: none; }
}

/* ==========================================================================
   Hero: captura real completa + realces + Wizzy (bucle de 18 s).
   El 0 % del bucle es el estado final legible (conversacion completa), asi que
   sin animacion o con prefers-reduced-motion queda quieto y entendible.
   Los realces (.wz-hero-lift) son recortes de LA MISMA imagen, colocados sobre
   su sitio exacto: al escalar parecen levantarse de la pantalla.
   ========================================================================== */
.wz-hero-shot { margin-right: calc(-1 * clamp(0px, (100vw - 1200px) / 2, 96px)); }
.wz-hero-lift { position: absolute; display: block; overflow: hidden; border-radius: 6px; opacity: 0; --z: 1.65; box-shadow: 0 0 0 1px rgba(71,35,217,.28), 0 14px 28px -10px rgba(26,11,92,.5); will-change: transform, opacity; animation: 18s cubic-bezier(.3, 1.2, .4, 1) infinite both; }
.wz-hero-l1 { animation-name: wz-hero-l1; } .wz-hero-l2 { animation-name: wz-hero-l2; }
.wz-hero-l3 { animation-name: wz-hero-l3; } .wz-hero-l4 { animation-name: wz-hero-l4; }
@keyframes wz-hero-l1 { 0%, 28.4% { opacity: 0; transform: scale(1); } 29% { opacity: 1; transform: scale(1); } 32%, 44% { opacity: 1; transform: scale(var(--z)); } 46.5% { opacity: 1; transform: scale(1); } 47%, 100% { opacity: 0; transform: scale(1); } }
@keyframes wz-hero-l2 { 0%, 48.4% { opacity: 0; transform: scale(1); } 49% { opacity: 1; transform: scale(1); } 52%, 60% { opacity: 1; transform: scale(var(--z)); } 62.5% { opacity: 1; transform: scale(1); } 63%, 100% { opacity: 0; transform: scale(1); } }
@keyframes wz-hero-l3 { 0%, 64.4% { opacity: 0; transform: scale(1); } 65% { opacity: 1; transform: scale(1); } 68%, 76% { opacity: 1; transform: scale(var(--z)); } 78.5% { opacity: 1; transform: scale(1); } 79%, 100% { opacity: 0; transform: scale(1); } }
@keyframes wz-hero-l4 { 0%, 80.4% { opacity: 0; transform: scale(1); } 81% { opacity: 1; transform: scale(1); } 84%, 92% { opacity: 1; transform: scale(var(--z)); } 94.5% { opacity: 1; transform: scale(1); } 95%, 100% { opacity: 0; transform: scale(1); } }
.wz-hero-cursor { filter: drop-shadow(0 2px 3px rgba(14,10,31,.35)); animation: wz-hero-cur 18s cubic-bezier(.5, 0, .2, 1) infinite both; }
@keyframes wz-hero-cur { 0%, 24% { left: 50%; top: 58%; } 29%, 45% { left: 40%; top: 33%; } 49%, 61% { left: 16%; top: 33%; } 65%, 77% { left: 88%; top: 49%; } 81%, 93% { left: 65%; top: 90%; } 100% { left: 50%; top: 58%; } }

.wz-hero-under { margin-top: -30px; }
.wz-hero-cap { padding-top: 44px; }
.wz-hero-wzy { position: relative; z-index: 3; margin-left: -28px; transition: transform .25s cubic-bezier(.22, 1, .36, 1), box-shadow .25s ease; }
.wz-hero-wzy:hover, .wz-hero-wzy:focus-visible { transform: translateY(-3px); box-shadow: 0 30px 54px -24px rgba(26,11,92,.6) !important; }
.wz-hero-wzy-go { transition: transform .25s ease; }
.wz-hero-wzy:hover .wz-hero-wzy-go { transform: translateX(3px); }
.wz-hero-conv, .wz-hero-q, .wz-hero-a, .wz-hero-dots, .wz-hero-ans { animation: 18s ease infinite both; }
.wz-hero-conv { animation-name: wz-hero-conv; } .wz-hero-q { animation-name: wz-hero-q; } .wz-hero-a { animation-name: wz-hero-a; }
.wz-hero-dots { animation-name: wz-hero-dots; } .wz-hero-ans { animation-name: wz-hero-ans; }
.wz-hero-dots span { animation: wz-hero-dot 1.2s ease-in-out infinite; }
.wz-hero-dots span + span { animation-delay: .15s; } .wz-hero-dots span + span + span { animation-delay: .3s; }
@keyframes wz-hero-conv { 0%, 6% { opacity: 1; } 8%, 9% { opacity: 0; } 9.5%, 100% { opacity: 1; } }
@keyframes wz-hero-q { 0%, 8% { opacity: 1; transform: none; } 8.5%, 10% { opacity: 0; transform: translateY(8px); } 12.5%, 100% { opacity: 1; transform: none; } }
@keyframes wz-hero-a { 0%, 8% { opacity: 1; transform: none; } 8.5%, 14.5% { opacity: 0; transform: translateY(8px); } 17%, 100% { opacity: 1; transform: none; } }
@keyframes wz-hero-dots { 0%, 16% { opacity: 0; } 17%, 28% { opacity: 1; } 29%, 100% { opacity: 0; } }
@keyframes wz-hero-ans { 0%, 8% { opacity: 1; } 8.5%, 29% { opacity: 0; } 31%, 100% { opacity: 1; } }
@keyframes wz-hero-dot { 0%, 80%, 100% { transform: scale(.55); opacity: .4; } 40% { transform: scale(1); opacity: 1; } }

@media (max-width: 1040px) {
  .wz-hero-wzy { margin-left: 0; }
}
@media (max-width: 720px) {
  .wz-hero-lift { --z: 2.2; border-radius: 4px; }
  .wz-hero-under { margin-top: -18px; }
  .wz-hero-cap { padding-top: 0; text-align: left !important; }
  .wz-hero-wzy { margin-left: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .wz-hero-lift, .wz-hero-cursor, .wz-hero-conv, .wz-hero-q, .wz-hero-a, .wz-hero-dots, .wz-hero-dots span, .wz-hero-ans { animation: none; }
  .wz-hero-cursor { display: none; }
  .wz-hero-l1 { opacity: 1; transform: scale(var(--z)); }
  .wz-hero-wzy, .wz-hero-wzy-go { transition: none; }
  .wz-hero-wzy:hover, .wz-hero-wzy:hover .wz-hero-wzy-go { transform: none; }
}

/* home2.css · portada (propuesta Home 2 aprobada el 13-nov-2026). Lo genera home2-tools/kit.py: no editar a mano. */
.h2-mono{font-family:'Geist Mono',ui-monospace,monospace}
.h2-bal{text-wrap:balance}
.h2-mark{background-image:linear-gradient(95deg,#4723D9,#2468d6);-webkit-background-clip:text;background-clip:text;color:transparent}
.h2-mark-o{color:#d56b00}
.h2-mark-d{background-image:linear-gradient(95deg,#c9b8ff,#9db8ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.h2-eye{margin:0;font-family:'Manrope',sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#4723D9}
.h2-eye::before{content:"";display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:1.5px;background:#f69321;vertical-align:.08em}
.h2-tag{display:inline-flex;align-items:center;background:#ffffff;border:1px solid #d6c8ff;color:#1c1242;font-size:14.5px;font-weight:600;padding:8px 13px 8px 11px;border-radius:6px}
.h2-tag::before{content:"";flex:none;width:6px;height:6px;margin-right:9px;border-radius:1.5px;background:#4723D9}
.h2-tag-prox{border:1px dashed #8f86a8;color:#5b5470}
.h2-tag-prox::before{background:transparent;box-shadow:inset 0 0 0 1.5px #8f86a8}
.h2-dots{background-image:radial-gradient(#d6c8ff 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 62%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 62%,transparent)}
.h2-btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:16px;padding:15px 24px;border-radius:10px;background:#4723D9;color:#ffffff;transition:background .2s,transform .2s}
.h2-btn:hover{background:#3a1cb0;transform:translateY(-1px)}
.h2-btn2{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:16px;padding:14px 24px;border-radius:10px;background:#ebe4ff;border:1px solid #ebe4ff;color:#3a1cb0;transition:background .2s}
.h2-btn2:hover{background:#d6c8ff}
.h2-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:16px;color:#4723D9}
.h2-link:hover{color:#3a1cb0}
.h2-app{display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 8px 18px;border-radius:14px;background:#ffffff;border:1px solid #e6e1f0;text-align:center;transition:transform .25s,border-color .25s,box-shadow .25s}
.h2-app:hover{transform:translateY(-3px);border-color:#b6a0ff;box-shadow:0 18px 30px -22px rgba(26,11,92,.45)}
.h2-giro{display:flex;gap:14px;align-items:flex-start;padding:20px 20px 20px 18px;border-radius:14px;background:#ffffff;border:1px solid #e6e1f0;transition:transform .25s,border-color .25s}
.h2-giro:hover{transform:translateY(-2px);border-color:#b6a0ff}
/* ---------- maquetas del producto */
.h2-ui{font-family:'Geist',system-ui,sans-serif;color:#1c1242;line-height:1.35}
.h2-win{background:#ffffff;border:1px solid #e0d9f0;border-radius:18px;overflow:hidden;box-shadow:0 50px 90px -50px rgba(26,11,92,.45),0 2px 8px rgba(26,11,92,.05)}
.h2-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:#f4f1ff;border-bottom:1px solid #e6e1f0}
.h2-bar i{width:10px;height:10px;border-radius:50%;background:#d6c8ff}
.h2-url{margin-left:14px;padding:4px 16px;border-radius:999px;background:#ffffff;font-family:'Geist Mono',ui-monospace,monospace;font-size:11.5px;color:#5b5470}
.h2-card{background:#ffffff;border:1px solid #e6e1f0;border-radius:14px}
.h2-float{background:#ffffff;border:1px solid #e0d9f0;border-radius:16px;box-shadow:0 30px 50px -28px rgba(26,11,92,.5),0 2px 6px rgba(26,11,92,.06)}
.h2-lbl{font-size:11.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#5b5470}
.h2-num{font-family:'Manrope',sans-serif;font-weight:800;letter-spacing:-.02em;color:#1c1242}
.h2-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:4px 11px;border-radius:999px;white-space:nowrap}
.h2-ok{background:#ecfdf5;color:#047857}
.h2-warn{background:#fef0df;color:#9a5600}
.h2-info{background:#f4f1ff;color:#3a1cb0}
.h2-risk{background:#fdecec;color:#b42318}
.h2-dot{flex:none;width:8px;height:8px;border-radius:50%}
.h2-cnt::after{counter-reset:h2k var(--h2k) h2u var(--h2u);content:"$" counter(h2k) "," counter(h2u,h2p3)}
.h2-cntm::after{counter-reset:h2m var(--h2m) h2k var(--h2k) h2u var(--h2u);content:"$" counter(h2m) "," counter(h2k,h2p3) "," counter(h2u,h2p3)}
.h2-swap{display:inline-grid}
.h2-swap>*{grid-area:1/1}
.h2-type{display:inline-block;white-space:nowrap;animation:h2type 12s infinite both steps(30,end)}
@keyframes h2type{0%,3%{clip-path:inset(0 0 0 0);animation-timing-function:step-end}3.1%{clip-path:inset(0 100% 0 0)}13%,100%{clip-path:inset(0 0 0 0)}}
.h2-caret{display:inline-block;width:2px;height:1.1em;background:#4723D9;vertical-align:-.18em;margin-left:2px;animation:h2caret 12s infinite both}
@keyframes h2caret{0%,3%{opacity:0}4%,6%{opacity:1}7%{opacity:0}9%,11%{opacity:1}12%{opacity:0}13%,14%{opacity:1}15%,100%{opacity:0}}
.h2-think i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#b6a0ff;animation:h2think 1.2s infinite ease-in-out}
.h2-think i:nth-child(2){animation-delay:.15s}.h2-think i:nth-child(3){animation-delay:.3s}
@keyframes h2think{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.h2-floaty{animation:h2floaty 7s ease-in-out infinite}
.h2-floaty2{animation:h2floaty 8s ease-in-out -3s infinite}
@keyframes h2floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.h2-mv{animation:h2mv 12s infinite both cubic-bezier(.3,.7,.2,1)}
@keyframes h2mv{0%{opacity:0;transform:translate(var(--mx),var(--my))}5%,34%{opacity:1;transform:translate(var(--mx),var(--my)) rotate(0)}38%{transform:translate(var(--mx),calc(var(--my) - 8px)) rotate(-2.5deg);box-shadow:0 22px 34px -18px rgba(26,11,92,.55)}50%{transform:translate(0,-8px) rotate(-2.5deg);box-shadow:0 22px 34px -18px rgba(26,11,92,.55)}55%,95%{opacity:1;transform:none}99%,100%{opacity:0;transform:none}}
.h2-tk{animation:h2tk 12s infinite both cubic-bezier(.3,.6,.3,1)}
@keyframes h2tk{0%,58%{transform:translateY(-102%)}62%{transform:translateY(-70%)}66%{transform:translateY(-70%)}70%{transform:translateY(-38%)}74%{transform:translateY(-38%)}80%,95%{transform:translateY(0)}99%,100%{transform:translateY(-102%)}}
.h2-led{animation:h2led 12s infinite both}
@keyframes h2led{0%,56%{background:#b6a0ff}58%,80%{background:#f69321}82%,100%{background:#34d399}}
.h2-tap{animation:h2tap 12s infinite both}
@keyframes h2tap{0%,50%{transform:none;box-shadow:0 0 0 0 rgba(246,147,33,0)}52%{transform:scale(.97);box-shadow:0 0 0 0 rgba(246,147,33,.5)}56%{transform:none;box-shadow:0 0 0 14px rgba(246,147,33,0)}100%{transform:none}}
.h2-tap2{animation:h2tap2 12s infinite both}
@keyframes h2tap2{0%,36%{transform:none;box-shadow:0 0 0 0 rgba(71,35,217,0)}38%{transform:scale(.97);box-shadow:0 0 0 0 rgba(71,35,217,.45)}43%{transform:none;box-shadow:0 0 0 14px rgba(71,35,217,0)}100%{transform:none}}
.h2-pulse{animation:h2pulse 2.4s ease-out infinite}
@keyframes h2pulse{0%{box-shadow:0 0 0 0 rgba(246,147,33,.55)}80%,100%{box-shadow:0 0 0 12px rgba(246,147,33,0)}}
.h2-flow{stroke-dasharray:5 7;animation:h2flow 1.1s linear infinite}
@keyframes h2flow{to{stroke-dashoffset:-12}}
@counter-style h2p3{system:extends decimal;pad:3 "0"}
@property --h2m{syntax:'<integer>';inherits:true;initial-value:0}
@property --h2k{syntax:'<integer>';inherits:true;initial-value:0}
@property --h2u{syntax:'<integer>';inherits:true;initial-value:0}
@keyframes h2a0_14{0%,14%{opacity:1}16%,100%{opacity:0}}.h2a0_14{opacity:0;animation:h2a0_14 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2a0_42{0%,42%{opacity:1}44%,100%{opacity:0}}.h2a0_42{opacity:0;animation:h2a0_42 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2a0_44{0%,44%{opacity:1}46%,100%{opacity:0}}.h2a0_44{opacity:0;animation:h2a0_44 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2a0_48{0%,48%{opacity:1}50%,100%{opacity:0}}.h2a0_48{opacity:0;animation:h2a0_48 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2a0_50{0%,50%{opacity:1}52%,100%{opacity:0}}.h2a0_50{opacity:0;animation:h2a0_50 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2a12_21{0%,13%{opacity:0}15%,21%{opacity:1}23%,100%{opacity:0}}.h2a12_21{opacity:0;animation:h2a12_21 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2a16_74{0%,17%{opacity:0}19%,74%{opacity:1}76%,100%{opacity:0}}.h2a16_74{opacity:0;animation:h2a16_74 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2a28_66{0%,29%{opacity:0}31%,66%{opacity:1}68%,100%{opacity:0}}.h2a28_66{opacity:0;animation:h2a28_66 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2c10_14_0_0_0_152_362{0%,9%{--h2k:152;--h2u:362}10%{--h2k:0;--h2u:0}24%,100%{--h2k:152;--h2u:362}}.h2c10_14_0_0_0_152_362{--h2k:152;--h2u:362;animation:h2c10_14_0_0_0_152_362 12s infinite both cubic-bezier(.15,.7,.2,1)}@keyframes h2c4_14_0_0_0_344_678{0%,3%{--h2k:344;--h2u:678}4%{--h2k:0;--h2u:0}18%,100%{--h2k:344;--h2u:678}}.h2c4_14_0_0_0_344_678{--h2k:344;--h2u:678;animation:h2c4_14_0_0_0_344_678 12s infinite both cubic-bezier(.15,.7,.2,1)}@keyframes h2c4_30_0_0_0_1_5{0%,3%{--h2k:1;--h2u:5}4%{--h2k:0;--h2u:0}34%,100%{--h2k:1;--h2u:5}}.h2c4_30_0_0_0_1_5{--h2k:1;--h2u:5;animation:h2c4_30_0_0_0_1_5 12s infinite both cubic-bezier(.15,.7,.2,1)}@keyframes h2c50_10_192_178_0_180_154{0%,50%{--h2k:192;--h2u:178}60%,100%{--h2k:180;--h2u:154}}.h2c50_10_192_178_0_180_154{--h2k:180;--h2u:154;animation:h2c50_10_192_178_0_180_154 12s infinite both cubic-bezier(.15,.7,.2,1)}@keyframes h2c6_14_0_0_0_192_178{0%,5%{--h2k:192;--h2u:178}6%{--h2k:0;--h2u:0}20%,100%{--h2k:192;--h2u:178}}.h2c6_14_0_0_0_192_178{--h2k:192;--h2u:178;animation:h2c6_14_0_0_0_192_178 12s infinite both cubic-bezier(.15,.7,.2,1)}@keyframes h2c8_14_0_0_1_233_394{0%,7%{--h2m:1;--h2k:233;--h2u:394}8%{--h2m:0;--h2k:0;--h2u:0}22%,100%{--h2m:1;--h2k:233;--h2u:394}}.h2c8_14_0_0_1_233_394{--h2m:1;--h2k:233;--h2u:394;animation:h2c8_14_0_0_1_233_394 12s infinite both cubic-bezier(.15,.7,.2,1)}@keyframes h2e62{0%,62%{opacity:0;transform:translateY(10px)}66%,100%{opacity:1;transform:none}}.h2e62{animation:h2e62 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2e64{0%,64%{opacity:0;transform:translateY(10px)}68%,100%{opacity:1;transform:none}}.h2e64{animation:h2e64 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2e66{0%,66%{opacity:0;transform:translateY(10px)}70%,100%{opacity:1;transform:none}}.h2e66{animation:h2e66 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2ep62{0%,62%{opacity:0;transform:scale(.5)}65%{opacity:1;transform:scale(1.12)}67%,100%{opacity:1;transform:scale(1)}}.h2ep62{animation:h2ep62 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2g12_8{0%,11%{transform:scaleX(1)}12%{transform:scaleX(0)}20%,100%{transform:scaleX(1)}}.h2g12_8{transform-origin:left center;animation:h2g12_8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2g16_8{0%,15%{transform:scaleX(1)}16%{transform:scaleX(0)}24%,100%{transform:scaleX(1)}}.h2g16_8{transform-origin:left center;animation:h2g16_8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2g20_8{0%,19%{transform:scaleX(1)}20%{transform:scaleX(0)}28%,100%{transform:scaleX(1)}}.h2g20_8{transform-origin:left center;animation:h2g20_8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2g22_10{0%,21%{transform:scaleX(1)}22%{transform:scaleX(0)}32%,100%{transform:scaleX(1)}}.h2g22_10{transform-origin:left center;animation:h2g22_10 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2g22_38{0%,21%{transform:scaleX(1)}22%{transform:scaleX(0)}60%,100%{transform:scaleX(1)}}.h2g22_38{transform-origin:left center;animation:h2g22_38 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2g24_8{0%,23%{transform:scaleX(1)}24%{transform:scaleX(0)}32%,100%{transform:scaleX(1)}}.h2g24_8{transform-origin:left center;animation:h2g24_8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2g28_8{0%,27%{transform:scaleX(1)}28%{transform:scaleX(0)}36%,100%{transform:scaleX(1)}}.h2g28_8{transform-origin:left center;animation:h2g28_8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2g30_8{0%,29%{transform:scaleX(1)}30%{transform:scaleX(0)}38%,100%{transform:scaleX(1)}}.h2g30_8{transform-origin:left center;animation:h2g30_8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2g32_4{0%,31%{transform:scaleX(1)}32%{transform:scaleX(0)}36%,100%{transform:scaleX(1)}}.h2g32_4{transform-origin:left center;animation:h2g32_4 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2g33_8{0%,32%{transform:scaleX(1)}33%{transform:scaleX(0)}41%,100%{transform:scaleX(1)}}.h2g33_8{transform-origin:left center;animation:h2g33_8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2g36_8{0%,35%{transform:scaleX(1)}36%{transform:scaleX(0)}44%,100%{transform:scaleX(1)}}.h2g36_8{transform-origin:left center;animation:h2g36_8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2g39_8{0%,38%{transform:scaleX(1)}39%{transform:scaleX(0)}47%,100%{transform:scaleX(1)}}.h2g39_8{transform-origin:left center;animation:h2g39_8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2g66_8{0%,65%{transform:scaleX(1)}66%{transform:scaleX(0)}74%,100%{transform:scaleX(1)}}.h2g66_8{transform-origin:left center;animation:h2g66_8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2g70_8{0%,69%{transform:scaleX(1)}70%{transform:scaleX(0)}78%,100%{transform:scaleX(1)}}.h2g70_8{transform-origin:left center;animation:h2g70_8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2g8_8{0%,7%{transform:scaleX(1)}8%{transform:scaleX(0)}16%,100%{transform:scaleX(1)}}.h2g8_8{transform-origin:left center;animation:h2g8_8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2h3_23{0%,3%{opacity:1;transform:none}5%{opacity:0;transform:none}23%{opacity:0;transform:translateY(10px)}27%,100%{opacity:1;transform:none}}.h2h3_23{animation:h2h3_23 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p16{0%,15%{opacity:1;transform:scale(1)}16%{opacity:0;transform:scale(.5)}19%{opacity:1;transform:scale(1.12)}21%,100%{opacity:1;transform:scale(1)}}.h2p16{animation:h2p16 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p26{0%,25%{opacity:1;transform:scale(1)}26%{opacity:0;transform:scale(.5)}29%{opacity:1;transform:scale(1.12)}31%,100%{opacity:1;transform:scale(1)}}.h2p26{animation:h2p26 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p27{0%,26%{opacity:1;transform:scale(1)}27%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1.12)}32%,100%{opacity:1;transform:scale(1)}}.h2p27{animation:h2p27 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p28{0%,27%{opacity:1;transform:scale(1)}28%{opacity:0;transform:scale(.5)}31%{opacity:1;transform:scale(1.12)}33%,100%{opacity:1;transform:scale(1)}}.h2p28{animation:h2p28 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p29{0%,28%{opacity:1;transform:scale(1)}29%{opacity:0;transform:scale(.5)}32%{opacity:1;transform:scale(1.12)}34%,100%{opacity:1;transform:scale(1)}}.h2p29{animation:h2p29 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p32{0%,31%{opacity:1;transform:scale(1)}32%{opacity:0;transform:scale(.5)}35%{opacity:1;transform:scale(1.12)}37%,100%{opacity:1;transform:scale(1)}}.h2p32{animation:h2p32 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p35{0%,34%{opacity:1;transform:scale(1)}35%{opacity:0;transform:scale(.5)}38%{opacity:1;transform:scale(1.12)}40%,100%{opacity:1;transform:scale(1)}}.h2p35{animation:h2p35 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p37{0%,36%{opacity:1;transform:scale(1)}37%{opacity:0;transform:scale(.5)}40%{opacity:1;transform:scale(1.12)}42%,100%{opacity:1;transform:scale(1)}}.h2p37{animation:h2p37 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p38{0%,37%{opacity:1;transform:scale(1)}38%{opacity:0;transform:scale(.5)}41%{opacity:1;transform:scale(1.12)}43%,100%{opacity:1;transform:scale(1)}}.h2p38{animation:h2p38 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p40{0%,39%{opacity:1;transform:scale(1)}40%{opacity:0;transform:scale(.5)}43%{opacity:1;transform:scale(1.12)}45%,100%{opacity:1;transform:scale(1)}}.h2p40{animation:h2p40 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p41{0%,40%{opacity:1;transform:scale(1)}41%{opacity:0;transform:scale(.5)}44%{opacity:1;transform:scale(1.12)}46%,100%{opacity:1;transform:scale(1)}}.h2p41{animation:h2p41 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p47{0%,46%{opacity:1;transform:scale(1)}47%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.12)}52%,100%{opacity:1;transform:scale(1)}}.h2p47{animation:h2p47 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p52{0%,51%{opacity:1;transform:scale(1)}52%{opacity:0;transform:scale(.5)}55%{opacity:1;transform:scale(1.12)}57%,100%{opacity:1;transform:scale(1)}}.h2p52{animation:h2p52 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p57{0%,56%{opacity:1;transform:scale(1)}57%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.12)}62%,100%{opacity:1;transform:scale(1)}}.h2p57{animation:h2p57 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p62{0%,61%{opacity:1;transform:scale(1)}62%{opacity:0;transform:scale(.5)}65%{opacity:1;transform:scale(1.12)}67%,100%{opacity:1;transform:scale(1)}}.h2p62{animation:h2p62 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p64{0%,63%{opacity:1;transform:scale(1)}64%{opacity:0;transform:scale(.5)}67%{opacity:1;transform:scale(1.12)}69%,100%{opacity:1;transform:scale(1)}}.h2p64{animation:h2p64 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p66{0%,65%{opacity:1;transform:scale(1)}66%{opacity:0;transform:scale(.5)}69%{opacity:1;transform:scale(1.12)}71%,100%{opacity:1;transform:scale(1)}}.h2p66{animation:h2p66 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p68{0%,67%{opacity:1;transform:scale(1)}68%{opacity:0;transform:scale(.5)}71%{opacity:1;transform:scale(1.12)}73%,100%{opacity:1;transform:scale(1)}}.h2p68{animation:h2p68 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2p70{0%,69%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(.5)}73%{opacity:1;transform:scale(1.12)}75%,100%{opacity:1;transform:scale(1)}}.h2p70{animation:h2p70 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s10{0%,8%{opacity:1;transform:none}10%{opacity:.12;transform:translateY(10px)}14%,100%{opacity:1;transform:none}}.h2s10{animation:h2s10 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s11{0%,9%{opacity:1;transform:none}11%{opacity:.12;transform:translateY(10px)}15%,100%{opacity:1;transform:none}}.h2s11{animation:h2s11 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s12{0%,10%{opacity:1;transform:none}12%{opacity:.12;transform:translateY(10px)}16%,100%{opacity:1;transform:none}}.h2s12{animation:h2s12 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s13{0%,11%{opacity:1;transform:none}13%{opacity:.12;transform:translateY(10px)}17%,100%{opacity:1;transform:none}}.h2s13{animation:h2s13 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s14{0%,12%{opacity:1;transform:none}14%{opacity:.12;transform:translateY(10px)}18%,100%{opacity:1;transform:none}}.h2s14{animation:h2s14 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s16{0%,14%{opacity:1;transform:none}16%{opacity:.12;transform:translateY(10px)}20%,100%{opacity:1;transform:none}}.h2s16{animation:h2s16 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s18{0%,16%{opacity:1;transform:none}18%{opacity:.12;transform:translateY(10px)}22%,100%{opacity:1;transform:none}}.h2s18{animation:h2s18 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s2{0%,0%{opacity:1;transform:none}2%{opacity:.12;transform:translateY(10px)}6%,100%{opacity:1;transform:none}}.h2s2{animation:h2s2 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s20{0%,18%{opacity:1;transform:none}20%{opacity:.12;transform:translateY(10px)}24%,100%{opacity:1;transform:none}}.h2s20{animation:h2s20 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s22{0%,20%{opacity:1;transform:none}22%{opacity:.12;transform:translateY(10px)}26%,100%{opacity:1;transform:none}}.h2s22{animation:h2s22 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s24{0%,22%{opacity:1;transform:none}24%{opacity:.12;transform:translateY(10px)}28%,100%{opacity:1;transform:none}}.h2s24{animation:h2s24 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s25{0%,23%{opacity:1;transform:none}25%{opacity:.12;transform:translateY(10px)}29%,100%{opacity:1;transform:none}}.h2s25{animation:h2s25 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s26{0%,24%{opacity:1;transform:none}26%{opacity:.12;transform:translateY(10px)}30%,100%{opacity:1;transform:none}}.h2s26{animation:h2s26 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s28{0%,26%{opacity:1;transform:none}28%{opacity:.12;transform:translateY(10px)}32%,100%{opacity:1;transform:none}}.h2s28{animation:h2s28 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s3{0%,1%{opacity:1;transform:none}3%{opacity:.12;transform:translateY(10px)}7%,100%{opacity:1;transform:none}}.h2s3{animation:h2s3 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s30{0%,28%{opacity:1;transform:none}30%{opacity:.12;transform:translateY(10px)}34%,100%{opacity:1;transform:none}}.h2s30{animation:h2s30 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s31{0%,29%{opacity:1;transform:none}31%{opacity:.12;transform:translateY(10px)}35%,100%{opacity:1;transform:none}}.h2s31{animation:h2s31 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s34{0%,32%{opacity:1;transform:none}34%{opacity:.12;transform:translateY(10px)}38%,100%{opacity:1;transform:none}}.h2s34{animation:h2s34 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s36{0%,34%{opacity:1;transform:none}36%{opacity:.12;transform:translateY(10px)}40%,100%{opacity:1;transform:none}}.h2s36{animation:h2s36 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s37{0%,35%{opacity:1;transform:none}37%{opacity:.12;transform:translateY(10px)}41%,100%{opacity:1;transform:none}}.h2s37{animation:h2s37 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s38{0%,36%{opacity:1;transform:none}38%{opacity:.12;transform:translateY(10px)}42%,100%{opacity:1;transform:none}}.h2s38{animation:h2s38 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s4{0%,2%{opacity:1;transform:none}4%{opacity:.12;transform:translateY(10px)}8%,100%{opacity:1;transform:none}}.h2s4{animation:h2s4 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s40{0%,38%{opacity:1;transform:none}40%{opacity:.12;transform:translateY(10px)}44%,100%{opacity:1;transform:none}}.h2s40{animation:h2s40 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s42{0%,40%{opacity:1;transform:none}42%{opacity:.12;transform:translateY(10px)}46%,100%{opacity:1;transform:none}}.h2s42{animation:h2s42 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s44{0%,42%{opacity:1;transform:none}44%{opacity:.12;transform:translateY(10px)}48%,100%{opacity:1;transform:none}}.h2s44{animation:h2s44 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s46{0%,44%{opacity:1;transform:none}46%{opacity:.12;transform:translateY(10px)}50%,100%{opacity:1;transform:none}}.h2s46{animation:h2s46 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s48{0%,46%{opacity:1;transform:none}48%{opacity:.12;transform:translateY(10px)}52%,100%{opacity:1;transform:none}}.h2s48{animation:h2s48 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s5{0%,3%{opacity:1;transform:none}5%{opacity:.12;transform:translateY(10px)}9%,100%{opacity:1;transform:none}}.h2s5{animation:h2s5 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s50{0%,48%{opacity:1;transform:none}50%{opacity:.12;transform:translateY(10px)}54%,100%{opacity:1;transform:none}}.h2s50{animation:h2s50 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s54{0%,52%{opacity:1;transform:none}54%{opacity:.12;transform:translateY(10px)}58%,100%{opacity:1;transform:none}}.h2s54{animation:h2s54 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s56{0%,54%{opacity:1;transform:none}56%{opacity:.12;transform:translateY(10px)}60%,100%{opacity:1;transform:none}}.h2s56{animation:h2s56 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s57{0%,55%{opacity:1;transform:none}57%{opacity:.12;transform:translateY(10px)}61%,100%{opacity:1;transform:none}}.h2s57{animation:h2s57 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s58{0%,56%{opacity:1;transform:none}58%{opacity:.12;transform:translateY(10px)}62%,100%{opacity:1;transform:none}}.h2s58{animation:h2s58 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s6{0%,4%{opacity:1;transform:none}6%{opacity:.12;transform:translateY(10px)}10%,100%{opacity:1;transform:none}}.h2s6{animation:h2s6 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s60{0%,58%{opacity:1;transform:none}60%{opacity:.12;transform:translateY(10px)}64%,100%{opacity:1;transform:none}}.h2s60{animation:h2s60 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s62{0%,60%{opacity:1;transform:none}62%{opacity:.12;transform:translateY(10px)}66%,100%{opacity:1;transform:none}}.h2s62{animation:h2s62 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s72{0%,70%{opacity:1;transform:none}72%{opacity:.12;transform:translateY(10px)}76%,100%{opacity:1;transform:none}}.h2s72{animation:h2s72 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s8{0%,6%{opacity:1;transform:none}8%{opacity:.12;transform:translateY(10px)}12%,100%{opacity:1;transform:none}}.h2s8{animation:h2s8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2s9{0%,7%{opacity:1;transform:none}9%{opacity:.12;transform:translateY(10px)}13%,100%{opacity:1;transform:none}}.h2s9{animation:h2s9 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w10_6{0%,9%{stroke-dashoffset:0}10%{stroke-dashoffset:1}16%,100%{stroke-dashoffset:0}}.h2w10_6{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w10_6 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w11_10{0%,10%{stroke-dashoffset:0}11%{stroke-dashoffset:1}21%,100%{stroke-dashoffset:0}}.h2w11_10{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w11_10 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w14_10{0%,13%{stroke-dashoffset:0}14%{stroke-dashoffset:1}24%,100%{stroke-dashoffset:0}}.h2w14_10{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w14_10 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w17_10{0%,16%{stroke-dashoffset:0}17%{stroke-dashoffset:1}27%,100%{stroke-dashoffset:0}}.h2w17_10{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w17_10 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w22_5{0%,21%{stroke-dashoffset:0}22%{stroke-dashoffset:1}27%,100%{stroke-dashoffset:0}}.h2w22_5{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w22_5 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w22_6{0%,21%{stroke-dashoffset:0}22%{stroke-dashoffset:1}28%,100%{stroke-dashoffset:0}}.h2w22_6{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w22_6 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w27_8{0%,26%{stroke-dashoffset:0}27%{stroke-dashoffset:1}35%,100%{stroke-dashoffset:0}}.h2w27_8{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w27_8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w30_8{0%,29%{stroke-dashoffset:0}30%{stroke-dashoffset:1}38%,100%{stroke-dashoffset:0}}.h2w30_8{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w30_8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w32_5{0%,31%{stroke-dashoffset:0}32%{stroke-dashoffset:1}37%,100%{stroke-dashoffset:0}}.h2w32_5{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w32_5 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w33_8{0%,32%{stroke-dashoffset:0}33%{stroke-dashoffset:1}41%,100%{stroke-dashoffset:0}}.h2w33_8{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w33_8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w34_6{0%,33%{stroke-dashoffset:0}34%{stroke-dashoffset:1}40%,100%{stroke-dashoffset:0}}.h2w34_6{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w34_6 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w36_8{0%,35%{stroke-dashoffset:0}36%{stroke-dashoffset:1}44%,100%{stroke-dashoffset:0}}.h2w36_8{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w36_8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w39_8{0%,38%{stroke-dashoffset:0}39%{stroke-dashoffset:1}47%,100%{stroke-dashoffset:0}}.h2w39_8{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w39_8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w42_5{0%,41%{stroke-dashoffset:0}42%{stroke-dashoffset:1}47%,100%{stroke-dashoffset:0}}.h2w42_5{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w42_5 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w42_8{0%,41%{stroke-dashoffset:0}42%{stroke-dashoffset:1}50%,100%{stroke-dashoffset:0}}.h2w42_8{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w42_8 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w46_6{0%,45%{stroke-dashoffset:0}46%{stroke-dashoffset:1}52%,100%{stroke-dashoffset:0}}.h2w46_6{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w46_6 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w52_5{0%,51%{stroke-dashoffset:0}52%{stroke-dashoffset:1}57%,100%{stroke-dashoffset:0}}.h2w52_5{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w52_5 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w58_6{0%,57%{stroke-dashoffset:0}58%{stroke-dashoffset:1}64%,100%{stroke-dashoffset:0}}.h2w58_6{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w58_6 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2w8_10{0%,7%{stroke-dashoffset:0}8%{stroke-dashoffset:1}18%,100%{stroke-dashoffset:0}}.h2w8_10{stroke-dasharray:1;stroke-dashoffset:0;animation:h2w8_10 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2x10{0%,10%{opacity:0}13%,100%{opacity:1}}.h2x10{animation:h2x10 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2x16{0%,16%{opacity:0}19%,100%{opacity:1}}.h2x16{animation:h2x16 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2x22{0%,22%{opacity:0}25%,100%{opacity:1}}.h2x22{animation:h2x22 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2x27{0%,27%{opacity:0}30%,100%{opacity:1}}.h2x27{animation:h2x27 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2x37{0%,37%{opacity:0}40%,100%{opacity:1}}.h2x37{animation:h2x37 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2x4{0%,4%{opacity:0}7%,100%{opacity:1}}.h2x4{animation:h2x4 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2x44{0%,44%{opacity:0}47%,100%{opacity:1}}.h2x44{animation:h2x44 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2x46{0%,46%{opacity:0}49%,100%{opacity:1}}.h2x46{animation:h2x46 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2x47{0%,47%{opacity:0}50%,100%{opacity:1}}.h2x47{animation:h2x47 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2x48{0%,48%{opacity:0}51%,100%{opacity:1}}.h2x48{animation:h2x48 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2x50{0%,50%{opacity:0}53%,100%{opacity:1}}.h2x50{animation:h2x50 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2x52{0%,52%{opacity:0}55%,100%{opacity:1}}.h2x52{animation:h2x52 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2x57{0%,57%{opacity:0}60%,100%{opacity:1}}.h2x57{animation:h2x57 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2x68{0%,68%{opacity:0}71%,100%{opacity:1}}.h2x68{animation:h2x68 12s infinite both cubic-bezier(.2,.8,.2,1)}@keyframes h2x76{0%,76%{opacity:0}79%,100%{opacity:1}}.h2x76{animation:h2x76 12s infinite both cubic-bezier(.2,.8,.2,1)}
/* ---------- portada real: maquetación y responsivo (home2-tools/responsivo.css) */
.h2-esc{display:block;min-width:0}
.h2-ui .h2-d,.h2-ui .h2-num,.h2-ui.h2-d{font-family:var(--wz-font-display,'Manrope',sans-serif)!important}
.h2-ui .h2-d{letter-spacing:-.02em}
.h2-btn:hover{color:#ffffff}.h2-btn2:hover{color:#3a1cb0}
.h2-link{font-family:inherit}
.h2-hero-br{display:block}
.h2-solo-m{display:none!important}
.h2-cifs{display:grid;grid-template-columns:.9fr .85fr 1.15fr 1.3fr;align-items:center}
.h2-cif{display:flex;align-items:baseline;justify-content:center;gap:9px;padding:0 18px;text-align:left}
.h2-cif+.h2-cif{border-left:1px solid #e6e1f0}
.h2-sellos{display:grid;grid-template-columns:1fr 1.1fr .85fr .95fr 1.45fr}
a.h2-sello:hover strong{color:#4723D9!important}
.h2-cab2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px 64px;align-items:end}
.h2-giros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.h2-fila{display:grid;gap:40px 64px;align-items:center}
.h2-fila-d{grid-template-columns:minmax(0,1fr) 640px}
.h2-fila-i{grid-template-columns:640px minmax(0,1fr)}
.h2-fila-txt{min-width:0}
.h2-duo{position:relative;padding-top:214px;min-width:0}
.h2-duo-f{position:absolute;top:0;width:520px;max-width:100%;height:390px;object-fit:cover;border-radius:24px}
.h2-duo-d .h2-duo-f{right:0}.h2-duo-i .h2-duo-f{left:0}
.h2-duo-h{position:absolute;top:18px}
.h2-duo-d .h2-duo-h{right:18px}.h2-duo-i .h2-duo-h{left:18px}
.h2-duo-ui{position:relative;width:var(--uw,560px);max-width:100%}
.h2-duo-i .h2-duo-ui{margin-left:auto}
.h2-solo{min-width:0}
.h2-bento{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.h2-caja{background:#faf9ff;border:1px solid #efebf6;border-radius:24px;overflow:hidden;min-width:0}
.h2-caja-f{display:block;width:100%;height:176px;object-fit:cover}
.h2-caja-in{padding:28px 38px 26px}
.h2-caja-p{min-height:102px}
.h2-caja-v{min-height:414px}
.h2-plat{display:flex;align-items:center;gap:12px 26px}
.h2-plat>p{flex:none}
.h2-plat>.h2-link{flex:none;white-space:nowrap}
/* los logos se encogen para no montarse en «Ver integraciones» (en el sitio exportado cada <img> va dentro de <picture>: por eso display:contents) */
.h2-plat-l{flex:1 1 0;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:6px;overflow:hidden;padding:1px}.h2-plat-l picture{display:contents}.h2-plat-l>*{min-width:0;flex:0 1 auto}.h2-plat-l img{flex:0 1 42px;min-width:0;width:auto!important;height:auto!important;max-width:42px;aspect-ratio:1/1}
.h2e-con-g{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:20px;align-items:start}
.h2-hechos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 32px}
.h2-acomp{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:40px 72px;align-items:center}
.h2-acomp>*{min-width:0}
.h2-pasos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.h2-sop{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.h2-res{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px;align-items:stretch}
.h2-sis{display:grid;grid-template-columns:540px minmax(0,1fr);gap:24px;align-items:stretch}
.h2e-flu{display:flex}
.h2e-flu-g{flex:1 1 auto;min-width:0;border:1px solid #d6c8ff;border-radius:24px;padding:28px 26px;background:#ffffff;box-shadow:0 40px 70px -50px rgba(71,35,217,.5);display:grid;grid-template-columns:156px 64px minmax(0,1fr);align-items:center}
.h2-apps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.h2-apps .h2-app{padding:13px 6px 9px;gap:6px;min-height:44px;box-sizing:border-box;justify-content:center}
.h2-app-n{font-family:var(--wz-font-display,'Manrope',sans-serif);font-size:13.5px;line-height:1.22;font-weight:700;color:#1c1242;min-height:33px;display:flex;align-items:center}
.h2-giro{min-height:44px;box-sizing:border-box}

@media (max-width:1200px){
.h2f-wz{left:-10px!important}.h2f-tb{right:-10px!important}
}
@media (max-width:1180px){
.h2-plat{flex-wrap:wrap}
.h2-plat>p{flex:1 1 240px}
.h2-plat-l{flex:1 1 100%;order:3;justify-content:flex-start;flex-wrap:wrap;gap:8px}
}
@media (max-width:1100px){
.h2-sellos{grid-template-columns:repeat(6,1fr)}
.h2-sello{grid-column:span 2}
.h2-sello:nth-child(n+4){grid-column:span 3}
.h2-sello:nth-child(-n+3){border-bottom:1px solid #efebf6}
}
@media (max-width:1180px){
.h2-fila-d,.h2-fila-i{grid-template-columns:minmax(0,1fr)}
.h2-fila-i>.h2-duo,.h2-fila-i>.h2-solo{order:2}
.h2-duo,.h2-solo,.h2-fila-txt{width:100%;max-width:640px;margin-left:auto;margin-right:auto}
.h2-acomp{grid-template-columns:minmax(0,1fr)}
.h2-acomp-v{width:100%;max-width:560px;margin:0 auto}
.h2-giros{grid-template-columns:repeat(2,minmax(0,1fr))}
.h2-cifs{grid-template-columns:1fr 1fr;gap:14px 0}
.h2-cif{justify-content:flex-start}
.h2-cif:nth-child(3){border-left:0}
}
@media (max-width:1023px){
.h2-bento{grid-template-columns:minmax(0,1fr)}
.h2-caja{width:100%;max-width:680px;margin:0 auto}
.h2-caja-p,.h2-caja-v{min-height:0}
.h2-caja-f{height:220px}
.h2e-con-g{grid-template-columns:minmax(0,1fr)}
.h2e-con-g>.h2-win:last-child{width:100%;max-width:520px;margin:0 auto}
.h2-sis{grid-template-columns:minmax(0,1fr)}
.h2e-flu{width:100%;max-width:560px;margin:0 auto}
.h2-cab2{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:900px){
.h2e-tab [style*="212px minmax(0, 1fr)"]{grid-template-columns:minmax(0,1fr)!important}
.h2e-tab [style*="212px minmax(0, 1fr)"]>div:first-child{display:none!important}
.h2e-tab [style*="270px minmax(0, 1fr)"]{grid-template-columns:minmax(0,1fr)!important}
.h2f-wz{display:none!important}
.h2f-tb{top:-22px!important;right:-6px!important}
.h2-res{grid-template-columns:minmax(0,1fr)}
.h2-cifs{grid-template-columns:1fr 1fr;gap:14px 0}
.h2-cif{justify-content:flex-start}
.h2-cif:nth-child(3){border-left:0}
}
@media (max-width:760px){
.h2e-tab [style*="repeat(4, minmax(0, 1fr))"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.h2-hechos{grid-template-columns:minmax(0,1fr)}
.h2-sellos{grid-template-columns:1fr 1fr}
.h2-sello,.h2-sello:nth-child(n+4){grid-column:auto}
.h2-sello:nth-child(5){grid-column:1 / -1}
.h2-sello:nth-child(-n+4){border-bottom:1px solid #efebf6}
}
@media (max-width:640px){
/* hero: texto corto y el tablero animado dentro del primer pantallazo */
.h2-hero{padding:14px 0 26px!important}
.h2-hero-in{display:flex;flex-direction:column;align-items:center}
.h2-hero-in>*{order:1;max-width:100%}
.h2-hero-eye .wz-eye{font-size:13px!important;line-height:1.4!important}
.h2-hero-h1{margin-top:10px!important;line-height:1.05!important}
.h2-hero-br{display:inline}
.h2-hero-sub{margin-top:10px!important;font-size:15.5px!important;line-height:1.45!important}
.h2-hero-cta{margin-top:14px!important;gap:8px!important;width:100%}
.h2-hero-cta .h2-btn,.h2-hero-cta .h2-btn2{flex:1 1 0!important;min-width:0;min-height:50px;padding:0 8px!important;font-size:clamp(13.5px,3.8vw,15.5px)!important;white-space:nowrap}
.h2-hero-cta a.h2-btn{flex:1.2 1 0!important;gap:6px!important}
.h2-hero-cta .h2-btn svg{width:14px;height:14px}
.h2-hero-pre{order:3;flex:1 1 100%;justify-content:center;margin:-4px 0 -8px!important;font-size:15px!important}
.h2-hero-vis{order:2;margin-top:6px!important}
.h2-hero-gar{order:3;margin-top:18px!important;font-size:14px!important}
.h2-hero-soc{order:4;margin-top:14px!important;font-size:14px!important}
.h2f-tb{display:none!important}
.h2e-tab .h2-bar{padding:8px 12px}
.h2e-tab [style*="padding: 22px 26px 26px"]{padding:12px!important}
.h2e-tab [style*="padding: 16px 18px 12px"]{padding:11px 11px 7px!important}
.h2e-tab [style*="padding: 16px 18px 12px"] .h2-num{font-size:19px!important}
.h2e-tab [style*="padding: 16px 18px 12px"] span[style*="font-size: 14px"]{font-size:12.5px!important}
.h2e-tab [style*="repeat(4, minmax(0, 1fr))"]{gap:9px!important;margin-top:10px!important}
.h2e-tab .h2-card[style*="padding: 18px 20px 20px"]{display:none!important}
.h2-conf{padding-bottom:44px!important}
.h2-cif{padding:0 10px;flex-direction:column;gap:2px}
.h2-cif dd{font-size:26px!important}
.h2-sello{padding:12px 12px!important;gap:10px!important}
/* giros: lista completa, sin carrusel */
.h2-giros{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:24px!important}
.h2-giro{padding:9px 12px 9px 9px!important;gap:12px!important}
.h2-giro img{width:58px!important;height:58px!important;border-radius:12px!important}
#sectores{padding:52px 0 48px!important}
/* bloques persona + pantalla */
.h2-sec{padding-top:48px!important;padding-bottom:52px!important}
.h2-fila{gap:26px}
.h2-lista li:nth-child(n+3){display:none!important}
.h2-duo{padding-top:132px}
.h2-duo-f{width:100%;height:230px;border-radius:18px}
.h2-duo-h{top:12px}.h2-duo-d .h2-duo-h{right:12px}.h2-duo-i .h2-duo-h{left:12px}
.h2-duo-ui{width:100%}
.h2-caja{border-radius:20px}
.h2-caja-f{height:150px}
.h2-caja-in{padding:22px 18px 18px}
.h2-plat{padding:16px 16px!important}
.h2-plat-l img{width:34px!important;height:34px!important}
/* factura */
.h2e-fac [style*="26px"]{margin-left:16px!important;margin-right:16px!important}
.h2e-fac [style*="padding: 22px 26px 0"]{margin:0!important;padding:16px 16px 0!important}
.h2e-fac [style*="1.4fr 1fr 1fr"]{grid-template-columns:1.5fr 1fr!important}
.h2e-fac [style*="1.4fr 1fr 1fr"]>span:nth-child(3){display:none!important}
.h2e-fac [style*="minmax(0, 1fr) 56px 110px"]{grid-template-columns:minmax(0,1fr) 30px 84px!important;gap:8px!important;font-size:14px!important}
.h2e-fac [style*="display: flex; gap: 5px"]{display:none!important}
.h2e-fac .h2-floaty{right:-4px!important;width:258px!important}
.h2e-fac .h2-d[style*="font-size: 24px"]{font-size:20px!important}
/* cuentas por cobrar */
.h2e-cob>.h2-win{padding:16px 14px 14px!important}
.h2e-cob [style*="30px minmax(0, 1fr) 96px 84px"]{grid-template-columns:minmax(0,1fr) auto auto!important;gap:8px!important;font-size:13.5px!important}
.h2e-cob [style*="30px minmax(0, 1fr) 96px 84px"]>span:first-child{display:none!important}
.h2e-cob [style*="background: #f4f1ff; display: flex"]{flex-wrap:wrap}
/* inventario */
.h2e-inv>.h2-win{padding:16px 14px 14px!important}
.h2e-inv>.h2-win>div:first-child{flex-wrap:wrap}
.h2e-inv [style*="minmax(0, 1.25fr) minmax(0, 1fr) 54px"]{grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr) 38px!important;gap:10px!important}
/* punto de venta */
.h2-pos-g{grid-template-columns:minmax(0,1fr) 112px!important}
.h2-pos-ts{grid-template-columns:minmax(0,1fr)!important}
.h2-pos-t:nth-child(n+3),.h2-pos-n,.h2-pos-l{display:none!important}
.h2-pos-imp{width:100%!important}
.h2-pos-imp .h2-tk span:first-child{display:none!important}
.h2-pos-g>div{padding:10px 9px 10px!important}
/* conciliación */
.h2-con-f{width:92px!important;height:120px!important}
.h2e-con .h2-win{padding:16px 12px 16px!important}
.h2e-con .h2-win>div:first-child>.h2-chip{display:none!important}
.h2e-con [style*="minmax(0, 1fr) 92px minmax(0, 1fr)"]{grid-template-columns:minmax(0,.8fr) 26px minmax(0,1.2fr)!important}
.h2e-con [style*="52px minmax(0, 1fr) auto"]{grid-template-columns:minmax(0,1fr)!important;padding:0 8px!important;justify-items:end}
.h2e-con [style*="52px minmax(0, 1fr) auto"]>span:nth-child(-n+2){display:none!important}
.h2e-con [style*="50px minmax(0, 1fr) auto 22px"]{grid-template-columns:auto minmax(0,1fr) 18px!important;gap:5px!important;padding:0 7px 0 8px!important}
.h2e-con [style*="50px minmax(0, 1fr) auto 22px"]>span:nth-child(2){display:none!important}
.h2e-con [style*="50px minmax(0, 1fr) auto 22px"]>span:nth-child(3){text-align:right}
.h2e-con [style*="50px minmax(0, 1fr) auto 22px"]>span:nth-child(4){width:18px!important;height:18px!important}
.h2e-con .h2-num{font-size:13.5px!important}
.h2e-con .h2-lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h2e-con svg circle{display:none!important}
.h2e-con [style*="margin-top: 18px; display: flex; align-items: center; gap: 14px"]{flex-wrap:wrap;gap:8px 14px!important}
.h2e-con [style*="margin-top: 18px; display: flex; align-items: center; gap: 14px"]>span:first-child{flex:1 1 100%!important}
.h2e-con-g>.h2-win:last-child{display:none!important}
#sat{padding:52px 0 44px!important}
/* arranque y soporte */
#arranque{padding:52px 0!important}
.h2e-chat{display:none!important}
.h2-acomp-v figure{margin-top:0!important}
.h2-acomp{gap:26px}
/* reseñas, wizzy, sistema */
#resenas{padding:52px 0!important}
.h2-res>figure{padding:26px 22px 24px!important;border-radius:20px!important}
.h2-res figure figure,.h2-res>div>figure{padding:20px 20px 18px!important}
.h2e-wz [style*="190px minmax(0, 1fr) 62px"]{grid-template-columns:104px minmax(0,1fr) 56px!important;gap:8px!important;font-size:13px!important}
.h2e-wz [style*="min-height: 330px"]{min-height:0!important;padding:16px 12px 8px!important}
.h2e-wz [style*="padding: 16px 18px 16px"]{padding:14px 13px!important}
.h2e-wz [style*="padding: 16px 20px"]{padding:13px 14px!important}
.h2e-wz .h2-type{font-size:15px}
.h2e-flu-g{grid-template-columns:minmax(0,1fr);gap:12px;padding:18px 16px;border-radius:20px}
.h2e-flu-s{display:none!important}
.h2-apps{grid-template-columns:1fr 1fr;gap:8px}
.h2-apps .h2-app{flex-direction:row;justify-content:flex-start;text-align:left;padding:8px 10px;gap:10px;min-height:52px}
.h2-apps .h2-app svg{width:28px;height:28px;flex:none}
.h2-app-n{min-height:0}
#modulos{padding:52px 0!important}
#precios{padding:52px 0 48px!important}
}
/* ---------- celular: recorrido corto (la compradora no pasa de 10–12 pantallas) */
.h2-nom{display:inline}
.h2-chat-abre[hidden]{display:none!important}
@media (max-width:640px){
.h2-nom{display:none!important}
/* (cifras: vuelven al celular en 2 x 2, compactas) */
.h2-cifs{gap:12px 0!important}.h2-cif dd{font-size:23px!important}.h2-cif dt{font-size:13.5px!important}
.h2-sellos{margin-top:18px!important}
/* factura: el aviso «Enviada al correo» baja para no tapar el folio fiscal */
.h2e-fac .h2-floaty{bottom:-46px!important}.h2e-fac{margin-bottom:46px}
.h2-conf{padding-bottom:36px!important}
#sectores{padding:40px 0 40px!important}
#sectores .h2-cab2>p{display:none!important}
.h2-giros{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:20px!important}
.h2-giro{padding:8px!important;gap:8px!important;min-height:60px}
.h2-giro img{width:36px!important;height:36px!important;border-radius:9px!important}
.h2-giro span span:first-child{font-size:12.5px!important;line-height:1.2!important;overflow-wrap:normal;hyphens:none;letter-spacing:-0.02em!important}
.h2-giro span span:last-child{display:none!important}
.h2-sec{padding-top:36px!important;padding-bottom:40px!important}
#vende>div:first-child{padding-bottom:22px!important}
/* (palomitas de Ventas: vuelven al celular, las tres, en letra compacta) */
#vende .h2-lista li:nth-child(n+3){display:flex!important}#vende .h2-lista li{font-size:15px!important;line-height:1.45!important}
#ia .h2-lista{display:none!important}
.h2-fila-txt p .h2-link:nth-child(n+2){display:none!important}
.h2-fila-txt>p[style*="18px"]{font-size:16.5px!important;margin-top:12px!important}
.h2-lista{margin-top:16px!important;gap:10px!important}
.h2-lista li{font-size:15.5px!important}
.h2-fila{gap:20px}
.h2-duo{padding-top:116px}
.h2-duo-f{height:210px}
#inventario{padding-bottom:36px!important}
.h2-bento{gap:16px}
.h2-caja-f{height:132px}
.h2-caja-in{padding:18px 16px 12px}
.h2-caja-in p .h2-link:nth-child(n+2){display:none!important}
.h2-caja-p{font-size:15.5px!important;margin-top:8px!important}
.h2-caja-v{margin-top:14px!important}
.h2e-inv [style*="margin-top: 10px"]>div:nth-child(n+5){display:none!important}
.h2-plat{display:none!important}
#sat{padding:40px 0 30px!important}
.h2-con-f{display:none!important}
#sat .h2-cab2 p{font-size:16px!important}
.h2e-con{margin-top:24px!important}
.h2-hechos{margin-top:24px!important;gap:14px}
.h2-hechos>div{padding-top:13px!important}
.h2-hechos h3{font-size:16.5px!important}
.h2-hechos p{font-size:14.5px!important;margin-top:4px!important}
#sat p .h2-link:nth-child(3){display:none!important}
#arranque{padding:40px 0!important}
#arranque .h2-acomp>div>p[style*="18px"]{font-size:16px!important;margin-top:12px!important}
.h2-pasos{margin-top:16px!important;gap:8px}
.h2-pasos>div{padding:11px 12px!important}
.h2-pasos p{display:none!important}
.h2-pasos h3{font-size:15px!important}
.h2-sop{margin-top:14px!important;padding:13px 14px!important}
.h2-sop img{display:none!important}
#resenas{padding:40px 0!important}
.h2-res{margin-top:22px!important;gap:14px}
.h2-res>div{gap:14px!important}
.h2-res>div>figure:nth-child(2){display:none!important}
.h2-res-q{font-size:18px!important}
#precios{padding:40px 0 36px!important}
#precios div[data-promo]:not(.wz-promo-bloque){display:none!important}
#precios [style*="repeat(auto-fit"]>div{padding:20px!important}
#precios [style*="repeat(auto-fit"]{gap:12px!important;margin-top:28px!important}
#precios [style*="repeat(auto-fit"] p[style*="font-size: 44px"]{margin-top:10px!important;font-size:38px!important}
#ia{padding:36px 0 40px!important}
.h2e-wz [style*="padding: 14px 20px 16px"]{display:none!important}
.h2e-eq>.h2-ui>.h2-win{padding:16px 14px 16px!important}
.h2e-eq-w{grid-template-columns:minmax(0,1fr)!important}
.h2e-eq-f{border-left:0!important;border-top:1px solid #cdebd9;display:flex!important;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:8px 12px!important}
.h2e-eq-f>*{margin-top:0!important}
.h2e-eq-sl{right:-4px!important;top:-58px!important;width:246px!important}
#equipo .h2-lista li:nth-child(2){display:none!important}
#equipo .h2-lista li:nth-child(3){display:flex!important}
#vende>div:first-child h2{font-size:1.45rem!important}
#precios .wz-promo-bloque [data-promo-t="bloque_bajada"],#precios .wz-promo-bloque [data-promo-t="terminos"]{display:none!important}
#precios .wz-promo-bloque{margin-top:24px!important}
#modulos{padding:40px 0!important}
#modulos .h2-sis{margin-top:22px!important}
.h2e-flu{display:none!important}
#modulos .h2-mas{display:none!important}
#modulos>div>p[style*="18px"],#modulos p[style*="max-width: 700px"]{font-size:16px!important;margin-top:12px!important}
}
@media (max-width:374px){
.h2-hero-cta .h2-btn svg{display:none!important}
.h2-pos-g{grid-template-columns:minmax(0,1fr) 100px!important}
}
/* escenas: con JS, quietas y completas fuera de pantalla; al entrar (.h2-viva, sitio.js) el bucle arranca tras 2.4 s en su estado completo */
.wz-js .h2-esc:not(.h2-viva) *,.wz-js .h2-esc:not(.h2-viva) *::after{animation:none!important}
.wz-js .h2-esc.h2-viva :not(i),.wz-js .h2-esc.h2-viva ::after{animation-delay:2.4s}
@media (prefers-reduced-motion:reduce){[class^="h2"],[class*=" h2"],[class^="h2"]::after,[class*=" h2"]::after,.h2-think i{animation:none!important;transition:none!important}}


/* ===== sitio real (sitio-tools/sitio.css) ===== */
/* Lo que es sólo del sitio real: menú móvil, dock de prueba gratis y ajustes responsivos. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.wz-pagina{overflow-x:clip!important}
:focus-visible{outline:2px solid #4723D9;outline-offset:2px}

/* ---------- menú ---------- */
.wz-prod.wz-open .wz-mega{display:block}
.wz-prod.wz-open .wz-caret{transform:rotate(180deg)}
.wz-prod.wz-cerrado .wz-mega{display:none!important}
.wz-burger{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #e6e1f0;border-radius:10px;background:#ffffff;color:var(--wz-ink);cursor:pointer}
.wz-burger-c{display:none}
.wz-burger[aria-expanded="true"] .wz-burger-a{display:none}
.wz-burger[aria-expanded="true"] .wz-burger-c{display:block}
.wz-movil{position:absolute;left:0;right:0;top:100%;background:#ffffff;border-top:1px solid #efebf6;border-bottom:1px solid #e6e1f0;box-shadow:0 30px 60px -20px rgba(26,11,92,.35)}
.wz-movil[hidden]{display:none}
.wz-movil nav{max-width:720px;margin:0 auto;padding:8px 24px 24px}
.wz-mg{border-bottom:1px solid #efebf6}
.wz-mg summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;font-size:16px;font-weight:600;color:var(--wz-ink);cursor:pointer;list-style:none}
.wz-mg summary::-webkit-details-marker{display:none}
.wz-mg[open] summary .wz-caret{transform:rotate(180deg)}
.wz-mg-l{padding:0 0 12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:2px 16px}
.wz-movil .wz-mi{margin:0;padding:8px;min-height:44px;align-items:center}
.wz-movil .wz-mi b{font-size:15px}
.wz-movil .wz-mi small{font-size:13px}
.wz-ml{display:flex;flex-direction:column}
.wz-ml a{display:flex;align-items:center;gap:6px;min-height:52px;border-bottom:1px solid #efebf6;font-size:16px;font-weight:600;color:var(--wz-ink)}
.wz-movil-cta{display:flex;flex-wrap:wrap;gap:10px;padding-top:20px}
.wz-movil-cta a{flex:1 1 180px;justify-content:center;min-height:48px!important;font-size:16px!important}
@media (max-width:1023px){
.wz-nav{display:none!important}
.wz-hdr-login{display:none!important}
.wz-burger{display:inline-flex}
}
@media (min-width:1024px){.wz-movil{display:none!important}}
/* entre 1024 y 1240 el mega-menú se ancla a la cabecera para no salirse de la pantalla */
@media (min-width:1024px) and (max-width:1240px){
.wz-prod{position:static}
.wz-mega{left:24px;right:24px;width:auto;max-width:none;transform:none;top:calc(100% - 10px);padding-top:18px}
}

/* ---------- dock de prueba gratis (barra flotante inferior) ---------- */
/* El marcado base viene de kit/foot.html; sitio.js le agrega avance de lectura, panel «Así empiezas», ✕ y pastilla. */
.wz-barra{position:fixed;left:0;right:0;bottom:0;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;transform:translate3d(0,120%,0);visibility:hidden;transition:transform .45s cubic-bezier(.22,1,.36,1),visibility 0s .45s}
.wz-barra.wz-on{transform:none;visibility:visible;transition:transform .45s cubic-bezier(.22,1,.36,1),visibility 0s}
.wz-dock{z-index:1;transition:opacity .25s ease,transform .3s cubic-bezier(.22,1,.36,1),visibility 0s}
.wz-dock a,.wz-dock button{box-sizing:border-box;font-family:inherit}
.wz-dock a{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.wz-dock :focus-visible,.wz-dock-pill:focus-visible{outline:2px solid #ffffff;outline-offset:2px}
.wz-dock-fila{flex-wrap:nowrap!important}
.wz-dock-acc{flex-wrap:nowrap!important;flex-shrink:0}
.wz-dock-cta{white-space:nowrap;transition:background-color .2s ease,transform .2s ease}
.wz-dock-cta:hover{background:#5a36ea!important;transform:translateY(-1px)}
.wz-dock-cta:active{transform:none}
.wz-dock-cta-c{display:none}
.wz-dock-asesor{white-space:nowrap;transition:background-color .2s ease}
.wz-dock-asesor:hover{background:rgba(255,255,255,.1)}
/* avance de lectura */
.wz-dock-av{position:absolute;left:18px;right:18px;top:-1px;height:2px;border-radius:2px;background:rgba(255,255,255,.14);overflow:hidden;pointer-events:none}
.wz-dock-av i{display:block;height:100%;background:#f69321;transform-origin:0 50%;transform:scaleX(0)}
/* mensaje = botón que despliega el panel */
.wz-dock-tog{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:12px;margin:0;padding:6px 8px 6px 6px;border:0;border-radius:13px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;min-height:52px;transition:background-color .2s ease}
.wz-dock-tog:hover{background:rgba(255,255,255,.07)}
.wz-dock-tog .wz-dock-msg{flex:1 1 0!important}
.wz-dock-tx{transition:opacity .16s ease,transform .16s ease}
.wz-dock-msg.wz-sale .wz-dock-tx{opacity:0;transform:translateY(5px)}
.wz-dock-ico{transition:transform .3s cubic-bezier(.22,1,.36,1)}
.wz-dock-msg.wz-sale .wz-dock-ico{transform:scale(.86)}
.wz-dock-mas{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:7px 10px 7px 13px;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:13.5px;line-height:1.2;font-weight:600;color:#ffffff;white-space:nowrap;transition:background-color .2s ease,border-color .2s ease}
.wz-dock-tog:hover .wz-dock-mas{border-color:rgba(255,255,255,.55)}
.wz-dock-mas svg{transition:transform .3s cubic-bezier(.22,1,.36,1)}
.wz-abierta .wz-dock-mas{background:#ffffff;border-color:#ffffff;color:#1a0b5c}
.wz-abierta .wz-dock-mas svg{transform:rotate(180deg)}
/* ✕ */
.wz-dock-x{flex-shrink:0;width:40px;height:44px;margin:0 -4px 0 -2px;padding:0;border:0;border-radius:10px;background:transparent;color:#d6c8ff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,color .2s ease}
.wz-dock-x:hover{background:rgba(255,255,255,.1);color:#ffffff}
/* panel «Así empiezas» */
.wz-dock-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.22,1,.36,1)}
.wz-dock-panel[hidden]{display:none}
.wz-abierta .wz-dock-panel{grid-template-rows:1fr}
.wz-dock-pin{min-height:0;overflow:hidden}
.wz-dock-pc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px 32px;padding:24px 24px 20px;border-bottom:1px solid rgba(255,255,255,.12)}
.wz-dock-eye{margin:0 0 16px;font-size:12px;line-height:1.4;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#ffd9a3}
.wz-dock-pasos ol{position:relative;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px}
.wz-dock-pasos li:not(:last-child)::after{content:"";position:absolute;left:13px;top:32px;bottom:-10px;width:2px;border-radius:2px;background:rgba(255,255,255,.22);transform-origin:50% 0;transform:scaleY(0);transition:transform .4s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i)*90ms + 260ms)}
.wz-abierta .wz-dock-pasos li::after{transform:none}
.wz-dock-pasos li{position:relative;display:flex;align-items:flex-start;gap:12px;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .45s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i)*90ms + 80ms)}
.wz-abierta .wz-dock-pasos li{opacity:1;transform:none}
.wz-dock-n{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#f69321;color:#ffffff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}
.wz-dock-pasos b{display:block;font-size:15px;line-height:1.3;font-weight:600;color:#ffffff}
.wz-dock-pasos small{display:block;margin-top:2px;font-size:14px;line-height:1.45;color:#d6c8ff}
.wz-dock-ligas{margin:18px 0 0;display:flex;flex-wrap:wrap;gap:4px 22px}
.wz-dock-ligas a{min-height:44px;color:#ffffff;font-size:14.5px;font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.45)}
.wz-dock-ligas a:hover{text-decoration-color:#ffffff}
.wz-dock-ligas .wz-dock-asesor2{display:none}
.wz-dock-lado{display:flex;flex-direction:column;gap:16px;min-width:0}
.wz-dock-res{margin:0;padding:16px 18px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.wz-dock-res blockquote{margin:6px 0 0;font-size:15px;line-height:1.5;color:#ffffff}
.wz-dock-res figcaption{margin-top:10px;font-size:13.5px;line-height:1.4;color:#d6c8ff}
.wz-dock-res figcaption b{color:#ffffff;font-weight:600}
.wz-dock-est{font-size:13px;letter-spacing:2px;color:#f69321}
.wz-dock-form label{display:block;margin:0 0 8px;font-size:14px;font-weight:600;color:#ffffff}
.wz-dock-campo{display:flex;gap:8px}
.wz-dock-form input{flex:1 1 0;min-width:0;height:48px;box-sizing:border-box;padding:0 14px;border:1px solid rgba(255,255,255,.3);border-radius:11px;background:#ffffff;color:var(--wz-ink);font:inherit;font-size:16px}
.wz-dock-form input::placeholder{color:#5b5470}
.wz-dock-form input:focus-visible{outline:2px solid #ffd9a3;outline-offset:2px}
.wz-dock-form button{flex-shrink:0;height:48px;padding:0 18px;border:0;border-radius:11px;background:#4723D9;box-shadow:inset 0 0 0 1px rgba(182,160,255,.6);color:#ffffff;font-size:15px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .2s ease}
.wz-dock-form button:hover{background:#5a36ea}
.wz-dock-nota{margin:8px 0 0;font-size:13px;line-height:1.45;color:#d6c8ff}
.wz-dock-err{margin:8px 0 0;font-size:13.5px;line-height:1.4;font-weight:600;color:#ffd9a3}
.wz-dock-err[hidden]{display:none}
/* velo (sólo hoja inferior en móvil) */
.wz-dock-velo{display:none}
/* minimizado: pastilla */
.wz-dock-pill{position:absolute;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px 0 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#1a0b5c;color:#ffffff;font:inherit;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer;pointer-events:auto;box-shadow:0 16px 30px -14px rgba(16,6,61,.7);opacity:0;visibility:hidden;transform:translateY(8px) scale(.94);transform-origin:0 100%;transition:opacity .25s ease,transform .3s cubic-bezier(.22,1,.36,1),visibility 0s .3s,background-color .2s ease}
.wz-dock-pill svg{color:#ffd9a3}
.wz-dock-pill:hover{background:#2a1680}
.wz-barra.wz-min .wz-dock{opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transition:opacity .2s ease,transform .25s ease,visibility 0s .25s}
.wz-barra.wz-min .wz-dock-pill{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease .1s,transform .3s cubic-bezier(.22,1,.36,1) .1s,visibility 0s,background-color .2s ease}
.wz-barra:not(.wz-on) .wz-dock-pill{visibility:hidden}
/* el botón «volver arriba» no convive con el panel abierto */
.wz-dock-abierto .wz-arriba{opacity:0!important;visibility:hidden!important}
@media (max-width:1100px){
.wz-dock-pc{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 24px;padding:22px 20px 18px}
}
/* con panel, «Hablar con asesor» vive dentro del panel cuando la fila ya no da para todo */
@media (max-width:1180px){
.wz-dock:not(.wz-dock-simple) .wz-dock-fila .wz-dock-asesor{display:none!important}
.wz-dock-ligas .wz-dock-asesor2{display:inline-flex}
}
@media (max-width:900px){
.wz-dock-ico{display:none!important}
.wz-dock-cta-l{display:none}
.wz-dock-cta-c{display:inline}
.wz-dock-tog{padding-left:10px}
}
@media (max-width:760px){
.wz-dock-mas{padding:0;border:0;width:28px;height:28px;justify-content:center;border-radius:50%;background:rgba(255,255,255,.12)}
.wz-dock-mas-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media (max-width:640px){
.wz-barra{padding:0 10px calc(10px + env(safe-area-inset-bottom,0px))!important}
.wz-dock{border-radius:16px!important}
.wz-dock-fila{padding:7px 8px 7px 6px!important;gap:6px!important}
.wz-dock-tog{gap:8px;padding:4px 4px 4px 6px;min-height:48px}
.wz-dock-msg{gap:0!important}
.wz-dock-fila .wz-dock-asesor{display:none!important}
.wz-dock-t{font-size:14px!important;line-height:1.25!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wz-dock-s{display:none!important}
.wz-dock-cta{padding:0 14px!important;min-height:46px!important;font-size:14.5px!important}
.wz-dock-x{position:absolute;top:-13px;right:-5px;z-index:2;width:28px;height:28px;margin:0;border-radius:50%;border:1px solid #e6e1f0;background:#ffffff;color:#1a0b5c;box-shadow:0 6px 14px -6px rgba(16,6,61,.6)}
.wz-dock-x::before{content:"";position:absolute;top:-10px;right:-6px;bottom:-6px;left:-10px}
.wz-dock-x:hover{background:#ffffff;color:#1a0b5c}
.wz-dock-x svg{width:14px;height:14px}
.wz-dock-pill{left:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px))}
/* panel como hoja inferior */
.wz-dock-pc{grid-template-columns:minmax(0,1fr);gap:18px;padding:22px 16px 16px;max-height:calc(100vh - 190px);max-height:calc(100dvh - 190px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.wz-dock-velo{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(16,6,61,.5);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility 0s .3s}
.wz-abierta .wz-dock-velo{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .3s ease,visibility 0s}
.wz-dock-campo{flex-wrap:wrap}
.wz-dock-form input{flex:1 1 100%}
.wz-dock-form button{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
.wz-barra,.wz-barra.wz-on,.wz-dock,.wz-dock *,.wz-dock-pill,.wz-dock-velo,.wz-barra.wz-min .wz-dock,.wz-barra.wz-min .wz-dock-pill{transition:none!important}
.wz-dock-pasos li{opacity:1;transform:none}
.wz-dock-pasos li::after{transform:none!important}
}

/* ---------- formulario (vista previa) ---------- */
.wz-aviso-form{margin:0;padding:14px 16px;border-radius:10px;background:#ecfdf5;color:#047857;font-size:15px;font-weight:600}
/* formularios en producción (sitio.js, bloque d): error por campo, error del servidor y éxito */
.wz-form-err{display:block;margin-top:6px;font-size:13px;color:#b42318}
main form [aria-invalid="true"]{border-color:#d92d20!important}
.wz-form-fallo{margin:0;padding:12px 16px;border-radius:10px;background:#fef3f2;color:#b42318;font-size:15px;font-weight:500}
.wz-form-ok{margin:28px 0 0;padding:32px 24px;border:1px solid #abefc6;border-radius:12px;background:#ecfdf5;text-align:center;color:#047857}
.wz-form-ok:focus{outline:2px solid #4723D9;outline-offset:3px}
.wz-form-ok h3{margin:12px 0 0;font-size:18px;font-weight:700;color:var(--wz-ink)}
.wz-form-ok p{margin:8px 0 0;font-size:15px;color:#5b5470}
.wz-form-ok button{margin-top:20px;padding:10px 4px;border:0;background:none;color:#4723D9;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.wz-form-ok[hidden],.wz-form-fallo[hidden],main form[hidden]{display:none!important}

/* ---------- ajustes responsivos generales ---------- */
/* preguntas (<details>): área táctil de 44 px sin mover la maquetación */
main summary{cursor:pointer}
@media (pointer:coarse),(max-width:1023px){
main details:not(.wz-faq)>summary:not([style*="padding"]){padding-top:8px;padding-bottom:8px;margin-top:-8px;margin-bottom:-8px}
.wz-pagina>footer a{padding-top:4px;padding-bottom:4px}
}
@media (max-width:640px){
/* cuerpo mínimo de 14 px en móvil (los antetítulos en mayúsculas y las maquetas de pantalla no se tocan) */
.wz-pagina :is(p,li,span,a)[style*="font-size: 13px"]:not([style*="uppercase"]):not([style*="Geist Mono"]):not([aria-hidden="true"] *),
.wz-pagina :is(p,li,span,a)[style*="font-size: 13.5px"]:not([style*="uppercase"]):not([aria-hidden="true"] *),
.wz-pagina p[style*="font-size: 12px"]:not([style*="uppercase"]):not([aria-hidden="true"] *){font-size:14px!important}
/* portada · tarjetas de giro: que el nombre largo no pise la flecha */
#sectores a>span[style*="rgba(16,6,61,0.88)"]{left:6px!important;right:6px!important;bottom:6px!important;padding:10px 10px!important}
#sectores a>span[style*="rgba(16,6,61,0.88)"]>span:first-child{font-size:14px!important;gap:4px!important}

/* precios · comparativa: cada renglón se apila (función arriba, los tres planes abajo) y el encabezado de planes queda pegado */
.wz-pagina div[role="region"]:has(>table){overflow:visible!important}
.wz-pagina div[role="region"]>table{display:block;min-width:0!important;background:transparent!important}
.wz-pagina div[role="region"]>table :is(thead,tbody){display:block}
.wz-pagina div[role="region"]>table tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.wz-pagina div[role="region"]>table thead tr{position:sticky;top:0;z-index:2;background:#ffffff;border-radius:16px 16px 0 0;box-shadow:0 1px 0 #e6e1f0,0 10px 18px -14px rgba(26,11,92,.45)}
.wz-pagina div[role="region"]>table thead th{width:auto!important;padding:10px 6px!important}
.wz-pagina div[role="region"]>table thead th:first-child{display:none}
.wz-pagina div[role="region"]>table thead th:last-child{border-radius:0 16px 0 0}
.wz-pagina div[role="region"]>table tbody th{grid-column:1/-1}
.wz-pagina div[role="region"]>table tbody th[scope="row"]{padding:14px 16px 2px!important}
.wz-pagina div[role="region"]>table tbody th[scope="colgroup"]{padding:10px 16px!important}
.wz-pagina div[role="region"]>table tbody td{border-top:0!important;padding:6px 6px 14px!important;font-size:13px!important;line-height:1.3;overflow-wrap:anywhere}
.wz-pagina div[role="region"]>table tbody tr:last-child td:last-child{border-radius:0 0 16px 0}
}

/* ---------- titulares y enlaces ---------- */
.wz-pagina :is(h1,h2,h3){text-wrap:balance}
.wz-pagina a[href^="tel:"]{white-space:nowrap}
@media (max-width:420px){
/* botón principal del hero con texto largo: que quepa en un renglón */
main>section:first-of-type a.wz-shine{padding-left:16px!important;padding-right:16px!important}
}

/* ---------- rejillas en tableta ---------- */
@media (min-width:641px) and (max-width:1199px){
/* 4 elementos: 2 × 2 en vez de 3 + 1 huérfano */
.wz-pagina [style*="repeat(auto-fit"]:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (min-width:1024px) and (max-width:1199px){
/* planes: los tres en un renglón (Pro ya no queda solo a media rejilla) */
#planes [style*="repeat(auto-fit"]:has(>:nth-child(3):last-child),
#precios [style*="repeat(auto-fit"]:has(>:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
}
@media (max-width:1199px){
/* portada · cifras del hero: las tres en un renglón (antes «Ilimitados» caía solo) */
main[data-pagina="main"]>section:first-of-type dl[style*="repeat(auto-fit"]{grid-template-columns:repeat(3,auto)!important;justify-content:space-between;align-items:end;gap:16px 14px!important}
}
@media (min-width:900px) and (max-width:1199px){
/* portada · giros: 4 + 4 en vez de 3 + 3 + 2 */
#sectores [style*="repeat(auto-fit"]:has(>:nth-child(8):last-child){grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media (min-width:641px) and (max-width:1023px){
/* planes: Factura y One lado a lado, Pro a todo el ancho (no huérfano a media rejilla) */
#planes [style*="repeat(auto-fit"]>:nth-child(3):last-child,
#precios [style*="repeat(auto-fit"]>:nth-child(3):last-child{grid-column:1/-1}
}

/* ---------- capturas del ERP en móvil: tamaño legible con desplazamiento interno ---------- */
/* exportar.py envuelve cada captura grande en .wz-cap > .wz-cap-s; arriba de 640 px las envolturas no existen para la maquetación */
.wz-cap,.wz-cap-s{display:contents}
.wz-cap-p{display:none}
@media (max-width:640px){
.wz-cap{display:block;position:relative;overflow:hidden;max-width:100%}
.wz-cap--m{border:1px solid #e6e1f0;border-radius:12px;background:#ffffff}
.wz-cap-s{display:block;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-behavior:smooth;scrollbar-width:none}
.wz-cap-s::-webkit-scrollbar{display:none}
.wz-cap-s>div,.wz-cap-s>picture>img,.wz-cap-s>img{display:block;width:var(--zw)!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.wz-cap-s>picture>img,.wz-cap-s>img{height:auto!important}
.wz-cap::after{content:"";position:absolute;top:0;right:0;bottom:0;width:32px;background:linear-gradient(to right,rgba(14,10,31,0),rgba(14,10,31,.16));pointer-events:none;transition:opacity .25s ease}
.wz-cap.wz-fin::after{opacity:0}
.wz-cap-p{display:block;position:absolute;right:8px;bottom:8px;z-index:1;padding:6px 11px;border-radius:999px;background:rgba(14,10,31,.84);color:#ffffff;font-size:12px;line-height:1.2;font-weight:600;letter-spacing:0;white-space:nowrap;pointer-events:none;transition:opacity .3s ease}
.wz-cap.wz-movido .wz-cap-p{opacity:0}
}
@media (prefers-reduced-motion:reduce){.wz-cap-s{scroll-behavior:auto}}

/* ---------- subrayado naranja sobre fondos oscuros (cierre y pie): opaco y delgado, para que no se vea café ---------- */

/* ---------- acentos naranja: en /precios el naranja de letra es del bloque de oferta («20 %»); la palabra clave del H1 se queda en el morado de marca para no competir ---------- */
main[data-pagina="precios"] h1 .wz-mark{color:#4723D9}
@supports ((-webkit-background-clip:text) or (background-clip:text)){main[data-pagina="precios"] h1 .wz-mark{background-image:var(--wz-grad);-webkit-text-fill-color:transparent}}
@media (forced-colors:active){main[data-pagina="precios"] h1 .wz-mark{background-image:none;-webkit-text-fill-color:currentColor}}

/* ---------- celular: el encabezado fijo ya trae «Crear cuenta gratis»; la barra no lo repite y queda, más baja, como acceso a «Así empiezas» ---------- */
@media (max-width:640px){
.wz-dock:not(.wz-dock-simple) .wz-dock-acc{display:none!important}
.wz-dock:not(.wz-dock-simple) .wz-dock-tog{flex:1 1 auto;width:100%;justify-content:space-between;padding:2px 4px 2px 10px;min-height:44px}
.wz-dock:not(.wz-dock-simple) .wz-dock-mas{flex:none;width:auto;height:auto;gap:6px;padding:6px 10px 6px 12px;border:1px solid rgba(182,160,255,.5);border-radius:999px;background:transparent;font-size:13.5px;font-weight:600}
.wz-dock:not(.wz-dock-simple) .wz-dock-mas-t{position:static;width:auto;height:auto;overflow:visible;clip:auto}
}

/* ---------- formularios: flecha propia en los select ---------- */
main select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%235b5470' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px!important}

/* ---------- contacto: en tableta y móvil el formulario va antes de la lista de datos ---------- */
@media (max-width:1023px){
main[data-pagina="contacto"]>section:first-of-type>div:not(.wz-dots){row-gap:0!important}
main[data-pagina="contacto"]>section:first-of-type>div:not(.wz-dots)>div:first-child{display:contents}
main[data-pagina="contacto"]>section:first-of-type>div:not(.wz-dots)>div:first-child>*{flex:1 1 100%;order:0}
main[data-pagina="contacto"] #formulario{order:1;flex:1 1 100%!important;margin-top:36px}
main[data-pagina="contacto"]>section:first-of-type>div:not(.wz-dots)>div:first-child>ul{order:2;max-width:none!important}
}

/* ---------- cierre: la caja «No empiezas de cero» no se repite donde ya está contada (portada y cómo empezar) ---------- */
main[data-pagina="main"]~.wz-cierre .wz-cierre-pasos,main[data-pagina="arranque"]~.wz-cierre .wz-cierre-pasos{display:none}

/* ---------- hero en móvil: los dos botones a todo el ancho ---------- */
@media (max-width:640px){
main>section:first-of-type a.wz-shine,main>section:first-of-type a.wz-shine+a{flex:1 1 100%;justify-content:center;text-align:center;box-sizing:border-box}
}

/* ---------- Menú flotante al hacer scroll + botón «volver arriba» ---------- */
html{scroll-padding-top:88px}
.wz-hdr{position:sticky!important;top:0;z-index:60!important;transition:box-shadow .25s ease,background-color .25s ease}
.wz-hdr.wz-flota{background:rgba(250,249,255,.94)!important;-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);box-shadow:0 10px 30px -18px rgba(26,11,92,.45)}
.wz-arriba{position:fixed;right:20px;bottom:calc(var(--wz-barra-vis,0px) + 20px);z-index:55;width:48px;height:48px;border-radius:50%;border:1px solid #e6e1f0;background:#fff;color:#4723D9;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 14px 30px -14px rgba(26,11,92,.55);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease,visibility .25s,bottom .25s ease,background-color .2s ease,color .2s ease}
.wz-arriba.wz-on{opacity:1;visibility:visible;transform:none}
.wz-arriba:hover,.wz-arriba:focus-visible{background:#4723D9;color:#fff;outline:none}
.wz-arriba:focus-visible{box-shadow:0 0 0 3px #d6c8ff}
@media (max-width:640px){.wz-arriba{right:14px;width:44px;height:44px}}
@media (prefers-reduced-motion:reduce){.wz-hdr,.wz-arriba{transition:none}}

/* ==========================================================================
   Promoción con vigencia (sitio-tools/promo.json). El marcado viene del kit
   (data-promo); aquí sólo va el comportamiento: caducidad, ✕, contador y móvil.
   ========================================================================== */
.wz-promo-fin [data-promo]{display:none!important}
.wz-promo-fin [data-promo-off]{display:block}
.wz-promo-x .wz-cinta{display:none!important}
/* Oferta de bienvenida (promo-bienvenida.json; sólo /precios): caducada, no se pinta */
.wz-bienv-fin [data-bienv]{display:none!important}
.wz-cinta-in{padding-left:56px!important;padding-right:56px!important}
.wz-cinta-x{position:absolute;right:6px;top:50%;width:44px;height:44px;margin:-22px 0 0;padding:0;border:0;border-radius:10px;background:transparent;color:#d6c8ff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;transition:color .2s ease,background-color .2s ease}
.wz-cinta-x:hover{color:#ffffff;background:rgba(255,255,255,.1)}
.wz-cinta :focus-visible{outline:2px solid #ffffff;outline-offset:-3px}
.wz-cinta-b{transition:background-color .2s ease}
.wz-cinta-a:hover .wz-cinta-b{background:#5a36ea!important}
@media (max-width:1140px){.wz-cinta-l>span{display:none}}
@media (max-width:980px){
.wz-cinta-n,.wz-cinta-l{display:none!important}
.wz-cinta-c{display:inline-flex!important;flex:1 1 auto}
.wz-cinta-in{justify-content:space-between!important;gap:0 10px!important;padding:3px 50px 3px 16px!important}
}
@media (max-width:640px){.wz-cinta-q{display:none!important}}
@media (max-width:420px){.wz-cinta-c>span[aria-hidden],.wz-cinta-b svg{display:none}.wz-cinta-in{padding:3px 46px 3px 14px!important;gap:0 8px!important}.wz-cinta-x{right:0}.wz-cinta-b{padding:6px 11px!important}}
@media (max-width:640px){
.wz-hero-promo{display:none!important}
.wz-promo-bloque{padding:22px 20px!important;border-radius:16px!important}
}
.wz-hero-promo:hover .wz-pill{transform:translateY(-2px)}
.wz-promo-fichas{display:flex;gap:8px;margin:0 0 14px}
.wz-promo-fichas span{flex:1 1 0;min-width:0;background:rgba(255,255,255,.08);border:1px solid rgba(182,160,255,.35);border-radius:12px;padding:11px 6px 9px;text-align:center}
.wz-promo-fichas b{display:block;font-family:var(--wz-font-display);font-size:30px;line-height:1;font-weight:800;letter-spacing:-.02em;color:#ffffff}
.wz-promo-fichas small{display:block;margin-top:6px;font-size:11.5px;line-height:1;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#d6c8ff}
@media (max-width:860px){.wz-promo-lado{flex:1 1 100%!important}.wz-promo-fichas{max-width:320px}}

/* ==========================================================================
   Chat del sitio (HelpCrunch) conviviendo con el dock y el botón «volver arriba».
   Las clases y variables las pone sitio.js (ver «Chat del sitio»); sin chat nada de esto aplica.
   ========================================================================== */
html.wz-chat-sube:not(.wz-chat-abierto) iframe[name="helpcrunch-iframe"]{bottom:var(--wz-chat-b)!important;transition:bottom .3s ease}
html.wz-chat .wz-arriba{right:calc(var(--wz-chat-r,20px) + (var(--wz-chat-w,70px) - 48px)/2);bottom:calc(var(--wz-chat-b,40px) + var(--wz-chat-w,70px) + 10px)}
@media (max-width:640px){html.wz-chat .wz-arriba{right:calc(var(--wz-chat-r,20px) + (var(--wz-chat-w,70px) - 44px)/2)}}
html.wz-chat-abierto .wz-barra,html.wz-chat-abierto .wz-arriba{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media (prefers-reduced-motion:reduce){html.wz-chat-sube iframe[name="helpcrunch-iframe"]{transition:none}}
