:root{--navy:#21345e;--dark:#172844;--green:#87b63e;--lime:#d9edac;--paper:#f3f5ed;--muted:#647162;--line:#d4ddcc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--navy);font:14px 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}header{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:22px 6%;background:#f3f5edf5;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.logo{width:245px;height:auto;display:block;mix-blend-mode:multiply}nav{display:flex;align-items:center;gap:28px;font-size:12px}.button{background:var(--navy);color:#fff;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid transparent;padding:18px 23px;border-radius:3px;font-size:12px;font-weight:700;transition:.2s}.button:hover{background:#142649;transform:translateY(-2px)}.button.compact{padding:14px 18px;font-size:11px}.button.lime{background:var(--lime);color:var(--navy)}.text-link{display:inline-flex;align-items:center;gap:38px;padding:12px 0;border-bottom:1px solid currentColor;font-size:12px;font-weight:700}.text-link span{font-size:20px}.menu-toggle{display:none}.mobile-menu[hidden]{display:none}.skip{position:absolute;top:-80px;background:white;padding:15px;z-index:100}.skip:focus{top:0}.hero{padding:62px 6% 0}.eyebrow{display:block;font-size:9px;font-weight:700;letter-spacing:1.9px;line-height:1.7}.eyebrow i,.status i{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:9px}.hero-top{display:grid;grid-template-columns:1.45fr 1fr;gap:80px;align-items:end;padding:25px 0 48px}h1{font-weight:500;font-size:clamp(45px,5.7vw,88px);letter-spacing:-4.8px;line-height:1.06}h1 em{color:#7da64c;font-style:normal}.hero-intro{max-width:365px}.hero-intro p{line-height:1.9;color:var(--muted);font-size:14px;margin-bottom:18px}.hero-exhibit{display:grid;grid-template-columns:1fr 2fr;background:#e7eddf;border:1px solid var(--line);border-radius:5px;overflow:hidden;min-height:355px}.exhibit-side{background:var(--navy);color:#fff;padding:32px;display:flex;flex-direction:column}.micro{font-size:9px;letter-spacing:1.8px;color:#c8dca5}.exhibit-side h2{font-size:26px;font-weight:500;line-height:1.3;letter-spacing:-.9px;margin:30px 0 18px}.exhibit-side p{font-size:12px;line-height:1.9;color:#ccd6c8;max-width:230px}.exhibit-side a{font-size:11px;font-weight:600;display:flex;gap:30px;margin-top:20px}.exhibit-bottom{font-size:8px;letter-spacing:1.3px;margin-top:auto;padding-top:35px;color:#d6e5be}.hero-image{border:0;background:#e7eddf;position:relative;padding:25px 18px 42px;display:grid;align-items:center}.hero-image img{width:100%;height:auto;mix-blend-mode:multiply}.enlarge-label{position:absolute;bottom:15px;right:18px;font-size:8px;letter-spacing:1px;color:var(--navy);display:flex;align-items:center;gap:15px}.enlarge-label b{font-size:17px}.hero-foot{display:flex;justify-content:space-between;padding:24px 0;border-bottom:1px solid var(--line);text-transform:uppercase;font-size:9px;letter-spacing:1px;gap:20px}.hero-foot span:before{content:'↗';margin-right:12px;color:#7ca047}.section{padding:90px 6%}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:end;margin-bottom:45px}.section-heading h2{font-size:clamp(31px,3.3vw,48px);font-weight:500;letter-spacing:-1.9px;line-height:1.2;margin-top:18px}.section-heading>p{color:var(--muted);font-size:13px;line-height:1.9;max-width:400px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.project-image{height:310px;position:relative;overflow:hidden;background:#e4eadc}.project-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .5s}.map-preview img{padding:20px}.plan-preview img{object-fit:cover;object-position:center 65%}.project-preview:hover img{transform:scale(1.035)}.image-number{position:absolute;left:20px;top:20px;background:var(--paper);padding:8px 11px;font-size:9px;letter-spacing:1px}.circle-arrow{width:40px;height:40px;background:var(--navy);color:#fff;border-radius:50%;display:grid;place-items:center;position:absolute;right:20px;bottom:20px;font-size:19px}.project-meta{display:flex;justify-content:space-between;gap:15px;margin-top:23px;font-size:8px;letter-spacing:1.1px;color:#72805e}.project-preview h3{font-size:27px;font-weight:500;letter-spacing:-1px;line-height:1.3;margin:12px 0}.project-preview p{font-size:13px;color:var(--muted);line-height:1.8}.case{background:#e7eddf;border-top:1px solid var(--line)}.case-heading{display:grid;grid-template-columns:60px 1fr auto;align-items:start;gap:28px}.case-index{font-size:17px;color:#88a16e;padding-top:5px}.case-heading h2{font-size:clamp(32px,3.7vw,54px);font-weight:500;letter-spacing:-2.1px;line-height:1.15;margin-top:16px}.status{font-size:9px;padding:9px 13px;border:1px solid #c7d4bb;border-radius:30px;white-space:nowrap}.case-intro{display:grid;grid-template-columns:1fr 1fr;gap:11%;margin:45px 0 40px}.case-lead{font-family:Manrope;font-size:20px;line-height:1.7;letter-spacing:-.4px;max-width:440px}.case-intro h3{font-size:12px;font-weight:700;margin-bottom:13px}.case-intro>div p{font-size:13px;line-height:1.9;color:#5f715f}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.tags span{font-size:9px;border:1px solid #c5d2b9;border-radius:20px;padding:7px 10px}.hydro-figures{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}.diagram{width:100%;border:1px solid #cfdbc4;background:#f5f7f0;position:relative;padding:20px 16px 42px;height:330px}.diagram img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.hydrograph{height:440px}figcaption{font-size:11px;line-height:1.8;margin-top:15px}figcaption b{font-weight:600;display:block}figcaption span{color:#6b7966;display:block;font-size:10px;max-width:370px}.case-note{display:grid;grid-template-columns:130px 1fr;gap:25px;border-top:1px solid #c9d5bc;padding-top:20px;margin-top:36px}.case-note>span{font-size:8px;letter-spacing:1.3px;font-weight:700;padding-top:3px}.case-note p{font-size:11px;color:#65745f;line-height:1.9;max-width:750px}.case>.text-link{margin-top:24px}.case-sanitario{background:#f5f5ee}.sanitary-figures{display:grid;grid-template-columns:1fr 1fr;gap:26px}.plan-detail{display:block;width:100%;height:460px;border:1px solid var(--line);background:#e8ecdf;position:relative;padding:16px 16px 42px;overflow:hidden}.plan-detail img{width:100%;height:100%;object-fit:cover;object-position:center 72%;mix-blend-mode:multiply}.expertise{background:var(--navy);color:#fff}.expertise .section-heading>p{color:#c0cfbf}.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.expertise article{border-top:1px solid #708166;padding-top:22px}.expertise article>span{color:#c5dda1;font-size:11px}.expertise h3{font-size:23px;font-weight:500;letter-spacing:-.5px;margin:25px 0 14px}.expertise article p{color:#c2d0bf;font-size:13px;line-height:1.9;max-width:320px}.expertise>.text-link{margin-top:35px;color:#d4e9b1}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:24px}.about h2{font-size:clamp(31px,3.2vw,46px);font-weight:500;letter-spacing:-1.8px;line-height:1.25}.about p{font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:15px}.contact{background:#dcebbf}.contact-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:9%;margin-top:23px}.contact h2{font-size:clamp(35px,4.1vw,61px);font-weight:500;letter-spacing:-2.6px;line-height:1.15}.contact-grid>div{align-self:end}.contact p{font-size:14px;line-height:1.9;color:#526746;margin-bottom:23px}.contact .button.lime{background:var(--navy);color:#fff}.phone{display:block;margin-top:17px;font-size:12px}footer{padding:40px 6% 24px}footer>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:30px}footer>div:first-child>span{font-size:10px;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);margin-top:35px;padding-top:22px;font-size:9px;color:#758069}#image-viewer{width:min(96vw,1450px);max-width:96vw;max-height:94vh;border:0;padding:24px;background:#f3f5ed;color:var(--navy);border-radius:5px;overflow:auto}#image-viewer::backdrop{background:#132341e8}.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:25px;position:sticky;top:-24px;padding:12px 0;background:#f3f5edf5}.viewer-bar h2{font-size:17px;font-weight:600;line-height:1.4}.close-viewer{background:var(--navy);color:#fff;border:0;padding:10px 15px;white-space:nowrap;font-size:12px}#viewer-note{font-size:12px;line-height:1.8;color:var(--muted);margin:8px 0 20px}#viewer-image{display:block;max-width:100%;width:auto;height:auto;margin:auto}a:focus-visible,button:focus-visible{outline:3px solid #80a53c;outline-offset:5px}.enlarge{cursor:zoom-in}.enlarge:hover{border-color:#91ac70}@media(min-width:1600px){.hero,.section{padding-left:max(6%,calc((100vw - 1450px)/2));padding-right:max(6%,calc((100vw - 1450px)/2))}}@media(max-width:1000px){nav{gap:18px}.logo{width:215px}.hero-top{gap:40px}.hero-exhibit{grid-template-columns:1fr 1.8fr}.exhibit-side{padding:26px}.exhibit-side h2{font-size:24px}.section-heading{gap:40px}.case-heading{grid-template-columns:40px 1fr}.status{grid-column:2;justify-self:start}.hydro-figures{grid-template-columns:1fr}.diagram{height:auto;min-height:260px;padding-bottom:45px}.diagram img{height:auto;max-height:650px}.case-intro{gap:7%}}@media(max-width:700px){header{padding:17px 6%}.logo{width:215px}header nav{display:none}.menu-toggle{display:block;background:none;border:1px solid var(--line);padding:5px 10px;font-size:22px;color:var(--navy)}.mobile-menu{position:sticky;top:78px;background:var(--paper);z-index:25;display:flex;flex-direction:column;align-items:stretch;padding:15px 6%;gap:0;border-bottom:1px solid var(--line)}.mobile-menu a{padding:12px 0}.hero{padding-top:35px}.hero-top,.section-heading,.case-intro,.about-grid,.contact-grid{grid-template-columns:1fr;gap:25px}h1{font-size:54px;letter-spacing:-3px}.hero-top{padding-bottom:30px}.hero-intro{max-width:none}.hero-exhibit{grid-template-columns:1fr}.exhibit-side{min-height:265px}.exhibit-side h2{margin:20px 0 12px;font-size:27px}.exhibit-side p{max-width:none}.exhibit-bottom{padding-top:24px}.hero-image{min-height:210px;padding:20px 10px 35px}.hero-foot{flex-wrap:wrap;justify-content:flex-start;gap:15px 24px;font-size:8px;line-height:1.6}.section{padding:60px 6%}.project-grid{grid-template-columns:1fr;gap:38px}.project-image{height:270px}.project-preview h3{font-size:26px}.section-heading{margin-bottom:32px}.case-heading{grid-template-columns:25px 1fr;gap:14px}.case-heading h2{font-size:35px;letter-spacing:-1.6px}.case-intro{margin-top:30px}.case-lead{font-size:19px;max-width:none}.case-note{grid-template-columns:1fr;gap:8px}.sanitary-figures{grid-template-columns:1fr;gap:30px}.plan-detail{height:360px}.expertise-grid{grid-template-columns:1fr;gap:30px}.expertise h3{margin-top:15px}.expertise article p{max-width:none}.about-grid{margin-top:20px}.contact-grid{margin-top:20px}.contact h2{font-size:40px;letter-spacing:-1.8px}footer>div:first-child,.footer-bottom{flex-direction:column;align-items:flex-start;gap:20px}.viewer-bar{align-items:start}.viewer-bar h2{font-size:14px}#image-viewer{padding:15px}.viewer-bar{top:-15px}.project-meta{font-size:7px;letter-spacing:.7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.typographic-preview{background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:40px;overflow:hidden}.typographic-preview:after{content:'';position:absolute;width:280px;height:280px;border:1px solid #d3e6aa25;border-radius:50%;right:-90px;top:-80px;pointer-events:none}.blueprint-kicker{font-size:8px;letter-spacing:2px;color:#d6e9b8;margin-bottom:20px}.blueprint-title{font-family:Manrope;font-size:36px;line-height:1.2;font-weight:400;letter-spacing:-1.4px}.blueprint-line{display:flex;align-items:center;gap:12px;margin-top:30px;font-size:8px;letter-spacing:1px;color:#cbdab8}.blueprint-line i{height:1px;width:25px;background:#a5be84}.typographic-preview .image-number{background:none;color:#a9bf8b;left:auto;right:24px;font-size:14px}.typographic-preview .circle-arrow{background:#d9edac;color:#21345e}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid var(--line);padding-top:30px}.review-grid article{border-right:1px solid var(--line);padding-right:28px}.review-grid article:last-child{border-right:0}.review-grid article>span{font-size:8px;letter-spacing:1.3px;color:#7b9462}.review-grid h3{font-size:23px;line-height:1.35;font-weight:500;letter-spacing:-.5px;margin:22px 0 16px}.review-grid p{font-size:13px;line-height:1.9;color:var(--muted)}@media(max-width:700px){.typographic-preview{padding:30px}.blueprint-title{font-size:33px}.review-grid{grid-template-columns:1fr;gap:28px}.review-grid article{border-right:0;border-bottom:1px solid var(--line);padding:0 0 26px}.review-grid article:last-child{border-bottom:0}.review-grid h3{margin-top:14px}}

/* Service pages and organic search navigation */
.expertise-grid .text-link{font-size:11px;color:#d9edac;gap:25px;margin-top:14px}.expertise-grid h3 a:hover{text-decoration:underline;text-underline-offset:6px}.service-page h1{font-size:clamp(38px,4.7vw,69px);line-height:1.13;letter-spacing:-3px;margin-top:24px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;color:#6b7964;margin-bottom:36px}.breadcrumbs a{border-bottom:1px solid #a5b294}.service-hero{padding-top:32px}.service-opening{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:36px}.service-lead{font-family:Manrope;font-size:23px;line-height:1.65;letter-spacing:-.5px}.service-opening>div>p{font-size:14px;line-height:1.95;color:var(--muted)}.service-opening .button{margin-top:24px}.service-applications{background:#e7eddf}.service-use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.service-use-grid article{border-top:1px solid #c5d1b9;padding-top:24px}.service-use-grid article>span{font-size:10px;color:#7b975a}.service-use-grid h3{font-size:23px;line-height:1.4;letter-spacing:-.5px;font-weight:500;margin:20px 0 14px}.service-use-grid p{font-size:13px;line-height:1.9;color:var(--muted)}.service-steps{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:30px 50px}.service-steps li{display:flex;gap:22px;border-top:1px solid var(--line);padding-top:24px}.service-steps li>span{font-size:10px;color:#7f9e5a;padding-top:5px}.service-steps h3{font-size:20px;font-weight:500;line-height:1.4;margin-bottom:12px}.service-steps p{font-size:13px;color:var(--muted);line-height:1.9}.service-figure{margin-top:45px}.service-figure .diagram{height:460px;background:#edf1e5}.service-figure figcaption{font-size:11px;color:var(--muted);line-height:1.9;max-width:760px}.service-process>.text-link{margin-top:24px}.service-scope{background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:9%}.service-scope h2{font-size:38px;letter-spacing:-1.4px;font-weight:500;line-height:1.25;margin:20px 0}.service-scope p{font-size:14px;line-height:1.9;color:#c8d6c1}.service-scope aside{border-left:1px solid #6d805d;padding-left:35px}.service-scope aside h3{font-size:25px;line-height:1.4;font-weight:500;letter-spacing:-.6px;margin:20px 0}.service-scope .button{background:var(--lime);color:var(--navy);margin-top:24px}.service-faq{display:grid;grid-template-columns:1fr 1.3fr;gap:8%}.service-faq h2{font-size:40px;font-weight:500;letter-spacing:-1.4px;line-height:1.25;margin-top:20px}.service-faq details{border-top:1px solid var(--line);padding:22px 0}.service-faq details:last-child{border-bottom:1px solid var(--line)}.service-faq summary{font-size:15px;font-weight:600;line-height:1.6;cursor:pointer;padding-right:22px;position:relative;list-style:none}.service-faq summary::-webkit-details-marker{display:none}.service-faq summary:after{content:'+';position:absolute;right:0;top:0;color:#799d4d;font-size:22px}.service-faq details[open] summary:after{content:'−'}.service-faq details p{font-size:13px;line-height:1.9;color:var(--muted);margin-top:16px}.related-services{padding-top:0}.related-services>div{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:22px}.related-services a{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#e7eddf;padding:25px}.related-services h3{font-size:22px;font-weight:500;letter-spacing:-.6px}.related-services a>span{font-size:25px}.service-page .section-heading h2{max-width:650px}@media(max-width:700px){.service-page h1{font-size:40px;letter-spacing:-1.9px}.service-hero{padding-top:25px}.breadcrumbs{margin-bottom:28px;font-size:9px}.service-opening,.service-use-grid,.service-steps,.service-scope,.service-faq,.related-services>div{grid-template-columns:1fr;gap:28px}.service-opening{margin-top:25px}.service-lead{font-size:20px}.service-use-grid h3{margin-top:14px;font-size:22px}.service-figure .diagram{height:auto;min-height:250px;padding-bottom:45px}.service-figure img{height:auto;max-height:550px}.service-scope aside{border-left:0;border-top:1px solid #6d805d;padding:28px 0 0}.service-scope h2,.service-faq h2{font-size:33px}.related-services h3{font-size:21px}.related-services a{padding:22px}.service-process>.text-link{font-size:11px;gap:20px}}

.hero h1{letter-spacing:-.045em}
