/*=========================
Google Font
=========================*/

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

html{
scroll-behavior:smooth;
}

body{
background:#f7faf7;
color:#222;
overflow-x:hidden;
}

a{
text-decoration:none;
}

ul{
list-style:none;
}

img{
max-width:100%;
display:block;
}

.container{
width:90%;
max-width:1250px;
margin:auto;
}


#loader{

position:fixed;

left:0;
top:0;

width:100%;
height:100%;

background:#fff;

display:flex;

align-items:center;

justify-content:center;

z-index:999999;

}

.loader-circle{

width:70px;

height:70px;

border:6px solid #dff7e7;

border-top:6px solid #18a54b;

border-radius:50%;

animation:spin 1s linear infinite;

margin:auto;

margin-bottom:20px;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}

}


/*==========================
Animated Background
==========================*/

.bg-animation{

position:fixed;

left:0;
top:0;

width:100%;
height:100%;

overflow:hidden;

z-index:-1;

pointer-events:none;

}

.bg-animation span{

position:absolute;

display:block;

width:28px;
height:28px;

background:rgba(32,181,77,.08);

border-radius:50%;

animation:move 20s linear infinite;

}

.bg-animation span:nth-child(1){

left:8%;
animation-duration:18s;

}

.bg-animation span:nth-child(2){

left:18%;
animation-duration:24s;
animation-delay:2s;

}

.bg-animation span:nth-child(3){

left:33%;
animation-duration:19s;

}

.bg-animation span:nth-child(4){

left:48%;
animation-duration:25s;

}

.bg-animation span:nth-child(5){

left:63%;
animation-duration:17s;

}

.bg-animation span:nth-child(6){

left:75%;
animation-duration:22s;

}

.bg-animation span:nth-child(7){

left:88%;
animation-duration:27s;

}

.bg-animation span:nth-child(8){

left:96%;
animation-duration:20s;

}

@keyframes move{

0%{

transform:translateY(110vh) rotate(0deg);

opacity:0;

}


20%{

opacity:1;

}

100%{

transform:translateY(-150px) rotate(360deg);

opacity:0;

}

}
.reveal{

opacity:0;

transform:translateY(70px);

transition:1s;

}

.reveal.active{

opacity:1;

transform:translateY(0);

}


/*=========================
Header
=========================*/

.header{

position:fixed;
top:0;
left:0;
width:100%;
z-index:9999;

background:rgba(255,255,255,.88);

backdrop-filter:blur(18px);

box-shadow:0 8px 25px rgba(0,0,0,.05);

}

.nav{

height:85px;

display:flex;

align-items:center;

justify-content:space-between;

}

.logo img{

height:60px;
width:auto;

}

nav ul{

display:flex;

gap:28px;

}

nav ul li a{

font-size:15px;

font-weight:600;

color:#333;

transition:.35s;

position:relative;

}

nav ul li a:hover{

color:#169b45;

}

nav ul li a::after{

content:'';

position:absolute;

bottom:-8px;

left:0;

width:0;

height:3px;

background:#1faa59;

border-radius:50px;

transition:.4s;

}

nav ul li a:hover::after{

width:100%;

}

.nav-btn{

padding:14px 28px;

background:linear-gradient(135deg,#0d9d3d,#28c76f);

color:#fff;

font-weight:700;

border-radius:50px;

box-shadow:0 12px 35px rgba(24,163,77,.28);

transition:.35s;

}

.nav-btn:hover{

transform:translateY(-3px);

box-shadow:0 18px 45px rgba(24,163,77,.35);

}



/*=========================
Hero
=========================*/

/*========================
PREMIUM HERO
========================*/

.hero{

position:relative;

overflow:hidden;

padding:170px 0 120px;

background:linear-gradient(135deg,#effff3,#ffffff);

}

.hero-grid{

display:grid;

grid-template-columns:1.1fr .9fr;

gap:80px;

align-items:center;

}

.hero-left h1{

font-size:68px;

font-weight:800;

line-height:1.15;

color:#182b18;

margin:25px 0;

}

.hero-left h1 span{

color:#1aa34a;

}

.hero-left p{

font-size:18px;

line-height:34px;

color:#666;

max-width:620px;

margin-bottom:40px;

}

.hero-badge{

display:inline-block;

padding:12px 22px;

background:#e7f9ec;

border-radius:50px;

font-weight:700;

color:#159243;

box-shadow:0 10px 30px rgba(0,0,0,.05);

}

.hero-buttons{

display:flex;

gap:18px;

margin-bottom:35px;

flex-wrap:wrap;

}

.btn-primary{

padding:18px 34px;

background:#18a64b;

color:#fff;

border-radius:50px;

font-weight:700;

transition:.35s;

box-shadow:0 18px 45px rgba(0,150,60,.28);

}

.btn-primary:hover{

transform:translateY(-6px);

}

.btn-outline{

padding:18px 34px;

border:2px solid #18a64b;

border-radius:50px;

font-weight:700;

color:#18a64b;

transition:.35s;

}

.btn-outline:hover{

background:#18a64b;

color:#fff;

}

.hero-points{

display:flex;

gap:30px;

flex-wrap:wrap;

}

.hero-points div{

display:flex;

align-items:center;

gap:10px;

font-weight:600;

}

.hero-points i{

color:#16a34a;

}

.card-preview{

background:#fff;

padding:25px;

border-radius:30px;

box-shadow:0 30px 80px rgba(0,0,0,.10);

animation:float 5s infinite ease-in-out;

}

.card-top{

display:flex;

justify-content:flex-end;

margin-bottom:15px;

}

.status{

background:#e8fff0;

color:#14933f;

padding:8px 15px;

border-radius:50px;

font-size:14px;

font-weight:700;

}

.card-preview img{

width:100%;

border-radius:18px;

}

.hero-bg-shape{

position:absolute;

border-radius:50%;

filter:blur(90px);

}

.shape1{

width:420px;

height:420px;

background:#97f3b8;

top:-170px;

right:-120px;

opacity:.45;

}

.shape2{

width:320px;

height:320px;

background:#d2ffe0;

bottom:-130px;

left:-130px;

}

.shape3{

width:180px;

height:180px;

background:#72e79d;

top:180px;

right:45%;

opacity:.15;

}

@media(max-width:992px){

.hero-grid{

grid-template-columns:1fr;

text-align:center;

}

.hero-left p{

margin:auto auto 35px;

}

.hero-buttons{

justify-content:center;

}

.hero-points{

justify-content:center;

}

.hero-left h1{

font-size:46px;

}

}

/*==================================
Section Heading
==================================*/

.features{

padding:110px 0;

background:#fff;

}

.title{

text-align:center;

margin-bottom:70px;

}

.title h2{

font-size:44px;

font-weight:800;

color:#222;

margin-bottom:15px;

}

.title p{

font-size:18px;

color:#666;

}


/*==================================
Feature Cards
==================================*/

/*=========================
PREMIUM FEATURES
=========================*/

.features{

padding:120px 0;

background:#f8fbf8;

}

.section-heading{

text-align:center;

max-width:720px;

margin:auto;

margin-bottom:70px;

}

.section-heading span{

display:inline-block;

padding:10px 22px;

background:#eaf8ef;

color:#179c44;

border-radius:50px;

font-weight:700;

margin-bottom:20px;

}

.section-heading h2{

font-size:46px;

font-weight:800;

margin-bottom:20px;

color:#1f2f1f;

}

.section-heading p{

font-size:18px;

line-height:34px;

color:#666;

}

.feature-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:35px;

}

.feature-card{

background:#fff;

padding:45px 35px;

border-radius:30px;

transition:.4s;

position:relative;

overflow:hidden;

box-shadow:0 18px 40px rgba(0,0,0,.05);

}

.feature-card::before{

content:'';

position:absolute;

left:0;

top:0;

width:100%;

height:5px;

background:linear-gradient(90deg,#18a54b,#56e18b);

transform:scaleX(0);

transition:.4s;

}

.feature-card:hover::before{

transform:scaleX(1);

}

.feature-card:hover{

transform:translateY(-15px);

box-shadow:0 30px 70px rgba(0,0,0,.09);

}

.feature-icon{

width:90px;

height:90px;

background:linear-gradient(135deg,#18a64b,#42d978);

border-radius:25px;

display:flex;

align-items:center;

justify-content:center;

font-size:34px;

color:#fff;

margin-bottom:30px;

box-shadow:0 18px 35px rgba(20,160,60,.25);

}

.feature-card h3{

font-size:24px;

margin-bottom:18px;

}

.feature-card p{

line-height:30px;

color:#666;

margin-bottom:25px;

}

.feature-card a{

font-weight:700;

color:#16a34a;

}

.feature-card a i{

margin-left:6px;

transition:.3s;

}

.feature-card:hover a i{

margin-left:14px;

}

@media(max-width:1000px){

.feature-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:700px){

.feature-grid{

grid-template-columns:1fr;

}

.section-heading h2{

font-size:34px;

}

}


/*==================================
Animations
==================================*/

@keyframes float{

0%{
transform:translateY(0px);
}

50%{
transform:translateY(-15px);
}

100%{
transform:translateY(0px);
}

}


/*==================================
Responsive
==================================*/

@media(max-width:1100px){

.hero-grid{

grid-template-columns:1fr;

text-align:center;

}

.hero-left p{

margin:auto;

margin-bottom:35px;

}

.hero-buttons{

justify-content:center;

}

.hero-info{

justify-content:center;

}

.feature-grid{

grid-template-columns:repeat(2,1fr);

}

}






@media(max-width:480px){

.logo img{

height:48px;

}

.btn-primary,
.btn-secondary{

width:100%;

text-align:center;

}

.hero-buttons{

flex-direction:column;

}

.badge{

font-size:13px;

}

.hero-left h1{

font-size:32px;

}

}


/*==========================
HOW IT WORKS
==========================*/

.process{

padding:100px 0;

background:#f8fff8;

}

.process-grid{

display:grid;

grid-template-columns:1fr auto 1fr auto 1fr;

gap:30px;

align-items:center;

}

.step{

background:#fff;

padding:35px;

border-radius:25px;

text-align:center;

box-shadow:0 20px 45px rgba(0,0,0,.06);

position:relative;

transition:.35s;

}

.step:hover{

transform:translateY(-10px);

}

.step-no{

position:absolute;

top:18px;
right:20px;

font-size:38px;

font-weight:800;

color:#dff5e5;

}

.step-icon{

width:90px;
height:90px;

margin:auto;

border-radius:50%;

background:#16a34a;

display:flex;

align-items:center;

justify-content:center;

font-size:35px;

color:#fff;

margin-bottom:25px;

}

.step h3{

margin-bottom:15px;

font-size:24px;

}

.step p{

line-height:30px;

color:#666;

}

.step-arrow{

font-size:40px;

color:#16a34a;

}



/*==========================
BENEFITS
==========================*/

.benefits{

padding:100px 0;

background:#fff;

}

.benefit-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;

}

.benefit{

background:#f5fff6;

padding:28px;

border-radius:18px;

display:flex;

align-items:center;

gap:18px;

font-size:18px;

font-weight:600;

transition:.3s;

}

.benefit:hover{

background:#16a34a;

color:#fff;

transform:translateY(-8px);

}

.benefit i{

font-size:30px;

color:#16a34a;

}

.benefit:hover i{

color:#fff;

}



/*==========================
CTA
==========================*/

.cta{

padding:110px 0;

text-align:center;

background:linear-gradient(135deg,#118f3a,#2dcc6d);

color:#fff;

}

.cta h2{

font-size:50px;

margin-bottom:20px;

}

.cta p{

font-size:20px;

margin-bottom:40px;

opacity:.95;

}

.cta a{

display:inline-block;

padding:18px 40px;

background:#fff;

color:#16a34a;

font-weight:700;

border-radius:50px;

transition:.35s;

}

.cta a:hover{

transform:scale(1.06);

}



/*==========================
FOOTER
==========================*/

footer{

background:#111;

color:#ddd;

padding-top:80px;

}

.footer-grid{

display:grid;

grid-template-columns:2fr 1fr 1fr;

gap:60px;

padding-bottom:50px;

}

.footer-grid h4{

margin-bottom:20px;

color:#fff;

}

.footer-grid ul{

padding:0;

}

.footer-grid li{

margin-bottom:12px;

}

.footer-grid a{

color:#bbb;

transition:.3s;

}

.footer-grid a:hover{

color:#39d67a;

}

.copyright{

text-align:center;

padding:25px;

border-top:1px solid rgba(255,255,255,.08);

font-size:15px;

color:#888;

}



/*==========================
RESPONSIVE
==========================*/

@media(max-width:991px){

.process-grid{

grid-template-columns:1fr;

}

.step-arrow{

display:none;

}

.benefit-grid{

grid-template-columns:1fr;

}

.footer-grid{

grid-template-columns:1fr;

}

.cta h2{

font-size:35px;

}

}


/*=========================
Statistics
=========================*/

.stats{

padding:80px 0;

background:#fff;

}

.stats-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.stat-card{

background:#fff;

padding:40px;

border-radius:25px;

text-align:center;

box-shadow:0 15px 40px rgba(0,0,0,.07);

transition:.35s;

}

.stat-card:hover{

transform:translateY(-10px);

}

.stat-card h2{

font-size:48px;

font-weight:800;

color:#169b45;

margin-bottom:10px;

}

.stat-card p{

font-size:17px;

color:#666;

}



@media(max-width:991px){

.stats-grid{

grid-template-columns:1fr 1fr;

gap:15px;

}

.stat-card{

padding:25px 15px;

}

.stat-card h2{

font-size:34px;

}

}

@media(max-width:480px){

.stats-grid{

grid-template-columns:1fr;

}

}

/*=========================
Testimonials
=========================*/

.testimonial{

padding:100px 0;

background:#f7fbf8;

}

.testimonial-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}

.review{

background:#fff;

padding:35px;

border-radius:25px;

box-shadow:0 15px 35px rgba(0,0,0,.06);

font-size:22px;

color:#ffc107;

transition:.4s;

}

.review:hover{

transform:translateY(-10px);

}

.review p{

font-size:16px;

line-height:30px;

color:#555;

margin:20px 0;

}

.review h4{

color:#169b45;

}


/*=========================
FAQ
=========================*/

.faq{

padding:100px 0;

}

.faq-box{

max-width:900px;

margin:auto;

}

.accordion{

width:100%;

padding:22px;

font-size:18px;

border:none;

margin-bottom:12px;

border-radius:15px;

cursor:pointer;

background:#fff;

font-weight:700;

text-align:left;

box-shadow:0 8px 25px rgba(0,0,0,.05);

}

.panel{

display:none;

padding:20px;

background:#fff;

margin-bottom:20px;

border-radius:15px;

line-height:30px;

}

/*=========================
WHY CHOOSE US
=========================*/

.why-us{

padding:120px 0;

background:#fff;

}

.why-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:80px;

align-items:center;

}

.image-box{

position:relative;

}

.image-box img{

width:100%;

border-radius:30px;

box-shadow:0 30px 80px rgba(0,0,0,.08);

}

.floating-card{

position:absolute;

background:#fff;

padding:18px 22px;

border-radius:18px;

box-shadow:0 18px 45px rgba(0,0,0,.10);

display:flex;

align-items:center;

gap:12px;

font-weight:700;

animation:float 4s infinite ease-in-out;

}

.card1{

top:35px;

right:-35px;

}

.card2{

bottom:40px;

left:-35px;

}

.floating-card i{

width:45px;

height:45px;

background:#18a54b;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

color:#fff;

}

.mini-title{

display:inline-block;

padding:10px 20px;

background:#e8f8ec;

color:#18a54b;

font-weight:700;

border-radius:50px;

margin-bottom:20px;

}

.why-content h2{

font-size:46px;

line-height:1.2;

margin-bottom:25px;

color:#1c2c1c;

}

.why-content>p{

line-height:34px;

color:#666;

margin-bottom:35px;

}

.why-item{

display:flex;

gap:20px;

margin-bottom:28px;

}

.tick{

width:55px;

height:55px;

background:#18a54b;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

color:#fff;

font-size:18px;

flex-shrink:0;

}

.why-item h4{

font-size:22px;

margin-bottom:8px;

}

.why-item p{

color:#666;

line-height:28px;

}

.why-btn{

display:inline-block;

margin-top:25px;

padding:18px 40px;

background:#18a54b;

color:#fff;

font-weight:700;

border-radius:50px;

transition:.35s;

box-shadow:0 15px 35px rgba(0,150,60,.25);

}

.why-btn:hover{

transform:translateY(-5px);

}

@media(max-width:991px){

.why-grid{

grid-template-columns:1fr;

}

.card1{

right:0;

}

.card2{

left:0;

}

.why-content{

text-align:center;

}

.why-item{

text-align:left;

}

}




#topBtn{

position:fixed;

right:30px;

bottom:30px;

width:55px;

height:55px;

border:none;

border-radius:50%;

background:#18a54b;

color:#fff;

font-size:20px;

cursor:pointer;

display:none;

box-shadow:0 15px 35px rgba(0,150,60,.30);

transition:.35s;

z-index:999;

}

#topBtn:hover{

transform:translateY(-8px);

}


/*=========================
Mobile Menu
=========================*/

.menu-toggle{
    display:none;
    font-size:32px;
    cursor:pointer;
    color:#18a54b;
    font-weight:700;
    line-height:1;
}

@media (max-width:991px){

.header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    background:#fff;
    z-index:9999;
}

.nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:75px;
    position:relative;
}

.logo{
    display:flex;
    align-items:center;
    flex:1;
}

.logo img{
    height:50px;
    display:block;
}

.menu-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    margin-left:auto;
    flex-shrink:0;
    padding:0;
    font-size:32px;
    line-height:1;
}

.nav-btn{
    display:none;
}

nav{
    display:none;
    position:absolute;
    top:75px;
    left:0;
    width:100%;
    background:#fff;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    z-index:999;
}

nav.active{
    display:block;
}

nav ul{
    display:flex;
    flex-direction:column;
    margin:0;
    padding:0;
    list-style:none;
}

nav ul li{
    width:100%;
}

nav ul li a{
    display:block;
    padding:16px 20px;
    border-bottom:1px solid #eee;
}

.hero{
   padding:110px 0 70px;
}

}