:root {
    --color-navy-800: #1e3a5f;
    --color-navy-900: #0f1c33;
    --color-gold-400: #d4af37;
    --color-gold-500: #c5a028;
}

body {
    font-family: 'Outfit', sans-serif;
    color: var(--color-navy-900);
}

h1, h2, h3 {
    font-family: 'Playfair Display', serif;
}

.reveal-up {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.reveal-left {
    opacity: 0;
    transform: translateX(-20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.reveal-right {
    opacity: 0;
    transform: translateX(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.reveal-up.visible,
.reveal-left.visible,
.reveal-right.visible {
    opacity: 1;
    transform: translate(0);
}

@media (prefers-reduced-motion: no-preference) {
    .reveal-up,
    .reveal-left,
    .reveal-right {
        opacity: 1;
        transform: none;
    }
}
