﻿#faq{
    margin-bottom: 50px;
    margin-top: 20px;
}
#faq .titulo {
    font-weight: 700;
    font-size: 28px;
    line-height: 100%;
    letter-spacing: 0.04em; 
}


#faq .titulo b {
    color: var(--roxo);
}


#faq .organiza_faq {
    margin-top: 20px;
}


#faq .faq-pergunta {
    font-size: 18px; 
    font-weight: 500;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 30px 0px;
    color: #1E1E24;
    border-top: 1px solid #9e9e9e49;
    cursor: pointer;
}


#faq .faq-item:first-child .faq-pergunta {
    border-top: none;
}


#faq .faq-pergunta.faq_active {
    color: #26276C;
    font-weight: 700;
}


#faq .faq-item {
    margin: 0;
}


#faq .faq-pergunta::after {
    content: url(../../tecnologia/gestao/seta-faq.png);
    width: 12px;
    display: block;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    filter: grayscale(1);
    -webkit-filter: grayscale(1);
}


#faq .faq_active.faq-pergunta::after {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    filter: grayscale(0);
    -webkit-filter: grayscale(0);
}


#faq .faq-resposta {
    color: var(--preto);
    margin: 0;
    overflow: hidden;
    -webkit-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    max-height: 0px;
    padding: 0px !important;
}


#faq .faq-resposta .texto-resposta {
    padding: 0px 0px 30px;
    font-size: 16px;
    line-height: 26px;
    width: 93%;
    color: #1E1E24;
}


#faq .display_faq {
    max-height: 1000px;
}


/*Espelha a #totvs do Quem Somos (custom-styles/quem-somos/quem-somos.css) */
#oque {
    margin-bottom: 100px;
    position: relative;
    background-color: #fafbff;
}


#oque .titulo {
    font-weight: 700;
    color: var(--roxo);
    font-size: 34px;
    line-height: 1.25;
    margin-bottom: 35px;
    max-width: 614px;
}


#oque .texto {
    font-weight: 500;
    font-size: 18px;
    line-height: 1.65;
    margin: 0 0 20px;
}


#oque .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}


#oque .esq {
    width: 49.5%;
    position: relative;
}


/*As setinhas a esquerda do texto */
#oque .esq::after {
    content: url(../../tecnologia/triangulos.png);
    transform: rotate(90deg);
    position: absolute;
    top: 40px;
    left: -5vw;
}


/*Sem card branco: a imagem entra solta, encostada a direita */
#oque .dir {
    width: 43%;
    display: flex;
    position: relative;
    justify-content: flex-end;
}


#solucoes {
    padding: 2vw 0 4vw;
    position: relative;
    background-color: #fafbff;
}


#solucoes .titulo {
    font-weight: 400;
    font-size: 1.775vw;
    line-height: 2.5vw;
    text-align: center;
    color: #8303FF;
}


#solucoes .titulo span {
    font-weight: 700;
    color: var(--roxo);
}


#solucoes .texto {
    font-weight: 500;
    font-size: 0.833vw;
    line-height: 1.3541vw;
    text-align: center;
    max-width: 798px;
    margin: 40px auto 0;
}


#solucoes .ico {
    width: 45px;
    height: 45px;
    background-color: var(--roxo);
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}


#solucoes .tit {
    font-size: 1.25833vw;
    line-height: 1.875vw;
    color: var(--roxo);
    margin-bottom: 15px;
    text-align: center;
}


#solucoes .info {
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    text-align: center;
}


/*center centraliza a ultima fileira incompleta. A primeira, com 3 cards, fecha
  exatos 100% e nao muda de posicao. */
#solucoes .blocos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 25px;
    row-gap: 50px;
    margin-top: 40px;
    position: relative;
}


#solucoes .blocos::after {
    content: url(../../tecnologia/triangulos.png);
    transform: rotate(90deg);
    position: absolute;
    top: 55%;
    right: -5vw;
}


#solucoes::before {
    content: ' ';
    display: block;
    width: 17.2395vw;
    height: 22.4479vw;
    background-image: url(../../tecnologia/home/solucoes-detalhe.webp);
    background-size: cover;
    position: absolute;
    top: 22vw;
    left: 0;
}

 
#solucoes .container {
    position: relative;
}

 
#solucoes .antes {
    width: 4.427vw;
    height: 5.156vw;
    position: absolute;
    top: -1vw;
    left: 1vw;
}


#solucoes .depois {
    width: 4.427vw;
    height: 5.156vw;
    position: absolute;
    top: 0;
    right: 1vw;
}


#solucoes .box {
    background-color: #eceff6;
    border: 1px solid #D7D7D7;
    border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
    padding: 2.3333vw 2.885vw;
    width: calc(33.333% - 16.6666px);
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 15px;
    min-height: 15.989vw;
    transition: var(--transicao);
    -webkit-transition: var(--transicao);
    -moz-transition: var(--transicao);
    -ms-transition: var(--transicao);
    -o-transition: var(--transicao);
}


#solucoes .box:hover {
    box-shadow: 0px 5px 10px 0px #00000040;
}






























#clientes {
    background-color: #fff;
    position: relative;
    padding: 30px 0;
}


#clientes .container {
    display: flex;
    margin: 0 auto;
}


#clientes .esq {
    position: relative;
    z-index: 2;
    width: 28%;
}


#clientes .esq .titulo {
    font-weight: 300;
    font-size: 1.0416vw;
    line-height: 1.6145vw;
}


#clientes .esq .titulo b {
    font-weight: 700;
}


#clientes .swiper .swiper-wrapper {
    -webkit-transition-timing-function: linear;
    -o-transition-timing-function: linear;
    transition-timing-function: linear;
    align-items: center;
}


#clientes .swiper .swiper-slide {
    width: auto;
    align-content: center;
}


#clientes .swiper .swiper-slide img {
    display: block;
    filter: grayscale(1);
    transition: var(--transicao);
    max-width: 180px;
}


#clientes .swiper .swiper-slide:hover img {
    filter: grayscale(0);
}


#clientes .swiper {
    width: 65%;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}


#clientes .shadow {
    position: absolute;
    left: 0;
    width: 147px;
    top: 0;
    height: 100%;
    background: rgb(255, 255, 255);
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 35%, rgba(0, 0, 0, 0) 100%);
    z-index: 2;
}

















/*O bg vem do shortcode e muda por pagina, entao o conteudo e ancorado pela base
  com align-items: flex-end em vez de empurrado por padding-top calibrado na arte.
  A imagem daqui e so fallback, para quando bg= nao for informado. */


/*O logo entra no fluxo, empilhado acima do .conteudo. Antes era absoluto com
  bottom: 12.3vw calibrado no layout antigo, e passou a colidir com o selo e os
  numeros quando o conteudo virou ancorado pela base. */






















#problemas {
    position: relative;
    padding: 5vw 0; 
    background: #FAFBFF;
}

 
#problemas::before {  
    content: ' '; 
    display: block; 
    width: 17.2395vw;
    height: 22.4479vw;
    background-image: url(../../tecnologia/home/solucoes-detalhe.webp);
    background-size: cover;
    position: absolute;
    bottom: 3vw;
    right: 0;
    transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
    -moz-transform: rotateY(180deg);
    -ms-transform: rotateY(180deg);
    -o-transform: rotateY(180deg);
}


#problemas .container {
    display: flex;
    align-items: flex-start; 
    justify-content: space-between;
    position: relative;
}


#problemas .container::after { 
    content: url(../../tecnologia/triangulos.png);
    transform: rotate(90deg);
    position: absolute;
    top: 1%;
    left: -5vw;
}


#problemas .esq {
    width: 50%;
    position: sticky;
    top: 80px;
}


#problemas .esq img {
    margin:0 auto;
}


#problemas .dir {
    width: 49%;
}


#problemas .titulo {
    color: var(--roxo);
    font-weight: 700;
    font-size: 1.875vw;
    line-height: 2.2916vw;
    margin-bottom: 20px;
    max-width: 521px;
}


#problemas .texto {
    font-weight: 500;
    font-size: 0.833vw;
    line-height: 1.3541vw;
    margin-bottom: 15px;
    max-width: 594px;
}


#problemas .destaque {
    font-weight: 700;
    color: #26276C;
    font-size: 0.9375vw;
    line-height: 1.4583vw;
    margin-bottom: 45px;
}


#problemas .etapa {
    border: 1px solid #D7D7D7;
    background-color: #EDEFF7;
    position: relative;
    padding: 1.45vw 2.604vw 1.45vw 2.93125vw;
    margin-top: 20px;
    border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
}


#problemas .etapa .titulo-etapa {
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    margin-bottom: 15px;
    color: var(--roxo);
}


#problemas .etapa .info {
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
}


#problemas .etapa .numero {
    font-size: 7.8125vw;
    font-weight: 600;
    line-height: 5.066vw;
    opacity: 0.45;
    position: absolute;
    top: 0.6vw;
    left: 1vw;
    color: transparent;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #1E1E24;
    opacity: 0.1;
}




/*Nova Seçao do video */
#video-novo{
    padding: 3vw 0 5vw;
    position: relative;
    background-color: #fafbff;
    padding-top: 150px;
    padding-bottom: 150px;
}


#video-novo .container{
    position: relative;
    display: flex;
    padding-top: 32px;
    height: 389px;
    gap: 14px;
}


#video-novo .container::before {
    content: ' ';
    display: block;
    background-color: var(--roxo);
    width: 100%;
    height: calc(100% + 62px);
    position: absolute;
    left: 0;
    top: -58px;
    background-image: url(../../tecnologia/lp/erp/circulo.png);
    background-repeat: no-repeat;
    background-position: 98% 0%;
    border-radius: 60px 10px 10px 10px;
    -webkit-border-radius: 60px 10px 10px 10px;
    -moz-border-radius: 60px 10px 10px 10px;
    -ms-border-radius: 60px 10px 10px 10px;
    -o-border-radius: 60px 10px 10px 10px; 
}


#video-novo .container::after{
    content: url(../../tecnologia/triangulos.png);
    transform: rotate(90deg);
    position: absolute;
    top: -40px;
    right: -5vw;
}


#video-novo .container .esq{
    position: relative;
    width: 57%;
    padding-left: 5vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
}


#video-novo .container .esq .titulo{
    color: var(--branco);
    font-weight: 700;
    font-size: 38px;
    line-height: 47px;
    margin-bottom: 23px;
}


#video-novo .container .esq .texto{
    color: var(--branco);
    font-weight: 500;
    font-size: 16px;
    line-height: 26px;
    margin-bottom: 45px;
    width: 579px;
    max-width: 100%;
}



#video-novo .container .esq .btn-contato{
    color: var(--branco);
    font-size: 0.7291vw;
    background-color: var(--chumbo);
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    display: block;
    padding: 0.59895vw 1.1458vw;
    font-weight: 700;
    overflow: hidden;
    position: relative;
    transition: var(--transicao);
    -webkit-transition: var(--transicao);
    -moz-transition: var(--transicao);
    -ms-transition: var(--transicao);
    -o-transition: var(--transicao);
    max-width: 294px;
    margin-bottom: 99px;
}


#video-novo .container .esq .btn-contato::before{
    background: #bc78ff;
}


#video-novo .container .esq .btn-contato::after{
    background: #bc78ff;
}


#video-novo .container .esq .btn-contato br{
   display: none;
}


#video-novo .container .dir {
    position: relative;
    width: 29.3%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}


#video-novo .container .dir .video-wrapper {
    width: 100%;
    max-width: 384px;
    height: 656px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    margin-top: -211px;
    margin-bottom: -126px;
}


#video-novo .container .dir .video-wrapper video {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}


#video-novo .container .dir .btn-audio-control {
    position: absolute;
    bottom: -100px;
    right: 17px;
    background: rgba(0, 0, 0, 0.6);
    border: 1px solid #ffffff40;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s;
    z-index: 5;
}


#video-novo .container .dir .btn-audio-control:hover {
    background: rgba(0, 0, 0, 0.8);
}




@media screen and (max-width: 1440px) {






    #cases .cases_container {
        padding: 60px 26.5vw 40px 0;
    }




    #clientes .esq .titulo {
        font-size: 17px;
        line-height: 24px;
    }


    #problemas .esq {
        width: 48%
    }


    #problemas .esq img {
        margin-left: -2.7vw;
    }


    #problemas .etapa .numero {
        font-size: 8.8125vw;
        top: 1.5vw;
    }



    #setores .tit {
        font-size: 1.24833vw;
    }


    #video-novo .container::after {
        right: -4%;
    }


    #video-novo .container .esq .btn-contato {
        font-size: 13px;
    }


    #video-novo .container .esq .titulo {
        font-size: 36px;
        line-height: 37px;
        margin-bottom: 13px;
    }


    #video-novo .container .dir .btn-audio-control {
        bottom: -91px;
        right: 13px;
    }

}

@media screen and (max-width: 1366px) {
    #cases .logo {
        height: 470px;
    }

}

@media screen and (max-width: 1280px){
    #video-novo .container .dir {
        width: 40.3%;
        margin-right: 18px;
    }


    #video-novo .container .esq .titulo {
        font-size: 34px;
    }


    #video-novo .container .esq .texto {
        font-size: 15px;
        line-height: 21px;
        margin-bottom: 30px;
    }


    #video-novo .container .dir .btn-audio-control {
        right: 49px;
    }

}

@media screen and (max-width: 1200px){
    #video-novo .container {
        gap: 67px;
    }


    #video-novo .container .dir {
        width: 36.3%;
    }


    #video-novo .container .dir .video-wrapper {
        height: auto;
    }


    #video-novo .container .esq {
        width: 50%;
    }


}

@media screen and (max-width: 1080px){
    #video-novo .container .dir .btn-audio-control {
        bottom: -82px;
        right: 10px;
    }

}

@media screen and (max-width: 1024px) {
    #clientes {
        padding: 50px 0 80px;
    }


    #clientes .swiper {
        width: 100%;
        position: unset;
    }


    #clientes .container {
        flex-direction: column;
        align-items: center;
        row-gap: 0;
        max-width: 100%;
    }


    #clientes .esq {
        width: 100%;
        padding-right: 0;
    }


    #clientes .esq .titulo {
        text-align: center;
        margin: 0 0 60px 0;
        font-weight: 300;
        font-size: 24px;
        line-height: 34px;
        letter-spacing: 0.03rem;
    }


    #clientes .shadow {
        display: none;
    }




    #solucoes .blocos::after {
        right: -6%;
    }


    #cases .container::after,
    #problemas .container::after {
        left: -5vw;
    }


    #solucoes .antes,
    #solucoes .depois {
        display: none;
    }



    #solucoes {
        padding: 50px 0 90px;
    }


    #solucoes .tit {
        font-size: 24px;
        line-height: 28px;
    }


    #solucoes .blocos {
        gap: 20px;
        row-gap: 50px;
    }


    #solucoes .box {
        padding: 40px 30px;
        width: calc(50% - 10px);
        min-height: auto;
    }


    #solucoes::before {
        content: none;
    }


    #cases .cases_container {
        padding: 50px 0;
    }


    #cases .titulo-case {
        font-size: 24px;
        line-height: 28px;
    }


    #cases .logo {
        height: 57vw;
    }


    #cases {
        padding: 100px 0;
    }


    #cases::before {
        top: 50px;
    }







    #faq .titulo .block {
        display: inline;
    }


    #faq .faq-pergunta {
        font-size: 16px;
        gap: 10px;
    }


    #faq .faq-pergunta .texto-pergunta {
        flex: 1;
    }


    #faq .faq-resposta .texto-resposta {
        font-size: 14px;
        line-height: 22px;
    }


    #setores .tit {
        font-size: 24px;
        line-height: 32px;
    }


    #setores .top {
        align-items: flex-start;
        flex-direction: column;
        gap: 30px;
    }


    #setores .esq,
    #setores .dir {
        width: 100%;
    }


    #setores {
        padding: 60px 0;
    }


    #setores .box {
        padding: 40px 30px;
        gap: 60px;
    }


    .page-id-156 .swiper-wrapper {
        justify-content: flex-start;
    }


    #setores .titulo .block {
        display: inline;
    }

























    #problemas {
        padding: 0px 0 60px;
    }


    #problemas .container {
        flex-direction: column-reverse;
        gap: 60px;
    }


    #problemas .esq {
        width: 100%;
        position: relative;
        top: auto;
    }


    #problemas .dir {
        width: 100%;
    }


    #problemas .etapa {
        padding: 30px 40px 30px 50px
    }


    #problemas .etapa .numero {
        font-size: 130px;
        line-height: 100px;
        top: 10px;
        left: 10px;
    }


    #problemas .esq img {
        margin: 0 auto !important;
    }




    #oque .esq,
    #oque .dir {
        width: 100%;
        justify-content: center;
    }


    #oque .container {
        flex-direction: column;
        gap: 40px;
    }






    #video-novo {
        padding-top: 90px;
        padding-bottom: 90px;
    }


    #video-novo .container {
        padding: 0px 29px;
        flex-direction: column;
        height: auto;
    }


    #video-novo .container::before {
        background-position: 0% 0%;
    }


    #video-novo .container::after {
        right: -6%;
    }


    #video-novo .container .esq {
        width: 100%;
        padding-left: 0;
    }


    #video-novo .container .dir {
        width: 100%;
    }


    #video-novo .container .dir .video-wrapper {
        margin-top: -141px;
        margin-bottom: -59px;
    }


    #video-novo .container .dir .btn-audio-control {
        bottom: -46px;
        right: 28%;
    }

}

@media screen and (max-width: 680px) {
    #video-novo .container .dir .btn-audio-control {
        bottom: -46px;
        right: 16%;
    }

}

@media screen and (max-width: 600px) {


    #solucoes .box {
        padding: 30px 20px;
        width: 100%;
    }




    #solucoes .titulo span {
        display: inline;
    }


    #solucoes .ico {
        top: 12px;
        right: 12px;
    }


    #cases .container::after,
    #problemas .container::after {
        left: -7vw;
        scale: 0.8;
    }


    #cases .content {
        flex-direction: column;
    }


    #cases .logo {
        height: 62vw;
        width: 100%;
    }


    #cases .text {
        width: 100%;
        padding: 40px 25px;
    }


    #cases .logo_case {
        max-height: 50vw;
        object-fit: contain;
    }


    #cases::before {
        top: 79px;
        font-size: 27.0625vw;
        line-height: 10.0625vw;
    }


















    #video-novo .container .esq .titulo {
        font-size: 30px;
    }

}

@media screen and (max-width: 490px) {
    #video-novo .container::after {
        right: -8%;
        scale: 0.8;
    }


    #video-novo .container .esq {
        margin-top: -22px;
    }


    #video-novo .container .esq .titulo {
        font-size: 28px;
        line-height: 29px;
    }


    #video-novo .container {
        padding: 0px 20px;
    }


    #video-novo .container .dir .btn-audio-control {
        bottom: -46px;
        right: 5%;
    }


}



@media screen and (max-width: 360px) {
    #video-novo .container::after {
        display: none;
    }


    #clientes .esq .titulo {
        font-size: 20px;
        line-height: 28px;
    }

}

/* ==========================================================================
   #depoimentos  -  shortcode [depoimento_destaque]
   Regras herdadas de custom-styles/consultoria/consultoria-n2.css. Os paths
   relativos (../../tecnologia/) resolvem igual: mesma profundidade de pasta.
   ========================================================================== */

#depoimentos {
	padding: 5vw 0 10vw;
	position: relative;
	background-color: #fafbff;
}


#depoimentos .container {
	position: relative;
	display: flex;
	justify-content: space-between;
}


#depoimentos .container::after {
	content: url(../../tecnologia/triangulos.png);
	transform: rotate(90deg);
	position: absolute;
	top: -40px;
	right: -5vw;
}


#depoimentos .container::before {
	content: ' ';
	display: block;
	background-color: var(--roxo);
	width: 68.5%;
	height: calc(100% + 58px);
	position: absolute;
	left: 0;
	top: -58px;
	border-radius: 60px 10px 10px 10px;
	-webkit-border-radius: 60px 10px 10px 10px;
	-moz-border-radius: 60px 10px 10px 10px;
	-ms-border-radius: 60px 10px 10px 10px;
	-o-border-radius: 60px 10px 10px 10px;
	background-image: url(../../tecnologia/home/circulo-depo.png);
	background-repeat: no-repeat;
	background-position: right top;
}


#depoimentos .esq {
	position: relative;
	width: 28%;
	padding-left: 2.9vw;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
}


#depoimentos .titulo {
	color: var(--branco);
	font-weight: 200;
	font-size: 1.875vw;
	line-height: 2.396vw;
	text-align: right;
	margin-bottom: 1.5vw;
}


#depoimentos .texto-desc {
	color: var(--branco);
	font-weight: 400;
	font-size: 0.833vw;
	line-height: 1.354vw;
	text-align: right;
}


#depoimentos .swiper-button-next:after,
#depoimentos .swiper-button-prev:after {
	filter: grayscale(1) brightness(10);
	-webkit-filter: grayscale(1) brightness(10);
}


#depoimentos .dir {
	width: 67.5%;
	background-color: var(--branco);
	position: relative;
	padding: 5.8333vw 6.27vw 4.791vw;
	border-radius: 10px 10px 0 0;
	box-shadow: 10px 10px 10px 0px #0000000D;
	backdrop-filter: blur(10px);
}


#depoimentos .dir::before {
	content: ' ';
	display: block;
	width: 100%;
	height: 58px;
	background-color: var(--roxo);
	position: absolute;
	left: 0;
	bottom: -58px;
	border-radius: 0 0 60px 10px;
	box-shadow: 10px 10px 10px 0px #0000000D;
}


#depoimentos .navigation {
	position: relative;
	width: 86px;
	height: 30px;
	margin-top: 40px;
	margin-right: -18px;
}


#depoimentos .texto {
	font-weight: 500;
	font-size: 1.25vw;
	line-height: 1.875vw;
	margin-bottom: 2vw;
}


#depoimentos .dados-depo {
	font-weight: 700;
	font-size: 18px;
}


#depoimentos .dados-depo span {
	font-size: 16px;
	font-weight: 500;
	display: block;
}


#depoimentos .foto-depoimento {
	width: 93px;
	height: 93px;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	object-fit: cover;
}


#depoimentos .logo-empresa {
	width: 100px;
	height: auto;
}


#depoimentos .bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
}


#depoimentos .bottom .esquerda {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}


#depoimentos .antes {
	position: absolute;
	top: 5vw;
	left: 4vw;
}


#depoimentos .depois {
	position: absolute;
	top: 10vw;
	right: 4vw;
}


@media screen and (max-width: 1440px) {
        #depoimentos .container::after {
    		right: -4%;
    	}

    
        #depoimentos .antes {
    		top: 4vw;
    		left: 3vw;
    	}

    
    	#depoimentos .depois {
    		top: 13vw;
    		right: 3vw;
    	}

    
    	#depoimentos .dir {
    		padding: 6.8333vw 6.27vw 5.791vw;
    	}

    
}

@media screen and (max-width: 1200px) {
    	#depoimentos .texto-desc {
    		font-size: 14px;
    		line-height: 20px;
    		text-align: left;
    		padding-right: 40px;
    	}

    
}

@media screen and (max-width: 1024px) {
            #depoimentos .titulo{
    		font-size: 28px;
    		line-height: 36px;
    	}

    
        #depoimentos .container::after {
    		right: -6%;
    	}

    
        #depoimentos .container {
    		flex-direction: column;
    	}

    
    	#depoimentos .esq {
    		width: 100%;
    		align-items: flex-start;
    		margin-bottom: 30px;
    	}

    
    	#depoimentos .navigation {
    		margin-top: 20px;
    		margin-right: 0;
    		margin-left: -18px;
    	}

    
    	#depoimentos .container::before {
    		width: 100%;
    	}

    
    	#depoimentos {
    		padding: 80px 0;
    	}

    
    	#depoimentos .dir {
    		width: 95%;
    		padding: 40px 45px;
    	}

    
    	#depoimentos .texto {
    		font-size: 16px;
    		line-height: 28px;
    		margin-bottom: 30px;
    	}

    
    	#depoimentos .antes,
    	#depoimentos .depois {
    		scale: 0.8;
    	}

    
    	#depoimentos .antes {
    		top: 15px;
    		left: 15px;
    	}

    
    	#depoimentos .depois {
    		top: auto;
    		bottom: 15px;
    		right: 15px;
    	}

    
    	#depoimentos .dir::before {
    		height: 40px;
    		bottom: -40px;
    	}

    
    	#depoimentos .dados-depo {
    		font-size: 16px;
    	}

    
    	#depoimentos .dados-depo span {
    		font-size: 14px;
    	}

    
    	#depoimentos .foto-depoimento {
    		width: 65px;
    		height: 65px;
    	}

    
    	#depoimentos .logo-empresa {
    		width: 80px;
    	}

    
}

@media screen and (max-width: 600px) {
        #depoimentos .titulo{
    		font-size: 26px;
    		line-height: 34px;
    	}

    
        #depoimentos .container::after {
    		right: -7%;
    		scale: 0.8;
    	}

    
        #depoimentos .titulo {
    		max-width: 90%;
    		text-align: left;
    	}

    
        #depoimentos .bottom {
    		align-items: flex-start;
    		flex-direction: column;
    		gap: 15px;
    	}

    
    	#depoimentos .texto {
    		font-size: 14px;
    		line-height: 22px;
    	}

    
    	#depoimentos .dir {
    		padding: 40px 24px 40px 36px;
    	}

    
    	#depoimentos .dados-depo {
    		font-size: 14px;
    	}

    
    	#depoimentos .dados-depo span {
    		font-size: 13px;
    	}
        #sistema .dir .btn-contato {
        font-size: 14px;
    }
    
}


/* Ajustes do depoimento unico: sem swiper e sem navegacao. */
#depoimentos.depoimento-unico .box {
    width: 100%;
}


#depoimentos.depoimento-unico .conteudo {
    height: 100%;
}


/* Quando o bloco vai sem titulo, a coluna do depoimento ocupa a largura toda. */
#depoimentos.depoimento-unico .container > .dir:only-child {
    width: 100%;
}


/* CTA opcional de [bloco_entrega]: o botao ja e estilizado por #sistema .btn-contato. */



/* ==========================================================================
   #sistema  -  shortcode [bloco_entrega] + [entrega]

   Herdado de custom-styles/cloud/cloud-n2.css, e nao do gestao-n2.css: o
   #sistema do gestao-n2 estiliza [bloco_diferencas] (.top/.conteudo), com
   .titulo e .texto brancos e centralizados e sem flex no .container. Aplicado
   a [bloco_entrega] isso resultava em texto branco sobre o card branco do
   .esq::before e nas colunas .esq/.dir empilhadas.
   ========================================================================== */

#sistema {
    position: relative;
    padding: 5vw 0;
    background: #FAFBFF;
}

#sistema::before {
    content: ' ';
    display: block;
    height: calc(100% - 10vw);
    width: 86.5%;
    background-color: #1E1E24;
    border-radius: 0 30px 30px 0;
    -webkit-border-radius: 0 30px 30px 0;
    -moz-border-radius: 0 30px 30px 0;
    -ms-border-radius: 0 30px 30px 0;
    -o-border-radius: 0 30px 30px 0;
    position: absolute;
    top: 5vw;
    left: 0;
    box-shadow: 0px 10px 10px 10px #0000001A;
    background-image: url(../../tecnologia/home/sistemas-bg.webp);
    background-repeat: no-repeat;
    background-position: left bottom;
}

#sistema .container {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    padding: 0 4.7916vw;
}

#sistema .container::after {
    content: url(../../tecnologia/triangulos.png);
    transform: rotate(90deg);
    position: absolute;
    top: 9px;
    right: -5vw;
}

#sistema .container::before {
    content: url(../../tecnologia/triangulos.png);
    transform: rotate(90deg);
    position: absolute;
    bottom: 9px;
    right: -5vw;
}

#sistema .esq {
    width: 39.2%;
    padding: 3.125vw 3.825vw 5.125vw 3.125vw;
    position: relative;
}

#sistema .esq::before {
    content: ' ';
    display: block;
    width: 100%;
    height: calc(100% - 2.77vw);
    position: absolute;
    top: -1.5vw;
    left: 0;
    background-color: var(--branco);
    z-index: -1;
    border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
    box-shadow: 0px -5px 10px 0px #00000026;
}

#sistema .esq::after {
    content: url(../../tecnologia/triangulos.png);
    position: absolute;
    bottom: 6.27vw;
    right: 2.291vw;
}

#sistema .titulo {
    font-weight: 800;
    font-size: 1.6666vw;
    line-height: 2.083333vw;
    margin-top: 20px;
}

#sistema .texto {
    font-weight: 500;
    font-size: 0.833vw;
    line-height: 1.3541vw;
    color: #171C24;
    margin-top: 20px;
}

#sistema .destaque {
    font-weight: 700;
    font-size: 0.9375vw;
    line-height: 1.3541vw;
    color: var(--roxo);
    margin-top: 20px;
}

#sistema .dir {
    width: 54%;
    color: var(--branco);
    padding: 4.27vw 0;
    min-height: 35vw;
}

#sistema .tit {
    font-weight: 700;
    font-size: 0.833vw;
    line-height: 1.3541vw;
    margin: 6px 0;
}

#sistema .info {
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    color: #B5B5B5;
}

#sistema .blocos {
    display: flex;
    flex-wrap: wrap;
    gap: 3.125vw;
    row-gap: 2.5vw;
}

#sistema .box {
    width: calc(50% - 1.5625vw);
}

#sistema .box .ico {
    width: 45px;
    height: 45px;
    background-color: var(--roxo);
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 1600px) {
        #sistema::before {
            width: 90.5%;
        }
    
}

@media screen and (max-width: 1440px) {
    
        #problemas .texto,
        #setores .texto,
        #sistema .texto,
        #solucoes .texto,
        #cases .texto {
            font-size: 14px;
            line-height: 22px;
        }

        #solucoes .titulo {
            font-size: 24px;
        }
    
        #sistema .container::after,
        #sistema .container::before,
        #solucoes .blocos::after {
            right: -4%;
        }
    
        #sistema .tit {
            font-size: 15px;
            line-height: 23px;
        }
    
        #sistema::before {
            width: 95%;
        }
    
}

@media screen and (max-width: 1024px) {
        #problemas .titulo,
        #setores .titulo,
        #sistema .titulo,
        #solucoes .titulo,
        #cases .titulo {
            font-size: 28px;
            line-height: 36px;
            max-width: 100%;
        }
    
        #problemas .texto,
        #setores .texto,
        #sistema .texto,
        #solucoes .texto,
        #cases .texto {
            font-size: 16px;
            line-height: 24px;
            max-width: 100%;
        }
    
        #sistema {
            padding: 30px 0 80px;
        }
    
        #sistema .container {
            padding: 0;
            flex-direction: column;
        }
    
        #sistema .esq {
            width: 95%;
            padding: 40px 30px;
        }
    
        #sistema .dir {
            width: 95%;
            padding: 80px 0 10px;
        }
    
        #sistema .esq::before {
            height: calc(100% + 50px);
            top: -20px;
        }
    
        #sistema {
            padding: 30px 0 80px;
        }
    
}

@media screen and (max-width: 600px) {
        #setores .texto,
        #sistema .texto,
        #solucoes .texto,
        #cases .texto {
            font-size: 14px;
            line-height: 22px;
        }
    
        #sistema {
            padding: 10px 0 80px;
        }
    
        #setores .titulo,
        #sistema .titulo,
        #solucoes .titulo,
        #cases .titulo {
            font-size: 26px;
            line-height: 34px;
        }
    
        #sistema .esq::after {
            bottom: -10px;
            right: 30px;
        }
    
        #sistema .box {
            width: 100%;
        }
    
        #sistema .blocos {
            row-gap: 40px;
        }
    
        #sistema .container::after,
        #sistema .container::before,
        #solucoes .blocos::after,
        #depoimentos .container::after {
            right: -7%;
            scale: 0.8;
        }
    
        #sistema::before {
            box-shadow: 0px -2px 10px 10px #0000001A;
        }
    
        #sistema .dir {
            padding: 100px 0 10px;
        }
    
}


/* CTA opcional de [bloco_entrega] (atributo btn). O cloud-n2 nao tem estas
   regras porque o bloco nao tinha botao; vieram do gestao-n2.css. */

/*fit-content + nowrap no lugar do max-width: 294px, que era o que quebrava o rotulo
  em duas linhas. Padding proporcional ao corpo da fonte. */
#sistema .btn-contato {
    color: var(--branco);
    font-size: 0.9375vw;
    background-color: var(--roxo);
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    display: block;
    padding: 0.9375vw 1.8229vw;
    font-weight: 700;
    overflow: hidden;
    position: relative;
    transition: var(--transicao);
    -webkit-transition: var(--transicao);
    -moz-transition: var(--transicao);
    -ms-transition: var(--transicao);
    -o-transition: var(--transicao);
    width: fit-content;
    width: -moz-fit-content;
    max-width: 100%;
    white-space: nowrap;
}

#sistema .btn-contato br {
    display: none;
}

/*CTA fica no .dir, abaixo do grid de cards, centralizado */
#sistema .dir .btn-contato {
    margin: 2.5vw auto 0;
}


@media screen and (max-width: 1024px) {
        #sistema .btn-contato {
            margin-top: 30px;
        }

        #sistema .dir .btn-contato {
            margin: 30px auto 0;
        }

}


/*CTA do bloco_problemas */
#problemas .btn-contato {
    color: var(--branco);
    font-size: 0.9375vw;
    background-color: var(--roxo);
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    display: block;
    padding: 0.9375vw 1.8229vw;
    font-weight: 700;
    overflow: hidden;
    position: relative;
    transition: var(--transicao);
    -webkit-transition: var(--transicao);
    -moz-transition: var(--transicao);
    -ms-transition: var(--transicao);
    -o-transition: var(--transicao);
    width: fit-content;
    width: -moz-fit-content;
    max-width: 100%;
    white-space: nowrap;
    margin-top: 40px;
}

#problemas .btn-contato br {
    display: none;
}

/*SVG do shortcode vem cravado em #26276C, clareia para branco */
#problemas .btn-contato svg {
    filter: brightness(10);
}

@media screen and (max-width: 1440px) {
    #problemas .btn-contato {
        font-size: 15px;
        padding: 15px 26px;
    }
}

/*No mobile o rotulo nao cabe em uma linha, volta a quebrar */
@media screen and (max-width: 600px) {
    #problemas .btn-contato {
        font-size: 14px;
        padding: 14px 22px;
        white-space: normal;
        margin-top: 30px;
    }
}



/*Faixa 1024-1200: a caixa (29vw de altura) fica justa para logo + selo + numeros,
  entao o recuo da base e o logo encolhem para o grupo nao encostar no topo. */

/*Ao empilhar, a regra do ~1269 sangra o .dir para fora do container (width: 129%
  com margin-left: -23%). Aquilo servia quando o .dir era so imagem decorativa; aqui
  ele carrega o selo e os numeros, que ficariam cortados. Contem a caixa na largura
  do container e mantem o grupo ancorado na base, igual ao desktop.
  O logo tambem e redefinido aqui porque a regra de 1200px acima casa nesta faixa e,
  por vir antes no arquivo, venceria. */

/*Altura automatica: conforme a tela estreita o texto quebra mais e a caixa cresce
  para baixo, em vez de recortar o conteudo num 78vw que encolhe junto com a tela. */




/*No mobile o shortcode injeta o .dir dentro do .esq, entre o h1 e o paragrafo
  (bloco_banner monta assim quando wp_is_mobile e true). O order manda ele para o
  fim, deixando titulo, texto e CTA em cima e a arte embaixo. */


/*Os boxes dividem a linha igualmente, seja 3 ou 4. O calc(33.33%) da regra base
  era cravado em 3 e estourava a caixa com 4, cortando o ultimo. */

/*Ate 600 vao 2 por linha. Precisa de flex-basis, porque o width perde para o flex
  da regra acima. O shrink fica em 1 e a base tem folga de 10px: com 0 0 e 50% - 5px,
  duas caixas mais o gap de 10px fechavam exatos 100% e, sem poder encolher, qualquer
  arredondamento de subpixel estourava a linha e jogava tudo para 1 por linha. */



/*#banner: conjunto herdado de consultoria-n2.css, que renderiza esse hero corretamente */

#banner .box {
    color: var(--branco);
    width: 25%;
}

#banner .box .num {
    font-weight: 800;
    font-size: 1.875vw;
    border-bottom: 0.94px solid #CDCDCD;
    padding-bottom: 5px;
    margin-bottom: 10px;
    text-align: center;
}

#banner .box .num .mais {
    color: #08A8F7;
    font-size: 1.354vw;
}

#banner .box .num .apoio {
    font-size: 1.25vw;
}

#banner .box .info {
    text-align: center;
    font-size: 13px;
}

#banner .box .num b {
    font-size: 0.835vw;
    line-height: 1.2vw;
    text-transform: uppercase;
}

#banner .blocos {
    display: flex;
    gap: 20px;
    row-gap: 1.5vw;
    align-items: flex-start;
    justify-content: center;
}

#banner .esq {
    width: 50%;
    position: relative;
}

#banner .dir {
    width: 49%;
    position: relative;
    padding: 14.7vw 3.5vw 6vw 6.5vw;
    background-image: url(../../tecnologia/gestao/mistral-banner-protheus-v1.webp);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    right: 0;
    bottom: 0;
}

#banner .container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

#banner {
    background-color: #fafbff;
    background-image: url(../../tecnologia/home/banner-bg.webp);
    background-repeat: no-repeat;
    background-size: 22.968vw;
    background-position: left 12vw;
    padding: 12.5vw 0 7vw;
    position: relative;
    overflow: hidden;
}

#banner .titulo {
    color: var(--roxo);
    font-weight: 700;
    font-size: 2.5vw;
    line-height: 2.9166vw;
}

#banner .texto {
    color: #26276C;
    font-size: 0.9375vw;
    line-height: 1.4583vw;
    letter-spacing: 0.01em;
    max-width: 586px;
    margin: 1.8vw 0;
}

#banner .btn-contato {
    color: var(--branco);
    font-size: 0.7291vw;
    background-color: var(--roxo);
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    display: block;
    padding: 0.59895vw 1.1458vw;
    font-weight: 700;
    overflow: hidden;
    position: relative;
    transition: var(--transicao);
    -webkit-transition: var(--transicao);
    -moz-transition: var(--transicao);
    -ms-transition: var(--transicao);
    -o-transition: var(--transicao);
    max-width: 294px;
}

#banner .btn-contato svg {
    filter: brightness(10);
}

#banner .pag {
    color: #26276C;
    font-weight: 500;
    font-size: 14px;
    line-height: 14px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    border: 1px solid var(--roxo);
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    display: inline-block;
    padding: 8px 15px;
    margin-bottom: 20px;
}

#banner .conteudo {
    position: relative;
    z-index: 1;
}

#banner .destaque {
    color: var(--branco);
    font-weight: 500;
    font-size: 14px;
    line-height: 24px;
    text-align: center;
    text-transform: uppercase;
    margin: 0 auto 20px;
}

#banner br,
#banner p:empty {
    display: none !important;
}

@media screen and (max-width: 1440px) {
        #banner .texto,
        #problemas .destaque,
        #solucoes .destaque {
            font-size: 16px;
            line-height: 24px;
        }
    
        #problemas .btn-contato,
        #banner .btn-contato,
        #setores .btn-contato,
        #cases .btn,
        #setores .btn-contato,
        #servicos .btn-contato,#sistema .btn-contato {
            font-size: 13px;
            padding: 10px 15px;
        }
    
        #banner .dir {
            padding: 12.7vw 4.5vw 6vw 7.5vw;  
        }
    
} 

@media screen and (max-width: 1366px) {
        #banner .dir {
            width: 50%;
        }  
    
}

@media screen and (max-width: 1024px) {
        #banner { 
            padding: 150px 0 0; 
        } 
    
        #banner .esq {
            width: 100%;
            padding: 0 5%;
        }
    
        #banner .container {
            flex-direction: column;
            gap: 60px;
            width: 100%;
        }
    
        #banner .dir {
            width: 112%;
            position: relative;
            right: auto;
            bottom: auto;
            padding: 28.7vw 5% 11vw 15.5vw;
            margin: 60px 0;
            margin-left: -6%
        } 
     
        #banner .titulo {
            font-size: 33px;
            line-height: 42px;
        }
     
        #banner .texto {
            font-size: 18px;
            line-height: 28px;
            margin: 20px 0;
        }
    
        #banner .box .num {
            font-size: 36px;
        }
    
        #banner .box .num .mais {
            font-size: 26px;
        }
    
        #banner .box .num .apoio {
            font-size: 24px;
        }
    
        #banner .blocos {
            gap: 20px;
            row-gap: 25px;
        }
    
        #banner .box .num b {
            font-size: 18px;
            line-height: 24px;
        }
    
}

@media screen and (max-width: 600px) {
        #banner .blocos {
            justify-content: center;
            gap: 30px;
            flex-wrap: wrap;
            align-items: flex-start;
        }
    
        #banner .dir {
            padding: 39.7vw 1vw 15vw 1vw;
            background-position: 67% 0%;
            background-color: #0c001afa;
            background-size: 141vw;
        }
    
        #banner .box {
            width: calc(50% - 15px);
        }
    
        #banner .destaque {
            font-size: 12px;
            line-height: 16px;
        }
    
        #banner .box .num {
            font-size: 28px;
        }
    
        #banner .box .info {
            font-size: 12px;
        }
    
        #banner .box .num b {
            font-size: 22px;
        }
    
        #banner .conteudo {
            width: 97%;
            margin: 0 auto;
            padding: 0 20px;
        }
    
        #banner .box .num .mais {
            font-size: 22px;
        }
    
}


/*No mobile o bloco_banner injeta o .dir dentro do .esq, entre o h1 e o paragrafo
  (wp_is_mobile). O order manda ele para o fim: titulo, texto e CTA em cima, arte
  embaixo. Largura e margem ficam como o consultoria-n2 define, para manter o
  sangramento da arte. */
@media screen and (max-width: 1024px) {
    #banner .esq {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    #banner .esq .titulo,
    #banner .esq .texto {
        width: 100%;
    }

    #banner .esq .dir.mobile {
        order: 1;
    }
}


/*A regra agrupada com #servicos derruba para 13px/10px 15px em 1440, que e largura
  comum de notebook. Alinha com o CTA de #problemas nessa faixa. */
@media screen and (max-width: 1440px) {
    #sistema .btn-contato {
        font-size: 15px;
        padding: 15px 26px;
    }
}

/*No mobile o rotulo nao cabe em uma linha, volta a quebrar */
@media screen and (max-width: 600px) {
    #sistema .btn-contato {
        font-size: 14px;
        padding: 14px 22px;
        white-space: normal;
    }
}


/*Hover branco. O sweep padrao do .animacao-btn no geral.css e --chumbo; texto e
  icone escurecem junto, senao ficariam branco no branco. */
#sistema .btn-contato.animacao-btn::before,
#sistema .btn-contato.animacao-btn::after {
    background: var(--branco);
}

#sistema .btn-contato:hover {
    color: var(--chumbo);
}

#sistema .btn-contato:hover svg path {
    fill: var(--chumbo);
    stroke: var(--chumbo);
}


/*Recuo das setinhas por breakpoint, mesmos valores da #totvs do Quem Somos */
@media screen and (max-width: 1440px) {
    #oque .esq::after {
        left: -4vw;
    }
}

@media screen and (max-width: 1024px) {
    #oque .esq::after {
        left: -5vw;
    }
}

@media screen and (max-width: 600px) {
    #oque .esq::after {
        left: -7vw;
        scale: 0.8;
    }
}


/*#oque: fonte um pouco menor no mobile, mas mantendo o line-height folgado */
@media screen and (max-width: 1024px) {
    #oque .titulo {
        font-size: 28px;
    }

    #oque .texto {
        font-size: 16px;
    }
}

