/* Text is readable before JavaScript, during entry, and with motion disabled. */
@keyframes textEnter {
    from { opacity: .7; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.text-enter { animation: textEnter 420ms cubic-bezier(.2,.8,.2,1) var(--text-delay, 0ms) both; }
@media (max-width: 640px) {
    @keyframes textEnter {
        from { opacity: .8; transform: translateY(5px); }
        to { opacity: 1; transform: translateY(0); }
    }
    .text-enter { animation-duration: 300ms; }
}
