html {
    scroll-behavior: smooth;
}
body {
    font-family: 'Montserrat', sans-serif;
}
h1, h2, h3, .font-serif {
    font-family: 'Cormorant Garamond', serif;
}

/* Base class for elements waiting to fade in */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    will-change: opacity, transform;
}

/* Applied via JS when element enters viewport */
.animate-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Delays for staggered animations inside groups */
.delay-100 {
    transition-delay: 100ms;
}
.delay-200 {
    transition-delay: 200ms;
}
