*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid}body{font-family:Arial,Helvetica,sans-serif}h1,h2,h3,p,ul{padding:0}button,input{font:inherit}svg,video{display:block}h1,h2,h3{color:inherit}html{line-height:1.5} .admin-bar .header{top:32px}@media(max-width:782px){.admin-bar .header{top:46px}}:root,.dark{--background:#fff;--foreground:#143b2d;--primary:#087e4c;--primary-foreground:#fff;--card:#eff9f2;--card-foreground:#143b2d;--popover:#fff;--popover-foreground:#143b2d;--secondary:#ddf5be;--secondary-foreground:#143b2d;--muted:#f2f7f3;--muted-foreground:#52685d;--accent:#d4f65c;--accent-foreground:#143b2d;--border:#dbe8df;--input:#dbe8df;--ring:#087e4c;--radius:1rem}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:#143b2d;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid #169f64;outline-offset:5px}img{max-width:100%;display:block}p{color:#576b60;margin:0 0 24px}h1,h2,h3{line-height:1.08;letter-spacing:-.05em;margin:0;font-weight:500}h2{font-size:clamp(2.3rem,4vw,3.6rem)}h2 span{color:#188452}h3{font-size:1.6rem}svg{flex-shrink:0}.skip{position:fixed;top:-100px;background:#fff;color:#143b2d;padding:12px;z-index:40}.skip:focus{top:0}
.header{height:98px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fffffff5;position:sticky;top:0;z-index:20;border-bottom:1px solid #e9eeea;backdrop-filter:blur(15px)}.logo{width:194px;height:auto;filter:brightness(0)}nav{display:flex;gap:30px}nav a{font-size:14px;font-weight:500;color:#435e50;padding:8px 0}nav a:hover{color:#00864e}.header-contact{font-size:14px;border:1px solid #cadcce;border-radius:30px;padding:10px 20px;white-space:nowrap}.header-contact:hover{background:#edf8ee}
.hero{margin:20px 24px 0;border-radius:24px;min-height:690px;position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:#174d33;isolation:isolate;color:#fff}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.16)}.hero:after{content:'';position:absolute;inset:0;z-index:-0;background:linear-gradient(90deg,#063622df 0%,#063622aa 38%,#0636220d 100%),linear-gradient(0deg,#06362299,transparent 30%);pointer-events:none}.hero-inner{position:relative;z-index:1;padding:78px max(5vw,30px) 88px;max-width:1040px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;color:#087e4c;margin:0 0 26px}.hero .eyebrow{color:#d4f65c}.eyebrow span{display:inline-block;width:7px;height:7px;background:#d4f65c;border-radius:50%;margin:0 10px 2px 0}.hero h1{font-size:clamp(3.6rem,6.6vw,6.2rem);letter-spacing:-.055em;line-height:1.02}.hero h1 span{color:#d4f65c}.hero-description{font-size:19px;line-height:1.6;color:#eff8ee;max-width:550px;margin:28px 0 32px}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 25px;border-radius:30px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:#d4f65c;color:#153b25}.primary:hover{background:#e0ff7f}.secondary{color:#fff;border:1px solid #ffffff70;background:#ffffff08}.secondary:hover{background:#ffffff20}.hero-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;gap:25px;padding:24px max(5vw,30px);border-top:1px solid #ffffff35;font-size:11px;letter-spacing:.13em;color:#e3f3e5}
.section{max-width:1440px;margin:auto;padding:108px max(5vw,24px)}.section-heading{margin-bottom:48px}.about-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:54px;align-items:center}.about-grid>*{min-width:0}.about-video{position:relative;width:100%;aspect-ratio:848/480;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 0 0 1px #deeadf,0 22px 60px #113c2010}.about-video video{display:block;width:100%;height:100%;object-fit:contain;background:#fff}.lead{font-size:23px;color:#234a36;line-height:1.55}.principles{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-top:25px;margin-top:30px;border-top:1px solid #dbe8df}.principles span{font-size:12px;font-weight:600;letter-spacing:.12em;color:#087e4c}.principles p{font-size:15px;margin:10px 0 0}
.band{background:#f0f8f0;border-block:1px solid #e0ecde}.split-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:52px}.split-heading>p{max-width:360px;font-size:17px;margin:0}.capabilities{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.capabilities article{padding:30px 25px 20px;border:1px solid #dce9da;border-radius:16px;background:#fff}.capabilities article:first-child{background:#d4f65c;border-color:#d4f65c}.cap-top{display:flex;align-items:center;justify-content:space-between;color:#118650;margin-bottom:42px}.cap-top span{font-size:12px;color:#4c6d50}.capabilities h3{font-size:23px;line-height:1.17;letter-spacing:-.035em;margin-bottom:18px}.capabilities p{font-size:16px;line-height:1.65}.capabilities article:first-child p{color:#3b572a}
.project-list{display:grid;gap:38px}.project{display:grid;grid-template-columns:1fr 1fr;background:#f4f8f3;border:1px solid #dfe8dc;overflow:hidden;border-radius:20px}.project-visual{position:relative;min-height:445px}.project-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-visual:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#082d2580)}.photo-label{position:absolute;z-index:1;bottom:25px;left:25px;max-width:calc(100% - 50px);font-size:11px;letter-spacing:.11em;padding:7px 13px;color:#fff;background:#123b2ca0;border:1px solid #ffffff40;border-radius:20px}.project-info{padding:44px}.tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.07em;color:#087e4c;padding:7px 12px;background:#e0f0dc;border-radius:20px;margin-bottom:25px}.project-info h3{font-size:37px;margin-bottom:22px}.project-info p{font-size:16px}.plain-list{padding:0;list-style:none;margin:0 0 30px;color:#3a6149;font-size:14px}.plain-list li{padding:9px 0;border-bottom:1px solid #dce7d8}.plain-list li:before{content:'•';color:#118650;margin-right:11px}.text-link{display:inline-block;font-size:14px;font-weight:600;color:#087e4c;border-bottom:1px solid #85b795;padding-bottom:3px}.text-link:hover{color:#12492a;border-color:#12492a}.reverse .project-visual{order:2}.territories{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #dbe8df;padding-top:28px;margin-top:36px}.territories p{font-size:14px;margin:0}.territories strong{font-weight:600;color:#264b36}
.commitment{text-align:center;background:#d4f65c;max-width:none;padding-block:88px}.commitment h2{font-size:clamp(2.6rem,4.8vw,4.3rem)}.commitment h2 span{color:#417323}.commitment>p:not(.eyebrow){max-width:670px;margin:28px auto 0;color:#3a562b;font-size:18px}.commitment-words{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px}.commitment-words span{border:1px solid #62882c60;border-radius:24px;padding:9px 18px;font-size:14px;color:#315524}.contact-section{background:#f4f9f5}.contact-section .section{display:grid;grid-template-columns:1.3fr 1fr;gap:80px}.contact-section h2{margin-bottom:26px}.contact-email{display:inline-block;font-size:clamp(1.1rem,2.2vw,1.9rem);letter-spacing:-.02em;color:#008750;border-bottom:1px solid #90bca0;padding:8px 0;overflow-wrap:anywhere}.offices{display:grid;align-content:center;gap:32px}.offices h3{font-size:24px;margin-top:12px}.offices address{font-style:normal;color:#576b60;font-size:15px;margin-top:10px}.offices .eyebrow{font-size:11px}footer{max-width:1440px;margin:auto;padding:50px max(5vw,24px) 24px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:32px}.footer-top p{font-size:14px;margin:0}.footer-bottom{display:flex;justify-content:space-between;gap:28px;margin-top:38px;padding-top:22px;border-top:1px solid #e1e9df;color:#66796a;font-size:12px}.footer-bottom a{font-size:11px}.footer-bottom a:hover{color:#087e4c}
@media(min-width:1700px){.hero-inner{padding-left:calc((100vw - 1440px)/2 + 5vw)}.hero-bottom{padding-inline:calc((100vw - 1440px)/2 + 5vw)}}
@media(max-width:1050px){.header-contact{display:none}.capabilities{grid-template-columns:repeat(2,1fr)}.about-grid{gap:36px}.project-info{padding:32px}.split-heading{gap:36px}.contact-section .section{gap:45px}}
@media(max-width:960px){.about-grid{grid-template-columns:minmax(0,1fr)}.about-grid>.about-copy{max-width:760px}.hero{min-height:620px}.hero h1{font-size:4.8rem}}
@media(max-width:700px){html{scroll-padding-top:125px}.header{height:auto;min-height:96px;padding:16px 24px;flex-wrap:wrap;gap:12px}.logo{width:156px}nav{width:100%;gap:22px;flex-wrap:wrap}nav a{font-size:14px;padding:0}.hero{margin:12px 12px 0;min-height:610px;border-radius:18px}.hero-inner{padding:64px 25px 58px}.hero h1{font-size:clamp(3rem,10.7vw,4.5rem)}.hero-description{font-size:17px;line-height:1.6}.hero .eyebrow{font-size:10px;letter-spacing:.1em}.hero:after{background:linear-gradient(90deg,#073921e0,#07392180),linear-gradient(0deg,#073921aa,transparent)}.hero-bottom{padding:22px 25px;font-size:10px}.hero-bottom>span:last-child{display:none}.button{padding:12px 18px;font-size:13px}.section{padding:74px 24px}h2{font-size:2.45rem}.section-heading{margin-bottom:30px}.lead{font-size:21px}.principles{gap:22px}.split-heading{display:block;margin-bottom:32px}.split-heading>p{max-width:none;margin-top:26px;font-size:16px}.capabilities{gap:12px}.capabilities article{padding:24px 18px 12px}.capabilities h3{font-size:21px}.cap-top{margin-bottom:28px}.capabilities p{font-size:15px}.project{grid-template-columns:1fr}.project-visual{min-height:285px}.reverse .project-visual{order:0}.project-info{padding:30px 24px}.project-info h3{font-size:32px}.territories{flex-direction:column;align-items:flex-start}.commitment{padding-block:68px}.commitment>p:not(.eyebrow){font-size:16px}.commitment-words{gap:10px}.commitment-words span{font-size:12px;padding:8px 14px}.contact-section .section{grid-template-columns:1fr;gap:42px}.offices{grid-template-columns:1fr 1fr;gap:24px}.footer-top{flex-wrap:wrap;gap:26px}.footer-bottom{flex-direction:column;gap:12px}}
@media(max-width:380px){.capabilities{grid-template-columns:1fr}.offices{grid-template-columns:1fr}nav{gap:16px}.hero h1{font-size:2.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.project:has(.project-video){border:0}.project-video{position:relative;overflow:hidden;background:transparent;min-height:560px}.project-video video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;border:0}.project-video:after{display:none}.project-video .photo-label{top:18px;bottom:auto;pointer-events:none}.media-note{font-size:13px;margin:20px 0 0;color:#66796a}@media(max-width:700px){.project-video{min-height:460px}.project-video video{height:100%}}

/* DIAX visual system — environmental technology */
:root{--tech-ink:#092e2b;--tech-green:#007c57;--tech-lime:#d4fa62;--tech-cyan:#76e8d1}
body{background:#fbfdfb;color:var(--tech-ink);-webkit-font-smoothing:antialiased}
.header{height:86px;background:#ffffffdf;backdrop-filter:blur(24px);border-bottom:1px solid #0a463a12;padding-inline:max(4vw,24px)}
.header .logo{width:170px;filter:none}.header-contact{background:var(--tech-ink);color:white;border:0;padding:12px 22px}.header-contact:hover{background:var(--tech-green);color:white}
nav a{position:relative}nav a:after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--tech-green);transition:width .25s}nav a:hover:after,nav a[aria-current]:after{width:100%}
.hero{margin:16px;min-height:720px;border-radius:28px;background:#062c25}.hero-photo{filter:saturate(.9);object-position:center 55%}
.hero:after{background:linear-gradient(90deg,#032b26ed 0%,#052f27bc 48%,#052f272a 100%),linear-gradient(0deg,#032b26cc,transparent 60%)}
.hero-inner{padding:88px 5vw 72px;max-width:970px}.hero h1{font-size:clamp(3.5rem,6.4vw,6.6rem);font-weight:500;letter-spacing:-.065em}.hero h1 span{color:var(--tech-lime)}
.eyebrow{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;letter-spacing:.13em}.hero .eyebrow{display:inline-flex;align-items:center;background:#ffffff0b;border:1px solid #ffffff30;padding:9px 14px;border-radius:30px}.hero .eyebrow span{box-shadow:0 0 15px #c9fc69}
.hero-description{max-width:510px;font-size:18px;color:#e0eee6}.button{min-height:54px;padding:15px 27px;border-radius:12px}.primary{background:var(--tech-lime)}.secondary{backdrop-filter:blur(10px)}
.hero-bottom{margin-top:auto;padding-block:20px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:10px;background:#042c252a}
.eco-orbit{position:absolute;width:280px;height:280px;right:5vw;top:155px;border:1px solid #d4fa6260;border-radius:50%;z-index:1;display:grid;place-content:center;text-align:center;color:#e7ffe8;pointer-events:none;background:radial-gradient(circle,#052f2720,#052f2722);box-shadow:0 0 0 26px #eaffed05,0 0 0 27px #eaffed18}
.eco-orbit:before{content:'';position:absolute;inset:24px;border:1px dashed #cfffad60;border-radius:50%;animation:orbit 80s linear infinite}.eco-orbit:after{content:'';position:absolute;top:38px;right:34px;width:10px;height:10px;background:var(--tech-lime);border-radius:50%;box-shadow:0 0 24px #d4fa62}
.eco-orbit small{font:10px ui-monospace,monospace;letter-spacing:.22em;color:#d4fa62}.eco-orbit strong{font-size:34px;letter-spacing:-.06em;font-weight:400;line-height:1.2;margin:12px 0}.eco-orbit span{font:10px ui-monospace,monospace;letter-spacing:.12em}
.eco-strip{display:flex;justify-content:space-between;gap:20px;padding:25px max(5vw,24px);border-bottom:1px solid #dce9df;color:#547366;font:11px ui-monospace,monospace;letter-spacing:.1em}.eco-strip span{display:flex;align-items:center;gap:12px}.eco-strip i{width:6px;height:6px;border-radius:50%;background:#008963}
h2{letter-spacing:-.055em;font-size:clamp(2.5rem,4.3vw,4.1rem)}h2 span{color:#16856b}.section{padding-block:112px}.section-heading .eyebrow,.split-heading .eyebrow{display:flex;align-items:center;gap:16px}.section-heading .eyebrow:before,.split-heading .eyebrow:before{content:'';width:26px;height:1px;background:#00a074}
.about-video{border-radius:16px;box-shadow:none}.about-grid{gap:64px}.lead{font-size:24px;letter-spacing:-.025em}.principles span{font-family:ui-monospace,monospace;font-size:11px}
.band{background:radial-gradient(ellipse at 100% 0%,#d8f5dc88,transparent 65%),#eff6f1;border-block:1px solid #dce9df}.capabilities{gap:16px}.capabilities article{position:relative;border:1px solid #d5e3d9;border-radius:20px;padding:30px 25px 24px;transition:transform .25s,box-shadow .25s,border-color .25s}.capabilities article:hover{transform:translateY(-6px);box-shadow:0 18px 35px #123d2910;border-color:#80b99e}.capabilities article:first-child{background:var(--tech-ink);color:#fff;border-color:var(--tech-ink)}.capabilities article:first-child p{color:#bed4c8}.capabilities article:first-child .cap-top{color:var(--tech-lime)}.capabilities article:first-child .cap-top span{color:#b7d0c4}.cap-top{margin-bottom:45px}.cap-top svg{width:32px;height:32px;stroke-width:1.4}.cap-top span{font-family:ui-monospace,monospace}.capabilities h3{font-size:24px}.capabilities p{font-size:15px;margin-bottom:0}.capabilities article:nth-child(2){background:#e0f7ed}
.project-list{gap:28px}.project{background:#f1f6f2;border:0;border-radius:24px}.project-visual{overflow:hidden}.project-visual img{transition:transform .7s}.project:hover .project-visual img{transform:scale(1.035)}.project-info{padding:48px}.project-info h3{font-size:clamp(2rem,3.4vw,3.3rem);letter-spacing:-.06em}.tag{font-family:ui-monospace,monospace;background:#dfece2;font-size:10px;letter-spacing:.1em;border-radius:6px;padding:9px 12px}.photo-label{background:#07342ac9;backdrop-filter:blur(12px);font-family:ui-monospace,monospace;border-radius:8px;font-size:10px}.text-link{padding:10px 0;border-bottom:1px solid #4da57d}.plain-list li{padding-block:12px}.project-video{min-height:560px}
.commitment{position:relative;isolation:isolate;overflow:hidden;background:var(--tech-ink);color:#fff}.commitment:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 120%,#25855c66,transparent 70%),linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:auto,64px 64px,64px 64px}.commitment .eyebrow{color:var(--tech-lime)}.commitment h2 span{color:var(--tech-lime)}.commitment>p:not(.eyebrow){color:#c5d9ce}.commitment-words span{border-color:#7bc59944;background:#ffffff05;color:#d7efdf}
.contact-section{background:#f1f7f2}.contact-email{color:#087b59}.footer-top .logo{filter:none;width:170px}.footer-bottom{font-size:11px}
@keyframes orbit{to{transform:rotate(360deg)}}
@media(max-width:1250px){.eco-orbit{width:210px;height:210px;right:4vw;top:205px}.eco-orbit strong{font-size:27px}.hero-inner{max-width:800px}}
@media(max-width:1050px){.eco-orbit{display:none}.hero-inner{max-width:900px}.about-grid{gap:36px}.project-info{padding:32px}}
@media(max-width:700px){.header{height:auto;padding:15px 22px;gap:13px}.header .logo{width:150px}nav{justify-content:space-between;gap:12px}nav a{font-size:13px}.hero{margin:10px;min-height:610px;border-radius:20px}.hero-inner{padding:54px 24px 48px}.hero h1{font-size:clamp(3rem,11vw,4.7rem)}.hero .eyebrow{font-size:8px;letter-spacing:.06em;padding:8px 10px}.hero-description{font-size:16px}.button{padding:13px 19px;min-height:49px}.eco-strip{display:grid;grid-template-columns:1fr 1fr;padding:22px 24px;gap:16px;font-size:9px;letter-spacing:.05em}.section{padding-block:72px}h2{font-size:2.6rem}.capabilities article{padding:24px 18px}.capabilities h3{font-size:21px}.capabilities p{font-size:14px}.project-info{padding:30px 24px}.project-info h3{font-size:36px}.project-video{min-height:430px}.commitment{padding-block:76px}.contact-section .section{gap:40px}.footer-top .logo{width:150px}}
@media(prefers-reduced-motion:reduce){.eco-orbit:before{animation:none}.project-visual img,.capabilities article{transition:none}}

/* Logo contrast follows the surface behind the mark. */
.logo,.header .logo,.footer-top .logo{filter:brightness(0);opacity:1}
.hero .logo,.commitment .logo,[data-surface="dark"] .logo,.logo.logo-light{filter:brightness(0) invert(1)}
[data-surface="light"] .logo,.logo.logo-dark{filter:brightness(0)}
