/* Base Styles */
html {
    scroll-behavior: smooth;
}

body {
    background-color: #fdfbf7;
}

/* Utility for reveal animations */
.reveal-up,
.reveal-left,
.reveal-right {
    opacity: 1; /* Default visible for accessibility/performance */
    transform: translateY(0) translateX(0);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.reveal-up {
    transform: translateY(30px);
}

.reveal-left {
    transform: translateX(-30px);
}

.reveal-right {
    transform: translateX(30px);
}

/* Animation classes (applied by JS) */
.is-revealed.reveal-up,
.is-revealed.reveal-left,
.is-revealed.reveal-right {
    opacity: 1;
    transform: translateY(0) translateX(0);
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    .reveal-up,
    .reveal-left,
    .reveal-right {
        transform: translateY(0) translateX(0);
        transition: none;
    }
    .is-revealed.reveal-up,
    .is-revealed.reveal-left,
    .is-revealed.reveal-right {
        opacity: 1;
        transform: translateY(0) translateX(0);
    }
}
