/* AURA / Conexões em movimento — progressive, transform-only enhancement. */
.hero-scene{background:var(--ink);position:relative}
.hero-camera{position:absolute;inset:0;transform-origin:72% 48%;pointer-events:none}
.hero-camera .hero-art{max-width:none}
.connection-trace{position:absolute;right:-6%;top:11%;width:80%;height:85%;pointer-events:none;opacity:.65;transform:translate3d(var(--trace-x,0px),0,0)}
.connection-trace path{stroke:var(--cyan);stroke-width:.65;vector-effect:non-scaling-stroke}
.trace-base{opacity:.18}.connection-trace .trace-light{stroke-width:1.2;stroke-dasharray:.07 .93;stroke-dashoffset:var(--trace-offset,-.17);opacity:.8}
.hero-shade{pointer-events:none}
.hero-measure{position:absolute;right:0;top:48%;display:flex;flex-direction:column;align-items:center;gap:12px;color:#c5c7ce;font-size:7px;letter-spacing:1px}
.hero-measure i{display:block;width:1px;height:80px;background:#ffffff26;position:relative;overflow:hidden}
.hero-measure i:after{content:'';position:absolute;inset:0;background:var(--cyan);transform:scaleY(var(--hero-progress,.12));transform-origin:top}
.hero-caption .caption-line{position:relative}.hero-caption .caption-line:after{content:'';position:absolute;width:4px;height:4px;background:var(--cyan);border-radius:50%;top:-2px;left:calc(var(--hero-progress,0) * 95%)}
.icon-arrow{display:inline-block;width:21px;height:21px;flex-shrink:0;vertical-align:middle;transition:transform .24s cubic-bezier(.2,.75,.2,1)}
.nav-cta .icon-arrow{width:18px;height:18px}.text-link .icon-arrow,.footer-contact .icon-arrow{width:17px;height:17px}.hero-bottom .icon-arrow{width:17px;height:17px}
.button,.nav-cta{position:relative;transform-style:preserve-3d;transition:transform .24s cubic-bezier(.2,.75,.2,1),background .2s;isolation:isolate}
.button.primary{border-top-color:#ffffff80;border-bottom:3px solid #55798a;box-shadow:0 7px 15px #00000016;transform:perspective(800px) translateY(0)}
.button.primary:after,.nav-cta:after{content:'';position:absolute;inset:3px;border:1px solid #ffffff12;pointer-events:none;z-index:-1}
.button.primary .icon-arrow{transform:translateZ(8px)}
.button.primary:focus-visible{outline-color:var(--cyan);outline-offset:6px}
.brief-button.primary{border-top-color:#ffffff45;border-bottom-color:#101017;box-shadow:0 7px 14px #2828321a}
.text-link{position:relative;border-bottom-color:color-mix(in srgb,currentColor 35%,transparent);min-height:44px}
.text-link:after{content:'';position:absolute;height:1px;left:0;bottom:-1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .28s}
.text-link:hover:after,.text-link:focus-visible:after{transform:scaleX(1)}
.text-link:hover .icon-arrow,.footer-contact:hover .icon-arrow{transform:translate(3px,-3px)}
.text-link:hover .icon-down{transform:translateY(3px)}.text-link:hover .icon-up{transform:translateY(-3px)}
.nav nav a{position:relative;padding-block:12px}.nav nav a:after{content:'';position:absolute;bottom:5px;height:1px;background:var(--cyan);left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .2s}.nav nav a:hover:after,.nav nav a:focus-visible:after{transform:scaleX(1)}
.services{border-top-color:var(--ink)}.service{position:relative;transition:background .25s}
.service>summary{min-height:96px;transition:padding .25s}.service-number{display:grid;place-items:center;min-width:32px;height:32px;border:1px solid var(--line);transition:background .25s,color .25s}
.service[open] .service-number{color:var(--ink);background:var(--cyan);border-color:var(--cyan)}
.service h3{transition:transform .25s}.service[open] .service-tag{color:var(--ink)}
.service-body{position:relative;padding-bottom:42px;padding-top:14px}.service-body:before{content:'';position:absolute;left:0;top:18px;bottom:42px;width:2px;background:linear-gradient(var(--cyan),#8cb2c300)}
.web-visual{border-color:#c4c9cd;background:linear-gradient(135deg,#e5e8e9,#dedfe2);box-shadow:0 18px 34px #2828320a;transform-origin:center}
.browser-bar{border-bottom:1px solid #28283212}.web-mock{box-shadow:0 8px 20px #28283217}
.demo{border:1px solid #ffffff70;box-shadow:0 30px 65px #0c0c1538}.demo-top{border-top:2px solid var(--cyan)}
.view-switch button{min-height:44px;transition:background .22s,color .22s}.view-switch button[aria-selected=true]{box-shadow:inset 0 1px #ffffff26,0 3px 7px #00000018}
.method-art{overflow:hidden;position:relative;transform-origin:center;box-shadow:0 22px 45px #28283214}
.portal-camera{height:100%;width:100%;overflow:hidden;transform:translate3d(0,var(--portal-y,0px),0) scale(1.08)}
.portal-camera img{height:100%;width:100%;object-fit:cover}
.method-art:after{content:'';position:absolute;inset:14px;border:1px solid #c3dce62b;pointer-events:none}
.steps li{transition:border-color .25s}.steps li:hover{border-color:var(--cyan)}
.communication-stage{perspective:1000px;transform-style:preserve-3d}
.campaign-poster{transform:translate3d(0,var(--poster-y,0px),12px) rotate(-7deg)}
.campaign-social{transform:translate3d(0,var(--social-y,0px),50px) rotate(calc(6deg + var(--social-rotation,0deg)))}
.communication-services article{position:relative}.communication-services article:before{content:'';position:absolute;left:0;top:-1px;width:40px;height:2px;background:var(--cyan)}.communication-services article+article:before{left:30px}
.briefing{border:1px solid #d1d1d7;border-top:2px solid var(--ink);background:linear-gradient(135deg,#eeeff0,#e7e8ea);box-shadow:0 18px 38px #28283208}
.challenge-options label>span{min-height:53px;position:relative;transition:background .22s,border-color .22s}
.challenge-options input:checked+span{background:#d4e2e8;border-color:#789bac;box-shadow:inset 3px 0 #789bac}
.challenge-options input:checked+span b{color:var(--ink)}
.faq summary{min-height:64px}.faq details[open]{border-bottom-color:#789bac}
.contact-channel{transition:border-color .2s}.contact-channel:hover{border-top-color:var(--cyan)}
.footer-contact{min-height:44px}
/* Media stays in its own compositor layer; prose is never mouse-following. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.button.primary:hover,.button.primary:focus-visible{transform:perspective(800px) translateY(-3px) rotateX(3deg) rotateY(-2deg)}
.button.primary:hover .icon-arrow{transform:translate3d(3px,-3px,8px)}
.button.primary:active{transform:perspective(800px) translateY(1px)}
.nav-cta:hover{transform:perspective(800px) translateY(-2px) rotateX(2deg)}
.service:not([open])>summary:hover h3{transform:translateX(5px)}
.service:not([open])>summary:hover .service-plus{background:var(--cyan);border-color:var(--cyan)}
.depth-panel{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .4s cubic-bezier(.2,.7,.2,1)}
}
@media(min-width:1024px) and (min-height:700px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.motion-enhanced .hero-scene{height:155svh;min-height:1050px}
.motion-enhanced .hero{position:sticky;top:0;height:100svh;min-height:680px;overflow:hidden}
.motion-enhanced .hero-inner{height:100%;min-height:0;padding-top:clamp(160px,23svh,225px)}
.motion-enhanced .hero-camera{transform:translate3d(calc(var(--camera-x,0px) + var(--pointer-x,0px)),calc(var(--camera-y,0px) + var(--pointer-y,0px)),0) scale(var(--camera-scale,1)) rotate(var(--camera-rotation,0deg));will-change:transform}
.motion-enhanced .hero-art{height:110%;top:-2%;right:-7%;width:90%}
.motion-enhanced .hero-copy{transform:translate3d(0,var(--copy-y,0px),0)}
.motion-enhanced .hero-bottom{height:78px}
.motion-enhanced .hero-description{margin-top:26px}
.motion-enhanced .hero-actions{margin-top:27px}
.motion-enhanced .hero-caption{bottom:140px}
.motion-enhanced .hero-shade{background:linear-gradient(90deg,#282832 0%,#282832f2 18%,#282832b8 38%,#28283200 73%),linear-gradient(0deg,#282832 0%,#28283200 30%)}
}
@media(prefers-reduced-motion:no-preference){
.reveal-ready{opacity:0;transform:translate3d(0,16px,0)}
.reveal-ready.is-revealed{opacity:1;transform:translate3d(0,0,0);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
}
@media(max-width:1023px){.hero-measure{display:none}.connection-trace{opacity:.35;right:-18%;width:100%;top:30%;height:65%}}
@media(max-width:780px){
.hero-camera .hero-art{top:310px;height:570px;width:115%;right:-22%}
.hero-shade{background:linear-gradient(180deg,#282832 0%,#282832 34%,#282832bf 52%,#28283210 76%,#282832 98%)}
.connection-trace{top:44%;height:52%;width:140%;right:-35%;opacity:.25}
.hero-measure{display:none}.hero-bottom a{min-height:44px}
.service>summary{min-height:84px}.service-number{min-width:28px;width:28px;height:28px}.service-body:before{display:none}
.service-plus{width:32px;height:32px}.service-body{padding-bottom:32px}
.method-art:after{inset:12px}.communication-services article+article:before{left:0}
.communication-stage{transform:none}.portal-camera{transform:none}
.campaign-poster{transform:rotate(-7deg)}.campaign-social{transform:rotate(6deg)}
.nav nav a{padding-block:9px;min-height:44px}.briefing{box-shadow:none}.result-actions button{min-height:44px}
}
@media(prefers-reduced-motion:reduce){
.hero-camera,.hero-copy,.depth-panel,.portal-camera{transform:none!important}
.connection-trace{display:none}.hero-measure{display:none}.reveal-ready{opacity:1!important;transform:none!important}
.button:hover,.button:active,.nav-cta:hover{transform:none!important}.campaign-poster{transform:rotate(-7deg)}.campaign-social{transform:rotate(6deg)}
}
@media(min-width:1024px) and (min-height:700px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.motion-enhanced h1{font-size:clamp(48px,min(5.5vw,10svh),78px)}
}
@media(max-width:1023px){
.portal-camera{transform:none}.campaign-poster{transform:rotate(-7deg)}.campaign-social{transform:rotate(6deg)}
}
.conversation-aside>.icon-arrow{width:40px;height:40px;color:var(--slate)}
.button,.nav-cta{isolation:auto}
.button .button-label{font:inherit;line-height:inherit;transform:translateZ(8px)}

@media(hover:none),(pointer:coarse){.hero-measure{display:none}.portal-camera{transform:none}.campaign-poster{transform:rotate(-7deg)}.campaign-social{transform:rotate(6deg)}}
