:root {
    --primary: #111111;
    --secondary: #1d1d1d;
    --accent: #d4a017;
    --accent-soft: #f4d36c;
    --bg: #f7f7f5;
    --white: #ffffff;
    --text: #2c2c2c;
    --text-light: #666666;
    --border: rgba(0, 0, 0, 0.08);
    --shadow: 0 18px 45px rgba(0, 0, 0, 0.10);
    --radius: 22px;
    --radius-sm: 14px;
    --container: 1200px;
}

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

html{
scroll-behavior:smooth;
}

body{
font-family:'Poppins','Roboto',sans-serif;
background:linear-gradient(180deg,#f7f7f5 0%,#ffffff 100%);
color:var(--text);
line-height:1.7;
overflow-x:hidden;
}

/* HEADER */

header{
position:fixed;
top:0;
left:0;
width:100%;
backdrop-filter:blur(14px);
background:rgba(10,10,10,0.88);
border-bottom:1px solid rgba(255,255,255,0.08);
z-index:1000;
}

header .container{
max-width:var(--container);
margin:0 auto;
min-height:78px;
display:flex;
align-items:center;
justify-content:space-between;
padding:14px 24px;
}

.social{
display:flex;
align-items:center;
}

.social img{
width:160px;
transition:transform .3s;
}

.social img:hover{
transform:scale(1.03);
}

.contact{
display:flex;
align-items:center;
gap:20px;
flex-wrap:wrap;
}

.contact div{
display:flex;
align-items:center;
gap:8px;
padding:10px 14px;
border-radius:999px;
background:rgba(255,255,255,.06);
transition:.3s;
}

.contact div:hover{
background:rgba(212,160,23,.12);
}

.contact span,
.contact a{
color:white;
text-decoration:none;
font-size:.95rem;
font-weight:500;
}

.contact a:hover{
color:var(--accent-soft);
}

.megafone,
.telefone-header{
width:18px;
filter:brightness(0) invert(1);
}

/* HERO */

#intro{
position:relative;
height:100vh;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
}

/* BACKGROUND SLIDER */

.background-slider{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
z-index:0;
overflow:hidden;
}

.bg-slide{
position:absolute;
width:100%;
height:100%;

background-size:cover;
background-position:center;
background-repeat:no-repeat;

opacity:0;
transform:scale(1);

transition:
opacity 2s ease-in-out,
transform 8s linear;
}

.bg-slide.active{
opacity:1;
transform:scale(1.08);
}

.background-slider::after{
content:"";
position:absolute;
width:100%;
height:100%;
background:rgba(0,0,0,.55);
}

/* INTRO CONTENT */

.intro-content{
position:relative;
z-index:2;
max-width:1100px;
text-align:center;
color:white;

}

.logo-container{
display:flex;
justify-content:center;
}

.logo-container img{
width: 451px;
    margin-bottom: 25px;
    border-radius: 24px;
    box-shadow: var(--shadow);
    background: white;
    padding: 16px;
}

/* TITLE */

.titleSection{
background: rgb(0 0 0 / 0%);
border-radius:var(--radius);
padding:36px;
box-shadow:var(--shadow);
}

.titleSection h1{
    font-weight: 600;
    font-size: 3.2rem;
    line-height: 1.1;
    color: var(--white);
    margin-bottom: 20px;
}

.titleSection p{
font-weight: 600;
font-size:18px;
line-height:1.1;
margin-bottom:15px;
color:#e6e6e6;
/* text-align:justify; */
}

/* SERVICES */

#services{
background:white;
color:#333;
padding:70px 40px;
text-align:center;
}

#services h2{
font-size:32px;
margin-bottom:50px;
}

.slider-wrapper{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:30px;
max-width:1200px;
margin:auto;
}

.service{
background:white;
border-radius:12px;
padding:25px;
transition:.3s;
box-shadow:0 6px 18px rgba(0,0,0,.1);
}

.service:hover{
transform:translateY(-8px);
box-shadow:0 12px 25px rgba(0,0,0,.2);
}

.service img{
width:80px;
margin-bottom:15px;
}

.service p{
font-size:17px;
font-weight:600;
}

/* TEAM */

#team{
background:
linear-gradient(135deg,rgba(17,17,17,.97),rgba(32,32,32,.96)),
url('./images/construcaocivil.jpeg') center/cover no-repeat;

color:white;
padding:90px 24px;
}

.firstSectionTeam{
max-width:var(--container);
margin:auto;
text-align:center;
margin-bottom:40px;
}

#team h2{
font-size:2.3rem;
margin-bottom:18px;
}

.firstSectionTeam p{
max-width:900px;
margin:auto;
color:rgba(255,255,255,.88);
}

/* FOOTER */

footer{
background:linear-gradient(180deg,#0f0f0f,#000);
color:white;
padding:70px 24px 30px;
}

.footer-container{
max-width:var(--container);
margin:auto;
text-align:center;
}

.footer-container h2{
font-size:2rem;
margin-bottom:30px;
color:var(--accent-soft);
}

.cards{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:22px;
margin-bottom:28px;
}

.card{
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.08);
border-radius:20px;
padding:30px 24px;
transition:.3s;
}

.card:hover{
transform:translateY(-6px);
border-color:rgba(212,160,23,.45);
}

.card img{
width:42px;
margin-bottom:14px;
filter:brightness(0) invert(1);
}

.card h3{
margin-bottom:10px;
}

.card a{
color:rgba(255,255,255,.86);
text-decoration:none;
}

.card a:hover{
color:var(--accent-soft);
}

.direitosReservados{
margin-top:14px;
font-size:.88rem;
color:rgba(255,255,255,.55);
}

/* RESPONSIVO */

@media(max-width:768px){

header .container{
flex-direction:column;
gap:12px;
}

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

.logo-container img{
max-width:280px;
}

}

@media(max-width:480px){

.social img{
width:130px;
}

.contact{
width:100%;
gap:10px;
}

.contact div{
width:100%;
justify-content:center;
}

#team h2,
.footer-container h2{
font-size:1.7rem;
}

.titleSection p{
font-size:.96rem;
}

}
@media (max-width: 768px) {
  header {
    display: none;
  }

  .logo-container {
    margin-top: 30px !important;
  }
}