/* Generic Reveal Animations for Formal Theme */
section > div {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

section.revealed > div {
    opacity: 1;
    transform: translateY(0);
}

/* Image reveal with slide effect */
.image-container {
    opacity: 0;
    transform: translateX(20px);
    transition: all 1s cubic-bezier(0.16, 1, 0.3, 1) 0.2s;
}

section.revealed .image-container {
    opacity: 1;
    transform: translateX(0);
}

/* Staggered text content */
section.revealed .info-point {
    animation: fadeIn 0.8s both;
}

section.revealed .info-point:nth-child(1) { animation-delay: 0.3s; }
section.revealed .info-point:nth-child(2) { animation-delay: 0.5s; }
section.revealed .info-point:nth-child(3) { animation-delay: 0.7s; }

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Subtle Progress Line Aura */
.nav-item.active .nav-text {
    animation: textPulse 2s infinite alternate;
}

@keyframes textPulse {
    from { color: var(--text-on-dark); }
    to { color: var(--unjfsc-cyan); }
}

/* Clean Image Slide */
.reveal-img-formal {
    clip-path: inset(0 100% 0 0);
    transition: clip-path 1.2s cubic-bezier(0.77, 0, 0.175, 1);
}

section.revealed .reveal-img-formal {
    clip-path: inset(0 0 0 0);
}
