/* =======================
RESET
======================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

/* =======================
VARIÁVEIS
======================= */

:root{
--bg:#071330;
--card:#132345;
--text:#ffffff;
--sub:#cbd5e1;
--primary:#e8896a;
--hover:#f29c7f;
--border:rgba(255,255,255,.08);
--shadow:0 10px 30px rgba(0,0,0,.25);

--title:'DM Serif Display', serif;
--body:'Syne', sans-serif;
}

[data-theme="light"]{
--bg:#f5f7fb;
--card:#ffffff;
--text:#111827;
--sub:#4b5563;
--primary:#d86c48;
--hover:#c95834;
--border:rgba(0,0,0,.08);
--shadow:0 10px 25px rgba(0,0,0,.08);
}

/* =======================
BASE
======================= */

body{
font-family:var(--body);
background:var(--bg);
color:var(--text);
line-height:1.7;
overflow-x:hidden;
transition:background .3s, color .3s;
}

h1,h2,h3,.logo,.footer-logo{
font-family:var(--title);
font-weight:400;
}

a{
text-decoration:none;
}

p{
color:var(--sub);
margin-bottom:18px;
}

/* =======================
NAVBAR
======================= */

.navbar{
position:fixed;
top:0;
left:0;
width:100%;
height:74px;
display:flex;
justify-content:space-between;
align-items:center;
padding:0 22px;
background:rgba(7,19,48,.94);
backdrop-filter:blur(12px);
border-bottom:1px solid var(--border);
box-shadow:0 8px 30px rgba(0,0,0,.12);
z-index:999;
}

.logo{
font-size:34px;
}

.logo::after{
content:".";
color:var(--primary);
}

.nav-links{
display:flex;
gap:18px;
align-items:center;
}

.nav-links a{
color:var(--text);
font-size:15px;
font-weight:600;
position:relative;
transition:.25s;
}

.nav-links a:hover,
.nav-links a.active{
color:var(--primary);
}

.nav-links a.active::after{
content:"";
position:absolute;
left:0;
bottom:-6px;
width:100%;
height:2px;
background:var(--primary);
}

.nav-actions{
display:flex;
align-items:center;
gap:8px;
margin-left:18px;
flex-shrink:0;
}

#themeToggle,
.menu-btn{
width:40px;
height:40px;
border:none;
border-radius:12px;
background:var(--card);
color:var(--text);
font-size:17px;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
box-shadow:var(--shadow);
}

.menu-btn{
display:none;
}

/* =======================
HERO
======================= */

.hero{
min-height:100vh;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
padding:90px 8% 40px;
}

.hero-left{
max-width:850px;
}

.hero-tag{
font-size:14px;
letter-spacing:3px;
text-transform:uppercase;
color:var(--primary);
font-weight:700;
margin-bottom:16px;
}

.hero h1{
font-size:clamp(42px, 8vw, 78px);
line-height:1.1;
margin-bottom:18px;
}

.hero-sub{
font-size:18px;
margin-bottom:34px;
}

.hero-buttons{
display:flex;
justify-content:center;
gap:16px;
flex-wrap:wrap;
}

/* =======================
BOTÕES
======================= */

.btn-primary,
.btn-secondary{
padding:15px 28px;
border-radius:40px;
font-weight:700;
display:inline-block;
transition:.25s;
text-align:center;
max-width:100%;
}

.btn-primary{
background:var(--primary);
color:#fff;
}

.btn-primary:hover{
background:var(--hover);
transform:translateY(-3px);
}

.btn-secondary{
border:1px solid var(--border);
color:var(--text);
}

.btn-secondary:hover{
border-color:var(--primary);
color:var(--primary);
}

/* =======================
SEÇÕES
======================= */

section{
padding:90px 8%;
}

.container{
max-width:1200px;
margin:auto;
}

h2{
font-size:52px;
margin-bottom:34px;
}

/* =======================
GRID
======================= */

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:22px;
}

/* =======================
CARDS
======================= */

.card,
.card-big{
background:var(--card);
padding:28px;
border-radius:22px;
border:1px solid var(--border);
box-shadow:var(--shadow);
transition:.25s;
}

.card:hover,
.card-big:hover{
transform:translateY(-6px);
border-color:var(--primary);
}

.card h3,
.card-big h3{
font-size:24px;
margin-bottom:12px;
}

.card ul{
padding-left:18px;
margin-top:10px;
}

.card li{
color:var(--sub);
margin-bottom:8px;
}

/* =======================
CONTATO
======================= */

#contato a{
color:var(--primary);
word-break:break-word;
}

#contato a:hover{
text-decoration:underline;
}


/* =======================
BOTÃO TOPO
======================= */

#topBtn{
position:fixed;
left:20px;
bottom:20px;
width:48px;
height:48px;
border:none;
border-radius:50%;
background:var(--primary);
color:#fff;
font-size:22px;
cursor:pointer;
display:none;
z-index:999;
box-shadow:var(--shadow);
}

/* =======================
WHATSAPP
======================= */

.whatsapp{
position:fixed;
right:20px;
bottom:20px;
background:#25d366;
color:#fff;
padding:14px 22px;
border-radius:40px;
font-weight:700;
box-shadow:var(--shadow);
transition:.25s;
z-index:999;
}

.whatsapp:hover{
transform:translateY(-3px);
}

/* =======================
FOOTER
======================= */

.footer{
padding:55px 20px;
margin-top:70px;
border-top:1px solid var(--border);
}

.footer-container{
max-width:1200px;
margin:auto;
text-align:center;
}

.footer-logo{
font-size:56px;
margin-bottom:10px;
}

.footer-logo span{
color:var(--primary);
}

.footer-text{
font-size:18px;
}

.footer-sub{
font-size:13px;
letter-spacing:3px;
text-transform:uppercase;
color:var(--primary);
}

/* =======================
ANIMAÇÕES
======================= */

.hidden{
opacity:0;
transform:translateY(25px);
transition:.6s ease;
}

.show{
opacity:1;
transform:translateY(0);
}

/* =======================
RESPONSIVO
======================= */

@media(max-width:992px){

.hero h1{
font-size:58px;
}

h2{
font-size:42px;
}

.nav-links a{
font-size:14px;
}

}

@media(max-width:768px){

.navbar{
height:68px;
padding:0 14px;
}

.logo{
font-size:28px;
}

.menu-btn{
display:flex;
}

.nav-links{
position:fixed;
top:68px;
left:-100%;
width:100%;
background:var(--bg);
flex-direction:column;
padding:24px;
gap:18px;
transition:.3s;
border-top:1px solid var(--border);
}

.nav-links.active{
left:0;
}

.nav-links a{
font-size:18px;
}

#themeToggle,
.menu-btn{
width:36px;
height:36px;
font-size:15px;
}

.hero{
padding:120px 20px 70px;
}

.hero h1{
font-size:42px;
}

.hero-sub{
font-size:16px;
}

.hero-buttons{
flex-direction:column;
}

.hero-buttons .btn-primary,
.hero-buttons .btn-secondary{
width:100%;
}

section{
padding:70px 20px;
}

.grid{
grid-template-columns:1fr;
}

h2{
font-size:34px;
}

.footer-logo{
font-size:42px;
}

.whatsapp{
right:12px;
bottom:12px;
padding:11px 18px;
font-size:14px;
}

}

@media(max-width:420px){

.hero h1{
font-size:34px;
}

.logo{
font-size:24px;
}

h2{
font-size:30px;
}

.card h3{
font-size:20px;
}

}