:root{
  --navy:#000835; --blue:#00379B; --teal:#13DABF; --teal2:#00A6A7; --navy2:#000850;
  --white:#fff; --gray:#f4f6fb; --gray2:#e8ecf4; --text:#000835; --muted:#506080;
  --font-body:'Inter',Arial,sans-serif; --font-display:'Plus Jakarta Sans','Inter',Arial,sans-serif; --font-accent:'Playfair Display',Georgia,serif;
  --ease-smooth:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{font-family:var(--font-body);color:var(--text);background:#fff;overflow-x:hidden;transition:opacity .46s cubic-bezier(.16,1,.3,1);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1200px,92%);margin:0 auto}

.aq-animations-paused,
.aq-animations-paused *,
.aq-animations-paused::before,
.aq-animations-paused::after,
.aq-animations-paused *::before,
.aq-animations-paused *::after{
  animation-play-state:paused!important;
}
.aq-animations-paused *{
  will-change:auto!important;
}
@supports (content-visibility:auto){
  .services-section,
  #nosotros,
  .security,
  .results-quote-band,
  .analytics-cases,
  .solution-process,
  .faq-section,
  .contact-section,
  footer{
    content-visibility:auto;
    contain-intrinsic-size:auto 860px;
  }
  .results-quote-band{contain-intrinsic-size:auto 300px}
}

html.aq-restore-pending body{
  opacity:0!important;
  animation:none!important;
}
html.aq-restore-pending body::before{
  opacity:0!important;
}
.js [data-reveal]{
  opacity:0;
  transform:translate3d(0,24px,0) scale(.99);
  filter:blur(6px);
  transition:
    opacity var(--reveal-opacity-duration,.9s) ease,
    transform var(--reveal-transform-duration,1s) var(--ease-smooth),
    filter var(--reveal-filter-duration,.95s) ease;
  transition-delay:var(--reveal-delay,0ms);
  will-change:opacity,transform,filter;
}
.js [data-reveal="left"]{transform:translate3d(-22px,0,0) scale(.99)}
.js [data-reveal="right"]{transform:translate3d(22px,0,0) scale(.99)}
.js [data-reveal="scale"]{transform:translate3d(0,18px,0) scale(.97)}
.js .hero [data-reveal]{
  transform:translate3d(0,14px,0) scale(.996);
  filter:blur(4px);
}
.js [data-reveal].is-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0);
}
.js [data-reveal].reveal-settled{
  will-change:auto;
}
.js [data-reveal].aq-reveal-instant,
.service-focus-item.aq-reveal-instant,
.solution-step.aq-reveal-instant{
  transition:none!important;
  animation:none!important;
}
body::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:2147483500;
  background:#000835;
  opacity:0;
  pointer-events:none;
  transition:opacity .52s cubic-bezier(.22,1,.36,1);
}
body.page-is-leaving::before{
  opacity:1;
}

nav{
 position:fixed;top:0;left:0;right:0;width:100%;z-index:1000;
 background:rgba(0,8,53,.97);backdrop-filter:blur(10px);
 border-bottom:1px solid rgba(19,218,191,.12);
 animation:navDrop .72s cubic-bezier(.22,1,.36,1);
 transform:translate3d(0,0,0);
 will-change:transform;
 transition:transform .38s cubic-bezier(.22,1,.36,1), box-shadow .38s ease, background .38s ease, border-color .38s ease
}
.nav-inner{display:grid;grid-template-columns:minmax(330px,1fr) auto minmax(250px,1fr);align-items:center;width:100%;max-width:none;padding:1rem clamp(1rem,2vw,2.25rem);gap:clamp(1rem,2vw,2.4rem);transition:padding .38s cubic-bezier(.22,1,.36,1), transform .38s cubic-bezier(.22,1,.36,1)}
.nav-brand-group{display:flex;align-items:center;justify-self:start;gap:.85rem;min-width:0;flex-shrink:0}
.site-pages-toggle,.site-pages-close{display:inline-flex;align-items:center;justify-content:center;border:0;color:#fff;cursor:pointer}
.site-pages-toggle{width:44px;height:44px;flex:0 0 44px;border-radius:8px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(19,218,191,.18);transition:background .24s ease,box-shadow .24s ease,transform .24s ease}
.site-pages-toggle:hover,.site-pages-toggle[aria-expanded="true"]{background:rgba(19,218,191,.13);box-shadow:inset 0 0 0 1px rgba(19,218,191,.48);transform:translateY(-1px)}
.site-pages-toggle span,.site-pages-toggle span:before,.site-pages-toggle span:after{display:block;width:21px;height:2px;border-radius:999px;background:currentColor;content:"";transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .22s ease}
.site-pages-toggle span{position:relative}
.site-pages-toggle span:before{position:absolute;left:0;top:-7px}
.site-pages-toggle span:after{position:absolute;left:0;top:7px}
.site-pages-toggle[aria-expanded="true"] span{background:transparent}
.site-pages-toggle[aria-expanded="true"] span:before{top:0;transform:rotate(45deg)}
.site-pages-toggle[aria-expanded="true"] span:after{top:0;transform:rotate(-45deg)}
.site-pages-backdrop{position:fixed;inset:0;z-index:1990;background:rgba(0,8,53,.38);backdrop-filter:blur(3px);opacity:0;transition:opacity .28s ease}
.site-pages-backdrop.is-open{opacity:1}
.site-pages-drawer{position:fixed;inset:0 auto 0 0;z-index:2000;width:min(380px,calc(100vw - 28px));padding:1.35rem;background:linear-gradient(180deg,#000835 0%,#00135f 100%);border-right:1px solid rgba(19,218,191,.28);box-shadow:24px 0 60px rgba(0,0,0,.32);color:#fff;overflow-y:auto;overscroll-behavior:contain;transform:translate3d(-104%,0,0);visibility:hidden;transition:transform .38s cubic-bezier(.22,1,.36,1),visibility 0s linear .38s}
.site-pages-drawer.is-open{transform:translate3d(0,0,0);visibility:visible;transition-delay:0s}
.site-pages-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.25rem .15rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.1)}
.site-pages-header span{display:block;color:var(--teal);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.site-pages-header strong{display:block;margin-top:.25rem;font-family:var(--font-display);font-size:1.35rem}
.site-pages-close{width:42px;height:42px;flex:0 0 42px;border-radius:8px;background:rgba(255,255,255,.08);font-size:1.75rem;line-height:1;transition:background .22s ease,color .22s ease}
.site-pages-close:hover{background:rgba(19,218,191,.16);color:var(--teal)}
.site-pages-content{display:grid;gap:1.45rem;padding:1.35rem 0 .5rem}
.site-pages-group{display:grid;gap:.5rem;padding:0}
.site-pages-group h2{margin:0 0 .25rem;color:rgba(255,255,255,.54);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.site-pages-group a{display:flex;flex-direction:column;gap:.16rem;padding:.78rem .88rem;border-radius:7px;background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);transition:background .24s ease,box-shadow .24s ease,transform .24s ease}
.site-pages-group a:hover{background:rgba(19,218,191,.11);box-shadow:inset 3px 0 0 var(--teal),inset 0 0 0 1px rgba(19,218,191,.18);transform:translateX(3px)}
.site-pages-group a span{font-size:.92rem;font-weight:800}
.site-pages-group a small{color:rgba(255,255,255,.58);font-size:.72rem;line-height:1.35}
.site-pages-profile{display:grid;gap:.8rem;padding:1rem;border:1px solid rgba(19,218,191,.2);border-radius:10px;background:rgba(19,218,191,.07)}
.site-pages-profile h2{margin:0;color:var(--teal);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.site-pages-profile p{margin:0;color:rgba(255,255,255,.78);font-size:.78rem;line-height:1.55}
.site-pages-location{display:grid;gap:.2rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1)}
.site-pages-location strong{color:#fff;font-size:.76rem}
.site-pages-location span{color:rgba(255,255,255,.62);font-size:.72rem;line-height:1.45}
.site-pages-map{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .8rem;border-radius:7px;background:var(--teal);color:var(--navy);font-size:.78rem;font-weight:900;transition:transform .24s ease,background .24s ease}
.site-pages-map:hover{background:#2ce7d1;transform:translateY(-2px)}
body.site-pages-open{overflow:hidden}
.nav-scroll-down{transform:translate3d(0,0,0);box-shadow:0 18px 34px rgba(0,0,0,.18);background:rgba(0,8,53,.92)}
.nav-scroll-up{transform:translate3d(0,0,0);box-shadow:0 12px 28px rgba(0,0,0,.14);border-color:rgba(19,218,191,.22)}
.nav-at-top{transform:translate3d(0,0,0);box-shadow:none;background:rgba(0,8,53,.97)}
.logo{display:flex;align-items:center;gap:.9rem}
.logo img{height:88px;max-width:390px;width:auto;object-fit:contain;transition:transform .3s ease, filter .3s ease}
.logo img:hover{transform:scale(1.04)}
.logo .txt{display:flex;flex-direction:column;line-height:1}
.logo .txt strong{font-family:var(--font-display);color:#fff;font-size:1.1rem;font-weight:800}
.logo .txt span{color:rgba(255,255,255,.55);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;margin-top:.28rem}
.menu{display:flex;justify-self:center;gap:clamp(.72rem,1.15vw,1.35rem);list-style:none;align-items:center}
.menu a{color:rgba(255,255,255,.78);font-weight:700;font-size:clamp(.82rem,.78rem + .18vw,.92rem);white-space:nowrap}
.nav-link{display:inline-flex;align-items:center;transition:transform .34s cubic-bezier(.22,1,.36,1),color .34s ease,text-shadow .34s ease}
.nav-link:hover{color:var(--teal);transform:scale(1.12);text-shadow:0 0 16px rgba(19,218,191,.18)}
.nav-link.active{color:var(--teal);transform:scale(1.12);text-shadow:0 0 16px rgba(19,218,191,.18)}
.menu a:hover{color:var(--teal)}
.nav-cta{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.62rem;background:linear-gradient(135deg,#1fe0cb 0%,#18cab8 100%);color:var(--navy)!important;padding:.72rem 1.08rem;border-radius:999px;font-weight:900!important;white-space:nowrap;min-height:52px;font-size:clamp(.82rem,.78rem + .18vw,.92rem);padding-inline:clamp(.92rem,.7rem + .75vw,1.15rem);flex-shrink:0;box-shadow:0 14px 28px rgba(19,218,191,.22);transition:transform .34s cubic-bezier(.22,1,.36,1), box-shadow .34s ease, background .34s ease}
.nav-cta:before{content:"";position:absolute;inset:-40% auto -40% -20%;width:38%;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.16) 35%,rgba(255,255,255,.55) 50%,rgba(255,255,255,.16) 65%,transparent 100%);transform:translateX(-180%) skewX(-20deg);transition:transform .7s ease;z-index:0}
.nav-cta:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(19,218,191,.28);background:linear-gradient(135deg,#27e6d0 0%,#1dc9b9 100%)}
.nav-cta:hover:before{transform:translateX(360%) skewX(-20deg)}
.nav-cta.active{transform:translateY(-2px) scale(1.035);box-shadow:0 20px 40px rgba(19,218,191,.32);background:linear-gradient(135deg,#27e6d0 0%,#16d7cf 100%)}
.nav-cta-text,.nav-cta-arrow{position:relative;z-index:1}
.nav-cta-text{line-height:1.1}
.nav-cta-arrow{font-size:1rem;transform:translateX(0);transition:transform .24s ease}
.nav-cta:hover .nav-cta-arrow{transform:translateX(3px)}
.nav-cta-desktop{justify-self:end}
.nav-cta-mobile{display:none}
.menu-toggle{display:none;width:46px;height:46px;border:none;border-radius:12px;background:rgba(255,255,255,.08);align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{display:block;width:20px;height:2px;border-radius:999px;background:#fff;content:'';transition:transform .34s cubic-bezier(.22,1,.36,1),opacity .26s ease,background .26s ease}
.menu-toggle span{position:relative}
.menu-toggle span:before{position:absolute;left:0;top:-6px}
.menu-toggle span:after{position:absolute;left:0;top:6px}
.menu-toggle.active span{background:transparent}
.menu-toggle.active span:before{top:0;transform:rotate(45deg)}
.menu-toggle.active span:after{top:0;transform:rotate(-45deg)}
@keyframes navDrop{
  from{opacity:0;transform:translateY(-16px)}
  to{opacity:1;transform:translateY(0)}
}

.hero{
  min-height:100vh;display:flex;align-items:center;
  background:#000850;
  position:relative;overflow:hidden;padding-top:96px;isolation:isolate
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 24%, rgba(19,218,191,.13), transparent 30%),
    radial-gradient(circle at 78% 18%, rgba(0,74,190,.22), transparent 28%),
    radial-gradient(circle at 54% 82%, rgba(19,218,191,.08), transparent 34%),
    linear-gradient(180deg,#000850 0%, #00095b 48%, #000850 100%);
}
.hero:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:30%;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,8,80,0) 0%,rgba(0,8,80,.88) 100%);
}
.hero-animated-bg{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  pointer-events:none;
  opacity:1;
  transition:opacity .68s cubic-bezier(.22,1,.36,1);
}
.hero.aq-motion-resuming .hero-animated-bg{opacity:.94}
.hero-animated-bg:before,
.hero-animated-bg:after{
  content:"";
  position:absolute;
  pointer-events:none;
}
.hero-animated-bg:before{
  inset:-18%;
  z-index:0;
  opacity:.58;
  background:
    linear-gradient(115deg,transparent 0 22%,rgba(19,218,191,.13) 23%,transparent 24% 51%,rgba(72,137,255,.1) 52%,transparent 53% 100%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 92px),
    repeating-linear-gradient(0deg,rgba(255,255,255,.026) 0 1px,transparent 1px 92px);
  transform:translate3d(0,0,0) rotate(.001deg);
  animation:heroFieldDrift 24s linear infinite;
}
.hero-animated-bg:after{
  inset:0;
  z-index:0;
  opacity:.72;
  background:
    radial-gradient(circle at 22% 28%,rgba(19,218,191,.22),transparent 18%),
    radial-gradient(circle at 74% 34%,rgba(72,137,255,.2),transparent 20%),
    radial-gradient(circle at 52% 78%,rgba(19,218,191,.15),transparent 24%);
  animation:heroGlowPulse 10s ease-in-out infinite;
}
.hero-cube{
  position:absolute;
  z-index:1;
  top:76vh;
  left:44vw;
  width:16px;
  height:16px;
  border:2px solid rgba(19,218,191,.72);
  border-radius:5px;
  background:rgba(19,218,191,.035);
  box-shadow:0 0 34px rgba(19,218,191,.34), inset 0 0 14px rgba(19,218,191,.16);
  transform-origin:top left;
  transform:scale(4) rotate(18deg) translate(-50%,-50%);
  opacity:.32;
  mix-blend-mode:screen;
  will-change:transform,opacity;
  animation:heroCubeFloat 17s cubic-bezier(.3,0,.22,1) infinite;
}
.hero-cube:nth-child(2n){
  border-color:rgba(72,137,255,.66);
  background:rgba(72,137,255,.035);
  box-shadow:0 0 36px rgba(72,137,255,.3), inset 0 0 14px rgba(72,137,255,.14);
}
.hero-cube:nth-child(1){left:10vw;top:70vh;width:18px;height:18px;animation-delay:-13.6s}
.hero-cube:nth-child(2){left:24vw;top:30vh;width:12px;height:12px;animation-delay:-8.4s}
.hero-cube:nth-child(3){left:52vw;top:82vh;width:20px;height:20px;animation-delay:-4.8s}
.hero-cube:nth-child(4){left:72vw;top:27vh;width:14px;height:14px;animation-delay:-11.1s}
.hero-cube:nth-child(5){left:88vw;top:68vh;width:18px;height:18px;animation-delay:-6.2s}
.hero-cube:nth-child(6){left:42vw;top:15vh;width:13px;height:13px;animation-delay:-15.3s}
.hero-cube:nth-child(7){left:6vw;top:24vh;width:22px;height:22px;animation-delay:-2.5s}
.hero-cube:nth-child(8){left:93vw;top:16vh;width:12px;height:12px;animation-delay:-10s}
.hero-cube:nth-child(9){left:34vw;top:58vh;width:15px;height:15px;animation-delay:-7.4s}
.hero-cube:nth-child(10){left:62vw;top:48vh;width:17px;height:17px;animation-delay:-12.8s}
.hero-cube:nth-child(11){left:81vw;top:42vh;width:13px;height:13px;animation-delay:-3.7s}
.hero-cube:nth-child(12){left:18vw;top:48vh;width:14px;height:14px;animation-delay:-16s}
@keyframes heroCubeFloat{
  0%{transform:scale(.12) rotate(0deg) translate(-50%,-50%);opacity:0}
  8%{opacity:.78}
  46%{opacity:.46}
  72%{opacity:.2}
  100%{transform:scale(14) rotate(720deg) translate(-50%,-50%);opacity:0}
}
@keyframes heroFieldDrift{
  0%{transform:translate3d(-2.5%,0,0) rotate(.001deg)}
  100%{transform:translate3d(2.5%,3%,0) rotate(.001deg)}
}
@keyframes heroGlowPulse{
  0%,100%{opacity:.58;filter:saturate(1)}
  50%{opacity:.84;filter:saturate(1.22)}
}
.hero-grid{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(540px,.98fr);gap:2.4rem;align-items:center;padding:4.5rem 0 3rem}
.badge{display:inline-flex;align-items:center;gap:.55rem;max-width:100%;background:rgba(19,218,191,.12);border:1px solid rgba(19,218,191,.3);color:var(--teal);padding:.45rem .95rem;border-radius:999px;font-size:.74rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;line-height:1.2;margin-bottom:1.5rem}
.badge:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--teal)}
.hero h1,.hero-title{font-family:var(--font-display);color:#fff;font-size:3.72rem;font-weight:800;line-height:1.04;letter-spacing:0;max-width:620px;text-wrap:balance}
.hero-title .line{display:block;margin-bottom:.04em;white-space:nowrap}
.hero-title .line:last-of-type{margin-bottom:.15em}
.hero-title .accent{display:block;font-family:var(--font-accent);font-style:italic;font-weight:800;color:var(--teal);font-size:3.18rem;letter-spacing:0;line-height:1;margin-top:.01em;max-width:620px;text-wrap:balance}
.hero-title .accent span{display:block}
.hero p{color:rgba(255,255,255,.76);font-size:1.08rem;line-height:1.78;max-width:640px;margin:1.3rem 0 2rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}
.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.7rem;border-radius:12px;font-weight:900;font-size:.95rem;transition:transform .34s cubic-bezier(.22,1,.36,1), background .34s ease, color .34s ease, border-color .34s ease, box-shadow .34s ease}
.btn:before{content:'';position:absolute;inset:-45% auto -45% -30%;width:42%;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.14) 35%,rgba(255,255,255,.55) 50%,rgba(255,255,255,.14) 65%,transparent 100%);transform:translateX(-180%) skewX(-20deg);transition:transform .78s cubic-bezier(.22,1,.36,1);z-index:-1}
.btn:hover:before{transform:translateX(380%) skewX(-20deg)}
.btn:active{transform:translateY(0) scale(.985)}
.btn-primary{background:var(--teal);color:var(--navy);box-shadow:0 12px 28px rgba(19,218,191,.18)}
.btn-primary:hover{background:#14cdbd;color:#00113a;transform:translateY(-4px) scale(1.015);box-shadow:0 20px 42px rgba(19,218,191,.28)}
.btn-secondary{border:1.5px solid rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.02)}
.btn-secondary:hover{background:var(--teal);border-color:var(--teal);color:var(--navy);transform:translateY(-4px) scale(1.015);box-shadow:0 18px 36px rgba(19,218,191,.22)}
.hero-trust{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-top:2rem;color:rgba(255,255,255,.62);font-size:.84rem;font-weight:700}
.hero-trust .dot{width:5px;height:5px;border-radius:50%;background:rgba(19,218,191,.4)}
.hero-trust strong{color:#fff}
.hero-card{width:100%;max-width:640px;justify-self:end;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);padding:1rem;border-radius:28px;backdrop-filter:blur(12px);box-shadow:0 20px 60px rgba(0,0,0,.18)}
.hero-photo{border-radius:24px;overflow:hidden;aspect-ratio:1/.72}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 44%}
.hero-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}
.kpi{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:1.08rem;text-align:left;min-height:150px;display:block;transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;animation:cardFloat 5.2s ease-in-out infinite}
.kpi:nth-child(2){animation-delay:.35s}
.kpi:nth-child(3){animation-delay:.7s}
.kpi:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 18px 34px rgba(0,0,0,.22);border-color:rgba(19,218,191,.35)}
.kpi strong{display:block;color:var(--teal);font-family:var(--font-display);font-size:1.6rem;line-height:1}
.kpi.years-kpi strong{font-size:4rem}
.kpi span{display:block;color:#fff;font-size:.8rem;font-weight:800;line-height:1.35;margin-top:.45rem}
.kpi small{display:block;color:rgba(255,255,255,.55);font-size:.74rem;line-height:1.5;margin-top:.3rem}
.kpi-heading{display:block;color:var(--teal);font-family:var(--font-display);font-size:1.6rem;line-height:1.02}
.kpi-counter-display{display:block;color:var(--teal);font-family:var(--font-display);font-size:2.2rem;font-weight:800;line-height:1;margin-top:.1rem}

.clients-wrap{
  margin-top:0;position:relative;z-index:3;isolation:isolate;overflow:hidden;padding:2.15rem 0 2.2rem;
  background:linear-gradient(180deg,
    #000850 0%,
    #000850 22%,
    #001a73 40%,
    #00379b 58%,
    #006f9f 76%,
    #00a6a7 90%,
    #13dabf 100%);
}
.clients-wrap::after{content:"";position:absolute;left:0;right:0;bottom:-1px;z-index:0;height:42px;background:linear-gradient(180deg,rgba(244,246,251,0) 0%,rgba(244,246,251,.42) 58%,#f4f6fb 100%);pointer-events:none}
.clients-box{position:relative;z-index:1;max-width:1120px;margin:0 auto;background:#fff;border:1px solid rgba(213,220,237,.9);box-shadow:0 20px 48px rgba(0,8,53,.14);border-radius:28px;padding:1.25rem 1.4rem}
.clients-box h2{text-align:center;font-size:1rem;letter-spacing:.09em;text-transform:uppercase;color:#314264;margin-bottom:1.25rem}
.clients-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:stretch;justify-items:center}
.client-logo{width:100%;border-radius:20px;padding:1.15rem 1rem;display:flex;align-items:center;justify-content:center;min-height:132px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid rgba(213,220,237,.7);transition:transform .28s ease,box-shadow .28s ease,background .28s ease,border-color .28s ease}
.client-logo:hover{background:#fff;transform:translateY(-5px);border-color:rgba(19,218,191,.28);box-shadow:0 16px 30px rgba(0,8,53,.1)}
.client-logo img{max-height:84px;max-width:240px;object-fit:contain;transition:transform .28s ease}
.client-logo:hover img{transform:scale(1.04)}
.client-logo.is-constructora img{max-height:92px}
.client-logo.is-amore img{max-height:96px}
.client-logo.is-cantina img{max-height:72px;max-width:260px}
.security-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.4rem}
.btn-outline-light{background:transparent;border:1.5px solid rgba(255,255,255,.28);color:#fff}
.btn-outline-light:hover{background:rgba(255,255,255,.08)}
.service-focus{
  margin-top:1.3rem;background:linear-gradient(135deg,#091a46 0%,#00124f 100%);
  color:#fff;border-radius:24px;padding:2rem;box-shadow:0 18px 44px rgba(0,8,53,.12)
}
.service-focus .service-focus-title{max-width:940px;margin-bottom:.4rem;color:#fff;font-size:clamp(1.6rem,3vw,2.3rem);text-wrap:balance}
.js .service-focus [data-reveal]{
  --reveal-opacity-duration:1.08s;
  --reveal-transform-duration:1.3s;
  --reveal-filter-duration:1.08s;
}
.service-focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;margin-top:1.35rem;align-items:stretch}
.service-focus-item{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;
  padding:1.45rem;display:flex;flex-direction:column;min-height:320px;justify-content:flex-start;
  opacity:0;transform:translateY(34px) scale(.975);filter:blur(6px);
  transition:
    opacity .98s ease,
    transform 1.18s cubic-bezier(.16,1,.3,1),
    filter .98s ease,
    box-shadow .35s ease,
    border-color .35s ease,
    background .35s ease
}
.service-focus-item.is-visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
.service-focus-item.is-settled{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease,background .35s ease;transition-delay:0s}
.service-focus-item:nth-child(1){transition-delay:.08s}
.service-focus-item:nth-child(2){transition-delay:.3s}
.service-focus-item:nth-child(3){transition-delay:.52s}
.service-focus-logo{width:76px;height:76px;display:flex;align-items:center;justify-content:center;align-self:flex-start;background:linear-gradient(180deg,#eefbfb 0%,#e7f6f7 100%);border:1px solid rgba(209,239,239,.9);border-radius:18px;padding:.65rem;margin-bottom:1rem;box-shadow:none}
.service-focus-logo svg{width:52px;height:52px;display:block}
.service-focus-logo.is-dashboard svg{width:56px;height:56px}
.service-focus-item h3{font-family:var(--font-display);font-size:1.2rem;font-weight:800;line-height:1.18;color:var(--teal);margin-bottom:.8rem}
.service-focus-item p{color:rgba(255,255,255,.82);line-height:1.74;font-size:.97rem;margin-top:auto}
.service-focus-item:hover{transform:translateY(-10px) scale(1.01);box-shadow:0 22px 40px rgba(0,0,0,.18);border-color:rgba(19,218,191,.28);background:rgba(255,255,255,.08)}
@keyframes cardFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}


section{padding:5rem 0}
#servicios,#nosotros,#clientes,#seguridad,#vista-inteligente,#casos-destacados,#proceso-solucion,#proceso-etapas,#contacto{scroll-margin-top:110px}

.section-label{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal2);font-weight:900;margin-bottom:.85rem}
.section-title{font-family:var(--font-display);font-size:clamp(2rem,3.7vw,3rem);font-weight:800;line-height:1.08;letter-spacing:0;color:var(--navy);margin-bottom:1rem;text-wrap:balance}
.section-sub{font-size:1rem;color:var(--muted);line-height:1.78;max-width:760px;margin-bottom:2rem}

.services-section{position:relative;margin-top:-1px;background:linear-gradient(180deg,#f4f6fb 0%,#f4f6fb 100%)}
.services-title-typing{display:inline-block;min-height:1.15em}
.js .services-title-typing{opacity:0;transform:translateY(14px);filter:blur(4px);transition:opacity .72s ease,transform .82s cubic-bezier(.16,1,.3,1),filter .72s ease}
.js .services-title-typing:not(.is-ready){opacity:0!important;visibility:hidden}
.js .services-title-typing.is-ready{opacity:1;transform:translateY(0);filter:blur(0)}
.services-title-typing.is-typing{position:relative}
.services-title-typing.is-typing::after{content:"";display:inline-block;width:3px;height:.84em;margin-left:.12em;vertical-align:-.06em;border-radius:999px;background:var(--teal2);box-shadow:0 0 12px rgba(19,218,191,.28);animation:typingCaret 1.05s ease-in-out infinite}
@keyframes typingCaret{
  0%,100%{opacity:1;transform:translateY(0)}
  48%,72%{opacity:.16;transform:translateY(1px)}
}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.card{background:#fff;border:1.5px solid var(--gray2);border-radius:18px;padding:1.8rem;transition:transform .42s cubic-bezier(.22,1,.36,1),box-shadow .42s ease,border-color .42s ease,background .42s ease}
.js .services-section .card[data-reveal]{
  --reveal-opacity-duration:1.16s;
  --reveal-transform-duration:1.42s;
  --reveal-filter-duration:1.18s;
  transform:translate3d(0,34px,0) scale(.985);
  filter:blur(7px);
}
.js .services-section .card[data-reveal].is-visible{
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0);
}
.js .services-section .card[data-reveal].reveal-settled{
  transition:transform .42s cubic-bezier(.22,1,.36,1),box-shadow .42s ease,border-color .42s ease,background .42s ease;
}
.card:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 18px 42px rgba(0,8,53,.1);border-color:rgba(19,218,191,.45)}
.card-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,rgba(19,218,191,.15),rgba(0,55,155,.08));display:flex;align-items:center;justify-content:center;margin-bottom:1rem;transition:transform .42s cubic-bezier(.22,1,.36,1), box-shadow .42s ease}
.card:hover .card-icon{transform:translateY(-3px) rotate(-2deg);box-shadow:0 12px 26px rgba(19,218,191,.14)}
.card-icon svg{width:24px;height:24px;stroke:var(--teal2);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:transform .42s cubic-bezier(.22,1,.36,1)}
.card:hover .card-icon svg{transform:scale(1.08)}
.card h3{font-family:var(--font-display);font-size:1.05rem;font-weight:800;margin-bottom:.55rem}
.card p{color:var(--muted);line-height:1.72;font-size:.92rem}
.card-link{display:inline-flex;align-items:center;margin-top:1rem;color:var(--blue);font-weight:900;font-size:.9rem}
.card-link:hover{color:var(--teal2)}
.quote-card{grid-column:span 2;background:linear-gradient(135deg,#091a46 0%,#000f37 100%);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:248px;box-shadow:0 18px 44px rgba(0,8,53,.12)}
.quote-card h3{color:#fff;font-size:1.35rem;margin-bottom:.75rem}
.quote-card p{color:rgba(255,255,255,.82);font-size:1.08rem;line-height:1.8;font-style:italic;max-width:90%}
.quote-card span{display:block;margin-top:1rem;color:var(--teal);font-weight:800;letter-spacing:.04em}

.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:2rem;align-items:center}
.about-photo{position:relative;border-radius:26px;overflow:hidden;box-shadow:0 16px 45px rgba(0,8,53,.1);min-height:420px;background:#07153f}
.about-photo{transition:transform .7s cubic-bezier(.22,1,.36,1), box-shadow .7s ease}
.about-photo:hover{transform:translateY(-8px);box-shadow:0 24px 62px rgba(0,8,53,.16)}
.about-photo video,.about-photo img{width:100%;height:100%;object-fit:cover;display:block}
.about-photo img{transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.about-photo:hover img{transform:scale(1.04)}
.about-photo video{transform:none!important}
.about-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,40,.08),rgba(0,0,40,.24));pointer-events:none}
.about-bullets{display:grid;gap:1rem;margin-top:1.2rem}
.about-bullets div{background:#fff;border:1px solid var(--gray2);border-radius:16px;padding:1rem 1.1rem;transition:transform .38s cubic-bezier(.22,1,.36,1), box-shadow .38s ease, border-color .38s ease}
.about-bullets div:hover{transform:translateX(8px);box-shadow:0 14px 30px rgba(0,8,53,.08);border-color:rgba(19,218,191,.34)}
.about-bullets strong{display:block;color:var(--navy);margin-bottom:.25rem}

.security{
  background:
    linear-gradient(180deg,#081446 0%, #0a1f6a 42%, #0a2f99 100%);
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  min-height:860px;
  padding:6.8rem 0 8rem;
}
.security:before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 48% 58% at 88% 26%,rgba(19,218,191,.08),transparent 58%),
    radial-gradient(ellipse 72% 48% at 50% 100%,rgba(255,255,255,.04),transparent 62%),
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 24%,rgba(0,8,53,.12) 100%);
  pointer-events:none;
}
.security:after{
  content:none;
}
.security-grid{position:relative;z-index:1;display:grid;grid-template-columns:.95fr 1.05fr;gap:4rem;align-items:center;min-height:620px}
.security-copy{position:relative;isolation:isolate;min-height:600px;display:flex;flex-direction:column;justify-content:center;align-items:center}
.security-copy > .section-label,
.security-copy > .section-title,
.security-copy > .security-actions{
  position:relative;
  z-index:4;
  width:min(100%,560px);
}
.security-shield{
  position:absolute;
  left:50%;
  top:50%;
  width:min(600px,110%);
  transform:translate(-50%,-50%);
  z-index:0;
  opacity:.68;
  filter:drop-shadow(0 0 34px rgba(19,218,191,.2));
  pointer-events:none;
  shape-rendering:geometricPrecision;
}
.security-threat-layer{
  position:absolute;
  left:50%;
  top:50%;
  width:min(600px,110%);
  aspect-ratio:520/600;
  transform:translate(-50%,-50%);
  z-index:2;
  pointer-events:none;
}
.security-threat{
  --from-x:-260px;
  --from-y:-130px;
  --hit-x:-74px;
  --hit-y:-82px;
  --out-x:-238px;
  --out-y:-176px;
  position:absolute;
  left:50%;
  top:50%;
  width:30px;
  height:30px;
  border-radius:48% 52% 45% 55%;
  opacity:.64;
  transform:translate(var(--hit-x),var(--hit-y)) scale(.78);
  background:
    radial-gradient(ellipse at 34% 36%,#16001f 0 2.7px,transparent 3.1px),
    radial-gradient(ellipse at 66% 36%,#16001f 0 2.7px,transparent 3.1px),
    radial-gradient(ellipse at 50% 68%,rgba(22,0,31,.92) 0 4px,transparent 4.5px),
    radial-gradient(circle at 35% 24%,rgba(255,255,255,.45) 0 3px,transparent 4px),
    radial-gradient(circle at 50% 50%,#ff335f 0%,#c51652 48%,#5b104f 78%,#21072c 100%);
  border:1px solid rgba(255,134,168,.58);
  box-shadow:0 0 16px rgba(255,47,92,.62),0 0 34px rgba(137,22,118,.38);
  filter:drop-shadow(0 0 8px rgba(255,35,91,.34));
  animation:
    securityThreatStrike 6.4s cubic-bezier(.3,0,.18,1) infinite,
    securityThreatGlow 1.35s ease-in-out infinite;
  animation-delay:var(--delay,0s),0s;
}
.security-threat:before,
.security-threat:after{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:inherit;
  background:repeating-conic-gradient(from 8deg,rgba(255,61,104,.98) 0 9deg,transparent 9deg 23deg);
  -webkit-mask:radial-gradient(circle,transparent 0 48%,#000 50% 68%,transparent 70%);
  mask:radial-gradient(circle,transparent 0 48%,#000 50% 68%,transparent 70%);
  z-index:-1;
  animation:securityThreatSpin 2.8s linear infinite;
}
.security-threat:after{
  inset:3px;
  z-index:1;
  border-radius:inherit;
  background:
    linear-gradient(155deg,transparent 0 42%,rgba(255,255,255,.48) 44% 48%,transparent 50% 100%),
    linear-gradient(205deg,transparent 0 42%,rgba(255,255,255,.34) 44% 48%,transparent 50% 100%);
  -webkit-mask:none;
  mask:none;
  opacity:.82;
  animation:none;
}
.security-threat:nth-child(2){
  --from-x:300px;
  --from-y:-132px;
  --hit-x:130px;
  --hit-y:-68px;
  --out-x:330px;
  --out-y:-188px;
  --delay:-1.4s;
  width:25px;
  height:25px;
}
.security-threat:nth-child(3){
  --from-x:-286px;
  --from-y:116px;
  --hit-x:-118px;
  --hit-y:46px;
  --out-x:-322px;
  --out-y:176px;
  --delay:-2.85s;
  width:27px;
  height:27px;
}
.security-threat:nth-child(4){
  --from-x:270px;
  --from-y:142px;
  --hit-x:112px;
  --hit-y:82px;
  --out-x:318px;
  --out-y:216px;
  --delay:-4.25s;
  width:31px;
  height:31px;
}
.security-threat:nth-child(5){
  --from-x:38px;
  --from-y:-278px;
  --hit-x:34px;
  --hit-y:-150px;
  --out-x:96px;
  --out-y:-306px;
  --delay:-5.35s;
  width:24px;
  height:24px;
}
.security-impact{
  --wave-x:-76px;
  --wave-y:-78px;
  --delay:0s;
  position:absolute;
  left:50%;
  top:50%;
  width:36px;
  height:36px;
  margin:-18px 0 0 -18px;
  border-radius:50%;
  border:1px solid rgba(143,252,255,.5);
  opacity:0;
  transform:translate(var(--wave-x),var(--wave-y)) scale(.24);
  background:radial-gradient(circle,rgba(255,255,255,.78) 0 7%,rgba(143,252,255,.34) 8% 28%,rgba(19,218,191,.12) 29% 54%,transparent 68%);
  box-shadow:0 0 22px rgba(143,252,255,.36),0 0 40px rgba(19,218,191,.18);
  mix-blend-mode:screen;
  animation:securityImpactFlash 6.4s ease-out infinite;
  animation-delay:var(--delay,0s);
}
.security-impact::before,
.security-impact::after{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:50%;
  border:1px solid rgba(143,252,255,.58);
  background:transparent;
  box-shadow:0 0 18px rgba(143,252,255,.24),inset 0 0 16px rgba(143,252,255,.1);
  opacity:0;
  transform:scale(.24);
  animation:securityImpactRing 6.4s cubic-bezier(.16,1,.3,1) infinite;
  animation-delay:var(--delay,0s);
}
.security-impact::after{
  inset:-24px;
  border-color:rgba(19,218,191,.34);
  box-shadow:0 0 24px rgba(19,218,191,.18);
  animation-name:securityImpactOuterRing;
}
.security-impact:nth-child(6){
  --wave-x:-76px;
  --wave-y:-78px;
}
.security-impact:nth-child(7){
  --delay:-1.4s;
  --wave-x:114px;
  --wave-y:-64px;
}
.security-impact:nth-child(8){
  --delay:-2.85s;
  --wave-x:-112px;
  --wave-y:48px;
}
.security-impact:nth-child(9){
  --delay:-4.25s;
  --wave-x:104px;
  --wave-y:78px;
}
.security-impact:nth-child(10){
  --delay:-5.35s;
  --wave-x:32px;
  --wave-y:-142px;
}
.security-shield .shield-aura{
  fill:url(#securityShieldAuraFill);
  transform-origin:260px 300px;
  animation:securityShieldAura 6.8s ease-in-out infinite;
}
.security-shield .shield-line{
  fill:none;
  stroke:url(#securityShieldLine);
  stroke-width:3.25;
  stroke-linecap:square;
  stroke-linejoin:miter;
  stroke-miterlimit:8;
  opacity:.84;
}
.security-shield .shield-fill{fill:url(#securityShieldGlass)}
.security-shield .shield-inner{
  fill:none;
  stroke:url(#securityShieldLine);
  stroke-width:3.65;
  stroke-linecap:square;
  stroke-linejoin:miter;
  stroke-miterlimit:8;
  opacity:.48;
}
.security-shield .shield-scan{
  fill:none;
  stroke:url(#securityShieldBeam);
  stroke-width:3.6;
  stroke-linecap:square;
  stroke-linejoin:miter;
  stroke-miterlimit:8;
  filter:url(#securityShieldGlow);
}
@keyframes securityShieldAura{
  0%,100%{transform:scale(.985);opacity:.42}
  50%{transform:scale(1.018);opacity:.76}
}
@keyframes securityThreatStrike{
  0%{opacity:0;transform:translate(var(--from-x),var(--from-y)) scale(.42) rotate(0deg)}
  14%{opacity:1}
  43%{opacity:.98;transform:translate(var(--hit-x),var(--hit-y)) scale(.96) rotate(180deg)}
  48%{opacity:1;transform:translate(var(--hit-x),var(--hit-y)) scale(.7) rotate(222deg)}
  58%{opacity:.88;transform:translate(calc(var(--hit-x) * .72),calc(var(--hit-y) * .72)) scale(.46) rotate(315deg)}
  72%{opacity:.74;transform:translate(var(--out-x),var(--out-y)) scale(.52) rotate(430deg)}
  100%{opacity:0;transform:translate(var(--out-x),var(--out-y)) scale(.25) rotate(540deg)}
}
@keyframes securityThreatGlow{
  0%,100%{filter:drop-shadow(0 0 8px rgba(255,35,91,.34)) drop-shadow(0 0 14px rgba(137,22,118,.24)) saturate(1)}
  50%{filter:drop-shadow(0 0 13px rgba(255,35,91,.62)) drop-shadow(0 0 24px rgba(137,22,118,.46)) saturate(1.22)}
}
@keyframes securityThreatSpin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
@keyframes securityImpactFlash{
  0%,42%{opacity:0;transform:translate(var(--wave-x),var(--wave-y)) scale(.22)}
  47%{opacity:.95;transform:translate(var(--wave-x),var(--wave-y)) scale(.8)}
  55%{opacity:.45;transform:translate(var(--wave-x),var(--wave-y)) scale(1.15)}
  68%,100%{opacity:0;transform:translate(var(--wave-x),var(--wave-y)) scale(1.45)}
}
@keyframes securityImpactRing{
  0%,43%{opacity:0;transform:scale(.18)}
  49%{opacity:.95;transform:scale(.42)}
  66%{opacity:0;transform:scale(1.85)}
  100%{opacity:0;transform:scale(1.85)}
}
@keyframes securityImpactOuterRing{
  0%,45%{opacity:0;transform:scale(.12)}
  52%{opacity:.58;transform:scale(.5)}
  72%{opacity:0;transform:scale(2.35)}
  100%{opacity:0;transform:scale(2.35)}
}
.security .section-label{color:var(--teal)}
.security .section-title,.security .section-sub{color:#fff}
.security .section-sub{color:rgba(255,255,255,.66)}
.security-cards{display:grid;gap:1.05rem;width:min(100%,660px);justify-self:center;align-self:center}
.sec-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.045));
  border:1px solid rgba(123,244,255,.16);
  border-radius:8px;
  padding:1rem 1.1rem;
  display:flex;
  gap:1rem;
  align-items:flex-start;
  box-shadow:inset 3px 0 0 rgba(19,218,191,.2);
  transform:translate3d(0,0,0);
  transition:transform .46s cubic-bezier(.22,1,.36,1),box-shadow .46s ease,border-color .46s ease,background .46s ease;
}
.sec-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 8% 50%,rgba(19,218,191,.12),transparent 52%);
  opacity:0;
  pointer-events:none;
  transition:opacity .52s ease;
}
.sec-card > *{
  position:relative;
  z-index:1;
}
.sec-card:hover{
  transform:translate3d(0,-4px,0);
  background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.055));
  box-shadow:0 12px 26px rgba(0,8,53,.16),inset 3px 0 0 rgba(19,218,191,.36);
  border-color:rgba(19,218,191,.3);
}
.sec-card:hover::before{opacity:1}
.sec-icon{width:42px;height:42px;border-radius:7px;background:rgba(19,218,191,.14);border:1px solid rgba(19,218,191,.22);display:flex;align-items:center;justify-content:center;flex-shrink:0;transform:translate3d(0,0,0);transition:transform .46s cubic-bezier(.22,1,.36,1),background .46s ease,border-color .46s ease,box-shadow .46s ease}
.sec-card:hover .sec-icon{transform:translate3d(0,-2px,0) scale(1.035);background:rgba(19,218,191,.18);border-color:rgba(19,218,191,.34);box-shadow:0 8px 18px rgba(19,218,191,.1)}
.sec-icon svg{width:20px;height:20px;stroke:var(--teal);fill:none;stroke-width:2.15;stroke-linecap:square;stroke-linejoin:miter}
.sec-card h3{color:#fff;font-size:.95rem;font-weight:900;margin-bottom:.25rem}
.sec-card p{color:rgba(255,255,255,.62);font-size:.84rem;line-height:1.6}

.results-quote-band{
  background:#000835;
  position:relative;
  overflow:hidden;
  padding:2rem 0 2.15rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), inset 0 -1px 0 rgba(255,255,255,.04);
}
.results-quote-band:before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 50%, rgba(19,218,191,.08), transparent 34%),
    radial-gradient(circle at 78% 28%, rgba(255,255,255,.06), transparent 22%);
  pointer-events:none;
}
.results-quote-box{
  position:relative;
  z-index:1;
  max-width:980px;
  margin:0 auto;
  padding:1.55rem 2.2rem 1.3rem;
  text-align:center;
  border-left:1px solid rgba(255,255,255,.12);
  border-right:1px solid rgba(255,255,255,.12);
}
.results-quote-mark{
  position:absolute;
  top:50%;
  transform:translateY(-54%);
  font-family:var(--font-display);
  font-size:4.6rem;
  font-weight:800;
  line-height:1;
  color:rgba(19,218,191,.68);
  pointer-events:none;
}
.results-quote-mark-left{left:2.1rem}
.results-quote-mark-right{right:2.1rem}
.results-quote-text{
  position:relative;
  max-width:680px;
  margin:0 auto;
  font-family:var(--font-accent);
  font-size:clamp(1.55rem,2.9vw,2.5rem);
  font-weight:800;
  line-height:1.28;
  letter-spacing:0;
  color:#fff;
  min-height:3.9em;
}
.results-quote-line{
  position:relative;
  display:block;
  width:fit-content;
  max-width:100%;
  min-height:1.28em;
  margin:0 auto;
  text-align:left;
}
.results-quote-line + .results-quote-line{
  margin-top:.02em;
}
.results-quote-line-ghost{
  display:block;
  visibility:hidden;
  white-space:pre-wrap;
}
.results-quote-line-live{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  color:#fff;
  white-space:pre-wrap;
}
.results-quote-line.is-typing .results-quote-line-live:after{
  content:"";
  display:inline-block;
  width:3px;
  height:.82em;
  margin-left:.12em;
  vertical-align:-.08em;
  border-radius:999px;
  background:var(--teal);
  box-shadow:0 0 12px rgba(19,218,191,.32);
  animation:typingCaret 1.05s ease-in-out infinite;
}
.results-quote-author{
  display:block;
  margin-top:1rem;
  color:rgba(255,255,255,.72);
  font-size:.86rem;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
  opacity:.92;
}
.results-quote-author:before{
  content:'';
  display:block;
  width:36px;
  height:3px;
  margin:0 auto .82rem;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(19,218,191,.3), var(--teal), rgba(19,218,191,.3));
  box-shadow:0 0 16px rgba(19,218,191,.28);
}
.js .results-quote-text,
.js .results-quote-author{
  opacity:0;
  transform:translateY(12px);
}
.js .results-quote-text.is-ready,
.js .results-quote-author.is-ready{
  opacity:1;
  transform:translateY(0);
  transition:opacity .45s ease, transform .45s ease;
}

.analytics-cases{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 18%, rgba(19,218,191,.12), transparent 26%),
    radial-gradient(circle at 86% 18%, rgba(255,255,255,.08), transparent 18%),
    linear-gradient(180deg,#000850 0%, #00135e 34%, #002b89 70%, #0b46ac 100%);
  color:#fff;
}
.analytics-cases > .container{
  position:relative;
  z-index:2;
  transform:translate3d(0,0,0);
  transition:opacity 1.08s cubic-bezier(.16,1,.3,1),transform 1.08s cubic-bezier(.16,1,.3,1);
}
.analytics-cases:before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 24%,rgba(255,255,255,.02));
  pointer-events:none;
}
.analytics-hero,
.analytics-showcase{
  position:relative;
  z-index:1;
  display:grid;
  gap:2rem;
}
.analytics-hero{
  grid-template-columns:1.02fr .98fr;
  align-items:center;
  margin-bottom:3.2rem;
}
.analytics-showcase{
  grid-template-columns:.88fr 1.12fr;
  align-items:start;
}
.analytics-copy .section-label,
.analytics-showcase-copy .section-label,
.analytics-value .section-label{color:var(--teal)}
.analytics-copy .section-title,
.analytics-copy .section-sub,
.analytics-showcase-copy h2,
.analytics-showcase-copy p,
.analytics-value .section-title,
.analytics-value .section-sub{color:#fff}
.analytics-copy .section-sub,
.analytics-showcase-copy p,
.analytics-value .section-sub{color:rgba(255,255,255,.78)}
.analytics-copy .section-sub{max-width:650px}
.analytics-actions{display:flex;flex-wrap:wrap;gap:1rem}
.analytics-kpi-panel{
  background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,.06) 100%);
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  padding:1.5rem;
  backdrop-filter:blur(12px);
  box-shadow:0 22px 52px rgba(0,8,53,.22);
}
.analytics-kpi-panel:before{
  content:'';
  display:block;
  width:90px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--teal),rgba(19,218,191,.06));
  margin-bottom:1rem;
}
.analytics-kpi-top{display:grid;grid-template-columns:1.05fr .95fr;gap:1rem;margin-bottom:1rem}
.analytics-kpi-main,
.analytics-kpi-card,
.analytics-kpi-bottom{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  padding:1rem 1.05rem;
}
.analytics-kpi-main strong,
.analytics-kpi-card strong{
  display:block;
  font-family:var(--font-display);
  color:var(--teal);
  line-height:1;
  letter-spacing:0;
}
.analytics-kpi-main strong{font-size:2.2rem}
.analytics-kpi-card strong{font-size:1.35rem}
.analytics-kpi-main span,
.analytics-kpi-card span,
.analytics-kpi-bottom span{
  display:block;
  color:#fff;
  font-weight:800;
  margin-top:.4rem;
}
.analytics-kpi-main small,
.analytics-kpi-card small,
.analytics-kpi-bottom small{
  display:block;
  color:rgba(255,255,255,.62);
  line-height:1.55;
  font-size:.78rem;
  margin-top:.35rem;
}
.analytics-kpi-stack{display:grid;gap:1rem}
.analytics-kpi-bottom{position:relative;overflow:hidden;min-height:138px}
.analytics-kpi-bottom em{
  position:absolute;right:16px;top:16px;font-style:normal;font-size:2rem;opacity:.22
}
.analytics-kpi-bars{display:flex;align-items:flex-end;gap:10px;height:64px;margin-top:.85rem}
.analytics-kpi-bars span{
  flex:1;border-radius:999px 999px 10px 10px;
  background:linear-gradient(180deg,var(--teal) 0%, rgba(19,218,191,.2) 100%);
  animation:analyticsBarFloat 4.6s ease-in-out infinite;
}
.analytics-kpi-bars span:nth-child(2){animation-delay:.28s}
.analytics-kpi-bars span:nth-child(3){animation-delay:.55s}
.analytics-kpi-bars span:nth-child(4){animation-delay:.8s}
@keyframes analyticsBarFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
}
.analytics-showcase-copy{
  position:sticky;
  top:118px;
  align-self:start;
  margin-top:-3rem;
}
.analytics-copy-titlebox,
.analytics-copy-contentbox{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  box-shadow:0 16px 36px rgba(0,8,53,.12);
}
.analytics-copy-titlebox{
  padding:1.05rem 1.2rem .9rem;
  margin-bottom:.85rem;
}
.analytics-copy-contentbox{
  padding:1.15rem 1.2rem 1.15rem;
}
.analytics-showcase-copy h2{
  font-family:var(--font-display);
  font-size:clamp(1.72rem,2.8vw,2.3rem);
  font-weight:800;
  line-height:1.08;
  letter-spacing:0;
  margin:0;
}
.analytics-showcase-copy p{
  font-size:.95rem;
  line-height:1.7;
  margin-bottom:1.05rem;
}
.analytics-copy-titlebox .section-label{
  margin-bottom:.5rem;
}
.analytics-copy-contentbox p:last-of-type{
  margin-bottom:1rem;
}
.analytics-capabilities{display:grid;gap:.75rem}
.analytics-capabilities li{
  list-style:none;
  display:flex;
  gap:.8rem;
  align-items:flex-start;
  padding:.8rem .9rem;
  border-radius:16px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  line-height:1.55;
  font-size:.94rem;
  box-shadow:0 10px 24px rgba(0,8,53,.08);
  transition:transform .32s ease, box-shadow .32s ease, border-color .32s ease, background .32s ease;
  animation:analyticsCapabilityFloat 6.8s ease-in-out infinite;
}
.analytics-capabilities li:nth-child(2){animation-delay:.18s}
.analytics-capabilities li:nth-child(3){animation-delay:.36s}
.analytics-capabilities li:nth-child(4){animation-delay:.54s}
.analytics-capabilities li:hover{
  transform:translateY(-8px) scale(1.01);
  box-shadow:0 20px 38px rgba(0,8,53,.18);
  border-color:rgba(19,218,191,.3);
  background:rgba(255,255,255,.1);
}
.analytics-capabilities li span{color:var(--teal);font-size:.98rem;line-height:1.2}
@keyframes analyticsCapabilityFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
.analytics-carousel-wrap{position:relative}
.analytics-carousel-stage{position:relative;min-height:710px}
.analytics-case{
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  transform:translate3d(42px,10px,0) scale(.955);
  transition:opacity .82s ease, transform .82s cubic-bezier(.22,1,.36,1), filter .82s ease;
  filter:saturate(.9) blur(4px);
  isolation:isolate;
}
.analytics-case.is-active{
  opacity:1;
  pointer-events:auto;
  transform:translate3d(0,0,0) scale(1);
  z-index:3;
  filter:saturate(1) blur(0);
}
.analytics-case-card{
  position:relative;
  z-index:1;
  background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.06) 100%);
  border:1px solid rgba(255,255,255,.14);
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 24px 64px rgba(0,8,53,.24);
  min-height:555px;
  height:100%;
  display:flex;
  flex-direction:column;
  transition:box-shadow .72s ease,border-color .72s ease;
}
.analytics-case.is-active .analytics-case-card{
  border-color:rgba(19,218,191,.3);
  box-shadow:
    0 24px 64px rgba(0,8,53,.24),
    0 0 0 1px rgba(19,218,191,.08);
}
.analytics-case-media{
  position:relative;
  min-height:330px;
  height:330px;
  flex:0 0 330px;
  z-index:1;
}
.analytics-case-media img{
  width:100%;
  height:100%;
  min-height:330px;
  object-fit:cover;
  object-position:center;
  transition:transform 1.1s cubic-bezier(.22,1,.36,1), filter 1.1s ease;
}
.analytics-case.is-active .analytics-case-media img{transform:scale(1.018)}
.analytics-case-card:hover .analytics-case-media img{transform:scale(1.055);filter:saturate(1.04)}
.analytics-case-media:after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:0;
  bottom:-86px;
  background:
    linear-gradient(180deg,
      rgba(0,8,53,.08) 0%,
      rgba(0,8,53,.20) 38%,
      rgba(0,8,53,.58) 70%,
      rgba(18,47,127,.94) 93%,
      rgba(18,47,127,1) 100%);
  pointer-events:none;
}
.analytics-case-badge{
  position:absolute;
  left:1.2rem;
  top:1.2rem;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.6rem .9rem;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(0,8,53,.92),rgba(18,47,127,.84));
  border:1px solid rgba(19,218,191,.42);
  color:#fff;
  font-size:.8rem;
  font-weight:900;
  box-shadow:0 12px 26px rgba(0,8,53,.28),0 0 0 1px rgba(255,255,255,.05) inset;
  backdrop-filter:blur(12px);
}
.analytics-case-badge span{color:#ffd76b;text-shadow:0 0 12px rgba(255,215,107,.45)}
.analytics-case-body{
  position:relative;
  z-index:2;
  margin-top:-54px;
  padding:3.85rem 1.45rem 1.2rem;
  color:#fff;
  flex:1;
  display:flex;
  flex-direction:column;
  background:linear-gradient(180deg,
    rgba(18,47,127,0) 0%,
    rgba(18,47,127,.82) 28%,
    rgba(22,59,150,.72) 100%);
}
.analytics-case-category{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  color:var(--teal);
  font-size:.8rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:900;
  margin-bottom:.9rem;
}
.analytics-case-category:before{
  content:'';
  width:8px;height:8px;border-radius:50%;background:var(--teal);
}
.analytics-case-title{
  font-family:var(--font-display);
  font-size:clamp(1.7rem,2.5vw,2.25rem);
  font-weight:800;
  line-height:1.02;
  letter-spacing:0;
  margin-bottom:.75rem;
  text-wrap:balance;
}
.analytics-case-title span{display:block;margin-top:.08em}
.analytics-case-copy{color:rgba(255,255,255,.72);line-height:1.68;font-size:.91rem}
.analytics-case-copy + .analytics-case-copy{margin-top:.7rem}
.analytics-case-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.85rem}
.analytics-case-tags span{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.48rem .76rem;border-radius:999px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);color:#fff;font-size:.75rem;font-weight:800;
}
.analytics-carousel-controls{
  margin-top:1.2rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.analytics-carousel-arrows{display:flex;gap:.75rem}
.analytics-carousel-arrow{
  width:50px;height:50px;border-radius:16px;border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);color:#fff;font-size:1rem;font-weight:900;cursor:pointer;
  transition:transform .34s cubic-bezier(.22,1,.36,1), background .34s ease, border-color .34s ease, box-shadow .34s ease;
}
.analytics-carousel-arrow:hover{
  transform:translateY(-4px) scale(1.04);
  background:rgba(19,218,191,.16);
  border-color:rgba(19,218,191,.34);
  box-shadow:0 16px 32px rgba(0,8,53,.18);
}
.analytics-carousel-dots{
  flex:1;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(0,1fr);
  gap:.7rem;
  align-items:center;
  min-width:0;
}
.analytics-carousel-dot{
  width:100%;height:5px;border:none;border-radius:999px;background:rgba(255,255,255,.25);cursor:pointer;
  transition:background .34s ease, transform .34s ease, box-shadow .34s ease;
}
.analytics-carousel-dot:hover{transform:scaleY(1.6);background:rgba(255,255,255,.48)}
.analytics-carousel-dot.is-active{width:100%;background:var(--teal);transform:scaleY(1.6);box-shadow:0 0 18px rgba(19,218,191,.35)}
.analytics-value{position:relative;z-index:1;margin-top:4rem}
.analytics-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.analytics-value-card{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  padding:1.35rem;
  box-shadow:0 16px 34px rgba(0,8,53,.12);
  transition:transform .42s cubic-bezier(.22,1,.36,1), box-shadow .42s ease, border-color .42s ease, background .42s ease;
}
.analytics-value-card:hover{
  transform:translateY(-9px) scale(1.012);
  box-shadow:0 22px 42px rgba(0,8,53,.18);
  border-color:rgba(19,218,191,.32);
  background:rgba(255,255,255,.12);
}
.analytics-value-icon{
  width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,rgba(19,218,191,.16),rgba(0,166,167,.1));
  color:var(--teal);font-size:1.25rem;margin-bottom:.95rem;
}
.analytics-value-card h4{
  font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:#fff;margin-bottom:.55rem
}
.analytics-value-card p{color:rgba(255,255,255,.74);line-height:1.72;font-size:.92rem}
.analytics-cta{
  position:relative;
  z-index:1;
  margin-top:3rem;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.12);
  border-radius:30px;
  padding:2rem;
  display:grid;
  grid-template-columns:1fr auto;
  gap:1.4rem;
  align-items:center;
  backdrop-filter:blur(10px);
  box-shadow:0 24px 54px rgba(0,8,53,.18);
}
.analytics-cta h3{
  font-family:var(--font-display);
  font-size:clamp(1.9rem,3.2vw,2.7rem);
  font-weight:800;
  line-height:1.04;
  letter-spacing:0;
  color:#fff;
  margin-bottom:.65rem;
}
.analytics-cta p{color:rgba(255,255,255,.78);line-height:1.8;max-width:720px}

.solution-process{
  background:
    linear-gradient(180deg,
      #0b46ac 0%,
      #0b46ac 12%,
      #083ea6 26%,
      #00379b 48%,
      #00689f 68%,
      #00a6a7 82%,
      #13dabf 90%,
      #bff7ef 100%);
  position:relative;
  overflow:hidden;
  padding-bottom:7.2rem;
}
.solution-process:before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 16% 22%,rgba(19,218,191,.06),transparent 30%),
    radial-gradient(circle at 84% 20%,rgba(255,255,255,.04),transparent 22%);
  pointer-events:none;
  z-index:0;
}
.solution-process:after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:260px;
  background:linear-gradient(180deg,rgba(191,247,239,0) 0%,rgba(191,247,239,.62) 44%,rgba(220,255,249,.98) 100%);
  pointer-events:none;
  z-index:0;
}
.solution-process-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr .98fr;
  gap:2.5rem;
  align-items:center;
}
.solution-process-copy .section-label{color:var(--teal)}
.solution-process-copy .section-title,
.solution-process-copy .section-sub{color:#fff}
.solution-process-title{
  font-size:clamp(3rem,6.15vw,5.35rem);
  line-height:1.02;
  letter-spacing:0;
  margin-bottom:1.25rem;
}
.solution-process-title .line{
  display:block;
}
.solution-process-title .accent{
  font-family:var(--font-accent);
  font-style:italic;
  font-weight:800;
  color:var(--teal);
  font-size:1.04em;
  letter-spacing:0;
}
.solution-process-copy .section-sub{
  color:rgba(255,255,255,.8);
  max-width:640px;
  margin-bottom:2rem;
}
.solution-process-actions{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  align-items:center;
}
.solution-process-actions .solution-process-btn{
  min-height:58px;
  min-width:0;
  width:max-content;
  padding:.92rem 1.55rem;
  gap:.52rem;
  border-radius:12px;
  background:linear-gradient(135deg,#000850 0%,#06145f 100%);
  color:#fff;
  font-size:.98rem;
  line-height:1;
  letter-spacing:0;
  box-shadow:0 14px 28px rgba(0,8,53,.24);
}
.solution-process-actions .solution-process-btn:after{
  content:"\2192";
  position:relative;
  z-index:1;
  font-size:1rem;
  line-height:1;
  transform:translateX(0);
  transition:transform .28s cubic-bezier(.22,1,.36,1);
}
.solution-process-actions .solution-process-btn:hover{
  background:#00135e;
  color:#fff;
  box-shadow:0 18px 34px rgba(0,8,53,.3);
}
.solution-process-actions .solution-process-btn:hover:after{
  transform:translateX(4px);
}
.solution-process-panel{
  background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,.06) 100%);
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  padding:1.8rem;
  box-shadow:0 24px 54px rgba(0,0,0,.2);
  backdrop-filter:blur(10px);
}
.solution-process-panel h3{
  font-family:var(--font-display);
  font-size:1.95rem;
  font-weight:800;
  color:var(--teal);
  line-height:1.05;
  letter-spacing:0;
  margin-bottom:1.2rem;
}
.solution-steps{
  display:grid;
  gap:1rem;
}
.solution-step{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:1rem 1.05rem;
  box-shadow:0 0 0 rgba(0,8,53,0);
  opacity:0;
  transform:translateY(24px);
  transition:
    opacity .55s ease,
    transform .55s cubic-bezier(.22,1,.36,1),
    border-color .28s ease,
    background .28s ease,
    box-shadow .28s ease,
    padding .28s ease;
}
.solution-step.is-visible{
  opacity:1;
  transform:translateY(0);
}
.solution-step-head{
  width:100%;
  border:none;
  background:transparent;
  padding:0;
  text-align:left;
  display:flex;
  align-items:center;
  gap:.8rem;
  color:#fff;
  font:inherit;
  cursor:pointer;
}
.solution-step-marker{
  display:flex;
  align-items:center;
  justify-content:center;
  width:3rem;
  flex:0 0 3rem;
  margin-top:.02rem;
}
.solution-step-num{
  color:var(--teal);
  font-family:var(--font-display);
  font-size:1.42rem;
  font-weight:800;
  line-height:1;
  flex-shrink:0;
}
.solution-step-title{
  font-family:var(--font-display);
  font-size:1.06rem;
  font-weight:800;
  line-height:1.35;
}
.solution-step-body{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .34s ease, margin-top .34s ease;
}
.solution-step-body-inner{
  min-height:0;
  overflow:hidden;
}
.solution-step-body p{
  color:rgba(255,255,255,.74);
  font-size:.93rem;
  line-height:1.72;
  padding-top:.85rem;
}
.solution-step.is-active,
.solution-step:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(128, 240, 232, .78);
  box-shadow:0 18px 34px rgba(0,8,53,.24);
  padding-bottom:1.15rem;
}
.solution-step.is-active .solution-step-body,
.solution-step:hover .solution-step-body{
  grid-template-rows:1fr;
  margin-top:.1rem;
}

.faq-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin-top:-1px;
  padding:6.2rem 0 6.5rem;
  background:
    linear-gradient(180deg,
      #dcfff9 0%,
      rgba(228,254,249,.94) 9%,
      rgba(238,250,249,.78) 22%,
      rgba(244,246,251,.52) 42%,
      rgba(244,246,251,.18) 100%),
    url('../img/faq-aq-pattern.png') center/cover no-repeat,
    #f4f6fb;
}
.faq-section:before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(244,246,251,0) 0%,rgba(244,246,251,.06) 32%,rgba(244,246,251,.18) 100%);
}
.faq-section:after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:170px;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,0) 0%,#f4f6fb 100%);
}
.faq-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(500px,.92fr);
  gap:clamp(2.5rem,4.2vw,4.8rem);
  align-items:center;
  min-height:650px;
}
.faq-intro{
  max-width:760px;
}
.faq-intro .section-label{
  color:#00a6a7;
  letter-spacing:.18em;
}
.faq-intro .section-title{
  color:var(--navy);
  max-width:760px;
  font-size:clamp(2.4rem,3.6vw,3.55rem);
  line-height:1.08;
  letter-spacing:0;
}
.faq-title span{
  display:block;
}
.faq-intro .section-sub{
  color:#536486;
  max-width:620px;
  font-size:1.04rem;
  line-height:1.9;
}
.faq-list{
  display:grid;
  gap:1rem;
}
.faq-item{
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(193,205,226,.76);
  border-radius:16px;
  padding:0;
  box-shadow:0 20px 52px rgba(0,8,53,.06);
  backdrop-filter:blur(16px);
  opacity:1;
  transform:translateY(0) scale(1);
  transition:
    opacity .62s ease,
    transform .62s cubic-bezier(.22,1,.36,1),
    background .32s ease,
    border-color .32s ease,
    box-shadow .32s ease;
}
.faq-item:before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,rgba(19,218,191,0),rgba(19,218,191,.9),rgba(19,218,191,0));
  opacity:0;
  transition:opacity .3s ease;
}
.faq-item.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}
.faq-item:hover,
.faq-item.is-open{
  background:rgba(255,255,255,.88);
  border-color:rgba(19,218,191,.34);
  box-shadow:0 28px 68px rgba(0,8,53,.11);
}
.faq-item:hover{
  transform:translateY(-5px) scale(1.006);
}
.faq-item:hover:before,
.faq-item.is-open:before{
  opacity:1;
}
.faq-question{
  width:100%;
  border:0;
  background:transparent;
  padding:1.18rem 1.35rem;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  text-align:left;
  cursor:pointer;
  color:var(--navy);
  font:inherit;
}
.faq-question h3{
  font-family:var(--font-display);
  font-size:1.08rem;
  font-weight:800;
  line-height:1.28;
  margin:0;
  text-wrap:balance;
}
.faq-toggle{
  position:relative;
  flex:0 0 auto;
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(19,218,191,.12);
  border:1px solid rgba(19,218,191,.26);
  transition:background .28s ease, transform .28s ease;
}
.faq-toggle:before,
.faq-toggle:after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:14px;
  height:2px;
  border-radius:999px;
  background:#00a6a7;
  transform:translate(-50%,-50%);
  transition:transform .28s ease, opacity .28s ease;
}
.faq-toggle:after{
  transform:translate(-50%,-50%) rotate(90deg);
}
.faq-item.is-open .faq-toggle{
  background:rgba(19,218,191,.2);
  transform:rotate(180deg);
}
.faq-item.is-open .faq-toggle:after{
  opacity:0;
  transform:translate(-50%,-50%) rotate(0deg);
}
.faq-answer{
  display:grid;
  grid-template-rows:1fr;
  transition:grid-template-rows .34s cubic-bezier(.22,1,.36,1);
}
.faq-item:not(.is-open) .faq-answer{
  grid-template-rows:0fr;
}
.faq-answer-inner{
  min-height:0;
  overflow:hidden;
}
.faq-answer p{
  color:var(--muted);
  line-height:1.72;
  font-size:.94rem;
  margin:0;
  padding:0 1.35rem 1.25rem;
}

.contact-section{
  background:linear-gradient(180deg,#f4f6fb 0%,var(--gray) 14%,var(--gray) 100%);
  margin-top:-1px;
}
.contact-panel{background:linear-gradient(135deg,var(--navy) 0%,#001a6e 100%);border-radius:24px;padding:2.5rem;position:relative;overflow:hidden}
.contact-panel:before{content:'';position:absolute;top:0;right:0;width:320px;height:320px;background:radial-gradient(circle,rgba(19,218,191,.11),transparent 70%)}
.contact-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.contact-panel .section-title,.contact-panel .section-sub{color:#fff}
.contact-panel .section-sub{color:rgba(255,255,255,.67);margin-bottom:1.5rem}
.contact-links{display:grid;gap:.9rem}
.contact-link{display:flex;gap:.9rem;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:1rem;transition:transform .36s cubic-bezier(.22,1,.36,1), background .36s ease, border-color .36s ease, box-shadow .36s ease}
.contact-link:hover{transform:translateX(8px);background:rgba(255,255,255,.1);border-color:rgba(19,218,191,.3);box-shadow:0 14px 30px rgba(0,8,53,.16)}
.contact-link .i{width:40px;height:40px;border-radius:10px;background:rgba(19,218,191,.14);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-link .i svg{width:18px;height:18px;stroke:var(--teal);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.contact-link small{display:block;color:rgba(255,255,255,.48);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;font-weight:900}
.contact-link span{color:#fff;font-weight:800}
.form{display:grid;gap:.9rem}
.form input,.form textarea{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:#fff;padding:1rem;border-radius:12px;font:inherit;outline:none;transition:transform .32s cubic-bezier(.22,1,.36,1), border-color .32s ease, background .32s ease, box-shadow .32s ease}
.form input:focus,.form textarea:focus{transform:translateY(-2px);border-color:rgba(19,218,191,.58);background:rgba(255,255,255,.1);box-shadow:0 0 0 4px rgba(19,218,191,.1)}
.form input::placeholder,.form textarea::placeholder{color:rgba(255,255,255,.38)}
.form button{border:none;cursor:pointer}
.form-note{color:rgba(255,255,255,.5);font-size:.78rem}

footer{background:var(--navy);padding:3rem 0 1.35rem;border-top:1px solid rgba(255,255,255,.08)}
.footer-inner{display:grid;grid-template-columns:minmax(230px,.78fr) minmax(340px,1.22fr);align-items:start;gap:2.35rem 4rem}
.footer-brand-block{display:grid;gap:1.1rem;align-content:start}
.footer-brand{display:flex;align-items:center;gap:.8rem;padding-top:.3rem}
.footer-brand img{display:block;height:72px;width:auto;object-fit:contain}
.footer-site-links{display:flex;flex-wrap:wrap;gap:.55rem 1rem;max-width:480px}
.footer-site-links a{color:rgba(255,255,255,.7);font-size:.82rem;font-weight:700;text-decoration:none;transition:color .28s ease}
.footer-site-links a:hover{color:var(--teal)}
.footer-contact{display:grid;gap:.82rem;width:min(100%,430px);justify-self:end}
.footer-contact-item{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:.8rem;color:#fff;font-style:normal;transition:color .28s ease,transform .28s cubic-bezier(.22,1,.36,1)}
a.footer-contact-item:hover{color:var(--teal);transform:translateX(4px)}
.footer-contact-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--teal);flex-shrink:0}
.footer-contact-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.footer-contact-copy{display:grid;gap:.12rem;min-width:0}
.footer-contact-label{color:rgba(255,255,255,.48);font-size:.68rem;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.08em}
.footer-contact-value{color:currentColor;font-size:.96rem;font-weight:750;line-height:1.4;overflow-wrap:anywhere}
.footer-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.15rem;border-top:1px solid rgba(255,255,255,.08)}
.whatsapp-float{position:fixed!important;top:auto!important;left:auto!important;right:max(22px,env(safe-area-inset-right))!important;bottom:max(22px,env(safe-area-inset-bottom))!important;z-index:2147483000;display:flex;align-items:center;justify-content:flex-start;gap:.72rem;width:74px;height:74px;padding:0;border:1px solid rgba(71,218,122,.48);border-radius:999px;background:linear-gradient(145deg,#2bdc70 0%,#20bf5b 52%,#149447 100%);background-clip:padding-box;box-shadow:0 14px 30px rgba(0,74,36,.24),inset 0 1px 0 rgba(255,255,255,.26),0 0 0 1px rgba(37,211,102,.1);overflow:hidden;transform:translateY(0);will-change:transform;transition:width .72s cubic-bezier(.16,1,.3,1),padding .72s cubic-bezier(.16,1,.3,1),transform .42s cubic-bezier(.22,1,.36,1),box-shadow .52s ease,background .52s ease,border-color .42s ease;animation:whatsappFloatSoft 3.6s ease-in-out infinite;isolation:isolate}
.whatsapp-float:hover{width:274px;padding:0 1.35rem 0 0;border-color:rgba(112,235,151,.72);transform:translateY(-3px)!important;box-shadow:0 20px 42px rgba(0,74,36,.3),inset 0 1px 0 rgba(255,255,255,.3);background:linear-gradient(145deg,#31e176 0%,#23c962 52%,#15964a 100%);animation-play-state:paused}
.whatsapp-float img{position:relative;z-index:1;width:74px;height:74px;border-radius:50%;flex-shrink:0}
.whatsapp-label{position:relative;z-index:1;display:block;max-width:0;opacity:0;overflow:hidden;color:#fff;font-size:1rem;font-weight:900;line-height:1.05;letter-spacing:0;white-space:nowrap;text-shadow:0 1px 2px rgba(0,47,22,.42);transition:max-width .68s cubic-bezier(.16,1,.3,1),opacity .42s ease .12s,text-shadow .32s ease}
.whatsapp-float:hover .whatsapp-label{max-width:170px;opacity:1;text-shadow:0 1px 2px rgba(0,47,22,.5)}
.footer-inner p{color:rgba(255,255,255,.48);font-size:.82rem;text-align:left}
footer .footer-brand,
footer .footer-contact,
footer .footer-inner p{opacity:1!important;transform:none!important;filter:none!important}
@keyframes whatsappPulse{
  0%,100%{box-shadow:0 16px 34px rgba(0,0,0,.25),0 0 0 0 rgba(37,211,102,.22)}
  50%{box-shadow:0 18px 38px rgba(0,0,0,.28),0 0 0 12px rgba(37,211,102,0)}
}
@keyframes whatsappFloatSoft{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}

@media (prefers-reduced-motion:reduce){
  .security-shield .shield-aura{
    animation:none
  }
  .analytics-cases > .container,
  .analytics-cases:after{
    transition:none
  }
  .analytics-case.is-active::before,
  .analytics-case.is-active::after{
    animation:none
  }
}

@media (max-width:1180px){
  .logo img{height:74px;max-width:310px}
  .menu{gap:.72rem}
  .nav-cta{padding-inline:.88rem}
  .hero h1,.hero-title{font-size:3.62rem;max-width:650px}
  .hero-title .accent{font-size:2.95rem;max-width:650px}
}

@media (max-width:980px){
  .logo img{height:64px;max-width:250px}
  .menu{gap:.56rem}
  .menu a{font-size:.78rem}
  .nav-cta{min-height:46px}
  .hero h1,.hero-title{font-size:3.34rem;max-width:610px}
  .hero-title .accent{font-size:2.72rem;max-width:610px}
}

@media (max-width:1100px){
  .hero-grid,.about-grid,.security-grid,.analytics-hero,.analytics-showcase,.solution-process-grid,.faq-grid,.contact-grid,.analytics-cta{grid-template-columns:1fr}
  .cards{grid-template-columns:repeat(2,1fr)}
  .clients-grid{grid-template-columns:repeat(2,1fr)}
  .service-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-focus-item:last-child{grid-column:1/-1}
  .menu{gap:1.2rem}
  .nav-cta{padding-inline:1rem}
  .analytics-showcase-copy{position:static}
  .analytics-carousel-stage{min-height:780px}
  .analytics-case-card{min-height:545px}
  .analytics-case-media,
  .analytics-case-media img{
    min-height:300px;
    height:300px;
  }
  .analytics-case-media{flex-basis:300px}
  .analytics-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .solution-process-copy{max-width:780px}
  .faq-grid{min-height:0;align-items:start}
  .faq-intro{max-width:780px}
  .analytics-showcase-copy{margin-top:0}
  .hero-card{max-width:680px;justify-self:center}
  .security{min-height:800px;padding:6rem 0 7rem}
  .security-grid{min-height:auto;gap:2.8rem}
  .security-copy{min-height:390px}
  .security-shield{left:50%;width:min(470px,82vw);transform:translate(-50%,-50%);opacity:.46}
  .security-threat-layer{left:50%;width:min(470px,82vw);transform:translate(-50%,-50%)}
}
@media (max-width:780px){
  .nav-inner{position:relative}
  .menu-toggle{display:flex}
  .menu{display:none;position:absolute;top:calc(100% + 12px);left:0;right:0;flex-direction:column;align-items:stretch;gap:.75rem;padding:1rem;border-radius:18px;background:rgba(0,8,53,.98);border:1px solid rgba(19,218,191,.12);box-shadow:0 20px 40px rgba(0,0,0,.22)}
  .menu.open{display:flex}
  .menu li{width:100%}
  .menu a,.nav-cta{width:100%;justify-content:center;text-align:center}
  .nav-link{padding:.9rem 1rem;border-radius:12px;background:rgba(255,255,255,.04)}
  .nav-cta{min-height:52px;padding:.7rem .9rem}
  .footer-inner{grid-template-columns:1fr;align-items:start;gap:1.7rem}
  .footer-contact{justify-self:start;width:100%;max-width:430px}
  .footer-bottom{grid-column:1}
  .footer-inner p{text-align:left}
  .hero{padding-top:84px}
  .hero-grid{padding:3rem 0 2.5rem}
  .hero h1,.hero-title{font-size:3.2rem;max-width:640px}
  .hero-title .accent{font-size:2.82rem;line-height:.96;max-width:620px}
  .security-copy{min-height:340px}
  .security-shield{width:min(380px,92vw);opacity:.38}
  .security-threat-layer{width:min(380px,92vw);opacity:.74}
  .security-actions .btn{width:100%}
  .solution-process-actions .solution-process-btn{
    min-height:56px;
    width:100%;
    max-width:230px;
    padding:.88rem 1.25rem;
  }
  .solution-process{padding-bottom:5.5rem}
  .faq-section{padding:4.6rem 0 5.2rem;background-position:center top}
  .faq-intro .section-title{font-size:clamp(2rem,12vw,3.05rem)}
  .faq-title span{display:inline}
  .faq-title span:after{content:' '}
  .faq-title span:last-child:after{content:''}
  .faq-question{padding:1rem 1.05rem}
  .faq-answer p{padding:0 1.05rem 1.05rem}
  .hero-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
  .kpi{min-height:138px;padding:.88rem}
  .kpi strong,.kpi-heading{font-size:1.28rem}
  .kpi-counter-display{font-size:1.9rem}
  .kpi.years-kpi strong{font-size:3.2rem}
  .kpi span{font-size:.74rem}
  .kpi small{font-size:.68rem;line-height:1.42}
  .cards,.clients-grid{grid-template-columns:1fr}
  .analytics-kpi-top{grid-template-columns:1fr}
  .analytics-carousel-controls{flex-direction:column;align-items:stretch}
  .analytics-carousel-arrows,.analytics-carousel-dots{justify-content:center}
  .analytics-carousel-stage{min-height:0}
  .analytics-case{
    position:relative;
    inset:auto;
    display:none;
    transform:translate3d(0,18px,0) scale(.985);
  }
  .analytics-case.is-active{
    display:block;
    transform:translate3d(0,0,0) scale(1);
  }
  .analytics-case-card{
    min-height:0;
    height:auto;
    border-radius:24px;
  }
  .analytics-case-media,.analytics-case-media img{
    min-height:0;
    height:auto;
  }
  .analytics-case-media{
    flex:0 0 auto;
    aspect-ratio:16/10;
  }
  .analytics-case-media img{
    height:100%;
  }
  .analytics-case-media:after{
    bottom:-58px;
  }
  .analytics-case-badge{
    left:1rem;
    top:1rem;
    max-width:calc(100% - 2rem);
    white-space:normal;
    line-height:1.2;
  }
  .analytics-case-body{
    flex:0 0 auto;
    margin-top:-44px;
    padding:3.05rem 1.05rem 1.05rem;
  }
  .analytics-case-title{
    font-size:clamp(1.55rem,7vw,2rem);
    line-height:1.08;
    margin-bottom:.65rem;
  }
  .analytics-case-copy{
    font-size:.92rem;
    line-height:1.62;
  }
  .analytics-case-tags{
    gap:.5rem;
    margin-top:.9rem;
  }
  .analytics-case-tags span{
    padding:.44rem .68rem;
    font-size:.72rem;
  }
  .analytics-value-grid{grid-template-columns:1fr}
  .analytics-showcase-copy{
    margin-top:0;
    padding-top:0;
  }
  .analytics-copy-titlebox,
  .analytics-copy-contentbox{
    padding:1.15rem 1rem;
    border-radius:20px;
  }
  .analytics-showcase-copy h2,
  .analytics-showcase-copy p{
    max-width:none;
  }
  .analytics-capabilities li{
    animation:none;
    transform:none;
  }
  .analytics-carousel-controls{
    justify-content:center;
  }
  .quote-card{grid-column:span 1}
  .contact-panel{padding:1.5rem}
  .clients-box{padding:1.2rem 1rem}
  .client-logo{min-height:116px}
  .service-focus-item:last-child{grid-column:auto}

  .service-focus{
    padding:1.25rem;
  }

  .service-focus-grid{
    grid-template-columns:1fr;
    gap:1rem;
  }

  .service-focus-item{
    padding:1.1rem;
    min-height:auto;
  }

  .solution-process-panel{
    padding:1.25rem;
  }

  .solution-process-panel h3{
    font-size:1.55rem;
  }

  .solution-step{
    padding:.95rem;
  }

  .solution-step-title{
    font-size:1rem;
  }

  .analytics-cta{padding:1.5rem}

  .results-quote-band{
    padding:1.7rem 0 1.85rem;
  }

  .results-quote-box{
    padding:1.2rem 1rem 1rem;
    border-left:none;
    border-right:none;
  }

  .results-quote-mark{
    position:static;
    transform:none;
    display:block;
    font-size:2.6rem;
    line-height:.8;
    margin-bottom:.2rem;
  }

  .results-quote-mark-right{
    margin:.35rem 0 0;
  }

  .results-quote-text{
    min-height:3.9em;
    max-width:none;
    font-size:clamp(1.16rem,5.5vw,1.55rem);
  }

  .whatsapp-float{width:64px;height:64px;right:max(16px,env(safe-area-inset-right))!important;bottom:max(16px,env(safe-area-inset-bottom))!important;padding:0;gap:.62rem}
  .whatsapp-float:hover{width:64px;padding:0;transform:none!important}
  .whatsapp-float img{width:64px;height:64px}
  .whatsapp-label{display:none}
}
@media (max-width:560px){
  .hero h1,.hero-title{font-size:2.62rem;line-height:1.04;letter-spacing:0}
  .hero-title .line{margin-bottom:.06em}
  .hero-title .line:last-of-type{margin-bottom:.12em}
  .hero-title .accent{font-size:2.28rem;line-height:.98}
  .hero-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
  .badge{font-size:.66rem;letter-spacing:.08em;border-radius:14px}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{width:100%}
  section.analytics-cases{padding:3rem 0}
  .analytics-showcase{gap:1.35rem}
  .analytics-carousel-wrap{width:100%}
  .analytics-case-card{border-radius:20px}
  .analytics-case-media{aspect-ratio:4/3}
  .analytics-case-category{
    font-size:.72rem;
    letter-spacing:.1em;
    margin-bottom:.72rem;
  }
  .analytics-case-body{
    padding:2.75rem .95rem 1rem;
  }
  .analytics-case-copy + .analytics-case-copy{
    margin-top:.55rem;
  }
  .analytics-carousel-controls{
    margin-top:.9rem;
    gap:.8rem;
  }
  .analytics-carousel-arrow{
    width:46px;
    height:46px;
    border-radius:14px;
  }
}
@media (max-width:390px){
  .hero h1,.hero-title{font-size:2.22rem}
  .hero-title .accent{font-size:1.98rem}
  .hero-kpis{grid-template-columns:1fr}
}

@media (max-width:1280px){
  .nav-inner{position:relative;display:flex;justify-content:space-between;width:min(1200px,92%);max-width:1200px;padding:1rem 0}
  .menu-toggle{display:flex}
  .nav-cta-desktop{display:none}
  .nav-cta-mobile{display:list-item}
  .menu{
    display:none;
    position:absolute;
    top:calc(100% + 12px);
    left:0;
    right:0;
    flex-direction:column;
    align-items:stretch;
    gap:.75rem;
    padding:1rem;
    border-radius:18px;
    background:rgba(0,8,53,.98);
    border:1px solid rgba(19,218,191,.12);
    box-shadow:0 20px 40px rgba(0,0,0,.22);
  }
  .menu.open{display:flex}
  .menu li{width:100%}
  .menu a,
  .nav-cta{
    width:100%;
    justify-content:center;
    text-align:center;
  }
  .nav-link{
    padding:.9rem 1rem;
    border-radius:12px;
    background:rgba(255,255,255,.04);
  }
  .nav-cta{min-height:52px;padding:.7rem .9rem}
}

@media (min-width:901px) and (max-width:1100px){
  .hero{min-height:auto;padding-top:96px}
  .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(330px,.82fr);
    gap:1.55rem;
    padding:3.2rem 0 2.5rem;
  }
  .hero h1,
  .hero-title{
    font-size:clamp(3rem,4.8vw,3.62rem);
    max-width:560px;
  }
  .hero-title .accent{
    font-size:clamp(2.62rem,4.1vw,3.08rem);
    max-width:540px;
  }
  .hero p{
    font-size:.98rem;
    line-height:1.66;
    max-width:560px;
    margin:1.05rem 0 1.45rem;
  }
  .hero-trust{margin-top:1.2rem}
  .hero-card{
    max-width:430px;
    padding:.72rem;
    border-radius:22px;
  }
  .hero-photo{
    aspect-ratio:16/10;
    border-radius:18px;
  }
  .hero-kpis{
    gap:.55rem;
    margin-top:.65rem;
  }
  .kpi{
    min-height:112px;
    padding:.75rem .65rem;
    border-radius:14px;
    animation:none;
  }
  .kpi strong,
  .kpi-heading{font-size:1.05rem}
  .kpi-counter-display{font-size:1.65rem}
  .kpi.years-kpi strong{font-size:2.4rem}
  .kpi span{font-size:.68rem}
  .kpi small{font-size:.62rem}
}

@media (max-width:900px){
  html{scroll-padding-top:92px}
  .container{width:min(100% - 32px,1200px)}
  .js [data-reveal],
  .js [data-reveal="left"],
  .js [data-reveal="right"],
  .js [data-reveal="scale"]{
    transform:translate3d(0,18px,0) scale(.99);
    filter:blur(3px);
  }
  .js [data-reveal].is-visible{
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
  }
  nav{max-width:100vw}
  .nav-inner{padding:.72rem 0;gap:.75rem}
  .logo img{
    height:clamp(50px,13.5vw,64px);
    max-width:min(220px,calc(100vw - 164px));
  }
  .menu{
    max-height:calc(100vh - 92px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .hero{min-height:auto;padding-top:78px}
  .hero-grid{gap:1.4rem;padding:2.25rem 0 2.1rem}
  .badge{
    width:100%;
    justify-content:center;
    text-align:center;
    white-space:normal;
    border-radius:14px;
  }
  .hero h1,
  .hero-title{
    max-width:100%;
    font-size:clamp(2.34rem,10vw,3.2rem);
    line-height:1.06;
  }
  .hero-title .line{white-space:normal}
  .hero-title .accent{
    max-width:100%;
    font-size:clamp(2.06rem,8.4vw,2.8rem);
    white-space:normal;
  }
  .hero p{
    max-width:none;
    margin:1.1rem 0 1.45rem;
    font-size:1rem;
    line-height:1.66;
  }
  .hero-trust{
    display:grid;
    grid-template-columns:1fr;
    gap:.5rem;
    margin-top:1.35rem;
  }
  .hero-trust .dot{display:none}
  .hero-card{
    max-width:none;
    padding:.65rem;
    border-radius:20px;
  }
  .hero-photo{
    aspect-ratio:16/10;
    border-radius:16px;
  }
  .hero-kpis{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.55rem;
    margin-top:.65rem;
  }
  .kpi{
    min-height:0;
    padding:.72rem .62rem;
    border-radius:14px;
    animation:none;
  }
  .kpi strong,
  .kpi-heading{font-size:1rem}
  .kpi-counter-display{font-size:1.55rem}
  .kpi.years-kpi strong{font-size:2.22rem}
  .kpi span{font-size:.68rem;line-height:1.25}
  .kpi small{font-size:.62rem;line-height:1.35}
  .security{min-height:auto;padding:4.8rem 0 5.8rem}
  .security-grid{gap:2rem}
  section{padding:3.7rem 0}
  .section-title{font-size:clamp(1.86rem,7.5vw,2.5rem)}
  .section-sub{font-size:.98rem;line-height:1.7}
  .card,
  .quote-card,
  .analytics-value-card{
    border-radius:16px;
    padding:1.2rem;
  }
  .clients-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-logo{
    min-height:104px;
    padding:.85rem .65rem;
    border-radius:16px;
  }
  .client-logo img{max-height:68px;max-width:100%}
  .client-logo.is-constructora img{max-height:76px}
  .client-logo.is-amore img{max-height:78px}
  .client-logo.is-cantina img{max-height:58px;max-width:100%}
  .analytics-showcase{gap:1.45rem}
  .analytics-showcase-copy{position:static;margin-top:0}
  .analytics-carousel-stage{min-height:0}
  .analytics-case{
    position:relative;
    inset:auto;
    display:none;
    transform:translate3d(0,14px,0) scale(.99);
  }
  .analytics-case.is-active{
    display:block;
    transform:translate3d(0,0,0) scale(1);
  }
  .analytics-case-card{
    min-height:0;
    height:auto;
    border-radius:22px;
  }
  .analytics-case-media{
    min-height:0;
    height:auto;
    flex:0 0 auto;
    aspect-ratio:16/10;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(0,8,53,.2));
  }
  .analytics-case-media img{
    width:100%;
    height:100%;
    min-height:0;
    object-fit:contain;
    object-position:center;
    padding:.55rem;
  }
  .analytics-case-media img[src*="dashboardmobiles"],
  .analytics-case-media img[src*="analisis"],
  .analytics-case-media img[src*="zuana"],
  .analytics-case-media img[src*="huelladecarbono"]{
    object-fit:contain;
  }
  .analytics-case-media:after{bottom:-48px}
  .analytics-case-body{
    margin-top:-38px;
    padding:2.7rem 1rem 1.05rem;
  }
  .analytics-case-title{
    font-size:clamp(1.42rem,6.2vw,1.95rem);
    line-height:1.09;
  }
  .analytics-carousel-controls{gap:.85rem}
  .analytics-carousel-arrows,
  .analytics-carousel-dots{justify-content:center}
  .analytics-carousel-arrow{
    width:46px;
    height:46px;
    border-radius:14px;
  }
  .analytics-value{margin-top:3rem}
  .analytics-cta{border-radius:22px}
  .solution-process{padding-bottom:4.7rem}
  .solution-process-title{
    font-size:clamp(2.35rem,10vw,3.65rem);
    line-height:1.06;
  }
  .solution-step-head{align-items:flex-start}
  .solution-step-marker{margin-top:.05rem}
  .faq-grid{gap:1.6rem}
  .faq-question h3{font-size:1rem}
  .contact-panel{
    padding:1.3rem;
    border-radius:20px;
  }
  .contact-link{
    align-items:flex-start;
    gap:.75rem;
  }
  .contact-link span,
  .contact-link small,
  .form-note{overflow-wrap:anywhere}
  .form button{width:100%}
  footer{padding:2rem 0 2.2rem}
  .footer-brand img{height:56px}
  .whatsapp-float{
    width:58px;
    height:58px;
    right:max(12px,env(safe-area-inset-right))!important;
    bottom:max(12px,env(safe-area-inset-bottom))!important;
  }
  .whatsapp-float:hover{width:58px}
  .whatsapp-float img{width:58px;height:58px}
}

@media (max-width:560px){
  .container{width:min(100% - 28px,1200px)}
  .hero-grid{padding:1.9rem 0 1.8rem}
  .hero h1,
  .hero-title{font-size:clamp(2.04rem,9vw,2.28rem)}
  .hero-title .accent{font-size:clamp(1.92rem,8.9vw,2.28rem)}
  .hero-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-kpis .years-kpi{grid-column:1/-1}
  .analytics-copy-titlebox,
  .analytics-copy-contentbox{
    margin-left:0;
    margin-right:0;
  }
  .analytics-case-media{aspect-ratio:4/3}
  .analytics-case-media img{padding:.45rem}
  .analytics-case-badge{
    left:.8rem;
    top:.8rem;
    max-width:calc(100% - 1.6rem);
    padding:.52rem .72rem;
    font-size:.72rem;
  }
  .solution-step-head{
    gap:.65rem;
  }
  .whatsapp-float{
    width:52px;
    height:52px;
    right:max(10px,env(safe-area-inset-right))!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
  }
  .whatsapp-float:hover{width:52px}
  .whatsapp-float img{width:52px;height:52px}
}

@media (max-width:380px){
  .container{width:min(100% - 24px,1200px)}
  .logo img{height:46px;max-width:210px}
  .menu-toggle{width:42px;height:42px;border-radius:10px}
  .hero h1,
  .hero-title{font-size:2.08rem}
  .hero-title .accent{font-size:1.78rem}
  .hero-kpis,
  .clients-grid{grid-template-columns:1fr}
  .hero-kpis .years-kpi{grid-column:auto}
  .analytics-case-media{aspect-ratio:1.16}
  .solution-process-title{font-size:2.12rem}
  .contact-panel{padding:1rem}
}

@media (max-width:640px){
  .analytics-case.is-active .analytics-case-card{
    box-shadow:
      0 18px 46px rgba(0,8,53,.22),
      0 0 0 1px rgba(19,218,191,.08);
  }
  .whatsapp-float{
    display:flex;
    width:72px;
    height:72px;
    right:max(14px,env(safe-area-inset-right))!important;
    bottom:max(16px,env(safe-area-inset-bottom))!important;
    animation:whatsappFloatSoft 3.6s ease-in-out infinite;
  }
  .whatsapp-float:hover{
    width:72px;
    padding:0;
  }
  .whatsapp-float img{
    width:72px;
    height:72px;
  }

  .hero-card{
    background:rgba(35,43,113,.72);
    border:1px solid rgba(255,255,255,.12);
    border-radius:24px;
    padding:14px;
    box-shadow:0 18px 42px rgba(0,0,0,.2);
  }
  .hero-photo{
    aspect-ratio:1.42;
    border-radius:18px;
  }
  .hero-kpis{
    grid-template-columns:1fr;
    gap:14px;
    margin-top:14px;
  }
  .hero-kpis .years-kpi{grid-column:auto}
  .kpi{
    min-height:112px;
    border-radius:16px;
    padding:1rem 1.05rem;
    background:rgba(52,60,137,.62);
    border:1px solid rgba(255,255,255,.1);
    box-shadow:none;
  }
  .kpi strong,
  .kpi-heading{
    font-size:1.48rem;
    line-height:1.02;
    color:var(--teal);
  }
  .kpi-counter-display{
    font-size:2.45rem;
    line-height:.96;
    margin-top:.08rem;
  }
  .kpi.years-kpi strong{
    font-size:3.45rem;
    line-height:.95;
  }
  .kpi span{
    margin-top:.45rem;
    font-size:.78rem;
    line-height:1.25;
  }
  .kpi small{
    margin-top:.34rem;
    font-size:.72rem;
    line-height:1.38;
    color:rgba(255,255,255,.58);
  }

  .clients-wrap{
    padding:2rem 0 2.25rem;
  }
  .clients-box{
    width:min(100% - 16px,380px);
    border-radius:24px;
    padding:1.45rem .95rem 1.15rem;
    box-shadow:0 20px 42px rgba(0,8,53,.14);
  }
  .clients-box h2{
    max-width:270px;
    margin:0 auto 1.15rem;
    font-size:.92rem;
    line-height:1.35;
    letter-spacing:.1em;
  }
  .clients-grid{
    grid-template-columns:1fr;
    gap:.85rem;
  }
  .client-logo{
    min-height:118px;
    border-radius:17px;
    padding:1rem;
    background:#fff;
  }
  .client-logo img{
    max-width:100%;
    max-height:82px;
  }
  .client-logo.is-constructora img{
    max-width:120px;
    max-height:86px;
  }
  .client-logo.is-amore img{
    max-width:240px;
    max-height:88px;
  }
  .client-logo.is-cantina img{
    max-width:238px;
    max-height:62px;
  }

}

@media (hover:none){
  .card:hover,
  .kpi:hover,
  .client-logo:hover,
  .analytics-value-card:hover,
  .sec-card:hover,
  .contact-link:hover,
  .about-photo:hover,
  .hero-card:hover{
    transform:none;
  }
}

















/* AQ_LEAD_CHATBOT_STYLES_START */
.aq-chatbot{
  position:fixed;
  right:max(20px,env(safe-area-inset-right));
  bottom:max(20px,env(safe-area-inset-bottom));
  z-index:10020;
  font-family:var(--font-body);
  color:var(--text);
  pointer-events:none;
  max-width:calc(100vw - 24px);
}
.aq-chatbot *{box-sizing:border-box}
.aq-chatbot-backdrop{
  position:fixed;
  inset:0;
  z-index:0;
  background:rgba(0,8,53,.28);
  backdrop-filter:blur(3px) saturate(.92);
  -webkit-backdrop-filter:blur(3px) saturate(.92);
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
}
.aq-chatbot.is-open .aq-chatbot-backdrop{
  opacity:1;
  pointer-events:auto;
}
.aq-chatbot-backdrop[hidden]{display:none}
.aq-chatbot-toggle{
  position:relative;
  z-index:2;
  min-height:66px;
  border:0;
  border-radius:999px;
  padding:.68rem 1.35rem;
  display:flex;
  align-items:center;
  background:linear-gradient(135deg,#000850 0%,#00379B 62%,#0e6f94 100%);
  color:#fff;
  box-shadow:0 18px 44px rgba(0,8,80,.32);
  cursor:pointer;
  font:800 .86rem/1.15 var(--font-body);
  letter-spacing:0;
  transition:transform .24s ease,box-shadow .24s ease,filter .24s ease;
  pointer-events:auto;
}
.aq-chatbot-toggle:hover{transform:translateY(-2px);box-shadow:0 22px 54px rgba(0,8,80,.38);filter:saturate(1.06)}
.aq-chatbot-toggle:focus-visible{outline:3px solid rgba(19,218,191,.55);outline-offset:3px}
.aq-chatbot-toggle-text{display:grid;text-align:left;gap:.08rem}
.aq-chatbot-toggle-text small{display:block;color:rgba(255,255,255,.72);font:700 .67rem/1 var(--font-body);text-transform:uppercase;letter-spacing:.08em}
.aq-chatbot-toggle-text strong{font:900 .98rem/1.08 var(--font-display);letter-spacing:0;color:#fff;white-space:normal}
.aq-chatbot-hover-card{
  position:absolute;
  left:50%;
  right:auto;
  bottom:82px;
  z-index:4;
  width:260px;
  display:grid;
  justify-items:center;
  gap:.1rem;
  opacity:0;
  transform:translate(-50%,12px) scale(.96);
  pointer-events:none;
  transition:opacity .22s ease,transform .24s var(--ease-smooth);
}
.aq-chatbot:not(.is-open) .aq-chatbot-toggle:hover ~ .aq-chatbot-hover-card,
.aq-chatbot:not(.is-open) .aq-chatbot-toggle:focus-visible ~ .aq-chatbot-hover-card{
  opacity:1;
  transform:translate(-50%,0) scale(1);
}
.aq-chatbot.is-nudging:not(.is-open) .aq-chatbot-hover-card{
  opacity:1;
  transform:translate(-50%,0) scale(1);
  pointer-events:auto;
  cursor:pointer;
}
.aq-chatbot.is-opening .aq-chatbot-hover-card{
  opacity:0!important;
  transform:translate(-50%,10px) scale(.96)!important;
  pointer-events:none!important;
}
.aq-chatbot-hover-card img{
  width:auto;
  height:146px;
  max-width:158px;
  object-fit:contain;
  object-position:center bottom;
  display:block;
  filter:drop-shadow(0 20px 28px rgba(0,8,80,.36));
  animation:aqiFloat 3.4s ease-in-out infinite;
}
.aq-chatbot-hover-bubble{
  position:relative;
  max-width:210px;
  padding:.72rem .88rem;
  border-radius:15px;
  background:#fff;
  color:#000850;
  border:1px solid rgba(0,8,80,.12);
  box-shadow:0 16px 34px rgba(0,8,80,.2);
  font:900 .84rem/1.25 var(--font-body);
}
.aq-chatbot-hover-bubble:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-8px;
  width:16px;
  height:16px;
  background:#fff;
  border-right:1px solid rgba(0,8,80,.12);
  border-bottom:1px solid rgba(0,8,80,.12);
  transform:translateX(-50%) rotate(45deg);
}
.aq-chatbot-sidekick{
  position:absolute;
  right:410px;
  bottom:-14px;
  z-index:2;
  width:280px;
  max-width:28vw;
  height:auto;
  opacity:0;
  transform:translateY(20px) scale(.94);
  pointer-events:none;
  filter:drop-shadow(0 24px 30px rgba(0,8,80,.42));
  transition:opacity .24s ease,transform .28s var(--ease-smooth);
}
.aq-chatbot.is-open .aq-chatbot-sidekick{
  opacity:1;
  transform:translateY(0) scale(1);
  animation:aqiFloat 3.8s ease-in-out infinite;
}
.aq-chatbot-panel{
  position:absolute;
  right:0;
  bottom:78px;
  z-index:3;
  width:min(410px,calc(100vw - 32px));
  max-height:min(680px,calc(100svh - 108px));
  max-height:min(680px,calc(100dvh - 108px));
  padding:0!important;
  margin:0!important;
  display:flex;
  flex-direction:column;
  overflow:hidden!important;
  background:#fff;
  border:1px solid rgba(0,8,80,.13);
  border-radius:20px;
  box-shadow:0 28px 80px rgba(0,8,80,.28);
  transform:translateY(18px) scale(.98);
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease,transform .24s var(--ease-smooth);
  overscroll-behavior:contain;
}
.aq-chatbot.is-open .aq-chatbot-panel{
  transform:translateY(0) scale(1);
  opacity:1;
  pointer-events:auto;
}
.aq-chatbot-panel[hidden]{display:none}
.aq-chatbot-mobile-mascot,
.aq-chatbot-mobile-orbit{display:none}
.aq-chatbot-header{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.9rem;
  padding:1rem 1rem .9rem;
  background:linear-gradient(135deg,#000850 0%,#00379B 100%);
  color:#fff;
}
.aq-chatbot-title{display:flex;align-items:center;gap:.72rem;min-width:0}
.aq-chatbot-title strong{display:block;font:900 1.05rem/1.14 var(--font-display);letter-spacing:0}
.aq-chatbot-title span{display:block;color:rgba(255,255,255,.72);font:600 .75rem/1.35 var(--font-body)}
.aq-chatbot-close{
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  cursor:pointer;
  display:grid;
  place-items:center;
  font:900 1.2rem/1 var(--font-body);
}
.aq-chatbot-close:focus-visible{outline:3px solid rgba(19,218,191,.55);outline-offset:2px}
.aq-chatbot-progress{
  flex:0 0 auto;
  height:5px;
  background:#e9eef7;
  overflow:hidden;
}
.aq-chatbot-progress span{
  display:block;
  width:0;
  height:100%;
  background:linear-gradient(90deg,#13DABF,#00379B);
  transition:width .28s ease;
}
.aq-chatbot-messages{
  flex:1 1 auto;
  min-height:150px;
  overflow:auto;
  padding:1rem;
  display:grid;
  align-content:start;
  gap:.7rem;
  background:
    radial-gradient(circle at top left,rgba(19,218,191,.13),transparent 36%),
    linear-gradient(180deg,#f8fbff 0%,#fff 100%);
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.aq-chatbot-message{
  width:fit-content;
  max-width:92%;
  border-radius:16px;
  padding:.78rem .86rem;
  font:600 .86rem/1.45 var(--font-body);
  letter-spacing:0;
  overflow-wrap:anywhere;
}
.aq-chatbot-message.bot{
  justify-self:start;
  color:#142144;
  background:#fff;
  border:1px solid rgba(0,8,80,.1);
  box-shadow:0 8px 22px rgba(0,8,80,.08);
}
.aq-chatbot-message.user{
  justify-self:end;
  color:#fff;
  background:#000850;
}
.aq-chatbot-form{
  flex:0 0 auto;
  border-top:1px solid rgba(0,8,80,.09);
  background:#fff;
  padding:.85rem;
  display:grid;
  gap:.72rem;
  max-height:min(360px,45dvh);
  overflow:auto;
  overscroll-behavior:contain;
}
.aq-chatbot-options{
  display:grid;
  grid-template-columns:1fr;
  gap:.48rem;
  max-height:180px;
  overflow:auto;
  padding-right:.12rem;
  overscroll-behavior:contain;
}
.aq-chatbot-options:empty,
.aq-chatbot-input-area:empty{display:none}
.aq-chatbot-option,
.aq-chatbot-link,
.aq-chatbot-download{
  width:100%;
  border:1px solid rgba(0,8,80,.13);
  background:#f8fbff;
  color:#000850;
  border-radius:12px;
  padding:.72rem .78rem;
  text-align:left;
  cursor:pointer;
  font:800 .82rem/1.25 var(--font-body);
  letter-spacing:0;
  overflow-wrap:anywhere;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.aq-chatbot-option:hover,
.aq-chatbot-link:hover,
.aq-chatbot-download:hover{
  background:#eefaf8;
  border-color:rgba(19,218,191,.58);
  transform:translateY(-1px);
}
.aq-chatbot-option:focus-visible,
.aq-chatbot-link:focus-visible,
.aq-chatbot-download:focus-visible,
.aq-chatbot-next:focus-visible,
.aq-chatbot-back:focus-visible{
  outline:3px solid rgba(19,218,191,.42);
  outline-offset:2px;
}
.aq-chatbot-input-area{display:grid;gap:.45rem}
.aq-chatbot-field{display:grid;gap:.35rem;color:#243252;font:800 .76rem/1.2 var(--font-body)}
.aq-chatbot-field input,
.aq-chatbot-field textarea{
  width:100%;
  border:1px solid rgba(0,8,80,.16);
  border-radius:12px;
  padding:.72rem .78rem;
  color:#000850;
  background:#fff;
  font:600 .86rem/1.38 var(--font-body);
  letter-spacing:0;
  resize:vertical;
  min-height:44px;
}
.aq-chatbot-field textarea{min-height:92px}
.aq-chatbot-field input:focus,
.aq-chatbot-field textarea:focus{outline:3px solid rgba(19,218,191,.24);border-color:#13DABF}
.aq-chatbot-consent{
  display:flex;
  gap:.55rem;
  align-items:flex-start;
  color:#354263;
  font:600 .76rem/1.35 var(--font-body);
}
.aq-chatbot-consent input{margin-top:.18rem;accent-color:#00379B}
.aq-chatbot-consent a{color:#00379B;font-weight:900;text-decoration:underline;text-underline-offset:2px}
.aq-chatbot-error{
  min-height:18px;
  color:#a3381f;
  font:800 .74rem/1.3 var(--font-body);
}
.aq-chatbot-actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:.6rem;
  flex-wrap:wrap;
}
.aq-chatbot-back,
.aq-chatbot-clear,
.aq-chatbot-next{
  min-height:42px;
  border-radius:999px;
  cursor:pointer;
  font:900 .8rem/1 var(--font-body);
  white-space:nowrap;
}
.aq-chatbot-back{
  border:1px solid rgba(0,8,80,.12);
  background:#fff;
  color:#506080;
  padding:0 .85rem;
}
.aq-chatbot-clear{
  border:1px solid rgba(0,55,155,.18);
  background:#eef5ff;
  color:#00379B;
  padding:0 .9rem;
}
.aq-chatbot-next{
  border:0;
  background:#00379B;
  color:#fff;
  padding:0 1.05rem;
  margin-left:auto;
  box-shadow:0 10px 22px rgba(0,55,155,.22);
}
.aq-chatbot-next[disabled],
.aq-chatbot-back[disabled],
.aq-chatbot-clear[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
.aq-chatbot-link,
.aq-chatbot-download{
  display:block;
  text-decoration:none;
  text-align:center;
  background:#000850;
  color:#fff;
  border-color:#000850;
}
.aq-chatbot-download{background:#fff;color:#00379B;border-color:rgba(0,55,155,.22)}
.aq-chatbot-footnote{
  color:#506080;
  font:600 .72rem/1.35 var(--font-body);
  padding:0 .1rem;
}
body.aq-chatbot-open{
  position:fixed;
  left:0;
  right:0;
  width:100%;
  overflow:hidden!important;
  touch-action:none;
}
body .whatsapp-float{
  left:max(22px,env(safe-area-inset-left))!important;
  right:auto!important;
}
body .whatsapp-float img{
  width:auto!important;
  height:100%!important;
  aspect-ratio:1/1;
  object-fit:contain;
}
@keyframes aqiFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@media (max-width:1120px){
  .aq-chatbot-sidekick{display:none}
}
@media (max-width:920px){
  .aq-chatbot{
    right:max(18px,env(safe-area-inset-right));
    bottom:max(18px,env(safe-area-inset-bottom));
  }
  .aq-chatbot-panel{
    width:min(390px,calc(100vw - 28px));
    bottom:76px;
  }
  .aq-chatbot-hover-card{width:230px}
  .aq-chatbot-hover-card img{height:132px;max-width:146px}
}
@media (max-height:760px) and (min-width:721px){
  .aq-chatbot-panel{
    max-height:calc(100svh - 96px);
    max-height:calc(100dvh - 96px);
    bottom:72px;
  }
  .aq-chatbot-sidekick{
    width:230px;
    right:392px;
  }
  .aq-chatbot-messages{min-height:120px}
  .aq-chatbot-form{max-height:min(310px,43dvh)}
  .aq-chatbot-options{max-height:145px}
}
@media (hover:none){
  .aq-chatbot:not(.is-nudging) .aq-chatbot-hover-card{display:none}
}
@media (max-width:720px){
  .aq-chatbot{
    --aq-mobile-panel-bottom:max(12px,env(safe-area-inset-bottom));
    --aq-mobile-panel-height:clamp(360px,55dvh,440px);
    right:max(12px,env(safe-area-inset-right));
    bottom:var(--aq-mobile-panel-bottom);
    left:max(12px,env(safe-area-inset-left));
    display:flex;
    justify-content:flex-end;
  }
  .aq-chatbot.is-open .aq-chatbot-toggle{
    opacity:0;
    pointer-events:none;
    transform:translateY(8px);
  }
  .aq-chatbot-toggle{min-height:58px;padding:.62rem .95rem}
  .aq-chatbot-hover-card{display:none}
  .aq-chatbot.is-nudging .aq-chatbot-hover-card{
    left:auto;
    right:0;
    bottom:68px;
    width:min(228px,calc(100vw - 24px));
    display:grid;
    transform:translateY(12px) scale(.96);
  }
  .aq-chatbot.is-nudging:not(.is-open) .aq-chatbot-hover-card{
    transform:translateY(0) scale(1);
  }
  .aq-chatbot-hover-card img{height:92px;max-width:104px}
  .aq-chatbot-hover-bubble{
    max-width:206px;
    padding:.62rem .72rem;
    font-size:.76rem;
  }
  .aq-chatbot-panel{
    position:fixed;
    top:auto;
    left:50%;
    right:auto;
    bottom:var(--aq-mobile-panel-bottom);
    width:min(410px,calc(100vw - 20px));
    height:var(--aq-mobile-panel-height);
    max-height:calc(100svh - 24px);
    max-height:calc(100dvh - 24px);
    border-radius:18px;
    transform:translate(-50%,18px) scale(.98);
  }
  .aq-chatbot.is-open .aq-chatbot-panel{
    transform:translate(-50%,0) scale(1);
  }
  .aq-chatbot-mobile-orbit{
    position:fixed;
    left:50%;
    bottom:calc(var(--aq-mobile-panel-bottom) + var(--aq-mobile-panel-height) + 8px);
    z-index:4;
    width:min(370px,calc(100vw - 30px));
    height:170px;
    display:block;
    opacity:0;
    transform:translate(-50%,10px) scale(.96);
    pointer-events:none;
    transition:opacity .22s ease,transform .24s var(--ease-smooth);
  }
  .aq-chatbot.is-open .aq-chatbot-mobile-orbit{
    opacity:1;
    transform:translate(-50%,0) scale(1);
  }
  .aq-chatbot-mobile-orbit img{
    position:absolute;
    right:34px;
    bottom:0;
    width:auto;
    height:132px;
    max-width:152px;
    object-fit:contain;
    object-position:center bottom;
    filter:drop-shadow(0 18px 22px rgba(0,8,80,.34));
    animation:aqiFloat 3.8s ease-in-out infinite;
  }
  .aq-chatbot-mobile-orbit span{
    position:absolute;
    left:104px;
    top:44px;
    width:118px;
    max-width:118px;
    margin:0;
    padding:.48rem .56rem;
    border-radius:15px;
    background:#fff;
    color:#000850;
    border:1px solid rgba(0,8,80,.12);
    box-shadow:0 14px 30px rgba(0,8,80,.18);
    font:900 .64rem/1.16 var(--font-body);
  }
  .aq-chatbot-mobile-orbit span:before{
    content:"";
    position:absolute;
    left:auto;
    right:-7px;
    bottom:15px;
    width:14px;
    height:14px;
    background:#fff;
    border-right:1px solid rgba(0,8,80,.12);
    border-bottom:1px solid rgba(0,8,80,.12);
    transform:rotate(-45deg);
  }
  .aq-chatbot-toggle-text strong{max-width:170px;white-space:normal}
  .aq-chatbot-header{
    min-height:58px;
    padding:.62rem .82rem;
  }
  .aq-chatbot-title strong{font-size:1rem}
  .aq-chatbot-title span{font-size:.68rem;line-height:1.2}
  .aq-chatbot-close{width:34px;height:34px}
  .aq-chatbot-messages{
    flex:0 0 auto;
    min-height:0;
    max-height:108px;
    padding:.58rem .68rem;
    gap:.5rem;
    scrollbar-gutter:auto;
  }
  .aq-chatbot-form{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow:hidden;
    padding:.58rem .68rem .66rem;
    display:flex;
    flex-direction:column;
    gap:.52rem;
  }
  .aq-chatbot-options{
    flex:0 0 134px;
    height:134px;
    min-height:134px;
    max-height:134px;
    gap:.42rem;
  }
  .aq-chatbot-input-area{flex:0 0 auto}
  .aq-chatbot-error{min-height:0}
  .aq-chatbot-actions{flex:0 0 auto}
  .aq-chatbot-footnote{display:none}
  body .whatsapp-float{
    left:max(12px,env(safe-area-inset-left))!important;
    right:auto!important;
    bottom:max(12px,env(safe-area-inset-bottom))!important;
  }
  body.aq-chatbot-open .whatsapp-float{
    opacity:0!important;
    pointer-events:none!important;
  }
}
@media (max-width:480px){
  .aq-chatbot{
    --aq-mobile-panel-bottom:max(8px,env(safe-area-inset-bottom));
    --aq-mobile-panel-height:clamp(360px,56dvh,430px);
  }
  .aq-chatbot-panel{
    top:auto;
    left:50%;
    right:auto;
    bottom:var(--aq-mobile-panel-bottom);
    width:min(390px,calc(100vw - 16px));
    max-height:calc(100svh - 18px);
    max-height:calc(100dvh - 18px);
    border-radius:16px;
  }
  .aq-chatbot-mobile-orbit{
    bottom:calc(var(--aq-mobile-panel-bottom) + var(--aq-mobile-panel-height) + 8px);
    width:min(360px,calc(100vw - 24px));
    height:164px;
  }
  .aq-chatbot-mobile-orbit img{right:38px;height:126px;max-width:146px}
  .aq-chatbot-mobile-orbit span{
    left:104px;
    top:43px;
    width:116px;
    max-width:116px;
    padding:.46rem .54rem;
    font-size:.63rem;
  }
  .aq-chatbot-toggle{
    min-height:54px;
    padding:.56rem .82rem;
  }
  .aq-chatbot-toggle-text small{font-size:.62rem}
  .aq-chatbot-toggle-text strong{font-size:.9rem;max-width:150px}
  .aq-chatbot-header{
    padding:.58rem .76rem;
    gap:.6rem;
  }
  .aq-chatbot-title strong{font-size:.98rem}
  .aq-chatbot-title span{font-size:.66rem}
  .aq-chatbot-close{
    width:32px;
    height:32px;
    flex:0 0 auto;
  }
  .aq-chatbot-message{
    max-width:100%;
    padding:.6rem .68rem;
    font-size:.78rem;
    line-height:1.34;
  }
  .aq-chatbot-option,
  .aq-chatbot-link,
  .aq-chatbot-download{
    min-height:40px;
    padding:.6rem .68rem;
    font-size:.76rem;
  }
  .aq-chatbot-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.5rem;
  }
  .aq-chatbot-back,
  .aq-chatbot-clear,
  .aq-chatbot-next{
    width:100%;
    min-height:38px;
    padding:0 .68rem;
    font-size:.74rem;
  }
  .aq-chatbot-next{margin-left:0}
  .aq-chatbot-next[hidden],
  .aq-chatbot-clear[hidden]{display:none}
  .aq-chatbot-footnote{font-size:.69rem}
}
@media (max-width:360px){
  .aq-chatbot{
    --aq-mobile-panel-bottom:max(6px,env(safe-area-inset-bottom));
    --aq-mobile-panel-height:clamp(350px,58dvh,420px);
  }
  .aq-chatbot-toggle-text strong{max-width:132px;font-size:.84rem}
  .aq-chatbot-panel{
    width:calc(100vw - 12px);
    max-height:calc(100svh - 12px);
    max-height:calc(100dvh - 12px);
  }
  .aq-chatbot-mobile-orbit{width:calc(100vw - 20px);height:150px}
  .aq-chatbot-mobile-orbit img{right:22px;height:112px;max-width:132px}
  .aq-chatbot-mobile-orbit span{left:84px;top:38px;width:110px;max-width:110px;font-size:.6rem}
  .aq-chatbot-header{padding:.68rem}
  .aq-chatbot-title span{max-width:190px}
  .aq-chatbot-form{gap:.55rem}
}
@media (max-height:620px) and (max-width:720px){
  .aq-chatbot{
    --aq-mobile-panel-bottom:max(6px,env(safe-area-inset-bottom));
    --aq-mobile-panel-height:clamp(340px,calc(100dvh - 142px),410px);
  }
  .aq-chatbot-panel{
    width:calc(100vw - 12px);
    max-height:calc(100svh - 12px);
    max-height:calc(100dvh - 12px);
  }
  .aq-chatbot-mobile-orbit{
    bottom:calc(var(--aq-mobile-panel-bottom) + var(--aq-mobile-panel-height) + 6px);
    height:146px;
  }
  .aq-chatbot-mobile-orbit img{right:34px;height:108px;max-width:128px}
  .aq-chatbot-mobile-orbit span{
    left:98px;
    top:35px;
    width:112px;
    max-width:112px;
    padding:.44rem .52rem;
    font-size:.6rem;
  }
  .aq-chatbot-header{min-height:52px;padding:.5rem .7rem}
  .aq-chatbot-messages{
    min-height:0;
    max-height:82px;
    padding:.48rem .62rem;
  }
  .aq-chatbot-form{
    max-height:none;
    padding:.5rem .62rem .58rem;
  }
  .aq-chatbot-options{
    flex:0 0 134px;
    height:134px;
    min-height:134px;
    max-height:134px;
  }
  .aq-chatbot-footnote{display:none}
}
/* AQ_LEAD_CHATBOT_STYLES_END */

.skip-link{
  position:fixed;
  top:12px;
  left:12px;
  z-index:2147483647;
  padding:.72rem 1rem;
  border-radius:8px;
  background:#fff;
  color:#061545;
  font-weight:850;
  text-decoration:none;
  transform:translateY(-160%);
  transition:transform .2s ease;
}
.skip-link:focus{transform:translateY(0)}
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.form>label:not(.form-consent){
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.form-consent{
  display:grid;
  grid-template-columns:20px 1fr;
  gap:.7rem;
  align-items:start;
  color:rgba(255,255,255,.82);
  font-size:.78rem;
  line-height:1.5;
}
.form-consent input{width:18px;height:18px;margin:.1rem 0 0;padding:0;accent-color:#13dabf;transform:none!important}
.form-consent a{color:#13dabf;font-weight:800}
.form-status{min-height:1.35rem;margin:0;color:rgba(255,255,255,.78);font-size:.79rem;font-weight:700;line-height:1.45}
.form-status.is-success{color:#5ff2ce}
.form-status.is-error{color:#ffb9b9}
.form button[disabled]{cursor:wait;opacity:.7}
:where(a,button,input,textarea,select,[tabindex]):focus-visible{
  outline:3px solid rgba(19,218,191,.62);
  outline-offset:3px;
}
