:root{--ink:#152d35;--muted:#59696a;--paper:#faf9f5;--line:#dce0d9;--lime:#d2e6a2;--green:#345849}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 'Segoe UI',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #79994b;outline-offset:5px}button,a,summary{touch-action:manipulation}.wrap{max-width:1200px;width:calc(100% - 100px);margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:27px 0;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;align-items:center;gap:15px;font-size:13px;font-weight:600}.brand b,.footer-logo{font-size:40px;letter-spacing:-4px;line-height:1}.brand b span,.footer-logo span{color:#739047}.brand small{display:block;font-size:8px;letter-spacing:1.5px;margin-top:2px}nav{display:flex;gap:30px;align-items:center;font-size:12px;font-weight:600}.button{background:var(--ink);color:white;padding:15px 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid var(--ink);border-radius:5px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#315349;transform:translateY(-2px)}.button.small{padding:11px 18px}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:55px;padding:76px 0 84px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:650;margin:0 0 25px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#648640;margin-right:7px}h1,h2{font-weight:500;letter-spacing:-2.6px;line-height:1.09;margin:0}h1{font-size:clamp(43px,4.7vw,64px)}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;color:var(--green)}h2{font-size:43px;letter-spacing:-1.7px}h3{font-size:19px;line-height:1.35;font-weight:600;letter-spacing:-.4px;margin:22px 0 12px}p{color:var(--muted)}.intro{font-size:15px;max-width:475px;margin:25px 0 27px}.actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.text-link{font-size:12px;font-weight:600;border-bottom:1px solid #a7b3a4;padding-bottom:5px;display:inline-block}.text-link:hover{color:#507437}.micro{font-size:10px;margin-top:19px}.hero-art{position:relative;min-height:415px;display:flex;align-items:center;justify-content:center}.orbit{position:absolute;width:100%;aspect-ratio:1;border:1px solid #d9e0d1;border-radius:50%;background:radial-gradient(ellipse,#e8eedc,transparent 65%)}.orbit:after{content:'';position:absolute;inset:30px;border:1px solid #e4e7dc;border-radius:50%}.art-caption{position:absolute;top:3px;font-size:8px;letter-spacing:2px;color:#6b7c65}.browser{z-index:1;width:100%;background:#fff;border:1px solid #e3e4df;box-shadow:0 25px 65px #26392815;border-radius:9px;transform:rotate(-3deg);overflow:hidden}.browser-bar{display:flex;justify-content:space-between;padding:12px 15px;border-bottom:1px solid #edf0eb;color:#b0bcb0;font-size:9px;letter-spacing:2px}.browser-bar small{font-size:7px;color:#7b8982;letter-spacing:1.2px}.app{display:flex}.app aside{width:54px;flex-shrink:0;border-right:1px solid #eff1ed;display:flex;align-items:center;flex-direction:column;gap:16px;padding:15px 0;color:#8d9b91}.app aside b{font-size:26px;color:var(--ink);line-height:1}.app aside b span{color:#91ab65}.app aside i{font-style:normal;font-size:15px}.app aside i:first-of-type{background:#e7eedc;color:#566e40;padding:3px 9px;border-radius:5px}.dashboard{padding:20px;width:100%}.dash-title{font-size:13px;font-weight:600}small{font-weight:400}.dash-title small,.task small{display:block;font-size:8px;color:#849087;margin-top:3px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.stats>div{border:1px solid #e8ece4;padding:11px 14px;border-radius:4px}.stats small{font-size:9px;color:#758378}.stats strong{display:block;font-size:27px;font-weight:500;line-height:1.4}.stats strong em{font-size:15px;color:#6f9350;margin-left:35px}.stats strong small{font-size:15px;color:inherit}.chart{padding:12px 12px 0;border:1px solid #e8ece4;border-radius:5px}.chart>span{font-size:9px;display:flex;justify-content:space-between}.chart small{color:#8e998f;font-size:8px}.bars{height:92px;display:flex;align-items:flex-end;gap:12px;margin-top:13px;background:repeating-linear-gradient(to top,transparent 0,transparent 29px,#eff1eb 30px)}.bars i{height:var(--h);flex:1;background:#d7e4bc;border-radius:3px 3px 0 0}.bars i:nth-last-child(-n+3){background:#73936a}.task{display:flex;gap:10px;align-items:center;margin-top:16px;font-size:9px}.task b{background:#e7eedc;color:#6d8a4b;border-radius:50%;padding:3px 7px}.task em{margin-left:auto;background:#edf3e6;padding:3px 7px;border-radius:3px;color:#5b7a4b;font-size:8px;font-style:normal}.floating{position:absolute;bottom:-7px;right:-15px;background:white;box-shadow:0 8px 32px #1a302015;border:1px solid #e3e6dc;border-radius:7px;padding:15px 22px;display:flex;gap:14px;align-items:center;z-index:2;font-size:11px;font-weight:600}.floating b{background:#e9f0dc;color:#527843;padding:4px 12px;border-radius:50%;font-size:22px}.floating small{display:block;font-size:9px;color:#778172;margin-top:2px}.disclaimer{position:absolute;bottom:-38px;right:0;font-size:8px;color:#7b8279}.stack{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stack>.wrap{display:flex;justify-content:space-between;align-items:center;padding:25px 0;gap:25px}.stack span{font-size:8px;letter-spacing:1.3px;color:#70806c}.stack strong{font-size:19px;letter-spacing:-.7px;font-weight:600;color:#55665b}.section{padding:85px 0}.heading{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:45px}.heading>p{max-width:315px;margin:0;font-size:13px}.heading .eyebrow{margin-bottom:18px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.services article{border-top:1px solid #9aa991;padding-top:24px;display:flex;flex-direction:column}.service-icon{font-size:26px;color:#5d7954}.service-icon small{float:right;font-size:10px;color:#8d9785}.services p{font-size:13px;min-height:64px}.services ul{list-style:none;padding:0;font-size:11px;line-height:2.25;margin:10px 0 25px}.services li:before{content:'—';margin-right:10px;color:#87967a}.services a{font-size:11px;font-weight:650;border-top:1px solid var(--line);padding-top:15px;margin-top:auto}.work{background:#f0f2eb}.projects{display:grid;grid-template-columns:1fr 1fr;gap:40px}.project-art{height:295px;border-radius:7px;position:relative;padding:23px;overflow:hidden}.project-art>span{font-size:8px;letter-spacing:1.5px;position:relative;z-index:2}.aqi{background:#203f36;color:#eaf1df}.aqi-title{position:relative;font-family:Georgia,serif;font-size:28px;line-height:1.2;z-index:2;margin-top:38px}.air-orb{position:absolute;right:28px;bottom:55px;display:flex;flex-direction:column;justify-content:center;align-items:center;width:128px;height:128px;border-radius:50%;font-size:52px;background:#cfdfac;color:#274735;z-index:2;box-shadow:0 0 0 14px #8da97e18,0 0 0 30px #8da97e0b}.air-orb small{font-size:6px;letter-spacing:.6px}.map-lines{position:absolute;inset:0;opacity:.17;transform:rotate(-25deg);background:repeating-linear-gradient(0deg,transparent,transparent 38px,#c4dbbd 39px,transparent 40px),repeating-linear-gradient(90deg,transparent,transparent 58px,#c4dbbd 59px,transparent 60px)}.concept{position:absolute;bottom:12px;left:23px;font-size:8px;opacity:.65}.certification{background:#e2dfd4}.certificate{background:#fbfaf5;position:relative;border:1px solid #ccc6b6;margin:20px auto 0;padding:18px 24px;width:84%;box-shadow:6px 10px 0 #b2ad9c25;transform:rotate(-5deg)}.certificate>small{font-size:6px;letter-spacing:1.6px}.certificate p{font:25px/1.1 Georgia,serif;color:#374637;margin:15px 0}.certificate>div{height:1px;width:45%;background:#b8bdab;margin-bottom:8px}.certificate b{position:absolute;right:20px;bottom:10px;font-size:40px;color:#8c977a}.project-meta{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.3px;color:#687765;margin-top:23px}.projects h3{font-size:22px;margin-top:12px}.projects p{font-size:13px}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:19px 0}.tags span{border:1px solid #d4dbce;padding:3px 9px;border-radius:3px;font-size:9px;color:#62735d}details{border-bottom:1px solid #d3dacd}summary{list-style:none;cursor:pointer;font-size:12px;font-weight:600;padding:16px 0;display:flex;justify-content:space-between;gap:15px}summary::-webkit-details-marker{display:none}summary span{font-size:18px;font-weight:400}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px}.projects .text-link{margin-top:22px}.process{display:grid;grid-template-columns:1fr 1fr;gap:100px}.process>div>p:not(.eyebrow){max-width:340px;font-size:13px;margin:23px 0}.process ol{list-style:none;margin:0;padding:0}.process li{display:flex;gap:24px;padding:0 0 23px;border-bottom:1px solid var(--line);margin-bottom:23px}.process li>span{font:italic 18px Georgia,serif;color:#7d9469}.process h3{margin:0;font-size:16px}.process li p{font-size:12px;margin:7px 0 0}.about{background:#e9edde;padding:70px 0}.about>.wrap{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:90px}.portrait{min-height:325px;background:#dbe3cb;border-radius:120px 120px 4px 4px;display:flex;align-items:center;justify-content:center;position:relative;font:170px Georgia,serif;letter-spacing:-25px;color:#496042;overflow:hidden}.portrait:after{content:'';position:absolute;width:260px;height:260px;border:1px solid #f7f9ee70;border-radius:50%}.portrait span{color:#7b9067}.portrait small{position:absolute;bottom:25px;font:7px 'Segoe UI',sans-serif;letter-spacing:1.4px}.about h2{font-size:38px}.about p:not(.eyebrow){font-size:13px}.about .actions{margin-top:23px}.faq{display:grid;grid-template-columns:1fr 1fr;gap:80px}.faq summary{padding:21px 0;font-size:13px}.quote{background:#17352e;padding:80px 0;color:#f5f6ed}.quote-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:95px;align-items:start}.quote h2{font-size:53px}.quote h2 em{color:#d3e4ac}.quote .eyebrow{color:#b5c7aa}.quote p{color:#becbc1;font-size:13px;max-width:370px}.quote-layout>div>p:not(.eyebrow){margin:26px 0}.reassurance{padding:0;list-style:none;font-size:11px;line-height:2.6;color:#d2dfc7;margin:26px 0 42px}#contact{border-top:1px solid #ffffff26;padding-top:19px}#contact p{font-size:11px}.email{font-size:19px;letter-spacing:-.4px;display:block}.contact-button{display:inline-block;margin-top:17px;font-size:12px;border:1px solid #899c7e;padding:9px 18px;border-radius:4px}.quote form{color:var(--ink);background:#fafbf6;border-radius:8px;padding:30px}.quote form h3{margin:0;font-size:23px}.quote form>p{color:#6c776a;margin:5px 0 23px;font-size:11px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:10px;font-weight:600;margin-bottom:16px}input,select,textarea{display:block;width:100%;border:1px solid #d6ddcf;border-radius:4px;padding:10px 12px;background:#fff;color:var(--ink);margin-top:6px;font-size:11px;min-width:0}input::placeholder,textarea::placeholder{color:#8b9586}textarea{resize:vertical}form .button{width:100%;background:#d2e5a8;border-color:#d2e5a8;color:#233a27}form .button:hover{background:#c0d98f}.quote form .form-note{font-size:9px;line-height:1.6;margin:13px 0 0}#email-fallback{margin-top:20px;border-top:1px solid var(--line);padding-top:10px}#email-fallback p{color:#596856;font-size:12px}#copy-request{border:1px solid #9caa8c;border-radius:4px;padding:8px 13px;margin-top:10px;cursor:pointer;background:#e2ebd3;font-size:11px}#copy-status{font-size:11px}footer{padding:27px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:9px;color:#65715e}.footer-logo{font-size:33px;color:var(--ink)}.skip{position:absolute;top:-100px;left:10px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}[hidden]{display:none!important}@media(min-width:1500px){.hero{padding:100px 0}.wrap{max-width:1240px}}@media(max-width:1000px){.wrap{width:calc(100% - 60px)}.hero{gap:35px}h1{font-size:47px}.hero-art{min-height:380px}.floating{right:0;font-size:10px;padding:12px}.bars{gap:8px}.dashboard{padding:15px}.process,.about>.wrap,.quote-layout{gap:45px}.services{gap:22px}.services h3{font-size:17px}.air-orb{width:100px;height:100px;font-size:42px;right:22px;bottom:35px}.aqi-title{font-size:23px}.quote h2{font-size:44px}nav{gap:18px}.projects{gap:25px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}header{padding:20px 0}.brand>span{font-size:11px}.brand small{font-size:6px}nav>a:not(.button){display:none}.button.small{font-size:11px;padding:10px 13px}.hero{grid-template-columns:1fr;padding:48px 0 70px;gap:45px}h1{font-size:clamp(43px,9vw,65px)}.intro{max-width:500px}.hero-art{max-width:490px;width:100%;margin:auto;min-height:380px}.browser{width:94%}.hero-art .floating{bottom:-8px}.art-caption{top:-9px}.stack>.wrap{flex-wrap:wrap;justify-content:center;gap:18px;padding:22px 0}.stack span{width:100%;text-align:center}.stack strong{font-size:15px}.section{padding:58px 0}.heading{display:block;margin-bottom:32px}.heading>p{margin-top:20px;max-width:100%}.heading>.text-link{margin-top:20px}h2{font-size:37px}.services{grid-template-columns:1fr;gap:30px}.services p{min-height:0;margin-top:0}.services h3{font-size:21px}.services ul{margin-top:0}.projects{grid-template-columns:1fr;gap:45px}.project-art{height:280px}.air-orb{width:130px;height:130px;bottom:45px}.aqi-title{font-size:30px}.certificate{max-width:320px}.process,.faq,.about>.wrap,.quote-layout{grid-template-columns:1fr;gap:35px}.process ol{margin-top:5px}.about{padding:55px 0}.portrait{min-height:270px;max-width:310px;width:100%;margin:auto}.about h2{font-size:36px}.quote{padding:55px 0}.quote h2{font-size:45px}.quote form{padding:24px}.quote-layout>div>p:not(.eyebrow){max-width:100%}.reassurance{margin-bottom:28px}.faq{gap:16px}footer{flex-wrap:wrap}footer>span{order:3;width:100%;text-align:center}.email{font-size:20px}}@media(max-width:390px){.wrap{width:calc(100% - 30px)}.brand{gap:10px}.brand b{font-size:33px}.brand>span{font-size:10px}h1{font-size:42px}.actions{gap:20px}.hero-art{min-height:350px}.floating{padding:10px 13px}.form-row{grid-template-columns:1fr;gap:0}.quote form{padding:20px}.air-orb{width:105px;height:105px;font-size:40px;bottom:30px}.aqi-title{font-size:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Shared brand mark across header, footer and about section. */
.logo-mark{font-family:"Segoe UI",Arial,sans-serif;font-size:40px;font-weight:700;line-height:1;letter-spacing:-4px;color:var(--ink)}.logo-mark span{color:#739047}.portrait .logo-mark{font-size:150px;letter-spacing:-15px}.portrait .logo-mark span{color:#739047}@media(max-width:760px){header{flex-wrap:wrap;gap:18px}header nav{display:flex;gap:22px}header nav>a:not(.button){display:block;font-size:11px}.brand .logo-mark{font-size:40px}}

.dotm-project{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:12px;padding-top:35px;border-top:1px solid #d3dacd}.dotm-art{background:#233b50;color:#e9f0f3}.dotm-title{font-size:53px;line-height:1.1;letter-spacing:-2px;margin-top:35px}.dotm-title i{font-style:normal;color:#cdddab}.dotm-art p{color:#cfdae1;font-size:15px;margin:12px 0}.province-dots{font-size:13px;letter-spacing:10px;color:#cdddab;margin-top:16px}.dotm-copy{align-self:center}.dotm-copy .project-meta{margin-top:0}@media(max-width:760px){.dotm-project{grid-template-columns:1fr;gap:23px}.dotm-title{font-size:48px}.dotm-project .project-art{height:285px}}
