/* ==========================================
NEUROREVIVER - CUSTOM.CSS
Versão 1.0
========================================== */

:root{

--primary:#0F4C81;
--secondary:#4DA8DA;
--success:#2ECC71;
--dark:#1F2937;
--light:#F8FAFC;
--gray:#64748B;

}

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Segoe UI',sans-serif;
color:#333;
background:#fff;
overflow-x:hidden;

}

/* ==========================
GERAL
========================== */

.container{

max-width:1200px;

}

section{

padding:90px 0;

}

.section-title{

font-size:2.6rem;
font-weight:800;
color:var(--primary);
text-align:center;
margin-bottom:20px;

}

.section-subtitle{

max-width:800px;
margin:auto;
margin-bottom:60px;
text-align:center;
color:var(--gray);
font-size:1.1rem;

}

/* ==========================
MENU
========================== */

.navbar{

background:#fff !important;
padding:12px 0;
box-shadow:0 2px 15px rgba(0,0,0,.08);

}

.navbar-brand img{

height:65px;
width:auto;

}

.nav-link{

font-weight:600;
color:var(--primary)!important;
margin-left:10px;

}

.nav-link:hover{

color:var(--success)!important;

}

.navbar .btn-success{

padding:12px 20px;
border-radius:12px;

}

/* ==========================
BOTÕES
========================== */

.btn-success{

background:var(--success);
border:none;
font-weight:700;
padding:14px 24px;
border-radius:12px;

}

.btn-success:hover{

background:#28b765;

}

.btn-outline-light{

padding:14px 24px;
border-radius:12px;

}

/* ==========================
HERO
========================== */

.hero-section{

background:
linear-gradient(
rgba(15,76,129,.92),
rgba(15,76,129,.92)
),
url('https://images.unsplash.com/photo-1576091160550-2173dba999ef');

background-size:cover;
background-position:center;

min-height:85vh;

display:flex;
align-items:center;

padding-top:140px;
padding-bottom:80px;

color:white;

}

.hero-section h1{

font-size:2.8rem;
font-weight:800;
line-height:1.2;
margin-bottom:25px;

}

.hero-section p{

font-size:1.15rem;
line-height:1.8;
margin-bottom:30px;

}

.hero-buttons{

display:flex;
gap:15px;
flex-wrap:wrap;

}

.hero-dashboard{

max-width:750px;
width:100%;
border-radius:20px;
box-shadow:0 25px 50px rgba(0,0,0,.25);

}

/* ==========================
ESTATÍSTICAS
========================== */

.stats{

background:var(--primary);
color:white;

}

.stat-box{

text-align:center;

}

.stat-box h2{

font-size:3rem;
font-weight:800;

}

.stat-box p{

font-size:1rem;

}

/* ==========================
RECONHECIMENTOS
========================== */

.recognition-card{

background:white;
border-radius:20px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,.08);
height:100%;
transition:.3s;

}

.recognition-card:hover{

transform:translateY(-8px);

}

.recognition-card img{

width:100%;
height:220px;
object-fit:cover;

}

.recognition-card h4{

padding:20px 20px 10px;
color:var(--primary);

}

.recognition-card p{

padding:0 20px 20px;

}
/* ==========================
CARDS
========================== */

.info-card{

background:white;
padding:35px;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
height:100%;
transition:.3s;

}

.info-card:hover{

transform:translateY(-8px);

}

.info-card h3{

color:var(--primary);
margin-bottom:15px;
font-weight:700;

}

/* ==========================
COMO FUNCIONA
========================== */

.step-card{

background:white;
padding:30px;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
text-align:center;
height:100%;
transition:.3s;

}

.step-card:hover{

transform:translateY(-8px);

}

.step-card h3{

width:60px;
height:60px;

background:var(--secondary);
color:white;

border-radius:50%;

display:flex;
align-items:center;
justify-content:center;

margin:auto;
margin-bottom:20px;

font-size:1.5rem;
font-weight:700;

}

.step-card h5{

color:var(--primary);
font-weight:700;
margin-bottom:15px;

}

/* ==========================
EQUIPE
========================== */

.team-card{

background:white;
border-radius:20px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,.08);
height:100%;
transition:.3s;

}

.team-card:hover{

transform:translateY(-8px);

}

.team-card img{

width:100%;
height:320px;
object-fit:cover;

}

.team-body{

padding:25px;

}

.team-body h3{

font-size:1.3rem;
color:var(--primary);
margin-bottom:10px;

}

.team-role{

font-weight:700;
color:var(--success);
margin-bottom:15px;

}

/* ==========================
PLANOS
========================== */

.plan-card{

background:white;
padding:40px;
border-radius:25px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
height:100%;
transition:.3s;

}

.plan-card:hover{

transform:translateY(-8px);

}

.plan-card.featured{

border:3px solid var(--secondary);

}

.plan-card h3{

color:var(--primary);
font-weight:700;

}

.plan-price{

font-size:2.5rem;
font-weight:800;
color:var(--primary);
margin:20px 0;

}

.plan-card ul{

padding-left:20px;

}

.plan-card li{

margin-bottom:12px;

}

/* ==========================
CONTATO
========================== */

.contact-box{

background:white;
padding:40px;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.contact-box h4{

color:var(--primary);
margin-bottom:10px;

}

/* ==========================
CTA FINAL
========================== */

.cta-section{

background:
linear-gradient(
135deg,
var(--primary),
var(--secondary)
);

color:white;
text-align:center;

}

.cta-section h2{

font-size:2.8rem;
font-weight:800;
margin-bottom:20px;

}

.cta-section p{

font-size:1.1rem;
max-width:800px;
margin:auto;
margin-bottom:30px;

}

/* ==========================
FOOTER
========================== */

footer{

background:var(--primary);
color:white;
padding:60px 0;
text-align:center;

}

footer p{

margin-bottom:10px;

}

/* ==========================
RESPONSIVO TABLET
========================== */

@media(max-width:992px){

.hero-section{

text-align:center;

}

.hero-section h1{

font-size:2.2rem;

}

.hero-section p{

max-width:100%;

}

.hero-buttons{

justify-content:center;

}

.hero-dashboard{

margin-top:40px;
max-width:500px;

}

.section-title{

font-size:2.2rem;

}

}

/* ==========================
RESPONSIVO CELULAR
========================== */

@media(max-width:768px){

.navbar-brand img{

height:50px;

}

.hero-section{

padding-top:120px;
min-height:auto;

}

.hero-section h1{

font-size:1.9rem;
line-height:1.3;

}

.hero-section p{

font-size:1rem;

}

.hero-buttons{

flex-direction:column;

}

.hero-buttons .btn{

width:100%;

}

.section-title{

font-size:1.8rem;

}

.section-subtitle{

font-size:1rem;

}

.stat-box{

margin-bottom:30px;

}

.team-card img{

height:260px;

}

.plan-price{

font-size:2rem;

}

.cta-section h2{

font-size:2rem;

}

section{

padding:70px 0;

}

}
.social-links{

margin:25px 0;

}

.social-links a{

display:inline-flex;

align-items:center;
justify-content:center;

width:55px;
height:55px;

margin:0 8px;

border-radius:50%;

background:white;

color:#0F4C81;

font-size:24px;

text-decoration:none;

transition:.3s;

}

.social-links a:hover{

background:#2ECC71;

color:white;

transform:translateY(-5px);

}
.form-control,
.form-select{

padding:14px;
border-radius:12px;
border:1px solid #dbe2ea;

}

.form-control:focus,
.form-select:focus{

box-shadow:none;
border-color:#4DA8DA;

}

