:root{--cx-lime:#A8C634;--cx-olive:#5F7A0C;--cx-ink:#3B3B3B;--cx-dark:#161A0C;--cx-cream:#F6F8EC;--cx-line:#DDE3C8;--cx-muted:#5F615A;--cx-font:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--cx-ease:cubic-bezier(.2,.8,.2,1)}
html{scroll-behavior:smooth}
body.home .elementor,body.home .elementor *{font-family:var(--cx-font)}
body.home .elementor-widget-icon-list .elementor-icon-list-icon i,body.home .elementor-widget-icon-box .elementor-icon i{font-family:"Font Awesome 5 Free","Font Awesome 5 Brands"}
body.home{overflow-x:hidden}

/* Sections */
.cx-sec.e-con{padding:110px 24px}
@media(max-width:1024px){.cx-sec.e-con{padding:80px 24px}}
@media(max-width:767px){.cx-sec.e-con{padding:60px 18px}}
.cx-footer.e-con{padding-bottom:36px}

/* Header */
.cx-header.e-con{position:sticky;top:0;z-index:99;padding:14px 24px;background-color:rgba(246,248,236,.88)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--cx-line)}
.cx-header>.e-con-inner{align-items:center;justify-content:space-between}
.cx-brand .elementor-heading-title{font-size:22px;font-weight:800;letter-spacing:-.02em}
.cx-hl2{color:var(--cx-olive)}
.cx-hl{color:var(--cx-lime)}
.cx-logo img{display:block;transition:transform .6s var(--cx-ease)}
.cx-logo:hover img{transform:rotate(-8deg) scale(1.08)}
.cx-nav .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:4px}
.cx-nav .elementor-icon-list-item{margin:0!important}
.cx-nav .elementor-icon-list-item a{padding:9px 16px;border-radius:999px;font-size:15px;font-weight:600;transition:background-color .25s ease,color .25s ease}
.cx-nav .elementor-icon-list-item a:hover{background:rgba(168,198,52,.25)}
@media(max-width:767px){.cx-header>.e-con-inner{justify-content:center;text-align:center}.cx-nav .elementor-icon-list-items{justify-content:center}}

/* Typography */
body.home .cx-h1 .elementor-heading-title{font-size:clamp(36px,5.2vw,68px);line-height:1.05;letter-spacing:-.03em;font-weight:800}
body.home .cx-h2 .elementor-heading-title{font-size:clamp(30px,3.6vw,48px);line-height:1.12;letter-spacing:-.02em;font-weight:800}
body.home .cx-h3 .elementor-heading-title{font-size:22px;line-height:1.3;font-weight:700;letter-spacing:-.01em}
body.home .cx-h4 .elementor-heading-title{font-size:16px;font-weight:700;letter-spacing:.02em}
body.home .cx-lead,body.home .cx-lead p{font-size:18px;line-height:1.75;font-weight:400}
body.home .cx-sm,body.home .cx-sm p{font-size:15px;line-height:1.7}
.cx-pill .elementor-heading-title,.cx-pill-l .elementor-heading-title{display:inline-block;padding:8px 16px;border-radius:999px;font-size:12.5px;font-weight:700;letter-spacing:.1em}
.cx-pill .elementor-heading-title{background:rgba(168,198,52,.14);border:1px solid rgba(168,198,52,.45);color:var(--cx-lime)}
.cx-pill-l .elementor-heading-title{background:rgba(95,122,12,.09);border:1px solid rgba(95,122,12,.3);color:var(--cx-olive)}

/* Buttons */
body.home .elementor-button{border-radius:999px;padding:16px 32px;font-size:15px;font-weight:700;letter-spacing:.01em;transition:transform .3s var(--cx-ease),box-shadow .3s ease,background-color .3s ease,color .3s ease,border-color .3s ease}
body.home .elementor-button:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(95,122,12,.32)}
body.home .elementor-button:active{transform:translateY(-1px)}
.cx-ghost .elementor-button{border:2px solid rgba(255,255,255,.55)}
.cx-ghost .elementor-button:hover{border-color:var(--cx-lime)}
.cx-shine .elementor-button{position:relative;overflow:hidden}
.cx-shine .elementor-button::after{content:"";position:absolute;top:0;bottom:0;width:60%;left:-80%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:cx-shine 3.8s ease-in-out infinite}
@keyframes cx-shine{0%,55%{left:-80%}100%{left:140%}}

/* Hero */
.cx-hero.e-con{position:relative;overflow:hidden;isolation:isolate}
.cx-hero.e-con::before,.cx-hero.e-con::after{content:"";position:absolute;border-radius:50%;z-index:-1;pointer-events:none}
.cx-hero.e-con::before{width:620px;height:620px;right:-160px;top:-180px;background:radial-gradient(circle,rgba(168,198,52,.40),transparent 68%);animation:cx-blob 14s ease-in-out infinite}
.cx-hero.e-con::after{width:520px;height:520px;left:-180px;bottom:-220px;background:radial-gradient(circle,rgba(95,122,12,.55),transparent 68%);animation:cx-blob 18s ease-in-out infinite reverse}
@keyframes cx-blob{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-50px,34px) scale(1.18)}}
.cx-trust .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:8px 22px}
.cx-trust .elementor-icon-list-item{margin:0!important}
.cx-trust .elementor-icon-list-text{font-size:14px;font-weight:600}
.cx-glass.e-con{background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:34px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 30px 70px rgba(0,0,0,.35)}
.cx-float.e-con{animation:cx-float 6s ease-in-out infinite}
.cx-float.e-con.animated{animation:cx-float 6s ease-in-out infinite}
@keyframes cx-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
.cx-float img{max-width:420px;margin:0 auto}

/* Marquee */
.cx-marq.e-con{overflow:hidden;padding:18px 0}
.cx-track{width:max-content}
.cx-track .elementor-heading-title{display:inline-block;white-space:nowrap;font-size:17px;font-weight:800;letter-spacing:.03em;animation:cx-marquee 34s linear infinite}
.cx-marq:hover .cx-track .elementor-heading-title{animation-play-state:paused}
@keyframes cx-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Grids */
.cx-g2.e-con,.cx-g3.e-con,.cx-g4.e-con{display:grid!important;gap:24px;align-items:stretch}
.cx-g2.e-con{grid-template-columns:repeat(2,minmax(0,1fr))}
.cx-g3.e-con{grid-template-columns:repeat(3,minmax(0,1fr))}
.cx-g4.e-con{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1180px){.cx-g2.e-con{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-g4.e-con{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1024px){.cx-g3.e-con{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.cx-g2.e-con,.cx-g3.e-con,.cx-g4.e-con{grid-template-columns:1fr;gap:18px}}

/* Cards */
.cx-card.e-con,.cx-card-d.e-con,.cx-tile.e-con{position:relative;overflow:hidden;transition:transform .45s var(--cx-ease),box-shadow .45s ease,border-color .35s ease,background-color .35s ease}
.cx-card.animated,.cx-card-d.animated,.cx-tile.animated,.cx-glass.animated:not(.cx-float){animation-fill-mode:backwards!important}
.cx-card.e-con{background:#fff;border:1px solid var(--cx-line);border-radius:24px;padding:32px}
.cx-card.e-con::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--cx-lime),var(--cx-olive));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--cx-ease)}
.cx-card.e-con:hover{transform:translateY(-9px);border-color:var(--cx-lime);box-shadow:0 28px 60px rgba(95,122,12,.18)}
.cx-card.e-con:hover::before{transform:scaleX(1)}
.cx-card .elementor-icon-box-wrapper{display:block;text-align:left}
.cx-card .elementor-icon-box-icon{margin:0 0 20px}
.cx-card .elementor-icon{width:64px;height:64px;font-size:26px;border-radius:18px!important;display:inline-flex;align-items:center;justify-content:center;transition:transform .5s var(--cx-ease),background-color .3s ease,color .3s ease}
.cx-card:hover .elementor-icon{transform:rotate(-8deg) scale(1.1)}
.cx-card .elementor-icon-box-title,.cx-card .elementor-icon-box-title a,.cx-card .elementor-image-box-title{font-size:21px;font-weight:700;letter-spacing:-.01em;line-height:1.3;transition:color .25s ease}
.cx-card .elementor-icon-box-title a:hover{color:var(--cx-olive)}
.cx-card .elementor-icon-box-description,.cx-card .elementor-image-box-description{font-size:15.5px;line-height:1.7;margin-top:10px}
.cx-card .elementor-image-box-img{margin:0 0 20px!important;width:100%!important;overflow:hidden;border-radius:16px}
.cx-card .elementor-image-box-img img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;transition:transform .8s var(--cx-ease)}
.cx-card:hover .elementor-image-box-img img{transform:scale(1.08)}
.cx-card-lime.e-con{background:linear-gradient(135deg,var(--cx-lime),#C9DE6C);border-color:transparent;justify-content:center}
.cx-card-lime .elementor-icon{background:var(--cx-dark)!important;color:var(--cx-lime)!important}
.cx-card-lime .elementor-icon-box-description{color:#2B3510!important}
.cx-card-lime .elementor-icon svg{fill:var(--cx-lime)}

/* Process cards */
.cx-card-d.e-con{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:32px}
.cx-card-d.e-con:hover{transform:translateY(-8px);background:rgba(255,255,255,.09);border-color:var(--cx-lime);box-shadow:0 24px 50px rgba(0,0,0,.35)}
.cx-num .elementor-heading-title{font-size:60px;font-weight:800;line-height:1;color:transparent!important;-webkit-text-stroke:1.5px var(--cx-lime);transition:color .4s ease}
.cx-card-d:hover .cx-num .elementor-heading-title{color:var(--cx-lime)!important}

/* About tiles */
.cx-tile.e-con{background:var(--cx-cream);border:1px solid var(--cx-line);border-radius:22px;padding:26px 30px}
.cx-tile.e-con:hover{transform:translateX(8px);border-color:var(--cx-lime);box-shadow:0 18px 40px rgba(95,122,12,.14)}
.cx-tile .elementor-counter-number-wrapper{font-size:54px;font-weight:800;line-height:1;letter-spacing:-.02em}
.cx-tile .elementor-counter-title{font-size:15px;font-weight:600;margin-top:8px}

/* Contact + footer lists */
.cx-clist .elementor-icon-list-items{display:flex;flex-direction:column;gap:14px}
.cx-clist .elementor-icon-list-item{margin:0!important}
.cx-clist .elementor-icon-list-text{font-size:16px;font-weight:600}
.cx-clist .elementor-icon-list-icon{width:42px!important;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(168,198,52,.14)}
.cx-flist .elementor-icon-list-item{margin:0 0 9px!important}
.cx-flist .elementor-icon-list-text{display:inline-block;font-size:15px;transition:transform .25s ease,color .25s ease}
.cx-flist .elementor-icon-list-item:hover .elementor-icon-list-text{transform:translateX(5px)}

/* Accessibility */
body.home a:focus-visible,body.home .elementor-button:focus-visible{outline:3px solid var(--cx-lime);outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
