/* Nexxa: circuitos, malha em perspectiva e assinatura de movimento. */
body{isolation:isolate}
.depth-field{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.95}
main{position:relative}
.hero{background:radial-gradient(ellipse at 75% 34%,#164b7636,transparent 65%),linear-gradient(110deg,#031329b0 15%,#03132933 74%,#03132950)}
.hero:before{opacity:.45}
.solutions,.segments,.method,.faq-section{background:#041224d1}
.history{background:linear-gradient(135deg,#0c2540ee,#051326a8)}
.cloud-section{background:linear-gradient(125deg,#0c2846e8,#061a32cc 70%)}
.service-hero{background:radial-gradient(ellipse at 90% 0,#164e7b38,transparent 65%),#071a30c9}
.contact-page{background:radial-gradient(ellipse at 20% 0,#12497635,transparent 60%),#06182ccc}
.related-section{background:#081b2fd6}
.contact-banner{background:radial-gradient(ellipse at 90% 20%,#24537a44,transparent),#102b47d9}
.site-header{backdrop-filter:blur(22px);background:#05162ce0}
nav#navigation{gap:17px}
nav#navigation>a{padding:14px 8px;isolation:isolate;transition:color .22s ease,text-shadow .22s ease}
nav#navigation>a:before{content:'';position:absolute;inset:3px -3px;z-index:-1;border:1px solid #71c4ff00;border-radius:5px;background:radial-gradient(85px circle at var(--nav-x,50%) 65%,#49b8ff00,transparent);opacity:0;transform:translateY(4px);transition:opacity .22s,transform .22s,border-color .22s,background .22s}
nav#navigation>a:after{content:'';position:absolute;left:8px;right:8px;bottom:4px;height:2px;width:auto;margin:0;border-radius:4px;background:linear-gradient(90deg,transparent,#69c4ff 28%,#f2d18b 55%,transparent);background-size:220% 100%;box-shadow:0 0 13px #72b9ef44;transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
nav#navigation>a:is(:hover,:focus-visible){color:#f3d591;text-shadow:0 0 18px #d8ad5366}
nav#navigation>a:is(:hover,:focus-visible):before{opacity:1;transform:none;border-color:#71c4ff42;background:radial-gradient(85px circle at var(--nav-x,50%) 65%,#49b8ff2d,transparent)}
nav#navigation>a:is(:hover,:focus-visible):after{transform:scaleX(1);animation:nav-current 1.5s linear infinite}
nav#navigation>a[aria-current]:after{transform:scaleX(.35);background:var(--gold);box-shadow:0 0 10px #d8ad5355}
nav#navigation>a[aria-current]:is(:hover,:focus-visible):after{transform:scaleX(1);background:linear-gradient(90deg,transparent,#69c4ff,#f2d18b,transparent);background-size:220% 100%}
nav#navigation .nav-contact{padding-inline:15px;margin-left:0}
nav#navigation>a:focus-visible{outline:2px solid #e9c577;outline-offset:5px}
.brand-stage{position:relative;min-width:0;perspective:1100px;padding:14px;isolation:isolate}
.brand-stage:before{content:'';position:absolute;inset:4%;border:1px solid #6ba9dd29;border-radius:25px;transform:translate3d(17px,16px,-60px) rotateY(-8deg);pointer-events:none;background:linear-gradient(130deg,#17446e20,transparent);box-shadow:25px 38px 60px #00102655}
.brand-stage:after{content:'';position:absolute;left:14%;right:10%;bottom:-2%;height:8%;border-radius:50%;background:#126da550;filter:blur(28px);pointer-events:none;animation:stage-shadow 8s ease-in-out infinite}
.brand-stage .hero-brand{width:100%;max-width:none;z-index:1;transform:translate3d(0,0,0) rotateX(var(--brand-rx,2deg)) rotateY(var(--brand-ry,-5deg));animation:brand-breathe 8s ease-in-out infinite;transition:transform .6s cubic-bezier(.2,.65,.3,1);border-color:#88b9e84a;box-shadow:0 25px 75px #0006,0 0 50px #177cba1e;will-change:auto}
.brand-orbit{position:absolute;inset:-15px;z-index:2;width:calc(100% + 30px);height:calc(100% + 30px);pointer-events:none;overflow:visible;transform:rotate(-2deg)}
.brand-orbit .orbit-guide{fill:none;stroke:#76bbef45;stroke-width:.65;vector-effect:non-scaling-stroke}
.brand-orbit .orbit-flow{fill:none;stroke:#75c4ff;stroke-width:1.15;stroke-linecap:round;stroke-dasharray:5 35 2 65;animation:connection-flow 15s linear infinite;filter:drop-shadow(0 0 3px #4eacff);vector-effect:non-scaling-stroke}
.brand-orbit .orbit-flow--gold{stroke:#e4b85e;stroke-dasharray:3 55 1 45;animation-direction:reverse;animation-duration:20s}
.brand-orbit .orbit-corner{fill:none;stroke:#deb75f;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.65}
.brand-orbit circle{fill:#dcb567;filter:drop-shadow(0 0 2px #ffd486);animation:connection-pulse 5s ease-in-out infinite}
.brand-orbit circle:nth-last-child(2){animation-delay:-2.5s;fill:#80c9ff}
.hero-brand-top span:last-child{letter-spacing:.17em;color:#d4ba82}
.hero-brand-bottom{background:linear-gradient(0deg,#001632,transparent);padding-top:16px}
.hero-brand-bottom>a{position:relative;transition:background .25s,box-shadow .25s}
.hero-brand-bottom>a:hover{background:#1a476b;box-shadow:0 0 20px #6bbcf744}
.motion-toggle{min-height:40px;bottom:18px;font-size:.75rem}
.motion-toggle:disabled{cursor:default;opacity:.85}
.motion-paused .brand-stage:after,.motion-paused .brand-stage .hero-brand,.motion-paused .brand-orbit *{animation:none!important}
.motion-paused .brand-stage .hero-brand{transform:none!important;translate:none!important}
.motion-paused nav#navigation>a:is(:hover,:focus-visible):after{animation:none}
@keyframes nav-current{to{background-position:220% 0}}
@keyframes connection-flow{to{stroke-dashoffset:-428}}
@keyframes connection-pulse{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes brand-breathe{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes stage-shadow{0%,100%{scale:1;opacity:.55}50%{scale:.9;opacity:.3}}
@media(max-width:1100px) and (min-width:981px){nav#navigation{gap:9px;font-size:.8rem}.brand-stage{padding:10px}}
@media(max-width:980px){nav#navigation{gap:4px}nav#navigation>a{padding:14px}.brand-stage{padding:8px}.brand-orbit{inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px)}}
@media(max-width:720px){.depth-field{opacity:.43}.hero{background:linear-gradient(115deg,#031329e8,#031329b5)}.brand-stage{width:100%;max-width:450px;margin-inline:auto;padding:7px}.brand-stage .hero-brand{transform:none;animation-duration:10s}.brand-stage:before{inset:2%;transform:translate3d(7px,8px,-25px)}.brand-orbit{inset:-3px;width:calc(100% + 6px);height:calc(100% + 6px)}.brand-orbit .orbit-flow{stroke-width:.85}.motion-toggle{bottom:16px;min-height:38px}.hero-layout{overflow:clip;padding-bottom:48px}}
@media(prefers-reduced-motion:reduce){.brand-stage .hero-brand{transform:none;translate:none}.depth-field{opacity:.3}nav#navigation>a:before{transform:none}}
@media print{.depth-field,.brand-orbit{display:none!important}.brand-stage .hero-brand{animation:none!important;transform:none!important;translate:none!important}}
