@font-face{font-family:'Archivo';font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(../fonts/archivo.woff2) format('woff2')}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/hanken-grotesk.woff2) format('woff2')}
body{margin:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid currentColor;outline-offset:3px}
@keyframes zWord{0%,12%{transform:translateY(0)}16%,28%{transform:translateY(-14.2857%)}32%,44%{transform:translateY(-28.5714%)}48%,60%{transform:translateY(-42.8571%)}64%,76%{transform:translateY(-57.1428%)}80%,92%{transform:translateY(-71.4285%)}96%,100%{transform:translateY(-85.7142%)}}
@keyframes zMarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes zDrop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes aS1{0%,22%{opacity:1}25%,97%{opacity:0}100%{opacity:1}}
@keyframes aS2{0%,22%{opacity:0}25%,47%{opacity:1}50%,100%{opacity:0}}
@keyframes aS3{0%,47%{opacity:0}50%,72%{opacity:1}75%,100%{opacity:0}}
@keyframes aS4{0%,72%{opacity:0}75%,97%{opacity:1}100%{opacity:0}}
@keyframes aT1{0%,22%{opacity:1;transform:translateX(-12px);border-color:#1F4FA8}25%,97%{opacity:.4;transform:none;border-color:transparent}100%{opacity:1;transform:translateX(-12px);border-color:#1F4FA8}}
@keyframes aT2{0%,22%{opacity:.4;transform:none;border-color:transparent}25%,47%{opacity:1;transform:translateX(-12px);border-color:#1F4FA8}50%,100%{opacity:.4;transform:none;border-color:transparent}}
@keyframes aT3{0%,47%{opacity:.4;transform:none;border-color:transparent}50%,72%{opacity:1;transform:translateX(-12px);border-color:#1F4FA8}75%,100%{opacity:.4;transform:none;border-color:transparent}}
@keyframes aT4{0%,72%{opacity:.4;transform:none;border-color:transparent}75%,97%{opacity:1;transform:translateX(-12px);border-color:#1F4FA8}100%{opacity:.4;transform:none;border-color:transparent}}
@keyframes bAfter{0%,12%{clip-path:inset(0 0 0 80%)}40%,62%{clip-path:inset(0 0 0 16%)}90%,100%{clip-path:inset(0 0 0 80%)}}
@keyframes bHandle{0%,12%{left:80%}40%,62%{left:16%}90%,100%{left:80%}}
@keyframes cK1{0%,22%{opacity:1}25%,97%{opacity:0}100%{opacity:1}}
@keyframes cK2{0%,22%{opacity:0}25%,47%{opacity:1}50%,100%{opacity:0}}
@keyframes cK3{0%,47%{opacity:0}50%,72%{opacity:1}75%,100%{opacity:0}}
@keyframes cK4{0%,72%{opacity:0}75%,97%{opacity:1}100%{opacity:0}}
@keyframes cN1{0%,2%{opacity:0;transform:translateY(-16px) scale(.96)}6%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
@keyframes cN2{0%,26%{opacity:0;transform:translateY(-16px) scale(.96)}30%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
@keyframes cN3{0%,51%{opacity:0;transform:translateY(-16px) scale(.96)}55%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
@keyframes cN4{0%,76%{opacity:0;transform:translateY(-16px) scale(.96)}80%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
@keyframes dPaper{0%,4%{clip-path:inset(0 0 94% 0)}64%,90%{clip-path:inset(0 0 0 0)}96%,100%{clip-path:inset(0 0 94% 0)}}
@keyframes dL1{0%,12%{opacity:0;transform:translateY(-6px)}16%,90%{opacity:1;transform:none}96%,100%{opacity:0}}
@keyframes dL2{0%,21%{opacity:0;transform:translateY(-6px)}25%,90%{opacity:1;transform:none}96%,100%{opacity:0}}
@keyframes dL3{0%,30%{opacity:0;transform:translateY(-6px)}34%,90%{opacity:1;transform:none}96%,100%{opacity:0}}
@keyframes dL4{0%,39%{opacity:0;transform:translateY(-6px)}43%,90%{opacity:1;transform:none}96%,100%{opacity:0}}
@keyframes dL5{0%,48%{opacity:0;transform:translateY(-6px)}52%,90%{opacity:1;transform:none}96%,100%{opacity:0}}
@keyframes dEnd{0%,58%{opacity:0;transform:scale(.9)}64%,90%{opacity:1;transform:none}96%,100%{opacity:0}}
.z-word{animation:zWord 14s cubic-bezier(.7,0,.2,1) infinite}
.z-marq{animation:zMarq 40s linear infinite}
.z-marq2{animation:zMarq 46s linear infinite}
.z-drop{animation:zDrop .22s ease-out}
@keyframes kIn3{0%,3%{opacity:0;transform:translateY(8px)}6%,95%{opacity:1;transform:none}99%,100%{opacity:0}}
@keyframes kIn24{0%,24%{opacity:0;transform:translateY(-8px)}27%,95%{opacity:1;transform:none}99%,100%{opacity:0}}
@keyframes kIn29{0%,29%{opacity:0;transform:translateY(8px)}32%,95%{opacity:1;transform:none}99%,100%{opacity:0}}
@keyframes kIn39{0%,39%{opacity:0;transform:translateY(8px)}42%,95%{opacity:1;transform:none}99%,100%{opacity:0}}
@keyframes kIn42{0%,42%{opacity:0;transform:scale(.8)}45%,95%{opacity:1;transform:none}99%,100%{opacity:0}}
@keyframes kIn53{0%,53%{opacity:0;transform:translateY(10px)}57%,95%{opacity:1;transform:none}99%,100%{opacity:0}}
@keyframes kIn64{0%,64%{opacity:0;transform:translateY(8px)}67%,95%{opacity:1;transform:none}99%,100%{opacity:0}}
@keyframes kIn78{0%,78%{opacity:0;transform:translateY(-10px)}82%,95%{opacity:1;transform:none}99%,100%{opacity:0}}
@keyframes kIn81{0%,81%{opacity:0;transform:translateY(8px)}84%,95%{opacity:1;transform:none}99%,100%{opacity:0}}
@keyframes kPop26{0%,26%{transform:scale(0)}30%{transform:scale(1.15)}33%,100%{transform:scale(1)}}
@keyframes kPop77{0%,76%{transform:scale(.4) rotate(-90deg);opacity:0}81%,100%{transform:none;opacity:1}}
@keyframes kO8{0%,8%{opacity:1}9%,97%{opacity:0}99%,100%{opacity:1}}
@keyframes kN8{0%,8%{opacity:0}9%,97%{opacity:1}99%,100%{opacity:0}}
@keyframes kO24{0%,24%{opacity:1}25%,97%{opacity:0}99%,100%{opacity:1}}
@keyframes kN24{0%,24%{opacity:0}25%,97%{opacity:1}99%,100%{opacity:0}}
@keyframes kGrow{0%,24%{transform:scaleY(.75)}28%,96%{transform:scaleY(1)}100%{transform:scaleY(.75)}}
@keyframes kSheet{0%,17%{transform:translateY(100%)}19.5%,24%{transform:none}25%,100%{transform:translateY(100%)}}
@keyframes kR2{0%,2%{opacity:0}3%,24%{opacity:1}25%,100%{opacity:0}}
@keyframes kR8{0%,8%{opacity:0}9%,24%{opacity:1}25%,100%{opacity:0}}
@keyframes kT2{0%,2%{opacity:0;transform:scale(.4)}3%{opacity:1;transform:scale(.7)}6%,100%{opacity:0;transform:scale(1.7)}}
@keyframes kT8{0%,8%{opacity:0;transform:scale(.4)}9%{opacity:1;transform:scale(.7)}12%,100%{opacity:0;transform:scale(1.7)}}
@keyframes kT15{0%,15%{opacity:0;transform:scale(.4)}16%{opacity:1;transform:scale(.7)}19%,100%{opacity:0;transform:scale(1.7)}}
@keyframes kT21{0%,21%{opacity:0;transform:scale(.4)}22%{opacity:1;transform:scale(.7)}24.5%,100%{opacity:0;transform:scale(1.7)}}
@keyframes kT35{0%,35%{opacity:0;transform:scale(.4)}36%{opacity:1;transform:scale(.7)}39%,100%{opacity:0;transform:scale(1.7)}}
@keyframes kT62{0%,62%{opacity:0;transform:scale(.4)}63%{opacity:1;transform:scale(.7)}66%,100%{opacity:0;transform:scale(1.7)}}
@keyframes kT86{0%,86%{opacity:0;transform:scale(.4)}87%{opacity:1;transform:scale(.7)}90%,100%{opacity:0;transform:scale(1.7)}}
.k-in3{animation:kIn3 12s infinite}.k-in24{animation:kIn24 12s infinite}.k-in29{animation:kIn29 12s infinite}.k-in39{animation:kIn39 12s infinite}.k-in42{animation:kIn42 12s infinite}.k-in53{animation:kIn53 12s infinite}.k-in64{animation:kIn64 12s infinite}.k-in78{animation:kIn78 12s infinite}.k-in81{animation:kIn81 12s infinite}
.k-pop26{animation:kPop26 12s infinite}.k-pop77{animation:kPop77 12s infinite}
.k-o8{animation:kO8 12s infinite}.k-n8{animation:kN8 12s infinite}.k-o24{animation:kO24 12s infinite}.k-n24{animation:kN24 12s infinite}
.k-grow{animation:kGrow 12s infinite}.k-sheet{animation:kSheet 12s cubic-bezier(.2,.8,.2,1) infinite}
.k-r2{animation:kR2 12s infinite}.k-r8{animation:kR8 12s infinite}
.k-t2{animation:kT2 12s ease-out infinite}.k-t8{animation:kT8 12s ease-out infinite}.k-t15{animation:kT15 12s ease-out infinite}.k-t21{animation:kT21 12s ease-out infinite}.k-t35{animation:kT35 12s ease-out infinite}.k-t62{animation:kT62 12s ease-out infinite}.k-t86{animation:kT86 12s ease-out infinite}
@media (prefers-reduced-motion:reduce){.k-in3,.k-in24,.k-in29,.k-in39,.k-in42,.k-in53,.k-in64,.k-in78,.k-in81,.k-pop26,.k-pop77,.k-o8,.k-n8,.k-o24,.k-n24,.k-grow,.k-sheet,.k-r2,.k-r8,.k-t2,.k-t8,.k-t15,.k-t21,.k-t35,.k-t62,.k-t86{animation:none !important}}
.a-s1{animation:aS1 12s infinite}.a-s2{animation:aS2 12s infinite}.a-s3{animation:aS3 12s infinite}.a-s4{animation:aS4 12s infinite}
.a-t1{animation:aT1 12s ease-out infinite}.a-t2{animation:aT2 12s ease-out infinite}.a-t3{animation:aT3 12s ease-out infinite}.a-t4{animation:aT4 12s ease-out infinite}
.b-after{animation:bAfter 10s cubic-bezier(.65,0,.35,1) infinite}.b-handle{animation:bHandle 10s cubic-bezier(.65,0,.35,1) infinite}
.c-k1{animation:cK1 12s infinite}.c-k2{animation:cK2 12s infinite}.c-k3{animation:cK3 12s infinite}.c-k4{animation:cK4 12s infinite}
.c-n1{animation:cN1 12s ease-out infinite}.c-n2{animation:cN2 12s ease-out infinite}.c-n3{animation:cN3 12s ease-out infinite}.c-n4{animation:cN4 12s ease-out infinite}
.d-paper{animation:dPaper 11s cubic-bezier(.4,0,.2,1) infinite}
.d-l1{animation:dL1 11s infinite}.d-l2{animation:dL2 11s infinite}.d-l3{animation:dL3 11s infinite}.d-l4{animation:dL4 11s infinite}.d-l5{animation:dL5 11s infinite}.d-end{animation:dEnd 11s infinite}
@media (max-width:660px){.z-scene{transform:scale(.56);transform-origin:top left}.z-wrap{height:303px !important}}
@media (prefers-reduced-motion:reduce){.z-word,.z-marq,.z-marq2,.z-drop,.a-s1,.a-s2,.a-s3,.a-s4,.a-t1,.a-t2,.a-t3,.a-t4,.b-after,.b-handle,.c-k1,.c-k2,.c-k3,.c-k4,.c-n1,.c-n2,.c-n3,.c-n4,.d-paper,.d-l1,.d-l2,.d-l3,.d-l4,.d-l5,.d-end{animation:none !important}}

/* Animaciones de las páginas de sistemas (12 s en bucle) */
@keyframes hB1{0%,4%{transform:scaleX(0);opacity:0}9%,88%{transform:scaleX(1);opacity:1}94%,100%{opacity:0}}
@keyframes hB2{0%,11%{transform:scaleX(0);opacity:0}16%,88%{transform:scaleX(1);opacity:1}94%,100%{opacity:0}}
@keyframes hB3{0%,18%{transform:scaleX(0);opacity:0}23%,88%{transform:scaleX(1);opacity:1}94%,100%{opacity:0}}
@keyframes hB4{0%,25%{transform:scaleX(0);opacity:0}30%,88%{transform:scaleX(1);opacity:1}94%,100%{opacity:0}}
@keyframes hB5{0%,50%{transform:scaleX(0);opacity:0}55%,88%{transform:scaleX(1);opacity:1}94%,100%{opacity:0}}
@keyframes hB6{0%,62%{transform:scaleX(0);opacity:0}67%,88%{transform:scaleX(1);opacity:1}94%,100%{opacity:0}}
@keyframes hU1{0%,4%{transform:translateY(10px);opacity:0}9%,88%{transform:none;opacity:1}94%,100%{opacity:0}}
@keyframes hU2{0%,11%{transform:translateY(10px);opacity:0}16%,88%{transform:none;opacity:1}94%,100%{opacity:0}}
@keyframes hU3{0%,18%{transform:translateY(10px);opacity:0}23%,88%{transform:none;opacity:1}94%,100%{opacity:0}}
@keyframes hU4{0%,25%{transform:translateY(10px);opacity:0}30%,88%{transform:none;opacity:1}94%,100%{opacity:0}}
@keyframes hU5{0%,50%{transform:translateY(10px);opacity:0}55%,88%{transform:none;opacity:1}94%,100%{opacity:0}}
@keyframes hU6{0%,62%{transform:translateY(10px);opacity:0}67%,88%{transform:none;opacity:1}94%,100%{opacity:0}}
@keyframes hT{0%,38%{opacity:0;transform:translateY(-14px)}42%,72%{opacity:1;transform:none}76%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes hPulse{0%,49%{box-shadow:0 0 0 0 rgba(31,79,168,0)}53%{box-shadow:0 0 0 6px rgba(31,79,168,.3)}62%,100%{box-shadow:0 0 0 0 rgba(31,79,168,0)}}
.h-b1,.h-b2,.h-b3,.h-b4,.h-b5,.h-b6{transform-origin:left}
.h-b1{animation:hB1 12s infinite}.h-b2{animation:hB2 12s infinite}.h-b3{animation:hB3 12s infinite}.h-b4{animation:hB4 12s infinite}.h-b5{animation:hB5 12s infinite,hPulse 12s infinite}.h-b6{animation:hB6 12s infinite}
.h-u1{animation:hU1 12s infinite}.h-u2{animation:hU2 12s infinite}.h-u3{animation:hU3 12s infinite}.h-u4{animation:hU4 12s infinite}.h-u5{animation:hU5 12s infinite}.h-u6{animation:hU6 12s infinite}
.h-t{animation:hT 12s infinite}
@media (prefers-reduced-motion:reduce){.h-b1,.h-b2,.h-b3,.h-b4,.h-b5,.h-b6,.h-u1,.h-u2,.h-u3,.h-u4,.h-u5,.h-u6{animation:none !important;opacity:1 !important;transform:none !important}.h-t{animation:none !important;opacity:1 !important}}

/* ---- Katmis: utilidades del sitio ---- */
*,*::before,*::after{box-sizing:border-box}
/* Pantallas grandes (2K, 4K): todo el sitio se agranda en proporción */
:root{--z:1}
@media (min-width:1760px) and (min-height:1000px){:root{--z:1.1}}
@media (min-width:2200px) and (min-height:1150px){:root{--z:1.2}}
@media (min-width:2900px) and (min-height:1500px){:root{--z:1.4}}
body{zoom:var(--z)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
img,svg{max-width:100%}
[data-v][hidden]{display:none !important}
[id]{scroll-margin-top:16px}
.saltar{position:absolute;left:12px;top:-60px;z-index:100;background:#0E2245;color:#fff;padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none}
.saltar:focus{top:12px}
.solo-movil,.solo-movil-flex{display:none}
a:hover{opacity:.92}
@media (max-width:860px){
  .nav-link{display:none !important}
  .solo-pc{display:none}
  .solo-movil{display:inline}
  .solo-movil-flex{display:flex !important}
  .nav-cta{margin-left:4px !important;padding:11px 16px !important;font-size:14px !important}
}
@media (max-width:420px){
  .nav-cta{display:none !important}
  .wa-flotante{padding:14px !important;font-size:0 !important;gap:0 !important}
}
/* Inicio: el bloque principal y la franja "Funciona para" ocupan justo la primera pantalla */
@media (min-width:861px) and (min-height:700px){
  .primera-pantalla{min-height:calc(100vh / var(--z) - 73px);min-height:calc(100svh / var(--z) - 73px);display:flex;flex-direction:column}
  .primera-pantalla>#inicio{flex:1;display:flex;align-items:center}
  .primera-pantalla>#inicio>div{width:100%}
}
