:root{--ink:#142e37;--navy:#112d36;--aqua:#a9e2d6;--paper:#f4f5ef;--muted:#55666a;--line:#d2d9d5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,summary,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #2e947e;outline-offset:6px}.skip{position:absolute;top:-80px;left:20px;background:white;padding:16px;z-index:20}.skip:focus{top:10px}.site-header{height:100px;padding:0 4.3%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);gap:25px}.brand{display:flex;align-items:center;gap:17px}.brand-mark{font-weight:800;font-size:44px;letter-spacing:-4px;line-height:1}.brand-mark span{font-size:26px;vertical-align:top;color:#348576;letter-spacing:-2px}.brand-name{font-size:10px;letter-spacing:1.8px;line-height:1.5;font-weight:700;border-left:1px solid #aebcb6;padding-left:16px}.site-header nav{display:flex;gap:30px;align-items:center;font-size:13px}.site-header nav a:hover{color:#287867}.nav-cta{border-bottom:1px solid var(--ink);padding:12px 0}.nav-cta span{margin-left:18px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:690px;color:var(--paper);background:var(--navy)}.hero-copy{padding:60px 8.2% 25px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-family:monospace;font-size:11px;font-weight:400;letter-spacing:1.5px;line-height:1.6;margin:0 0 35px;color:var(--aqua)}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--aqua);margin-right:8px}.hero h1{font-weight:400;font-size:clamp(58px,5.7vw,94px);letter-spacing:-4px;line-height:1.01;margin:25px 0 30px}.hero-description{font-size:17px;line-height:1.7;color:#d0dbd9;margin:0 0 32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:19px 22px;font-size:13px;border:0;cursor:pointer;font-weight:700;transition:background .2s,transform .2s}.button.light{background:var(--aqua);color:var(--ink)}.button:hover{background:#c4f0e6;transform:translateY(-2px)}.button span{font-size:21px;font-weight:400}.text-link{display:inline-flex;gap:30px;align-items:center;font-size:12px;border-bottom:1px solid #6d8688;padding-bottom:10px;margin:25px 0 30px}.hero-foot{margin-top:auto;padding-top:45px;width:100%;border-bottom:1px solid #4e676c;display:flex;justify-content:space-between;font:9px monospace;letter-spacing:1px;padding-bottom:14px;color:#a9bebc}.hero-visual{position:relative;overflow:hidden;min-height:600px}.hero-visual>img{height:100%;width:100%;object-fit:cover;object-position:center 45%;position:absolute;inset:0;filter:brightness(.83) saturate(.78)}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,#092b366b)}.image-label{position:absolute;bottom:35px;left:35px;right:35px;z-index:1;display:flex;justify-content:space-between;align-items:end;font-size:15px;line-height:1.5}.crosshair{border:1px solid #d4e1dd77;border-radius:50%;width:58px;height:58px;display:grid;place-items:center;font-size:35px;font-weight:100}.section-pad{padding:100px 6%}.dark{color:#446761}.intro{display:grid;grid-template-columns:1fr 2fr;gap:7%;border-bottom:1px solid var(--line)}h2{font-size:clamp(33px,3.4vw,54px);line-height:1.12;font-weight:400;letter-spacing:-1.8px;margin:0 0 28px}p{line-height:1.75}.intro div>p,.about div>p{font-size:17px;color:var(--muted);max-width:720px;margin-bottom:0}.section-heading{display:grid;grid-template-columns:1fr 1.6fr;column-gap:5%}.section-heading .eyebrow{grid-row:span 2}.section-heading>p:last-child{color:var(--muted);margin:0 0 40px}.service-list{margin-top:35px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;gap:35px;cursor:pointer;padding:27px 0}summary::-webkit-details-marker{display:none}.number{font:12px monospace;color:#66847d;min-width:35px}summary h3{margin:0;font-size:clamp(20px,2.1vw,30px);font-weight:400;letter-spacing:-.7px}.expand{margin-left:auto;font-size:27px;line-height:1}details[open] .expand{transform:rotate(45deg)}.service-content{margin-left:70px;padding:0 30% 30px 0}.service-content p{color:var(--muted);margin:0 0 20px}.service-content>span{font:10px monospace;letter-spacing:1px;color:#3e7569}.system-feature{display:grid;grid-template-columns:1.05fr 1fr;background:var(--navy);color:var(--paper)}.system-photo{min-height:590px;position:relative}.system-photo img{position:absolute;width:100%;height:100%;object-fit:cover;filter:saturate(.6) brightness(.8)}.photo-caption{position:absolute;bottom:25px;left:30px;font:10px monospace;letter-spacing:1px}.system-copy{padding:75px 12%}.system-copy h2{font-size:clamp(44px,4.6vw,72px)}.system-copy>p:not(.eyebrow){color:#c6d4d2;max-width:440px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:40px}.step-number{font:13px monospace;color:#42776d;border-top:1px solid #94b0a8;padding-top:17px;display:block}.steps h3{font-size:24px;font-weight:400;margin:35px 0 16px;letter-spacing:-.6px}.steps p{color:var(--muted);font-size:15px}.report{background:#e5eae3;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.report>div>p:not(.eyebrow){max-width:440px;color:var(--muted)}.report-list{list-style:none;padding:20px 0;margin:0;font-size:14px}.report-list li{padding:13px 0;border-bottom:1px solid #c2cec5}.report-list li:before{content:'↗';margin-right:16px;color:#397867}.report-sheet{background:#fffef8;box-shadow:0 16px 45px #213c2912;padding:34px;transform:rotate(2deg);max-width:470px;width:100%;justify-self:center}.sheet-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:35px}.sheet-top strong{font-size:25px;letter-spacing:-2px}.sheet-top span{font:7px monospace;letter-spacing:.5px}.report-sheet .eyebrow{font-size:9px;margin-bottom:15px}.report-sheet h3{font-size:32px;font-weight:400;line-height:1.1;letter-spacing:-1px;margin:0 0 24px}.sheet-photo{height:175px;overflow:hidden}.sheet-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;filter:saturate(.5)}.sheet-line{border-bottom:1px solid var(--line);padding:17px 0;font-size:11px;display:flex;gap:15px}.sheet-line span{font:10px monospace;color:#588375}.sheet-line strong{font-weight:400}.sheet-bottom{display:flex;justify-content:space-between;font:7px monospace;letter-spacing:.5px;margin-top:35px}.about{display:grid;grid-template-columns:1fr 2fr;gap:7%}.request{background:var(--navy);color:var(--paper);display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.request h2{font-size:clamp(46px,4.9vw,76px)}.request>div>p:not(.eyebrow){color:#c0d1cd;max-width:380px}.email{font-size:clamp(13px,1.3vw,19px);border-bottom:1px solid #78958d;display:inline-block;padding:12px 0}.email span{margin-left:10px}form label{display:flex;flex-direction:column;font-size:11px;letter-spacing:.3px;gap:10px;margin-bottom:22px;color:#dce5e0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}input,textarea,select{width:100%;border:0;border-bottom:1px solid #6e8987;background:transparent;color:var(--paper);padding:10px 0;border-radius:0;font-size:14px;outline-offset:5px}input:focus,textarea:focus,select:focus{outline:2px solid var(--aqua);border-bottom-color:var(--aqua)}textarea{resize:vertical}select option{background:var(--navy)}input::placeholder,textarea::placeholder{color:#91aaa5}.form-note{font-size:11px;color:#b3c8c1;line-height:1.7;margin-bottom:20px}#form-status{font-size:13px;color:var(--aqua);margin-bottom:0}footer{padding:35px 4.3%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer>p{font-size:12px}footer>span,footer>a:last-child{font-size:10px;color:var(--muted)}footer .brand-mark{font-size:33px}footer .brand-mark span{font-size:20px}footer .brand-name{font-size:8px}section[id]{scroll-margin-top:20px}@media(min-width:1600px){.hero{min-height:790px}.hero-copy{padding-top:75px}.hero h1{margin-top:50px}.section-pad{padding-top:120px;padding-bottom:120px}}@media(max-width:1050px){.site-header{padding:0 4%;height:88px}.site-header nav{gap:18px;font-size:11px}.brand-name{font-size:8px}.brand-mark{font-size:38px}.hero{min-height:650px}.hero-copy{padding:45px 8% 25px}.hero h1{font-size:62px;letter-spacing:-3px}.hero-description{font-size:15px}.hero-visual{min-height:650px}.section-pad{padding:75px 5%}.section-heading{grid-template-columns:.8fr 1.6fr}.service-content{padding-right:12%}.system-copy{padding:65px 10%}.steps{gap:30px}.request{gap:7%}.form-row{gap:18px}.report{gap:7%}footer>p{display:none}}@media(max-width:720px){html{scroll-padding-top:20px}.site-header{height:82px;padding:0 6%;position:relative;z-index:5}.brand-mark{font-size:38px}.brand-name{font-size:8px;padding-left:12px}.brand{gap:12px}.menu-toggle{display:flex;background:none;border:1px solid #b8c6bd;padding:9px 12px;gap:20px;color:var(--ink);font-size:12px;align-items:center}.menu-toggle span{font-size:20px}.site-header nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--paper);padding:20px 6% 30px;box-shadow:0 10px 20px #112d3620;flex-direction:column;align-items:stretch;gap:0;font-size:15px}.site-header nav.open{display:flex}.site-header nav a{padding:16px 0}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:40px 7% 25px}.eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:24px}.hero h1{font-size:clamp(55px,11.8vw,80px);margin:20px 0 25px;letter-spacing:-3px}.hero-description{font-size:16px;margin-bottom:25px}.hero-foot{padding-top:20px;font-size:8px}.hero-visual{min-height:390px;max-height:460px}.hero-visual>img{object-position:50% 43%}.image-label{bottom:24px;left:25px;right:25px}.section-pad{padding:60px 7%}.intro,.about{display:block}.intro .eyebrow,.about .eyebrow{margin-bottom:30px}h2{font-size:36px;letter-spacing:-1.2px}.intro div>p,.about div>p{font-size:16px}.section-heading{display:block}.section-heading .eyebrow{margin-bottom:28px}.service-list{margin-top:20px}summary{gap:15px;padding:24px 0}summary h3{font-size:20px;line-height:1.3;letter-spacing:-.4px}.number{font-size:10px;min-width:22px}.service-content{margin-left:37px;padding-right:0;font-size:14px}.service-content>span{font-size:8px}.system-feature{display:flex;flex-direction:column}.system-photo{min-height:350px}.system-copy{padding:55px 7%}.system-copy h2{font-size:50px}.steps{display:block;margin-top:35px}.steps article{margin-bottom:35px}.steps article:last-child{margin-bottom:0}.steps h3{margin-top:25px}.report{display:block}.report-sheet{margin:40px auto 5px;padding:25px;transform:rotate(1deg)}.report-sheet h3{font-size:29px}.report-list{font-size:13px}.request{display:block}.request h2{font-size:55px}.request form{margin-top:45px}.form-row{grid-template-columns:1fr;gap:0}.email{font-size:16px}.form-note{font-size:12px}.button{font-size:12px;padding:17px 20px}.request .button{width:100%}footer{padding:35px 7%;flex-wrap:wrap;gap:30px}footer>.brand{width:100%}footer>span{font-size:9px}footer>a:last-child{margin-left:auto}.sheet-top span{font-size:6px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.scope-note{max-width:760px;margin:30px 0 0 70px;font-size:12px;line-height:1.7;color:var(--muted)}.facility-gallery{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:22px;padding:0 6% 85px}.facility-gallery figure{margin:0}.facility-gallery img{width:100%;height:310px;object-fit:cover;display:block}.facility-gallery figcaption{padding-top:16px;font-size:12px;line-height:1.6;color:var(--muted)}.facility-gallery strong{display:block;font-size:18px;font-weight:400;color:var(--ink);margin-bottom:6px}.facility-gallery .gallery-tag{font:9px monospace;letter-spacing:1px;color:#42776d;display:block;margin-bottom:10px}@media(max-width:720px){.scope-note{margin-left:0}.facility-gallery{grid-template-columns:1fr;padding:0 7% 60px;gap:35px}.facility-gallery img{height:280px}}

.hero-visual>img{object-position:22% 50%;filter:brightness(.94) saturate(.92)}.intro{border-bottom:0;padding-bottom:55px}.facility-gallery{padding-bottom:60px;border-bottom:1px solid var(--line)}@media(max-width:720px){.hero-visual>img{object-position:25% 50%}.intro{padding-bottom:35px}}

.facility-gallery .treatment-photo{object-position:27% 50%}

.hero-visual>img{object-position:50% 55%}.facility-gallery .treatment-photo{object-position:39% 50%}

.facility-gallery img[src$="spa-finish-and-drain.jpg"]{object-position:50% 44%}

.facility-range{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:65px 6% 0}.facility-range figure{margin:0}.facility-range img{display:block;width:100%;height:320px;object-fit:cover}.facility-range figcaption{padding-top:13px;font-size:12px;color:var(--muted)}@media(max-width:720px){.facility-range{grid-template-columns:1fr;padding:45px 7% 0;gap:28px}.facility-range img{height:250px}}

.annotation-caption{font-size:10px!important;line-height:1.5;margin:9px 0 15px!important;color:var(--muted)}.annotation-caption a{color:inherit;text-underline-offset:3px}.sheet-photo a{display:block;height:100%}.sheet-photo a:focus-visible{outline:3px solid #42776d;outline-offset:4px}

.service-content .service-photo{display:block;width:100%;max-width:660px;height:auto;margin-top:24px}

.facility-range{grid-template-columns:repeat(3,minmax(0,1fr))}.facility-range img,.facility-range video{display:block;width:100%;height:260px;object-fit:cover;background:#13343b}@media(max-width:720px){.facility-range{grid-template-columns:1fr}.facility-range img,.facility-range video{height:250px}}

.facility-gallery .treatment-photo{object-position:60% 40%}

/* Photos are part of each service's explanation. */
.service-topic{padding:52px 0;border-top:1px solid var(--line)}.service-topic:last-child{border-bottom:1px solid var(--line)}.topic-heading{display:grid;grid-template-columns:45px 1fr;gap:25px;max-width:950px}.topic-heading .number{padding-top:9px}.topic-heading h3{font-size:clamp(25px,2.7vw,38px);font-weight:400;letter-spacing:-1px;line-height:1.2;margin:0 0 18px}.topic-heading p{max-width:770px;margin:0 0 18px;color:var(--muted)}.topic-label{font:10px monospace;letter-spacing:1px;color:#3e7569}.service-examples{margin:32px 0 0 70px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 20px}.service-examples figure,.steps figure,.about-examples figure{margin:0;min-width:0}.service-examples img{display:block;width:100%;height:230px;object-fit:cover;background:#dae0da}.service-examples a{display:block}.service-examples figcaption,.steps figcaption,.about-examples figcaption,.feature-video figcaption{font-size:11px;line-height:1.6;color:var(--muted);padding-top:10px}.service-examples figure:only-child{grid-column:span 2}.service-topic:nth-child(2n) .service-examples img{height:260px}.feature-video{margin:30px 0 0 70px;max-width:760px}.feature-video video{width:100%;display:block;max-height:430px;background:var(--navy)}.steps figure{margin-top:25px}.steps img{display:block;width:100%;height:210px;object-fit:cover}.about-examples{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:32px}.about-examples img{display:block;width:100%;height:240px;object-fit:cover}.sheet-photo img{filter:none}.scope-note{margin-left:70px}.service-topic img[src$="starting-blocks-and-deck.jpg"]{object-position:50% 45%}.service-topic img[src$="chemical-storage-and-feed.jpg"]{object-position:50% 42%}
@media(max-width:1050px){.service-examples{grid-template-columns:repeat(2,minmax(0,1fr))}.service-examples img,.service-topic:nth-child(2n) .service-examples img{height:240px}}
@media(max-width:720px){.service-topic{padding:35px 0}.topic-heading{grid-template-columns:24px 1fr;gap:13px}.topic-heading h3{font-size:25px;letter-spacing:-.5px}.topic-heading p{font-size:14px}.topic-label{font-size:8px}.service-examples{margin:25px 0 0;grid-template-columns:1fr;gap:25px}.service-examples img,.service-topic:nth-child(2n) .service-examples img{height:auto;max-height:390px;object-fit:cover}.service-examples figure:only-child{grid-column:auto}.feature-video{margin:25px 0 0}.about-examples{grid-template-columns:1fr;gap:25px}.about-examples img{height:auto;max-height:360px;object-fit:cover}.scope-note{margin-left:0}}

.topic-links{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 35px}.topic-links a{font-size:12px;border:1px solid var(--line);padding:11px 14px;display:flex;gap:18px;align-items:center}.topic-links a:hover{background:#e3eee7;border-color:#659888}.service-topic{scroll-margin-top:25px}@media(max-width:720px){.topic-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}.topic-links a{font-size:11px;padding:10px;gap:7px;justify-content:space-between}}

/* Mountain and coastal settings */
.setting-perspective{padding:65px 6% 15px}.setting-heading{display:grid;grid-template-columns:.8fr 1.1fr 1fr;gap:35px;align-items:start;margin-bottom:35px}.setting-heading h2{margin:0}.setting-heading>p:last-child{color:var(--muted);margin:0;max-width:340px}.setting-photos{display:grid;grid-template-columns:.85fr 1.4fr;gap:24px;align-items:stretch}.setting-photos figure{margin:0;min-width:0}.setting-photos a{display:block;height:clamp(400px,43vw,640px)}.setting-photos img{width:100%;height:100%;display:block;object-fit:cover}.setting-photos figure:first-child img{object-position:50% 48%}.setting-photos figcaption{font-size:12px;color:var(--muted);padding-top:13px}@media(max-width:720px){.setting-perspective{padding:45px 7% 10px}.setting-heading{display:block;margin-bottom:26px}.setting-heading h2{margin-bottom:20px}.setting-photos{grid-template-columns:1fr;gap:28px}.setting-photos a{height:auto}.setting-photos img{height:auto;max-height:none}}

.setting-photos{grid-template-columns:1fr 1fr}.setting-photos a{height:clamp(330px,33vw,480px)}@media(max-width:720px){.setting-photos{grid-template-columns:1fr}.setting-photos a{height:auto}}

.historic-feature-examples figure:nth-child(-n+4) img{height:310px;object-fit:contain;background:#e9ece5}.standards-references{font-size:12px!important}.standards-references a{text-decoration:underline}@media(max-width:720px){.historic-feature-examples figure:nth-child(-n+4) img{height:auto;max-height:480px}}

.whole-system-photo{margin:32px 0 0}.whole-system-photo a{display:block}.whole-system-photo img{display:block;width:100%;height:360px;object-fit:cover}.whole-system-photo figcaption{font-size:12px;line-height:1.6;color:var(--muted);padding-top:12px}@media(max-width:720px){.whole-system-photo img{height:auto;max-height:420px}}
