/*↓ estilo geral ↓*/
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        scroll-behavior: smooth;
        font-family: "Poppins", sans-serif;

    }

    header .btn-contato button,
    .hero-site .texto button {
        font-size: 18px;
        background-color: transparent;
        border: 2px solid #fff;
        cursor: pointer;
        transition: .5s;
    }

    /*↓ botão do whatsapp ↓*/
        .whatsapp-menu {
            position: fixed;
            bottom: 20px;
            right: 20px;
            display: flex;
            flex-direction: column;
            align-items: center;
            z-index: 1000;
        }

        .whatsapp-main-button {
            width: 100px;
            height: 100px;
            border: none;
            background: none;
            cursor: pointer;
        }

        .whatsapp-main-button:hover {
            width: 110px;
            height: 110px;

        }

        .whatsapp-main-button img {
            width: 100%;
            height: 140%;
        }

        .whatsapp-main-button.clicked {
        animation: none;
        transform: scale(1.2);
        opacity: 0.5;
        }

        .whatsapp-options a {
            color: white;
            padding: 10px 20px;
            text-decoration: none;
            font-size: 14px;
            text-align: center;
            border-radius: 5px;
            transition: background 0.3s ease;
            display: block;
            width: 200px;
        }

        .whatsapp-options a:hover {
            background: #8c52ff;
        }
        /*↓ Animação de movimento lateral ↓*/
            @keyframes moveSide {
                0%,
                100% {
                    transform: translateX(0);
                }
                50% {
                    transform: translateX(-10px);
                }
            }
        /*↑ Animação de movimento lateral ↑*/

        /*↓ Mascote ↓*/
        .mascote_texto{
            color: #fff;
            background: #096b7c;
            padding: 10px;
            text-align: center;
        }
        /*↑ Mascote ↑*/
        /*↓ Menu de opções do WhatsApp ↓*/
            .whatsapp-options {
                position: absolute;
                right: 120px;
                bottom: 8px;
                display: none;
                flex-direction: column;
                background: #239fb4;
                border-radius: 8px;
                box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3);
                animation: fadeIn 0.3s ease forwards;
            }
        /*↑ Menu de opções do WhatsApp ↑*/
        /*↓ Animação de aparecimento suave ↓*/
        @keyframes fadeIn {
            from {
                opacity: 0;
                transform: translateY(10px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        /*↑ Animação de aparecimento suave ↑*/
    /*↑ botão do whatsapp ↑*/
/*↑ estilo geral ↑*/


/* site */


/*↓ estilo do cabeçario ↓*/
    header {
        width: 100%;
        max-width: 100vw;
        position: fixed;
        padding: 0 10px;
        top: 0;
        left: 0;
        z-index: 9;
        background: linear-gradient(to bottom right,
                rgb(140, 82, 255),
                rgb(35, 158, 180));
        transition: .5s;
    }

    header .interface {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 100px;
    }

    header .interface .nome-empresa {
        display: none;
    }

    header .logo img {
        max-width: 120px;
    }

    header .menu-desktop nav ul {
        list-style-type: none;
        display: flex;
    }

    header .menu-desktop nav ul li {
        display: inline-block;
        margin: 0 20px;
    }

    header .menu-desktop nav ul li a {
        text-decoration: none;
        display: inline-block;
        transition: .2s;
        color: #fff;
        font-size: 23px;
        font-weight: 500;
    }

    .menu-desktop nav a:hover {
        transform: scale(1.05);
    }

    header .btn-contato button {
        width: 50px;
        height: 50px;
        border-color: #fff;
        color: #fff;
        font-weight: 600;
        border-radius: 20px ;
    }   

    header .btn-contato a {
        text-decoration: none;
    }

    header .btn-contato button:hover,
    .hero-site button:hover {
        background-color: #8900BF;
        color: #000000;
    }

    /*↓ Cor do cabeçalho ↓*/
        .menu-desktop nav ul li a,
        .menu-mobile nav ul li a {
            color: white;
            text-decoration: none;
            padding: 8px 12px;
            transition: 0.3s;
        }

        .menu-desktop nav ul li a.active,
        .menu-mobile nav ul li a.active {
            background: #239eb47a;
            border-radius: 8px;
            color: white;
        }
    /*↑ Cor cabeçalho ↑*/

    /*↓ estilo do menu dinamico ↓*/
        header.rolar {
            border-bottom-left-radius: 100px;
            border-bottom-right-radius: 100px;
            background-color: #8c52ff;
            padding: 10px 0;
            box-shadow: 0 0 8px #00000046;
        }

        header.rolar .menu-desktop nav ul li a {
            color: #ffffff;
        }

        header.rolar .btn-contato button {
            border: 1px solid #fff;
            color: #fff;
        }

        header.rolar .btn-contato button:hover {
            background-color: #000;
            color: #fff;
        }
    /*↑ estilo do menu dinamico ↑*/
/*↑ estilo do cabeçario ↑*/

/*↓ estilo do Inicio ↓*/
    section.inicio-inter {
        display: flex;
        height: 100vh;
        width: 100%;
        padding: 114px 0 0 0;
        background-image: url(img/fundo-contacta\ \(atua\).jpg);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        overflow: hidden;
    }

    .inicio-inter .coluna {
        flex: 1;
    }

    /*↓ lado esquerdo ↓*/
        .inicio-inter .texto {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            text-align: center;
        }

        .inicio-inter .texto p {
            font-size: 3em;
            color: #fff;
            line-height: 45px;
            font-weight: 300;
        }

        .inicio-inter .fade-in {
            font-weight: 300;
        }

        .inicio-inter .venha {
            display: block;
            font-weight: 600;
        }

        .inicio-inter .juntos {
            font-weight: 300;
            
        }

        .inicio-inter .juntos1 {
            display: block;
            font-weight: 600;
        }

        .inicio-inter .para1{
            margin-bottom: 50px;
        }

        .digital {
            color: #239fb4;
        }

        .venha {
            color: #7f3fff;
        }

        .inicio-inter .texto button {
            border: transparent;
            color: #fff;
            font-weight: 600;
            border-radius: 10px;
            background-color: transparent;
            font-size: 25px;
        }

        .texto a {
            padding: 4px 10px;
            border: 2px solid #ffffff;
            border-radius: 50px;
            margin-top: 40px;
        }

        .inicio-inter .texto button:hover {
            background-color: #ffffff25;
            border-radius: 50px;
        }
    /*↑ lado esquerdo ↑*/
    /*↓ lado direito ↓*/
        .inicio-inter .sologo{
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .inicio-inter .sologo img {
            max-width: 100%;
            max-height: 90%;
            margin-bottom: 120px;
            object-fit: contain; /* Mantém proporção da imagem dentro do espaço */
            display: block; /* Remove espaço extra de imagens inline */
        }
    /*↑ lado direito ↑*/
/*↑ estilo do Inicio ↑*/

/*↓ estilo do portfolio ↓*/
    section.portfolio {
        width: 100%;
        max-width: 100vw;
        overflow: hidden;
        position: relative;
    }

    .portfolio .container {
        position: relative;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        overflow: hidden;
        padding-left: 5%;
    }

    .portfolio .image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        transform: translateX(100%);
        opacity: 0;
        transition: transform 1.5s ease-out, opacity 1.5s;
    }

    .portfolio .overlay {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(to right,
                rgb(128, 17, 219) 0%,
                rgba(133, 14, 231, 0.842) 30%,
                rgba(173, 75, 253, 0.452) 60%,
                rgba(173, 75, 253, 0.26) 90%,
                rgba(173, 75, 253, 0) 100%);
        transform: translateX(-100%);
        opacity: 0;
        transition: transform 1.5s ease-out, opacity 1.5s;
    }

    .portfolio .content {
        color: white;
        max-width: 40%;
        margin: 4% 0 4% 0;
        transform: translateX(-100%);
        opacity: 0;
        transition: transform 1.5s ease-out, opacity 1.5s;
        text-align: justify;
        hyphens: auto;
    }

    .portfolio h3 {
        font-size: 3em;
        font-weight: 300;
        line-height: 50px;
    }

    .portfolio h3 span {
        display: block;
        font-weight: 600;
    }

    .portfolio p {
        margin-top: 20px;
        font-size: 20px;
        font-weight: 400;
    }

    .portfolio p span {
        font-weight: 700;
    }

    .portfolio.active .image,
    .portfolio.active .overlay,
    .portfolio.active .content {
        transform: translateX(0);
        opacity: 1;
    }
/*↑ estilo do portfolio ↑*/

/*↓ oque o fazemos ↓*/
    section.fazemos {
        width: 100%;
        max-width: 100vw;
        overflow: hidden;
        position: relative;
    }

    .fazemos .container {
        position: relative;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        overflow: hidden;
    }

    .fazemos .image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        transform: translateX(-100%);
        opacity: 0;
        transition: transform 1.5s ease-out, opacity 1.5s;
    }

    .fazemos .overlay {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(to left,
                #239fb4 0%,
                #239fb4 30%,
                #239eb454 60%,
                #239eb42f 90%,
                #239eb41c 100%);
        transform: translateX(100%);
        opacity: 0;
        transition: transform 1.5s ease-out, opacity 1.5s;
    }

    .fazemos .content {
        color: white;
        max-width: 40%;
        margin: 4% 5% 4% 0;
        transform: translateX(100%);
        opacity: 0;
        transition: transform 1.5s ease-out, opacity 1.5s;
        text-align: justify;
        hyphens: auto;
    }

    .fazemos h3 {
        font-size: 3em;
        font-weight: 300;
        line-height: 50px;
    }

    .fazemos h3 span {
        display: block;
        font-weight: 600;
    }

    .fazemos p {
        margin-top: 20px;
        font-size: 20px;
        font-weight: 400;
    }

    .fazemos p span {
        font-weight: 700;
    }

    .fazemos.active .image,
    .fazemos.active .overlay,
    .fazemos.active .content {
        transform: translateX(0);
        opacity: 1;
    }
/*↑ oque o fazemos ↑*/

/*↓ Porque a contacta ↓*/
    section.porque {
        width: 100%;
        max-width: 100vw;
        overflow: hidden;
        position: relative;
    }

    .porque .container {
        position: relative;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        overflow: hidden;
    }

    .porque .image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: left top;
        position: absolute;
        transform: translateX(100%);
        opacity: 0;
        transition: transform 1.5s ease-out, opacity 1.5s;
    }

    .porque .img2 {
        display: none;
    }

    .porque .overlay {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(to right,
                rgb(174, 75, 253) 0%,
                rgb(174, 75, 253) 30%,
                rgba(173, 75, 253, 0.452) 60%,
                rgba(173, 75, 253, 0.26) 90%,
                rgba(173, 75, 253, 0) 100%);
        transform: translateX(-100%);
        opacity: 0;
        transition: transform 1.5s ease-out, opacity 1.5s;
    }

    .porque .content {
        color: white;
        max-width: 40%;
        margin: 4% 0 4% 5%;
        position: relative;
        transform: translateX(-100%);
        opacity: 0;
        transition: transform 1.5s ease-out, opacity 1.5s;
        text-align: justify;
        hyphens: auto;
    }

    .porque h3 {
        font-size: 3em;
        font-weight: 300;
        line-height: 50px;
    }

    .porque h3 span {
        display: block;
        font-weight: 600;
    }

    .porque p {
        margin-top: 20px;
        font-size: 20px;
        font-weight: 400;
    }

    .porque p span {
        font-weight: 700;
    }

    .porque.active .image,
    .porque.active .overlay,
    .porque.active .content{
        transform: translateX(0);
        opacity: 1;
    }
/*↑ Porque a contacta ↑*/

/*↓ missão, visão e valores ↓*/
    .video {
        width: 100%;
        padding: 40px 20px;
        box-sizing: border-box;
        background-color: #f9f9f9;
    }

    .container-lado-a-lado {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 40px;
        max-width: 1200px;
        margin: 0 auto 60px auto;
        flex-wrap: wrap;
    }

    .texto {
        flex: 1;
        text-align: justify;
        hyphens: auto;
    }

    .texto h2 {
        font-size: 3em;
        font-weight: 300;
        line-height: 50px;
        margin-bottom: 10px;
        color: #333;
    }

    .texto h4 {
        font-size: 1.3em;
        font-weight: 300;
        margin-bottom: 10px;
        color: #333;
    }

    .texto p {
        color: #666;
        line-height: 1.6;
    }

    .video {
        flex: 1;
    }

    .video video {
        width: 100%;
        height: auto;
        border-radius: 8px;
    }
/*↑ missão, visão e valores ↑*/

/*↓ psicologo ↓*/
    section.psico {
        width: 100%;
        max-width: 100vw;
        padding: 150px 0;
        display: flex;
        justify-content: center;
        align-items: center;
        /* Centraliza verticalmente */
        background-color: #f9f9f9;
        background:
            linear-gradient(to right,
                rgba(26, 26, 26, 0.308) 0%,
                rgba(0, 0, 0, 0.295) 10%,
                rgba(0, 0, 0, 0.192) 20%,
                rgba(0, 0, 0, 0.5) 30%,
                rgba(2, 2, 2, 0.342) 40%,
                rgba(0, 0, 0, 0.164) 50%),
            linear-gradient(to left,
                rgba(0, 0, 0, 0.247) 0%,
                rgba(7, 7, 7, 0.39) 10%,
                rgba(0, 0, 0, 0.356) 20%,
                rgba(0, 0, 0, 0.507) 30%,
                rgba(0, 0, 0, 0.342) 40%,
                rgba(0, 0, 0, 0.164) 50%),
            url(img/psicologo.jpg);
        background-size: cover;
        background-position: center 30%;
        background-repeat: no-repeat;
    }

    .psico .txtPsi {
        width: 52%;
        text-align: justify;
        hyphens: auto;
        padding: 60px 90px 30px;
    }

    .psico .txtPsi h2 {
        color: #fff;
        margin-bottom: 20px;
        font-size: 3em;
        font-weight: 300;
        margin-top: 0;
    }

    .psico .txtPsi p {
        color: #fff;
        font-size: 16px;
        font-weight: 400;
    }

    .psico .txtPsi p span {
        font-weight: 700;
    }
/*↑ psicologo ↑*/

/*↓ comentario funcionarios e empresas ↓*/
    .avaliacoes {
        padding: 40px 20px;
        background-color: #0000001a;
        text-align: center;
    }

    .avaliacoes h2 {
        font-size: 2rem;
        margin-bottom: 30px;
        color: #333;
    }

    .avaliacoes-container,
    #outras-avaliacoes {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 20px;
    }

    .avaliacao {
        background: #fafafa;
        border-radius: 15px;
        padding: 20px;
        width: 300px;
        box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
        text-align: left;
    }

    .usuario-info {
        display: flex;
        align-items: center;
        margin-bottom: 10px;
    }

    .usuario-info img {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        object-fit: cover;
        margin-right: 10px;
    }

    .usuario-info h3 {
        margin: 0;
        font-size: 1.1rem;
        color: #444;
    }

    .estrelas {
        color: #FFD700;
        margin: 5px 0;
        font-size: 1.2rem;
    }
/*↑ comentario funcionarios e empresas ↑*/

/*↓ Nossos numeros ↓*/
    .numeros-section {
        padding: 60px 20px;
        background: linear-gradient(135deg, #f8f9fa, #e8f0fe);
        text-align: center;
    }

    .numeros-section h2 {
        font-size: 2.5rem;
        color: #333;
        margin-bottom: 40px;
    }

    .numeros-container {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 30px;
        max-width: 1100px;
        margin: 0 auto;
    }

    .numero-box {
        background: #ffffff;
        padding: 30px;
        border-radius: 20px;
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
        transition: transform 0.3s ease;
    }

    .numero-box:hover {
        transform: translateY(-5px);
    }

    .numero {
        font-size: 2.8rem;
        font-weight: bold;
        color: #8c52ff;
        display: block;
        margin-bottom: 10px;
    }

    .numero-box p {
        font-size: 1.1rem;
        color: #555;
    }

    .numero-box i {
        font-size: 2.2rem;
        color: #239fb4;
        margin-bottom: 15px;
        animation: bounce 2s infinite;
    }

    @keyframes bounce {

        0%,
        100% {
            transform: translateY(0);
        }

        50% {
            transform: translateY(-8px);
        }
    }

    @media (max-width: 600px) {
        .numeros-section h2 {
            font-size: 2rem;
        }

        .numero {
            font-size: 2.2rem;
        }
    }
/*↑ Nossos numeros ↑*/

/*↓ comentarios dos funcionarios ↓*/
    #outras-avaliacoes {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 40px;
        max-width: 1100px;
        margin: 40px auto;
        padding: 20px;
    }


    .avaliacoes3 {
        padding: 40px 20px;
        background-color: #fff;
        text-align: center;
    }

    .avaliacao2 {
        width: 300px;
        padding: 20px;
        border: 1px solid #ccc;
        border-radius: 12px;
        background-color: #f9f9f9;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
        text-align: center;
        transition: transform 0.2s ease;
    }

    .avaliacao2:hover {
        transform: scale(1.03);
    }

    .usuario2 img {
        width: 90px;
        height: 90px;
        border-radius: 50%;
        margin-bottom: 12px;
    }

    .estrelas2 {
        color: gold;
        font-size: 20px;
        margin-bottom: 12px;
    }

    .usuario2 h3 {
        font-size: 18px;
        margin-bottom: 6px;
    }

    .avaliacao2 p {
        font-size: 16px;
    }
/*↑ comentarios dos funcionarios ↑*/

/*↓ quem confia na contacta loop ↓*/
    .loop-confia {
        background: linear-gradient(to bottom right,
                rgba(140, 82, 255, 0.808),
                rgba(35, 158, 180, 0.699));
        padding: 50px 0;
        overflow: hidden;
        height: 400px;
    }

    .loop-confia .texto-confia {
        text-align: center;
        color: white;
    }

    .marcas-slider {
        width: 100%;
        overflow: hidden;
        position: relative;
        margin-top: 70px;
    }

    .marcas-track {
        display: flex;
        width: max-content;
        animation: deslizar 30s linear infinite;
    }

    .marcas-track img {
        width: 200px;
        height: auto;
        padding: 0 15px;
        object-fit: contain;
        transition: filter 0.3s ease;
        filter: none;
        cursor: pointer;
    }

    @keyframes deslizar {
        0% {
            transform: translate3d(0, 0, 0);
        }

        100% {
            transform: translate3d(-50%, 0, 0);
        }
    }
/*↑ quem confia na contacta loop ↑*/

/*↓ estilo dos botões de contato ↓*/
    section.contato {
        width: 100%;
        max-width: 100vw;
        display: flex;
        background: linear-gradient(135deg, #f8f9fa, #e8f0fe);
    }

    .contato .coluna {
        width: 50%;
    }

    .col1{
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 30px;
    }
    
    .contato-txt{
        padding: 20px;
    }
    
    .botoes-contato {
        padding: 150px 200px;
        display: flex;
        flex-direction: column;
        gap: 20px;
        width: 100%;

    }

    .botao-contato{
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        color: #000;
        padding: 10px 40px;
        border-radius: 8px;
        text-decoration: none;
        cursor: pointer;
        border: 2px solid #000;
    }

    .botao-contato:hover{
        background-color: #000;
        color: #fff;
    }

    .botao-contato .icone {
        font-size: 20px;
    }

    .botao-contato .txt-conta-1{
        width: 40%;
        text-align: center;
    }

    
/*↑ estilo dos botões de contato ↑*/

/*↓ estilo do rodape ↓*/
    footer {
        background: linear-gradient(to bottom right,
                rgba(140, 82, 255, 0.808),
                rgba(35, 158, 180, 0.699));
        width: 100%;
        height: 35px;
        text-align: center;
        padding: 70px 0;
    }

    footer .middle-footer {
        margin: 20px 0;
    }

    footer .middle-footer a {
        color: #fff;
        margin: 0 15px;
    }

    footer .bottom-footer {
        border-top: 2px solid #fff;
    }

    footer .bottom-footer p {
        color: #fff;
        margin-top: 10px;
    }
/*↑ estilo do rodape ↑*/


/* site */


/* mobile */


/*↓ estilo do botão do menu mobile ↓*/
    header .btn-menu-mob {
        display: none;
        position: relative;
        z-index: 56;
    }

    header .btn-menu-mob div {
        background-color: #fff;
        height: 3px;
        margin: 10px 0;
        transition: .2s;
    }

    header .btn-menu-mob .line-menumob-1 {
        width: 30px;
    }

    header .btn-menu-mob .line-menumob-2 {
        width: 20px;
    }
/*↑ estilo do botão do menu mobile ↑*/

/*↓ estilo do botão mobile ↓*/
    header .menu-mobile {
        width: 0;
        height: 100%;
        background-color: #8c52ff;
        position: absolute;
        top: 0;
        right: 0;

        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;

        overflow: hidden;
        transition: .5s;
    }

    .menu-mobile.abrir {
        width: 100%;
    }

    header .menu-mobile nav {
        width: 100%;
    }

    header .menu-mobile nav ul {
        list-style-type: none;
    }

    header .menu-mobile nav a {
        font-size: 24px;
        text-decoration: none;
        color: #fff;
        padding: 20px 0;
        display: block;
        transition: 0.5s;
    }

    header .menu-mobile nav a:hover {
        background-color: #fff;
        color: #000;
        box-shadow: 0 0 20px #fff;
    }

    header .menu-mobile.abrir {
        width: 100%;
        height: 100vh;
    }

    body.no-overflow {
        overflow: hidden;
    }
/*↑ estilo do botão mobile ↑*/

/*↓ mobile ↓*/
    .mapa-brasil {
        width: 100%;
        max-width: 800px;
        margin: 0 auto;
        position: relative;
    }

    svg {
        width: 100%;
        height: auto;
    }

    .cidade {
        fill: #3498db;
        stroke: white;
        stroke-width: 2;
        r: 6;
        transition: all 0.3s ease;
        cursor: pointer;
    }

    .cidade:hover {
        fill: #e74c3c;
        transform: scale(1.3);
        r: 10;
    }

    .tooltip {
        position: absolute;
        background-color: #333;
        color: #fff;
        padding: 5px 10px;
        border-radius: 5px;
        font-size: 14px;
        pointer-events: none;
        display: none;
        z-index: 10;
    }
/*↑ mobile ↑*/