.casesdesucesso {
    width: 99vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    overflow: hidden;
}

.casesdesucesso h2 {
    margin-top: 36px;
}

.carousel-wrapper {
    position: relative;
}

.carousel {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.carousel-item {
    padding: 15px 40px;
    flex: 0 0 70vw;
    width: 100%;
    min-width: 100%;
    margin: 0 40px;
    border-radius: 20px;
    background-color: #f5e8db;
    display: flex;
    align-items: center;
}

.carousel-content {
    flex: 1;
    padding-right: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.carousel-content h3 {
    margin-bottom: 10px;
    padding-bottom: 10px;
}
.carousel-image {
    flex: 1;
}
.carousel-image {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.carousel-nav {
    position: absolute;
    top: 50%;
    width: 100%;
    left: 0;
    display: flex;
    justify-content: space-between;
    transform: translateY(-50%);
    pointer-events: none;
}
.carousel-nav button {
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    font-size: 18px;
    pointer-events: auto;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.carousel-nav .prev {
    left: 27px;
}
.carousel-nav .next {
    right: 27px;
}
.carousel .carousel-item:nth-child(1) {
    margin-left: 0 !important;
}
@media (max-width: 1280px) {
    .carousel-item {
        flex: 0 0 90vw;
        width: 90vw;
        margin: 0 5vw;
        flex-direction: column;
    }
    .carousel-nav {
        display: none;
    }
    .carousel-content {
        padding-right: 0;
        padding-bottom: 20px;
    }
}

section.gestao-curricular p {
    color: var(--color-azul);
}

/* Seção de duas colunas */
.duas-colunas {
    position: relative;
    padding: 60px 0;
}

.duas-colunas-bg {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left;
}

.sem-nome {
    padding-top: 120px;
}

.sem-nome .coluna-imagem-coluna {
    margin: 0 auto;
    text-align: center;
}

.sem-nome .coluna-imagem-coluna p {
    color: var(--color-azul);
    font-weight: 500;
    margin: 0 auto;
    width: 60%;
    padding-bottom: 50px;
}

.geracao-relatorios {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
}

.sem-nome .container {
    background-color: #6feaef;
    border-radius: 20px;
    padding-right: 0;
}

.sem-nome .coluna-imagem {
    flex: 0 0 560px;
}

.sem-nome .coluna-imagem img {
    border-radius: 0 20px 20px 0;
}

.duas-colunas .banco-questoes h2,
.geracao-relatorios h2,
.seguranca-aplicacao h2,
.sem-nome2 h2 {
    text-align: left;
    font-size: 3.7rem !important;
    line-height: 57px;
}

.duas-colunas .banco-questoes h2 {
}

.duas-colunas .banco-questoes p,
.geracao-relatorios p,
.seguranca-aplicacao p {
    width: 80%;
    font-size: 1.1rem;
    margin-top: 10px;
}

.duas-colunas .banco-questoes p {
    width: 100%;
}

.seguranca-aplicacao h3.wiris {
    padding-bottom: 10px;
}

.geracao-relatorios .coluna-texto,
.seguracan-aplicacao .coluna-texto-coluna,
.gestao-curricular .coluna-texto {
    align-items: start;
}

.wiris-coluna {
    padding-top: 150px;
}

.geracao-relatorios .coluna-texto p {
    text-align: left;
}

.geracao-relatorios {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
}

.gestao-curricular h2,
.gestao-curricular p.onest-normal {
    color: var(--color-branco);
}

.seguranca-aplicacao h3.wiris {
    padding-bottom: 10px;
}

.gestao2 h2,
.gestao2 p.onest-normal {
    color: var(--color-azul);
}

.sem-nome2 {
    background-color: #f5e8db;
    height: 650px;
    padding-top: 0px;
    margin-bottom: 80px;
    overflow: visible;
}

.sem-nome2 p {
    text-align: left;
    color: var(--color-cinza80) !important;
}

.sem-nome2 .coluna-texto {
    align-items: start;
}

.grid {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    position: relative; /* Para controlar o contexto do posicionamento */
    overflow: hidden; /* Garante que nada fora do container vaze */
}

/* Primeira Coluna: Imagem estourando os limites */
.coluna-imagem-coluna {
    flex: 1;
    position: relative; /* Permite mover a imagem */
    margin-left: -15%; /* Ajuste de margem para "quebrar" os limites da container */
}

section.seguranca-aplicacao .coluna-imagem-coluna {
    margin-left: 0;
}

.imagem-estourada {
    width: 100%;
    object-fit: cover;
}

section.seguranca-aplicacao .imagem-estourada {
    width: 100%;
    margin-top: 130px;
}

@media (max-width: 1280px) {
    section.seguranca-aplicacao .imagem-estourada {
        margin-top: 0;
    }
}
/* Segunda Coluna: Título, Descrição e Botão */
.coluna-texto-coluna {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 30px; /* Espaçamento da esquerda para distanciar do limite da imagem */
    padding-bottom: 110px;
}

.coluna-texto-coluna h2 {
    font-size: 2.5rem;
    margin-bottom: 20px;
    color: var(--color-azul); /* Ajuste de cor */
}

.coluna-texto-coluna p {
    font-size: 1.1rem;
    margin-bottom: 30px;
    margin-top: 10px;
    color: var(--color-cinza); /* Ajuste a cor conforme seu design */
    text-align: left !important;
}

/* Responsividade */
@media (max-width: 1280px) {
    .grid {
        flex-direction: column;
    }

    .coluna-imagem-coluna {
        width: 100%;
    }

    .imagem-estourada {
        width: 100%;
        left: 0; /* Centraliza a imagem em telas menores */
    }

    .coluna-texto-coluna {
        text-align: center;
    }

    .coluna-texto h2,
    .coluna-texto p {
        text-align: center;
    }
}

/* Estrutura geral */
.duas-colunas-invertidas {
    padding: 60px 0;
}

.grid {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    position: relative; /* Para controlar o contexto do posicionamento */
    overflow: hidden; /* Garante que nada fora do container vaze */
}

section.alinhamento-pedagogico {
    padding-top: 120px;
}

.alinhamento-pedagogico h2 {
    text-align: left;
    line-height: 57px;
}

/* Primeira Coluna: Título, Descrição e Botão */
.duas-colunas-invertidas .coluna-texto {
    /* flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: center; */
}

.duas-colunas-invertidas .coluna-texto h2 {
    font-size: 2.5rem;
    margin-bottom: 20px;
    color: var(--color-azul); /* Ajuste de cor */
}

.duas-colunas-invertidas .coluna-texto p {
    font-size: 1.1rem;
    margin-bottom: 30px;
    margin-top: 10px;
    color: var(--color-cinza); /* Ajuste de cor */
}

/* Segunda Coluna: Imagem ultrapassando os limites do container à direita */
.duas-colunas-invertidas .coluna-imagem {
    flex: 1;
    position: relative;
    overflow: hidden; /* Para garantir que o layout não quebre */
}

.duas-colunas-invertidas .imagem-direita {
    width: 100%;
    margin-top: -100px !important;
    margin-right: -20px; /* Desloca a imagem para a direita, ultrapassando o container */
    object-fit: cover;
}

.wuus {
    text-align: center;
}

.wuus img {
    width: auto !important;
    object-fit: initial !important;
}

/* Seção Atributos Qstione */
.atributos-qstione {
    padding: 60px 0;
}

.atributos-qstione p {
    color: var(--color-cinza80) !important;
}

.atributos-qstione h3 {
    padding-bottom: 0;
}

.atributos-qstione .coluna:first-child {
    border-right: 1px solid var(--color-areia);
}

.atributos-qstione .coluna:nth-child(3) {
    border-left: 1px solid var(--color-areia);
}

.avaliacoes-qstione {
    margin-top: 120px;
    padding-top: 120px;
    padding-bottom: 120px;
    background-color: var(--color-areia);
}

.avaliacoes-qstione .cta-container {
    margin-top: 30px;
}

.grid {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}

.coluna {
    flex: 1;
    text-align: center;
}

.atributo-icon {
    width: 80px; /* Ajuste conforme o tamanho desejado do ícone */
    height: auto;
    margin-bottom: 20px;
}

.coluna h3 {
    font-size: 1.5rem;
    margin-bottom: 15px;
    color: var(--color-azul); /* Ajuste para a cor desejada */
}

.coluna p {
    font-size: 1rem;
    color: #666; /* Ajuste conforme o design */
}

/* Botão CTA */
.cta-container {
    text-align: center;
    margin-top: 80px;
}

/* Responsividade */
@media (max-width: 1280px) {
    .grid {
        flex-direction: column;
        align-items: center;
    }

    .coluna {
        margin-bottom: 30px; /* Espaçamento entre as colunas no mobile */
    }

    .atributo-icon {
        width: 70px;
    }
}

/* Responsividade */
@media (max-width: 1280px) {
    .grid {
        flex-direction: column;
    }

    .duas-colunas-invertidas .coluna-imagem {
        width: 100%;
        margin-right: 0;
    }

    .duas-colunas-invertidas .imagem-direita {
        width: 100%;
        height: auto;
        margin-top: 0 !important;
    }

    .duas-colunas-invertidas .coluna-texto {
        text-align: center;
    }

    .duas-colunas-invertidas .coluna-texto h2,
    .coluna-texto p {
        text-align: center;
    }

    .sem-nome {
        padding-top: 70px;
    }

    .sem-nome2 {
        height: auto;
        margin-bottom: 0;
    }
}

section.assessoria-setor-publico {
    height: initial;
    display: flex;
    align-items: center;
}

section.assessoria-setor-publico.hero {
    padding-top: 30px;
}

section.assessoria-setor-publico h2 {
    font-size: 3rem;
    text-align: left;
}

section.assessoria-setor-publico .coluna-texto {
    align-items: start;
}

section.assessoria-setor-publico .coluna-texto-coluna p {
    color: var(--color-branco);
}

section.setor-publico {
    padding-top: 122px;
    background-color: var(--color-azulmarina);
}

.setor-publico p {
    color: var(--color-azul);
}

/* Seção Nossos Serviços */
.nossos-servicos {
    padding: 60px 0;
    padding-top: 120px;
    padding-bottom: 120px;
    background-color: #fff;
}

.nossos-servicos .bloco-servico h3 {
    font-size: 1.5rem;
    margin-bottom: 0;
    padding-bottom: 20px;
}

.nossos-servicos .coluna-servicos:nth-child(2) {
    /* margin-top: -270px; */
}

.coluna-servicos {
    flex: 1;
}

/* Título da 1ª Coluna centralizado em relação ao 1º bloco da 2ª coluna */
.titulo-servicos {
    font-size: 2.5rem;
    text-align: left;
    margin-bottom: 30px;
    position: relative;
}

h2.titulo-servicos {
    font-size: 3.7rem;
}

/* Blocos de Serviço */
.bloco-servico {
    background-color: #e6ebf5;
    border-radius: 32px;
    padding: 30px;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    align-items: start;
    text-align: left;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.icone-servico {
    width: 60px; /* Ajuste conforme necessário */
    height: auto;
    margin-bottom: 15px;
}

.bloco-servico h3 {
    font-size: 1.5rem;
    margin-bottom: 10px;
}

.bloco-servico p {
    font-size: 1rem;
    color: #666;
    text-align: left;
}

.avaliacoes {
    padding-top: 176px;
    padding-bottom: 168px;
    background-color: var(--color-orquidea);
}

.avaliacoes-metodo {
    padding: 120px 0;
    background-color: var(--color-orquidea);
}

.avaliacoes-metodo h2 {
    color: var(--color-branco);
    font-size: 3.5rem;
}

.avaliacoes-metodo .cta-container {
    margin-top: 20px;
}

.avaliacoes h2 {
    color: var(--color-branco);
}

/* Reset e configurações base */
.imagem-full-coluna-dir {
    width: 100%;
    position: relative;
    overflow: hidden;
    padding: initial;
    background-color: var(--color-orquidea);
    background-position: right;
    background-size: contain;
    background-repeat: no-repeat;
}

/* Grid principal */
.grid-colunas {
    display: flex;
    width: 100%;
    min-height: 500px; /* Ajuste conforme necessário */
}

/* Coluna da imagem */
.coluna-imagem {
    width: 50%;
    flex: 0 0 615px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Coluna do texto */
.coluna-texto {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

/* Wrapper do texto para controlar a largura */
.texto-wrapper {
    width: 614px;
    padding: 40px;
}

/* Estilos do texto */
.coluna-texto h2 {
    margin-bottom: 20px;
    /* Adicione aqui os estilos específicos para o h2 */
}

.coluna-texto p {
    text-align: left;
    color: var(--color-branco);
    font-size: 1rem;
}

section.imagem-full-coluna-dir .coluna-texto p {
    margin: 0 auto;
    width: 90%;
    margin-left: 0;
}

/* Responsividade */
@media (max-width: 1280px) {
    .grid-colunas {
        flex-direction: column;
    }

    .coluna-imagem,
    .coluna-texto {
        width: 100%;
    }

    .coluna-imagem {
        min-height: 300px;
    }

    .texto-wrapper {
        width: 100%;
        max-width: 614px;
        margin: 0 auto;
    }
}

/* Responsividade */
@media (max-width: 1280px) {
    .grid {
        flex-direction: column; /* Coloca as colunas uma embaixo da outra */
    }

    .titulo-servicos {
        top: 0;
    }

    .bloco-servico {
        padding: 20px;
    }
}

/* Responsividade */
@media (max-width: 1280px) {
    .duas-colunas .banco-questoes h2,
    .coluna-texto-coluna h2,
    .sem-nome h2,
    .sem-nome2 .coluna-texto h2 {
        font-size: 2.3rem !important;
        line-height: 43px;
    }

    .geracao-relatorios {
        padding-top: 40px;
    }

    .geracao-relatorios .coluna-texto h2 {
        font-size: 2.1rem !important;
        line-height: 43px;
        text-align: left;
    }

    .seguranca-aplicacao {
        padding-top: 100px;
    }

    .seguranca-aplicacao .coluna-imagem-coluna {
        margin-left: initial !important;
    }

    .sem-nome a.btn-cta,
    .sem-nome2 a.btn-cta .atributos-qstione .cta-container a.btn-cta {
        width: 100%;
    }

    .sem-nome2 a.btn-cta {
        margin-top: 5px;
        margin-bottom: 40px;
    }

    .sem-nome2 .coluna-texto h2,
    .sem-nome2 .coluna-texto p,
    .sem-nome h2,
    .avaliacoes-qstione h2 {
        text-align: left;
    }

    .sem-nome2 .coluna-texto p {
        margin-top: 20px;
        margin-bottom: 40px;
    }

    .sem-nome .container {
        max-width: 90%;
    }

    .sem-nome h2 {
        width: 88%;
        margin: 0 auto;
        padding-bottom: 40px;
    }

    .sem-nome .coluna-imagem-coluna p {
        padding-top: 50px;
        width: 80%;
    }

    .sem-nome .container {
        padding-right: initial;
        padding-left: initial;
    }

    .sem-nome a.btn-cta {
        width: 80% !important;
    }

    .sem-nome .coluna-imagem {
        flex: auto;
        margin-bottom: 0 !important;
        align-items: end;
    }

    .sem-nome .coluna-imagem img {
        border-radius: 0 0 20px 20px;
        max-width: 100%;
        margin-top: 20px;
    }

    .avaliacoes-qstione {
        background-color: var(--color-orquidea);
    }

    .avaliacoes-qstione h2 {
        color: var(--color-branco);
        line-height: 52px;
        font-size: 3.1rem;
    }

    .atributos-qstione .coluna p {
        font-size: 1.1rem;
        font-weight: 400;
        margin-bottom: 0;
    }

    .coluna {
        position: relative;
    }

    .coluna::after {
        content: "";
        position: absolute;
        bottom: -20px; /* Ajuste este valor para controlar o espaçamento entre a div e a linha */
        left: 50%;
        transform: translateX(-50%);
        width: 198px;
        height: 1px;
        background-color: #bec0cc;
    }
}

@media (min-width: 1280px) and (max-width: 1440px) {
    .duas-colunas-bg {
        background-size: 44%;
    }

    .geracao-relatorios {
        background-size: 47%;
        background-position-y: 100%;
    }
}

@media (min-width: 1440px) {
    .geracao-relatorios {
        margin-top: 80px !important;
        background-position-x: 75%;
    }
    .duas-colunas-bg {
        background-size: 55%;
    }
}
