*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Poppins,sans-serif;
}

body{

background:#fafafa;
color:#222;

}

nav{

display:flex;
justify-content:space-between;
align-items:center;
padding:25px 8%;

}

.logo{

font-size:32px;
font-weight:700;
color:#2f7d32;

}

nav ul{

display:flex;
gap:40px;
list-style:none;

}

nav button{

background:#2f7d32;
color:white;
border:none;
padding:12px 28px;
border-radius:50px;
cursor:pointer;
transition:.3s;

}

nav button:hover{

transform:scale(1.05);

}

.hero{

display:flex;
align-items:center;
justify-content:center;
padding:80px 10%;
gap:70px;

}

.hero h1{

font-size:58px;
line-height:1.2;

}

.hero p{

margin:25px 0;
font-size:20px;
color:#666;

}

.hero a{

display:inline-block;
padding:18px 40px;
background:#2f7d32;
color:white;
border-radius:40px;
text-decoration:none;
font-weight:600;

}

.hero img{

width:520px;
border-radius:25px;
box-shadow:0 20px 40px rgba(0,0,0,.15);

}

.features{

padding:80px;

text-align:center;

}

.cards{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:30px;

margin-top:50px;

}

.card{

padding:40px;

background:white;

border-radius:20px;

box-shadow:0 15px 30px rgba(0,0,0,.08);

transition:.4s;

}

.card:hover{

transform:translateY(-10px);

}

.gallery{

padding:80px;

text-align:center;

}

.grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:25px;

margin-top:40px;

}

.grid img{

width:100%;

border-radius:20px;

transition:.4s;

}

.grid img:hover{

transform:scale(1.03);

}

.reviews{

padding:80px;

background:#f2f7f2;

}

.review-container{

display:flex;

gap:30px;

margin-top:40px;

justify-content:center;

flex-wrap:wrap;

}

.review{

background:white;

padding:30px;

width:300px;

border-radius:20px;

box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.cta{

padding:100px;

text-align:center;

}

.cta button{

margin-top:30px;

padding:18px 50px;

background:#2f7d32;

border:none;

color:white;

font-size:18px;

border-radius:50px;

cursor:pointer;

}

footer{

padding:30px;

text-align:center;

background:#1b1b1b;

color:white;

}

@media(max-width:900px){

.hero{

flex-direction:column;

text-align:center;

}

.hero img{

width:100%;

}

.grid{

grid-template-columns:1fr;

}

}