*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{

font-family:Poppins,sans-serif;

background:#f8faf5;

overflow-x:hidden;

}

img{

width:100%;

display:block;

}

/* Header */

header{

position:absolute;

top:0;

left:0;

width:100%;

padding:18px;

display:flex;

justify-content:space-between;

align-items:center;

z-index:100;

}

.logo img{

height:70px;

width:auto;

}

.menu-btn{

width:45px;

height:45px;

background:white;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

font-size:20px;

color:#2E7D32;

box-shadow:0 8px 20px rgba(0,0,0,.15);

}

/* Hero */

.hero{

height:100vh;

position:relative;

}

.slide{

position:relative;

height:100vh;

}

.slide img{

height:100%;

object-fit:cover;

}

.overlay{

position:absolute;

bottom:60px;

left:20px;

right:20px;

color:white;

}

.overlay h1{

font-size:34px;

font-weight:700;

line-height:1.2;

margin-bottom:15px;

}

.overlay p{

font-size:15px;

line-height:1.7;

margin-bottom:25px;

}

.buttons{

display:flex;

gap:15px;

}

.buttons a{

padding:14px 22px;

border-radius:40px;

text-decoration:none;

font-weight:600;

}

.buttons a:first-child{

background:#2E7D32;

color:white;

}

.buttons a:last-child{

background:white;

color:#2E7D32;

}

/* ===========================
   SERVICES
=========================== */

.services{

padding:60px 18px;

background:#f7faf5;

}

.section-title{

text-align:center;

margin-bottom:35px;

}

.section-title span{

display:inline-block;

background:#E8F5E9;

color:#2E7D32;

padding:8px 18px;

border-radius:30px;

font-size:13px;

font-weight:600;

margin-bottom:12px;

}

.section-title h2{

font-size:28px;

font-weight:700;

color:#1b1b1b;

margin-bottom:10px;

}

.section-title p{

font-size:14px;

line-height:1.7;

color:#666;

}

.services-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:16px;

margin-top:25px;

}

.service-card{

background:#fff;

border-radius:20px;

padding:22px 18px;

box-shadow:0 10px 25px rgba(0,0,0,.08);

transition:.3s;

}

.service-card:hover{

transform:translateY(-8px);

box-shadow:0 18px 35px rgba(46,125,50,.18);

}

.icon{

width:58px;

height:58px;

background:#2E7D32;

color:#fff;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

font-size:24px;

margin-bottom:18px;

}

.service-card h3{

font-size:17px;

margin-bottom:10px;

color:#222;

}

.service-card p{

font-size:13px;

line-height:1.6;

color:#666;

margin-bottom:18px;

}

.service-card a{

color:#2E7D32;

font-weight:600;

font-size:14px;

text-decoration:none;

display:inline-flex;

align-items:center;

gap:6px;

}

/*=========================
      ABOUT
=========================*/

.about{

padding:70px 20px;

background:#ffffff;

}

.about-image{

margin-bottom:30px;

}

.about-image img{

width:100%;

border-radius:22px;

display:block;

box-shadow:0 15px 35px rgba(0,0,0,.12);

}

.about-content span{

display:inline-block;

background:#E8F5E9;

color:#2E7D32;

padding:8px 18px;

border-radius:40px;

font-size:13px;

font-weight:600;

margin-bottom:18px;

}

.about-content h2{

font-size:30px;

line-height:1.3;

margin-bottom:18px;

color:#222;

font-weight:700;

}

.about-content p{

font-size:15px;

line-height:1.8;

color:#666;

margin-bottom:28px;

}

.about-list{

display:flex;

flex-direction:column;

gap:15px;

margin-bottom:30px;

}

.about-item{

display:flex;

align-items:center;

gap:12px;

font-weight:500;

color:#333;

}

.about-item i{

color:#2E7D32;

font-size:20px;

}

.about-btn{

display:inline-block;

padding:15px 30px;

background:#2E7D32;

color:#fff;

border-radius:50px;

text-decoration:none;

font-weight:600;

transition:.3s;

}

.about-btn:hover{

background:#1B5E20;

transform:translateY(-3px);

}

/*=========================
      WHY CHOOSE US
=========================*/

.why-us{

padding:70px 20px;

background:linear-gradient(180deg,#F7FAF5,#ECF7EC);

}

.why-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:16px;

margin-top:35px;

}

.why-card{

background:#fff;

padding:25px 18px;

border-radius:22px;

text-align:center;

box-shadow:0 12px 30px rgba(0,0,0,.08);

transition:.35s;

}

.why-card:hover{

transform:translateY(-8px);

box-shadow:0 20px 40px rgba(46,125,50,.18);

}

.why-icon{

width:64px;

height:64px;

margin:auto;

border-radius:50%;

background:#2E7D32;

color:#fff;

display:flex;

align-items:center;

justify-content:center;

font-size:26px;

margin-bottom:18px;

}

.why-card h3{

font-size:28px;

color:#2E7D32;

margin-bottom:8px;

font-weight:700;

}

.why-card p{

font-size:14px;

color:#666;

line-height:1.6;

}

.why-card{
position:relative;
overflow:hidden;
}

.why-card::before{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:5px;

background:#2E7D32;

}

/*=========================
        GALLERY
=========================*/

.gallery{

padding:70px 20px;

background:#ffffff;

}

.gallery-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:14px;

margin-top:35px;

}

.gallery-item{

overflow:hidden;

border-radius:20px;

box-shadow:0 12px 30px rgba(0,0,0,.10);

}

.gallery-item img{

width:100%;

height:100%;

display:block;

object-fit:cover;

transition:.4s;

}

.gallery-item.large{

grid-column:span 2;

height:230px;

}

.gallery-item:not(.large){

height:170px;

}

.gallery-item:hover img{

transform:scale(1.08);

}

.gallery-item{
position:relative;
cursor:pointer;
}

.gallery-item::after{

content:"";

position:absolute;

left:0;
top:0;

width:100%;
height:100%;

background:linear-gradient(to top,rgba(0,0,0,.25),transparent);

opacity:0;

transition:.35s;

}

.gallery-item:hover::after{

opacity:1;

}

/*=========================
      CALL TO ACTION
=========================*/

.cta{

padding:80px 20px;

background:url("../images/cta.jpg") center center/cover no-repeat;

position:relative;

}

.cta::before{

content:"";

position:absolute;

left:0;
top:0;

width:100%;
height:100%;

background:rgba(34,77,37,.78);

}

.cta-overlay{

position:relative;

z-index:2;

text-align:center;

color:#fff;

}

.cta span{

display:inline-block;

padding:8px 20px;

background:rgba(255,255,255,.15);

border:1px solid rgba(255,255,255,.25);

border-radius:30px;

margin-bottom:18px;

font-size:13px;

font-weight:600;

backdrop-filter:blur(10px);

}

.cta h2{

font-size:30px;

line-height:1.35;

margin-bottom:18px;

font-weight:700;

}

.cta p{

font-size:15px;

line-height:1.8;

opacity:.95;

margin-bottom:30px;

}

.cta-buttons{

display:flex;

justify-content:center;

gap:15px;

flex-wrap:wrap;

}

.btn-primary{

padding:15px 28px;

background:#2E7D32;

color:#fff;

border-radius:50px;

font-weight:600;

text-decoration:none;

transition:.3s;

}

.btn-primary:hover{

background:#1B5E20;

transform:translateY(-4px);

}

.btn-secondary{

padding:15px 28px;

background:#fff;

color:#2E7D32;

border-radius:50px;

font-weight:600;

text-decoration:none;

transition:.3s;

}

.btn-secondary:hover{

transform:translateY(-4px);

background:#f5f5f5;

}

/*=========================
         FOOTER
=========================*/

.footer{

background:#1E4D2B;

padding:60px 20px 30px;

text-align:center;

color:#ffffff;

}

.footer-logo img{

height:55px;

margin:auto;

margin-bottom:20px;


}

.footer-about{

font-size:14px;

line-height:1.8;

opacity:.9;

margin-bottom:30px;

}

.footer-contact{

display:flex;

flex-direction:column;

gap:15px;

margin-bottom:30px;

}

.footer-contact a{

color:#ffffff;

text-decoration:none;

font-size:15px;

display:flex;

justify-content:center;

align-items:center;

gap:10px;

opacity:.95;

}

.footer-contact i{

color:#A5D6A7;

font-size:18px;

}

.footer-links{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:12px;

margin-bottom:35px;

}

.footer-links a{

color:#ffffff;

text-decoration:none;

font-weight:500;

padding:12px;

border-radius:12px;

background:rgba(255,255,255,.08);

transition:.3s;

}

.footer-links a:hover{

background:#2E7D32;

}

.social-icons{

display:flex;

justify-content:center;

gap:15px;

margin-bottom:35px;

}

.social-icons a{

width:48px;

height:48px;

border-radius:50%;

background:rgba(255,255,255,.1);

display:flex;

justify-content:center;

align-items:center;

color:#ffffff;

font-size:18px;

transition:.3s;

}

.social-icons a:hover{

background:#2E7D32;

transform:translateY(-4px);

}

.copyright{

border-top:1px solid rgba(255,255,255,.15);

padding-top:20px;

font-size:13px;

opacity:.8;

}