.reveal { opacity: 0; transform: translateY(30px); transition: opacity .75s var(--ease), transform .8s var(--ease); }
.reveal.revealed { opacity: 1; transform: translateY(0); }
.hero-wireframe { animation: wireframe-float 8s ease-in-out infinite alternate; }
.hero-orbit-one { animation: orbit-drift 11s ease-in-out infinite alternate; }
.hero-orbit-two { animation: orbit-drift 8s ease-in-out infinite alternate-reverse; }
.map-point::before { animation: point-pulse 2.4s ease-in-out infinite; }
.page-transitioning main { opacity: .5; transform: translateY(6px); transition: opacity .2s ease, transform .2s ease; }
@keyframes wireframe-float { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-20px, -12px, 0); } }
@keyframes orbit-drift { from { transform: rotate(-10deg) translateX(0); } to { transform: rotate(-6deg) translateX(-30px); } }
@keyframes point-pulse { 0%,100% { box-shadow: 0 0 0 3px rgba(130,165,255,.12); } 50% { box-shadow: 0 0 0 9px rgba(130,165,255,.02); } }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .reveal { opacity: 1; transform: none; }
}

