:root {
    --c-nova-gn-transition: all 600ms cubic-bezier(0, 0, 0.5, 1);
}

/* BASE INITIAL - ANIMATIONS */
.campaign-nova__section.first-section .campaign-nova__wrapper .campaign-nova__item,
.campaign-nova__subsection .double-text .campaign-nova__text-wrapper,
.campaign-nova__section.third-section .campaign-nova__text-wrapper,
.campaign-nova__subsection.fifth-section .campaign-nova__text-wrapper {
    opacity: 0;
    transition: var(--c-nova-gn-transition);
    transform: translateY(25px);
}

/* DOUBLE TEXT CONTAINER */
/* DOUBLE TEXT - SECOND SECTION */
.campaign-nova__subsection.second-section .double-text .campaign-nova__text-wrapper:last-child {
    transition-delay: 100ms;
}

/* DOUBLE TEXT - FOURTH SECTION */
.campaign-nova__subsection.fourth-section .double-text .campaign-nova__text-wrapper:last-child {
    transition-delay: 200ms;
}

/* LISTS */
/* BASE INITIAL - ANIMATIONS */
.campaign-nova__section .campaign-nova__item {
    --index: none;
    opacity: 0;
    transition: var(--c-nova-gn-transition);
}

/* FIRST LIST */
.campaign-nova__section.first-section .campaign-nova__wrapper .campaign-nova__item {
    transform: translateY(25px);
    transition-delay: calc(var(--index) * 250ms);
}

/* THIRD LIST */
.campaign-nova__section.third-section .campaign-nova__item {
    transform: translateY(45px);
    transition-delay: calc(var(--index) * 200ms);
}

/* ESTADO FINAL DE ANIMACIONES */
.campaign-nova__section.first-section .c-nova-animate.campaign-nova__wrapper .campaign-nova__item,
.campaign-nova__subsection .double-text .c-nova-animate.campaign-nova__text-wrapper,
.campaign-nova__section.third-section .c-nova-animate.campaign-nova__text-wrapper,
.campaign-nova__section.third-section .c-nova-animate.campaign-nova__item,
.campaign-nova__subsection.fifth-section .c-nova-animate.campaign-nova__text-wrapper {
    opacity: 1;
    transform: translateY(0);
}

/* ANIMATIONS TITLE */
.c-nova-text__line-wrap {
    display: block;
    overflow: hidden;
}

.c-nova-text__line {
    display: inline-block;
    transform: translateY(1.2em);
    opacity: 0;
    transition:
            transform var(--dur, 0.8s) cubic-bezier(0.22, 1, 0.36, 1) calc(var(--base, 0s) + var(--d, 0s)),
            opacity   var(--dur, 0.8s) cubic-bezier(0.22, 1, 0.36, 1) calc(var(--base, 0s) + var(--d, 0s));
    will-change: transform, opacity;
}

.c-nova-in-view .c-nova-text__line {
    transform: translateY(0);
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .c-nova-text__line {
        transition: none;
        transform: none;
        opacity: 1;
    }
}