/* Base hidden state */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

/* When visible */
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger for children */
.reveal .stagger-item {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

/* When parent is active */
.reveal.active .stagger-item {
    opacity: 1;
    transform: translateY(0);
}

/* Delay for each item */
.reveal.active .stagger-item:nth-child(1) { transition-delay: 0.1s; }
.reveal.active .stagger-item:nth-child(2) { transition-delay: 0.2s; }
.reveal.active .stagger-item:nth-child(3) { transition-delay: 0.3s; }
.reveal.active .stagger-item:nth-child(4) { transition-delay: 0.4s; }
.reveal.active .stagger-item:nth-child(5) { transition-delay: 0.5s; }
.reveal.active .stagger-item:nth-child(6) { transition-delay: 0.6s; }
.reveal.active .stagger-item:nth-child(7) { transition-delay: 0.6s; }
.reveal.active .stagger-item:nth-child(8) { transition-delay: 0.6s; }
.reveal.active .stagger-item:nth-child(9) { transition-delay: 0.6s; }
.reveal.active .stagger-item:nth-child(10) { transition-delay: 0.6s; }