/* Modern Page Transitions - Optimized */
.page-transition {
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.15s ease-out, transform 0.15s ease-out;
}

.page-transition.loaded {
    opacity: 1;
    transform: translateY(0);
}

/* Staggered content animation - Faster */
.content-fade-in {
    opacity: 0;
    transform: translateY(6px);
    animation: fadeInUp 0.2s ease-out forwards;
}

.content-fade-in:nth-child(1) { animation-delay: 0.05s; }
.content-fade-in:nth-child(2) { animation-delay: 0.08s; }
.content-fade-in:nth-child(3) { animation-delay: 0.11s; }
.content-fade-in:nth-child(4) { animation-delay: 0.14s; }
.content-fade-in:nth-child(5) { animation-delay: 0.17s; }

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Page exit animation - Faster */
.page-exit {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.1s ease-in, transform 0.1s ease-in;
}

.page-exit.exiting {
    opacity: 0;
    transform: translateY(-4px);
}

/* Smooth navigation transitions - Optimized */
body {
    transition: opacity 0.1s ease-in-out;
}

.navigation-loading {
    opacity: 0.8;
    pointer-events: none;
}

/* Link hover effects - Faster */
a {
    transition: all 0.1s ease-out;
}

/* Button press animations - Snappier */
button, .btn {
    transition: transform 0.08s ease-out, box-shadow 0.08s ease-out;
}

button:active, .btn:active {
    transform: translateY(1px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}