@charset "UTF-8";
:root{--ink:#142d31;--muted:#526660;--paper:#f4f4ed;--white:#fff;--line:#d8ded3;--teal:#326e5b;--mint:#c7e8ad;--dark-muted:#b5c8c1;--arrow-gap:8px;--font:Arial,Helvetica,sans-serif;--mono:"Courier New",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #2f8168;outline-offset:6px}button{cursor:pointer}svg{display:block}p,h1,h2,h3,figure{margin:0}h1,h2,h3{line-height:1.08;font-weight:500}h2{font-size:clamp(34px,4.1vw,54px);letter-spacing:-2px}h3{font-size:27px;letter-spacing:-.8px}.container{max-width:1320px;padding-inline:56px;margin-inline:auto}.eyebrow{font:11px/1.5 var(--mono);font-weight:700;letter-spacing:1.45px}.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-160%);padding:12px 20px;background:var(--mint);z-index:20}.skip-link:focus{transform:translateY(0)}.preview-notice{padding:7px 16px;text-align:center;background:#e3e8d9;color:#344a3e;font:11px/1.5 var(--mono)}.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{display:inline-flex;align-items:center;gap:9px;font-size:22px;font-weight:800;letter-spacing:-1.2px;white-space:nowrap}.wordmark svg{width:30px;height:30px;fill:none;stroke:var(--teal);stroke-width:1.6;margin-right:2px}.wordmark-dot{color:var(--teal);margin-left:-9px}.site-header nav{display:flex;align-items:center;gap:34px;font-size:13px}.site-header nav a{padding-block:9px}.site-header nav a:hover,.text-link:hover,.footer-main>a:last-child:hover,.footer-bottom a:hover{color:var(--teal)}.site-header nav .nav-contact{margin-left:14px;border-bottom:1px solid var(--ink)}.menu-toggle{border:1px solid var(--line);background:transparent;padding:8px 12px}.menu-toggle[hidden]{display:none}.hero{padding-top:55px}.hero-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:35px;align-items:center}.hero-copy{padding-block:5px 20px}.hero .eyebrow{display:flex;align-items:center;gap:13px;margin-bottom:27px}.small-cross{font-size:24px;color:var(--teal);font-weight:400}h1{font-size:clamp(48px,5.35vw,74px);letter-spacing:-3.8px;line-height:1.035}h1>span{color:var(--teal)}.hero-description{max-width:410px;margin-top:26px;font-size:15px;color:var(--muted);line-height:1.8}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:31px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:flex-start;gap:var(--arrow-gap);padding:15px 20px;font-size:13px;transition:background .18s}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:var(--teal)}.text-link{display:inline-flex;align-items:center;gap:var(--arrow-gap);font-size:12px;border-bottom:1px solid var(--line);padding-block:5px}.map-figure{background:var(--ink);color:var(--dark-muted);position:relative;min-width:0}.map-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:23px 25px 0;font:8px/1.5 var(--mono);letter-spacing:1px}.map-topline>span:first-child{display:flex;align-items:center;gap:8px}.status-dot{width:5px;height:5px;display:inline-block;background:var(--mint);border-radius:50%}.map-canvas{position:relative}.terrain-art{width:100%;height:auto}.terrain-contours,.water-layer,.data-layer,.map-label{transition:opacity .35s}.data-layer{opacity:.55}.water-layer{opacity:.32}.map-figure[data-active-layer="water"] .water-layer{opacity:1}.map-figure[data-active-layer="water"] .terrain-contours{opacity:.35}.map-figure[data-active-layer="water"] .data-layer{opacity:.15}.map-figure[data-active-layer="data"] .data-layer{opacity:1}.map-figure[data-active-layer="data"] .terrain-contours{opacity:.35}.map-label{font:9px var(--mono);letter-spacing:1px}.map-note{position:absolute;bottom:38px;right:24px;display:flex;align-items:center;gap:12px;font-size:12px;line-height:1.5;background:rgba(20,45,49,.88);padding:12px 15px;border:1px solid #44615b}.map-note strong{color:var(--mint);font-weight:400}.note-cross{color:var(--mint);font-size:30px}.map-figure figcaption{padding:0 25px 22px}.layer-controls{display:flex;gap:6px;flex-wrap:wrap}.layer-controls button{border:1px solid #5e7971;color:#cbdad3;background:transparent;font:10px var(--mono);padding:8px 11px}.layer-controls button:hover{border-color:var(--mint)}.layer-controls button[aria-pressed="true"]{background:var(--mint);border-color:var(--mint);color:var(--ink)}.layer-controls button:focus-visible{outline-color:var(--mint)}#layer-description{font-size:11px;margin-top:11px;color:#b9cec3;min-height:18px}.illustration-label{display:block;margin-top:9px;font:7px/1.6 var(--mono);letter-spacing:.7px;color:#a5bbb0}.hero-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:48px;padding-block:21px;border-top:1px solid var(--line);font:9px/1.5 var(--mono);letter-spacing:1px}.hero-foot a{letter-spacing:0}.section{padding-block:102px}.section-intro{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:48px}.section-intro>.eyebrow{padding-top:9px;color:var(--teal)}.section-intro>div{max-width:660px}.section-intro h2{margin-bottom:22px}.section-intro>div>p{max-width:480px;font-size:15px;color:var(--muted)}.expertise{border-top:1px solid var(--line);background:#fcfcf8}.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{border:1px solid var(--line);padding:29px 27px 25px;display:flex;flex-direction:column;min-width:0}.service-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:45px}.service-number{font:9px/1.5 var(--mono);letter-spacing:1px;color:var(--muted)}.service-top svg{width:36px;height:36px;stroke:var(--teal);stroke-width:1.1;fill:none}.service h3{margin-bottom:24px;font-size:25px;line-height:1.16}.service>p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:35px}.service-foot{border-top:1px solid var(--line);padding-top:17px;margin-top:auto;font:8px/1.6 var(--mono);letter-spacing:.6px}.service-featured{background:var(--ink);border-color:var(--ink);color:var(--paper)}.service-featured .service-number,.service-featured .service-foot{color:var(--mint)}.service-featured .service-top svg{stroke:var(--mint)}.service-featured>p{color:#c3d2cb}.service-featured .service-foot{border-color:#4b625d}.about{background:var(--ink);color:var(--paper)}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:75px}.about .eyebrow{color:var(--mint);margin-bottom:36px}.about h2{font-size:clamp(32px,3.6vw,46px);line-height:1.18}.about h2 span{color:#a5c9ac}.about-copy{padding-top:49px}.about-copy>p:first-child{font-size:20px;line-height:1.55;color:#e1e9df;margin-bottom:24px}.about-copy>p:nth-child(2){font-size:14px;line-height:1.9;color:#b6c9bf}.about .text-link{color:var(--mint);border-color:#6a8777;margin-top:26px}.about a:focus-visible{outline-color:var(--mint)}.contact{padding-block:95px;background:var(--mint)}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}.contact .eyebrow{margin-bottom:28px}.contact h2{font-size:clamp(48px,5.5vw,72px);letter-spacing:-3px;line-height:1.05}.contact h2 span{color:var(--teal)}.contact-grid>div>p:last-child{max-width:390px;margin-top:24px;font-size:14px}.contact-action{padding-top:30px}.contact-action>.button{max-width:100%;font-size:15px;padding:21px 24px}.contact-action>p{font-size:12px!important;color:#405c42}.contact-pending{padding:23px;border:1px solid #91b77b;max-width:350px}.contact-pending strong{display:block;font-size:19px;font-weight:500;margin-bottom:8px}.contact-pending p{font-size:13px;color:#405c42}.site-footer{padding-block:43px 25px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:33px}.footer-main>p{font-size:12px;color:var(--muted)}.footer-main>a:last-child{font-size:11px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.footer-bottom>div{display:flex;gap:25px}.privacy-main{max-width:800px;padding-block:70px 100px}.privacy-main h1{font-size:52px;letter-spacing:-2px;margin-bottom:25px}.privacy-main h2{font-size:25px;letter-spacing:-.5px;margin:35px 0 15px}.privacy-main p{margin-bottom:20px;color:var(--muted)}.privacy-main a{text-decoration:underline}.privacy-main .eyebrow{margin-bottom:22px}
.arrow-link{display:inline-flex;align-items:center;justify-content:flex-start;gap:var(--arrow-gap)}.arrow-link>span[aria-hidden="true"]{flex-shrink:0;line-height:1}
.menu-toggle{display:none}.contact-email{overflow-wrap:anywhere}.footer-identity{color:var(--muted);font-size:11px;padding-bottom:20px;overflow-wrap:anywhere}
@media(min-width:1440px){.hero{padding-top:65px}.hero-grid{gap:60px}.hero-foot{margin-top:60px}}
@media(max-width:1100px){.container{padding-inline:35px}.hero-grid{gap:24px}h1{font-size:clamp(45px,5.7vw,64px);letter-spacing:-2.9px}.hero-actions{gap:16px}.hero-actions .text-link{font-size:11px}.section{padding-block:80px}.service{padding:24px 20px}.service h3{font-size:22px}.service-foot{font-size:7px}.about-grid{gap:40px}.contact-grid{gap:40px}}
@media(max-width:760px){html{scroll-padding-top:24px}.container{padding-inline:24px}.header-inner{min-height:80px;flex-wrap:wrap;gap:0}.wordmark{font-size:20px}.site-header nav{gap:22px;font-size:12px;padding-bottom:18px;flex-basis:100%;justify-content:space-between}.site-header nav .nav-contact{margin-left:0}.menu-toggle:not([hidden]){display:block}.js-menu #main-nav{display:none}.js-menu #main-nav.is-open{display:flex}.hero{padding-top:38px}.hero-grid{grid-template-columns:1fr;gap:28px}.hero-copy{padding-bottom:6px}.hero .eyebrow{font-size:10px;margin-bottom:22px}h1{font-size:clamp(49px,9.4vw,72px);letter-spacing:-2.8px}.hero-description{max-width:510px;font-size:15px;margin-top:24px}.hero-actions{margin-top:27px;gap:22px}.hero-actions .text-link{font-size:12px}.map-figure{max-width:540px;width:100%;margin-inline:auto}.map-topline{margin:20px 21px 0}.map-canvas{max-height:490px;overflow:hidden}.terrain-art{max-height:490px}.hero-foot{margin-top:30px;font-size:8px}.section{padding-block:62px}.section-intro{grid-template-columns:1fr;gap:22px;margin-bottom:32px}.section-intro>.eyebrow{padding-top:0}h2{font-size:38px;letter-spacing:-1.8px}.section-intro h2{margin-bottom:19px}.expertise-grid{grid-template-columns:1fr;gap:14px}.service{padding:26px;min-height:300px}.service-top{margin-bottom:22px}.service h3{font-size:27px}.service>p{max-width:460px;margin-bottom:27px}.service h3 br{display:none}.service-foot{font-size:8px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.about .eyebrow{margin-bottom:25px}.about h2{font-size:37px}.about-copy{padding-top:0}.about-copy>p:first-child{font-size:19px}.contact{padding-block:62px}.contact h2{font-size:57px}.contact-action{padding-top:0}.contact-action>.button,.contact-pending{max-width:100%}.contact-action>p{margin-top:16px!important}.footer-main{flex-wrap:wrap;gap:16px}.footer-main>p{order:3;flex-basis:100%;font-size:11px}.footer-bottom{font-size:9px;align-items:flex-start}.footer-bottom>div{gap:16px}.privacy-main h1{font-size:42px}.privacy-main{padding-block:50px 70px}}
@media(max-width:360px){.container{padding-inline:18px}.hero-actions{gap:15px}.map-topline{font-size:7px}.map-topline>span:last-child{display:none}.layer-controls button{font-size:9px;padding:7px 9px}.map-note{right:17px;bottom:23px;font-size:10px}.hero-foot{align-items:flex-start}.hero-foot>span{max-width:145px}.site-header nav{gap:14px}.contact h2{font-size:49px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(forced-colors:active){.button,.layer-controls button,.service{border:1px solid ButtonText}.terrain-contours,.data-layer,.water-layer{stroke:CanvasText}}

/* Three fields share the same hierarchy, card treatment, and action spacing. */
.hero h1{font-size:clamp(40px,4.6vw,64px);line-height:1.12;letter-spacing:-2.8px}
.hero h1 span{display:block;color:var(--ink)}
.hero-description{max-width:470px}
.service{background:var(--paper);border-top:3px solid var(--teal);padding-bottom:28px}
.service-top{margin-bottom:32px}
.service h3{font-size:28px;margin-bottom:22px}
.service-body{flex:1;display:grid;grid-template-rows:repeat(2,1fr);gap:18px}
.service-body p{font-size:14px;line-height:1.85;color:var(--muted);margin:0}
.service-brand{padding-top:23px;margin-top:16px;border-top:1px solid var(--line)}
.brand-name{font-size:24px;letter-spacing:-.8px;font-weight:600;line-height:1.2}
.brand-name span{color:var(--teal)}
.brand-caption{font:10px/1.6 var(--mono);color:var(--muted);margin-top:7px}
.brand-geosanct,.brand-contamine{color:var(--teal);font-size:24px;letter-spacing:-.9px}
.service-action{margin-top:23px}
.button-outline{background:transparent;border:1px solid var(--ink);padding:12px 14px;max-width:100%;font-size:12px;color:var(--ink)}
.button-outline:hover{background:var(--ink);color:var(--paper)}
.fields-preview-note{font:10px/1.7 var(--mono);color:var(--muted);margin-top:10px;max-width:760px}
.fields-note{font-size:12px;color:var(--muted);margin-top:25px;max-width:620px}
.about-copy>p:not(:first-child){font-size:14px;line-height:1.9;color:#b6c9bf;margin-bottom:18px}
.brand-preview section{padding-block:24px;border-top:1px solid var(--line);margin-top:30px}
.brand-preview section h2{margin-top:0}
.brand-preview .preview-detail{font-family:var(--mono);font-size:12px;border-left:2px solid var(--teal);padding-left:15px}
@media(max-width:980px){.expertise-grid{grid-template-columns:1fr}.service{padding:28px}.service-body{max-width:65ch;grid-template-rows:auto auto}.service h3 br{display:none}.service-top{margin-bottom:22px}.service-brand{margin-top:22px}}
@media(max-width:760px){.hero h1{font-size:clamp(39px,8.2vw,58px);letter-spacing:-1.8px}.service h3{font-size:27px}.service{padding:25px}.hero-foot>span{max-width:180px}.hero-foot>a{max-width:135px}.fields-note{font-size:11px}.brand-name{font-size:24px}}

.about-location{font:10px/1.6 var(--mono);letter-spacing:1px;color:#b6c9bf;margin-top:28px}
.contact-grid{grid-template-columns:1fr 1.15fr;gap:65px;align-items:start}
.contact-grid>div>p:not(.eyebrow):not(.contact-caption){max-width:370px;margin-top:24px;font-size:14px;line-height:1.8}
.contact-grid .contact-caption{font:9px/1.8 var(--mono);color:#405c42;margin-top:30px;letter-spacing:.7px}
.inquiry-form{position:relative;padding-top:4px;min-width:0}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;min-width:0}
.form-field label{font-size:12px;color:var(--ink)}
.form-field .optional{font-size:10px;color:#48613d}
.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;background:#f4f8ed;border:1px solid #93af80;border-radius:0;padding:12px 13px;font:14px/1.5 var(--font);color:var(--ink)}
.form-field textarea{resize:vertical;min-height:145px}
.form-field textarea::placeholder{color:#5d7153;opacity:1}
.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.form-privacy{font-size:11px;line-height:1.8;color:#405c42;margin:0 0 22px}
.form-privacy a{text-decoration:underline;text-underline-offset:3px}
.form-preview-note{font-size:12px;line-height:1.7;margin:0 0 20px;padding:12px 14px;border-left:2px solid var(--teal);background:#dfedcd;color:var(--ink)}
.contact-unavailable{padding:30px;border:1px solid #91b77b;background:#d5edc0;min-width:0;align-self:center}.contact-unavailable .eyebrow{margin-bottom:18px}.contact-unavailable h3{font-size:28px;margin-bottom:18px}.contact-unavailable>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:38ch}.contact-unavailable .text-link{margin-top:24px;border-color:#91b77b}
.inquiry-form .button{border:0;cursor:pointer;font-family:var(--font)}
.inquiry-form .button:disabled{opacity:.6;cursor:wait}
.form-status{font-size:12px;line-height:1.8;margin-top:16px;overflow-wrap:anywhere}
.form-status[data-state="error"]{color:#6b2924}
.form-status[data-state="success"]{color:#204f2b}
.form-status:focus{outline:none}
@media(max-width:980px){.contact-grid{gap:35px}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr;gap:35px}.contact-grid .contact-caption{margin-top:20px}.form-row{grid-template-columns:1fr 1fr;gap:16px}}
@media(max-width:480px){.form-row{grid-template-columns:1fr;gap:0}.inquiry-form .button{width:100%;justify-content:center}}

/* A quiet menu control that follows the wordmark's fine-line geometry. */
.menu-toggle{width:44px;height:44px;flex-shrink:0;padding:11px;border:0;border-radius:0;background:transparent;color:var(--ink);transition:background .18s,color .18s}
.menu-toggle:hover,.menu-toggle[aria-expanded="true"]{background:#e7eddf;color:var(--teal)}
.menu-icon{position:relative;display:block;width:22px;height:20px}
.menu-icon::before,.menu-icon::after{content:"";position:absolute;left:0;top:50%;width:22px;height:1.5px;background:currentColor;transform-origin:center;transition:transform .18s}
.menu-icon::before{transform:translateY(-4px)}
.menu-icon::after{transform:translateY(4px)}
.menu-toggle[aria-expanded="true"] .menu-icon::before{transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-icon::after{transform:rotate(-45deg)}
@media(max-width:760px){.menu-toggle:not([hidden]){display:grid;place-items:center}.js-menu #main-nav.is-open{border-top:1px solid var(--line);padding-top:16px;padding-bottom:20px}}
