:root{
--azul-principal:#1F6DB8;
--azul-secundario:#2A84D2;
--rosa:#C91C8D;
--laranja:#F59E0B;
--laranja-hover:#d97706;
--branco:#ffffff;
--cinza-claro:#f8fafc;
--cinza-borda:#E5E7EB;
--texto:#1F2937;
--texto-claro:#6B7280;
}

/* RESET */
*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:Arial,sans-serif;
background:var(--branco);
color:var(--texto);
line-height:1.6;
}

/* CONTAINER */
.container{
width:min(90%,1200px);
margin:auto;
}

/* HEADER */
header{
position:fixed;
top:0;
width:100%;
height:90px;
background:rgba(255,255,255,.96);
backdrop-filter:blur(12px);
border-bottom:1px solid var(--cinza-borda);
z-index:999;
}

.nav{
display:flex;
justify-content:space-between;
align-items:center;
height:100%;
}

.logo img{
height:55px;
width:auto;
display:block;
}

/* MENU */
nav{
display:flex;
align-items:center;
}

nav a{
text-decoration:none;
margin-left:24px;
font-weight:600;
color:var(--texto);
transition:.3s;
}

nav a:hover{
color:var(--rosa);
}

.menu-login{
background:var(--azul-principal);
color:var(--branco);
padding:12px 20px;
border-radius:10px;
transition:.3s;
}

.menu-login:hover{
background:var(--rosa);
}

/* HERO */
.hero{
min-height:100vh;
display:flex;
align-items:center;
padding-top:90px;
background:linear-gradient(
135deg,
var(--azul-principal) 0%,
var(--azul-secundario) 60%,
var(--rosa) 100%
);
}

.hero-content{
display:flex;
align-items:center;
justify-content:space-between;
gap:50px;
}

.hero-text{
flex:1;
max-width:600px;
}

.hero-text h1{
font-size:52px;
line-height:1.1;
margin-bottom:25px;
font-weight:700;
color:var(--branco);
}

.hero-text p{
font-size:20px;
margin-bottom:35px;
color:rgba(255,255,255,.95);
}

.hero-image{
flex:1;
text-align:center;
}

.hero-image img{
width:100%;
max-width:500px;
height:auto;
animation:flutuar 4s ease-in-out infinite;
}

/* BOTÕES */
.btn{
display:inline-block;
padding:15px 30px;
background:var(--laranja);
color:var(--branco);
text-decoration:none;
border-radius:10px;
font-weight:bold;
transition:.3s;
box-shadow:0 10px 25px rgba(0,0,0,.15);
}

.btn:hover{
background:var(--laranja-hover);
transform:translateY(-2px);
}

/* ACESSIBILIDADE */
a:focus,
button:focus,
input:focus,
textarea:focus{
outline:2px solid var(--rosa);
outline-offset:2px;
}

/* SEÇÕES */
section{
padding:110px 0;
scroll-margin-top:100px;
}

/* FUNDOS ALTERNADOS */
#videos,
#beneficios,
#parceiros{
background:var(--cinza-claro);
}

/* TITULOS */
h2{
text-align:center;
margin-bottom:50px;
font-size:36px;
color:var(--azul-principal);
}

/* VÍDEOS */
.video-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:30px;
margin-top:40px;
}

.video-card{
background:var(--branco);
border-radius:16px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,.08);
transition:.3s;
}

.video-card:hover{
transform:translateY(-6px);
box-shadow:0 20px 40px rgba(0,0,0,.12);
}

.video-card iframe{
width:100%;
aspect-ratio:16/9;
height:auto;
display:block;
}

/* GRID PADRÃO */
.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
}

/* CARDS */
.card{
background:var(--branco);
padding:30px;
border-radius:16px;
border:1px solid var(--cinza-borda);
box-shadow:0 10px 30px rgba(0,0,0,.06);
text-align:center;
transition:.3s;
height:100%;
}

.card:hover{
transform:translateY(-8px);
box-shadow:0 20px 40px rgba(0,0,0,.10);
}

.card img{
height:65px;
margin-bottom:20px;
}

.card h3{
margin-bottom:15px;
color:var(--azul-principal);
}

.card p{
color:var(--texto-claro);
}

/* PARCEIROS */
.parceiro-card{
padding:40px;
display:flex;
align-items:center;
justify-content:center;
min-height:220px;
}

.parceiro-card img{
width:100%;
max-width:280px;
height:auto;
object-fit:contain;
margin:0;
}

/* FORMULÁRIO */
.contact-form{
max-width:700px;
margin:auto;
}

.contact-form input,
.contact-form textarea{
width:100%;
padding:16px;
margin-bottom:18px;
border:1px solid var(--cinza-borda);
border-radius:10px;
outline:none;
font-size:16px;
transition:.3s;
}

.contact-form input:focus,
.contact-form textarea:focus{
border-color:var(--azul-principal);
}

.contact-form textarea{
resize:vertical;
min-height:150px;
}

.contact-form button{
padding:15px 30px;
background:var(--azul-principal);
color:var(--branco);
border:none;
border-radius:10px;
cursor:pointer;
font-weight:bold;
transition:.3s;
}

.contact-form button:hover{
background:var(--rosa);
}

/* FOOTER */
footer{
background:var(--texto);
color:var(--branco);
padding:50px 0;
text-align:center;
}

footer p{
margin:8px 0;
}

/* ANIMAÇÃO */
@keyframes flutuar{
0%{
transform:translateY(0);
}
50%{
transform:translateY(-10px);
}
100%{
transform:translateY(0);
}
}

/* RESPONSIVO */
@media(max-width:768px){

.hero-content{
flex-direction:column;
text-align:center;
}

.hero-text h1{
font-size:36px;
}

.hero-text p{
font-size:18px;
}

.hero-image img{
max-width:350px;
}

.video-grid{
grid-template-columns:1fr;
}

nav{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:10px;
}

nav a{
margin-left:0;
}

.logo img{
height:45px;
}

section{
padding:80px 0;
}

h2{
font-size:30px;
}

.parceiro-card{
padding:30px;
min-height:180px;
}

.parceiro-card img{
max-width:220px;
}

}