
*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Inter',sans-serif;
}

body{
background:#F8FAFC;
}

/* HEADER */

header{
background:#0F172A;
padding:12px 80px;
display:flex;
justify-content:space-between;
align-items:center;
}

.logo img{
    height:110px;
    width:auto;
    display:block;
}

.menu{
display:flex;
gap:15px;
}

.menu button{
padding:14px 25px;
border:none;
border-radius:15px;
cursor:pointer;
font-weight:600;
}

.login{
background:#1E293B;
color:white;
}

.cadastro{
background:#10B981;
color:white;
}

/* HERO */

.hero{
padding:100px 80px;
display:flex;
justify-content:space-between;
align-items:center;
}

.esquerda{
max-width:650px;
}

h1{
font-size:58px;
color:#0F172A;
margin-bottom:20px;
}

.sub{
font-size:20px;
color:#64748B;
line-height:1.8;
margin-bottom:40px;
}

.botao{
background:#1E3A8A;
color:white;
padding:20px 35px;
border:none;
border-radius:20px;
font-size:18px;
cursor:pointer;
}

.preview{
    background:#FFF;
    width:580px;
    padding:50px;
    border-radius:30px;
    box-shadow:0 12px 45px rgba(15,23,42,.08);
}

.preview h2{
    font-size:32px;
    margin-bottom:25px;
    color:#0F172A;
}

.preview p{
    font-size:19px;
    line-height:1.9;
    color:#334155;
    margin-bottom:10px;
}

/* RECURSOS */

.recursos{
    padding:60px 80px;
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:20px;
}

.card{
    background:white;
    padding:28px 25px;
    border-radius:20px;
    box-shadow:0 5px 30px rgba(0,0,0,.05);
    min-width:0;
}

.card h3{
    color:#0F172A;
    margin-bottom:12px;
    font-size:20px;
}

.card p{
    color:#64748B;
    line-height:1.6;
    font-size:15px;
}

/* MODAIS */

.modal-bg{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.4);
justify-content:center;
align-items:center;
}

.modal{
background:white;
width:450px;
padding:40px;
border-radius:25px;
}

.modal h2{
margin-bottom:25px;
}

input{
width:100%;
padding:16px;
border:1px solid #E2E8F0;
border-radius:15px;
margin-bottom:15px;
}

.enviar{
width:100%;
padding:18px;
background:#1E3A8A;
border:none;
color:white;
border-radius:15px;
font-size:16px;
cursor:pointer;
}

.fechar{
float:right;
cursor:pointer;
font-size:22px;
}
.mensagem{
display:none;
margin-top:15px;
padding:12px;
border-radius:12px;
font-size:14px;
line-height:1.5;
}

.mensagem-erro{
background:#FEE2E2;
color:#991B1B;
}

.mensagem-sucesso{
background:#DBEAFE;
color:#1E3A8A;
}

.mensagem-aviso{
background:#FEF3C7;
color:#92400E;
}

/* ================= MOBILE ================= */

@media (max-width:900px){

header{

    flex-direction:column;
    gap:20px;
    padding:20px;

}

.logo img{
    height:90px;
    margin:0 auto;
}

.menu{

    width:100%;
    display:flex;
    gap:10px;

}

.menu button{

    flex:1;
    padding:16px;
    font-size:16px;

}

.hero{

    flex-direction:column;
    padding:40px 20px;
    text-align:center;
    gap:35px;

}

.esquerda{

    max-width:100%;

}

h1{

    font-size:36px;
    line-height:1.2;

}

.sub{

    font-size:18px;
    line-height:1.6;
    margin-bottom:30px;

}

.botao{

    width:100%;
    padding:18px;
    font-size:18px;

}

.preview{

    width:100%;
    padding:30px;

}

.preview h2{

    text-align:center;

}

.preview p{

    font-size:17px;
    margin:12px 0;

}

.recursos{

    grid-template-columns:1fr;
    padding:20px;
    gap:20px;

}

.card{

    padding:25px;

}

.modal{

    width:92%;
    padding:25px;

}

input{

    font-size:16px;

}

.campo-captcha {
    margin-bottom: 15px;
}

.campo-captcha label {
    display: block;
    margin-bottom: 9px;
    color: #334155;
    font-size: 14px;
    font-weight: 600;
}

.campo-captcha input {
    margin-bottom: 0;
}

.enviar{

    padding:16px;
    font-size:16px;

}

}
