/* ======================================
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%;
height:auto;
display:block;
}

a{
text-decoration:none;
}

ul{
list-style:none;
}

/* ======================================
VARIÁVEIS
====================================== */

:root{
--blue:#146ff8;
--dark:#00318a;
--light:#f4f8fd;
--white:#ffffff;
--text:#374151;
--shadow: 0 15px 40px rgba(0,0,0,.08);
}

/* ======================================
CONTAINER
====================================== */

.container{
width:100%;
max-width:1400px;
margin:auto;
padding:0 25px;
}

/* ======================================
HEADER (REVISADO)
====================================== */

.main-header{
position:sticky;
top:0;
z-index:9999;
background:rgba(255,255,255,.96);
backdrop-filter:blur(20px);
border-bottom:1px solid rgba(0,0,0,.05);
transition:.3s ease;
}

.nav-container{
height:110px;
display:flex;
align-items:center;
justify-content:space-between;
}

/* Proteção máxima contra distorções na logo */
.logo {
display:flex;
align-items:center;
justify-content:center;
}

.logo img{
height:90px;
width:auto;
max-height:100%;
object-fit:contain;
}

/* ======================================
MENU DESKTOP
====================================== */

.nav-menu ul{
display:flex;
align-items:center;
gap:30px;
}

.nav-menu a{
font-size:15px;
font-weight:700;
color:#16306b;
transition:.3s ease;
position:relative;
display:flex;
align-items:center;
}

.nav-menu a:hover{
color:var(--blue);
}

.nav-menu a::after{
content:'';
position:absolute;
left:0;
bottom:-8px;
width:0;
height:2px;
background:var(--blue);
transition:.3s ease;
}

.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 ease;
box-shadow:0 10px 25px rgba(0,49,138,.15);
}

.btn-header:hover{
transform:translateY(-3px);
background:var(--blue);
}

/* ======================================
MENU MOBILE
====================================== */

.mobile-menu-btn{
display:none;
background:none;
border:none;
font-size:32px;
cursor:pointer;
color:var(--blue);
transition:.3s ease;
}

.mobile-menu-btn:hover{
transform:scale(1.05);
}

/* ======================================
HERO
====================================== */


/*  ---- */

.movimento-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/movimento/depoimento 07.jpg');
    
    background-repeat: no-repeat;
    

    background-position: center; 
    
  
    background-size: cover; 
}

@media (max-width: 768px) {
    .movimento-hero {
        
        min-height: 550px; 
   
        background-position: center center; 
    }
}
/*  ---- */


.page-badge{
display:inline-flex;
align-items:center;
padding:12px 22px;
border-radius:50px;
background:#eef5ff;
border:1px solid #bfdbfe;
color:var(--blue);
font-size:13px;
font-weight:700;
letter-spacing:1px;
margin-bottom:25px;
}

.movimento-hero h1{
font-size:64px;
font-weight:800;
line-height:1.1;
max-width:900px;
margin:auto auto 25px;
color:#ffff;
}

.movimento-hero p{
font-size:1.5rem;
font-weight: 500;
line-height:1.8;
color:#ffffff;
max-width:850px;
margin:auto;
}

/* =========================================
MOVIMENTO SECTION
========================================= */

.movimento-section{
padding:100px 0;
background:#ffffff;
}

.movimento-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
align-items:center;
}

.movimento-text h2{
font-size:42px;
font-weight:800;
color:#05245f;
margin-bottom:25px;
}

.movimento-text p{
font-size:18px;
line-height:1.9;
color:#5b6472;
margin-bottom:20px;
}

.movimento-image{
position:relative;
}

.movimento-image img{
width:100%;
border-radius:30px;
display:block;
box-shadow:0 25px 50px rgba(0,0,0,.10);
transition:.4s ease;
}

.movimento-image img:hover{
transform:scale(1.02);
}

/* =========================================
AREAS SECTION
========================================= */

.areas-section{
padding:110px 0;
background:linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.areas-section h2{
text-align:center;
font-size:42px;
font-weight:800;
color:#05245f;
margin-bottom:60px;
}

.areas-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
}

.area-card{
background:#fff;
padding:40px 30px;
border-radius:28px;
text-align:center;
border:1px solid rgba(0,0,0,.05);
box-shadow:0 15px 35px rgba(0,0,0,.05);
transition:.4s ease;
}

.area-card:hover{
transform:translateY(-10px);
box-shadow:0 25px 50px rgba(20,111,248,.15);
}

.area-card i{
width:85px;
height:85px;
border-radius:22px;
background:#eef5ff;
display:flex;
align-items:center;
justify-content:center;
margin:auto auto 25px;
font-size:34px;
color:#146ff8;
}

.area-card h3{
font-size:24px;
font-weight:700;
color:#05245f;
margin-bottom:15px;
}

.area-card p{
font-size:16px;
line-height:1.8;
color:#5b6472;
}

/* =========================================
IMPACTO SOCIAL
========================================= */

.impacto-section{
padding:110px 0;
background:linear-gradient(135deg, #05245f 0%, #001b4d 100%);
color:#fff;
}

.impacto-section h2{
text-align:center;
font-size:42px;
font-weight:800;
margin-bottom:60px;
}

.impacto-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
}

.impacto-card{
background:rgba(255,255,255,.06);
padding:45px 20px;
text-align:center;
border-radius:28px;
backdrop-filter:blur(12px);
border:1px solid rgba(255,255,255,.10);
transition:.4s ease;
}

.impacto-card:hover{
transform:translateY(-10px);
background:rgba(255,255,255,.10);
}

.impacto-card h3{
font-size:48px;
font-weight:800;
color:#4ac0fd;
margin-bottom:12px;
}

.impacto-card p{
font-size:17px;
color:rgba(255,255,255,.85);
}

/* =========================================
CTA SECTION
========================================= */

.cta-section{
padding:110px 0;
text-align:center;
background:#ffffff;
}

.cta-section h2{
font-size:48px;
font-weight:800;
color:#05245f;
margin-bottom:20px;
}

.cta-section p{
font-size:20px;
color:#5b6472;
max-width:700px;
margin:auto auto 35px;
line-height:1.8;
}

.cta-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:18px 40px;
background:#146ff8;
color:#fff;
text-decoration:none;
font-size:18px;
font-weight:700;
border-radius:18px;
transition:.3s ease;
box-shadow:0 10px 25px rgba(20,111,248,.25);
}

.cta-btn:hover{
background:#0d5ee0;
transform:translateY(-4px);
}

/* ======================================
FOOTER
====================================== */

.main-footer{
background:linear-gradient(180deg, #05245f 0%, #001b4d 100%);
color:#fff;
overflow:hidden;
}

.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;
}

.footer-brand img{
height:95px;
width:auto;
margin-bottom:20px;
}

.footer-brand p{
font-size:15px;
line-height:1.8;
color:rgba(255,255,255,.75);
max-width:420px;
}

.footer-top h3{
font-size:20px;
margin-bottom:22px;
position:relative;
}

.footer-top h3::after{
content:'';
position:absolute;
left:0;
bottom:-10px;
width:45px;
height:3px;
border-radius:10px;
background:#146ff8;
}

.footer-links{
display:flex;
flex-direction:column;
gap:14px;
}

.footer-links a{
color:rgba(255,255,255,.75);
font-size:15px;
transition:.3s ease;
}

.footer-links a:hover{
color:#4ac0fd;
padding-left:6px;
}

.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.6;
color:rgba(255,255,255,.78);
}

.contact-item i{
min-width:42px;
height:42px;
border-radius:12px;
background:rgba(255,255,255,.08);
display:flex;
align-items:center;
justify-content:center;
color:#4ac0fd;
}

.footer-bottom{
padding:25px 0;
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:20px;
}

.footer-bottom-links a{
font-size:14px;
color:rgba(255,255,255,.65);
transition:.3s ease;
}

.footer-bottom-links a:hover{
color:#4ac0fd;
}

/* ======================================
TABLET / MONITOR PEQUENO (CORRIGIDO 1024PX/1100PX)
====================================== */

@media(max-width:1024px){
/* Sincronização da quebra do menu com o padrão Premium */
.mobile-menu-btn{
display:block;
}

.btn-header{
display:none;
}

.nav-container{
height:90px;
}

.logo img{
height:68px;
width:auto;
}

.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;
z-index:999;
}

.nav-menu.open{
display:block;
animation:menuFade .3s ease forwards;
}

.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;
display:block;
}

.nav-menu a::after{
display:none;
}

/* Realinhamento limpo das grades estruturais reais */
.movimento-grid{
grid-template-columns:1fr;
gap:50px;
}

.areas-grid,
.impacto-grid{
grid-template-columns:repeat(2, 1fr);
gap:25px;
}

.footer-top-grid{
grid-template-columns:1fr 1fr;
gap:40px;
}

.movimento-hero h1{
font-size:48px;
}
}

/* ======================================
MOBILE (CORRIGIDO 768PX)
====================================== */

@media(max-width:768px){
.container{
padding:0 20px;
}

.logo img{
height:60px;
width:auto;
}

/* Hero */
.movimento-hero{
padding:90px 0;
}

.movimento-hero h1{
font-size:32px;
line-height:1.2;
}

.movimento-hero p{
font-size:17px;
}

/* Seções e Textos */
.movimento-text h2,
.areas-section h2,
.impacto-section h2,
.cta-section h2{
font-size:32px;
text-align:center;
}

.movimento-text p,
.cta-section p{
font-size:16px;
text-align:center;
}

/* Ajuste das grids de 2 colunas para 1 única coluna fluida */
.areas-grid,
.impacto-grid{
grid-template-columns:1fr;
gap:20px;
}

.cta-btn{
width:100%;
max-width:300px;
margin:0 auto;
}

/* Footer Mobile */
.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;
width:auto;
margin:0 auto 20px;
}

.footer-brand p{
max-width:100%;
margin:0 auto;
}

.footer-bottom-content{
flex-direction:column;
text-align:center;
}

.footer-bottom-links{
justify-content:center;
}
}

/* ======================================
MOBILE PEQUENO (480PX)
====================================== */

@media(max-width:480px){
.logo img{
height:55px;
width:auto;
}

.mobile-menu-btn{
font-size:28px;
}

.movimento-hero h1,
.movimento-text h2,
.areas-section h2,
.impacto-section h2,
.cta-section h2{
font-size:28px;
}
}

/* ======================================
ANIMAÇÕES DO SITE
====================================== */

@keyframes fadeUp{
from{
opacity:0;
transform:translateY(40px);
}
to{
opacity:1;
transform:translateY(0);
}
}

@keyframes menuFade{
from{
opacity:0;
transform:translateY(-15px);
}
to{
opacity:1;
transform:translateY(0);
}
}

.movimento-hero,
.movimento-section,
.areas-section,
.impacto-section,
.cta-section{
animation:fadeUp .8s ease forwards;
}

/* ======================================
SCROLLBAR
====================================== */

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-track{
background:#eef4f9;
}

::-webkit-scrollbar-thumb{
background:#146ff8;
border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{
background:#00318a;
}