/* Swiper — easing override */
.swiper-wrapper {
    transition-timing-function: cubic-bezier(0.32, 0.72, 0, 1);
}

/* Section / Hero Home */
.idx-hero-home {
    background-color: var(--semantics-colors-fill-accent-purpura);
    background-image: url("../assets/images/bg-hero.svg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: var(--semantics-colors-text-on-dark);
    min-height: 670px;
    padding: var(--semantics-spacing-massive) 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.idx-hero-home__inner {
    width: 100%;
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--semantics-spacing-bigger);
}

.idx-hero-home__text {
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-medium);
    text-align: center;
    max-width: 878px;
}

.idx-hero-home__title {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-display-48);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-2);
    color: var(--semantics-colors-text-on-dark);
    margin: 0;
}

.idx-hero-home__subtitle {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-18);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-on-dark);
    margin: 0;
}

.idx-hero-home__buttons {
    display: flex;
    gap: var(--semantics-spacing-medium);
    flex-wrap: wrap;
    justify-content: center;
}

/* Section / Nova Marca */
.idx-nova-marca {
    background-color: var(--semantics-colors-fill-accent-petunia);
    color: var(--semantics-colors-text-on-dark);
    padding-bottom: var(--semantics-spacing-massive);
    position: relative;
    z-index: 1;
}

.idx-nova-marca__inner {
    width: 100%;
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    display: flex;
    flex-direction: column;
}

.idx-nova-marca__hero {
    position: relative;
    width: 100%;
    aspect-ratio: 1329 / 740;
    border-radius: var(--semantics-radius-larger);
    overflow: hidden;
    background-color: var(--semantics-colors-fill-accent-petunia);
    margin-top: -60px;
    margin-bottom: var(--semantics-spacing-broad);
    z-index: 2;
}

.idx-nova-marca__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.idx-nova-marca__overlay {
    position: absolute;
    top: 80px;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: 400px;
    max-height: 340px;
    object-fit: fill;
    pointer-events: none;
    display: block;
}

.idx-nova-marca__play {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    background: transparent;
    border: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform var(--semantics-motion-duration-fast) var(--semantics-motion-easing-standard);
}

.idx-nova-marca__play:hover {
    transform: scale(1.05);
}

.idx-nova-marca__play img {
    display: block;
    width: 128px;
    height: auto;
}

.idx-nova-marca__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: none;
}

.idx-nova-marca__hero.is-playing .idx-nova-marca__image,
.idx-nova-marca__hero.is-playing .idx-nova-marca__overlay,
.idx-nova-marca__hero.is-playing .idx-nova-marca__play {
    display: none;
}

.idx-nova-marca__hero.is-playing .idx-nova-marca__video {
    display: block;
}

.idx-nova-marca__intro {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--semantics-spacing-massive);
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-bigger);
}

.idx-nova-marca__intro-head {
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-small);
    align-items: flex-start;
}

.idx-nova-marca__intro-tag {
    align-self: flex-start;
}

.idx-nova-marca__intro-title {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-heading-large);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-1);
    color: var(--semantics-colors-text-on-dark);
    margin: 0;
}

.idx-nova-marca__intro-desc {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-16);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-on-dark);
    margin: 0;
}

.idx-nova-marca__intro-desc strong {
    font-weight: 700;
    opacity: 1;
}

.idx-nova-marca__simboliza {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--semantics-spacing-bigger);
}

.idx-nova-marca__simboliza-title {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-14);
    line-height: 21px;
    color: var(--semantics-colors-text-on-dark);
    margin: 0;
    text-align: center;
}

.idx-nova-marca__cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--semantics-spacing-larger);
    width: 100%;
}

.idx-nova-marca__card {
    background-color: rgb(from var(--semantics-colors-fill-overlay-light) r g b / var(--semantics-opacity-softest));
    border-radius: var(--semantics-radius-large);
    padding: var(--semantics-spacing-big) var(--semantics-spacing-bigger);
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-bigger);
    align-items: flex-start;
}

.idx-nova-marca__card-icon {
    width: 60px;
    height: 60px;
    border-radius: var(--semantics-radius-full);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    color: var(--semantics-colors-text-on-dark);
    flex-shrink: 0;
}

.idx-nova-marca__card-icon i,
.idx-nova-marca__card-icon svg {
    display: block;
    width: 1em;
    height: 1em;
}

.idx-nova-marca__card-icon--ponkan { background-color: var(--semantics-colors-fill-accent-ponkan); color: var(--semantics-colors-text-primary); }
.idx-nova-marca__card-icon--pitaya { background-color: var(--semantics-colors-fill-decorative-pitaya-400); }
.idx-nova-marca__card-icon--pistache { background-color: var(--semantics-colors-fill-decorative-pistache-500); color: var(--semantics-colors-text-primary); }
.idx-nova-marca__card-icon--purpura { background-color: var(--semantics-colors-fill-decorative-purpura-500); }

.idx-nova-marca__card p {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-16);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-on-dark);
    margin: 0;
}

/* Section / Nosso Impacto */
.idx-impacto {
    background-color: var(--semantics-colors-fill-neutral);
    padding: var(--semantics-spacing-massive) 0;
}

.idx-impacto__inner {
    width: 100%;
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--semantics-spacing-big);
}

.idx-impacto__stats {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: var(--semantics-spacing-larger);
    width: 100%;
}

.idx-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0;
}

.idx-stat__value {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-display-48);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-2);
    color: var(--semantics-colors-text-heading-secondary);
    margin: 0;
}

.idx-stat__label {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-14);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-secondary);
    margin: 0;
}

/* Section / Cursos */
.idx-cursos {
    background-color: var(--semantics-colors-fill-primary-subtle);
    padding: var(--semantics-spacing-massive) 0;
    overflow: hidden;
}

.idx-cursos__inner {
    width: 100%;
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-wide);
}

.idx-cursos__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--semantics-spacing-bigger);
    flex-wrap: wrap;
}

.idx-cursos__header-left {
    flex: 1 1 auto;
    max-width: 1112px;
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-large);
    align-items: flex-start;
}

.idx-cursos__title {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-heading-xx-large);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-2);
    color: var(--semantics-colors-text-heading-default);
    margin: 0;
}

.idx-cursos__desc {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-16);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-secondary);
    margin: 0;
    max-width: 720px;
}

.idx-cursos__swiper {
    width: 100%;
    overflow: visible;
    padding-bottom: var(--semantics-spacing-bigger);
}

.idx-cursos__swiper .swiper-slide {
    width: 426px;
    height: auto;
    display: flex;
}

.idx-cursos__swiper .idx-curso {
    width: 100%;
}

.idx-cursos__controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--semantics-spacing-large);
    margin-top: var(--semantics-spacing-bigger);
}

.idx-cursos__nav {
    display: flex;
    gap: var(--semantics-spacing-medium);
    align-items: center;
}

.idx-cursos__btn {
    position: static;
    width: 44px;
    height: 44px;
    border-radius: var(--semantics-radius-full);
    background-color: var(--semantics-colors-fill-accent-purpura);
    color: var(--semantics-colors-text-on-dark);
    border: 0;
    margin: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--semantics-typography-body-16);
    transition: background-color var(--semantics-motion-duration-fast) var(--semantics-motion-easing-standard);
}

.idx-cursos__btn:hover {
    background-color: var(--semantics-colors-fill-interactive-primary-hover);
}

.idx-cursos__btn::after {
    display: none;
}

.idx-cursos__btn.swiper-button-disabled {
    opacity: var(--semantics-opacity-muted);
    cursor: not-allowed;
}

.idx-cursos__pagination.swiper-pagination {
    position: static;
    display: inline-flex;
    align-items: center;
    gap: var(--semantics-spacing-small);
    width: auto;
}

.idx-cursos__pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background-color: var(--semantics-colors-fill-accent-purpura);
    opacity: var(--semantics-opacity-muted);
    margin: 0 !important;
    transition: width var(--semantics-motion-duration-base) var(--semantics-motion-easing-standard), opacity var(--semantics-motion-duration-fast) var(--semantics-motion-easing-standard);
    border-radius: var(--semantics-radius-full);
}

.idx-cursos__pagination .swiper-pagination-bullet-active {
    opacity: var(--semantics-opacity-full);
    width: 24px;
}

.idx-curso {
    background-color: var(--semantics-colors-fill-neutral);
    border-radius: var(--semantics-radius-larger);
    box-shadow: var(--semantics-shadow-petunia-4);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 540px;
}

.idx-curso__image-area {
    position: relative;
    width: 100%;
    background-color: var(--semantics-colors-fill-secondary-subtle);
    flex-shrink: 0;
}

.idx-curso__image {
    height: 180px;
    width: 100%;
    background-size: cover;
    background-position: center;
}

.idx-curso--c1 .idx-curso__image { background-image: url("../assets/images/home/cursos/cursos-1.png"); }
.idx-curso--c2 .idx-curso__image { background-image: url("../assets/images/home/cursos/cursos-2.png"); }
.idx-curso--c3 .idx-curso__image { background-image: url("../assets/images/home/cursos/cursos-3.png"); }
.idx-curso--c4 .idx-curso__image { background-image: url("../assets/images/home/cursos/cursos-4.png"); }
.idx-curso--c5 .idx-curso__image { background-image: url("../assets/images/home/cursos/cursos-5.png"); }
.idx-curso--c6 .idx-curso__image { background-image: url("../assets/images/home/cursos/cursos-6.png"); }
.idx-curso--c7 .idx-curso__image { background-image: url("../assets/images/home/cursos/cursos-7.png"); }
.idx-curso--c8 .idx-curso__image { background-image: url("../assets/images/home/cursos/cursos-8.png"); }
.idx-curso--c9 .idx-curso__image { background-image: url("../assets/images/home/cursos/cursos-9.png"); }

.idx-curso__tags {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    gap: var(--semantics-spacing-small);
    padding: var(--semantics-spacing-medium) var(--semantics-spacing-bigger);
}

.idx-curso__body {
    padding: var(--semantics-spacing-bigger);
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-large);
    flex: 1 1 auto;
    min-height: 0;
}

.idx-curso__title {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-heading-x-small);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-1);
    color: var(--semantics-colors-text-accent-petunia);
    margin: 0;
}

.idx-curso__info {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-small);
}

.idx-curso__info li {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-14);
    line-height: 21px;
    color: var(--semantics-colors-text-secondary);
    display: flex;
    align-items: center;
    gap: var(--semantics-spacing-small);
}

.idx-curso__info i {
    font-size: var(--semantics-typography-heading-x-small);
    flex-shrink: 0;
    color: var(--semantics-colors-icon-accent-petunia);
}

.idx-curso__footer {
    padding: 0 var(--semantics-spacing-bigger) var(--semantics-spacing-bigger);
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-medium);
    align-items: stretch;
}

.idx-curso__footer .btn {
    width: 100%;
}

.idx-curso__link {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 600;
    font-size: var(--semantics-typography-label-12);
    line-height: 18px;
    color: var(--semantics-colors-text-interactive-link-default);
    text-decoration: underline;
    text-align: center;
    padding: var(--semantics-spacing-micro) 0;
    transition: color var(--semantics-motion-duration-fast) var(--semantics-motion-easing-standard);
}

.idx-curso__link:hover {
    color: var(--semantics-colors-text-interactive-link-hover);
}

/* Section / Ciclo do Aluno */
.idx-ciclo {
    background-color: var(--semantics-colors-fill-neutral);
    padding: var(--semantics-spacing-massive) 0;
}

.idx-ciclo__inner {
    width: 100%;
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    display: flex;
    flex-direction: column;
    gap: var(--semantics-padding-broad);
}

.idx-ciclo__header {
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-bigger);
    align-items: flex-start;
}

.idx-ciclo__title {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-heading-xx-large);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-2);
    color: var(--semantics-colors-text-heading-secondary);
    margin: 0;
}

.idx-ciclo__content {
    display: grid;
    grid-template-columns: minmax(0, 772fr) minmax(0, 492fr);
    gap: var(--semantics-spacing-broad);
    align-items: start;
}

.idx-ciclo__steps {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--semantics-spacing-big) var(--semantics-spacing-broad);
}

.idx-step {
    display: flex;
    align-items: center;
    gap: var(--semantics-spacing-large);
}

.idx-step__number {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-heading-small);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-1);
    color: var(--semantics-colors-text-heading-default);
    flex-shrink: 0;
}

.idx-step__body {
    flex: 1 1 auto;
}

.idx-step__title {
    font-family: var(--semantics-typography-family-inter);
    font-weight: var(--semantics-typography-weight-bold);
    font-size: var(--semantics-typography-body-16);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-accent-purpura);
    margin: 0 0 var(--semantics-spacing-small);
}

.idx-step__desc {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-16);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-secondary);
    margin: 0;
}

.idx-ciclo__image {
    aspect-ratio: 492/442;
    border-radius: var(--semantics-radius-larger);
    background: url("../assets/images/home/ciclo-do-aluno/ciclo-do-aluno.png") center/cover no-repeat;
}

/* Section / Impacto (Formamos mais...) */
.idx-formamos {
    background-color: var(--semantics-colors-fill-secondary-subtle);
    padding: var(--semantics-spacing-massive) 0;
}

.idx-formamos__inner {
    width: 100%;
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-wide);
}

.idx-formamos__header {
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-bigger);
}

.idx-formamos__title {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-heading-xx-large);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-2);
    color: var(--semantics-colors-text-heading-secondary);
    margin: 0;
    max-width: 700px;
}

.idx-formamos__desc {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-16);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-primary);
    opacity: 0.65;
    margin: 0;
    max-width: 540px;
}

.idx-formamos__gallery {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: var(--semantics-spacing-large);
    align-items: start;
}

.idx-formamos__photo {
    aspect-ratio: 200 / 360;
    border-radius: var(--semantics-radius-larger);
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-color: var(--semantics-colors-fill-primary);
}

.idx-formamos__photo--p1 {
    background-image: url("../assets/images/home/beneficios/Imagem-beneficio-1.png");
}

.idx-formamos__photo--p2 {
    background-image: url("../assets/images/home/beneficios/Imagem-beneficio-2.png");
}

.idx-formamos__photo--p3 {
    background-image: url("../assets/images/home/beneficios/Imagem-beneficio-3.png");
}

.idx-formamos__skill {
    border-radius: var(--semantics-radius-larger);
    padding: 64px var(--semantics-spacing-bigger) var(--semantics-spacing-bigger);
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-bigger);
}

.idx-formamos__skill--ponkan {
    aspect-ratio: 205 / 240;
    background-color: var(--semantics-colors-fill-accent-ponkan);
    color: var(--semantics-colors-text-primary);
}

.idx-formamos__skill--purpura {
    aspect-ratio: 205 / 300;
    background-color: var(--semantics-colors-fill-accent-purpura);
    color: var(--semantics-colors-text-on-dark);
}

.idx-formamos__skill--petunia {
    aspect-ratio: 205 / 300;
    background-color: var(--semantics-colors-fill-accent-petunia);
    color: var(--semantics-colors-text-on-dark);
}

.idx-formamos__competencia {
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-tiny);
}

.idx-formamos__competencia h3 {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 700;
    font-size: var(--semantics-typography-body-14);
    line-height: 21px;
    color: inherit;
    margin: 0;
}

.idx-formamos__competencia p {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-14);
    line-height: 21px;
    color: inherit;
    opacity: var(--semantics-opacity-bold);
    margin: 0;
}

/* Section / Depoimentos */
.idx-depoimentos {
    background-color: var(--semantics-colors-fill-accent-petunia);
    color: var(--semantics-colors-text-on-dark);
    padding: var(--semantics-spacing-massive) 0;
    overflow: hidden;
}

.idx-depoimentos__inner {
    width: 100%;
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-wide);
}

.idx-depoimentos__header {
    display: flex;
    flex-direction: column;
    gap: var(--semantics-spacing-small);
    align-items: flex-start;
}

.idx-depoimentos__title {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-heading-xx-large);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-2);
    color: var(--semantics-colors-text-on-dark);
    margin: 0;
}

.idx-depoimentos__swiper {
    width: 100%;
    overflow: visible;
    padding-bottom: var(--semantics-spacing-bigger);
}

.idx-depoimentos__swiper .swiper-slide {
    height: auto;
}

.idx-depoimentos__swiper .testimonial {
    height: 100%;
    max-width: none;
}

.idx-depoimentos__controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--semantics-spacing-large);
    margin-top: var(--semantics-spacing-bigger);
}

.idx-depoimentos__nav {
    display: flex;
    gap: var(--semantics-spacing-medium);
    align-items: center;
}

.idx-depoimentos .swiper-button-prev,
.idx-depoimentos .swiper-button-next {
    position: static;
    width: 44px;
    height: 44px;
    border-radius: var(--semantics-radius-full);
    background-color: rgb(from var(--semantics-colors-fill-overlay-light) r g b / var(--semantics-opacity-softest));
    color: var(--semantics-colors-text-on-dark);
    border: 0;
    margin: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--semantics-typography-body-16);
    transition: background-color var(--semantics-motion-duration-fast) var(--semantics-motion-easing-standard);
}

.idx-depoimentos .swiper-button-prev:hover,
.idx-depoimentos .swiper-button-next:hover {
    background-color: rgb(from var(--semantics-colors-fill-overlay-light) r g b / var(--semantics-opacity-soft));
}

.idx-depoimentos .swiper-button-prev::after,
.idx-depoimentos .swiper-button-next::after {
    display: none;
}

.idx-depoimentos .swiper-button-disabled {
    opacity: var(--semantics-opacity-muted);
    cursor: not-allowed;
}

.idx-depoimentos .swiper-pagination {
    position: static;
    display: inline-flex;
    align-items: center;
    gap: var(--semantics-spacing-small);
    width: auto;
}

.idx-depoimentos .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background-color: var(--semantics-colors-fill-overlay-light);
    opacity: var(--semantics-opacity-muted);
    margin: 0 !important;
    transition: width var(--semantics-motion-duration-base) var(--semantics-motion-easing-standard), opacity var(--semantics-motion-duration-fast) var(--semantics-motion-easing-standard);
    border-radius: var(--semantics-radius-full);
}

.idx-depoimentos .swiper-pagination-bullet-active {
    opacity: var(--semantics-opacity-full);
    width: 24px;
}

/* Section / Mantenedores */
.idx-parceiros {
    background-color: var(--semantics-colors-fill-neutral);
    padding: var(--semantics-padding-broad) 0;
}

.idx-parceiros__inner {
    width: 100%;
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--semantics-padding-bigger);
}

.idx-parceiros__logos {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--semantics-spacing-larger);
    width: 100%;
}

.idx-parceiro {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 122px;
    background-color: var(--semantics-colors-fill-neutral);
    border: var(--semantics-stroke-thin) solid var(--semantics-colors-stroke-primary);
    border-radius: var(--semantics-radius-larger);
    padding: 0 var(--semantics-spacing-bigger);
}

.idx-parceiro__name {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-heading-small);
    letter-spacing: 0.04em;
    color: var(--semantics-colors-text-primary);
}

.idx-parceiro__logo {
    width: auto;
    height: auto;
    object-fit: contain;
}

/* Section / FAQ */
.idx-faq {
    background-color: var(--semantics-colors-fill-neutral);
    padding: var(--semantics-padding-broad) 0;
}

.idx-faq__inner {
    width: 100%;
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--semantics-spacing-wide);
}

.idx-faq__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--semantics-spacing-large);
    max-width: 535px;
}

.idx-faq__title {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-heading-xx-large);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-2);
    color: var(--semantics-colors-text-heading-default);
    margin: 0;
}

.idx-faq__desc {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-16);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-secondary);
    margin: 0;
}

/* Section / Banner Empresas */
.idx-banner {
    background-color: var(--semantics-colors-fill-neutral);
    padding: var(--semantics-padding-broad) 0;
}

.idx-banner__inner {
    width: 100%;
    max-width: var(--semantics-container-max);
    margin: 0 auto;
    padding: 0 var(--semantics-spacing-large);
}

.idx-banner__card {
    background-color: var(--semantics-colors-fill-accent-petunia);
    color: var(--semantics-colors-text-on-dark);
    border-radius: var(--semantics-radius-big);
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 695fr) minmax(0, 601fr);
    align-items: stretch;
    min-height: 395px;
}

.idx-banner__image {
    background: url("../assets/images/home/banner-para-empresas/Imagem-banner-para-empresas.png") center/cover no-repeat;
}

.idx-banner__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--semantics-spacing-large);
    padding: var(--semantics-spacing-broad);
}

.idx-banner__title {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: 700;
    font-size: var(--semantics-typography-heading-large);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-1);
    color: var(--semantics-colors-text-on-dark);
    margin: 0;
}

.idx-banner__title em {
    font-style: normal;
    color: var(--semantics-colors-fill-secondary);
}

.idx-banner__desc {
    font-family: var(--semantics-typography-family-inter);
    font-weight: 400;
    font-size: var(--semantics-typography-body-16);
    line-height: var(--semantics-typography-baseline-normal);
    color: var(--semantics-colors-text-on-dark);
    opacity: var(--semantics-opacity-bold);
    margin: 0;
    max-width: 540px;
}

.idx-banner__buttons {
    display: flex;
    gap: var(--semantics-spacing-medium);
    flex-wrap: wrap;
    margin-top: var(--semantics-spacing-medium);
}

@media (max-width: 1024px) {
    .idx-nova-marca__cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .idx-nova-marca__overlay {
        max-width: 280px;
    }

    .idx-impacto__stats {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--semantics-spacing-bigger);
    }

    .idx-ciclo__content {
        grid-template-columns: 1fr;
    }

    .idx-formamos__header {
        grid-template-columns: 1fr;
    }

    .idx-formamos__brand {
        width: 100%;
    }

    .idx-formamos__gallery {
        grid-template-columns: repeat(3, 1fr);
    }

    .idx-banner__card {
        grid-template-columns: 1fr;
    }

    .idx-banner__image {
        min-height: 300px;
    }

    .idx-parceiros__logos {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .idx-hero-home,
    .idx-impacto,
    .idx-cursos,
    .idx-ciclo,
    .idx-formamos,
    .idx-depoimentos,
    .idx-parceiros,
    .idx-faq,
    .idx-banner {
        padding: var(--semantics-padding-bigger) 0;
    }

    .idx-hero-home {
        min-height: 720px;
    }

    .idx-hero-home__inner {
        align-items: flex-start;
    }

    .idx-hero-home__text {
        text-align: left;
    }

    .idx-hero-home__title {
        font-size: var(--semantics-typography-heading-xx-large);
    }

    .idx-hero-home__buttons {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }

    .idx-hero-home__buttons .btn {
        width: 100%;
    }

    .idx-impacto__stats {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--semantics-spacing-larger);
    }

    .idx-impacto__stats .idx-stat:last-child {
        grid-column: 1 / -1;
    }

    .idx-nova-marca__cards {
        grid-template-columns: 1fr;
    }

    .idx-nova-marca__hero {
        aspect-ratio: 4 / 5;
    }

    .idx-parceiros__logos {
        grid-template-columns: 1fr;
    }

    .idx-nova-marca__overlay {
        display: none;
    }

    .idx-banner__content {
        padding: var(--semantics-spacing-big);
    }

    .idx-banner__buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .idx-banner__buttons .btn {
        width: 100%;
    }

    .idx-ciclo__steps {
        grid-template-columns: 1fr;
    }

    .idx-formamos__gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    .idx-curso {
        height: auto;
        min-height: 540px;
    }

    .idx-cursos__nav,
    .idx-depoimentos__nav {
        display: none;
    }

    .idx-cursos__pagination .swiper-pagination-bullet,
    .idx-depoimentos .swiper-pagination-bullet {
        width: 12px;
        height: 12px;
    }

    .idx-cursos__pagination .swiper-pagination-bullet-active,
    .idx-depoimentos .swiper-pagination-bullet-active {
        width: 32px;
    }

    .idx-cursos__title,
    .idx-ciclo__title,
    .idx-formamos__title,
    .idx-faq__title,
    .idx-depoimentos__title {
        font-size: var(--semantics-typography-heading-large);
    }

    .idx-stat__value {
        font-size: var(--semantics-typography-heading-xx-large);
    }

    .idx-banner__title {
        font-size: var(--semantics-typography-heading-small);
    }
}
