/* header */

header {
    opacity: 0;
    transform: translateY(-12px);
}

header.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.header__toggle span {
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.header--open .header__toggle span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.header--open .header__toggle span:nth-child(2) {
    opacity: 0;
}

.header--open .header__toggle span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

/* buttons */

.button {
    transition: transform 0.35s ease, box-shadow 0.35s ease, background-color 0.35s ease, border-color 0.35s ease, filter 0.35s ease, background-position 0.45s ease;
}

.button:hover {
    transform: translateY(-2px) scale(1.03);
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    box-shadow: 0 10px 24px rgba(12, 49, 72, 0.22);
    filter: brightness(1.06);
}

.button:active {
    transform: translateY(0) scale(0.98);
    box-shadow: 0 4px 12px rgba(12, 49, 72, 0.16);
}

.button--cta {
    box-shadow: 0 8px 20px rgba(12, 49, 72, 0.18);
}

.button--cta:hover,
.button--cta.is-visible:hover {
    transform: translateY(-3px);
    background-position: 100% 50%;
    box-shadow: 0 14px 30px rgba(12, 49, 72, 0.28);
    filter: none;
}

.oferta__recebe .button--cta:hover,
.oferta__recebe .button--cta.is-visible:hover,
.preco__box .button--cta:hover,
.preco__box .button--cta.is-visible:hover,
.convite__content .button--cta:hover,
.convite__content .button--cta.is-visible:hover {
    box-shadow: 0 10px 24px rgba(28, 122, 142, 0.35);
    border-color: rgba(255, 255, 255, 0.9);
}

.button--cta:active,
.button--cta.is-visible:active {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(12, 49, 72, 0.2);
}

/* hero text */

.hero__eyebrow,
#hero h1,
.hero__lead,
.hero__text,
.hero__meta {
    opacity: 0;
    transform: translateY(16px);
}

.button--cta {
    opacity: 0;
}

.hero__eyebrow.is-visible,
#hero h1.is-visible,
.hero__lead.is-visible,
.hero__text.is-visible,
.hero__meta.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.button--cta.is-visible {
    opacity: 1;
    transition: opacity 0.7s ease 0.4s, transform 0.35s ease, box-shadow 0.35s ease, background-position 0.45s ease;
}

.hero__eyebrow.is-visible {
    transition-delay: 0.08s;
}

#hero h1.is-visible {
    transition-delay: 0.16s;
}

.hero__lead.is-visible {
    transition-delay: 0.24s;
}

.hero__text.is-visible {
    transition-delay: 0.32s;
}

.hero__meta.is-visible {
    transition-delay: 0.48s;
}

.hero__player {
    opacity: 0;
    transform: translateY(20px);
}

.hero__player.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
    transition-delay: 0.2s;
}

.hero__play-icon {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hero__play:hover .hero__play-icon {
    transform: scale(1.08);
    box-shadow: 0 8px 20px rgba(252, 254, 255, 0.35);
}

/* feature bar */

.hero__bar li {
    opacity: 0;
    transform: translateY(10px);
}

.hero__bar li.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.hero__bar li.is-visible:nth-child(1) { transition-delay: 0.08s; }
.hero__bar li.is-visible:nth-child(2) { transition-delay: 0.16s; }
.hero__bar li.is-visible:nth-child(3) { transition-delay: 0.24s; }
.hero__bar li.is-visible:nth-child(4) { transition-delay: 0.32s; }

/* desafio */

.desafio__player,
.desafio__content,
.desafio__card {
    opacity: 0;
    transform: translateY(20px);
}

.desafio__player.is-visible,
.desafio__content.is-visible,
.desafio__card.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.desafio__card.is-visible:nth-child(1) { transition-delay: 0.08s; }
.desafio__card.is-visible:nth-child(2) { transition-delay: 0.16s; }

.desafio__play-icon {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.desafio__play:hover .desafio__play-icon {
    transform: scale(1.08);
    box-shadow: 0 8px 20px rgba(252, 254, 255, 0.35);
}

.button--ghost:hover {
    background-color: var(--color-auxiliar-white);
    color: var(--color-primary);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(12, 49, 72, 0.2);
}

.button--outline:hover {
    background-color: var(--color-auxiliar-ligth-blue);
    border-color: var(--color-auxiliar-ligth-blue);
    color: var(--color-auxiliar-white);
    transform: translateY(-2px);
}

/* metodo */

.metodo__content,
.metodo__media,
.metodo__features li {
    opacity: 0;
    transform: translateY(20px);
}

.metodo__content.is-visible,
.metodo__media.is-visible,
.metodo__features li.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.metodo__features li.is-visible:nth-child(1) { transition-delay: 0.08s; }
.metodo__features li.is-visible:nth-child(2) { transition-delay: 0.16s; }
.metodo__features li.is-visible:nth-child(3) { transition-delay: 0.24s; }

/* como funciona */

.funciona__header,
.funciona__steps li {
    opacity: 0;
    transform: translateY(20px);
}

.funciona__header.is-visible,
.funciona__steps li.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.funciona__steps li.is-visible:nth-child(1) { transition-delay: 0.08s; }
.funciona__steps li.is-visible:nth-child(2) { transition-delay: 0.16s; }
.funciona__steps li.is-visible:nth-child(3) { transition-delay: 0.24s; }

/* jornada */

.jornada__top,
.jornada__card {
    opacity: 0;
    transform: translateY(20px);
}

.jornada__top.is-visible,
.jornada__card.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.jornada__card.is-visible:nth-child(1) { transition-delay: 0.05s; }
.jornada__card.is-visible:nth-child(2) { transition-delay: 0.1s; }
.jornada__card.is-visible:nth-child(3) { transition-delay: 0.15s; }
.jornada__card.is-visible:nth-child(4) { transition-delay: 0.2s; }
.jornada__card.is-visible:nth-child(5) { transition-delay: 0.25s; }
.jornada__card.is-visible:nth-child(6) { transition-delay: 0.3s; }

.jornada__play-icon {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.jornada__play:hover .jornada__play-icon {
    transform: scale(1.08);
    box-shadow: 0 8px 20px rgba(252, 254, 255, 0.35);
}

/* prova social */

.prova__header,
.prova__card,
.prova__cta {
    opacity: 0;
    transform: translateY(20px);
}

.prova__header.is-visible,
.prova__card.is-visible,
.prova__cta.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.prova__card.is-visible:nth-child(1) { transition-delay: 0.08s; }
.prova__card.is-visible:nth-child(2) { transition-delay: 0.16s; }
.prova__card.is-visible:nth-child(3) { transition-delay: 0.24s; }

.prova__play-icon {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.prova__play:hover .prova__play-icon {
    transform: scale(1.08);
    box-shadow: 0 8px 20px rgba(252, 254, 255, 0.35);
}

.prova__cta {
    transition: transform 0.35s ease, box-shadow 0.35s ease, filter 0.35s ease;
}

.prova__cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(12, 49, 72, 0.18);
    filter: brightness(1.06);
}

/* oferta */

.oferta__top,
.oferta__card {
    opacity: 0;
    transform: translateY(20px);
}

.oferta__top.is-visible,
.oferta__card.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

/* rosa griffel */

.conduz__media,
.conduz__content {
    opacity: 0;
    transform: translateY(20px);
}

.conduz__media.is-visible,
.conduz__content.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

/* preco */

.preco__card {
    opacity: 0;
    transform: translateY(20px);
}

.preco__card.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

/* faq */

.faq__header,
.faq__item,
.faq__cta {
    opacity: 0;
    transform: translateY(20px);
}

.faq__header.is-visible,
.faq__item.is-visible,
.faq__cta.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.faq__toggle {
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.faq__toggle::after {
    transition: opacity 0.3s ease, transform 0.3s ease;
}

/* convite */

.convite__card {
    opacity: 0;
    transform: translateY(20px);
}

.convite__card.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

/* ajuda */

.ajuda__content {
    opacity: 0;
    transform: translateY(20px);
}

.ajuda__content.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.footer__nav a {
    transition: color 0.3s ease;
}

.footer__nav a:hover {
    color: var(--color-auxiliar-white);
}

@media (prefers-reduced-motion: reduce) {
    header,
    header.is-visible,
    .hero__eyebrow,
    #hero h1,
    .hero__lead,
    .hero__text,
    .button--cta,
    .hero__meta,
    .hero__player,
    .hero__bar li,
    .desafio__player,
    .desafio__content,
    .desafio__card,
    .metodo__content,
    .metodo__media,
    .metodo__features li,
    .funciona__header,
    .funciona__steps li,
    .jornada__top,
    .jornada__card,
    .prova__header,
    .prova__card,
    .prova__cta,
    .oferta__top,
    .oferta__card,
    .conduz__media,
    .conduz__content,
    .preco__card,
    .faq__header,
    .faq__item,
    .faq__cta,
    .convite__card,
    .ajuda__content,
    .hero__eyebrow.is-visible,
    #hero h1.is-visible,
    .hero__lead.is-visible,
    .hero__text.is-visible,
    .button--cta.is-visible,
    .hero__meta.is-visible,
    .hero__player.is-visible,
    .hero__bar li.is-visible,
    .desafio__player.is-visible,
    .desafio__content.is-visible,
    .desafio__card.is-visible,
    .metodo__content.is-visible,
    .metodo__media.is-visible,
    .metodo__features li.is-visible,
    .funciona__header.is-visible,
    .funciona__steps li.is-visible,
    .jornada__top.is-visible,
    .jornada__card.is-visible,
    .prova__header.is-visible,
    .prova__card.is-visible,
    .prova__cta.is-visible,
    .oferta__top.is-visible,
    .oferta__card.is-visible,
    .conduz__media.is-visible,
    .conduz__content.is-visible,
    .preco__card.is-visible,
    .faq__header.is-visible,
    .faq__item.is-visible,
    .faq__cta.is-visible,
    .convite__card.is-visible,
    .ajuda__content.is-visible {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .button,
    .button:hover,
    .button:active,
    .button--cta,
    .button--cta:hover,
    .button--cta:active,
    .button--cta.is-visible:hover,
    .button--cta.is-visible:active,
    .button--ghost:hover,
    .button--outline:hover {
        transform: none;
        transition: none;
        box-shadow: none;
        filter: none;
    }

    .header__toggle span {
        transition: none;
    }

    .desafio__play:hover .desafio__play-icon,
    .prova__play:hover .prova__play-icon,
    .jornada__play:hover .jornada__play-icon,
    .hero__play:hover .hero__play-icon,
    .prova__cta:hover {
        transform: none;
        box-shadow: none;
        filter: none;
    }

    .hero__player.is-loading .hero__play-icon::after,
    .desafio__player.is-loading .desafio__play-icon::after,
    .jornada__player.is-loading .jornada__play-icon::after,
    .prova__player.is-loading .prova__play-icon::after {
        animation: none;
        border-color: var(--color-auxiliar-white);
    }
}
