html{scroll-behavior:auto}
body.iv-body{margin:0;background:#F7F6F3;color:#15151A;font-family:'Ubuntu',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip;-webkit-tap-highlight-color:transparent}
* {-webkit-tap-highlight-color:transparent}
a,button,[data-goto],[data-svc-toggle],[data-faq-toggle]{touch-action:manipulation}
.iv-body ::selection{background:#CC0601;color:#FFFFFF}
.iv-body::-webkit-scrollbar{width:10px}
.iv-body::-webkit-scrollbar-track{background:#F7F6F3}
.iv-body::-webkit-scrollbar-thumb{background:#D8D6CF;border-radius:8px}
.iv-body input,.iv-body textarea,.iv-body button{outline:none}
.iv-body a:focus-visible,.iv-body button:focus-visible,.iv-body input:focus-visible,.iv-body textarea:focus-visible{outline:2px solid #CC0601 !important;outline-offset:3px}
a[data-goto]{text-decoration:none}
:root{--iv-display:'Ubuntu Sans','Ubuntu',sans-serif;--iv-h1w:800;--iv-h1ls:-0.035em}

@keyframes iv-marquee{to{transform:translateX(-50%)}}
@keyframes iv-spin{to{transform:rotate(360deg)}}
@keyframes iv-cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@keyframes iv-fadeup{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes iv-load{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes iv-pulse{0%,100%{opacity:.35}50%{opacity:1}}

@media (prefers-reduced-motion: reduce){.iv-body *{animation:none !important;transition:none !important}}
@media (pointer:fine){.iv-body{cursor:none}}

/* image placeholder slots */
.imgslot{
  background:repeating-linear-gradient(135deg,#E5E1D8,#E5E1D8 10px,#EEEBE5 10px,#EEEBE5 20px);
  display:flex;align-items:center;justify-content:center;text-align:center;
  color:#8A857C;font-family:'Ubuntu',sans-serif;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;font-weight:500;padding:14px;
}
.imgslot.imgslot-dark{
  background:repeating-linear-gradient(135deg,#1B1B1F,#1B1B1F 10px,#222227 10px,#222227 20px);
  color:#6E6E74;
}

/* buttons / links hover states */
.iv-btn-solid{transition:background .3s,color .3s}
.iv-btn-solid:hover{background:#CC0601 !important;color:#FFFFFF !important}
.iv-nav-link:hover{color:#CC0601 !important}
.iv-nav-cta:hover{background:#CC0601 !important;color:#FFFFFF !important;border-color:#CC0601 !important}
.iv-link-ghost-dark:hover{color:#CC0601 !important}
.iv-brand-name:hover{color:#15151A !important}
.iv-brand-logo{transition:transform .3s ease}
.iv-brand-logo:hover{transform:translateY(-3px)}
.iv-brand-logo img{filter:grayscale(1);opacity:.5;transition:filter .45s ease,opacity .45s ease}
.iv-brand-logo:hover img{filter:grayscale(0);opacity:1}
.iv-brand-logo-text span{color:#B0AEA5;font-weight:300;transition:color .45s ease}
.iv-brand-logo-text:hover span{color:#15151A;font-weight:500}
@media (prefers-reduced-motion:reduce){.iv-brand-logo img,.iv-brand-logo-text span{transition:none}}

.iv-seal-spin{animation:iv-seal-spin 17s linear infinite}
@keyframes iv-seal-spin{to{transform:rotate(360deg)}}
[data-device-in]{animation:iv-device-in 1s cubic-bezier(.22,1,.36,1) both}
@keyframes iv-device-in{from{opacity:0;transform:translateY(34px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
.iv-float-device{animation:iv-float 5s ease-in-out infinite}
@keyframes iv-float{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-16px) rotate(.7deg)}}
.iv-float-chip{animation:iv-float-chip 4.2s ease-in-out infinite;animation-delay:.6s}
@keyframes iv-float-chip{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.iv-float-stat{animation:iv-float-chip 4.6s ease-in-out infinite}
.iv-float-caps{animation:iv-float-chip 5.4s ease-in-out infinite;animation-delay:.9s}
.iv-float-phone{animation:iv-float-chip 5s ease-in-out infinite;animation-delay:.3s}
.iv-brand-dot{animation:iv-pulse 1.6s ease-in-out infinite;transform-origin:center}
.iv-type-cursor{margin-left:1px;animation:iv-caret .8s steps(1) infinite}
@keyframes iv-caret{0%,49%{opacity:1}50%,100%{opacity:0}}
.iv-hero-wrap{min-height:100svh;box-sizing:border-box}
@media (min-width:901px){
  .iv-hero-wrap{height:100svh}
  .iv-hero-row{min-height:0}
  .iv-float-chip{bottom:8% !important;left:26% !important;z-index:3 !important}
  .iv-float-phone{right:26% !important;bottom:-18% !important}
  .iv-float-device{margin-top:90px !important}
  .iv-seal{left:-10px !important}
}
@media (max-width:900px){
  .iv-seal{bottom:55px !important}
  .iv-float-chip{bottom:-35px !important}
}
.iv-link-red-hover:hover{color:#CC0601 !important}
.iv-footer-link{background-image:linear-gradient(#F4F3F1,#F4F3F1);background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;padding-bottom:2px;transition:background-size .3s ease,color .3s}
.iv-footer-link:hover{color:#F4F3F1 !important;background-size:100% 1px}
.iv-footer-marquee{transition:opacity .3s}
.iv-footer-marquee:hover{opacity:.85}
.iv-footer-marquee:hover .iv-marquee-track{animation-play-state:paused}
.iv-newsletter-input{transition:border-color .3s}
.iv-newsletter-input:focus{border-bottom-color:#CC0601 !important}
.iv-newsletter-btn:hover{background:#CC0601 !important;border-color:#CC0601 !important;color:#FFFFFF !important;transform:translateX(2px)}
.iv-card-lift{transition:transform .3s}
.iv-card-lift:hover{transform:translateY(-4px)}
.iv-service-card{transition:transform .35s,box-shadow .35s}
.iv-service-card:hover{transform:translateY(-5px);box-shadow:0 28px 54px -24px rgba(21,21,26,.24)}
.iv-service-card:hover .iv-arrow{color:#CC0601 !important;transform:translateX(5px)}
.iv-svc-row{border-bottom:1px solid rgba(21,21,26,.09);transition:background .3s}
.iv-svc-row:hover{background:rgba(21,21,26,.025)}
.iv-svc-head{display:grid;grid-template-columns:34px 26px 1fr 24px;align-items:center;gap:14px;width:100%;background:none;border:none;padding:22px 8px;cursor:pointer;text-align:left}
.iv-svc-num{font-family:'Ubuntu',sans-serif;font-weight:700;font-size:12px;color:#9A9A9F;transition:color .3s}
.iv-svc-row:hover .iv-svc-num,.iv-svc-row.is-open .iv-svc-num{color:#CC0601}
.iv-svc-ico{display:flex;width:22px;height:22px;flex:none;color:#15151A;opacity:.55;transition:opacity .3s}
.iv-svc-row:hover .iv-svc-ico,.iv-svc-row.is-open .iv-svc-ico{opacity:1}
.iv-svc-title{margin:0;font-family:var(--iv-display,'Ubuntu'),sans-serif;font-size:clamp(1.3rem,2.4vw,2rem);font-weight:700;letter-spacing:-0.02em;line-height:1.12;color:#2A2A2E;transition:color .3s,transform .4s cubic-bezier(.22,1,.36,1)}
.iv-svc-row:hover .iv-svc-title,.iv-svc-row.is-open .iv-svc-title{color:#15151A;transform:translateX(6px)}
.iv-svc-desc{display:none;font-size:13.5px;line-height:1.6;color:#6E6E74;font-weight:300;max-width:44ch}
.iv-svc-tags{display:none;font-family:'Ubuntu',sans-serif;font-weight:500;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#9A9A9F;white-space:nowrap}
.iv-svc-plus{display:inline-flex;width:26px;height:26px;border:1px solid rgba(21,21,26,.16);border-radius:50%;align-items:center;justify-content:center;font-size:15px;font-weight:300;color:#CC0601;transition:transform .35s cubic-bezier(.22,1,.36,1),background .3s,border-color .3s}
.iv-svc-row:hover .iv-svc-plus{border-color:#CC0601}
.iv-svc-detail-grid{display:grid;grid-template-columns:1fr;gap:22px;padding:2px 8px 30px 8px}
@media (min-width:900px){
  .iv-svc-head{grid-template-columns:56px 26px minmax(260px,.85fr) 1.15fr auto 28px;gap:20px;padding:28px 12px}
  .iv-svc-desc{display:block}
  .iv-svc-tags{display:block}
  .iv-svc-detail-grid{grid-template-columns:1.1fr .9fr;gap:48px;padding:4px 12px 34px calc(56px + 26px + 40px + 12px)}
}
.iv-arrow{transition:color .3s,transform .3s;display:inline-block}
.iv-case-link{transition:color .3s,gap .3s}
.iv-case-link:hover{color:#CC0601 !important;gap:18px !important}
.iv-social-dot{transition:background .3s}
.iv-social-dot:hover{background:#CC0601 !important}
.iv-backtotop{transition:border-color .3s,background .3s,color .3s}
.iv-backtotop:hover{border-color:#CC0601 !important;background:#CC0601 !important;color:#FFFFFF !important}
.iv-input{transition:border-color .3s}
.iv-input:focus{border-bottom:1px solid #CC0601 !important}
.iv-submit-btn{transition:background .3s,color .3s}
.iv-submit-btn:hover{background:#CC0601 !important;color:#FFFFFF !important}
.iv-link-dark-hover:hover{color:#15151A !important}

a,button{cursor:pointer}

/* custom animated icon system */
.iv-icon{display:block;color:#15151A;line-height:0}
.iv-icon svg{width:100%;height:100%;display:block;overflow:visible}

.iv-icon-website .iv-icon-lines line{stroke-dasharray:26;animation:iv-icon-typeline 3.6s ease-in-out infinite}
.iv-icon-website .iv-icon-lines line:nth-child(2){animation-delay:.25s}
.iv-icon-website .iv-icon-lines line:nth-child(3){animation-delay:.5s}
@keyframes iv-icon-typeline{0%,100%{stroke-dashoffset:26}35%,65%{stroke-dashoffset:0}}

.iv-icon-landing .iv-icon-ring{transform-origin:22px 22px;animation:iv-icon-ping 2.4s ease-out infinite}
@keyframes iv-icon-ping{0%{transform:scale(.72);opacity:0}30%{opacity:1}100%{transform:scale(1.08);opacity:0}}

.iv-icon-system .iv-icon-lines line{animation:iv-icon-flow 2.4s ease-in-out infinite}
.iv-icon-system .iv-icon-lines line:nth-child(2){animation-delay:.25s}
.iv-icon-system .iv-icon-lines line:nth-child(3){animation-delay:.5s}
@keyframes iv-icon-flow{0%,100%{opacity:.28}50%{opacity:1}}

.iv-icon-dashboard .bar{transform-box:fill-box;transform-origin:bottom;animation:iv-icon-bar 2.6s ease-in-out infinite}
.iv-icon-dashboard .bar:nth-child(2){animation-delay:.18s}
.iv-icon-dashboard .bar:nth-child(3){animation-delay:.36s}
@keyframes iv-icon-bar{0%,100%{transform:scaleY(.6)}50%{transform:scaleY(1)}}

.iv-icon-saas .layer{transform-box:fill-box;transform-origin:center;animation:iv-icon-breathe 2.8s ease-in-out infinite}
.iv-icon-saas .l2{animation-delay:.12s}
.iv-icon-saas .l3{animation-delay:.24s}
@keyframes iv-icon-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.5px)}}

.iv-icon-branding .iv-icon-spark{transform-box:fill-box;transform-origin:center;animation:iv-icon-spin-soft 5s ease-in-out infinite}
@keyframes iv-icon-spin-soft{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(20deg) scale(1.08)}}

.iv-icon-strategy .iv-icon-needle{transform-box:fill-box;transform-origin:center;animation:iv-icon-needle 3.2s ease-in-out infinite}
@keyframes iv-icon-needle{0%,100%{transform:rotate(-18deg)}50%{transform:rotate(18deg)}}

.iv-icon-architecture .layer{transform-box:fill-box;transform-origin:center;animation:iv-icon-breathe 2.8s ease-in-out infinite}
.iv-icon-architecture .l2{animation-delay:.12s}
.iv-icon-architecture .l1{animation-delay:.24s}

.iv-icon-performance .iv-icon-bolt{transform-box:fill-box;transform-origin:center;animation:iv-icon-flash 2.2s ease-in-out infinite}
@keyframes iv-icon-flash{0%,100%{opacity:1}50%{opacity:.35}}

.iv-icon-scale .iv-icon-expand path{animation:iv-icon-expand 2.4s ease-in-out infinite}
.iv-icon-scale .iv-icon-expand path:nth-child(2){animation-delay:.1s}
.iv-icon-scale .iv-icon-expand path:nth-child(3){animation-delay:.05s}
.iv-icon-scale .iv-icon-expand path:nth-child(4){animation-delay:.15s}
@keyframes iv-icon-expand{0%,100%{transform:translate(0,0)}50%{transform:translate(calc(var(--ex,1) * 1.5px),calc(var(--ey,1) * 1.5px))}}

.iv-icon-security .iv-icon-check{stroke-dasharray:20;animation:iv-icon-drawcheck 3s ease-in-out infinite}
@keyframes iv-icon-drawcheck{0%,20%{stroke-dashoffset:20}55%,100%{stroke-dashoffset:0}}

.iv-icon-growth .iv-icon-path{stroke-dasharray:44;animation:iv-icon-drawline 3s ease-in-out infinite}
@keyframes iv-icon-drawline{0%,15%{stroke-dashoffset:44}70%,100%{stroke-dashoffset:0}}

.iv-icon-client .iv-icon-dot{transform-box:fill-box;transform-origin:center;animation:iv-icon-ping 2.2s ease-out infinite}
.iv-icon-api .iv-icon-pulse{stroke-dasharray:26;animation:iv-icon-drawline 2.6s ease-in-out infinite}
.iv-icon-database .iv-icon-stack path,.iv-icon-database .iv-icon-stack ellipse{transform-box:fill-box;transform-origin:center;animation:iv-icon-breathe 2.8s ease-in-out infinite}
.iv-icon-database .iv-icon-stack path:last-child{animation-delay:.15s}
.iv-icon-cloud .iv-icon-drift{transform-box:fill-box;transform-origin:center;animation:iv-icon-drift 4s ease-in-out infinite}
@keyframes iv-icon-drift{0%,100%{transform:translateX(-2px)}50%{transform:translateX(2px)}}

@media (prefers-reduced-motion:reduce){.iv-icon *{animation:none !important}}

/* tecnologias flow diagram */
.iv-flow-pulse{position:absolute;top:50%;left:0;width:9px;height:9px;border-radius:50%;background:#CC0601;box-shadow:0 0 14px 3px rgba(204,6,1,.55);transform:translate(-50%,-50%);animation:iv-flow-travel-x 4.2s linear infinite}
@keyframes iv-flow-travel-x{0%{left:0%;opacity:0}6%{opacity:1}94%{opacity:1}100%{left:100%;opacity:0}}
.iv-flow-step{transition:transform .3s ease}
.iv-flow-step:hover{transform:translateY(-3px)}
.iv-flow-icon-box{transition:transform .4s cubic-bezier(.22,1,.36,1),border-color .4s,box-shadow .4s}
.iv-flow-step:hover .iv-flow-icon-box{transform:scale(1.08);border-color:rgba(204,6,1,.55) !important;box-shadow:0 16px 32px -16px rgba(204,6,1,.45)}

@media (max-width:760px){
  .iv-flow-label{font-size:9px !important;letter-spacing:.12em !important;line-height:1.5}
  .iv-flow-box{padding-top:76px !important}
  .iv-flow-row{flex-direction:column;align-items:stretch !important;gap:36px !important}
  .iv-flow-line{left:32px !important;right:auto !important;top:32px !important;bottom:32px !important;width:2px !important;height:auto !important}
  .iv-flow-pulse{top:0;left:50%;animation-name:iv-flow-travel-y}
  @keyframes iv-flow-travel-y{0%{top:0%;opacity:0}6%{opacity:1}94%{opacity:1}100%{top:100%;opacity:0}}
  .iv-flow-step{flex-direction:row !important;text-align:left;gap:18px !important;padding:0 !important}
  .iv-flow-step > div:first-child{margin-left:0}
  .iv-flow-step div[style*="text-align:center"]{text-align:left !important}
  .iv-flow-step p{max-width:none !important}
}

@media (prefers-reduced-motion:reduce){.iv-flow-pulse{display:none}}

/* mobile navigation */
#iv-nav{z-index:1001 !important}
.iv-burger-box{position:relative;width:22px;height:16px;display:block}
.iv-burger-line{position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:#F4F3F1;transition:transform .35s cubic-bezier(.65,0,.35,1),opacity .25s,background .3s}
.iv-burger-line.l1{top:0}
.iv-burger-line.l2{top:7px}
.iv-burger-line.l3{top:14px}
#iv-burger.is-open .iv-burger-line.l1{transform:translateY(7px) rotate(45deg)}
#iv-burger.is-open .iv-burger-line.l2{opacity:0}
#iv-burger.is-open .iv-burger-line.l3{transform:translateY(-7px) rotate(-45deg)}

#iv-mobile-menu{position:fixed;inset:0;z-index:1000;background:#111113;display:flex;align-items:stretch;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s ease}
#iv-mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto}
.iv-mmenu-inner{display:flex;flex-direction:column;justify-content:space-between;width:100%;padding:112px clamp(24px,8vw,64px) 40px;overflow-y:auto}
.iv-mmenu-links{display:flex;flex-direction:column}
.iv-mmenu-link{display:flex;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);font-family:var(--iv-display,'Ubuntu'),sans-serif;font-weight:700;font-size:clamp(26px,7.5vw,36px);color:#F4F3F1;text-decoration:none;letter-spacing:-0.02em;opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease,color .3s}
#iv-mobile-menu.is-open .iv-mmenu-link{opacity:1;transform:translateY(0)}
.iv-mmenu-link:active{color:#CC0601}
.iv-mmenu-num{font-size:12px;font-weight:500;color:#CC0601;font-family:'Ubuntu',sans-serif;flex:none}
.iv-mmenu-link:nth-child(1){transition-delay:.06s}
.iv-mmenu-link:nth-child(2){transition-delay:.11s}
.iv-mmenu-link:nth-child(3){transition-delay:.16s}
.iv-mmenu-link:nth-child(4){transition-delay:.21s}
.iv-mmenu-link:nth-child(5){transition-delay:.26s}
.iv-mmenu-link:nth-child(6){transition-delay:.31s}
.iv-mmenu-link:nth-child(7){transition-delay:.36s}
.iv-mmenu-footer{display:flex;flex-direction:column;gap:22px;padding-top:28px}
.iv-mmenu-cta{display:flex;align-items:center;justify-content:center;gap:10px;background:#F4F3F1;color:#111113;border-radius:999px;padding:18px;font-family:'Ubuntu',sans-serif;font-weight:500;font-size:15px;text-decoration:none;transition:background .3s,color .3s}
.iv-mmenu-cta:active{background:#CC0601;color:#F4F3F1}
.iv-nav-whatsapp{transition:background .3s,color .3s,transform .3s,box-shadow .3s}
.iv-nav-whatsapp:hover{background:#25D366 !important;color:#FFFFFF !important;transform:scale(1.1);box-shadow:0 0 0 6px rgba(37,211,102,.18)}
.iv-mmenu-cta-whatsapp{display:flex;align-items:center;justify-content:center;gap:10px;background:transparent;color:#25D366;border:1.5px solid #25D366;border-radius:999px;padding:16.5px;font-family:'Ubuntu',sans-serif;font-weight:500;font-size:15px;text-decoration:none;transition:background .3s,color .3s,transform .3s,box-shadow .3s}
.iv-mmenu-cta-whatsapp:hover,.iv-mmenu-cta-whatsapp:active{background:#25D366;color:#FFFFFF;transform:scale(1.03);box-shadow:0 0 0 6px rgba(37,211,102,.18)}
.iv-mmenu-contact{display:flex;flex-direction:column;gap:10px;text-align:center}
.iv-mmenu-contact a{color:#8A8A90;font-size:13px;text-decoration:none;font-family:'Ubuntu',sans-serif}
body.iv-noscroll{overflow:hidden;height:100%}

@media (max-width:900px){
  .iv-nav-desktop{display:none !important}
  #iv-burger{display:flex !important}
}
@media (max-width:760px){
  [data-depthwrap]{padding-top:calc(112px + env(safe-area-inset-top)) !important}
  .iv-sticky-col{position:static !important;top:auto !important;max-width:none !important}
}
@media (max-width:480px){
  .iv-kpis{display:grid !important;grid-template-columns:repeat(3,1fr) !important;column-gap:10px !important}
  .iv-kpi-label{line-height:1.4}
}
@media (max-width:1100px){
  .iv-footer-cols{grid-template-columns:repeat(3,1fr) !important}
}
@media (max-width:640px){
  .iv-footer-cols{grid-template-columns:repeat(2,1fr) !important}
}
@media (max-width:420px){
  .iv-footer-cols{grid-template-columns:1fr !important}
}
#iv-nav{padding-top:calc(18px + env(safe-area-inset-top)) !important;padding-left:calc(clamp(24px,5vw,84px) + env(safe-area-inset-left)) !important;padding-right:calc(clamp(24px,5vw,84px) + env(safe-area-inset-right)) !important}
.iv-mmenu-inner{padding-top:calc(112px + env(safe-area-inset-top)) !important;padding-bottom:calc(40px + env(safe-area-inset-bottom)) !important}
#iv-burger{margin-right:calc(-1 * env(safe-area-inset-right))}
@media (prefers-reduced-motion:reduce){
  .iv-mmenu-link{transition:opacity .3s ease !important;transform:none !important;transition-delay:0s !important}
}
