*{
margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;
}

:root{

--green:#0b3d2e;
--green-light:#146b4f;
--accent:#2fb47c;
--white:#ffffff;
--light:#f4f7f5;
--dark:#09251d;
--text:#333;

}

body{

font-family:'Poppins',sans-serif;
color:var(--text);
line-height:1.7;
background:#fff;

}

.container{

width:90%;
max-width:1150px;
margin:auto;

}

h2{

font-size:2.3rem;
color:var(--green);
text-align:center;
margin-bottom:45px;

}

img{

width:100%;
display:block;

}

a{

text-decoration:none;

}



/* HEADER */

header{

position:fixed;
top:0;
left:0;
width:100%;
background:var(--green);
z-index:999;
box-shadow:0 3px 15px rgba(0,0,0,.15);

}


.nav{

height:75px;
display:flex;
align-items:center;
justify-content:space-between;

}


.logo{

color:white;
font-size:1.4rem;
font-weight:700;

}


nav{

display:flex;
gap:25px;

}


nav a{

color:white;
font-weight:500;

}


nav a:hover{

color:var(--accent);

}


#menu-btn{

display:none;
background:none;
border:none;
color:white;
font-size:25px;

}



/* BUTTON */

.btn{

display:inline-block;
background:var(--accent);
color:white;
padding:13px 30px;
border-radius:30px;
font-weight:600;
border:none;
cursor:pointer;
transition:.3s;

}


.btn:hover{

background:var(--green-light);

}





/* HERO */


.hero{

height:100vh;
position:relative;
display:flex;
align-items:center;
background-image:
linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),
url("https://images.unsplash.com/photo-1511818966892-d7d671e672a2?auto=format&fit=crop&w=900&q=80");

background-size:cover;
background-position:center;

}


.hero-content{

width:90%;
max-width:900px;
margin:auto;
color:white;

}


.hero h1{

font-size:3.5rem;
line-height:1.2;
margin-bottom:20px;

}


.hero p{

font-size:1.15rem;
max-width:650px;
margin-bottom:30px;

}





/* ABOUT */


section{

padding:90px 0;

}


.two-column{

display:grid;
grid-template-columns:1fr 1fr;
gap:50px;
align-items:center;

}


.two-column img{

border-radius:15px;

}


.stats{

display:flex;
gap:30px;
margin-top:30px;

}


.stats div{

background:var(--light);
padding:20px;
border-radius:10px;
text-align:center;
flex:1;

}


.stats h3{

font-size:2rem;
color:var(--green);

}






/* SERVICES */


.green-section{

background:var(--green);
color:white;

}


.green-section h2{

color:white;

}


.cards{

display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;

}


.card{

background:white;
color:var(--text);
padding:30px 20px;
border-radius:15px;
text-align:center;
transition:.3s;

}


.card:hover{

transform:translateY(-8px);

}


.card i{

font-size:35px;
color:var(--green);
margin-bottom:15px;

}


.card h3{

color:var(--green);
margin-bottom:10px;

}





/* PROCESS */


.steps{

display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;

}


.steps div{

background:var(--light);
padding:30px;
border-radius:15px;
text-align:center;

}


.steps strong{

display:block;
font-size:2rem;
color:var(--accent);

}






/* GALLERY */


.gallery-section{

background:#f5f8f6;

}


.gallery{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;

}


.gallery img{

height:260px;
object-fit:cover;
border-radius:15px;
transition:.3s;

}


.gallery img:hover{

transform:scale(1.03);

}






/* TESTIMONIAL */


.slider{

max-width:700px;
margin:auto;
text-align:center;

}


.slide{

display:none;

}


.slide.active{

display:block;

}


.slide p{

font-size:1.2rem;

}


.slide h4{

margin-top:15px;
color:var(--accent);

}






/* FAQ */


.faq-item{

margin-bottom:15px;
border:1px solid #ddd;
border-radius:10px;
overflow:hidden;

}


.faq-item button{

width:100%;
padding:18px;
border:none;
background:white;
font-size:1rem;
font-weight:600;
text-align:left;
cursor:pointer;

}


.faq-item p{

display:none;
padding:20px;
background:#fafafa;

}


.faq-item.active p{

display:block;

}





/* CONTACT */


.contact-section{

background:var(--green);
color:white;

}


.contact-section h2{

color:white;

}


.contact-grid{

display:grid;
grid-template-columns:1fr 1fr;
gap:40px;

}


form{

display:flex;
flex-direction:column;
gap:15px;

}


input,
textarea{

padding:15px;
border:none;
border-radius:8px;
font-family:inherit;

}


textarea{

height:120px;

}




/* FOOTER */


footer{

background:#061b14;
color:white;
text-align:center;
padding:25px;

}



/* FLOATING BUTTONS */


.floating-call{

position:fixed;
right:25px;
bottom:25px;

width:60px;
height:60px;

background:var(--accent);
color:white;

border-radius:50%;

display:flex;
align-items:center;
justify-content:center;

font-size:25px;

z-index:999;

}


#top{

position:fixed;
left:25px;
bottom:25px;

width:50px;
height:50px;

border:none;
border-radius:50%;

background:var(--green);
color:white;

display:none;

cursor:pointer;

}





/* MOBILE */


@media(max-width:900px){


.hero h1{

font-size:2.5rem;

}


.cards{

grid-template-columns:repeat(2,1fr);

}


.steps{

grid-template-columns:repeat(2,1fr);

}


.gallery{

grid-template-columns:repeat(2,1fr);

}


.two-column,
.contact-grid{

grid-template-columns:1fr;

}


}




@media(max-width:700px){


nav{

position:absolute;
top:75px;
left:0;
width:100%;
background:var(--green);
display:none;
flex-direction:column;
padding:25px;

}


nav.active{

display:flex;

}


#menu-btn{

display:block;

}


.cards,
.steps,
.gallery{

grid-template-columns:1fr;

}


.stats{

flex-direction:column;

}


.hero h1{

font-size:2rem;

}


}