*{
margin:0;
padding:0;
box-sizing:border-box;
}

/* ELEMENTO INICIAL (escondido) */
.reveal{
opacity:0;
transform:translateY(40px);
transition:all 0.8s ease;
}

/* QUANDO APARECE */
.reveal.active{
opacity:1;
transform:translateY(0);
}

body{
font-family:'Inter',sans-serif;
background:#f5f7f8;
color:#1e293b;
}

.container{
max-width:1100px;
margin:auto;
align-items:center;
padding:0 10px;
}

.topo{
background:#ffffff;
border-bottom:1px solid #e5e7eb;
}

.header-flex{
display:flex;
align-items:center;
justify-content:space-between;
height:50px;
}

.logo span{
color:#003380;
}

.menu a{
margin:0 15px;
text-decoration:none;
color:#1e293b;
font-weight:800;
}

.menu a:hover{
color:#1e293b;
}

/* HERO */
.hero{
background:linear-gradient(135deg,#004480,hsl(210, 100%, 40%));
color:#fff;
padding:30px 0;
overflow:hidden;
}

/* GRID */
.hero-grid{
display:grid;
grid-template-columns:1fr 1fr;
align-items:center;
gap:50px;
}

/* LOGO */
.hero-logo{
max-width:320px;
width:100%;
animation:fadeInLeft 1s ease;
}

/* TEXTO */
.hero-right h1{
font-size:clamp(28px,5vw,48px);
font-weight:700;
margin-bottom:20px;
animation:fadeInUp 1s ease;
}

.hero-right span{
color:#ffcd07;
}

.hero-right p{
font-size:clamp(16px,2vw,18px);
margin-bottom:30px;
line-height:1.6;
opacity:0.95;
animation:fadeInUp 1.2s ease;
}

/* BOTÕES */
.hero-buttons{
display:flex;
gap:15px;
flex-wrap:wrap;
animation:fadeInUp 1.4s ease;
}

.btn-primary{
background:#27a850;
color:#fff;
padding:14px 25px;
border-radius:8px;
text-decoration:none;
font-weight:bold;
transition:0.3s;
}

.btn-primary:hover{
background:#219645;
transform:translateY(-2px);
}

.btn-secondary{
border:2px solid #fff;
color:#fff;
padding:12px 25px;
border-radius:8px;
text-decoration:none;
transition:0.3s;
}

.btn-secondary:hover{
background:#fff;
color:#004480;
}

/* ANIMAÇÕES */
@keyframes fadeInLeft{
from{
opacity:0;
transform:translateX(-50px);
}
to{
opacity:1;
transform:translateX(0);
}
}

@keyframes fadeInUp{
from{
opacity:0;
transform:translateY(30px);
}
to{
opacity:1;
transform:translateY(0);
}
}

/* RESPONSIVO */
@media(max-width:768px){

.hero{
padding:50px 0;
}

.hero-grid{
grid-template-columns:1fr;
text-align:center;
}

.hero-left{
display:flex;
justify-content:center;
}

.hero-logo{
max-width:220px;
margin-bottom:20px;
}

.hero-buttons{
justify-content:center;
}

}
.btn-primary{
background:#27a850;
padding:14px 25px;
border-radius:8px;
text-decoration:none;
color:white;
font-weight:bold;
}

.btn-secondary{
background:transparent;
border:2px solid white;
padding:12px 25px;
border-radius:8px;
text-decoration:none;
color:white;
}

.stats{
background:#fff;
padding:50px 0;
}

.stats-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
text-align:center;
gap:20px;
}

.stats h3{
font-size:32px;
color:#004480;
}
.stats h2{
font-size:25px;
text-align:center;
color:#f05f0c;
margin-bottom:40px;
}

.servicos{
padding:80px 0;
}

.servicos h3{
font-size:25px;
text-align:center;
color:#2f8000;
margin-bottom:40px;
}

h3{
font-size:25px;
text-align:center;
color:#0c23f0;
margin-bottom:20px;
}
.card{
transition:all 0.3s ease;
}

.card:hover{
transform:translateY(-5px);
box-shadow:0 10px 25px rgba(0,0,0,0.15);
}

.cards{
display:flex;
gap:25px;
flex-wrap:wrap; /* quebra no mobile */
justify-content:center; /* centraliza */
text-align:center;
grid-template-columns:repeat(4,1fr);
flex-wrap:wrap; /* quebra no mobile */
gap:25px;
}

.card{
background:white;
text-align:center;
padding:25px;
border-radius:10px;
box-shadow:0 5px 15px rgba(0,0,0,0.05);
width:280px; /* controla largura */
}

.card h3{
margin-bottom:10px;
}

.card p{
margin-bottom:15px;
}

.card a{
color:#004480;
font-weight:bold;
text-decoration:none;
}

.rodape{
background:#004480;
text-align:center;
color:white;
padding:30px 0 20px 0;
}

.footer-grid{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:10px;
text-align:center;
}

.copyright{
text-align:center;
margin-top:30px;
font-size:14px;
opacity:0.7;
}


.hero-img{
width:100%;
height:315px;
object-fit:cover;
border-radius:12px;

}
/* MOBILE (até 768px) */
@media (max-width: 768px){

/* HEADER */
.header-flex{
flex-direction:column;
height:auto;
gap:10px;
padding:10px 0;
}

.menu{
display:flex;
flex-wrap:wrap;
justify-content:center;
}

.menu a{
margin:5px 10px;
font-size:14px;
}

/* HERO */
.hero-grid{
grid-template-columns:1fr;
text-align:center;
}

.hero h1{
font-size:28px;
}

.hero p{
font-size:16px;
}

.hero-buttons{
flex-direction:column;
align-items:center;
}

.hero-logo{
max-width:250px;
margin:auto;
}

.stats-grid{
grid-template-columns:repeat(2,1fr);
}

.cards{
grid-template-columns:1fr;
}

.footer-grid{
grid-template-columns:1fr;
text-align:center;
}

.hero-img{
height:200px;
}

.stats-grid1{
grid-template-columns:repeat(2,1fr);
text-align:center;
}

.cards{
grid-template-columns:1fr;
}

.footer-grid{
grid-template-columns:1fr;
text-align:center;
}

.hero-img{
height:200px;
}


}
/* TABLET (até 1024px) */
@media (max-width: 1024px){

.hero-grid{
grid-template-columns:1fr;
}

.cards{
grid-template-columns:repeat(2,1fr);
}

.stats-grid{
grid-template-columns:repeat(2,1fr);
}

}
/* BOTÃO HAMBURGUER */
.menu-toggle{
display:none;
flex-direction:column;
cursor:pointer;
gap:5px;
}

.menu-toggle span{
width:25px;
height:3px;
background:#004480;
border-radius:5px;
transition:0.3s;
}

/* ANIMAÇÃO DO X */
.menu-toggle.active span:nth-child(1){
transform:rotate(45deg) translate(5px,5px);
}

.menu-toggle.active span:nth-child(2){
opacity:0;
}

.menu-toggle.active span:nth-child(3){
transform:rotate(-45deg) translate(6px,-6px);
}

/* MENU MOBILE */
@media (max-width:768px){

.menu{
position:absolute;
top:60px;
left:0;
width:100%;
background:white;
flex-direction:column;
align-items:center;
gap:15px;
padding:20px 0;
display:none;

opacity:0;
transform:translateY(-10px);
transition:0.3s;
}

.menu.active{
display:flex;
opacity:1;
transform:translateY(0);
}

.menu-toggle{
display:flex;
}

/* HERO */
.hero{
padding:40px 0;
}

/* ANIMAÇÃO SUAVE GLOBAL */
*{
transition:all 0.3s ease;
}

}
.reels {
  padding: 60px 0;
  background: #f1eeee;
  color: #fff;
}

.reels-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.reels-header h3 {
  font-size: 22px;
}

.reels-controls button {
  background: rgba(255,255,255,0.1);
  border: none;
  color: #fff;
  font-size: 20px;
  padding: 8px 14px;
  margin-left: 5px;
  cursor: pointer;
  border-radius: 6px;
  transition: 0.3s;
}

.reels-controls button:hover {
  background: #27a850;
}

/* CARROSSEL */
.carousel {
  overflow: hidden;
}

.carousel-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding-bottom: 10px;
}

/* CARD */
.reel-card {
  min-width: 280px;
  max-width: 280px;
  transition: transform 0.3s ease;
}

.reel-card:hover {
  transform: scale(1.08);
  z-index: 2;
}

/* VIDEO */
.reel-card iframe {
  width: 100%;
  height: 500px;
  border-radius: 12px;
  border: none;
}

/* SCROLL BAR BONITA */
.carousel-track::-webkit-scrollbar {
  height: 6px;
}

.carousel-track::-webkit-scrollbar-thumb {
  background: #27a850;
  border-radius: 10px;
}

/* RESPONSIVO */
@media(max-width:768px){
  .reel-card {
    min-width: 200px;
  }

  .reel-card iframe {
    height: 380px;
  }
}

/* BOTÕES */
.prev, .next{
position:absolute;
background:#46a2f3;
color:#fff;
border:none;
font-size:25px;
padding:10px 15px;
cursor:pointer;
border-radius:50%;
top:50%;
transform:translateY(-50%);
z-index:10;
}

.prev{ left:-10px; }
.next{ right:-10px; }

/* MOBILE */
@media(max-width:768px){

.reel-card{
min-width:250px;
height:450px;
}

.prev, .next{
display:none;
}

}