:root{--ink:#10231e;--forest:#071b17;--green:#174b3d;--lime:#c9f15a;--cream:#f5f4ed;--mist:#edf1ea;--white:#fff;--muted:#5e6d67;--line:rgba(16,35,30,.14);--display:"Manrope",sans-serif;--body:"DM Sans",sans-serif;--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--body);background:#fff;font-size:16px;line-height:1.65}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:var(--display);line-height:1.12;letter-spacing:-.035em}h2{font-size:clamp(2.25rem,5vw,4.35rem);margin-bottom:0}h3{font-size:1.45rem}address{font-style:normal}.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:20px;background:var(--lime);padding:10px 16px;z-index:1000}.skip-link:focus{top:16px}.announcement{background:var(--forest);color:#c6d1cd;border-bottom:1px solid #ffffff1f;font-size:.78rem}.announcement__inner{min-height:37px;display:flex;justify-content:space-between;align-items:center}.announcement a{color:var(--lime);font-weight:700}.site-header{height:82px;background:#fffffff0;backdrop-filter:blur(14px);position:sticky;top:0;z-index:50;border-bottom:1px solid transparent;transition:.25s}.site-header.scrolled{border-color:var(--line);box-shadow:0 7px 28px #071b170f}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:9px;font:800 1.5rem var(--display);letter-spacing:-.06em}.brand__mark{width:39px;color:#2e755b}.site-nav{display:flex;gap:31px;align-items:center;font-size:.9rem;font-weight:600}.site-nav>a:not(.button):hover{color:#277156}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:14px 21px;background:var(--forest);color:#fff;border:0;border-radius:6px;font-size:.88rem;font-weight:700;transition:.2s}.button:hover{transform:translateY(-2px);box-shadow:0 9px 25px #071b172e}.button--small{padding:11px 16px;gap:13px}.button--lime{background:var(--lime);color:var(--forest)}.nav-toggle{display:none;background:none;border:0;padding:10px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:6px}.hero{background:var(--forest);color:#fff;min-height:calc(100vh - 119px);position:relative;overflow:hidden;display:flex;flex-direction:column}.hero__glow{position:absolute;width:750px;height:750px;border-radius:50%;right:-280px;top:-280px;background:radial-gradient(circle,#51ad8140,transparent 68%)}.hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.07fr .93fr;align-items:center;gap:60px;flex:1;padding-top:80px;padding-bottom:70px}.eyebrow{text-transform:uppercase;font-weight:700;font-size:.72rem;letter-spacing:.16em;color:#34725e;margin-bottom:22px;display:flex;align-items:center;gap:10px}.eyebrow span{width:25px;height:1px;background:currentColor}.eyebrow--light{color:#9fc5b6}.hero h1{font-size:clamp(3.2rem,6.4vw,6.35rem);line-height:.99;margin-bottom:28px;max-width:800px}.hero h1 em{color:var(--lime);font-style:normal}.hero__lede{font-size:clamp(1.05rem,1.6vw,1.25rem);color:#b5c3be;max-width:640px;line-height:1.65}.hero__actions{display:flex;align-items:center;gap:30px;margin-top:38px}.text-link{font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:.9rem}.text-link--light{color:#fff}.hero__visual{height:510px;position:relative;display:grid;place-items:center}.core{width:180px;height:180px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--lime),#75c99d);box-shadow:0 0 100px #c9f15a26}.core svg{width:96px;fill:var(--forest)}.orbit{position:absolute;border:1px solid #ffffff38;border-radius:50%}.orbit--one{width:370px;height:370px}.orbit--two{width:510px;height:510px;border-style:dashed;animation:spin 40s linear infinite}.signal{position:absolute;padding:8px 14px;border:1px solid #ffffff2e;background:#0e2d25bf;backdrop-filter:blur(8px);border-radius:30px;font-size:.75rem;font-weight:700;color:#dce8e3}.signal--1{top:12%;left:18%}.signal--2{top:30%;right:1%}.signal--3{bottom:21%;left:1%}.signal--4{bottom:8%;right:20%}.hero__note{position:absolute;bottom:38%;right:27%;transform:translate(50%,110px);font-size:.7rem;color:#9fc5b6}.pulse{display:inline-block;width:7px;height:7px;background:var(--lime);border-radius:50%;margin-right:7px;box-shadow:0 0 0 5px #c9f15a1a}.hero__foot{min-height:65px;display:flex;align-items:center;gap:25px;border-top:1px solid #ffffff1f;color:#8fa39b;text-transform:uppercase;font-size:.65rem;letter-spacing:.14em}.hero__foot i{width:3px;height:3px;background:var(--lime);border-radius:50%}@keyframes spin{to{transform:rotate(360deg)}}.section{padding:120px 0}.intro__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:11%;align-items:start}.intro__copy{padding-top:47px}.intro__copy .lead{font-size:1.48rem;color:var(--ink);line-height:1.5}.intro__copy>p:not(.lead){color:var(--muted);max-width:560px;margin:25px 0}.section--mist{background:var(--mist)}.section-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:12%;align-items:end;margin-bottom:55px}.section-heading>p{color:var(--muted);margin-bottom:5px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{position:relative;padding:42px 45px;background:#ffffff7a;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:390px;transition:.3s}.service-card:hover{background:#fff;transform:translateY(-4px);box-shadow:0 20px 60px #14372c14;z-index:2}.service-card__number{position:absolute;right:28px;top:25px;color:#89958f;font-size:.72rem}.icon-box{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#d9e5dc;color:#18533e;font-size:1.4rem;margin-bottom:55px}.service-card p{color:var(--muted);max-width:430px}.service-card ul{list-style:none;padding:0;margin:25px 0 0;display:flex;gap:7px;flex-wrap:wrap}.service-card li{background:#e3ebe4;border-radius:20px;padding:5px 11px;font-size:.7rem;font-weight:600}.expertise__grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.expertise__panel{background:#153e34;color:#fff;border-radius:var(--radius);padding:65px 55px;min-height:620px;display:flex;flex-direction:column;justify-content:center}.expertise__panel h2{font-size:clamp(2.2rem,4vw,3.75rem)}.expertise__panel>p:not(.eyebrow){color:#abc0b9;max-width:480px;margin:26px 0}.tech-cloud{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.tech-cloud span{border:1px solid #ffffff33;border-radius:40px;padding:9px 14px;font-size:.74rem}.expertise__copy h3{font-size:clamp(2rem,4vw,3.15rem);margin-bottom:40px}.principle{display:grid;grid-template-columns:45px 1fr;gap:16px;border-top:1px solid var(--line);padding:25px 0}.principle b{font-size:.7rem;color:#447363}.principle h4{font-size:1.03rem;margin-bottom:7px}.principle p{color:var(--muted);margin:0;font-size:.92rem}.section--dark{background:#0d2821;color:#fff}.section-heading--dark>p{color:#9bada7}.industry-list{border-top:1px solid #ffffff2b}.industry{display:grid;grid-template-columns:60px 1fr 1fr 30px;gap:25px;align-items:center;padding:33px 5px;border-bottom:1px solid #ffffff2b;transition:.2s}.industry:hover{padding-left:18px;background:#ffffff08}.industry>span{font-size:.7rem;color:var(--lime)}.industry h3,.industry p{margin:0}.industry p{color:#91a59d;font-size:.9rem}.industry i{font-style:normal;color:var(--lime)}.process__heading{max-width:680px;margin-bottom:70px}.process__steps{display:grid;grid-template-columns:repeat(4,1fr);position:relative}.process__steps:before{content:"";height:1px;background:var(--line);position:absolute;left:0;right:0;top:14px}.process__steps article{position:relative;padding-right:30px}.process__steps b{display:grid;place-items:center;width:29px;height:29px;background:var(--lime);border-radius:50%;font-size:.65rem;position:relative;margin-bottom:35px}.process__steps h3{font-size:1.2rem}.process__steps p{color:var(--muted);font-size:.88rem}.contact{background:#25624f;color:#fff;padding:115px 0}.contact__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:start}.contact__copy h2{font-size:clamp(2.5rem,5vw,4.6rem)}.contact__copy>p:not(.eyebrow){color:#c1d2cc;font-size:1.07rem}.office-card{display:flex;gap:17px;padding-top:28px;margin-top:38px;border-top:1px solid #ffffff2e}.office-card__icon{width:42px;height:42px;border-radius:50%;background:var(--lime);color:var(--forest);display:grid;place-items:center;flex:0 0 auto}.office-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#abc8be}.office-card address{font-size:.82rem;margin:7px 0;line-height:1.55}.office-card a{font-size:.75rem;color:var(--lime);font-weight:700}.contact-form{background:#fff;color:var(--ink);padding:42px;border-radius:var(--radius)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:block;font-size:.75rem;font-weight:700;margin-bottom:20px}.contact-form small{font-weight:400;color:#7b8883}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #b9c1be;padding:12px 0;background:transparent;border-radius:0;outline:none;color:var(--ink);font-weight:400}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#277156}.contact-form textarea{resize:vertical}.contact-form [aria-invalid=true]{border-color:#ba3b3b}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:25px}.form-footer p{margin:0;color:#718079;font-size:.7rem;max-width:260px}.form-footer .button{flex-shrink:0}.form-footer .success{color:#237352;font-weight:700}.footer{background:var(--forest);color:#c2cec9;padding:65px 0 26px}.footer__top{display:grid;grid-template-columns:1fr 1fr 1.2fr;align-items:start;padding-bottom:55px}.brand--footer{color:#fff}.footer__top>p{font:600 1.35rem/1.4 var(--display);color:#fff}.footer nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:.83rem}.footer nav a:hover{color:var(--lime)}.footer__bottom{border-top:1px solid #ffffff26;padding-top:25px;display:flex;justify-content:space-between;font-size:.72rem;color:#80968d}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.orbit--two{animation:none}}
@media(max-width:900px){.site-nav{display:none;position:fixed;inset:119px 0 0;background:#fff;padding:30px 24px;flex-direction:column;align-items:flex-start;font-size:1.25rem}.site-nav.open{display:flex}.nav-toggle{display:block}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero__grid{grid-template-columns:1fr;padding-top:70px}.hero__visual{height:400px}.hero{min-height:auto}.intro__grid,.expertise__grid,.contact__grid{grid-template-columns:1fr}.intro__copy{padding-top:0}.section-heading{grid-template-columns:1fr;gap:25px}.expertise__grid{gap:60px}.process__steps{grid-template-columns:1fr 1fr;gap:50px 20px}.process__steps:before{display:none}.industry{grid-template-columns:45px 1fr 25px}.industry p{display:none}.footer__top{grid-template-columns:1fr 1fr;gap:35px}.footer__top nav{grid-column:1/-1}.section{padding:90px 0}}
@media(max-width:600px){.container{width:min(100% - 32px,1180px)}.announcement__inner span{display:none}.announcement__inner{justify-content:center}.site-header{height:72px}.site-nav{inset:109px 0 0}.hero__grid{padding-top:55px;gap:15px}.hero h1{font-size:3.05rem}.hero__lede{font-size:1rem}.hero__actions{align-items:flex-start;flex-direction:column}.hero__visual{height:340px;transform:scale(.84);margin-inline:-30px}.hero__foot{gap:12px;overflow:hidden;white-space:nowrap}.hero__foot span:last-child,.hero__foot i:last-of-type{display:none}.section{padding:75px 0}.service-grid{grid-template-columns:1fr}.service-card{padding:32px 27px;min-height:350px}.expertise__panel{padding:45px 27px;min-height:560px}.process__steps{grid-template-columns:1fr}.process__steps article{padding-left:45px}.process__steps b{position:absolute;left:0;margin:0}.contact{padding:75px 0}.contact-form{padding:29px 22px}.form-row{grid-template-columns:1fr;gap:0}.form-footer{align-items:stretch;flex-direction:column}.footer__top{grid-template-columns:1fr}.footer__top nav{grid-column:auto}.footer__bottom{gap:20px;flex-direction:column}.industry{padding:25px 0}}
.brand__mark{width:39px;height:39px;object-fit:cover;border-radius:7px}
.hero{min-height:calc(100vh - 82px)}
.contact-details{display:grid;gap:10px;margin-top:30px}.contact-details a{display:flex;flex-direction:column;padding:10px 0;border-bottom:1px solid #ffffff2e}.contact-details span{color:#abc8be;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.contact-details strong{color:#fff;font-size:.95rem;letter-spacing:0}.contact-details a:hover strong{color:var(--lime)}
@media(max-width:900px){.site-nav{inset:82px 0 0}}
@media(max-width:600px){.site-nav{inset:72px 0 0}}
.core img{width:132px;height:132px;object-fit:cover;border-radius:18px;box-shadow:0 18px 45px #071b1745}
.contact__grid{grid-template-columns:1fr 1fr;gap:70px}.office-list{display:grid;gap:0;margin-top:30px}.office-list .office-card{margin-top:0;padding:22px 0}.office-list .office-card:first-child{border-top:1px solid #ffffff2e}
.contact-details a,.office-card>div:last-child{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.contact-details span,.contact-details strong,.office-card span,.office-card address,.office-card a{display:block;width:100%}.office-card address{max-width:100%}.office-list{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}.office-list .office-card:first-child{border-top:1px solid #ffffff2e}
@media(max-width:900px){.contact__grid{grid-template-columns:1fr;gap:55px}.contact-form{width:100%;max-width:700px}.office-list{grid-template-columns:1fr;column-gap:0}}
.contact{background:linear-gradient(135deg,#1c5b49 0%,#256b56 100%);padding:125px 0 135px}.contact__grid{align-items:start}.contact__copy{padding-top:8px}.contact__copy h2{max-width:650px;font-size:clamp(2.7rem,5vw,4.7rem);letter-spacing:-.06em}.contact__copy>p:not(.eyebrow){max-width:560px}.contact-details{max-width:555px;grid-template-columns:repeat(3,1fr);gap:0;margin-top:34px}.contact-details a{padding:14px 18px 14px 0;margin-right:18px;border-bottom:1px solid #ffffff3d}.office-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:40px}.office-list .office-card,.office-list .office-card:first-child{height:100%;margin:0;padding:22px 20px;border:1px solid #ffffff26;border-radius:12px;background:#103a2f45}.office-card{gap:13px}.office-card__icon{width:34px;height:34px;font-size:.9rem}.office-card address{font-size:.78rem}.contact-form{background:#f7f8f2!important;border:1px solid #ffffffa8;box-shadow:0 24px 70px #09251d45;padding:46px;border-radius:20px}.contact-form input,.contact-form select,.contact-form textarea{border-bottom-color:#a8b5ae}.form-footer{margin-top:10px}
@media(max-width:900px){.contact{padding:90px 0}.contact-details{max-width:none}.office-list{gap:14px}}
@media(max-width:600px){.contact-details{grid-template-columns:1fr}.contact-details a{margin-right:0}.office-list{grid-template-columns:1fr}.contact-form{padding:30px 22px}}
:root{color-scheme:light}
.contact__grid{grid-template-columns:1.08fr .92fr;gap:64px}.office-list{gap:0;margin-top:42px;border-top:1px solid #ffffff38}.office-list .office-card,.office-list .office-card:first-child{position:relative;height:auto;padding:25px 28px 8px 0;border:0;border-radius:0;background:transparent}.office-list .office-card+ .office-card{padding-left:28px;padding-right:0;border-left:1px solid #ffffff38}.office-card__icon{width:28px;height:28px;margin-top:1px;background:transparent;border:1px solid #ffffff4a;color:var(--lime);font-size:.72rem}.office-card span{margin-bottom:8px;line-height:1.4}.office-card address{color:#eff7f3;font-size:.82rem;line-height:1.7;margin:0 0 10px}.office-card a{width:auto;color:#d4f777;font-size:.73rem}
@media(max-width:900px){.contact__grid{grid-template-columns:1fr}.office-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.office-list{grid-template-columns:1fr}.office-list .office-card,.office-list .office-card:first-child{padding:22px 0}.office-list .office-card+ .office-card{padding-left:0;border-left:0;border-top:1px solid #ffffff38}}
.office-card__icon{font-size:0}.office-card__icon::before{content:"";display:block;width:15px;height:15px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23c9f15a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5' fill='none' stroke='%23c9f15a' stroke-width='2'/%3E%3C/svg%3E")}
.contact-details{gap:34px;margin-top:44px}.contact-details a{position:relative;margin:0;padding:0 0 0 15px;border:0}.contact-details a::before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--lime)}.contact-details span{margin-bottom:6px;color:#a8cbbf;font-size:.65rem}.contact-details strong{font-size:1rem;line-height:1.4}.office-list{gap:44px;margin-top:58px;padding:0;border:0}.office-list .office-card,.office-list .office-card:first-child,.office-list .office-card+ .office-card{padding:0;border:0;background:transparent}.office-card{align-items:flex-start;gap:15px}.office-card__icon{width:30px;height:30px;flex:0 0 30px;border-color:#9bc5b6}.office-card span{color:#b8d5cb;font-size:.66rem;letter-spacing:.14em}.office-card address{max-width:260px;color:#fff;font-size:.8rem;line-height:1.75}.office-card a{margin-top:2px;padding-bottom:2px;border-bottom:1px solid #c9f15a70;font-size:.72rem;transition:.2s}.office-card a:hover{border-color:var(--lime)}
@media(max-width:600px){.contact-details{gap:22px}.office-list{gap:0;margin-top:42px}.office-list .office-card,.office-list .office-card:first-child,.office-list .office-card+ .office-card{padding:22px 0}.office-list .office-card+ .office-card{border-top:1px solid #ffffff24}}
