/* Shared scene layout and static endpoints; GSAP owns animated transforms. */
.worlds.screen{z-index:3}
.projects-screen{z-index:4;visibility:hidden;background:none;transition:none}
body[data-screen="projects"] .projects-screen{visibility:visible}
body[data-transitioning="true"] .projects-screen{visibility:visible}

.worlds .planet-stage{transform:none;transform-origin:center;animation:none}
body[data-screen="projects"] .worlds .planet-stage{
  transform:translate3d(var(--portal-x,0px),var(--portal-y,0px),0) scale(var(--portal-scale,1));
}
body[data-transitioning="true"] .worlds .planet-stage{
  pointer-events:none;
  will-change:transform;
}
#homeScreen[aria-hidden="true"] .planet-stage{pointer-events:none}

.worlds .cosmic-word{
  opacity:1;
  transform:none;
  transform-origin:center;
  transition:none;
}
body[data-screen="projects"] .worlds .cosmic-word{
  opacity:0;
  transform:translate3d(0,-8px,0);
}
body[data-transitioning="true"] .worlds .cosmic-word{
  will-change:transform,opacity;
}

.hero-email{opacity:1;transform:none;transition:none}
body[data-screen="projects"] .hero-email{opacity:0;transform:translate3d(0,8px,0);pointer-events:none}
body[data-transitioning="true"] .hero-email{will-change:transform,opacity}

.projects-content,.projects-back{
  opacity:0;
  transition:none;
}
.projects-content{transform:translate3d(0,12px,0)}
.projects-back{transform:translate3d(0,8px,0)}
body[data-screen="projects"] .projects-content,
body[data-screen="projects"] .projects-back{
  opacity:1;
  transform:none;
}
body[data-transitioning="true"] .projects-content,
body[data-transitioning="true"] .projects-back{
  will-change:transform,opacity;
}

@media (prefers-reduced-motion:reduce){
  body[data-transitioning="true"] .worlds .planet-stage,
  body[data-transitioning="true"] .worlds .cosmic-word,
  body[data-transitioning="true"] .hero-email,
  body[data-transitioning="true"] .projects-content,
  body[data-transitioning="true"] .projects-back{will-change:auto}
}
