:root{--green:#1f7a53;--green-soft:#6cb24e;--green-mist:#eef6f1;--red:#e2584a;--red-mist:#fdf0ee;--slate:#3b6f7a;--ink:#1c2b2a;--muted:#5e6f6c;--line:#e4ece8;--white:#fff;--cream:#f8faf9;--shadow-sm:0 1px 2px #1c2b2a0a, 0 8px 24px #1c2b2a0d;--shadow-md:0 2px 6px #1c2b2a0d, 0 18px 48px #1c2b2a17;--radius:18px;--maxw:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;margin:0;font-family:Manrope,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.65}h1,h2,h3,h4{letter-spacing:-.01em;color:var(--ink);margin:0 0 .5em;font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.15}h1{font-size:clamp(2.3rem,5vw,3.6rem)}h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}h3{font-size:1.18rem}p{color:var(--muted);margin:0 0 1rem}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.section{padding:92px 0}.section--tint{background:var(--cream)}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--green);align-items:center;gap:8px;margin-bottom:14px;font-size:.78rem;font-weight:700;display:inline-flex}.eyebrow:before{content:"";background:var(--red);border-radius:2px;width:22px;height:2px}.section-head{max-width:660px;margin-bottom:48px}.lead{font-size:1.08rem}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:10px;padding:13px 24px;font-size:.94rem;font-weight:700;transition:transform .25s,box-shadow .25s,background .25s,color .25s,border-color .25s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--green);color:#fff;box-shadow:0 10px 24px #1f7a533d}.btn--primary:hover{background:#196345}.btn--ghost{border-color:var(--line);color:var(--ink);background:#fff}.btn--ghost:hover{border-color:var(--green);color:var(--green)}.btn--red{background:var(--red);color:#fff;box-shadow:0 10px 24px #e2584a3d}.header{z-index:60;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffdb;border-bottom:1px solid #0000;transition:border-color .3s,box-shadow .3s;position:sticky;top:0}.header--scrolled{border-color:var(--line);box-shadow:0 6px 24px #1c2b2a0d}.header__inner{justify-content:space-between;align-items:center;gap:24px;height:78px;display:flex}@keyframes spin3d{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.brand{perspective:800px;align-items:center;gap:12px;display:flex}.brand img{object-fit:contain;will-change:transform;width:38px;height:38px;transform-style:preserve-3d;-webkit-font-smoothing:antialiased;animation:6s linear infinite spin3d}.brand__text{color:var(--ink);font-family:Fraunces,Georgia,serif;font-size:1.18rem;font-weight:600;line-height:1.05}.brand__text small{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-family:Manrope,sans-serif;font-size:.66rem;font-weight:700;display:block}.nav{align-items:center;gap:4px;display:flex}.nav a{color:var(--muted);border-radius:999px;padding:9px 14px;font-size:.93rem;font-weight:600;transition:color .2s,background .2s}.nav a:hover,.nav a.active{color:var(--green);background:var(--green-mist)}.nav__group{position:relative}.nav__trigger{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:9px 14px;font-size:.93rem;font-weight:600;display:inline-flex}.dropdown{border:1px solid var(--line);min-width:288px;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;background:#fff;border-radius:16px;padding:8px;transition:opacity .22s,transform .22s,visibility .22s;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,8px)}.dropdown.is-open{opacity:1;visibility:visible;transform:translate(-50%)}.nav__group:hover .nav__trigger,.nav__trigger.active,.nav__trigger.open{color:var(--green);background:var(--green-mist)}.nav__trigger svg{transition:transform .25s}.nav__trigger.open svg{transform:rotate(180deg)}.dropdown a{color:var(--ink);border-radius:11px;padding:10px 14px;font-size:.9rem;font-weight:600;display:block}.dropdown a span{color:var(--muted);font-size:.78rem;font-weight:500;display:block}.header__cta{align-items:center;gap:10px;display:flex}.burger{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:none}.burger span{background:var(--ink);width:18px;height:2px;display:block;position:relative}.burger span:before,.burger span:after{content:"";background:var(--ink);width:18px;height:2px;transition:transform .25s;position:absolute;left:0}.burger span:before{top:-6px}.burger span:after{top:6px}.mobile-nav{border-top:1px solid var(--line);background:#fff;padding:14px 0 22px;display:none}.mobile-nav a{border-bottom:1px solid var(--line);padding:12px 4px;font-weight:600;display:block}.mobile-nav a:last-child{border-bottom:0}.mobile-nav .sub{color:var(--muted);padding-left:16px;font-size:.92rem;font-weight:500}.hc-wrapper{background:#fff;width:100%;position:relative;overflow:hidden}.hc-track{height:clamp(540px,80vh,700px);position:relative}.hc-slide{opacity:0;visibility:hidden;align-items:center;transition:opacity .8s ease-in-out,visibility .8s ease-in-out;display:flex;position:absolute;inset:0}.hc-slide.is-active{opacity:1;visibility:visible;z-index:10}.hc-slide__bg{background:linear-gradient(110deg, #f8faf9 48%, var(--green) 48.1%, #15583b 100%);z-index:-1;position:absolute;inset:0}.hc-slide__inner{z-index:2;grid-template-columns:1fr 1fr;align-items:center;gap:40px;display:grid;position:relative}.hc-content{max-width:540px}.hc-title{color:var(--ink);margin-bottom:24px;font-family:Fraunces,serif;font-size:clamp(2.6rem,5vw,4rem);font-weight:700;line-height:1.1}.hc-desc{color:var(--muted);margin-bottom:36px;font-size:1.1rem;line-height:1.6}.hc-desc-intro{opacity:.85;font-size:.95rem}.hc-collage{aspect-ratio:1;width:100%;max-width:500px;margin:0 auto;position:relative}.hc-circle{background:var(--green);border:6px solid #fff;border-radius:50%;position:absolute;overflow:hidden;box-shadow:0 12px 36px #0000002e}.hc-circle img{object-fit:cover;width:100%;height:100%}.hc-circle--main{z-index:3;border-color:#fff;width:65%;height:65%;top:50%;left:50%;transform:translate(-50%,-50%)}.hc-circle--top{z-index:2;width:40%;height:40%;top:5%;right:5%}.hc-circle--bottom{z-index:4;border-color:var(--green-mist);width:45%;height:45%;bottom:0;left:0}.hc-nav{background:var(--green);color:#fff;cursor:pointer;z-index:20;border:none;place-items:center;width:48px;height:48px;transition:background .3s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.hc-nav:hover{background:var(--ink)}.hc-nav--prev{left:0}.hc-nav--next{right:0}.hc-dots{z-index:20;gap:8px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.hc-dot{cursor:pointer;background:#fff6;border:none;border-radius:50%;width:10px;height:10px;padding:0;transition:background .3s}.hc-dot.is-active{background:#fff}.grid{gap:22px;display:grid}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--2{grid-template-columns:repeat(2,1fr)}.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;padding:28px;transition:transform .3s,box-shadow .3s,border-color .3s}.card:hover{box-shadow:var(--shadow-md);border-color:#d5e5dd;transform:translateY(-4px)}.card p{margin-bottom:0;font-size:.95rem}.card__icon{background:var(--green-mist);width:42px;height:42px;color:var(--green);border-radius:12px;place-items:center;margin-bottom:16px;font-weight:800;display:grid}.company-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;flex-direction:column;transition:transform .3s,box-shadow .3s;display:flex;overflow:hidden}.company-card:hover{box-shadow:var(--shadow-md);transform:translateY(-6px)}.company-card__logo{background:var(--cream);border-bottom:1px solid var(--line);place-items:center;height:150px;padding:26px;display:grid}.company-card__logo img{object-fit:contain;width:auto;max-height:96px}.company-card__body{flex-direction:column;flex:1;gap:8px;padding:24px 26px 28px;display:flex}.company-card__body h3{margin:0}.company-card__body p{flex:1;font-size:.93rem}.link-arrow{color:var(--green);align-items:center;gap:7px;font-size:.9rem;font-weight:700;display:inline-flex}.link-arrow svg{transition:transform .25s}.company-card:hover .link-arrow svg{transform:translate(4px)}.split{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}.value-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.value-list li{align-items:flex-start;gap:14px;display:flex}.tick{background:var(--green-mist);width:24px;height:24px;color:var(--green);border-radius:50%;flex:none;place-items:center;margin-top:3px;font-size:.72rem;font-weight:800;display:grid}.stat-tiles{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.stat-tile{border:1px solid var(--line);background:#fff;border-radius:16px;padding:24px}.stat-tile strong{color:var(--green);font-family:Fraunces,serif;font-size:1.9rem;display:block}.stat-tile:nth-child(2n) strong{color:var(--red)}.stat-tile small{color:var(--muted);font-size:.86rem}.steps{counter-reset:step;grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.step{border:1px solid var(--line);background:#fff;border-radius:16px;padding:26px 24px;position:relative}.step strong{color:#1f7a5347;margin-bottom:8px;font-family:Fraunces,serif;font-size:1.6rem;display:block}.cta-band{color:#fff;background:linear-gradient(120deg,#1f7a53 0%,#2f8a5f 55%,#3b6f7a 100%);border-radius:26px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:36px;padding:56px;display:flex}.cta-band h2,.cta-band p{color:#fff;margin:0}.cta-band p{opacity:.86;max-width:520px;margin-top:8px}.company-hero{border-bottom:1px solid var(--line);padding:72px 0 56px}.company-hero__grid{grid-template-columns:300px 1fr;align-items:center;gap:56px;display:grid}.company-hero__logo{border:1px solid var(--line);min-height:190px;box-shadow:var(--shadow-sm);background:#fff;border-radius:24px;place-items:center;padding:34px;display:grid}.company-hero__logo img{object-fit:contain;width:auto;max-height:120px}.breadcrumb{color:var(--muted);margin-bottom:14px;font-size:.85rem}.breadcrumb a:hover{color:var(--green)}.tag-row{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.highlight-row{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;display:grid}.other-companies{flex-wrap:wrap;gap:12px;display:flex}.pill-link{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:border-color .25s,color .25s,transform .25s;display:inline-flex}.pill-link:hover{border-color:var(--green);color:var(--green);transform:translateY(-2px)}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:48px;display:grid}.form{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;gap:16px;padding:32px;display:grid}.field label{color:var(--ink);margin-bottom:6px;font-size:.82rem;font-weight:700;display:block}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;font:inherit;background:var(--cream);color:var(--ink);border-radius:12px;padding:12px 14px;font-size:.94rem;transition:border-color .2s,background .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);background:#fff;outline:none}.field textarea{resize:vertical;min-height:130px}.form__note{margin:0;font-size:.86rem}.success{background:var(--green-mist);color:var(--green);border-radius:12px;padding:12px 14px;font-size:.9rem;font-weight:600}.info-list{gap:18px;margin-top:26px;display:grid}.info-item{align-items:flex-start;gap:14px;display:flex}.info-item strong{font-size:.92rem;display:block}.info-item span{color:var(--muted);font-size:.93rem}.footer{color:#cfdcd6;background:#14231f;margin-top:0;padding:68px 0 28px}.footer h4{color:#fff;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;font-family:Manrope,sans-serif;font-size:.82rem;font-weight:800}.footer__grid{grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:42px;display:grid}.footer p,.footer li,.footer a{color:#a9bdb5;font-size:.92rem}.footer a:hover{color:#fff}.footer ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.footer__logo{background:#fff;border-radius:14px;margin-bottom:18px;padding:12px 16px;display:inline-block}.footer__logo img{width:auto;height:46px}.social-links{gap:14px;margin-top:22px;display:flex}.social-links a{color:#a9bdb5;background:#ffffff0d;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .3s,color .3s,transform .3s;display:flex}.social-links a:hover{background:var(--green);color:#fff;transform:translateY(-2px)}.footer__bottom{border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:46px;padding-top:20px;font-size:.85rem;display:flex}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:none}@media (width<=980px){.section{padding:66px 0}.hero__grid,.split,.contact-grid,.company-hero__grid{flex-direction:column;gap:38px;display:flex}.company-hero__grid>:last-child,.split-reverse-mobile>:last-child{order:-1}.grid--3,.steps,.footer__grid{grid-template-columns:repeat(2,1fr)}.nav,.header__cta .btn{display:none}.burger{display:flex}.mobile-nav{display:block}.cta-band{padding:38px}h1{font-size:2.2rem}h2{font-size:1.8rem}}@media (width<=620px){.grid--3,.grid--2,.steps,.highlight-row,.stat-tiles,.footer__grid{grid-template-columns:1fr}.hero{padding:62px 0 56px}.hero__card{padding:26px 20px}h1{font-size:2rem}h2{font-size:1.6rem}}.chatbot-toggle{background:var(--green);color:#fff;cursor:pointer;z-index:999;border:none;border-radius:50%;place-items:center;width:60px;height:60px;transition:transform .3s,opacity .3s,background .3s;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 12px #00000026}.chatbot-toggle:hover{background:var(--green-soft);transform:translateY(-2px)}.chatbot-toggle.is-hidden{opacity:0;pointer-events:none;transform:scale(.8)}.chatbot-window{width:340px;max-width:calc(100vw - 48px);box-shadow:var(--shadow-md);z-index:1000;opacity:0;pointer-events:none;background:#fff;border-radius:20px;flex-direction:column;transition:opacity .3s,transform .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden;transform:translateY(20px)scale(.95)}.chatbot-window.is-open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.chatbot-header{background:var(--green);color:#fff;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.chatbot-header strong{font-size:1.05rem;line-height:1.2;display:block}.chatbot-header small{opacity:.8;font-size:.75rem}.chatbot-close{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;padding:4px;transition:opacity .2s}.chatbot-close:hover{opacity:1}.chatbot-messages{background:var(--green-mist);flex-direction:column;flex:1;gap:12px;height:320px;padding:20px;display:flex;overflow-y:auto}.chat-bubble{border-radius:14px;max-width:85%;padding:10px 14px;font-size:.92rem;line-height:1.4}.chat-bubble--bot{color:var(--ink);background:#fff;border-bottom-left-radius:4px;align-self:flex-start;box-shadow:0 2px 4px #0000000a}.chat-bubble--user{background:var(--green);color:var(--fff);border-bottom-right-radius:4px;align-self:flex-end}.chatbot-input{border-top:1px solid var(--line);background:#fff;gap:8px;padding:14px;display:flex}.chatbot-input input{border:1px solid var(--line);border-radius:999px;outline:none;flex:1;padding:10px 16px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.chatbot-input input:focus{border-color:var(--green)}.chatbot-input button{background:var(--green);color:#fff;cursor:pointer;border:none;border-radius:50%;place-items:center;width:40px;height:40px;transition:background .2s;display:grid}.chatbot-input button:disabled{background:var(--line);color:var(--muted);cursor:not-allowed}.chatbot-input button:not(:disabled):hover{background:var(--green-soft)}.gallery-img{object-fit:cover;width:100%;height:250px;transition:transform .3s;display:block}.gallery-item:hover .gallery-img{transform:scale(1.05)}
