/* Fade in up animation */
.fade-in-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in-up.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Delay classes */
.fade-in-up.delay-1 { transition-delay: 0.1s; }
.fade-in-up.delay-2 { transition-delay: 0.2s; }
.fade-in-up.delay-3 { transition-delay: 0.3s; }

/* Generic stagger for direct children */
.stagger-children > * {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.stagger-children.visible > *:nth-child(1) { 
    opacity: 1; 
    transform: translateY(0);
    transition-delay: 0.1s; 
}

.stagger-children.visible > *:nth-child(2) { 
    opacity: 1; 
    transform: translateY(0);
    transition-delay: 0.25s; 
}

.stagger-children.visible > *:nth-child(3) { 
    opacity: 1; 
    transform: translateY(0);
    transition-delay: 0.4s; 
}

/* PP Smart Headings */
.fl-module-pp-heading.stagger-children .pp-heading-content > * {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fl-module-pp-heading.stagger-children.visible .pp-heading-content > *:nth-child(1) { 
    opacity: 1; 
    transform: translateY(0);
    transition-delay: 0.1s; 
}

.fl-module-pp-heading.stagger-children.visible .pp-heading-content > *:nth-child(2) { 
    opacity: 1; 
    transform: translateY(0);
    transition-delay: 0.25s; 
}

.fl-module-pp-heading.stagger-children.visible .pp-heading-content > *:nth-child(3) { 
    opacity: 1; 
    transform: translateY(0);
    transition-delay: 0.4s; 
}

/* City Dock Heading Block */
.fl-module-cdd-heading-content.stagger-children .cdd-heading-block > * {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fl-module-cdd-heading-content.stagger-children.visible .cdd-heading-block > *:nth-child(1) { 
    opacity: 1; 
    transform: translateY(0);
    transition-delay: 0.1s; 
}

.fl-module-cdd-heading-content.stagger-children.visible .cdd-heading-block > *:nth-child(2) { 
    opacity: 1; 
    transform: translateY(0);
    transition-delay: 0.25s; 
}

.fl-module-cdd-heading-content.stagger-children.visible .cdd-heading-block > *:nth-child(3) { 
    opacity: 1; 
    transform: translateY(0);
    transition-delay: 0.4s; 
}