/* Slide + fade page transitions */

.page-transition-overlay {
    position: fixed;
    inset: 0;
    background: linear-gradient(120deg, #f6f8fc 0%, #ffffff 55%, #f2f6fb 100%);
    z-index: 999999;
    transform: translateY(-100%);
    opacity: 1;
    pointer-events: none;
    transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}

.page-transition-overlay.active {
    transform: translateY(0);
    pointer-events: all;
}

body {
    animation: slideInPage 0.35s ease-out;
}

@keyframes slideInPage {
    from {
        opacity: 0;
        transform: translateY(14px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

html {
    scroll-behavior: smooth;
}

body.page-loading {
    opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
    .page-transition-overlay {
        transition: none;
    }

    body {
        animation: none;
    }
}
