/* Same black fade and rightward reveal as the production page transition. */
.td-transition { display: none; }
.td-page-motion .td-transition {
 display: block; position: fixed; inset: 0; z-index: 100000;
 background: #000; opacity: 1; pointer-events: auto;
}
.td-page-motion .td-transition.is-entering {
 animation: td-reveal 1.6s ease .5s both; pointer-events: none;
}
.td-page-motion .td-transition.is-leaving { animation: td-leave 1.6s ease both; }
/* A script error must never leave the entry cover over the page indefinitely. */
.td-page-motion .td-transition:not(.is-entering):not(.is-leaving) { animation: td-cover-timeout 0s 5s forwards; }
@keyframes td-cover-timeout { to { visibility:hidden; pointer-events:none; } }
@keyframes td-reveal {
 from { opacity: 1; transform: translate3d(0, 0, 0); }
 to { opacity: 0; transform: translate3d(100%, 0, 0); }
}
@keyframes td-leave { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 767px) {
 .td-page-motion .td-transition.is-entering { animation-duration: .45s; animation-delay: 0s; }
 .td-page-motion .td-transition.is-leaving { animation-duration: .3s; }
}
@media (prefers-reduced-motion: reduce) { .td-page-motion .td-transition { display: none; } }
