:root{
--bg:#0f0f0f;
--surface:#171717;
--surface-2:#202124;
--text:#ffffff;
--muted:#bdc1c6;
--accent:#c62828;
--accent-strong:#a61e1e;
--header-h:86px;
}

*{margin:0;padding:0;box-sizing:border-box;font-family:"Segoe UI",Tahoma,sans-serif}

html{scroll-behavior:smooth}

body{background:var(--bg);color:var(--text);min-height:100vh}

header{
background:#000;
padding:15px 60px;
display:flex;
justify-content:space-between;
align-items:center;
position:fixed;
width:100%;
top:0;
z-index:1000;
gap:18px;
flex-wrap:wrap;
}

.logo img{height:auto;max-height:70px;width:auto;display:block;max-width:200px}

nav ul{display:flex;list-style:none;gap:30px;flex-wrap:wrap;justify-content:flex-end}

nav a{color:#bbb;text-decoration:none;font-weight:700;transition:0.3s}
nav a:hover{color:#fff}

main{padding-top:var(--header-h);min-height:calc(100vh - 70px)}

.hero{
position:relative;
width:100%;
min-height:calc(100vh - var(--header-h));
display:flex;
align-items:center;
padding:40px 0;
overflow:hidden;
}

.hero::before{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(90deg,rgba(0,0,0,0.82) 0%,rgba(0,0,0,0.56) 46%,rgba(0,0,0,0.2) 100%),
url("/assets/img/img_home.png") center/cover no-repeat;
}

.hero-inner{
position:relative;
width:min(1200px,92%);
margin:0 auto;
display:grid;
grid-template-columns:minmax(320px,620px) 1fr;
align-items:center;
}

.hero-text{color:var(--text)}

.hero-text h1{font-size:clamp(2rem,5vw,4rem);margin-bottom:18px;line-height:1.08;font-weight:800}
.hero-text h1 span{color:var(--accent)}

.hero-text p{margin-bottom:28px;color:var(--muted);font-size:clamp(1rem,1.9vw,1.95rem);max-width:30ch;line-height:1.35}

.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}

.hero button{
padding:13px 28px;
background:var(--accent);
color:#171717;
border:none;
border-radius:8px;
cursor:pointer;
font-weight:700;
transition:0.25s;
}

.hero button:hover{background:var(--accent-strong)}

.hero .ghost{
background:transparent;
color:#fff;
border:1px solid rgba(255,255,255,0.7);
}

.hero .ghost:hover{
background:rgba(255,255,255,0.12);
}

.hero-right{min-height:200px}

.home-servicos{
background:var(--surface-2);
padding:42px 0;
}

.section-head{
width:min(1200px,92%);
margin:0 auto 20px;
}

.section-head h2{font-size:clamp(1.8rem,3.5vw,2.5rem);color:var(--text);margin-bottom:7px}
.section-head p{color:var(--muted);line-height:1.5}

.grid-servicos{
width:min(1200px,92%);
margin:0 auto;
display:grid;
grid-template-columns:repeat(3,1fr);
gap:16px;
}

.card{position:relative;height:310px;overflow:hidden;border-radius:12px}

.card img{
width:100%;
height:100%;
object-fit:cover;
display:block;
transition:transform 0.35s ease;
filter:brightness(62%);
}

.card:hover img{transform:scale(1.04);filter:brightness(46%)}

.card-text{position:absolute;left:18px;right:18px;bottom:18px;color:#fff}
.card-text h3{font-size:1.5rem;margin-bottom:4px;font-weight:800;text-shadow:0 2px 6px rgba(0,0,0,0.7)}

a.card-link{display:contents;text-decoration:none;color:inherit;}

@media (max-width:780px){
.grid-servicos{grid-template-columns:repeat(2,1fr)}
.card{height:260px}
}

@media (max-width:480px){
.grid-servicos{grid-template-columns:1fr}
}

.home-contato{
background:#181a1b;
padding:45px 0 52px;
}

.contato-box{
width:min(1100px,92%);
margin:0 auto;
background:var(--surface);
padding:30px;
border-radius:12px;
box-shadow:0 10px 24px rgba(0,0,0,0.28);
}

.contato-box h2{margin-bottom:8px;color:var(--text);font-size:2rem}
.contato-box p{margin-bottom:20px;color:var(--muted);line-height:1.5}

.contato-layout{
display:grid;
grid-template-columns:minmax(280px,1fr) minmax(320px,1fr);
gap:24px;
align-items:stretch;
}

.contato-info,
.contato-mapa{
display:flex;
flex-direction:column;
}

.contato-info{
justify-content:center;
padding-right:8px;
}

.item{margin-bottom:14px;font-size:1.08rem;color:var(--text)}
.item a{color:var(--text);text-decoration:none;font-weight:700}
.item a:hover{text-decoration:underline}

.map-link{
display:inline-flex;
align-items:center;
justify-content:center;
padding:12px 18px;
background:var(--accent);
color:#fff;
border-radius:8px;
font-weight:800;
text-decoration:none;
transition:0.25s;
margin-top:6px;
}

.map-link:hover{background:var(--accent-strong);text-decoration:none}

.map-frame{
width:100%;
min-height:320px;
border:0;
border-radius:12px;
box-shadow:0 6px 14px rgba(0,0,0,0.12);
}

footer{background:#000;color:#aaa;text-align:center;padding:22px}

@media (max-width:900px){
header{padding:12px 20px}
nav ul{gap:15px}
.hero{min-height:74vh}
.hero-inner{grid-template-columns:1fr}
.hero-text p{max-width:36ch}
.contato-layout{grid-template-columns:1fr}
.contato-info{padding-right:0}
}

@media (max-width:560px){
nav a{font-size:0.85rem}
main{padding-top:96px}
.hero{min-height:78vh}
.contato-box{padding:24px}
.contato-box h2{font-size:1.65rem}
.map-frame{min-height:260px}
}