@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{--ink:#183d32;--lime:#d4ed76;--muted:#6d756e;--line:#e3e7df;--paper:#fbfcf8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,Arial,sans-serif;font-size:15px}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button{color:inherit}:is(a:focus-visible,button:focus-visible){outline-offset:5px;outline:3px solid #648632}p{color:var(--muted);line-height:1.75}h1,h2,h3{letter-spacing:-1.6px;font-family:Manrope,Arial,sans-serif}h2{margin:17px 0 24px;font-size:43px;font-weight:650;line-height:1.2}h3{letter-spacing:-.6px;font-size:23px;font-weight:650}.topbar{background:var(--ink);color:#edf3e8;letter-spacing:.2px;justify-content:space-between;align-items:center;height:34px;padding:0 5%;font-size:11px;display:flex}.topbar a{align-items:center;gap:8px;display:flex}header{background:var(--paper);z-index:10;justify-content:space-between;align-items:center;gap:35px;height:102px;padding:0 5%;display:flex;position:relative}.brand{white-space:nowrap;letter-spacing:-.7px;align-items:center;gap:11px;font-size:19px;font-weight:500;display:flex}.brand b{font-weight:800}.brand small{letter-spacing:2.1px;margin-top:5px;font-size:8px;font-weight:600;display:block}.brandmark{align-items:flex-end;gap:5px;width:38px;height:42px;display:flex;position:relative}.brandmark i{background:var(--ink);width:9px;height:29px;display:block;transform:skewY(-29deg)}.brandmark i:nth-child(2){height:38px}.brandmark i:nth-child(3){height:32px}.brandmark:after{content:"";background:var(--lime);width:39px;height:4px;position:absolute;bottom:7px;transform:rotate(-28deg)}nav{gap:29px;margin-left:auto;font-size:13px;font-weight:550;display:flex}nav a{position:relative}nav a:hover{color:#629143}.btn{white-space:nowrap;border:0;border-radius:5px;justify-content:center;align-items:center;gap:23px;min-height:51px;padding:17px 24px;font-size:13px;font-weight:650;transition:transform .2s,background .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.dark{background:var(--ink);color:#fff}.lime{background:var(--lime);color:var(--ink)}.outline{background:0 0;border:1px solid #b5c2ad}.menubtn{background:0 0;border:0;display:none}.hero{grid-template-columns:1.04fr 1fr;align-items:stretch;gap:30px;min-height:595px;padding:12px 2.5% 38px 5%;display:grid}.herocopy{padding:56px 0 20px}.eyebrow{letter-spacing:1.7px;align-items:center;gap:8px;font-size:10px;font-weight:700;display:flex}.eyebrow>span{background:#719547;border-radius:50%;width:6px;height:6px}.hero h1{letter-spacing:-3.8px;margin:28px 0;font-size:clamp(44px,4.65vw,74px);font-weight:650;line-height:1.1}.green{color:#698353}.hero p{max-width:450px;margin-bottom:31px;font-size:15px}.actions{align-items:center;gap:29px;display:flex}.textlink{background:0 0;border:0;align-items:center;gap:13px;padding:0;font-size:13px;font-weight:650;display:inline-flex}.heroticks{color:#667362;gap:27px;margin-top:39px;font-size:11px;display:flex}.heroticks span{align-items:center;gap:7px;display:flex}.heroticks svg{color:var(--ink);background:#e8efdd;border-radius:50%;padding:2px}.heroimage{background:#bec9ba;border-radius:8px;min-height:527px;position:relative;overflow:hidden}.heroimage>img{object-fit:cover;filter:saturate(.62);object-position:49% center;width:100%;height:100%;position:absolute}.heroimage:after{content:"";pointer-events:none;background:linear-gradient(#0000 40%,#102b2550);position:absolute;inset:0}.imagecaption{color:#fff;letter-spacing:2px;z-index:1;background:#2144386b;border-radius:3px;padding:8px;font-size:9px;position:absolute;top:25px;left:25px}.imagebadge{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f9fcf3f2;border-radius:5px;gap:15px;padding:22px;font-size:13px;line-height:1.7;display:flex;position:absolute;bottom:40px;left:25px;right:25px}.imagebadge>svg{align-self:center;margin-left:auto}.badgeicon{border:1px solid #cfdbc3;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.photolabel{color:#fff;z-index:1;opacity:.8;font-size:9px;position:absolute;bottom:12px;right:15px}.valuebar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:0 5%;padding:28px 0;display:grid}.valuebar>div{border-right:1px solid var(--line);justify-content:center;align-items:center;gap:13px;font-size:12px;font-weight:550;display:flex}.valuebar>div:first-child{justify-content:flex-start}.valuebar>div:last-child{border:0}.valuebar svg{stroke-width:1.5px;width:23px}.section{padding:86px 5%}.sectionheading{justify-content:space-between;align-items:flex-end;margin-bottom:35px;display:flex}.sectionheading h2{margin-bottom:0}.sectionheading>p{max-width:350px;margin-bottom:4px;font-size:13px}.servicegrid{grid-template-columns:repeat(3,1fr);gap:21px;display:grid}.servicecard{border:1px solid var(--line);background:#fff;border-radius:6px;padding:29px}.servicecard:nth-child(2){background:#f1f4e9}.cardtop{justify-content:space-between;align-items:center;display:flex}.cardtop>span{color:#9ba692;font-size:11px}.servicecard h3{margin:33px 0 12px}.servicecard p{min-height:91px;font-size:13px}.tags{letter-spacing:1px;color:#7b866d;white-space:nowrap;margin-top:26px;font-size:8px}.servicecard button{border:0;border-top:1px solid var(--line);background:0 0;justify-content:space-between;width:100%;margin-top:23px;padding:21px 0 0;font-size:12px;font-weight:650;display:flex}.about{background:#f1f3eb;grid-template-columns:1fr 1fr;gap:7%;padding-top:72px;padding-bottom:72px;display:grid}.aboutphoto{border-radius:6px;min-height:490px;position:relative;overflow:hidden}.aboutphoto img{object-fit:cover;filter:saturate(.55);width:100%;height:100%;position:absolute}.aboutphoto span{color:#fff;letter-spacing:1.5px;background:linear-gradient(#0000,#12382bca);padding:45px 23px 23px;font-size:9px;position:absolute;bottom:0;left:0;right:0}.aboutcopy h2{font-size:36px}.aboutcopy>p{font-size:13px}.aboutpoints{margin:25px 0}.aboutpoints>div{border-top:1px solid #dbe1d3;gap:17px;padding:12px 0;display:flex}.aboutpoints>div>span{color:#7a8b66;padding-top:4px;font-size:10px}.aboutpoints b{font-size:13px}.aboutpoints p{margin:5px 0 0;font-size:12px}.filters{gap:8px;margin:25px 0;display:flex}.filters button{background:0 0;border:1px solid #dce3d3;border-radius:30px;padding:9px 21px;font-size:11px}.filters .active{background:var(--ink);border-color:var(--ink);color:#fff}.portfolioempty{background:#f0f3e9;border:1px solid #e1e7d8;border-radius:6px;align-items:center;gap:30px;padding:45px;display:flex}.portfolioempty h3{margin:0;font-size:24px}.portfolioempty p{margin-bottom:0;font-size:13px}.portfolioempty .btn{margin-left:auto}.emptyicon{background:#e3ead8;border-radius:50%;flex-shrink:0;place-items:center;width:100px;height:100px;display:grid}.projectgrid{grid-template-columns:repeat(3,1fr);gap:25px;display:grid}.projectgrid img,.projectplaceholder{object-fit:cover;border-radius:5px;width:100%;height:240px;margin-bottom:18px}.projectplaceholder{background:#e9eede;place-items:center;display:grid}.projectgrid small{text-transform:uppercase;letter-spacing:1px;font-size:10px}.projectgrid h3{margin:10px 0}.projectgrid b,.projectgrid p{font-size:12px}.process{border-top:1px solid var(--line);background:#f6f7f0}.steps{grid-template-columns:repeat(3,1fr);gap:50px;margin-top:43px;display:grid}.steps article{border-top:1px solid #cdd7bc;padding-top:25px}.steps article>span{color:#869c66;font-family:Manrope;font-size:36px;font-weight:500}.steps h3{margin:20px 0 9px;font-size:20px}.steps p{max-width:290px;font-size:13px}.careers{background:var(--ink);color:#fff;grid-template-columns:1fr 1fr;gap:10%;display:grid;position:relative;overflow:hidden}.careers .eyebrow{color:var(--lime)}.careers h2{font-size:43px}.careers p{color:#c0cdc3;font-size:13px}.careers .btn{margin-top:15px}.jobs{background:#ffffff09;border:1px solid #ffffff23;border-radius:6px;align-self:center;padding:34px}.jobs h3{font-size:25px;line-height:1.4}.jobs article>span{color:var(--lime);letter-spacing:1.4px;font-size:9px}.jobs article+article{border-top:1px solid #ffffff30;margin-top:24px;padding-top:24px}.jobs p svg{vertical-align:middle;margin-right:6px}.jobs .textlink{color:var(--lime)}.faq{grid-template-columns:.9fr 1.1fr;gap:10%;display:grid}.faqitem{border-bottom:1px solid var(--line)}.faqitem button{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:23px 0;font-size:13px;font-weight:550;display:flex}.faqitem svg{flex-shrink:0}.faqitem p{margin:0 25px 24px 0;font-size:13px}.contact{background:var(--lime);justify-content:space-between;align-items:center;display:flex}.contact h2{margin-bottom:16px;font-size:51px}.contact p{color:#50633e;font-size:14px}.contactdetails{border-left:1px solid #a9c155;width:30%;padding:25px 0 25px 45px}.contactdetails>b{letter-spacing:.5px;font-size:17px}.contactdetails a,.contactdetails p{overflow-wrap:anywhere;align-items:center;gap:13px;margin-top:20px;font-size:13px;display:flex}.contactdetails svg{flex-shrink:0}footer{background:#f8faf3;flex-wrap:wrap;align-items:center;gap:30px;padding:50px 5% 20px;display:flex}footer>p{margin-left:auto;font-size:12px}footer>div:not(.footerbottom){gap:24px;font-size:12px;display:flex}.footerbottom{border-top:1px solid var(--line);width:100%;color:var(--muted);gap:25px;margin-top:15px;padding-top:22px;font-size:10px;display:flex}.footerbottom span{margin-right:auto}.footerbottom button{background:0 0;border:0;padding:0;font-size:10px}.footerbottom a{align-items:center;gap:4px;display:flex}.overlay{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#102d25a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.dialog{background:var(--paper);border-radius:12px;width:600px;max-width:100%;max-height:95dvh;padding:40px;position:relative;overflow-y:auto;box-shadow:0 30px 100px #0003}.dialog h2{font-size:31px}.dialog>p{font-size:13px}.close{background:0 0;border:0;position:absolute;top:17px;right:17px}.formrow{grid-template-columns:1fr 1fr;gap:18px;display:grid}label{color:var(--ink);margin:18px 0;font-size:12px;font-weight:550;display:block}input,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cbd6c2;border-radius:4px;outline-color:#779448;margin-top:8px;padding:12px;display:block}textarea{resize:vertical}.checkbox{align-items:flex-start;gap:9px;font-size:11px;line-height:1.6;display:flex}.checkbox input{flex-shrink:0;width:15px;margin:3px 0 0}.formnote{font-size:10px}.formstatus{font-size:13px;font-weight:600}.honeypot{display:none}.admin{background:#f2f5ee;min-height:100vh;display:flex}.admin aside{background:var(--ink);color:#fff;flex-shrink:0;width:260px;height:100vh;padding:32px 22px;position:sticky;top:0}.adminbrand{align-items:center;gap:9px;font-size:16px;font-weight:700;display:flex}.admin aside>small{letter-spacing:1.7px;color:#acc1ac;margin:40px 10px 18px;font-size:9px;display:block}.admin aside>button{color:#c1d0c4;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:12px;width:100%;margin:7px 0;padding:15px 12px;font-size:12px;display:flex}.admin aside>button.selected{color:var(--ink);background:var(--lime)}.backsite{gap:20px;margin:50px 12px;font-size:12px;display:flex}.admin main{width:100%;max-width:1200px;padding:42px}.admin h1{font-size:32px;font-weight:650}.adminheader{justify-content:space-between;align-items:center;gap:20px;display:flex}.admincard{border:1px solid var(--line);background:#fff;border-radius:8px;margin:25px 0;padding:28px}.admincard h3{margin-top:0;font-size:20px}.admincard p{font-size:13px}.adminmessage{min-height:24px;font-size:12px}.adminnote{background:#e5edda;border-radius:5px;padding:20px;font-size:13px;line-height:1.6}.delete{color:#943c3c;background:0 0;border:0;gap:6px;font-size:12px;display:flex}@media (min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:700px}.herocopy{padding-top:90px}}@media (max-width:1100px){header{gap:20px}nav{gap:18px}.hero h1{font-size:55px}.actions{gap:15px}.heroimage{min-height:520px}.btn{padding:15px 18px}.tags{letter-spacing:.5px;font-size:7px}.servicecard{padding:23px}.section{padding:65px 5%}.aboutcopy h2{font-size:31px}.portfolioempty{gap:20px;padding:30px}.portfolioempty h3{font-size:20px}.portfolioempty .btn{font-size:11px}.emptyicon{width:75px;height:75px}.brand{font-size:17px}.headercta{font-size:11px}.brand small{font-size:7px}.valuebar>div{font-size:10px}}@media (max-width:800px){header{height:83px}.headercta{margin-left:auto}.menubtn{display:block}nav{background:var(--paper);border-top:1px solid var(--line);padding:25px 6%;display:none;position:absolute;top:83px;left:0;right:0;box-shadow:0 15px 20px #0001}nav.open{flex-direction:column;display:flex}.hero{grid-template-columns:1fr 1fr;gap:20px;padding-top:0}.hero h1{letter-spacing:-2.5px;font-size:43px}.herocopy{padding-top:35px}.hero p{font-size:13px}.hero .actions{flex-direction:column;align-items:flex-start}.heroimage{min-height:470px}.heroticks{flex-direction:column;gap:12px;margin-top:25px}.imagebadge{gap:10px;padding:15px;font-size:10px;bottom:35px;left:15px;right:15px}.badgeicon{width:35px;height:35px}.imagebadge>svg{width:15px}.imagecaption{font-size:7px;left:15px}.sectionheading h2,h2{font-size:34px}.sectionheading>p{max-width:245px;font-size:11px}.servicegrid{gap:12px}.servicecard{padding:18px}.servicecard h3{font-size:20px}.servicecard p{min-height:140px;font-size:12px}.tags{white-space:normal;line-height:1.7}.about{gap:6%}.aboutcopy h2{font-size:27px}.portfolioempty{flex-wrap:wrap}.portfolioempty .btn{margin-left:95px}.steps{gap:25px}.steps h3{font-size:18px}.careers{gap:6%}.careers h2{font-size:34px}.jobs{padding:25px}.jobs h3{font-size:22px}.faq{gap:6%}.contact h2{font-size:40px}.contactdetails{width:35%;padding-left:25px}footer>p{margin-left:0}.admin aside{width:210px}.admin main{padding:25px}.adminheader{flex-direction:column;align-items:flex-start}.admin h1{font-size:27px}}@media (max-width:600px){.topbar{height:29px;font-size:9px}.topbar>a{display:none}header{gap:14px;padding:0 6%}.brand{font-size:16px}.brandmark{gap:4px;width:31px;height:34px}.brandmark i{width:7px;height:24px}.brandmark i:nth-child(2){height:32px}.brandmark i:nth-child(3){height:27px}.brandmark:after{width:33px}.brand small{letter-spacing:1.6px;font-size:6px}.headercta{gap:6px;min-height:39px;padding:10px 11px;font-size:10px}.headercta svg{width:13px}.menubtn{padding:0}.hero{flex-direction:column;gap:28px;min-height:0;padding:0 6% 30px;display:flex}.herocopy{padding-top:25px}.hero h1{letter-spacing:-2.8px;margin:25px 0;font-size:48px}.hero p{margin-bottom:25px;font-size:14px}.hero .actions{flex-direction:row;align-items:center;gap:20px}.hero .actions .textlink{gap:6px;font-size:11px}.hero .actions .textlink svg{width:15px}.hero .btn{gap:12px;padding:15px 17px;font-size:12px}.heroticks{flex-direction:row;gap:17px;margin-top:24px;font-size:10px}.heroimage{height:360px;min-height:360px}.heroimage>img{object-position:center 43%}.imagebadge{padding:18px;font-size:12px;bottom:31px;left:18px;right:18px}.imagecaption{font-size:8px;top:18px;left:18px}.valuebar{grid-template-columns:1fr 1fr;gap:0;margin:0 6%;padding:6px 0}.valuebar>div{justify-content:flex-start;padding:20px 0;font-size:10px}.valuebar>div:nth-child(2n){border:0;padding-left:17px}.valuebar svg{width:20px}.section{padding:55px 6%}.sectionheading{margin-bottom:26px;display:block}.sectionheading>p{max-width:none;margin-top:18px;font-size:13px}.sectionheading h2,h2{letter-spacing:-1.4px;font-size:34px}.desktop{display:none}.servicegrid{grid-template-columns:1fr;gap:15px}.servicecard{padding:25px}.servicecard h3{margin-top:25px;font-size:25px}.servicecard p{min-height:0;font-size:13px}.tags{font-size:8px}.servicecard button{font-size:12px}.about{grid-template-columns:1fr;gap:32px}.aboutphoto{min-height:340px}.aboutcopy h2{font-size:32px}.aboutcopy>p{font-size:14px}.aboutpoints{margin-bottom:25px}.aboutpoints p{font-size:12px}.portfolioempty{padding:25px;display:block}.emptyicon{margin-bottom:25px}.portfolioempty h3{font-size:23px}.portfolioempty p{font-size:12px}.portfolioempty .btn{margin:23px 0 0}.projectgrid{grid-template-columns:1fr}.steps{grid-template-columns:1fr;gap:20px;margin-top:30px}.steps article{grid-template-columns:45px 1fr;gap:0 15px;padding-top:20px;display:grid}.steps article>span{grid-row:span 2;font-size:28px}.steps h3{margin:1px 0 9px;font-size:20px}.steps p{max-width:none;margin:0}.careers{grid-template-columns:1fr;gap:35px}.careers h2{font-size:36px}.jobs{padding:28px}.jobs h3{font-size:24px}.faq{grid-template-columns:1fr;gap:0}.faqitem button{font-size:13px}.contact{display:block}.contact h2{font-size:42px}.contactdetails{border-top:1px solid #abc258;border-left:0;width:100%;margin-top:35px;padding:28px 0 0}.contactdetails p{max-width:270px}footer{padding:35px 6% 22px;display:block}footer>p{margin:20px 0}footer>div:not(.footerbottom){gap:25px;margin:25px 0;display:flex}.footerbottom{flex-wrap:wrap;gap:16px;display:flex}.footerbottom span{width:100%;margin:0}.dialog{padding:35px 23px 20px}.dialog h2{font-size:27px}.overlay{padding:12px}.formrow{grid-template-columns:1fr;gap:0}.formrow label{margin:8px 0}.admin{display:block}.admin aside{width:100%;height:auto;padding:22px;position:relative}.admin aside>small{margin:20px 0 10px}.admin aside>button{gap:5px;width:auto;padding:10px;font-size:11px;display:inline-flex}.backsite{margin:15px 0 0}.admin main{padding:25px 18px}.admincard{padding:20px}.adminheader .btn{width:100%}.admincard .cardtop{align-items:flex-start;gap:12px}.admincard .cardtop small{font-size:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.jobdetails{border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25;margin:22px 0}.jobdetails summary{cursor:pointer;color:var(--lime);justify-content:space-between;align-items:center;gap:15px;padding:18px 0;font-size:13px;font-weight:650;list-style:none;display:flex}.jobdetails summary::-webkit-details-marker{display:none}.jobdetails[open] summary svg{transform:rotate(180deg)}.jobdescription h4{color:#fff;margin:25px 0 12px;font-size:14px}.jobdescription ul{margin:10px 0 24px;padding-left:19px}.jobdescription li{color:#d3dfd5;margin:9px 0;font-size:13px;line-height:1.8}.jobdescription p{white-space:pre-line}.jobcontacts{border-bottom:1px solid #ffffff25;margin-bottom:22px;padding-bottom:20px}.jobcontacts a{color:#fff;align-items:center;gap:9px;margin:13px 0;font-size:14px;display:flex}.jobcontacts p{align-items:flex-start;gap:9px;display:flex}.jobcontacts svg{flex-shrink:0;margin-top:3px}.jobcontacts strong{font-weight:600}.jobcontacts p:last-child{font-size:12px}.careers:has(.jobdetails[open]){align-items:start}.jobdetails summary:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
