/* Transições */
.approach .title-appr,
.approach .desc-appr,
.approach .card,
.approach .card-title,
.approach .card-subtitle,
.approach .card-desc,
.approach .divider {
  transition: color 1400ms ease, border-color 1400ms ease, background-color 1400ms ease;
}

/* Estado inicial — cor branca */
.approach .title-appr,
.approach .desc-appr,
.approach .card-title,
.approach .card-subtitle,
.approach .card-desc {
  color: #ffffff;
}

.approach .card {
  border-color: #ffffff;
}

.approach .divider {
  background-color: #ffffff;
}

/* Estado ativo — cor preta com prioridade */
.active.approach .title-appr {
  color: #101727 ;
}

.active.approach .desc-appr {
  color: #101727 ;
}

.active.approach .card-title,
.active.approach .card-subtitle,
.active.approach .card-desc {
  color: #101727 ;
}

.active.approach .card {
  border-color: #101727 ;
}

.active.approach .divider {
  background-color: #101727 ;
}



/* Estado extra: elementos da approach ficam pretos se a seção já foi ativada alguma vez */
.entered-approach .title-appr,
.entered-approach .desc-appr,
.entered-approach .card-title,
.entered-approach .card-subtitle,
.entered-approach .card-desc {
  color: #302d7d  ;
}

.entered-approach .card {
  border-color: #302d7d  ;
}

.entered-approach .divider {
  background-color: #302d7d  ;
}



/* CARDS MOBILE */
.wrap-appr {
  padding: 3rem 0.8rem;
  max-width: 1440px;
  margin: auto;
}

.title-appr {
    margin-bottom: 1rem;
    font-size: 2.5rem;
}


.desc-appr {
    margin-bottom: 3rem;
    font-size: 1.5rem;
}


.card {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.3s, transform 0.3s;
    padding: 1.2rem 1rem;
    border-radius: 12px;
    border: 1px solid;
    margin-bottom: 2rem;
}

.card-title {
    font-size: 2rem;
    font-weight: 400;
    margin-bottom: 0.5rem;
}

.card-subtitle {
    font-size: 1.2rem;
    margin-bottom: 1rem;
    font-weight: 500;
    line-height: 1.4;
}

.card-desc {
    font-size: 1.3rem;
    line-height: 1.4;
}

.divider {
    width: 100%;
    height: 1px;
    background-color: #101727;
    margin-bottom: 1.5rem;
}




@media screen and (min-width: 768px) {


    .desc-appr {
    font-size: 2rem;
}

.card-title {
    font-size: 2.6rem;

}
}


@media screen and (min-width: 1024px) {

.cards-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; 
}

.title-appr {
    margin-bottom: 2rem;
    font-size: 4rem;
}

.desc-appr {
    margin-bottom: 5rem;
    font-size: 2.6rem;
}


.card {
  width: 100%;
    padding: 2.4rem;
}

.card-title {
    font-size: 2.8rem;
    font-weight: 400;
    margin-bottom: 0.5rem;
}

.card-subtitle {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
    line-height: 1.3;
    font-weight: 400;
}

.card-desc {
    font-size: 1.5rem;
    line-height: 1.5;
}



}



 @media screen and (min-width: 1280px) {

    .wrap-appr {
        padding: 6rem 0;
        width: 94%;
    }

    .card {
    padding: 3.5rem;
    margin-bottom: 2rem;
}

.card:last-child {
    margin-bottom: 0;
}

    .card-title {
    font-size: 3.5rem;
}

.card-subtitle {
    font-size: 2rem;
    margin-bottom: 1.5rem;
    line-height: 1.3;
}

.card-desc {
    font-size: 1.5rem;
    line-height: 1.5;
}




}


 @media screen and (min-width: 1280px) {
.card-desc {
    font-size: 2rem;
}

    .card-title {
    font-size: 3.8rem;
}

.card-subtitle {
    font-size: 2.2rem;

}


 }