.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.2, .7, .2, 1), transform .7s cubic-bezier(.2, .7, .2, 1); }
.reveal.in { opacity: 1; transform: translateY(0); }
.fade-up { animation: fade-up .5s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes fade-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pop-in { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { *, .mesh span { animation-duration: .001s !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001s !important; } }
