/*=========================================================
SUSTAINABLE ADVISORY
style.css
=========================================================*/


/*=========================================================
RESET
=========================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Inter',sans-serif;
    background:
    linear-gradient(
                    -45deg,
                    #ffffff,
                    #f8fbff,
                    #edf7ff,
                    #ffffff
                    );
    background-size:400% 400%;
    animation:bg 15s ease infinite;

}

@keyframes bg   {
                0%  {background-position:0% 50%;}
                50% {background-position:100% 50%;}
                100%{background-position:0% 50%;}
                }

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
    transition:.35s;
}

ul{
    list-style:none;
    margin:0;
    padding:0;
}

.section-padding{

    padding:100px 0;

}


/*=========================================================
VARIÁVEIS
=========================================================*/

:root{
    --primary:#0B63CE;
    --secondary:#2D89FF;
    --dark:#1E293B;
    --light:#F8FAFC;
    --gray:#64748B;
    --border:#E5E7EB;
    --white:#FFFFFF;
    --gradient:linear-gradient(135deg,#0B63CE,#42A5F5);
    --shadow:0 15px 45px rgba(0,0,0,.08);
    --radius:18px;
}


/*=========================================================
TIPOGRAFIA
=========================================================*/

.section-subtitle{
    display:inline-block;
    color:var(--primary);
    font-size:.85rem;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:18px;
}

.section-title{
    font-size:1.5rem;
    font-weight:800;
    color:var(--dark);
    line-height:1.2;
    margin-bottom:25px;
}

.section-title span{
    color:var(--primary);
}

.section-text{
    color:var(--gray);
    font-size:1.05rem;
}


/*=========================================================
BOTÕES
=========================================================*/

.btn{

    border-radius:50px;

    padding:14px 34px;

    font-weight:600;

    transition:.4s;

}

.btn-primary{
            overflow:hidden;
            position:relative;
}

.btn-primary::before{
                    content:"";
                    position:absolute;
                    left:-100%;
                    top:0;
                    width:100%;
                    height:100%;
                    background:
                    rgba(255,255,255,.18);
                    transition:.5s;
}

.btn-primary:hover::before{left:100%;}

.btn-primary:hover{

    transform:translateY(-4px);

    box-shadow:0 15px 35px rgba(11,99,206,.25);

}

.btn-outline-primary{

    border:2px solid var(--primary);

    color:var(--primary);

}

.btn-outline-primary:hover{

    background:var(--primary);

    color:#fff;

}


/* HEADER =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= */

#header{
    backdrop-filter:blur(18px);
    background:rgb(250, 250, 250);
    border-bottom:1px solid rgba(255,255,255,.25);
}

.navbar{

    min-height:90px;

}

.logo{

    height:52px;

}

.nav-link{

    color:var(--dark);

    font-weight:600;

    margin-left:22px;

    position:relative;

}

.nav-link:hover{

    color:var(--primary);

}

.nav-link::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:3px;

    background:var(--primary);

    transition:.35s;

}

.nav-link:hover::after{

    width:100%;

}

.language-switcher{
    display:flex;
    align-items:center;
}

.language-flag-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    padding:0;
    border:1px solid rgba(11, 99, 206, 0.18);
    border-radius:50%;
    background:rgba(255,255,255,0.8);
    box-shadow:0 8px 18px rgba(15, 23, 42, 0.08);
    transition:transform .25s ease, box-shadow .25s ease;
}

.language-flag-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 20px rgba(15, 23, 42, 0.12);
}

.language-flag-btn:focus-visible{
    outline:2px solid var(--primary);
    outline-offset:3px;
}

.lang-flag{
    width:24px;
    height:24px;
    border-radius:50%;
    object-fit:cover;
}


/*=========================================================
HERO
=========================================================*/


.hero{

    font-weight:400;
    /* Adiciona um padding para dar respiro ao conteúdo interno */
    padding: 100px 0; /* Ajuste conforme necessário */
    
    /* Garante que o conteúdo fique visível sobre o fundo */
    position: relative;
    color: #ffffff; /* Exemplo: define o texto como branco para contraste */

    font-weight:800;
}

.hero .container{
    background-image: url('img/Fundo_Logo.png');
    background-size: contain;
    background-position: left center;
    background-repeat: no-repeat;
    padding: 100px 20px;
    border-radius: 24px;
    position: relative;
    overflow: hidden;
}

.hero::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    background:rgba(11,99,206,.06);

    border-radius:50%;

    top:-250px;

    right:-180px;

    filter:blur(20px);

}

.hero::after{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    background:rgba(41,151,255,.05);

    border-radius:50%;

    left:-150px;

    bottom:-200px;

}

.hero h1{

    font-size:4rem;

    font-weight:800;

    color:var(--dark);

    line-height:1.15;

    margin:25px 0;

}

.hero h1 span{

    color:var(--primary);

}

.hero p{

    color:var(--gray);

    font-size:1.15rem;

    max-width:580px;

}

.hero-image{

    animation:float 5s ease-in-out infinite;

}


/*=========================================================
ANIMAÇÃO HERO
=========================================================*/

@keyframes float{

0%{

transform:translateY(0px);

}

50%{

transform:translateY(-15px);

}

100%{

transform:translateY(0px);

}

}


/*=========================================================
FEATURE BOXES
=========================================================*/

.feature-box{

    background:#fff;

    border-radius:var(--radius);

    padding:35px;

    transition:.35s;

    height:100%;

    box-shadow:0 10px 30px rgba(0,0,0,.05);

}

.feature-box:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow);

}

.feature-box i{

    font-size:3rem;

    color:var(--primary);

    margin-bottom:20px;

}

.feature-box h4{

    font-size:1.3rem;

    font-weight:700;

    margin-bottom:15px;

}

.feature-box p{

    color:var(--gray);

    margin:0;

}


/*=========================================================
UTILITÁRIOS
=========================================================*/

.bg-light{

    background:#F8FAFC !important;

}

.text-primary{

    color:var(--primary)!important;

}

.shadow-custom{

    box-shadow:var(--shadow);

}

.rounded-custom{

    border-radius:var(--radius);

}

/*=========================================================
SERVIÇOS
=========================================================*/

.services{
    background:#ffffff;
}

.service-card{
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.5);
    box-shadow:
    0 15px 45px rgba(0,0,0,.05);
}

.service-card:hover{
    transform:
    translateY(-12px)
    scale(1.02);
}

.service-card i{

    width:75px;
    height:75px;

    display:flex;
    justify-content:center;
    align-items:center;

    border-radius:50%;

    background:rgba(11,99,206,.08);

    color:var(--primary);

    font-size:2rem;

    margin-bottom:25px;

}

.service-card h4{

    font-size:1.35rem;

    font-weight:700;

    margin-bottom:18px;

    color:var(--dark);

}

.service-card p{

    color:var(--gray);

    margin-bottom:0;

}


/*=========================================================
SOBRE
=========================================================*/

.about{
         background:#F8FAFC;
}

.about img{
    border-radius:25px;
    box-shadow:0 20px 50px rgba(0,0,0,.08);
}

.about p{

    color:var(--gray);

    margin-bottom:20px;

    text-align:justify;

}

.about_image{
 
            text-align:center;
            margin-top:40px;   /* Define a imagem de fundo */
            background-image: url('img/Fundo_Sem-Logo\(D\).png'); /* Substitua pelo caminho da sua imagem */
                
            /* Garante que a imagem cubra toda a seção sem distorcer */
            background-size: cover;
                
            /* Centraliza a imagem na seção */
            background-position: center;
                
            /* Impede que a imagem se repita */
            background-repeat: no-repeat;
                
            /* Adiciona um padding para dar respiro ao conteúdo interno */
            padding: 100px 0; /* Ajuste conforme necessário */
               
            /* Garante que o conteúdo fique visível sobre o fundo */
            position: relative;
            color: #ffffff; /* Exemplo: define o texto como branco para contraste */
}


/*=========================================================
INDICADORES
=========================================================*/

.counter{
    font-size:1.87rem;
    color:#0474f4;
    font-weight:800;
    margin-bottom:5px;
}

.about span{

    color:var(--gray);

    font-weight:600;

}

.about .row .col-6{

    padding-top:15px;

}


/*=========================================================
METODOLOGIA
=========================================================*/

.process{

    background:#ffffff;

}

.process-card{

    background:#fff;

    border-radius:var(--radius);

    text-align:center;

    padding:45px 30px;

    transition:.35s;

    border:1px solid var(--border);

    height:100%;

}

.process-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow);

    border-color:var(--primary);

}

.process-card .number{

    width:70px;

    height:70px;

    border-radius:50%;

    background:var(--gradient);

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:1.4rem;

    font-weight:700;

    margin:0 auto 25px;

}

.process-card h4{

    font-weight:700;

    margin-bottom:20px;

    color:var(--dark);

}

.process-card p{

    color:var(--gray);

}


/*=========================================================
CERTIFICAÇÕES
=========================================================*/

.certifications{

    background:#F8FAFC;

}

.certificate-card{

    background:#ffffff;

    padding:35px;

    border-radius:20px;

    text-align:center;

    height:100%;

    transition:.35s;

    border:1px solid var(--border);

}

.certificate-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow);

    border-color:var(--primary);

}

.certificate-card i{

    font-size:3rem;

    color:var(--primary);

    margin-bottom:25px;

    display:block;

}

.certificate-card h5{

    font-size:1.25rem;

    font-weight:700;

    color:var(--dark);

    margin-bottom:18px;

}

.certificate-card p{

    color:var(--gray);

    margin:0;

}


/*=========================================================
ANIMAÇÕES DOS CARDS
=========================================================*/

.service-card,
.feature-box,
.process-card,
.certificate-card{

    overflow:hidden;

    position:relative;

}

.service-card::before,
.feature-box::before,
.process-card::before,
.certificate-card::before{

    content:"";

    position:absolute;

    left:-100%;

    top:0;

    width:100%;

    height:4px;

    background:var(--gradient);

    transition:.45s;

}

.service-card:hover::before,
.feature-box:hover::before,
.process-card:hover::before,
.certificate-card:hover::before{

    left:0;

}


/*=========================================================
TÍTULOS DAS SEÇÕES
=========================================================*/

.section-title{
                position:relative;
                padding-bottom:15px;
}

.section-text{

    max-width:700px;

    margin:auto;

}

/*=========================================================
CTA
=========================================================*/

.cta{

    background:var(--gradient);
    padding:90px 0;
    color:#fff;

}

.cta h2{

    font-size:2.6rem;
    font-weight:800;
    margin-bottom:20px;

}

.cta p{

    font-size:1.1rem;
    opacity:.95;
    margin-bottom:0;

}

.cta .btn{

    background:#fff;
    color:var(--primary);
    border:none;
    font-weight:700;

}

.cta .btn:hover{

    transform:translateY(-5px);
    box-shadow:0 15px 35px rgba(255,255,255,.25);

}


/*=========================================================
CONTATO
=========================================================*/

.contact{

    background:#ffffff;

}

.contact-form .form-control{

    height:58px;
    border-radius:12px;
    border:1px solid var(--border);
    box-shadow:none;
    padding:15px 18px;

}

.contact-form textarea.form-control{

    height:auto;
    resize:none;

}

.contact-form .form-control:focus{

    border-color:var(--primary);
    box-shadow:0 0 0 .15rem rgba(11,99,206,.15);

}

.contact-info{

    background:#F8FAFC;
    padding:40px;
    border-radius:20px;
    box-shadow:var(--shadow);

}

.info-item{

    display:flex;
    align-items:flex-start;
    gap:18px;

}

.info-item i{

    width:55px;
    height:55px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;
    background:rgba(11,99,206,.1);

    color:var(--primary);

    font-size:1.3rem;

}

.info-item h5{

    margin-bottom:5px;
    font-weight:700;
    color:var(--dark);

}

.info-item p{

    color:var(--gray);
    margin:0;

}


/*=========================================================
FOOTER
=========================================================*/

.footer{
    background:#2d63a1;
    color:#E5E7EB;
    padding:80px 0 30px;
 /*
        background:
        linear-gradient(
        180deg,
        #1e84f9,
        #1e84f9
        );
*/
        }

.footer-logo{

    height:55px;

}

.footer p{

    color:#CBD5E1;

}

.footer h5{

    color:#fff;
    margin-bottom:20px;
    font-weight:700;

}

.footer-links li{

    margin-bottom:12px;

}

.footer-links a{

    color:#CBD5E1;

}

.footer-links a:hover{

    color:#fff;
    padding-left:6px;

}

.footer-divider{

    margin:50px 0 25px;
    border-color:rgba(255,255,255,.15);

}

.footer a{

    color:#CBD5E1;

}

.footer a:hover{

    color:#fff;

}


/*=========================================================
WHATSAPP
=========================================================*/

.whatsapp-button{

    position:fixed;

    right:30px;
    bottom:30px;

    width:65px;
    height:65px;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    background:#25D366;

    color:#fff;

    font-size:2rem;

    box-shadow:0 10px 30px rgba(0,0,0,.25);

    z-index:999;

    transition:.35s;

}

.whatsapp-button:hover{

    transform:scale(1.08);

    color:#fff;

}


/*=========================================================
BACK TO TOP
=========================================================*/

#backToTop{

    position:fixed;

    bottom:110px;
    right:30px;

    width:55px;
    height:55px;

    border:none;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    font-size:1.2rem;

    cursor:pointer;

    display:none;

    transition:.35s;

    z-index:998;

}

#backToTop:hover{

    transform:translateY(-5px);

}


/*=========================================================
ANIMAÇÕES
=========================================================*/

.fade-up{

    animation:fadeUp .8s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;
        transform:translateY(30px);

    }

    to{

        opacity:1;
        transform:translateY(0);

    }

}

.section-title,
.hero h1{

    animation:fadeUp .8s ease;

}


/*=========================================================
RESPONSIVIDADE
=========================================================*/

@media(max-width:991px){

.hero{

    text-align:center;
    padding-top:160px;

}

.hero h1{

    font-size:2.8rem;

}

.hero p{

    margin:auto;

}

.hero-image{

    margin-top:60px;

}

.section-title{

    font-size:2.2rem;

}

.contact-info{

    margin-top:40px;

}

.footer{

    text-align:center;

}

.footer-logo{

    margin:auto;

}

.navbar{

    padding:15px 0;

}

}

@media(max-width:768px){

.section-padding{

    padding:70px 0;

}

.hero h1{

    font-size:2.2rem;

}

.cta h2{

    font-size:2rem;

}

.counter{

    font-size:2.2rem;

}

.service-card,
.process-card,
.certificate-card,
.feature-box{

    padding:30px;

}

}

@media(max-width:576px){

.hero{

    min-height:auto;
    padding-bottom:80px;

}

.hero h1{

    font-size:1.9rem;

}

.section-title{

    font-size:1.8rem;

}

.btn{

    width:100%;
    margin-bottom:15px;

}

.cta{

    text-align:center;

}

.cta .btn{

    margin-top:30px;

}

.whatsapp-button{

    width:58px;
    height:58px;
    right:20px;
    bottom:20px;

}

#backToTop{

    right:20px;
    bottom:90px;

}

}


/*=========================================================
SCROLLBAR
=========================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#EDF2F7;

}

::-webkit-scrollbar-thumb{

    background:var(--primary);
    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#084D9B;

}


/*=========================================================
SELEÇÃO DE TEXTO
=========================================================*/

::selection{

    background:var(--primary);
    color:#fff;

}