@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(assets/roboto-400.ttf) format("truetype")}
@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:swap;src:url(assets/roboto-500.ttf) format("truetype")}
@font-face{font-family:Roboto;font-style:normal;font-weight:600;font-display:swap;src:url(assets/roboto-600.ttf) format("truetype")}
@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-display:swap;src:url(assets/roboto-700.ttf) format("truetype")}
:root{--green:#006e65;--dark:#123e39;--mint:#d9ebe5;--paper:#f7f8f5;--muted:#65716b;--line:#dce3dd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--dark);font-family:Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #51b29b;outline-offset:5px}header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:59px;height:63px;object-fit:cover;object-position:top}.brand>span{font-size:22px;font-weight:800;letter-spacing:2px}.brand small{display:block;font-size:9px;letter-spacing:1.8px;margin-top:6px;font-weight:500}nav{display:flex;gap:30px;font-size:13px}nav a:hover{color:var(--green)}.header-contact{padding:13px 18px;border:1px solid var(--line);font-size:13px;font-weight:600}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1.05fr;min-height:620px}.hero-copy{padding:67px 8% 25px 10%;background:var(--paper);display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;display:flex;align-items:center;gap:9px}.eyebrow>span{width:7px;height:7px;border-radius:100%;background:var(--green)}h1{font-size:clamp(45px,4.6vw,76px);letter-spacing:-3px;line-height:1.13;font-weight:500;margin:33px 0 23px}em{font-family:inherit;font-style:normal;font-weight:500;color:var(--green)}.hero-copy>p{font-size:15px;line-height:1.8;color:var(--muted);max-width:350px;margin:0 0 28px}.button{background:var(--green);color:#fff;padding:17px 22px;display:inline-flex;gap:42px;font-size:13px;align-items:center}.button:hover{background:var(--dark)}.button span{font-size:22px}.hero-bottom{margin-top:auto;padding-top:50px;display:flex;align-items:center;justify-content:space-between;width:100%}.hero-bottom>span{font-size:9px;letter-spacing:1.4px;line-height:1.8;color:var(--muted)}.hero-bottom>a{border:1px solid #c6d4cb;border-radius:50%;padding:12px 17px}.hero-image{position:relative;overflow:hidden;background:#ccd9d3}.hero-image>img{width:100%;height:100%;object-fit:cover;position:absolute;object-position:52% center}.hero-image:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(3,32,27,.78))}.image-label{position:absolute;bottom:39px;left:35px;z-index:1;color:white}.image-label>span{font-size:9px;letter-spacing:2px}.image-label strong{font-size:28px;font-weight:400;display:block;margin:12px 0}.image-label a{font-size:11px;border-bottom:1px solid #ffffff80;padding-bottom:5px}.image-index{position:absolute;right:30px;bottom:40px;z-index:1;color:#fff;font-size:17px}.image-index span{opacity:.55;font-size:12px}.statement{padding:24px 5%;background:var(--green);color:white;display:flex;gap:45px;font-size:11px;letter-spacing:1.8px}.statement-end{margin-left:auto;opacity:.65}.section{padding:90px 7%}.about{display:grid;grid-template-columns:1fr 1fr;gap:65px}.section h2{font-size:clamp(33px,3.2vw,48px);font-weight:400;line-height:1.25;letter-spacing:-1.6px;margin:22px 0 0}.about-body p{font-size:14px;line-height:1.9;color:var(--muted)}.about-body .large{font-size:19px;color:var(--dark);line-height:1.65;margin-top:0}.text-link{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:15px 0;font-size:12px;font-weight:600}.projects{background:var(--paper)}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.section-top>p{font-size:13px;color:var(--muted);line-height:1.8;max-width:310px;margin:0}.project-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin:35px 0 30px}.filters{display:flex;gap:28px}.filters button{background:none;border:0;padding:15px 0;font-size:12px;color:var(--muted);border-bottom:2px solid transparent}.filters button.active{color:var(--green);border-color:var(--green)}sup{font-size:8px;margin-left:4px}.project-count{font-size:9px;letter-spacing:1px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.project-card{text-align:left;background:none;border:0;padding:0;min-width:0}.project-photo{height:345px;position:relative;overflow:hidden;background:#e4eae4}.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-card:hover img{transform:scale(1.04)}.project-card:nth-child(2) .project-photo img{object-position:45% center}.project-photo.low-res{background:#102e32}.low-res img{object-fit:contain;padding:30px}.project-tag{position:absolute;top:16px;left:16px;background:#fff;padding:8px 10px;font-size:8px;letter-spacing:1px}.circle-arrow{position:absolute;bottom:16px;right:16px;background:white;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:22px}.project-meta{display:flex;justify-content:space-between;gap:4px;font-size:8px;letter-spacing:.5px;color:var(--muted);margin:20px 0 12px}.project-meta span:last-child{color:var(--green)}h3{font-size:21px;font-weight:500;margin:0 0 9px;letter-spacing:-.4px}.project-card>p{font-size:12px;color:var(--muted);margin:0;line-height:1.6}.expertise{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.expertise-photo{height:485px;position:relative;background:#eee;overflow:hidden}.expertise-photo img{width:100%;height:100%;object-fit:cover;object-position:33% center}.expertise-photo>span{position:absolute;bottom:0;left:0;padding:18px 22px;background:var(--green);color:white;font-size:9px;letter-spacing:1.5px}.expertise-copy h2{margin-bottom:35px}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;font-size:16px;padding:21px 0;cursor:pointer}summary::-webkit-details-marker{display:none}summary>span{font-size:10px;color:var(--green);margin-right:20px}summary b{margin-left:auto;font-size:20px;font-weight:400}details[open] summary b{transform:rotate(45deg)}details p{font-size:13px;color:var(--muted);line-height:1.9;margin:0 0 23px 33px}.journal{padding-top:10px}.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:35px}.journal-grid button{border:0;padding:0;background:none;text-align:left}.journal-grid img{width:100%;height:255px;object-fit:cover}.journal-grid span{font-size:9px;letter-spacing:1.2px;color:var(--green);display:block;margin:20px 0 12px}.journal-grid h3{font-size:19px;display:flex;justify-content:space-between;line-height:1.5}.journal-grid b{font-weight:400}.contact{background:var(--mint);position:relative;padding-bottom:40px}.contact h2{font-size:clamp(33px,3.5vw,54px);max-width:850px}.contact-arrow{position:absolute;right:7%;top:90px;border:1px solid #9bbab0;border-radius:50%;width:80px;height:80px;display:grid;place-items:center;font-size:38px}.contact-line{display:flex;gap:50px;border-top:1px solid #b9cec3;margin-top:45px;padding-top:25px;font-size:15px}footer{padding:48px 7% 20px;background:#103f39;color:#e4eee9}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:35px;border-bottom:1px solid #ffffff24}.footer-top .brand img{border-radius:3px;width:50px;height:50px}.footer-top .brand>span{font-size:19px}.footer-top p{font-size:10px;letter-spacing:1px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;padding:35px 0}.footer-grid span{font-size:9px;letter-spacing:1.3px;color:#9dc3b5}.footer-grid p{font-size:12px;line-height:1.9}.footer-bottom{border-top:1px solid #ffffff24;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.5px;color:#aac7bc}dialog{border:0;width:min(900px,92vw);max-height:90vh;padding:0;background:var(--paper);color:var(--dark)}dialog::backdrop{background:#052e29bb;backdrop-filter:blur(5px)}.close-dialog{position:absolute;top:14px;right:14px;z-index:2;border:0;border-radius:50%;width:40px;height:40px;background:white}.dialog-image{width:100%;max-height:480px;object-fit:contain;display:block;background:#e2e9e2}.dialog-body{padding:35px}.dialog-body h2{font-size:35px;font-weight:400;margin:12px 0 20px}.dialog-body p{font-size:14px;line-height:1.9;color:var(--muted)}.dialog-body .note{padding:15px;border-left:2px solid var(--green);font-size:12px;background:#e9eee8}.dialog-body .button{margin-top:15px;color:white}[hidden]{display:none!important}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:730px}}@media(max-width:1050px){nav{gap:16px;font-size:11px}.header-contact{display:none}.hero{min-height:560px}.hero-copy{padding-top:50px}h1{letter-spacing:-2px}.section{padding:70px 5%}.project-photo{height:280px}.about{gap:35px}.project-meta{font-size:7px}.contact-arrow{right:5%}}@media(max-width:680px){header{height:78px;padding:0 5%}.brand img{width:46px;height:48px}.brand>span{font-size:18px}.brand small{font-size:8px}.menu{display:block;border:1px solid var(--line);background:none;padding:8px 12px;font-size:20px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:25px 6%;box-shadow:0 12px 20px #163c3912;flex-direction:column;font-size:15px;gap:24px}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 6% 25px}h1{font-size:51px;margin-top:24px;letter-spacing:-2px}.hero-copy>p{font-size:14px;max-width:330px}.hero-bottom{padding-top:30px}.hero-image{height:380px}.image-label{bottom:25px;left:25px}.image-label strong{font-size:25px}.statement{font-size:8px;letter-spacing:.8px;gap:18px;padding:19px 6%}.statement-end{display:none}.section{padding:55px 6%}.about{grid-template-columns:1fr;gap:26px}.section h2{font-size:35px}.about-body .large{font-size:17px}.section-top{display:block}.section-top>p{margin-top:20px;font-size:12px}.project-toolbar{margin-top:20px}.filters{gap:20px}.filters button{font-size:10px}.project-count{display:none}.project-grid{grid-template-columns:1fr;gap:35px}.project-photo{height:365px}.project-meta{font-size:9px}.project-card h3{font-size:24px}.project-card>p{font-size:13px}.expertise{grid-template-columns:1fr;gap:35px}.expertise-photo{height:330px}.journal{padding-top:10px}.journal-grid{grid-template-columns:1fr;gap:30px}.journal-grid img{height:235px}.contact h2{font-size:34px;padding-right:15px}.contact-arrow{position:static;margin-top:25px;width:54px;height:54px;font-size:28px}.contact-line{flex-direction:column;gap:18px;margin-top:25px;font-size:14px}.footer-top{align-items:flex-start;gap:25px;flex-direction:column}.footer-grid{grid-template-columns:1fr;gap:15px}.footer-bottom{flex-wrap:wrap;line-height:1.7}.footer-bottom span:nth-child(2){order:3;width:100%;font-size:7px}.dialog-body{padding:25px}.dialog-body h2{font-size:29px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Full wordmark replaces the clipped lettering in the source image. */
.brand{color:var(--green)}
.brand>.brand-symbol,.footer-top .brand>.brand-symbol{display:block;position:relative;overflow:hidden;width:59px;height:46px;flex-shrink:0;margin:0}
.brand .brand-symbol img,.footer-top .brand .brand-symbol img{display:block;width:59px;height:59px;max-width:none;object-fit:contain;object-position:top;border-radius:0;filter:grayscale(1) sepia(1) saturate(5) hue-rotate(115deg) brightness(.75)}
.brand>span:not(.brand-symbol){font-weight:700;letter-spacing:1.5px}
.brand small{font-weight:500}.footer-top .brand{color:#fff}
h1{font-weight:500;letter-spacing:-2px}.section h2{font-weight:500;letter-spacing:-1px}h3,.image-label strong{font-weight:500}
@media(max-width:680px){.brand>.brand-symbol{width:46px;height:36px}.brand .brand-symbol img{width:46px;height:46px}h1{font-size:48px;letter-spacing:-1.5px}.section h2{letter-spacing:-.6px}}
.brand .brand-symbol img,.footer-top .brand .brand-symbol img{filter:none}
