
:root{--forest:#0E2420;--forest2:#13302A;--heritage:#1A3A33;--exec:#2C5849;--brand:#16504A;
--sage:#9DAF8B;--olive:#5F7350;--olive-l:#7E9472;--sagelt:#EAEFE1;--stone:#E9E3D6;--ink:#16221D;--mute:#5b6a62;--muted:#C2CDC2;--teal:#34C98A;--line:rgba(157,175,139,.18);--linel:rgba(20,34,25,.12);
--ff:"Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--ff);background:var(--sagelt);color:var(--ink);-webkit-font-smoothing:antialiased}
.wrap{max-width:1340px;margin:0 auto;padding:0 44px}
h1,h2,h3{font-weight:300;letter-spacing:-.02em;margin:0}
.ey{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--teal);font-weight:500}
.ey.d{color:var(--olive)}

/* NAV */
header.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:.3s;border-bottom:1px solid transparent}
header.nav.scr{background:rgba(14,36,32,.9);backdrop-filter:blur(14px);border-color:var(--line)}
.navin{max-width:1340px;margin:0 auto;padding:22px 44px;display:flex;align-items:center;justify-content:space-between}
.wm{height:30px;width:auto;display:block}
.menu{display:flex;align-items:center;gap:34px}
.menu a{color:var(--muted);text-decoration:none;font-size:14px;letter-spacing:.02em;transition:.2s;position:relative;padding:6px 0}
.menu a:hover{color:#fff}
.has{position:relative}
.has>a::after{content:"";display:inline-block;width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-left:7px;vertical-align:1px}
.drop{position:absolute;top:100%;left:-18px;background:rgba(14,36,32,.97);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:12px;padding:10px;min-width:230px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}
.has:hover .drop{opacity:1;visibility:visible;transform:translateY(4px)}
.drop a{display:block;padding:11px 14px;border-radius:8px;color:var(--muted);font-size:14px}
.drop a:hover{background:rgba(52,201,138,.1);color:#fff}
.menu a.navbtn{display:inline-flex;align-items:center;background:var(--teal);color:var(--forest)!important;padding:12px 24px;border-radius:4px;font-weight:600;font-size:13.5px;letter-spacing:.03em;transition:transform .28s ease,background .28s ease}
.menu a.navbtn:hover{background:#3fd699;color:var(--forest)!important;transform:translateY(-2px)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer}
.burger span{width:26px;height:2px;background:#fff}

/* HERO */
.hero{position:relative;min-height:100vh;background:radial-gradient(130% 120% at 16% 34%,#173f37,var(--forest) 62%);display:flex;align-items:center;overflow:hidden}
.hero .hero-c{max-width:1340px;margin:0 auto;padding:150px 44px 92px;width:100%;position:relative;z-index:2}.hero .hero-t{max-width:540px}
.hero .eyrow{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.hero .eyrow .ln{height:1px;width:52px;background:var(--teal);opacity:.6}
.hero h1{font-size:clamp(42px,5vw,78px);line-height:1.02;color:var(--sagelt);max-width:15ch}
.hero .sub{font-size:clamp(17px,1.4vw,20px);font-weight:300;line-height:1.65;color:var(--muted);max-width:500px;margin:30px 0 0}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;margin:44px 0 0}
.btn{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;padding:17px 30px;border-radius:9px;text-decoration:none;transition:.25s;cursor:pointer;border:1px solid transparent}
.btn.p{background:var(--teal);color:var(--forest)}
.btn.p:hover{background:#4fd79c;transform:translateY(-2px)}
.btn.g{border-color:var(--line);color:var(--sagelt)}
.btn.g:hover{border-color:var(--teal);color:var(--teal);transform:translateY(-2px)}
.hero .trust{margin-top:64px;padding-top:26px;border-top:1px solid var(--line);color:var(--sage);font-size:13px;letter-spacing:.03em}
.hero .trust b{color:var(--sagelt);font-weight:500}
.hero .hero-img{position:absolute;top:0;bottom:0;right:0;left:52%;background:linear-gradient(135deg,var(--heritage),var(--exec))}
.hero .hero-img .imgph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:rgba(234,239,225,.5)}
.hero .hero-img .imgph svg{width:40px;height:40px}
.hero .hero-img .imgph span{font-size:12px;letter-spacing:.2em;text-transform:uppercase}

/* SECTION base */
section.s{padding:120px 0}
.s.dark{background:var(--forest);color:var(--sagelt)}
.s.dark2{background:var(--forest2);color:var(--sagelt)}
.h2{font-size:clamp(30px,3.6vw,50px);line-height:1.1}
.dark .h2,.dark2 .h2{color:var(--sagelt)}
.lead{font-size:clamp(16px,1.3vw,19px);font-weight:300;line-height:1.7;color:var(--mute);max-width:620px;margin:22px 0 0}
.dark .lead,.dark2 .lead{color:var(--muted)}
.shead{max-width:760px;margin-bottom:8px}

/* STATS band */
.statband{background:var(--ink);color:var(--sagelt)}
.statgrid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:40px;align-items:center}
.statgrid .hook h2{font-size:clamp(24px,2.4vw,33px);color:var(--sagelt);line-height:1.2}
.statgrid .st .n{font-size:clamp(34px,3.6vw,52px);color:var(--teal);font-weight:300;line-height:1}
.statgrid .st .l{margin-top:10px;font-size:13px;color:var(--muted);line-height:1.5}

/* SECTORS */
.two{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:56px}
.scard{background:#DDE7D4;border-radius:4px;overflow:hidden;border:1px solid rgba(95,115,80,.28);transition:.3s}
.scard:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(20,34,25,.1)}
.scard .top{height:190px;background:linear-gradient(135deg,var(--heritage),var(--exec));display:flex;align-items:center;justify-content:center;color:rgba(234,239,225,.45)}
.scard .top svg{width:34px;height:34px}
.scard .bd{padding:34px 34px 38px}
.scard h3{font-size:26px;color:var(--ink)}
.scard p{font-size:15px;line-height:1.65;color:var(--mute);margin:12px 0 0}
.scard .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.tag{font-size:12px;color:var(--olive);border:1px solid var(--linel);border-radius:999px;padding:6px 13px}
.scard .go{margin-top:24px;display:inline-block;color:var(--teal);font-weight:600;font-size:14px;text-decoration:none}

/* SERVICES rows */
.srow{display:grid;grid-template-columns:80px 1fr 340px;gap:40px;padding:46px 0;border-top:1px solid var(--line);align-items:start}
.srow:last-child{border-bottom:1px solid var(--line)}
.srow .num{font-size:clamp(34px,4vw,58px);color:var(--olive-l);font-weight:300;line-height:.9}
.srow h3{font-size:clamp(23px,2.5vw,34px);color:var(--sagelt)}
.srow p{font-size:15.5px;line-height:1.7;color:var(--muted);font-weight:300;margin:12px 0 0;max-width:520px}
.srow .rt{display:grid;grid-template-columns:1fr 1fr;gap:9px 8px;align-content:start}
.srow .rt .tag{color:var(--sage);border-color:var(--line);justify-self:start;white-space:nowrap;font-size:12px;padding:7px 12px}

/* WHY cols */
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:56px}
.wc .ic{width:30px;height:30px;color:var(--teal);margin-bottom:20px}.wc .wn{display:block;font-family:inherit;font-size:13px;letter-spacing:.15em;color:var(--teal);padding-bottom:15px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.wc h3{font-size:21px;color:var(--sagelt);margin-bottom:10px}
.wc p{font-size:15px;line-height:1.65;color:var(--muted)}

/* TESTIMONIALS */
.tset{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}.tmarquee{margin-top:56px;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.ttrack{display:flex;width:max-content;animation:tscroll 120s linear infinite}.ttrack .tq{flex:0 0 460px;width:460px;margin:0 26px 0 0;padding:42px 38px}.ttrack .tq p{font-size:18px;line-height:1.62}.ttrack .tq .w b{font-size:16px}.tmarquee:hover .ttrack{animation-play-state:paused}.tmarquee .tq,.tmarquee .tq.reveal{opacity:1!important;transform:none!important;transition:none!important}@keyframes tscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.ttrack{animation:none}.tmarquee{overflow-x:auto}}@media (max-width:640px){.ttrack .tq{flex:0 0 300px;width:300px}}@media (max-width:400px){.wm{height:18px}.navin{padding:14px 16px}}
.tq{background:#DDE7D4;border:1px solid rgba(95,115,80,.28);border-radius:4px;padding:34px 30px}
.tq .mk{font-size:46px;color:var(--olive-l);height:24px;line-height:.7}
.tq p{font-size:15.5px;line-height:1.6;color:#3c4b45;font-weight:300;margin:0 0 22px}
.tq .w b{display:block;color:var(--ink);font-size:14px;font-weight:600}
.tq .w span{color:var(--olive);font-size:13px}

/* FAQ */
.faqtabs{display:flex;gap:10px;margin-top:10px}
.faqtabs button{background:none;border:1px solid var(--linel);color:var(--mute);padding:11px 24px;border-radius:999px;cursor:pointer;font-family:inherit;font-size:14px;transition:.2s}
.faqtabs button.on{background:var(--olive);color:#fff;border-color:var(--olive)}
.fp{margin-top:34px;max-width:840px}
.fp[hidden]{display:none}
.fq{border-top:1px solid var(--linel);padding:22px 0}
.fq h4{font-size:18px;font-weight:400;color:var(--ink);margin:0 0 8px}
.fq p{font-size:15px;line-height:1.6;color:var(--mute);margin:0}

/* CTA */
.cta-final{background:radial-gradient(120% 130% at 50% 0%,var(--brand),var(--forest) 70%);color:var(--sagelt);text-align:center}
.cta-final h2{font-size:clamp(30px,4vw,52px);color:var(--sagelt);max-width:16ch;margin:0 auto}
.cta-final .lead{margin:22px auto 0;color:var(--muted)}
.cta-final .cta{justify-content:center;margin-top:38px;display:flex;gap:14px;flex-wrap:wrap}

/* FOOTER */
footer{background:#0a1a16;color:var(--muted);padding:80px 0 34px}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
.fgrid .wm{height:26px;margin-bottom:20px}
.fcol h4{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);margin:0 0 18px}
.fcol a{display:block;color:var(--muted);text-decoration:none;font-size:14px;margin-bottom:12px}
.fcol a:hover{color:var(--teal)}
.fbar{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:60px;padding-top:26px;border-top:1px solid var(--line);font-size:12.5px}

@media(max-width:960px){
.menu{display:none} .burger{display:flex}
.navin{padding:16px 20px}.wm{height:22px}
.hero .hero-img{left:0;opacity:.16} .hero .hero-c{padding:130px 24px 80px} .hero .hero-t{max-width:100%}
.statgrid{grid-template-columns:1fr 1fr;gap:30px} .two,.three,.tset{grid-template-columns:1fr}
.srow{grid-template-columns:1fr;gap:14px} .fgrid{grid-template-columns:1fr 1fr} .wrap{padding:0 24px} section.s{padding:80px 0}
}

/* cursor glow */
.cursor-glow{position:fixed;top:0;left:0;width:640px;height:640px;border-radius:50%;pointer-events:none;z-index:9999;background:radial-gradient(circle,rgba(52,201,138,.14),rgba(52,201,138,0) 60%);mix-blend-mode:screen;opacity:0;transition:opacity .5s;will-change:transform}
@media(hover:none){.cursor-glow{display:none}}
/* scroll reveal */
.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
/* bigger standout stat numbers */
.statgrid .st .n{font-size:clamp(44px,4.6vw,68px)!important;font-weight:300}
.statband{padding:110px 0!important}


/* hero aurora */
.hero .aurora{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.hero .aurora span{position:absolute;border-radius:50%;filter:blur(72px);opacity:.55;animation:drift 20s ease-in-out infinite}
.hero .aurora span:nth-child(1){width:440px;height:440px;background:rgba(52,201,138,.16);top:-6%;left:6%}
.hero .aurora span:nth-child(2){width:380px;height:380px;background:rgba(44,120,90,.4);bottom:-12%;left:26%;animation-delay:-7s}
.hero .aurora span:nth-child(3){width:320px;height:320px;background:rgba(52,201,138,.1);top:16%;right:24%;animation-delay:-13s}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(46px,-34px) scale(1.08)}66%{transform:translate(-32px,28px) scale(.96)}}
.hero .hero-img{z-index:1}
/* marquee */
.ticker{background:var(--forest2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:22px 0}
.track{display:flex;width:max-content;white-space:nowrap;animation:marq 40s linear infinite}
.ticker:hover .track{animation-play-state:paused}
.track .m{font-size:15px;letter-spacing:.03em;color:var(--sage);padding:0 34px;position:relative;display:inline-flex;align-items:center}
.track .m::after{content:"";width:4px;height:4px;border-radius:50%;background:var(--teal);opacity:.55;margin-left:34px}
@keyframes marq{to{transform:translateX(-50%)}}
/* card spotlight */
.scard,.tq{position:relative;overflow:hidden}
.scard::after,.tq::after{content:"";position:absolute;inset:0;background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(52,201,138,.13),transparent 62%);opacity:0;transition:opacity .35s;pointer-events:none;z-index:3}
.scard:hover::after,.tq:hover::after{opacity:1}
/* nav underline */
.menu a{position:relative}
.menu>a:not(.navbtn)::after{content:"";position:absolute;left:0;bottom:-3px;height:1.5px;width:0;background:var(--teal);transition:width .25s}
.menu>a:not(.navbtn):hover::after{width:100%}

/* magnetic buttons transition */
.btn{will-change:transform}


/* FAQ accordion */
.acc{border-top:1px solid var(--line)}
.fp .acc:last-child{border-bottom:1px solid var(--line)}
.acc-q{width:100%;text-align:left;background:none;border:0;cursor:pointer;font-family:inherit;color:var(--sagelt);font-size:18px;font-weight:400;padding:26px 8px 26px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;transition:color .2s}
.acc-q:hover{color:var(--teal)}
.acc-i{position:relative;width:16px;height:16px;flex:none}
.acc-i::before,.acc-i::after{content:"";position:absolute;background:var(--teal);transition:.3s;border-radius:2px}
.acc-i::before{top:7px;left:0;width:16px;height:2px}
.acc-i::after{left:7px;top:0;width:2px;height:16px}
.acc.open .acc-i::after{transform:scaleY(0)}
.acc.open .acc-q{color:var(--teal)}
.acc-a{max-height:0;overflow:hidden;transition:max-height .38s ease}
.acc-a p{margin:0 0 28px;font-size:15.5px;line-height:1.7;color:var(--muted);max-width:760px}

.skiplink{position:absolute;left:12px;top:-60px;z-index:9999;background:#34C98A;color:#0E2420;padding:10px 16px;border-radius:6px;font-weight:600;text-decoration:none;transition:top .2s ease}.skiplink:focus{top:12px;outline:2px solid #0E2420}.subhero .crumb,.phero .crumb{color:var(--sage)!important;opacity:.92}.subhero .crumb a,.phero .crumb a{color:var(--sagelt)!important}.subhero .tag{color:var(--sage)!important;border-color:var(--line)!important;background:transparent!important}
@keyframes dashflow{to{stroke-dashoffset:-34}}
@keyframes nglow{0%,100%{opacity:.9}50%{opacity:.32}}
.hero-map .arc{stroke-dasharray:6 11;animation:dashflow 2.9s linear infinite}
.hero-map .nglow{animation:nglow 3.6s ease-in-out infinite}
.hero-map{position:absolute;inset:0;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 34%,#000 60%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 34%,#000 60%)}
.hero-map svg{position:absolute;top:50%;left:35%;transform:translateY(-50%);width:80%;height:auto;opacity:.72}
.hero-map{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 48%);mask-image:linear-gradient(180deg,transparent 0%,#000 48%)}
.hero-map svg{left:2%;top:32%;width:150%;opacity:.32}
/* minimal & premium: calmer map, more air */
.hero-map svg{opacity:.46!important;transition:transform .5s ease-out}
.hero-map .arc{animation-duration:6s!important;opacity:.38!important}
.hero-map .nglow{opacity:.5!important}
.hglow{position:absolute;width:540px;height:540px;border-radius:50%;pointer-events:none;z-index:2;left:0;top:0;transform:translate(-50%,-50%);opacity:0;transition:opacity .45s;background:radial-gradient(circle,rgba(52,201,138,.16),rgba(52,201,138,0) 60%)}
.hero-map{z-index:1}
.hero-map .nglow{transition:opacity .2s}
.hero-map .nglow.lit{animation:none;opacity:1;transform-box:fill-box;transform-origin:center;transform:scale(1.8)}
/* global cursor glow (whole page) */
.hglow{display:none!important}
.heroB{position:relative;min-height:100vh;background:radial-gradient(120% 130% at 78% 12%,#17423b,var(--forest) 64%);overflow:hidden;display:flex;align-items:center}.heroB .ticker{position:absolute;left:0;right:0;bottom:0;z-index:4;margin:0}
.heroB .aurora{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.heroB .map{position:absolute;inset:0;z-index:0;opacity:.34;transition:transform .5s ease-out;-webkit-mask-image:radial-gradient(70% 75% at 82% 36%,#000,transparent);mask-image:radial-gradient(70% 75% at 82% 36%,#000,transparent)}
.heroB .map svg{position:absolute;top:46%;left:70%;transform:translate(-50%,-50%);width:70%;height:auto}
.heroB .map .arc{stroke-dasharray:6 11;opacity:.4;animation:dashflow 6s linear infinite}
.heroB .map .nglow{opacity:.55;transition:opacity .2s ease-out;animation:nglow 3.6s ease-in-out infinite}
.heroB .map .nglow.lit{animation:none;opacity:1;transform-box:fill-box;transform-origin:center;transform:scale(1.8)}
.heroB .in{position:relative;z-index:2;max-width:1340px;margin:0 auto;padding:0 44px;width:100%}
.heroB .eyb{color:var(--teal);font-size:12px;letter-spacing:.24em;text-transform:uppercase;margin:0 0 30px}
.heroB h1{font-size:clamp(52px,8.5vw,124px);line-height:.95;letter-spacing:-.03em;color:var(--sagelt);margin:0;font-weight:300}
.heroB .sub{font-size:clamp(16px,1.5vw,20px);color:var(--muted);font-weight:300;max-width:600px;margin:32px 0 40px;line-height:1.6}
.heroB .cta{display:flex;gap:14px;flex-wrap:wrap}
.heroB h1 .ln{display:block;overflow:hidden;padding:0 0 .14em;margin-bottom:-.14em}
.heroB h1 .ln:nth-child(1){margin-left:-.045em}
.heroB h1 .ln .rvl{display:block;transform:translateY(120%)}
@keyframes riseMask{from{transform:translateY(120%)}to{transform:translateY(0)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}
.js .heroB h1 .ln .rvl{animation:riseMask 1.1s cubic-bezier(.16,1,.3,1) forwards}
.js .heroB h1 .ln:nth-child(1) .rvl{animation-delay:.15s}
.js .heroB h1 .ln:nth-child(2) .rvl{animation-delay:.33s}
.js .heroB h1 .ln:nth-child(3) .rvl{animation-delay:.51s}
.js .heroB .eyb,.js .heroB .sub,.js .heroB .cta{opacity:0;animation:fadeUp .9s cubic-bezier(.2,.7,.2,1) forwards}
.js .heroB .eyb{animation-delay:.05s}
.js .heroB .sub{animation-delay:.9s}
.js .heroB .cta{animation-delay:1.05s}
@media(prefers-reduced-motion:reduce){.js .heroB h1 .ln .rvl{transform:none;animation:none}.js .heroB .eyb,.js .heroB .sub,.js .heroB .cta{opacity:1;animation:none}}
@media(max-width:600px){.heroB .in{padding:0 24px}.heroB .map{opacity:.22}}


.phero{position:relative;overflow:hidden;padding:190px 0 100px;background:radial-gradient(130% 120% at 78% -10%,#173f37,var(--forest) 62%);color:var(--sagelt)}
.phero .aurora{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.phero .aurora span{position:absolute;border-radius:50%;filter:blur(72px);opacity:.5;animation:drift 20s ease-in-out infinite}
.phero .aurora span:nth-child(1){width:400px;height:400px;background:rgba(52,201,138,.14);top:-6%;right:10%}
.phero .aurora span:nth-child(2){width:340px;height:340px;background:rgba(44,120,90,.4);bottom:-14%;right:28%;animation-delay:-8s}
.phero .wrap{position:relative;z-index:2}
.phero .crumb{font-size:13px;letter-spacing:.03em;color:var(--sage);margin-bottom:16px}
.phero .crumb a{color:var(--sage);text-decoration:none}.phero .crumb a:hover{color:var(--teal)}
.phero h1{font-size:clamp(40px,5vw,72px);line-height:1.03;max-width:15ch;color:var(--sagelt)}
.phero .intro{font-size:clamp(17px,1.4vw,20px);font-weight:300;line-height:1.65;color:var(--muted);max-width:600px;margin:26px 0 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split .simg{min-height:400px;border-radius:4px;background:linear-gradient(135deg,var(--heritage),var(--exec));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:rgba(234,239,225,.5)}
.split .simg svg{width:38px;height:38px}.split .simg span{font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.subgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.subc{border:1px solid var(--line);border-radius:4px;padding:30px 28px;background:rgba(255,255,255,.02);transition:.3s;position:relative;overflow:hidden}
.subc::after{content:"";position:absolute;inset:0;background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%),rgba(52,201,138,.12),transparent 62%);opacity:0;transition:.35s;pointer-events:none}
.subc:hover{border-color:rgba(52,201,138,.4);transform:translateY(-5px)}.subc:hover::after{opacity:1}
.subc h3{font-size:19px;color:var(--sagelt);margin:0 0 9px;font-weight:400}
.subc p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.rt2{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:52px}
.rt2 h4{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin:0 0 8px}
.rt2 ul{list-style:none;margin:0;padding:0}
.rt2 li{padding:14px 0;border-top:1px solid var(--line);color:var(--sagelt);font-size:15.5px}
.mv{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:52px}
.mv .m .mn{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--olive);margin-bottom:12px}
.mv .m p{font-size:15.5px;line-height:1.6;color:#3c4b45;margin:0}
.proofband{background:radial-gradient(120% 130% at 30% 0%,#18443C,var(--forest) 62%);text-align:center}
.proofband .q{font-family:var(--ff);font-weight:300;font-size:clamp(24px,3vw,40px);line-height:1.25;color:var(--sagelt);max-width:900px;margin:0 auto;letter-spacing:-.01em}
.proofband .m{margin-top:20px;color:var(--teal);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
@media(max-width:900px){.split,.rt2{grid-template-columns:1fr;gap:30px}.subgrid,.mv{grid-template-columns:1fr}.phero{padding:140px 0 70px}}

.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px}
.sbox{background:#DDE7D4;border:1px solid rgba(95,115,80,.28);border-radius:12px;padding:26px 24px;cursor:pointer;transition:transform .25s,border-color .25s,box-shadow .25s;position:relative}
.sbox:hover{transform:translateY(-4px);border-color:rgba(52,201,138,.55);box-shadow:0 16px 34px rgba(20,34,25,.08)}
.sbox h3{font-size:19px;color:var(--ink);margin:0 0 8px;font-weight:400}
.sbox p{font-size:13.5px;color:#51605a;line-height:1.55;margin:0;padding-right:18px}
.sbox .ar{position:absolute;top:24px;right:22px;color:var(--olive);opacity:0;transition:.25s;font-size:16px}
.sbox:hover .ar{opacity:1;color:var(--teal)}
.smodal{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;padding:24px}
.smodal.open{display:flex}
.smodal .ov{position:absolute;inset:0;background:rgba(6,18,15,.74);backdrop-filter:blur(6px)}
.smodal .mbox{position:relative;z-index:2;max-width:600px;width:100%;background:radial-gradient(120% 130% at 20% 0%,#173f37,#13302A 70%);border:1px solid var(--line);border-radius:18px;padding:44px 42px;max-height:86vh;overflow:auto}
.smodal .close{position:absolute;top:16px;right:20px;background:none;border:0;color:var(--muted);font-size:26px;cursor:pointer;line-height:1}
.smodal .close:hover{color:#fff}
.smodal .mc{color:var(--teal);font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin:0 0 14px}
.smodal h3{font-weight:300;font-size:clamp(24px,3vw,32px);color:var(--sagelt);margin:0 0 16px}
.smodal .md{font-size:16px;line-height:1.75;color:var(--muted);font-weight:300;margin:0 0 26px}
.smodal .ml{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);margin:0 0 12px}
.smodal .mroles{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.smodal .mroles span{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:13px;color:var(--muted)}
.smodal .mroles.spec span{border-color:rgba(52,201,138,.35);color:var(--sage)}
.smodal .mcta{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}

@media(max-width:900px){.sgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sgrid{grid-template-columns:1fr}}






.rolewrap{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.rolechip{display:inline-flex;align-items:center;padding:11px 18px;border:1px solid var(--line);border-radius:999px;background:rgba(157,175,139,.06);color:var(--sage);font-size:14px;cursor:pointer;transition:.2s;text-decoration:none}.rolechip:hover{border-color:rgba(52,201,138,.5);color:#fff;transform:translateY(-2px)}.rolechip::after{content:"\2192";margin-left:9px;color:var(--teal);opacity:.75;font-size:13px}.subc.eco{cursor:pointer;position:relative;transition:transform .25s,border-color .25s}.subc.eco:hover{transform:translateY(-4px);border-color:rgba(52,201,138,.5)}.subc.eco .ar{position:absolute;top:18px;right:20px;color:var(--teal);opacity:0;transition:.25s;font-size:16px}.subc.eco:hover .ar{opacity:1}
.pillrow{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.ml2{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--olive);margin:38px 0 0}
.ml2:first-of-type{margin-top:44px}
.ml2.gap{margin-top:34px}
.pillrow span{border:1px solid var(--linel);border-radius:999px;padding:9px 16px;font-size:13.5px;color:var(--olive)}
.s.dark .pillrow span{border-color:var(--line);color:var(--sage)}
.subhero{position:relative;overflow:hidden;padding:200px 0 84px;background:radial-gradient(130% 120% at 74% -10%,#17423b,var(--forest) 62%)}
.subhero .wrap{max-width:1340px;margin:0 auto;padding:0 44px;position:relative;z-index:2}
.subhero h1{font-weight:300;letter-spacing:-.025em;font-size:clamp(40px,5.4vw,74px);line-height:1.05;color:var(--sagelt);margin:12px 0 0;max-width:18ch}
.subhero .intro{font-size:clamp(16px,1.35vw,20px);font-weight:300;line-height:1.7;color:var(--muted);max-width:640px;margin:24px 0 0}
.subhero .tag{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:12px;letter-spacing:.03em;color:var(--sage);margin-bottom:6px}
.trend3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}
.trend3 .tr{border-top:2px solid var(--olive-l);padding-top:20px}
.trend3 .tr h4{font-size:18px;color:var(--ink);margin:0 0 8px;font-weight:400}
.trend3 .tr p{font-size:14.5px;line-height:1.6;color:#51605a;margin:0}
.s.dark .trend3 .tr h4,.s.dark2 .trend3 .tr h4{color:var(--sagelt)}
.s.dark .trend3 .tr p,.s.dark2 .trend3 .tr p{color:var(--muted)}
.help3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.help3 .hc{border:1px solid var(--line);border-radius:8px;padding:30px 26px;background:rgba(255,255,255,.02)}
.help3 .hc .n{font-size:13px;color:var(--teal);letter-spacing:.15em;margin-bottom:14px}
.help3 .hc h4{font-size:20px;color:var(--sagelt);margin:0 0 9px;font-weight:400}
.help3 .hc p{font-size:14.5px;line-height:1.6;color:var(--muted);margin:0}
.secstat{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:12px}
.secstat .n{font-size:clamp(30px,3vw,44px);color:var(--olive);font-weight:300;line-height:1}
.secstat .l{font-size:13px;color:var(--mute);margin-top:8px}
@media(max-width:900px){.trend3,.help3,.secstat{grid-template-columns:1fr}}


.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:54px}
.step{padding:0 28px;position:relative}
.step:not(:first-child)::before{content:"";position:absolute;left:0;top:6px;width:1px;height:calc(100% - 6px);background:var(--line)}
.step .sn{font-size:14px;letter-spacing:.2em;color:var(--teal);margin-bottom:16px}
.step h4{font-size:19px;color:var(--sagelt);margin:0 0 10px;font-weight:400}
.step p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.incl{display:grid;grid-template-columns:1fr 1fr;gap:4px 48px;margin-top:48px;max-width:940px}
.incl .it{display:flex;gap:14px;align-items:flex-start;padding:18px 0;border-top:1px solid var(--line-l)}
.incl .it .ck{color:var(--teal);flex:none;margin-top:2px}
.incl .it h5{margin:0 0 4px;font-size:16px;color:var(--ink);font-weight:600}
.incl .it p{margin:0;font-size:14px;color:var(--mute);line-height:1.5}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr;gap:30px}.step{padding:0}.step::before{display:none}.incl{grid-template-columns:1fr}}


.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.vc2{background:#DDE7D4;border:1px solid rgba(95,115,80,.28);border-radius:4px;padding:30px 28px;position:relative;overflow:hidden;box-shadow:0 10px 26px rgba(20,34,25,.05)}
.vc2::before{content:"";position:absolute;top:0;left:0;width:40px;height:3px;background:var(--olive-l)}
.vc2 h3{font-size:20px;color:var(--ink);margin:0 0 9px;font-weight:400}
.vc2 p{font-size:14.5px;line-height:1.6;color:#51605a;margin:0}
.strap{font-size:clamp(20px,2.2vw,27px);font-weight:300;line-height:1.4;color:var(--ink);max-width:660px;margin:20px 0 0}
.tmgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:52px}
.tm .tmi{min-height:230px;border-radius:4px;margin-bottom:16px}
.tm .nm{font-size:19px;color:var(--sagelt);font-weight:400}
.tm .rl{font-size:12.5px;color:var(--teal);letter-spacing:.05em;margin-top:5px}
.dk3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}
.dk3 .wc2{border:1px solid var(--line);border-radius:4px;padding:32px 28px;background:rgba(255,255,255,.02)}
.dk3 .wc2 .ic{width:28px;height:28px;color:var(--teal);margin-bottom:18px}
.dk3 .wc2 h3{font-size:20px;color:var(--sagelt);margin:0 0 9px;font-weight:400}
.dk3 .wc2 p{font-size:14.5px;line-height:1.6;color:var(--muted);margin:0}
/* jobs */
.jf{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.jf button{background:none;border:1px solid var(--linel);color:var(--mute);padding:10px 20px;border-radius:999px;cursor:pointer;font-family:inherit;font-size:13.5px;transition:.2s}
.jf button.on{background:var(--olive);color:#fff;border-color:var(--olive)}
.jlist{margin-top:38px;display:flex;flex-direction:column;gap:14px}
.job{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;border:1px solid rgba(95,115,80,.28);border-radius:4px;padding:26px 30px;background:#DDE7D4;transition:.25s}
.job:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(20,34,25,.08)}
.job h3{font-size:20px;color:var(--ink);margin:0 0 12px;font-weight:400}
.job .meta{display:flex;flex-wrap:wrap;gap:8px}
.job .tag{color:var(--olive);border:1px solid var(--linel);border-radius:999px;padding:6px 13px;font-size:12px}
.job .tag.d{color:var(--teal);border-color:rgba(52,201,138,.4)}
/* insights */
.feat{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:stretch;margin-top:8px}
.feat .fi{min-height:340px;border-radius:4px}
.feat .fb{display:flex;flex-direction:column;justify-content:center}
.feat .fc{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin:0 0 14px}
.feat .ft{font-size:clamp(24px,2.8vw,38px);font-weight:300;line-height:1.14;color:var(--sagelt);margin:0}
.feat .fx{font-size:15.5px;line-height:1.7;color:var(--muted);margin:18px 0 0;font-weight:300}
.igrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px}
.ic{border:1px solid rgba(95,115,80,.28);border-radius:4px;overflow:hidden;background:#DDE7D4;transition:.3s;text-decoration:none;display:block}
.ic:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(20,34,25,.08)}
.ic .ib{height:150px}
.ic .ii{padding:24px 24px 28px}
.ic .icat{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--olive);margin:0 0 12px}
.ic .it{font-size:18px;line-height:1.35;color:var(--ink);margin:0;font-weight:400}
/* contact */
.cg{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:8px}
.cinfo .r{padding:22px 0;border-top:1px solid var(--linel)}
.cinfo .r .lb{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--olive);margin-bottom:8px}
.cinfo .r a,.cinfo .r span{color:var(--ink);font-size:18px;text-decoration:none}.cinfo .r a:hover{color:var(--teal)}
.cform{background:#DDE7D4;border:1px solid rgba(95,115,80,.28);border-radius:4px;padding:34px;box-shadow:0 12px 30px rgba(20,34,25,.05)}
.cform label{display:block;font-size:12px;letter-spacing:.05em;color:var(--olive);margin:16px 0 7px}
.cform input,.cform textarea,.cform select{width:100%;background:#fafbf8;border:1px solid var(--linel);border-radius:8px;padding:13px 15px;color:var(--ink);font-family:inherit;font-size:15px;box-sizing:border-box}
.cform input:focus,.cform textarea:focus,.cform select:focus{outline:none;border-color:var(--teal)}
.rn{display:block;color:var(--teal);font-size:13px;letter-spacing:.15em;margin-bottom:14px}
.dk4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:52px}
.dk4 .wc2{border:1px solid var(--line);border-radius:4px;padding:28px 24px;background:rgba(255,255,255,.02)}
.dk4 .wc2 h3{font-size:18px;color:var(--sagelt);margin:0 0 8px;font-weight:400}
.dk4 .wc2 p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.trip{cursor:default}
.trip .ib{position:relative}
.trip .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(234,239,225,.55);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}
.notebox{border:1.5px dashed rgba(52,201,138,.55);background:rgba(52,201,138,.06);border-radius:8px;padding:22px 26px;margin-top:8px}
.notebox .nbt{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--olive);margin:0 0 10px;font-weight:700}
.notebox p{font-size:14.5px;line-height:1.65;color:#41504a;margin:0 0 10px}
.notebox p:last-child{margin-bottom:0}
@media(max-width:900px){.vgrid,.dk3,.igrid{grid-template-columns:1fr}.tmgrid{grid-template-columns:1fr 1fr}.feat,.cg{grid-template-columns:1fr;gap:28px}.job{grid-template-columns:1fr;gap:16px}.dk4{grid-template-columns:1fr 1fr}}


.page{display:none}
.page.active{display:block}
.wmlink{display:inline-flex;cursor:pointer}
/* kill default link underline / purple-visited on brand links */
.crumb a,.subhero .crumb a{color:var(--sage)!important;text-decoration:none}
.crumb a:visited,.subhero .crumb a:visited{color:var(--sage)}
.crumb a:hover,.subhero .crumb a:hover{color:var(--teal)!important}
a.sbox,a.sbox:visited{text-decoration:none;color:inherit}
a.ic,a.ic:visited{color:inherit}
/* role chips: readable dark-olive text on LIGHT sections (was too pale/white) */
.s:not(.dark):not(.dark2):not(.statband) .rolechip{color:var(--olive)!important;border-color:var(--linel);background:rgba(95,115,80,.06)}
.s:not(.dark):not(.dark2):not(.statband) .rolechip:hover{color:var(--ink)!important;border-color:rgba(52,201,138,.55);background:rgba(95,115,80,.10)}
.s:not(.dark):not(.dark2):not(.statband) .rolechip::after{color:var(--olive)}
/* role chips: even, aligned grid (no ragged wrapping) */
.rolewrap{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.rolewrap .rolechip{width:100%;justify-content:space-between}
/* testimonials: pin the name/role to the bottom so they line up across the row */
.tq{display:flex;flex-direction:column}
.tq p{margin:14px 0 0}
.tq .w{margin-top:auto;padding-top:24px}
/* testimonials: big serif quote-mark watermark bleeding off the corner, behind the text */
.tq .mk{position:absolute!important;top:10px!important;right:20px!important;height:auto!important;font-family:Georgia,"Times New Roman",serif!important;font-size:150px!important;line-height:.9!important;color:rgba(52,201,138,.15)!important;z-index:0!important;pointer-events:none;user-select:none}
.tq p,.tq .w{position:relative;z-index:1}
/* case-study band: big solid teal quote SHAPES with the text overlaid, near-black band (Arrows-style) */
.proofband{background:radial-gradient(120% 130% at 28% -5%,#123029,#0A1613 66%)!important;text-align:left!important;overflow:hidden}
.proofband .wrap{position:relative}
.proofband .q::before,.proofband .q::after{content:none!important}
.proofband .qsvg{position:absolute;top:-16px;left:-14px;width:min(460px,64vw);height:auto;z-index:0;pointer-events:none;opacity:.22}
.proofband .q{position:relative;z-index:1;text-align:left;color:#fff!important;font-weight:400!important;font-size:clamp(19px,2.3vw,31px)!important;line-height:1.4!important;max-width:940px;margin:0!important;padding-top:54px}
.proofband .m{position:relative;z-index:1;text-align:left}
@media(max-width:640px){.proofband .qsvg{width:56vw;top:-4px}.proofband .q{padding-top:32px}}
/* steps: align the first step (01) flush under the section title, not indented */
.steps .step:first-child{padding-left:0}
/* About: tighten the big gap between Who we are and Our values (two light sections) */
.s.awho{padding-bottom:40px}
.s.avalues{padding-top:52px}
/* secondary (ghost) buttons on LIGHT sections: dark readable text, not near-white */
.s:not(.dark):not(.dark2):not(.statband):not(.cta-final):not(.proofband) .btn.g{color:var(--ink);border-color:var(--linel)}
.s:not(.dark):not(.dark2):not(.statband):not(.cta-final):not(.proofband) .btn.g:hover{color:var(--forest);border-color:var(--teal)}
/* soften pale outlines that read as white lines on the dark sections */
:root{--line:rgba(157,175,139,.11)}
.wc2,.subc{border-color:transparent!important;background:rgba(255,255,255,.045)!important}
/* ===== Find a Role — dark poster listing (title left, mono tags, teal pay right, thin dividers) ===== */
#jobs .jf{gap:10px!important;margin:6px 0 0;justify-content:flex-start}
#jobs .jf button{padding:11px 22px!important;font-size:13px!important;border-radius:999px!important;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;letter-spacing:.04em}
#jobs .jf button.on{background:var(--teal)!important;border-color:var(--teal)!important;color:var(--forest)!important}
#jobs .jobsec{background:radial-gradient(130% 120% at 80% -10%,#173f37,#0E2420 62%)!important}
#jobs .jf button{color:var(--muted)!important;border-color:var(--line)!important}
#jobs .jf button:hover{color:var(--sagelt)!important;border-color:rgba(52,201,138,.5)!important}
.jlist{margin-top:26px!important;display:flex!important;flex-direction:column;gap:0!important;background:radial-gradient(120% 90% at 18% -12%,#123029,#0B1A16 72%);border:1px solid var(--line);border-radius:16px;padding:14px 40px 62px;position:relative;overflow:hidden;box-shadow:0 34px 70px -34px rgba(0,0,0,.5)}
.jlist::before{content:"enertek-group.com";position:absolute;right:52px;bottom:30px;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:11px;letter-spacing:.12em;color:var(--sage);opacity:.4}
.jlist::after{content:"";position:absolute;right:30px;bottom:24px;width:26px;height:44px;border-right:2px solid var(--teal);border-bottom:2px solid var(--teal);border-bottom-right-radius:12px;opacity:.55;pointer-events:none}
.jphead{padding:24px 0 18px}
.jphead .jkick{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--teal);margin:0 0 16px}
.jphead .jaccent{position:relative;display:block;height:3px;width:100%;background:linear-gradient(90deg,rgba(52,201,138,.6),rgba(52,201,138,0) 72%);border-radius:2px}
.jphead .jaccent::before{content:"";position:absolute;top:0;height:3px;left:var(--hlx,80px);width:var(--hlw,150px);transform:translateX(-50%);background:linear-gradient(90deg,rgba(52,201,138,0),var(--teal) 45%,var(--teal) 55%,rgba(52,201,138,0));border-radius:2px;box-shadow:0 0 14px rgba(52,201,138,.65);transition:left .55s cubic-bezier(.65,0,.2,1),width .4s ease}
.jphead .jaccent.noanim::before{transition:none}
.jlist .job{display:grid;grid-template-columns:1fr auto!important;align-items:center;gap:28px;background:none!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;padding:24px 4px!important;transition:.2s}
.jlist .job:hover{background:rgba(52,201,138,.045)!important;padding-left:12px!important;padding-right:12px!important}
.jlist .job h3{color:var(--sagelt)!important;font-weight:700!important;font-size:21px!important;letter-spacing:-.01em;margin:0 0 12px!important;transition:.2s}
.jlist .job:hover h3{color:var(--teal)!important}
.jmain .meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.jlist .job .meta .tag{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace!important;font-size:11px!important;letter-spacing:.08em!important;text-transform:uppercase!important;font-weight:400!important;padding:5px 11px!important;border-radius:6px!important;background:rgba(157,175,139,.06)!important;border:1px solid var(--line)!important;color:var(--sage)!important;margin:0!important}
.jlist .job .meta .tag.d{background:rgba(52,201,138,.12)!important;border-color:rgba(52,201,138,.4)!important;color:var(--teal)!important}
.jpay{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.jpay .sal{font-size:23px;font-weight:700;color:var(--teal);letter-spacing:-.01em;line-height:1.1;white-space:nowrap}
.jpay .paysub{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);opacity:.62}
.jpay .japply{margin-top:12px;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);text-decoration:none;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);padding:8px 14px;border-radius:8px;transition:.2s;white-space:nowrap}
.jpay .japply i{font-style:normal;transition:.2s}
.jpay .japply:hover{color:var(--forest);background:var(--teal);border-color:var(--teal)}
.jpay .japply:hover i{transform:translateX(3px)}
@media(max-width:640px){.jlist{padding:10px 20px 58px}.jlist .job{grid-template-columns:1fr!important;gap:14px!important}.jpay{align-items:flex-start;text-align:left}}
/* stock images filling the .simg placeholder boxes; .bw = black & white */
.simg.has-img{padding:0!important;overflow:hidden;background:var(--forest2);position:relative;min-height:400px}
.simg.has-img::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat}
.simg.has-img.bw::before{filter:grayscale(1) contrast(1.03)}
.simg.has-img.tint::before{filter:grayscale(1) contrast(1.05) brightness(1.04)}
.simg.has-img.tint::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(14,36,32,.5),rgba(44,88,73,.62));mix-blend-mode:multiply;pointer-events:none}
.homewall{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:16px;margin-top:36px}.homewall .simg{margin:0!important;transform:none!important;opacity:1!important;align-self:stretch}.homewall .simg{transition:transform .28s ease,box-shadow .28s ease}.homewall .simg:hover{transform:scale(1.04)!important;box-shadow:0 18px 40px rgba(0,0,0,.42);z-index:5;position:relative}
.homewall .simg{min-height:0!important;border-radius:6px;border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}
.homewall .simg svg{width:38px!important;height:38px!important;flex:none}
.homewall .simg span{position:static}
.homewall .simg.feat{grid-column:span 2;grid-row:span 2}
.homewall .simg.wide{grid-column:span 2}
@media(max-width:860px){.homewall{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px}.homewall .simg.feat{grid-row:span 2}.homewall .simg.wide{grid-column:span 2}}
@media(max-width:520px){.homewall{grid-template-columns:1fr;grid-auto-rows:180px}.homewall .simg.feat,.homewall .simg.wide{grid-column:span 1;grid-row:span 1}}
.lifegrid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:34px}
.lifegrid .simg{aspect-ratio:1/1;min-height:0!important;border-radius:10px;overflow:hidden}
/* even square grid (brochure "The Floor" layout); brighter than the rest of the site's imagery */
.lifegrid .simg.has-img::before{background-position:center 42%}
.lifegrid .simg.has-img.bw::before{filter:grayscale(1) brightness(1.22) contrast(1.0)}
.lifegrid .simg.has-img.tint::before{filter:grayscale(1) brightness(1.26) contrast(1.0)}
.lifegrid .simg.has-img.tint::after{background:linear-gradient(160deg,rgba(14,36,32,.26),rgba(44,88,73,.4))}
.lifegrid .golf::before{background-position:center!important;filter:saturate(1.05)!important}
.lifegrid .glasses::before{background-position:center!important;filter:saturate(1.05)!important}
.lifegrid .simg.has-img.col::before{filter:saturate(1.04) contrast(1.02)}
/* home Sectors cards: fill the icon box with a real image */
.scard .top.cimg{position:relative;overflow:hidden}
.scard .top.cimg svg{display:none}
.scard .top.cimg::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center}
.scard .top.cimg.bw::before{filter:grayscale(1) contrast(1.03)}.scard .top.cimg.tint::before{filter:grayscale(1) brightness(1.12) contrast(1.0)}.scard .top.cimg.tint::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(14,36,32,.34),rgba(44,88,73,.48))}
/* bright-teal "brochure" stat page (dark text on mint), like the careers PDF */
.tealstat{background:linear-gradient(150deg,#3ad393,#20b078 78%)!important;color:#0E2420;position:relative;overflow:hidden}
.tealstat .ey{color:#0E2420!important;opacity:.62;letter-spacing:.28em;text-transform:uppercase;font-size:12px;font-weight:600;margin:0 0 20px}
.tealstat .th{font-size:clamp(30px,3.6vw,50px);font-weight:300!important;letter-spacing:-.02em;line-height:1.1;max-width:920px;margin:0 0 46px;color:#0E2420}
.tealstat .tgrid{display:grid;grid-template-columns:1fr 1fr;gap:44px 60px;border-top:1px solid rgba(14,36,32,.2);padding-top:46px}
.tealstat .tn{font-size:clamp(50px,5.6vw,80px);font-weight:300;line-height:1;letter-spacing:-.02em;color:#0E2420}
.tealstat .tn span{font-size:.5em;vertical-align:super;font-weight:600}
.tealstat .tl{margin-top:14px;font-size:14px;color:rgba(14,36,32,.72);max-width:380px;line-height:1.55}
@media(max-width:640px){.tealstat .tgrid{grid-template-columns:1fr;gap:34px}}
@media(max-width:900px){.lifegrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.lifegrid{grid-template-columns:repeat(2,1fr)}}
.statband{position:relative;overflow:hidden}
.statband .statvid{position:absolute!important;inset:0;width:100%;height:100%;object-fit:cover;z-index:0!important;filter:grayscale(1) contrast(1.06);pointer-events:none}
.statband .statvover{position:absolute!important;inset:0;z-index:1!important;pointer-events:none;background:linear-gradient(180deg,rgba(14,36,32,.80),rgba(13,30,26,.74)),linear-gradient(115deg,rgba(26,58,51,.52),rgba(44,88,73,.30))}
.statband .wrap{position:relative;z-index:2!important}
/* (Find a Role filter buttons now styled in the poster block above) */
/* modal: solid dark fallback bg so the pop-up is never white/transparent, text always readable */
#smodal .mbox{background-color:#132F28!important}
#smodal .mbox h3{color:#EAEFE1!important}
#smodal .mbox .mc,#smodal .mbox .ml{color:#34C98A!important}
#smodal .mbox .md{color:#C2CDC2!important}
#smodal .mbox .mroles span{color:#9DAF8B!important;border:1px solid rgba(157,175,139,.35)!important}
#smodal .ov{background:rgba(6,18,15,.72)!important}
/* desk lead profile card */
.leadcard{display:grid;grid-template-columns:180px 1fr;gap:34px;align-items:center;max-width:900px;margin-top:8px;border:1px solid var(--linel);border-radius:16px;padding:30px;background:#DDE7D4}
.leadphoto{width:180px;height:206px;border-radius:12px;background:rgba(95,115,80,.10);border:1px solid var(--linel);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--olive)}
.leadphoto svg{width:30px;height:30px;opacity:.7}
.leadphoto span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.leadinfo h3{font-size:26px;font-weight:400;color:var(--ink);margin:0}
.leadrole{color:var(--olive);font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:6px 0 0;font-weight:600}
.leadbio{font-size:15px;line-height:1.65;color:#51605a;margin:14px 0 20px;max-width:54ch}
.leadcta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.leadcta .li{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--linel);border-radius:4px;padding:13px 22px;color:var(--olive);font-weight:600;font-size:13.5px;text-decoration:none;transition:.25s}
.leadcta .li:hover{border-color:rgba(52,201,138,.55);color:var(--ink)}
@media(max-width:720px){.leadcard{grid-template-columns:1fr}.leadphoto{width:100%;height:180px}}
/* contact hub: hire/candidate toggle, book-a-call card, form inputs */
.ctoggle{display:flex;gap:6px;background:#EAEFE1;border:1px solid var(--linel);border-radius:8px;padding:5px;margin-bottom:20px}
.cton{flex:1;padding:11px;border:0;border-radius:6px;background:transparent;color:var(--olive);font-weight:600;font-size:14px;cursor:pointer;font-family:inherit;transition:.2s}
.cton.on{background:var(--teal);color:var(--forest)}
.cform input,.cform textarea{width:100%;background:#fafbf8;border:1px solid var(--linel);border-radius:8px;padding:13px 15px;color:var(--ink);font-family:inherit;font-size:15px}
.cform textarea{resize:vertical}
.cform input:focus,.cform textarea:focus,.cform select:focus{outline:none;border-color:rgba(52,201,138,.6)}
.bookcard{margin-top:26px;padding:22px;border:1px solid var(--linel);border-radius:8px;background:#DDE7D4}
.bookcard .bkt{font-weight:600;color:var(--ink);font-size:15px}
.bookcard p{font-size:14px;color:#51605a;margin:6px 0 16px;line-height:1.55}
.cnote{margin-top:14px;font-size:13.5px;color:var(--olive);line-height:1.5}
/* request-our-brochure lead capture */
.brgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;margin-top:8px}
.brpoints{list-style:none;padding:0;margin:22px 0 0}
.brpoints li{position:relative;padding:9px 0 9px 26px;color:#51605a;font-size:15px;border-bottom:1px solid var(--linel)}
.brpoints li::before{content:"\2713";position:absolute;left:0;color:var(--teal);font-weight:700}
.brnote{margin-top:14px;font-size:13.5px;color:var(--olive);line-height:1.5}
@media(max-width:820px){.brgrid{grid-template-columns:1fr;gap:32px}}
.brtoggle{display:flex;gap:6px;background:#EAEFE1;border:1px solid var(--linel);border-radius:8px;padding:5px;margin-bottom:18px}
.brton{flex:1;padding:11px;border:0;border-radius:6px;background:transparent;color:var(--olive);font-weight:600;font-size:14px;cursor:pointer;font-family:inherit;transition:.2s}
.brton.on{background:var(--teal);color:var(--forest)}
.brq{font-size:13px;letter-spacing:.04em;color:var(--olive);margin:0 0 8px;font-weight:600}
/* marquee: like the holding page — no band, bright sage-light words, teal dots */
.ticker{background:var(--forest)!important;border-top:0!important;border-bottom:0!important;padding:22px 0!important}
.track .m{color:#EAEFE1!important;font-weight:300!important;font-size:17px!important;opacity:.95}
.track .m::after{background:var(--teal)!important;opacity:.8!important}
/* mobile nav */
@media(max-width:960px){
 .menu.open{display:flex;position:fixed;top:60px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
   background:rgba(14,36,32,.99);backdrop-filter:blur(14px);border-top:1px solid var(--line);
   padding:12px 24px 26px;max-height:82vh;overflow:auto;z-index:80}
 .menu.open a{padding:13px 2px;width:100%;font-size:16px;border-bottom:1px solid rgba(157,175,139,.10)}
 .menu.open .navbtn{margin-top:14px;text-align:center;border-bottom:0}
 .menu.open .has{width:100%}
 .menu.open .has>a::after{float:right;margin-top:8px}
 .menu.open .drop{position:static;opacity:1;visibility:visible;transform:none;background:transparent;
   border:0;border-radius:0;backdrop-filter:none;padding:0 0 4px 14px;min-width:0}
 .menu.open .drop a{padding:10px 2px;border-bottom:0;color:var(--sage)}
}


/* living, flowing glow across the DARK GREEN backgrounds */
.s.dark,.s.dark2,.s.statband,.s.cta-final,.s.proofband,footer{position:relative;overflow:hidden}
.s.dark>*,.s.dark2>*,.s.statband>*,.s.cta-final>*,.s.proofband>*,footer>*{position:relative;z-index:1}
.s.dark::before,.s.dark2::before,.s.statband::before,.s.cta-final::before,.s.proofband::before,footer::before,
.heroB::before,.phero::before,.subhero::before{
 content:"";position:absolute;inset:-35%;z-index:0;pointer-events:none;
 background:
  radial-gradient(34% 46% at 22% 30%, rgba(52,201,138,.30), transparent 60%),
  radial-gradient(30% 42% at 78% 66%, rgba(126,148,114,.26), transparent 60%),
  radial-gradient(28% 36% at 58% 18%, rgba(52,201,138,.20), transparent 60%);
 animation:bgflow 10s ease-in-out infinite}
.s.dark2::before{animation-duration:13s;animation-delay:-4s}
.s.statband::before{animation-duration:15s;animation-delay:-8s}
.s.cta-final::before{animation-duration:11s;animation-delay:-6s}
.s.proofband::before{animation-duration:16s;animation-delay:-3s}
footer::before{animation-duration:18s;animation-delay:-10s}
/* heroes: flow sits behind the map, a touch softer so the map stays crisp */
.heroB::before,.phero::before,.subhero::before{
 background:
  radial-gradient(36% 48% at 20% 28%, rgba(52,201,138,.26), transparent 62%),
  radial-gradient(32% 44% at 80% 68%, rgba(126,148,114,.22), transparent 62%),
  radial-gradient(30% 38% at 60% 16%, rgba(52,201,138,.16), transparent 62%);
 animation-duration:12s}
.phero::before{animation-delay:-5s}
.subhero::before{animation-delay:-9s}
@keyframes bgflow{
 0%{transform:translate(0,0) scale(1)}
 33%{transform:translate(15%,10%) scale(1.32)}
 66%{transform:translate(-12%,-8%) scale(1.20)}
 100%{transform:translate(0,0) scale(1)}}

.simg.im1::before,.cimg.im1::before{background-image:url(/img/im1.jpg)}.simg.im2::before,.cimg.im2::before{background-image:url(/img/im2.jpg)}.simg.im3::before,.cimg.im3::before{background-image:url(/img/im3.jpg)}.simg.im4::before,.cimg.im4::before{background-image:url(/img/im4.jpg)}.simg.im5::before,.cimg.im5::before{background-image:url(/img/im5.jpg)}.simg.im6::before,.cimg.im6::before{background-image:url(/img/im6.jpg)}.simg.im7::before,.cimg.im7::before{background-image:url(/img/im7.jpg)}.simg.im8::before,.cimg.im8::before{background-image:url(/img/im8.jpg)}.simg.im9::before,.cimg.im9::before{background-image:url(/img/im9.jpg)}.simg.im10::before,.cimg.im10::before{background-image:url(/img/im10.jpg)}.simg.im11::before,.cimg.im11::before{background-image:url(/img/im11.jpg)}.simg.im46::before,.cimg.im46::before{background-image:url(/img/im46.jpg)}.simg.im47::before,.cimg.im47::before{background-image:url(/img/im47.jpg)}.simg.im48::before,.cimg.im48::before{background-image:url(/img/im48.jpg)}.simg.im49::before,.cimg.im49::before{background-image:url(/img/im49.jpg)}.simg.im12::before,.cimg.im12::before{background-image:url(/img/im12.jpg)}.simg.im13::before,.cimg.im13::before{background-image:url(/img/im13.jpg)}.simg.im14::before,.cimg.im14::before{background-image:url(/img/im14.jpg)}.simg.im15::before,.cimg.im15::before{background-image:url(/img/im15.jpg)}.simg.im16::before,.cimg.im16::before{background-image:url(/img/im16.jpg)}.simg.im17::before,.cimg.im17::before{background-image:url(/img/im17.jpg)}.simg.im18::before,.cimg.im18::before{background-image:url(/img/im18.jpg)}.simg.im19::before,.cimg.im19::before{background-image:url(/img/im19.jpg)}.simg.im20::before,.cimg.im20::before{background-image:url(/img/im20.jpg)}.simg.im21::before,.cimg.im21::before{background-image:url(/img/im21.jpg)}.simg.im22::before,.cimg.im22::before{background-image:url(/img/im22.jpg)}.simg.im23::before,.cimg.im23::before{background-image:url(/img/im23.jpg)}.simg.im24::before,.cimg.im24::before{background-image:url(/img/im24.jpg)}.simg.im25::before,.cimg.im25::before{background-image:url(/img/im25.jpg)}.simg.im26::before,.cimg.im26::before{background-image:url(/img/im26.jpg)}.simg.im27::before,.cimg.im27::before{background-image:url(/img/im27.jpg)}.simg.im28::before,.cimg.im28::before{background-image:url(/img/im28.jpg)}.simg.im29::before,.cimg.im29::before{background-image:url(/img/im29.jpg)}.simg.im30::before,.cimg.im30::before{background-image:url(/img/im30.jpg)}.simg.im31::before,.cimg.im31::before{background-image:url(/img/im31.jpg)}.simg.im32::before,.cimg.im32::before{background-image:url(/img/im32.jpg)}.simg.im33::before,.cimg.im33::before{background-image:url(/img/im33.jpg)}.simg.im34::before,.cimg.im34::before{background-image:url(/img/im34.jpg)}.simg.im35::before,.cimg.im35::before{background-image:url(/img/im35.jpg)}.simg.im36::before,.cimg.im36::before{background-image:url(/img/im36.jpg)}.simg.im37::before,.cimg.im37::before{background-image:url(/img/im37.jpg)}.simg.im38::before,.cimg.im38::before{background-image:url(/img/im38.jpg)}.simg.im39::before,.cimg.im39::before{background-image:url(/img/im39.jpg)}.simg.im40::before,.cimg.im40::before{background-image:url(/img/im40.jpg)}.simg.im41::before,.cimg.im41::before{background-image:url(/img/im41.jpg)}.simg.im42::before,.cimg.im42::before{background-image:url(/img/im42.jpg)}.simg.im43::before,.cimg.im43::before{background-image:url(/img/im43.jpg)}.simg.im44::before,.cimg.im44::before{background-image:url(/img/im44.jpg)}
section.s.tealbg{background:linear-gradient(155deg,#37cf90,#1fae77 82%)!important;color:#0E2420}section.s.tealbg .ey,section.s.tealbg .ey.d,section.s.tealbg .crumb{color:#0E2420!important;opacity:.72}section.s.tealbg .h2,section.s.tealbg h2,section.s.tealbg h3,section.s.tealbg h4,section.s.tealbg .lead,section.s.tealbg p,section.s.tealbg li,section.s.tealbg .subc h3,section.s.tealbg .subc p,section.s.tealbg .vc2 h3,section.s.tealbg .vc2 p{color:#0E2420!important}section.s.tealbg .btn.p{background:#0E2420!important;border-color:#0E2420!important;color:#eafff5!important}section.s.tealbg .btn.g{color:#0E2420!important;border-color:rgba(14,36,32,.45)!important}section.s.tealbg .subc,section.s.tealbg .vc2,section.s.tealbg .ic,section.s.tealbg .tq,section.s.tealbg .acc{background:rgba(255,255,255,.16)!important;border-color:rgba(14,36,32,.16)!important}section.s.tealbg .rolechip,section.s.tealbg .tag{color:#0E2420!important;border-color:rgba(14,36,32,.32)!important;background:rgba(255,255,255,.12)!important}
.revstars{color:#0E2420;font-size:26px;letter-spacing:6px;line-height:1;margin-top:14px}
.simg.im5::before,.cimg.im5::before,.simg.im6::before,.cimg.im6::before{filter:grayscale(1) contrast(1.02) brightness(1.22) sepia(.18) hue-rotate(70deg) saturate(1.15)!important}.simg.im5::after,.cimg.im5::after,.simg.im6::after,.cimg.im6::after{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(160deg,rgba(24,54,46,.3),rgba(58,118,92,.42))!important;mix-blend-mode:multiply!important;pointer-events:none!important;border-radius:inherit}
.cways{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:860px;margin:16px auto 0}.cway{display:block;text-decoration:none;background:rgba(255,255,255,.16);border:1px solid rgba(14,36,32,.12);border-radius:14px;padding:28px 30px;transition:.25s}a.cway:hover{background:rgba(255,255,255,.3);transform:translateY(-2px)}.cwl{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(14,36,32,.55);margin-bottom:10px}.cwv{font-size:19px;color:#0E2420;font-weight:400;letter-spacing:.01em}.cwoffice{grid-column:1/-1}@media(max-width:640px){.cways{grid-template-columns:1fr}}
.simg.im17::before,.cimg.im17::before{background-position:center 27%!important}
.simg.im2::before,.cimg.im2::before{background-position:center 42%!important}
.simg.im19::before,.cimg.im19::before{background-position:center 46%!important}
.simg.im45::before,.cimg.im45::before{background-image:url(/img/im45.jpg)}.simg.im45::before,.cimg.im45::before{background-position:center 42%!important}
.simg.im12::before,.cimg.im12::before{background-position:center 20%!important}
#ourhome .homewall{grid-auto-rows:300px!important}.simg.im12::before,.cimg.im12::before{background-position:center 24%!important}@media(max-width:820px){#ourhome .homewall{grid-auto-rows:230px!important}}
.brochureform .br-client-field{display:block!important}
.brpoints li::before{color:#12634A!important;font-size:16px!important;font-weight:800!important;top:8px}.brpoints li{padding-left:30px!important}
.lijobs{display:inline-flex;align-items:center}
.lifegrid .simg{transition:transform .28s ease, box-shadow .28s ease}.lifegrid .simg:hover{transform:scale(1.045);box-shadow:0 16px 38px rgba(0,0,0,.38);z-index:3;position:relative}