*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:#1F2937;line-height:1.6;overflow-x:hidden;background:#F4F7F6}
:root{
  --leaf:#0B6E4F;
  --leaf-light:#4CAF50;
  --leaf-dark:#0B6E4F;
  --leaf-pale:#E8F5E9;
  --leaf-bg:#F4F7F6;
  --white:#FFF;
  --text:#1F2937;
  --text-light:#4B5563;
  --accent:#FFB300;
  --shadow:0 4px 20px rgba(11,110,79,0.12);
  --shadow-lg:0 12px 50px rgba(11,110,79,0.2);
  --radius:12px;
  --radius-lg:20px;
  --transition:0.4s cubic-bezier(0.4,0,0.2,1);
}
.container{max-width:1200px;margin:0 auto;padding:0 24px}

/* ===== ANIMATED BG PARTICLES ===== */
.particles{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.particle{position:absolute;width:6px;height:6px;background:var(--leaf-pale);border-radius:50%;animation:particleFloat 15s infinite linear;opacity:0}
.particle:nth-child(1){left:10%;animation-delay:0s;width:8px;height:8px}
.particle:nth-child(2){left:20%;animation-delay:2s;width:4px;height:4px}
.particle:nth-child(3){left:35%;animation-delay:4s;width:6px;height:6px}
.particle:nth-child(4){left:50%;animation-delay:6s;width:10px;height:10px}
.particle:nth-child(5){left:65%;animation-delay:8s;width:3px;height:3px}
.particle:nth-child(6){left:80%;animation-delay:10s;width:7px;height:7px}
.particle:nth-child(7){left:90%;animation-delay:12s;width:5px;height:5px}
.particle:nth-child(8){left:45%;animation-delay:3s;width:9px;height:9px}
@keyframes particleFloat{0%{transform:translateY(110vh) scale(0);opacity:0}10%{opacity:0.4}90%{opacity:0.4}100%{transform:translateY(-10vh) scale(1);opacity:0}}

/* ===== HEADER ===== */
header{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,#009688,#F8FCFF,#4CAF50);box-shadow:0 2px 30px rgba(0,0,0,0.06);z-index:1000;padding:14px 0;transition:var(--transition)}
header.scrolled{padding:8px 0;box-shadow:0 4px 40px rgba(11,110,79,0.1)}
.header-inner{display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo img{height:42px;width:auto;display:block}
.logo span{font-size:18px;font-weight:800;color:var(--leaf-dark)}
nav{display:flex;align-items:center;gap:28px}
nav a{text-decoration:none;color:var(--text);font-weight:500;font-size:15px;transition:var(--transition);position:relative}
nav a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--leaf);transition:var(--transition)}
nav a:hover::after{width:100%}
nav a:hover{color:var(--leaf)}
.nav-cta{background:var(--leaf);color:white!important;padding:10px 24px;border-radius:50px;font-weight:600;box-shadow:0 4px 15px rgba(11,110,79,0.3)}
.nav-cta::after{display:none!important}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(11,110,79,0.4)!important}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.hamburger span{width:26px;height:3px;background:var(--text);border-radius:3px;transition:var(--transition)}
.mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;background:white;padding:24px;box-shadow:0 10px 40px rgba(0,0,0,0.1);flex-direction:column;gap:16px;z-index:999;border-top:1px solid var(--leaf-pale)}
.mobile-menu.open{display:flex}
.mobile-menu a{text-decoration:none;color:var(--text);font-weight:500;font-size:17px;padding:8px 0;transition:var(--transition)}
.mobile-menu a:hover{color:var(--leaf);padding-left:8px}
.mobile-menu .nav-cta{text-align:center}

/* ===== HERO ===== */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding-top:80px;background:#ABD800}
.hero .container{position:relative;z-index:2;display:flex;align-items:center;gap:60px}
.hero-content{flex:1}
.hero-content .tag{display:inline-block;background:rgba(255,255,255,0.15);backdrop-filter:blur(10px);color:white;padding:8px 20px;border-radius:50px;font-size:13px;font-weight:600;margin-bottom:20px;border:1px solid rgba(255,255,255,0.2);letter-spacing:1px}
.hero-content h1{font-size:54px;font-weight:900;line-height:1.1;margin-bottom:20px;color:white}
.hero-content h1 span{color:white}
.hero-content p{font-size:18px;color:rgba(255,255,255,0.9);margin-bottom:32px;max-width:540px}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border-radius:50px;font-weight:600;font-size:16px;text-decoration:none;transition:var(--transition);cursor:pointer;border:none}
.btn-primary{background:white;color:#00695C;box-shadow:0 8px 30px rgba(0,0,0,0.2)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,0.3)}
.btn-secondary{background:transparent;color:white;border:2px solid rgba(255,255,255,0.6)}
.btn-secondary:hover{background:rgba(255,255,255,0.15);color:white;transform:translateY(-3px)}

/* ===== SECTIONS ===== */
section{padding:0;position:relative;z-index:1}
.text-center{text-align:center}
.section-tag{display:inline-block;background:var(--leaf-bg);color:var(--leaf-dark);padding:6px 18px;border-radius:50px;font-size:12px;font-weight:700;letter-spacing:1.5px;margin-bottom:14px;text-transform:uppercase}
h1,h2,h3,h4,h5,h6,.section-title{color:#E84393}
.section-title{font-size:44px;font-weight:800;margin-bottom:14px;line-height:1.2}
.hero-content h1{color:var(--white)}
.section-sub{font-size:17px;color:var(--text-light);max-width:600px;margin:0 auto 24px;line-height:1.8}
.section-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;opacity:0.06;pointer-events:none;overflow:hidden}
.section-bg img{width:100%;height:100%;object-fit:cover}

/* ===== SERVICES ===== */
#services{background:var(--white)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition);cursor:default;border:1px solid transparent;position:relative;box-shadow:var(--shadow)}
.service-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg);border-color:var(--leaf)}
.service-img{height:180px;overflow:hidden;position:relative}
.service-img img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}
.service-card:hover .service-img img{transform:scale(1.1)}
.service-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(11,110,79,0.3),transparent 60%)}
.service-body{padding:24px 22px 26px}
.service-body h3{font-size:20px;margin-bottom:10px}
.service-body p{font-size:16px;color:#000;line-height:1.7}

/* ===== ABOUT ===== */
#about{}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-visual{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.about-box{background:white;padding:28px 20px;border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;transition:var(--transition)}
.about-box:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.about-box .num{font-size:38px;font-weight:800;color:var(--leaf)}
.about-box .label{font-size:13px;color:var(--text-light);margin-top:4px;font-weight:500}
.about-box:first-child{}
.about-text h2{font-size:36px;font-weight:800;margin-bottom:16px;text-align:left}
.about-text p{color:#000;margin-bottom:16px;font-size:16px;text-align:left}
.about-text ul{list-style:none;display:flex;flex-direction:column;gap:12px;margin-top:20px;padding:0}
.about-text ul li{display:flex;align-items:center;gap:10px;font-size:16px;color:#000}
.about-text ul li::before{content:'\2713';width:26px;height:26px;background:var(--leaf);color:white;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;box-shadow:0 2px 10px rgba(11,110,79,0.2)}

/* ===== HOW IT WORKS ===== */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:stretch}
.process-step{border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition);background:var(--white);box-shadow:var(--shadow);border:1px solid transparent;cursor:default}
.process-step:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--leaf)}
.process-img{height:140px;overflow:hidden;position:relative}
.process-img img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}
.process-step:hover .process-img img{transform:scale(1.08)}
.process-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(11,110,79,0.35),transparent 50%)}
.process-badge{position:absolute;bottom:10px;left:12px;z-index:2;width:32px;height:32px;border-radius:50%;background:var(--accent);color:white;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;box-shadow:0 2px 10px rgba(0,0,0,0.2)}
.process-body{padding:16px 16px 20px;text-align:center}
.process-step h3{font-size:16px;font-weight:700;margin-bottom:6px}
.process-step p{font-size:13px;color:var(--text);line-height:1.6}

/* ===== FAQ ===== */
.faq-grid{max-width:750px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq-item{border:1px solid var(--leaf-pale);border-radius:var(--radius);overflow:hidden;transition:var(--transition)}
.faq-item:hover{border-color:var(--leaf)}
.faq-q{width:100%;padding:18px 24px;background:var(--white);border:none;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;font-family:inherit;transition:var(--transition)}
.faq-q:hover{background:var(--leaf-bg)}
.faq-arrow{font-size:22px;font-weight:300;color:var(--leaf);transition:var(--transition);flex-shrink:0}
.faq-item.open .faq-arrow{transform:rotate(45deg)}
.faq-a{padding:0 24px;max-height:0;overflow:hidden;transition:all 0.4s cubic-bezier(0.4,0,0.2,1)}
.faq-item.open .faq-a{max-height:300px;padding:0 24px 20px}
.faq-a p{font-size:14px;color:var(--text);line-height:1.7}

/* ===== WHY US ===== */
#why-us{background:var(--white)}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.why-card{text-align:center;padding:36px 24px;border-radius:var(--radius-lg);transition:var(--transition);background:var(--leaf-bg);border:1px solid transparent}
.why-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--leaf)}
.why-card .why-icon{width:28px;height:28px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,var(--leaf),var(--leaf-dark));color:white;font-size:14px;transition:var(--transition)}
.why-card:hover .why-icon{transform:scale(1.1) rotate(-5deg);box-shadow:0 8px 24px rgba(11,110,79,0.3)}
.why-card .why-icon svg{width:14px;height:14px}
.why-card h3{font-size:20px;margin-bottom:10px}
.why-card p{font-size:16px;color:#000;line-height:1.6}

/* ===== TESTIMONIALS SLIDER ===== */
#testimonials{position:relative;overflow:hidden}
.testimonials-wrap{max-width:750px;overflow:hidden;margin:0 auto;position:relative}
.testimonials-track{display:flex;transition:transform 0.6s cubic-bezier(0.4,0,0.2,1)}
.testimonial-card{min-width:100%;padding:40px;background:white;border-radius:var(--radius-lg);box-shadow:var(--shadow);position:relative}
.testimonial-card::before{content:'\201C';position:absolute;top:10px;left:24px;font-size:80px;font-family:'Playfair Display',serif;color:rgba(11,110,79,0.08);line-height:1}
.testimonial-card p{font-size:16px;color:var(--text);font-style:italic;margin-bottom:20px;line-height:1.8}
.testimonial-card .author{font-weight:700;color:var(--leaf-dark);font-size:16px}
.testimonial-card .role{font-size:13px;color:var(--text-light)}
.test-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:28px}
.test-btn{width:44px;height:44px;border-radius:50%;border:2px solid var(--leaf);background:white;font-size:20px;color:var(--leaf);cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center}
.test-btn:hover{background:var(--leaf);color:white;border-color:transparent;box-shadow:0 8px 25px rgba(11,110,79,0.3);transform:scale(1.1)}
.test-dots{display:flex;gap:8px}
.test-dots span{width:10px;height:10px;border-radius:50%;background:var(--leaf-pale);cursor:pointer;transition:var(--transition)}
.test-dots span.active{background:var(--leaf);width:30px;border-radius:5px;box-shadow:0 0 12px rgba(11,110,79,0.3)}

/* ===== CONTACT ===== */
#contact{color:#000}
#contact .section-tag{background:var(--leaf-bg);color:var(--leaf-dark)}
#contact .section-title{}
#contact .section-sub{color:var(--text-light)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.contact-info{display:flex;flex-direction:column;gap:16px}
.contact-item{display:flex;align-items:center;gap:16px;background:var(--leaf-pale);padding:18px 24px;border-radius:var(--radius);border:1px solid var(--leaf-light)}
.contact-item .label{font-size:12px;opacity:0.6;text-transform:uppercase;letter-spacing:1px}
.contact-item .value{font-size:15px;font-weight:600}
.contact-item .value a{color:var(--leaf-dark);text-decoration:none}
.contact-item .value a:hover{text-decoration:underline;color:var(--leaf)}
.contact-form{background:white;padding:36px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.contact-form h3{margin-bottom:20px;font-size:22px;font-weight:700}
.form-group{margin-bottom:16px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:14px 16px;border:2px solid var(--leaf-pale);border-radius:10px;font-size:14px;font-family:inherit;transition:var(--transition);outline:none;background:#f9fdf9}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--leaf);box-shadow:0 0 0 4px rgba(11,110,79,0.08)}
.form-group textarea{height:120px;resize:vertical}
.contact-form .btn{width:100%;justify-content:center}

/* ===== WHATSAPP ===== */
.whatsapp-float{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;align-items:center;gap:8px;background:#25D366;color:white;padding:12px 20px;border-radius:50px;box-shadow:0 8px 30px rgba(37,211,102,0.4);text-decoration:none;transition:var(--transition);font-weight:600;font-size:14px;animation:wapPulse 2s infinite}
.whatsapp-float:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(37,211,102,0.5);color:white}
@keyframes wapPulse{0%,100%{box-shadow:0 8px 30px rgba(37,211,102,0.4)}50%{box-shadow:0 8px 40px rgba(37,211,102,0.6)}}
.whatsapp-text{display:none}
@media(min-width:768px){.whatsapp-float{padding:14px 24px}.whatsapp-text{display:inline}}
@media(max-width:767px){.whatsapp-float{bottom:16px;right:16px;width:56px;height:56px;padding:0;justify-content:center;border-radius:50%;animation:none}}

/* ===== FOOTER ===== */
footer{background:linear-gradient(135deg,#009688,#F8FCFF,#4CAF50);color:var(--text);padding:40px 0;text-align:center;position:relative;z-index:1}
footer a{color:var(--leaf-pale);text-decoration:none}
footer a:hover{text-decoration:underline;color:var(--leaf-light)}
footer .social{display:flex;justify-content:center;gap:14px;margin-bottom:16px}
footer .social a{width:40px;height:40px;background:rgba(255,255,255,0.06);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;transition:var(--transition);border:1px solid rgba(255,255,255,0.05);color:#E84393}
footer .social a:hover{background:#E84393;color:white;transform:translateY(-3px);box-shadow:0 4px 16px rgba(232,67,147,0.3)}

/* ===== ANIMATIONS ===== */
.fade-up{opacity:0;transform:translateY(40px);transition:all 0.7s cubic-bezier(0.4,0,0.2,1)}
.fade-up.visible{opacity:1;transform:translateY(0)}
.fade-left{opacity:0;transform:translateX(-40px);transition:all 0.7s cubic-bezier(0.4,0,0.2,1)}
.fade-left.visible{opacity:1;transform:translateX(0)}
.fade-right{opacity:0;transform:translateX(40px);transition:all 0.7s cubic-bezier(0.4,0,0.2,1)}
.fade-right.visible{opacity:1;transform:translateX(0)}
.fade-scale{opacity:0;transform:scale(0.8);transition:all 0.7s cubic-bezier(0.4,0,0.2,1)}
.fade-scale.visible{opacity:1;transform:scale(1)}
.delay-1{transition-delay:0.1s}
.delay-2{transition-delay:0.2s}
.delay-3{transition-delay:0.3s}
.delay-4{transition-delay:0.4s}
.delay-5{transition-delay:0.5s}

/* hover lift */
.hover-lift{transition:transform 0.4s cubic-bezier(0.4,0,0.2,1),box-shadow 0.4s cubic-bezier(0.4,0,0.2,1)}
.hover-lift:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}

/* pulse */
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
.animate-pulse{animation:pulse 2s ease-in-out infinite}

/* float */
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.animate-float{animation:float 3s ease-in-out infinite}

/* shimmer */
@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}
.animate-shimmer{background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,0.2) 50%,transparent 75%);background-size:200% 100%;animation:shimmer 3s infinite}

/* image zoom on hover */
.img-zoom{overflow:hidden;border-radius:var(--radius)}
.img-zoom img{transition:transform 0.6s cubic-bezier(0.4,0,0.2,1)}
.img-zoom:hover img{transform:scale(1.08)}

/* bounce-in */
@keyframes bounceIn{0%{opacity:0;transform:scale(0.5)}60%{opacity:1;transform:scale(1.08)}100%{transform:scale(1)}}
.bounce-in{opacity:0;animation:bounceIn 0.7s cubic-bezier(0.4,0,0.2,1) forwards}
.bounce-in.visible{opacity:1;animation:none;transform:none}

/* slide-up with blur */
@keyframes slideBlur{0%{opacity:0;transform:translateY(30px);filter:blur(4px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
.slide-blur{opacity:0;animation:slideBlur 0.8s cubic-bezier(0.4,0,0.2,1) forwards}
.slide-blur.visible{opacity:1;animation:none;transform:none;filter:none}

/* slide-in left */
@keyframes slideInLeft{0%{opacity:0;transform:translateX(-80px)}100%{opacity:1;transform:translateX(0)}}
.slide-in-left{opacity:0;animation:slideInLeft 0.7s cubic-bezier(0.4,0,0.2,1) forwards}
.slide-in-left.visible{opacity:1;animation:none;transform:none}

/* slide-in right */
@keyframes slideInRight{0%{opacity:0;transform:translateX(80px)}100%{opacity:1;transform:translateX(0)}}
.slide-in-right{opacity:0;animation:slideInRight 0.7s cubic-bezier(0.4,0,0.2,1) forwards}
.slide-in-right.visible{opacity:1;animation:none;transform:none}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  nav{display:none}
  .hamburger{display:flex}
  .hero .container{flex-direction:column;text-align:center}
  .hero-content h1{font-size:34px}
  .hero-content p{margin-left:auto;margin-right:auto}
  .hero-btns{justify-content:center}
  .section-title{font-size:30px}
  .services-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr;gap:40px}
  .contact-grid{grid-template-columns:1fr}
  .process-grid{grid-template-columns:1fr;gap:12px}
  section{padding:0}
}