/* =========================================
RESET
========================================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:'Montserrat',sans-serif;

background:#ffffff;

color:#1f2937;

overflow-x:hidden;

}

img{
max-width:100%;
display:block;
}

a{
text-decoration:none;
}

ul{
list-style:none;
}


/* =========================================
VARIÁVEIS
========================================= */

:root{

--blue:#146ff8;
--dark:#00318a;
--light:#f4f8fd;
--white:#ffffff;

--text-gray:#5b6472;

--border-color:
rgba(0,0,0,.05);

--shadow-light:
0 10px 30px rgba(0,0,0,.08);

--shadow-medium:
0 15px 40px rgba(0,0,0,.12);

--radius:
18px;

}


/* =========================================
CONTAINER
========================================= */

.container{

width:100%;
max-width:1400px;

margin:auto;

padding:0 25px;

}


/* =========================================
HEADER
========================================= */

.main-header{

position:sticky;
top:0;

z-index:9999;

background:
rgba(255,255,255,.96);

backdrop-filter:
blur(20px);

border-bottom:
1px solid var(--border-color);

transition:.3s;

}


/* =========================================
NAV CONTAINER
========================================= */

.nav-container{

height:110px;

display:flex;
align-items:center;
justify-content:space-between;

}


/* =========================================
LOGO
========================================= */

.logo{

display:flex;
align-items:center;

}

.logo img{

height:90px;
width:auto;

}


/* =========================================
MENU DESKTOP
========================================= */

.nav-menu ul{

display:flex;
align-items:center;

gap:30px;

}

.nav-menu a{

font-size:15px;
font-weight:700;

color:#16306b;

display:flex;
align-items:center;

transition:.3s;

position:relative;

}

.nav-menu a:hover{

color:var(--blue);

}


/* LINHA ANIMADA */

.nav-menu a::after{

content:'';

position:absolute;

left:0;
bottom:-8px;

width:0;
height:2px;

background:var(--blue);

transition:.3s;

}

.nav-menu a:hover::after{

width:100%;

}


/* =========================================
BOTÃO HEADER
========================================= */

.btn-header{

display:inline-flex;

align-items:center;
justify-content:center;

padding:14px 24px;

background:var(--dark);

color:#fff;

font-size:15px;
font-weight:700;

border-radius:14px;

transition:.3s;

box-shadow:
0 10px 25px rgba(0,49,138,.15);

}

.btn-header:hover{

transform:
translateY(-3px);

background:var(--blue);

}


/* =========================================
BOTÃO MOBILE
========================================= */

.mobile-menu-btn{

display:none;

background:none;
border:none;

font-size:32px;

color:var(--blue);

cursor:pointer;

transition:.3s;

}

.mobile-menu-btn:hover{

transform:scale(1.05);

}


/* =========================================
MOBILE MENU
========================================= */

@media(max-width:1024px){

.mobile-menu-btn{

display:block;

}

.btn-header{

display:none;

}

.nav-container{

height:90px;

}

.logo img{

height:68px;

}

/* MENU */

.nav-menu{

position:absolute;

top:90px;
left:0;

width:100%;

background:#fff;

display:none;

padding:25px;

box-shadow:
0 15px 40px rgba(0,0,0,.08);

max-height:80vh;

overflow-y:auto;

}

.nav-menu.open{

display:block;

animation:menuFade .3s ease;

}

.nav-menu ul{

flex-direction:column;

align-items:flex-start;

gap:0;

}

.nav-menu li{

width:100%;

border-bottom:
1px solid rgba(0,0,0,.05);

}

.nav-menu li:last-child{

border:none;

}

.nav-menu a{

width:100%;

padding:18px 0;

justify-content:space-between;

font-size:16px;

}

.nav-menu a::after{

display:none;

}

}


/* =========================================
TABLET
========================================= */

@media(max-width:768px){

.container{

padding:0 20px;

}

.logo img{

height:60px;

}

}


/* =========================================
MOBILE PEQUENO
========================================= */

@media(max-width:480px){

.logo img{

height:55px;

}

.mobile-menu-btn{

font-size:28px;

}

}


/* =========================================
ANIMAÇÃO MENU
========================================= */

@keyframes menuFade{

from{

opacity:0;
transform:translateY(-15px);

}

to{

opacity:1;
transform:translateY(0);

}

}



/* =========================================
HERO
========================================= */

.quem-hero{

padding:120px 0 100px;

background:
linear-gradient(
135deg,
rgba(20,111,248,.08),
rgba(0,49,138,.04)
);
text-align:center;

}


/*  ---- */

.quem-hero {
    min-height: 850px; /* Mantém a altura imponente no desktop */
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    padding:130px 0;
    text-align:center;
    
    /* O gradiente e a imagem continuam aqui */
    background: linear-gradient(
        90deg,
        rgb(0, 0, 0, 0.80) 0%,
        rgba(0, 0, 0, 0.10) 30%,
        rgba(0, 0, 0, 0.10) 70%,
        rgba(0, 0, 0, 0.50) 100%
    ),
    url('../img/quemsomos/foto03.jpeg');
    
    background-repeat: no-repeat;
    

    background-position: center; 
    
  
    background-size: cover; 
}

@media (max-width: 768px) {
    .quem-hero {
        
        min-height: 550px; 
   
        background-position: center center; 
    }
}
/*  ---- */





.page-badge{

display:inline-flex;

align-items:center;

padding:12px 22px;

background:#eaf3ff;

border:1px solid #cfe0ff;

border-radius:50px;

font-size:13px;
font-weight:700;

letter-spacing:1px;

color:var(--blue);

margin-bottom:30px;

}

.quem-hero h1{

font-size:58px;

line-height:1.1;

font-weight:800;

color:#ffff;

max-width:900px;

margin:auto auto 25px;

}

.quem-hero p{

font-size:1.5rem;
font-weight: 500;
line-height:1.8;
color:#ffffff;
max-width:850px;
margin:auto;

}


/* =========================================
QUEM SOMOS
========================================= */

.quem-section{

padding:100px 0;

background:#fff;

}

.quem-grid{

display:grid;

grid-template-columns:
1fr
1fr;

gap:70px;

align-items:center;

}

.quem-text h2{

font-size:42px;

color:var(--dark);

margin-bottom:30px;

position:relative;

}

.quem-text h2::after{

content:'';

position:absolute;

left:0;
bottom:-12px;

width:70px;
height:4px;

border-radius:50px;

background:var(--blue);

}

.quem-text p{

font-size:18px;

line-height:1.9;

color:var(--text-gray);

margin-bottom:22px;

}

.quem-image{

position:relative;

}

.quem-image img{

width:100%;

border-radius:30px;

display:block;

box-shadow:
0 20px 50px rgba(0,0,0,.12);

transition:.4s;

}

.quem-image img:hover{

transform:scale(1.02);

}


/* =========================================
MISSÃO VISÃO VALORES
========================================= */

.mvv-section{

padding:100px 0;

background:#f8fbff;

}

.mvv-grid{

display:grid;

grid-template-columns:
repeat(3,1fr);

gap:30px;

}

.mvv-card{

background:#fff;

padding:45px 35px;

border-radius:28px;

text-align:center;

border:1px solid rgba(0,0,0,.05);

box-shadow:
0 15px 40px rgba(0,0,0,.04);

transition:.35s;

}

.mvv-card:hover{

transform:translateY(-10px);

box-shadow:
0 20px 45px rgba(20,111,248,.12);

}

.mvv-card i{

width:85px;
height:85px;

display:flex;
align-items:center;
justify-content:center;

margin:auto auto 25px;

border-radius:24px;

background:#eef5ff;

color:var(--blue);

font-size:34px;

}

.mvv-card h3{

font-size:28px;

color:var(--dark);

margin-bottom:15px;

}

.mvv-card p{

font-size:17px;

line-height:1.8;

color:var(--text-gray);

}


/* =========================================
PILARES
========================================= */

.pilares-section{

padding:100px 0;

background:#fff;

}

.pilares-section h2{

text-align:center;

font-size:46px;

color:var(--dark);

margin-bottom:70px;

}

.pilares-grid{

display:grid;

grid-template-columns:
repeat(4,1fr);

gap:25px;

}

.pilar-box{

background:#fff;

padding:40px 25px;

border-radius:24px;

text-align:center;

border:1px solid rgba(0,0,0,.05);

transition:.35s;

box-shadow:
0 10px 25px rgba(0,0,0,.04);

}

.pilar-box:hover{

transform:translateY(-8px);

border-color:#dbeafe;

box-shadow:
0 15px 40px rgba(20,111,248,.10);

}

.pilar-box i{

font-size:42px;

color:var(--blue);

margin-bottom:20px;

}

.pilar-box h3{

font-size:22px;

color:var(--dark);

margin-bottom:15px;

}

.pilar-box p{

font-size:16px;

line-height:1.7;

color:var(--text-gray);

}


/* =========================================
CTA
========================================= */

.quem-cta{

padding:110px 0;

text-align:center;

background:
linear-gradient(
135deg,
#00318a,
#146ff8
);

color:#fff;

}

.quem-cta h2{

font-size:52px;

margin-bottom:20px;

font-weight:800;

}

.quem-cta p{

font-size:20px;

max-width:700px;

margin:auto auto 35px;

line-height:1.8;

opacity:.95;

}

.cta-btn{

display:inline-flex;

align-items:center;
justify-content:center;

padding:18px 35px;

background:#fff;

color:var(--dark);

text-decoration:none;

font-weight:700;

font-size:17px;

border-radius:16px;

transition:.35s;

}

.cta-btn:hover{

transform:translateY(-5px);

box-shadow:
0 20px 40px rgba(255,255,255,.20);

}






/* ======================================
FOOTER PREMIUM
====================================== */

.main-footer{

background:
linear-gradient(
180deg,
#05245f 0%,
#001b4d 100%
);

color:#fff;

margin-top:0;

overflow:hidden;

position:relative;

}

/* ======================================
TOPO
====================================== */

.footer-top{

padding:70px 0 50px;

border-bottom:
1px solid rgba(255,255,255,.08);

}

.footer-top-grid{

display:grid;

grid-template-columns:
1.4fr
1fr
1fr
1.1fr;

gap:50px;

}

/* ======================================
LOGO E DESCRIÇÃO
====================================== */

.footer-brand img{

height:95px;

margin-bottom:20px;

display:block;

}

.footer-brand p{

font-size:15px;

line-height:1.8;

color:
rgba(255,255,255,.75);

max-width:420px;

}

/* ======================================
TÍTULOS
====================================== */

.footer-top h3{

font-size:20px;

font-weight:700;

margin-bottom:25px;

position:relative;

}

.footer-top h3::after{

content:'';

position:absolute;

left:0;
bottom:-10px;

width:45px;
height:3px;

background:#146ff8;

border-radius:50px;

}

/* ======================================
LINKS
====================================== */

.footer-links{

display:flex;
flex-direction:column;

gap:14px;

}

.footer-links a{

text-decoration:none;

color:
rgba(255,255,255,.75);

font-size:15px;

transition:.3s;

}

.footer-links a:hover{

color:#4ac0fd;

padding-left:8px;

}

/* ======================================
CONTATO
====================================== */

.footer-contact{

display:flex;
flex-direction:column;

gap:18px;

}

.contact-item{

display:flex;

align-items:flex-start;

gap:14px;

font-size:15px;

line-height:1.7;

color:
rgba(255,255,255,.75);

}

.contact-item i{

width:42px;
height:42px;

min-width:42px;

display:flex;
align-items:center;
justify-content:center;

background:
rgba(255,255,255,.08);

border-radius:12px;

color:#4ac0fd;

font-size:17px;

}

/* ======================================
BOTTOM
====================================== */

.footer-bottom{

padding:25px 0;

background:
rgba(255,255,255,.03);

border-top:
1px solid rgba(255,255,255,.05);

}

.footer-bottom-content{

display:flex;

align-items:center;

justify-content:space-between;

gap:20px;

}

.footer-bottom p{

font-size:14px;

color:
rgba(255,255,255,.65);

}

.footer-bottom-links{

display:flex;

gap:25px;

flex-wrap:wrap;

}

.footer-bottom-links a{

text-decoration:none;

font-size:14px;

color:
rgba(255,255,255,.65);

transition:.3s;

}

.footer-bottom-links a:hover{

color:#4ac0fd;

}

/* ======================================
HOVER GERAL
====================================== */

.footer-links a,
.footer-bottom-links a,
.contact-item{

transition:.3s ease;

}

/* ======================================
RESPONSIVO TABLET
====================================== */

@media(max-width:1100px){

.footer-top-grid{

grid-template-columns:
1fr 1fr;

gap:40px;

}

}

/* ======================================
RESPONSIVO MOBILE
====================================== */

@media(max-width:768px){

.footer-top{

padding:50px 0 40px;

}

.footer-top-grid{

grid-template-columns:
1fr;

gap:40px;

}

.footer-brand{

text-align:center;

}

.footer-brand img{

height:85px;

margin:auto auto 20px;

}

.footer-brand p{

max-width:100%;

}

.footer-bottom-content{

flex-direction:column;

text-align:center;

}

.footer-bottom-links{

justify-content:center;

}

.footer-top h3{

margin-bottom:20px;

}

}

/* ======================================
MOBILE PEQUENO
====================================== */

@media(max-width:480px){

.footer-brand img{

height:75px;

}

.footer-top{

padding:40px 0 30px;

}

.footer-bottom{

padding:20px 0;

}

.contact-item{

font-size:14px;

}

.footer-links a{

font-size:14px;

}

}





/* =========================================
ANIMAÇÕES
========================================= */

@keyframes fadeUp{

from{

opacity:0;
transform:
translateY(40px);

}

to{

opacity:1;
transform:
translateY(0);

}

}

.quem-hero,
.quem-section,
.mvv-section,
.pilares-section,
.quem-cta{

animation:
fadeUp .9s ease;

}


/* =========================================
EFEITOS EXTRAS
========================================= */

.mvv-card,
.pilar-box,
.quem-image img,
.cta-btn{

will-change:
transform;

}

.mvv-card:hover i{

transform:scale(1.1);

transition:.3s;

}

.pilar-box:hover i{

transform:translateY(-5px);

transition:.3s;

}


/* =========================================
TABLET
========================================= */

@media(max-width:1100px){

.quem-grid{

grid-template-columns:
1fr;

gap:50px;

}

.quem-image{

order:-1;

}

.mvv-grid{

grid-template-columns:
1fr;

}

.pilares-grid{

grid-template-columns:
1fr 1fr;

}

.quem-hero h1{

font-size:48px;

}

.quem-cta h2{

font-size:42px;

}

}


/* =========================================
MOBILE
========================================= */

@media(max-width:768px){

/* HERO */

.quem-hero{

padding:90px 0 70px;

}

.page-badge{

font-size:11px;

padding:10px 18px;

line-height:1.4;

}

.quem-hero h1{

font-size:32px;

line-height:1.2;

margin-bottom:20px;

}

.quem-hero p{

font-size:17px;

line-height:1.8;

}


/* QUEM SOMOS */

.quem-section{

padding:70px 0;

}

.quem-text h2{

font-size:32px;

}

.quem-text p{

font-size:16px;

line-height:1.8;

}

.quem-image img{

border-radius:22px;

}


/* MVV */

.mvv-section{

padding:70px 0;

}

.mvv-card{

padding:35px 25px;

}

.mvv-card i{

width:70px;
height:70px;

font-size:28px;

}

.mvv-card h3{

font-size:24px;

}

.mvv-card p{

font-size:15px;

}


/* PILARES */

.pilares-section{

padding:70px 0;

}

.pilares-section h2{

font-size:34px;

margin-bottom:45px;

}

.pilares-grid{

grid-template-columns:
1fr;

}

.pilar-box{

padding:30px 20px;

}

.pilar-box h3{

font-size:20px;

}

.pilar-box p{

font-size:15px;

}


/* CTA */

.quem-cta{

padding:80px 0;

}

.quem-cta h2{

font-size:32px;

line-height:1.2;

}

.quem-cta p{

font-size:17px;

}

.cta-btn{

width:100%;

max-width:300px;

padding:16px 25px;

}




/* =========================================
MOBILE PEQUENO
========================================= */

@media(max-width:480px){

.container{

padding:0 20px;

}

.quem-hero h1{

font-size:28px;

}

.quem-text h2{

font-size:28px;

}

.pilares-section h2{

font-size:28px;

}

.quem-cta h2{

font-size:28px;

}

.page-badge{

font-size:10px;

}

}


/* =========================================
TELAS GRANDES
========================================= */

@media(min-width:1600px){

.quem-hero h1{

font-size:72px;

}

.quem-hero p{

font-size:24px;

}

.quem-text p{

font-size:20px;

}

.mvv-card p,
.pilar-box p{

font-size:18px;

}

}


}



/* ======================================
   SCROLLBAR
   ====================================== */

::-webkit-scrollbar {
    width: 10px; /* Largura da barra */
}

::-webkit-scrollbar-track {
    background: #eef4f9; /* Cor do fundo da barra (cinza bem claro) */
}

/* É ESTE BLOCO AQUI QUE DEIXA O SCROLL AZUL: */
::-webkit-scrollbar-thumb {
    background: #146ff8; /* O azul principal do scroll */
    border-radius: 20px; /* Deixa as bordas arredondadas */
}

::-webkit-scrollbar-thumb:hover {
    background: #00318a; /* O azul escuro quando você passa o mouse por cima */
}