@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -30px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-30px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(30px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-20px);
  }
  60% {
    transform: translateY(-10px);
  }
}@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}@keyframes shake {
  0%,
  100% {
    transform: translateX(0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translateX(-5px);
  }
  20%,
  40%,
  60%,
  80% {
    transform: translateX(5px);
  }
}@keyframes rotateIn {
  from {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, 0deg);
    opacity: 1;
  }
}@keyframes flipInX {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}@keyframes rubberBand {
  from {
    transform: scale3d(1, 1, 1);
  }
  30% {
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}@keyframes swing {
  20% {
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    transform: rotate3d(0, 0, 1, 0deg);
  }
}@keyframes heartBeat {
  0% {
    transform: scale(1);
  }
  14% {
    transform: scale(1.1);
  }
  28% {
    transform: scale(1);
  }
  42% {
    transform: scale(1.1);
  }
  70% {
    transform: scale(1);
  }
}@keyframes floating {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-8px);
  }
  100% {
    transform: translateY(0px);
  }
}@keyframes glowing {
  0% {
    box-shadow: 0 0 5px rgba(14, 127, 0, 0.5);
  }
  50% {
    box-shadow: 0 0 20px rgba(14, 127, 0, 0.8);
  }
  100% {
    box-shadow: 0 0 5px rgba(14, 127, 0, 0.5);
  }
}@keyframes gradientFlow {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}@keyframes textReveal {
  0% {
    opacity: 0;
    transform: translateY(100%);
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}@keyframes typing {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}@keyframes blink {
  50% {
    border-color: transparent;
  }
}@keyframes stackInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}@keyframes pulseSlow {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}@keyframes waterFill {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0%);
  }
}.animate{animation-duration:1.2s;animation-fill-mode:both;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-delay:var(--delay,0ms);will-change:transform , opacity}.fade-in{animation-name:fadeIn}.fade-in-up{animation-name:fadeInUp}.fade-in-down{animation-name:fadeInDown}.fade-in-left{animation-name:fadeInLeft}.fade-in-right{animation-name:fadeInRight}.zoom-in{animation-name:zoomIn}.stack-in-up{animation-name:stackInUp}.bounce{animation-name:bounce}.pulse{animation-name:pulse}.shake{animation-name:shake}.rubber-band{animation-name:rubberBand}.swing{animation-name:swing}.heart-beat{animation-name:heartBeat}.floating{animation-name:floating;animation-duration:3s;animation-iteration-count:infinite}.rotate-in{animation-name:rotateIn}.flip-in-x{animation-name:flipInX}.delay-100{animation-delay:100ms}.delay-200{animation-delay:200ms}.delay-300{animation-delay:300ms}.delay-400{animation-delay:400ms}.delay-500{animation-delay:500ms}.delay-600{animation-delay:600ms}.delay-700{animation-delay:700ms}.delay-800{animation-delay:800ms}.delay-900{animation-delay:900ms}.delay-1000{animation-delay:1000ms}.duration-300{animation-duration:300ms}.duration-500{animation-duration:500ms}.duration-700{animation-duration:700ms}.duration-1000{animation-duration:1000ms}.duration-1500{animation-duration:1500ms}.duration-2000{animation-duration:2000ms}.hover-grow{transition:transform .3s ease}.hover-grow:hover{transform:scale(1.05)}.hover-float{transition:transform .3s ease}.hover-float:hover{transform:translateY(-5px)}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 15px rgba(14,127,0,.7)}.hover-rotate{transition:transform .3s ease}.hover-rotate:hover{transform:rotate(5deg)}.btn-animate{position:relative;overflow:hidden;transition:all .3s ease}.btn-animate:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );transition:all .6s ease}.btn-animate:hover:before{left:100%}.gradient-animate{background:linear-gradient(270deg,#0e7f00,#0c6b00,#0c6b00);background-size:600% 600%;animation:gradientFlow 8s ease infinite}.text-reveal{display:inline-block;animation:textReveal .7s cubic-bezier(.7,0,.3,1) both;animation-delay:var(--delay,0ms)}.typing-effect{display:inline-block;overflow:hidden;white-space:nowrap;border-right:3px solid;width:0;animation:typing 2s steps(40,end) forwards , blink 1s step-end infinite}.reveal{opacity:0;transform:translateY(30px);transition:all .8s ease}.reveal.active{opacity:1;transform:translateY(0)}.product-card-animated{opacity:0;transform:translateY(30px);transition:all .5s cubic-bezier(.25,.46,.45,.94);overflow:hidden}.product-card-animated.active{opacity:1;transform:translateY(0)}.product-card-animated .card-inner{transition:all .5s ease}.product-card-animated:hover .card-inner{transform:translateY(-10px)}.product-card-animated img{transition:transform .7s ease}.product-card-animated:hover img{transform:scale(1.1)}.service-card-animated{opacity:0;transform:translateY(30px);transition:all .5s cubic-bezier(.25,.46,.45,.94);overflow:hidden}.service-card-animated.active{opacity:1;transform:translateY(0)}.service-card-animated .animate-icon{animation:pulseSlow 3s infinite}.feature-card-animated{opacity:0;transform:translateY(50px);transition:all .5s cubic-bezier(.25,.46,.45,.94);position:relative}.feature-card-animated.active{opacity:1;transform:translateY(0)}.feature-card-animated[data-animation="stack-up"]{transform-origin:bottom center}.feature-card-animated .animate-pulse-slow{animation:pulseSlow 3s infinite}.feature-card-animated .animate-text-reveal{position:relative;overflow:hidden}.feature-card-animated .animate-text-reveal::after{content:"";position:absolute;top:0;right:0;width:100%;height:100%;background:#fff;animation:textReveal 1s forwards;animation-delay:.5s;transform-origin:right}.stats-card-animated{opacity:0;transform:translateY(30px);transition:all .5s cubic-bezier(.25,.46,.45,.94)}.stats-card-animated.active{opacity:1;transform:translateY(0)}.counter-animated{display:inline-block;position:relative}.preloader{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#fff;display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .5s ease , visibility .5s ease}.preloader.fade-out{opacity:0;visibility:hidden}.loader{width:80px;height:80px;position:relative}.loader-circle{position:absolute;width:100%;height:100%;border:8px solid transparent;border-top-color:var(--primary-color,#0e7f00);border-radius:50%;animation:spin 1s linear infinite}.loader-circle:nth-child(2) {width:60%;height:60%;top:20%;left:20%;border-top-color:var(--primary-dark,#0c6b00);animation-duration:.8s;animation-direction:reverse}.loader-circle:nth-child(3) {width:30%;height:30%;top:35%;left:35%;border-top-color:var(--primary-hover,#0c6b00);animation-duration:.6s}.loader-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:bold;font-size:16px;color:var(--primary-dark,#0c6b00);text-transform:uppercase}@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}.page-transition{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#fff;z-index:9998;transform:translateY(100%);transition:transform .5s ease;display:flex;justify-content:center;align-items:center}.page-transition.active{transform:translateY(0)}.page-transition-logo{width:350px;height:auto;max-width:100%;opacity:0;transform:scale(.8);transition:opacity .3s ease , transform .3s ease}.page-transition.active .page-transition-logo{opacity:1;transform:scale(1)}@keyframes pulse {
  0%,
  100% {
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.1);
  }
}.tilt-effect{transform-style:preserve-3d;transform:perspective(1000px);transition:transform .3s ease}.tilt-inner{transform-style:preserve-3d;transition:transform .3s ease}.btn-ripple{position:relative;overflow:hidden}.btn-ripple::after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background:rgba(255,255,255,.5);opacity:0;border-radius:100%;transform:scale(1,1) translate(-50%,-50%);transform-origin:50% 50%}.btn-ripple:focus:not(:active)::after {animation:ripple 1s ease-out}@keyframes ripple {
  0% {
    transform: scale(0, 0) translate(-50%, -50%);
    opacity: 0.5;
  }
  100% {
    transform: scale(100, 100) translate(-50%, -50%);
    opacity: 0;
  }
}.magnetic-btn{position:relative;transition:transform .3s ease}.parallax{transition:transform .2s cubic-bezier(.2,0,.2,1);will-change:transform}.card-3d-container{perspective:1000px}.card-3d{position:relative;width:100%;height:100%;transition:transform .8s;transform-style:preserve-3d}.card-3d.flipped{transform:rotateY(180deg)}.card-3d-front,.card-3d-back{position:absolute;width:100%;height:100%;backface-visibility:hidden}.card-3d-back{transform:rotateY(180deg)}.scroll-progress{position:fixed;top:0;left:0;width:0;height:4px;background: linear-gradient(
    to right,
    var(--primary-color),
    var(--primary-hover)
  );z-index:9999;transition:width .1s ease}#scrollTopBtn{animation:bounce 2s infinite;animation-play-state:paused}#scrollTopBtn:hover{animation-play-state:running}.typing-cursor{display:inline-block;width:3px;height:1em;background-color:currentColor;margin-left:2px;animation:blink 1s step-end infinite;vertical-align:text-bottom}.text-highlight{position:relative;display:inline-block}.text-highlight::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:30%;background-color:rgba(14,127,0,.2);z-index:-1;transform:scaleX(0);transform-origin:bottom right;transition:transform .3s ease}.text-highlight:hover::after{transform:scaleX(1);transform-origin:bottom left}.icon-pop{transition:transform .3s cubic-bezier(.68,-.55,.27,1.55)}.icon-pop:hover{transform:scale(1.2)}.icon-rotate{transition:transform .5s ease}.icon-rotate:hover{transform:rotate(360deg)}.icon-shake{animation:shake 2s cubic-bezier(.36,.07,.19,.97) infinite;animation-play-state:paused;transform:translate3d(0,0,0)}.icon-shake:hover{animation-play-state:running}.stagger-item:nth-child(1) {animation-delay:0ms}.stagger-item:nth-child(2) {animation-delay:100ms}.stagger-item:nth-child(3) {animation-delay:200ms}.stagger-item:nth-child(4) {animation-delay:300ms}.stagger-item:nth-child(5) {animation-delay:400ms}.stagger-item:nth-child(6) {animation-delay:500ms}.stagger-item:nth-child(7) {animation-delay:600ms}.stagger-item:nth-child(8) {animation-delay:700ms}.stagger-item:nth-child(9) {animation-delay:800ms}.stagger-item:nth-child(10) {animation-delay:900ms}.water-fill-text{position:relative;color:transparent;overflow:hidden}.water-fill-text::before{content:attr(data-text);position:absolute;left:0;top:0;width:100%;height:100%;color:var(--primary-color,#0e7f00);transform:translateY(100%);animation:waterFill 1.5s ease-out forwards;background: linear-gradient(
    0deg,
    var(--primary-color, #0e7f00) 0%,
    var(--primary-hover, #0c6b00) 70%
  );-webkit-background-clip:text;background-clip:text}.water-fill-text.delay-200::before{animation-delay:.2s}.water-fill-text.delay-400::before{animation-delay:.4s}.water-fill-text.delay-600::before{animation-delay:.6s}.about-card-left{opacity:0;transform:translateX(-50px);transition:all .7s cubic-bezier(.25,.46,.45,.94)}.about-card-left.active{opacity:1;transform:translateX(0)}.about-card-right{opacity:0;transform:translateX(50px);transition:all .7s cubic-bezier(.25,.46,.45,.94)}.about-card-right.active{opacity:1;transform:translateX(0)}.about-card-animated{opacity:0;transform:translateY(30px);transition:all 1.2s cubic-bezier(.25,.46,.45,.94);transform-origin:center bottom;will-change:transform , opacity;min-height:0;overflow:visible;transition:all .6s cubic-bezier(.25,.46,.45,.94);border:2px solid transparent;position:relative}.about-card-animated.active{opacity:1;transform:translateY(0)}.about-card-animated:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px rgba(0,0,0,.15) , 0 8px 16px rgba(14,127,0,.1);border-color:rgba(14,127,0,.3);background:linear-gradient(135deg,#fff 0%,#f8fafc 100%)}.about-card-animated::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background: linear-gradient(
    135deg,
    rgba(14, 127, 0, 0.05) 0%,
    transparent 50%
  );opacity:0;transition:opacity .6s ease;border-radius:inherit;pointer-events:none}.about-card-animated:hover::before{opacity:1}.about-card-animated img{transition:all .6s cubic-bezier(.25,.46,.45,.94)}.about-card-animated:hover img{transform:scale(1.05);filter:brightness(1.1) contrast(1.05)}.about-card-animated:hover h3{color:#0e7f00;transition:color .6s ease}.about-card-animated:hover p{color:#374151;transition:color .6s ease}.about-card-animated .bg-green-100{transition:all .6s cubic-bezier(.25,.46,.45,.94)}.about-card-animated:hover .bg-green-100{background:linear-gradient(135deg,#0e7f00 0%,#0c6b00 100%);transform:scale(1.1) rotate(5deg)}.about-card-animated:hover .bg-green-100 i{color:#fff;transform:scale(1.1);transition:all .6s ease}.about-card-animated .text-4xl{transition:all .6s cubic-bezier(.25,.46,.45,.94)}.about-card-animated:hover .text-4xl{transform:scale(1.1);color:#0e7f00;text-shadow:0 0 20px rgba(14,127,0,.3)}.about-card-animated i.fas{transition:all .6s cubic-bezier(.25,.46,.45,.94)}.about-card-animated:hover i.fas{transform:scale(1.2) rotate(10deg)}.about-card-animated:hover h4{color:#0e7f00;transition:color .6s ease}.about-card-animated:hover p.text-gray-600{color:#374151;font-weight:500;transition:all .6s ease}.about-card-animated .text-green-800 i.fas{transition:all .6s cubic-bezier(.25,.46,.45,.94)}.about-card-animated:hover .text-green-800 i.fas{transform:scale(1.2) rotate(10deg)}.about-card-animated .bg-green-800{transition:all .6s cubic-bezier(.25,.46,.45,.94)}.about-card-animated:hover .bg-green-800{background:linear-gradient(135deg,#0e7f00 0%,#0c6b00 100%);transform:scale(1.1);box-shadow:0 0 20px rgba(14,127,0,.3)}.about-card-animated:hover .bg-green-800 span{transform:scale(1.1);transition:transform .6s ease}.about-card-animated a.bg-green-800{transition:all .6s cubic-bezier(.25,.46,.45,.94)}.about-card-animated:hover a.bg-green-800{background:linear-gradient(135deg,#0e7f00 0%,#0c6b00 100%);transform:translateY(-2px);box-shadow:0 4px 12px rgba(14,127,0,.3)}.about-card-animated[data-animation="bounce-in-up"]{transform-origin:center bottom;will-change:transform , opacity}.about-card-animated[data-animation="bounce-in-up"].animate{transform:none}@keyframes bounceInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 20px, 0) scale(0.98);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -5px, 0) scale(1.01);
  }
  80% {
    transform: translate3d(0, 2px, 0) scale(0.99);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}.bounce-in-up{animation-name:bounceInUp}