/* Scroll reveal — hidden state applied by JS before observation */
.sr-hidden {
    opacity: 0;
    transform: translateY(36px);
    transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Scroll reveal — triggered when element enters viewport */
.sr-visible {
    opacity: 1;
    transform: translateY(0);
}
