/* The site's one page transition: everything arrives and leaves through white. */
html.pf-ready body { animation: pf-in 0.45s cubic-bezier(0.16, 1, 0.3, 1) both; }
@keyframes pf-in { from { opacity: 0; } to { opacity: 1; } }

.pf-veil {
    position: fixed; inset: 0; background: #ffffff; z-index: 12000;
    opacity: 0; pointer-events: none;
    transition: opacity 0.22s ease-out;
}
.pf-veil.on { opacity: 1; pointer-events: auto; }

@media (prefers-reduced-motion: reduce) {
    html.pf-ready body { animation: none; }
    .pf-veil { transition: none; }
}
