/* ======================================
RESET
====================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

:root{
--blue:#146ff8;
--dark:#00318a;
--light:#f4f8fd;
--white:#fff;
--text:#5b6472;
}

html{
scroll-behavior:smooth;
}

body{
font-family:'Montserrat',sans-serif;
background:#fff;
overflow-x:hidden;
}

img{
max-width:100%;
height:auto;
display:block;
}

a{
text-decoration:none;
}

.container{
width:100%;
max-width:1400px;
margin:auto;
padding:0 25px;
}

/* ======================================
HEADER (ATUALIZADO & UNIFICADO)
====================================== */

.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;
}

/* Revisão e blindagem da logo contra distorções */
.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;
list-style:none;
}

.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
====================================== */

.projetos-hero{
padding:120px 0;
background:linear-gradient(135deg, rgba(20,111,248,.08), rgba(74,192,253,.12));
text-align:center;
}




/*  ---- */

.projetos-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/projetos/depoimento 06.jpg');
    
    background-repeat: no-repeat;
    

    background-position: center; 
    
  
    background-size: cover; 
}

@media (max-width: 768px) {
    .projetos-hero {
        
        min-height: 550px; 
   
        background-position: center center; 
    }
}
/*  ---- */




.page-badge{
display:inline-block;
padding:12px 24px;
border-radius:50px;
background:#eaf3ff;
border:1px solid rgba(20,111,248,.15);
color:#146ff8;
font-size:13px;
font-weight:700;
letter-spacing:1px;
margin-bottom:25px;
}

.projetos-hero h1{
font-size:64px;
font-weight:800;
line-height:1.15;
max-width:950px;
margin:auto auto 25px;
color:#ffffff;
}

.projetos-hero p{
font-size:1.5rem;
font-weight: 500;
line-height:1.8;
color:#ffffff;
max-width:850px;
margin:auto;
}

/* ======================================
INTRODUÇÃO
====================================== */

.intro-section{
padding:100px 0;
background:#ffffff;
}

.intro-grid {
display:grid;
grid-template-columns:1fr 1fr;
gap:80px;
align-items:center;
}

.intro-text h2{
font-size:48px;
font-weight:800;
color:#062871;
margin-bottom:25px;
}

.intro-text p{
font-size:18px;
line-height:1.9;
color:#5b6472;
margin-bottom:20px;
}

.intro-image{
position:relative;
}

.intro-image img{
width:100%;
border-radius:30px;
box-shadow:0 20px 60px rgba(0,0,0,.12);
transition:.4s;
}

.intro-image img:hover{
transform:scale(1.02);
}

/* ======================================
CARDS DOS PROJETOS
====================================== */

.cards-section{
padding:100px 0;
background:linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.cards-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.project-card{
background:#fff;
padding:40px 30px;
border-radius:28px;
text-align:center;
border:1px solid rgba(20,111,248,.08);
box-shadow:0 15px 40px rgba(0,0,0,.06);
transition:.35s;
position:relative;
overflow:hidden;
}

.project-card::before{
content:'';
position:absolute;
top:0;
left:0;
width:100%;
height:5px;
background:linear-gradient(90deg, #146ff8, #4ac0fd);
}

.project-card:hover{
transform:translateY(-12px);
box-shadow:0 25px 60px rgba(20,111,248,.18);
}

.project-card i{
font-size:48px;
margin-bottom:25px;
color:#146ff8;
transition:.3s;
display:inline-block;
}

.project-card:hover i{
transform:scale(1.15);
}

.project-card h3{
font-size:24px;
font-weight:800;
color:#062871;
margin-bottom:18px;
}

.project-card p{
font-size:16px;
line-height:1.8;
color:#5b6472;
}

.project-card::after{
content:'';
position:absolute;
top:-120px;
right:-120px;
width:220px;
height:220px;
border-radius:50%;
background:rgba(20,111,248,.05);
transition:.4s;
}

.project-card:hover::after{
transform:scale(1.3);
}

/* ======================================
SEÇÃO DE DESTAQUE
====================================== */

.highlight-box{
margin-top:80px;
padding:50px;
background:linear-gradient(135deg, #146ff8, #00318a);
border-radius:30px;
text-align:center;
color:#fff;
}

.highlight-box h2{
font-size:42px;
margin-bottom:20px;
font-weight:800;
}

.highlight-box p{
font-size:18px;
line-height:1.9;
max-width:800px;
margin:auto;
}

/* ======================================
CTA
====================================== */

.cta-section{
padding:120px 0;
background:linear-gradient(135deg, #00318a, #146ff8);
text-align:center;
color:#fff;
}

.cta-section h2{
font-size:52px;
font-weight:800;
margin-bottom:20px;
}

.cta-section p{
font-size:20px;
line-height:1.8;
max-width:700px;
margin:auto auto 35px;
opacity:.95;
}

.cta-btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:18px 35px;
background:#fff;
color:#00318a;
font-weight:800;
font-size:17px;
border-radius:16px;
transition:.3s;
}

.cta-btn:hover{
transform:translateY(-5px);
box-shadow:0 15px 35px rgba(0,0,0,.15);
}

/* ======================================
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;
}

.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;
}

.footer-bottom-links a:hover{
color:#4ac0fd;
}

/* ======================================
RESPONSIVIDADE TABLET / BREAKPOINT 1024PX
====================================== */

@media(max-width:1024px){
/* Sincronização estrutural do menu mobile */
.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;
}

/* Grades internas desta página ajustadas para tablets */
.footer-top-grid,
.cards-grid{
grid-template-columns:1fr 1fr;
gap:30px;
}

.intro-grid{
grid-template-columns:1fr;
gap:50px;
}

.projetos-hero h1{
font-size:48px;
}
}

/* ======================================
RESPONSIVIDADE MOBILE (768PX)
====================================== */

@media(max-width:768px){
.container{
padding:0 20px;
}

.logo img{
height:60px;
width:auto;
}

/* Hero */
.projetos-hero{
padding:90px 0;
}

.projetos-hero h1{
font-size:32px;
line-height:1.2;
}

.projetos-hero p{
font-size:17px;
}

/* Intro */
.intro-text h2{
font-size:32px;
text-align:center;
}

.intro-text p{
font-size:16px;
text-align:center;
}

/* Cards da página de projetos */
.cards-grid{
grid-template-columns:1fr;
gap:20px;
}

.project-card{
padding:35px 25px;
}

.project-card h3{
font-size:22px;
}

.highlight-box {
padding: 35px 20px;
}

.highlight-box h2 {
font-size: 30px;
}

/* CTA */
.cta-section{
padding:90px 0;
}

.cta-section h2{
font-size:32px;
}

.cta-section p{
font-size:17px;
}

.cta-btn{
width:100%;
max-width:300px;
margin:0 auto;
}

/* Footer */
.footer-top{
padding:50px 0;
}

.footer-top-grid{
grid-template-columns:1fr;
gap:40px;
}

.footer-brand{
text-align:center;
}

.footer-brand img{
margin:0 auto 20px;
height:85px;
width:auto;
}

.footer-bottom-content{
flex-direction:column;
text-align:center;
}

.footer-bottom-links{
flex-wrap:wrap;
justify-content:center;
}
}

/* ======================================
MOBILE PEQUENO (480PX)
====================================== */

@media(max-width:480px){
.logo img{
height:55px;
width:auto;
}

.mobile-menu-btn{
font-size:28px;
}

.projetos-hero h1,
.intro-text 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);
}
}

.projetos-hero,
.intro-section,
.cards-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;
}