@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/montserrat-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/montserrat-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/montserrat-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/montserrat-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/montserrat-latin-800-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-latin-600-normal.woff2') format('woff2')}

body{margin:0;background:#041F2B}
*{box-sizing:border-box}
a{color:#0A6F96}a:hover{color:#063F57}
p{margin:0}
h1,h2,h3{margin:0;font-family:Montserrat,Inter,system-ui,sans-serif;font-weight:700;letter-spacing:-0.02em}
.wrap{max-width:1240px;margin:0 auto}
.sec{padding:112px 28px}
.lbl{font-family:Montserrat,sans-serif;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.h2{font-size:clamp(30px,3.4vw,46px);line-height:1.12}
.lead{font-size:18px;line-height:1.6}
.v1 :focus-visible{outline:2px solid #60D8F0;outline-offset:3px;border-radius:6px}
.v1 .on-light :focus-visible{outline-color:#0A6F96}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 26px;border-radius:10px;font-family:Montserrat,sans-serif;font-weight:600;font-size:15px;text-decoration:none;border:none;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}
.btn:hover{transform:translateY(-2px)}
.btn-d{background:#60D8F0;color:#041F2B}.btn-d:hover{color:#041F2B;box-shadow:0 10px 32px rgba(18,176,224,.4)}
.btn-ghost{background:transparent;color:#FFFFFF;border:1px solid #1B4A5E}.btn-ghost:hover{color:#FFFFFF;border-color:#60D8F0}
.btn-dark{background:#052B3B;color:#FFFFFF}.btn-dark:hover{color:#FFFFFF;box-shadow:0 10px 28px rgba(5,43,59,.3)}
.btn-wa{background:#25D366;color:#052B3B}.btn-wa:hover{color:#052B3B}
.nav-link{color:#B7C4CC;text-decoration:none;font-family:Montserrat,sans-serif;font-size:14px;font-weight:500;padding:10px 2px}
.nav-link:hover{color:#FFFFFF}
.menu-btn{display:none;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:10px;border:1px solid #0F3A4E;background:transparent;color:#FFFFFF;font:inherit;font-size:15px;cursor:pointer}
@media (max-width:1120px){.nav-links{display:none!important}.nav-cta{display:none!important}.menu-btn{display:inline-flex}}
.dotgrid{background-image:radial-gradient(rgba(96,216,240,.16) 1px,transparent 1.3px);background-size:28px 28px;-webkit-mask-image:radial-gradient(ellipse at 72% 45%,#000 20%,transparent 72%);mask-image:radial-gradient(ellipse at 72% 45%,#000 20%,transparent 72%)}
.linegrid{background-image:linear-gradient(rgba(96,216,240,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(96,216,240,.07) 1px,transparent 1px);background-size:24px 24px}
.blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.3;animation:blobMove 18s ease-in-out infinite alternate}
@keyframes blobMove{to{transform:translate(60px,-40px) scale(1.15)}}
.fade-in{animation:fadeUp .9s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* hero hologram */
.holo-stage{position:relative;width:100%;max-width:580px;aspect-ratio:580/540;margin:0 auto}
.laptop{position:absolute;left:12%;right:12%;bottom:6%}
.screen{position:relative;aspect-ratio:16/10;border-radius:12px 12px 0 0;background:#08151C;border:1px solid #1B4A5E;padding:8px;box-shadow:0 0 0 1px rgba(96,216,240,.15),0 30px 80px rgba(18,176,224,.25)}
.screen-in{position:relative;width:100%;height:100%;border-radius:6px;overflow:hidden;background:#052B3B}
.shot{position:absolute;inset:0;background-size:cover;background-position:top center;opacity:0;animation:shotFade 16s infinite}
@keyframes shotFade{0%{opacity:0}4%,25%{opacity:1}29%,100%{opacity:0}}
.screen-tint{position:absolute;inset:0;background:linear-gradient(180deg,rgba(96,216,240,.10),rgba(4,31,43,.25)),repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 4px)}
.base{height:14px;margin:0 -7%;border-radius:0 0 14px 14px;background:linear-gradient(180deg,#1B4A5E,#0F3A4E)}
.floor{position:absolute;left:10%;right:10%;bottom:2%;height:30px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(96,216,240,.35),transparent 70%)}
.cone{position:absolute;left:22%;right:22%;top:20%;height:26%;clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);background:linear-gradient(0deg,rgba(96,216,240,.28),rgba(96,216,240,0));animation:flicker 4s steps(1) infinite}
.logo-holo{position:absolute;left:50%;top:3%;width:27%;aspect-ratio:418/343;transform:translateX(-50%);animation:float 7s ease-in-out infinite;filter:drop-shadow(0 0 16px rgba(96,216,240,.5)) drop-shadow(0 0 40px rgba(18,176,224,.3))}
.hv{position:absolute;inset:0;clip-path:polygon(0 0,30.6% 0,64.8% 71.1%,50.2% 100%);background:linear-gradient(120deg,#004878,#12B0E0 35%,#E9FCFF 50%,#60D8F0 65%,#004878);background-size:300% 300%;animation:shift 8s ease-in-out infinite}
.h1p{position:absolute;inset:0;clip-path:polygon(54.3% 21%,73% 0,100% 0,71.8% 57.7%,71.8% 21%);background:linear-gradient(120deg,#007C74,#48D8A8 40%,#E9FCFF 55%,#48D8A8 70%,#007C74);background-size:300% 300%;animation:shift 8s ease-in-out infinite}
.scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.22) 0 1px,transparent 1px 5px);background-size:100% 10px;mix-blend-mode:overlay;animation:scan 1.6s linear infinite}
.gcard{position:absolute;width:36%;padding:14px 16px;border-radius:12px;background:rgba(5,43,59,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#FFFFFF;animation:float 8s ease-in-out infinite}
.gcard p{font-size:12px;color:#B7C4CC;margin-top:4px;line-height:1.4}
.gcard strong{display:flex;align-items:center;gap:8px;font-family:Montserrat,sans-serif;font-size:14px;font-weight:600}
.gc-c{border:1px solid rgba(72,216,168,.5);box-shadow:0 0 24px rgba(31,122,92,.25)}
.gc-d{border:1px solid rgba(96,216,240,.5);box-shadow:0 0 24px rgba(18,176,224,.25)}
.links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.flow{stroke-dasharray:5 7;animation:dash 1.1s linear infinite}
@keyframes dash{to{stroke-dashoffset:-24}}
@keyframes shift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes scan{to{background-position:0 10px}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.logo-holo{animation-name:floatX}
@keyframes floatX{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-8px)}}
@keyframes flicker{0%{opacity:.9}47%{opacity:.7}49%{opacity:.95}93%{opacity:.8}}

/* cards */
.u-card{background:#FFFFFF;border:1px solid #E8EEF2;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}
.u-card:hover{transform:translateY(-6px)}
.u-c:hover{box-shadow:0 0 0 1px rgba(72,216,168,.8),0 22px 50px rgba(31,122,92,.16)}
.u-d:hover{box-shadow:0 0 0 1px rgba(96,216,240,.9),0 22px 50px rgba(18,176,224,.18)}
.u-art{position:relative;background-color:#041F2B;height:180px;display:flex;align-items:center;justify-content:center}
.u-body{padding:28px;display:flex;flex-direction:column;gap:12px;flex:1}
.u-body h3{font-size:24px;color:#052B3B}
.svc{list-style:none;padding:0;margin:6px 0 0}
.svc li{display:flex;gap:10px;align-items:baseline;padding:9px 0;border-top:1px solid #E8EEF2;font-size:15px;color:#1D2A31}
.svc li::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none;transform:translateY(-2px);opacity:.5}
.u-link{margin-top:auto;padding-top:10px;font-family:Montserrat,sans-serif;font-weight:600;font-size:15px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.tab{min-height:46px;padding:10px 20px;border-radius:10px;border:1px solid #B7C4CC;background:#FFFFFF;color:#1D2A31;font-family:Montserrat,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.tab:hover{border-color:#052B3B}
.tab.on{background:#052B3B;border-color:#052B3B;color:#FFFFFF}
.chk{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:12px}
.chk li{display:flex;gap:12px;align-items:flex-start}
.chk svg{flex:none;margin-top:3px}
.tag{display:inline-block;font-family:Montserrat,sans-serif;font-size:11px;font-weight:600;letter-spacing:.04em;padding:3px 9px;border-radius:6px;margin-right:6px}
.tag-c{background:#E6F4EE;color:#1F7A5C}
.tag-d{background:#E3F4FA;color:#0A6F96}

/* map */
.map-svg{width:100%;height:auto;display:block}
.map-outline{fill:none;stroke:rgba(96,216,240,.35);stroke-width:1.2}
.map-dots circle{fill:rgba(96,216,240,.28)}
.arc{fill:none;stroke:rgba(96,216,240,.5);stroke-width:1.2;stroke-dasharray:4 6;animation:dash 1.4s linear infinite;transition:opacity .3s}
.mk circle{fill:#60D8F0;transition:opacity .3s}
.mk-pulse{fill:rgba(96,216,240,.35)!important;transform-box:fill-box;transform-origin:center;animation:pulse 3s ease-out infinite}
.hq-pulse{fill:rgba(255,255,255,.35)!important}
@keyframes pulse{0%{transform:scale(.4);opacity:1}100%{transform:scale(2.2);opacity:0}}
.mk,.arc{transition:opacity .3s}
.map.f-n .mk:not(.r-n),.map.f-n .arc:not(.r-n),.map.f-ne .mk:not(.r-ne),.map.f-ne .arc:not(.r-ne),.map.f-co .mk:not(.r-co),.map.f-co .arc:not(.r-co),.map.f-se .mk:not(.r-se),.map.f-se .arc:not(.r-se),.map.f-s .mk:not(.r-s),.map.f-s .arc:not(.r-s){opacity:.12}
.map-frame{position:relative;border-radius:20px;padding:20px;background:rgba(5,43,59,.5);border:1px solid #0F3A4E}
.map-frame::after{content:"";position:absolute;inset:0;border-radius:20px;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(96,216,240,.04) 0 1px,transparent 1px 4px)}
.reg{display:grid;grid-template-columns:1fr auto;gap:4px 16px;width:100%;text-align:left;padding:16px 18px;border-radius:12px;border:1px solid #0F3A4E;background:transparent;color:#FFFFFF;font:inherit;cursor:pointer;transition:border-color .2s,background .2s}
.reg:hover{border-color:#60D8F0}
.reg.on{border-color:#60D8F0;background:rgba(96,216,240,.08)}
.reg b{font-family:Montserrat,sans-serif;font-size:16px;font-weight:600}
.reg span{font-size:13px;color:#B7C4CC}
.reg em{font-style:normal;font-family:Montserrat,sans-serif;font-weight:700;font-size:20px;color:#60D8F0;grid-row:span 2;align-self:center}

/* portfolio */
.pf{position:relative}
.pf-dev{position:relative;border-radius:12px;background:#08151C;border:1px solid #1B4A5E;padding:8px;transition:transform .35s ease,box-shadow .35s ease;box-shadow:0 20px 50px rgba(4,31,43,.18)}
.pf:hover .pf-dev{transform:translateY(-6px);box-shadow:0 0 0 1px #60D8F0,0 24px 60px rgba(18,176,224,.25)}
.pf-bar{display:flex;gap:6px;padding:2px 4px 8px}
.pf-bar i{width:8px;height:8px;border-radius:50%;background:#1B4A5E}
.pf-img{aspect-ratio:16/9;border-radius:6px;background-size:cover;background-position:top center;position:relative;overflow:hidden}
.pf-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(96,216,240,.08),transparent 40%),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 4px);opacity:0;transition:opacity .35s}
.pf:hover .pf-img::after{opacity:1}
.pf-glow{position:absolute;left:12%;right:12%;bottom:-18px;height:26px;border-radius:50%;background:radial-gradient(ellipse,rgba(96,216,240,.35),transparent 70%);opacity:0;transition:opacity .35s}
.pf:hover .pf-glow{opacity:1}

details summary{cursor:pointer;list-style:none}
details summary::-webkit-details-marker{display:none}
.faq-plus{transition:transform .25s ease;flex:none}
details[open] .faq-plus{transform:rotate(45deg)}
.faq{background:#FFFFFF;border:1px solid #E8EEF2;border-radius:12px;padding:0 26px}
.faq summary{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:Montserrat,sans-serif;font-weight:600;font-size:17px;color:#052B3B}
.faq p{padding-bottom:22px;color:#4A5A64}
.field{width:100%;min-height:50px;padding:12px 14px;border-radius:10px;border:1px solid #1B4A5E;background:#052B3B;color:#FFFFFF;font:inherit;font-size:16px}
.field:focus{border-color:#60D8F0;box-shadow:0 0 0 3px rgba(96,216,240,.2)}
.field::placeholder{color:#8FA6B2}
.flabel{display:flex;flex-direction:column;gap:8px;font-size:14px;color:#B7C4CC}
.foot-link{color:#B7C4CC;text-decoration:none;font-size:15px}
.foot-link:hover{color:#FFFFFF}

@supports (animation-timeline: view()){
.reveal{animation:rv linear both;animation-timeline:view();animation-range:entry 0% entry 38%}
.tl-progress{transform-origin:top;animation:grow linear both;animation-timeline:view();animation-range:entry 10% cover 65%}
.draw path,.draw circle,.draw rect{stroke-dasharray:420;animation:drawIn linear both;animation-timeline:view();animation-range:entry 15% cover 45%}
}
@keyframes rv{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes drawIn{from{stroke-dashoffset:420}to{stroke-dashoffset:0}}
.no-motion *,.no-motion *::before,.no-motion *::after{animation:none!important;transition:none!important}
.no-motion .shot-a{opacity:1}
@media (prefers-reduced-motion: reduce){
*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
.scan,.blob{display:none}.shot-a{opacity:1}
.reveal{opacity:1!important;transform:none!important}
}
.sys-stage{position:relative;padding:22px}
.sys-hud{position:absolute;width:22px;height:22px;border-color:rgba(96,216,240,.6);border-style:solid;border-width:0}
.sys-win{position:relative;border-radius:16px;overflow:hidden;background:#F5F8FA;color:#1D2A31;font-size:13px;transform:perspective(1800px) rotateY(-6deg) rotateX(3deg);box-shadow:0 0 0 1px rgba(96,216,240,.45),0 40px 100px rgba(18,176,224,.3)}
.sys-win::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 40%,rgba(96,216,240,.10) 50%,transparent 60%);background-size:250% 100%;animation:sweep 6s ease-in-out infinite}
@keyframes sweep{0%{background-position:150% 0}60%,100%{background-position:-60% 0}}
.sys-top{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:#052B3B;color:#FFFFFF}
.sys-side{width:150px;flex:none;background:#FFFFFF;border-right:1px solid #E8EEF2;padding:14px 10px;display:flex;flex-direction:column;gap:4px}
.sys-side span{padding:8px 10px;border-radius:8px;color:#4A5A64;font-weight:500}
.sys-side span.on{background:#E3F4FA;color:#0A6F96;font-weight:600}
.sys-main{flex:1;min-width:0;padding:16px;display:flex;flex-direction:column;gap:12px}
.kpi{background:#FFFFFF;border:1px solid #E8EEF2;border-radius:10px;padding:10px 12px}
.kpi small{display:block;font-size:11px;color:#4A5A64}
.kpi b{display:block;margin-top:2px;font-family:Montserrat,sans-serif;font-size:18px;color:#052B3B}
.panel{background:#FFFFFF;border:1px solid #E8EEF2;border-radius:10px;padding:12px}
.panel h4{margin:0 0 8px;font-family:Montserrat,sans-serif;font-size:12px;font-weight:600;color:#052B3B}
.st{display:inline-block;font-size:10px;font-weight:600;padding:2px 8px;border-radius:999px}
.st-new{background:#E3F4FA;color:#0A6F96}.st-neg{background:#FFF4D6;color:#8A6400}.st-ok{background:#E6F4EE;color:#1F7A5C}.st-lost{background:#F3E8E8;color:#9B2C2C}
.trow{display:grid;grid-template-columns:1.4fr 1fr 1fr .9fr;gap:8px;padding:7px 0;border-top:1px solid #F0F3F5;align-items:center}
.feat{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-direction:column;gap:14px}
.feat li{display:flex;gap:12px;align-items:flex-start;color:#E8EEF2}
.feat svg{flex:none;margin-top:3px}
.stab{min-height:46px;padding:10px 18px;border-radius:10px;border:1px solid #1B4A5E;background:transparent;color:#B7C4CC;font-family:Montserrat,sans-serif;font-size:14px;font-weight:600;cursor:pointer}
.stab:hover{border-color:#60D8F0;color:#FFFFFF}
.stab.on{background:#60D8F0;border-color:#60D8F0;color:#041F2B}
@media (max-width:860px){.sys-side{display:none}.sys-win{transform:none}.trow{grid-template-columns:1.4fr 1fr .9fr}.trow .hide-sm{display:none}}
@media (max-width:760px){.gcard{display:none}}
.shot-previx{background-image:url('../img/shot-previx.webp')}
.shot-ms{background-image:url('../img/shot-ms.webp')}
.shot-artecor{background-image:url('../img/shot-artecor.webp')}
.shot-gesso{background-image:url('../img/shot-gesso.webp')}
.shot-tudonovo{background-image:url('../img/shot-tudonovo.webp')}
.shot-mr{background-image:url('../img/shot-mr.webp')}
.shot-montecarlo{background-image:url('../img/shot-montecarlo.webp')}
.shot-acominas{background-image:url('../img/shot-acominas.webp')}
.shot-newpiso{background-image:url('../img/shot-newpiso.webp')}
.shot-sulfibras{background-image:url('../img/shot-sulfibras.webp')}
.shot-autronica{background-image:url('../img/shot-autronica.webp')}
.shot-pereira{background-image:url('../img/shot-pereira.webp')}
.shot-garo{background-image:url('../img/shot-garo.webp')}
.shot-ciexpress{background-image:url('../img/shot-ciexpress.webp')}
.mq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-track{display:flex;gap:28px;width:max-content;padding:10px 0 28px;animation:mqMove 70s linear infinite}
.mq-rev{animation-direction:reverse;animation-duration:64s}
.mq:hover .mq-track{animation-play-state:paused}
@keyframes mqMove{to{transform:translateX(calc(-50% - 14px))}}
.mq-item{position:relative;margin:0;width:380px;flex:none}
.mq-item figcaption,.pf figcaption{margin-top:20px}
.mq-name{margin-top:4px;font-family:Montserrat,sans-serif;font-weight:600;font-size:17px;color:#052B3B}
.mq-item:hover .pf-dev{transform:translateY(-6px);box-shadow:0 0 0 1px #60D8F0,0 24px 60px rgba(18,176,224,.25)}
.mq-item:hover .pf-img::after{opacity:1}.mq-item:hover .pf-glow{opacity:1}
@media (prefers-reduced-motion: reduce){.mq{overflow-x:auto}.mq-track{animation:none}}
.no-motion .mq{overflow-x:auto}
@media (max-width:640px){.mq-item{width:280px}}
.shot-zmplast{background-image:url('../img/shot-zmplast.webp')}
.shot-munck{background-image:url('../img/shot-munck.webp')}
.shot-thera{background-image:url('../img/shot-thera.webp')}


.admin-bar header{top:32px}@media(max-width:782px){.admin-bar header{top:46px}}
.form-ok{background:rgba(72,216,168,.12);border:1px solid #48D8A8;color:#E8EEF2;border-radius:10px;padding:14px 16px;font-size:15px}
.mnav[hidden],[data-panel][hidden],#dg-recs-wrap[hidden]{display:none!important}
