:root{
--green:#2E7D32;
--green-light:#E8F5E9;
--green-hover:#1B5E20;
--text-dark:#1B2E1B;
--text-light:#4A5B4A;
--white:#fff;
--off-white:#F9FBF9;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Inter',sans-serif;
line-height:1.6;
color:var(--text-dark);
}

.container{
max-width:1200px;
margin:auto;
padding:0 20px;
}

.green-text{
color:var(--green);
}

.section-lead{
max-width:700px;
margin:0 auto 2rem;
color:var(--text-light);
text-align:center;
}


/* NAV */

.navbar{
background:white;
padding:1rem 0;
box-shadow:0 2px 10px rgba(0,0,0,.05);
position:sticky;
top:0;
}

.navbar .container{
display:flex;
justify-content:space-between;
align-items:center;
}

.nav-menu{
display:flex;
list-style:none;
gap:2rem;
}

.nav-menu a{
text-decoration:none;
color:var(--text-dark);
}


/* HERO */

.hero{
background:linear-gradient(135deg,var(--green-light),white);
padding:6rem 0;
text-align:center;
}

.hero h1{
font-size:3rem;
margin-bottom:1rem;
}


/* BUTTON */

.btn{
display:inline-block;
background:var(--green);
color:white;
padding:.8rem 2rem;
border-radius:50px;
text-decoration:none;
transition:.3s;
}

.btn:hover{
background:var(--green-hover);
}

.btn-large{
padding:1rem 3rem;
}


/* ABOUT */

.about{
padding:6rem 0;
}

.about-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:2rem;
margin-top:2rem;
}

.about-card{
background:var(--off-white);
padding:2rem;
border-radius:20px;
text-align:center;
}

.about-card i{
font-size:2rem;
color:var(--green);
margin-bottom:1rem;
}


/* SERVICES */

.services{
padding:6rem 0;
background:var(--green-light);
}

.services-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:30px;
margin-top:3rem;
}

.service-card{
background:white;
padding:40px 30px;
border-radius:30px;
box-shadow:0 5px 20px rgba(0,0,0,.05);
text-align:center;
}

.icon-circle{
width:80px;
height:80px;
background:var(--green-light);
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
margin:0 auto 20px;
}

.icon-circle i{
font-size:30px;
color:var(--green);
}

.card-sub{
color:var(--green);
margin-bottom:10px;
}

.card-desc{
color:var(--text-light);
margin-bottom:20px;
}

.tag-group{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:8px;
margin-bottom:20px;
}

.tag{
background:var(--off-white);
padding:4px 12px;
border-radius:50px;
font-size:13px;
}

.trust-badge{
text-align:center;
margin-top:2rem;
color:var(--green);
}


/* CASES */

.cases{
padding:6rem 0;
}

.cases-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:2rem;
margin-top:2rem;
}

.case-card{
background:var(--off-white);
padding:2rem;
border-radius:20px;
}


/* CONTACT */

.contact{
padding:6rem 0;
text-align:center;
background:linear-gradient(135deg,var(--green-light),white);
}


/* FOOTER */

.footer{
background:var(--text-dark);
color:white;
padding:3rem 0;
}

.footer-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:2rem;
}

.copyright{
text-align:center;
margin-top:2rem;
opacity:.7;
}


/* MOBILE */

@media(max-width:768px){

.about-grid{
grid-template-columns:1fr;
}

.services-grid{
grid-template-columns:1fr;
}

.cases-grid{
grid-template-columns:1fr;
}

.footer-grid{
grid-template-columns:1fr;
text-align:center;
}

}