/* GSAP é o único responsável por estes transforms quando disponível. */
.gsap-ready .desktop-window,
.gsap-ready .phone-window,
.gsap-ready .project-panel { animation: none !important; }
.gsap-ready .scene-world,
.gsap-ready .scene-tilt,
.gsap-ready .hero-description,
.gsap-ready .actions,
.gsap-ready .title-mask > span { transition: none !important; }
.gsap-ready .scene-tilt { transform: none; }
.scene-scroll { position: absolute; inset: 0; transform-style: preserve-3d; }
.motion-active .scene-scroll,
.motion-active .scene-world,
.motion-active .scene-tilt,
.motion-active .aura { will-change: transform; }
.hero-atmosphere { overflow: hidden; }
.aura { position: absolute; pointer-events: none; border-radius: 50%; }
.aura-red {
  width: 80%; height: 85%; right: -20%; top: 5%;
  background: radial-gradient(ellipse, #9d1b3c35, transparent 65%);
}
.aura-amber {
  width: 65%; height: 60%; left: -18%; top: -10%;
  background: radial-gradient(ellipse, #a16a2420, transparent 65%);
}
.project-deck { min-width: 0; grid-column: 2; perspective: 1500px; }
.project-panel { grid-column: auto; }
.project-showcase { perspective: 1500px; }
.process-list { position: relative; --route: 0; }
.process-list:before {
  content: ''; position: absolute; left: 0; right: 0; top: -1px; height: 1px;
  background: linear-gradient(90deg, #ec456c, #c69d64);
  transform: scaleX(var(--route)); transform-origin: left;
}
.contact-aura {
  position: absolute; right: -10%; top: -10%; width: 70%; height: 120%; z-index: -1;
  background: radial-gradient(ellipse, #8c1a3930, transparent 65%); pointer-events: none;
}
.gsap-ready:not(.motion-active) *,
.gsap-ready:not(.motion-active) *:before,
.gsap-ready:not(.motion-active) *:after { animation: none !important; transition: none !important; }
@media (max-width: 900px) {
  .project-deck { grid-column: 1; }
  .main-nav { gap: 19px; }

  .main-nav .nav-contact { padding-inline: 15px; gap: 16px; }
}
@media (max-width: 640px) {
  .main-nav { align-items: center; gap: 16px; }

  .process-list:before {
    top: 0; bottom: 8px; left: 3px; right: auto; width: 1px; height: auto;
    transform: scaleY(var(--route)); transform-origin: top;
  }

}
