/* Scroll Reveal & Micro-Interactions */
[data-reveal] {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

[data-reveal].revealed {
    opacity: 1;
    transform: translateY(0);
}

@keyframes pulseGlow {
    0% {
        box-shadow: 0 0 0 0 rgba(197, 168, 128, 0.4);
    }
    70% {
        box-shadow: 0 0 0 15px rgba(197, 168, 128, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(197, 168, 128, 0);
    }
}

.pulse-effect {
    animation: pulseGlow 2s infinite;
}