:root{--ink:#123d2d;--paper:#f9fcf7;--lime:#c7ed87;--line:#d9e2d6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #3c761d;outline-offset:7px}a:hover{text-decoration:underline;text-underline-offset:5px}.skip{position:absolute;left:20px;top:-80px;background:white;padding:15px;z-index:9}.skip:focus{top:15px}.header{height:126px;padding:18px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{display:block;width:103px;height:85px;object-fit:contain}.header nav{display:flex;gap:37px;font-size:15px}.phone{font-size:16px}.hero{margin:0 22px;position:relative;min-height:690px;height:calc(100svh - 148px);max-height:920px;overflow:hidden;border-radius:7px;color:#092e25}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%}.hero-copy{position:relative;text-align:center;padding:65px 20px 170px}.eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;margin:0 0 27px}.hero h1{font-size:clamp(48px,5.6vw,84px);font-weight:500;line-height:1.04;letter-spacing:-.055em;margin:0 0 24px}.hero-description{font-size:19px;line-height:1.5;margin:0 0 30px}.contact-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:6px;font-size:15px;font-weight:600}.hero-foot{position:absolute;left:36px;right:36px;bottom:28px;display:flex;justify-content:space-between;gap:20px;color:white;text-shadow:0 1px 6px #000;font-size:13px}.wrap{width:88%;max-width:1330px;margin:auto}.intro{padding:115px 0 110px;display:grid;grid-template-columns:1.1fr 1fr;gap:12%}h2{font-size:clamp(34px,3.5vw,53px);font-weight:400;letter-spacing:-.045em;line-height:1.12;margin:0}em{font-family:Georgia,serif;font-weight:400;color:#427a37}p{line-height:1.6}.intro-copy p{font-size:17px;color:#4c5e53;margin:0 0 20px}.intro-copy .lead{font-size:23px;line-height:1.4;color:var(--ink)}.text-link{display:inline-block;font-size:15px;border-bottom:1px solid;padding-bottom:5px;margin-top:8px}.expertise{padding-bottom:105px}.section-heading{border-top:1px solid var(--line);padding:40px 0 48px}.section-heading .eyebrow{margin-bottom:22px}.service{display:grid;grid-template-columns:50px 1.1fr 1.1fr 140px;align-items:center;gap:25px;border-top:1px solid var(--line);padding:34px 0}.service:last-child{border-bottom:1px solid var(--line)}.service:hover{text-decoration:none}.service:hover h3,.service:hover .service-link{text-decoration:underline;text-underline-offset:5px}.number{font-size:13px;color:#687c67}h3{font-size:25px;letter-spacing:-.035em;font-weight:400;margin:0}.service p{font-size:16px;color:#58685b;margin:0;max-width:350px}.service-link{font-size:13px;text-align:right}.purpose{margin:0 22px;display:grid;grid-template-columns:1fr 1fr;min-height:535px;overflow:hidden;border-radius:7px;background:#123d2d;color:#f5f9ed}.purpose>img{width:100%;height:100%;max-height:650px;object-fit:cover}.purpose-copy{padding:75px 13%;display:flex;flex-direction:column;justify-content:center}.purpose h2{font-size:clamp(42px,4.5vw,68px)}.purpose em{color:var(--lime)}.purpose-copy>p:last-child{max-width:360px;font-size:17px;color:#d3dece;margin:30px 0 0}.purpose .eyebrow{color:var(--lime)}.contact{padding:110px 0;display:grid;grid-template-columns:1.1fr 1fr;gap:12%}.contact-details>p{margin:0 0 28px;font-size:18px;color:#58685b}.contact-details>div{display:flex;align-items:baseline;gap:35px;margin-bottom:13px}.contact-details>div>span{min-width:65px;font-size:14px;color:#58685b}.contact-details>div>a{font-size:25px;letter-spacing:-.03em}.email{display:inline-block;border-bottom:1px solid;margin-top:18px;padding-bottom:5px;font-size:17px}footer{background:#eaf0e3;padding:52px 6% 23px}.footer-main{display:grid;grid-template-columns:1.5fr 1fr .5fr;gap:40px;padding-bottom:50px}footer strong{font-size:22px;font-weight:500}footer p{font-size:14px;margin:12px 0 0;color:#51614e}.footer-label{font-size:14px}.footer-nav{display:flex;flex-direction:column;gap:14px;font-size:14px}.footer-bottom{border-top:1px solid #ccd8c4;padding-top:23px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#51614e}.footer-bottom>div{display:flex;gap:25px}@media(min-width:1600px){.hero-copy{padding-top:95px}}@media(max-width:800px){.header{height:110px;padding:14px 5%;gap:20px}.brand img{width:84px;height:72px}.header nav{gap:18px;font-size:14px}.phone{display:none}.hero{margin:0 12px;height:730px;min-height:0}.hero-copy{padding:68px 20px 100px}.hero h1{font-size:58px}.hero-photo{object-position:53% 60%}.hero-foot{left:22px;right:22px;font-size:11px}.intro{gap:7%;padding:80px 0}.service{grid-template-columns:28px 1fr 1fr;gap:18px}.service-link{display:none}.purpose-copy{padding:50px 10%}.purpose{min-height:480px}.contact{gap:7%;padding:80px 0}.email{font-size:15px}}@media(max-width:540px){.header{height:110px;gap:12px}.header nav{gap:13px;flex-wrap:wrap;justify-content:flex-end;max-width:245px;font-size:13px}.brand img{width:77px;height:69px}.hero{height:650px}.hero-copy{padding:50px 16px 100px}.hero .eyebrow{font-size:11px;margin-bottom:25px}.hero h1{font-size:45px;letter-spacing:-.055em}.hero-description{font-size:17px;margin-top:24px}.hero-photo{object-position:50% 50%}.hero-foot{display:block;bottom:22px}.hero-foot span{display:block;margin-top:7px}.intro,.contact{grid-template-columns:1fr;gap:35px;padding:65px 0}.eyebrow{margin-bottom:20px}.intro-copy .lead{font-size:22px}.expertise{padding-bottom:65px}.section-heading{padding:30px 0}.section-heading h2{max-width:300px}.service{grid-template-columns:24px 1fr;padding:27px 0;gap:10px 16px}.service p{grid-column:2}.service h3{font-size:24px}.purpose{grid-template-columns:1fr;margin:0 12px}.purpose>img{height:260px}.purpose-copy{padding:43px 28px 49px}.purpose h2{font-size:49px}.purpose-copy>p:last-child{font-size:16px}.contact h2{font-size:38px}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:18px}.contact-details>div>a{font-size:27px}.email{font-size:17px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Revised white hero, restrained header and photographic testimonial. */
body{background:#fff}.header{height:118px;padding:18px 4.5%;gap:24px}.header nav{gap:27px;align-items:center;font-size:14px}.header nav a{white-space:nowrap}.nav-active{background:#e8f1df;padding:12px 18px;border-radius:30px}.header-actions{display:flex;align-items:center;gap:14px;font-size:14px;white-space:nowrap}.header-call,.header-contact{padding:12px 17px;border:1px solid #84b954;border-radius:4px}.header-contact{background:#6dae43;color:#fff}.hero{background:#fff;margin:0;border-radius:0;height:700px;min-height:0;max-height:none;isolation:isolate}.hero-photo{top:auto;bottom:0;height:295px;object-fit:cover;object-position:50% 95%;mask-image:linear-gradient(to bottom,transparent 0%,#000 77%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 77%);z-index:-1}.hero-copy{text-align:left;padding:70px 6% 300px;max-width:1400px;margin:auto}.hero .eyebrow{display:none}.hero h1{font-size:clamp(45px,5.1vw,74px);font-weight:600;letter-spacing:-.05em;line-height:1.12;margin-bottom:25px;color:#132e23}.hero h1 span{color:#68a53f}.hero-description{font-size:18px;color:#667166;margin:0 0 25px;line-height:1.6}.contact-link{font-weight:400}.intro{padding-top:95px}.testimonial{margin:0 22px;position:relative;isolation:isolate;overflow:hidden;min-height:650px;padding:58px;color:#fff;border-radius:8px;display:flex;align-items:stretch;background:#123d2d}.testimonial>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:-2}.testimonial:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(0,44,27,.87),rgba(0,45,29,.44)),linear-gradient(0deg,rgba(0,39,24,.5),transparent)}.testimonial figure{margin:0;width:100%;border:1px solid #ffffff66;border-radius:24px;padding:50px 7%;display:flex;flex-direction:column;justify-content:center}.quote-mark{font-family:Georgia,serif;font-size:140px;line-height:.65;color:#c4f747;margin-top:28px}.testimonial blockquote{font-size:clamp(28px,3.35vw,49px);line-height:1.35;font-weight:400;font-style:italic;letter-spacing:-.025em;margin:15px 0 48px;max-width:1040px}.testimonial figcaption{display:flex;gap:20px;align-items:flex-start;font-size:20px;line-height:1.5}.quote-rule{width:40px;height:2px;background:#c4f747;margin-top:14px;flex-shrink:0}.testimonial small{display:block;margin-top:9px;font-size:15px;color:#dce7db}@media(max-width:1050px){.header{gap:15px}.header nav{gap:16px;font-size:13px}.header-call{display:none}.header-actions{font-size:13px}.testimonial{padding:35px;min-height:590px}}@media(max-width:800px){.header{padding:16px 4%;height:110px}.header nav{gap:13px}.header nav a:last-child{display:none}.hero{height:660px}.hero-copy{padding-top:64px}.hero h1{font-size:54px}.hero-photo{height:255px}.testimonial{padding:28px;min-height:540px}.testimonial figure{padding:35px 6%}.testimonial blockquote{font-size:34px}.testimonial figcaption{font-size:17px}}@media(max-width:540px){.header{height:auto;min-height:104px;flex-wrap:wrap;gap:12px;padding:14px 5%}.brand img{width:68px;height:56px}.header nav{order:3;max-width:none;width:100%;justify-content:space-between;gap:9px;font-size:13px}.header nav a:last-child{display:block}.nav-active{padding:8px 12px}.header-actions{margin-left:auto}.header-contact{padding:10px 18px}.hero{height:605px}.hero-copy{padding:50px 6% 230px}.hero h1{font-size:41px;line-height:1.15}.hero-description{font-size:17px}.hero-photo{height:225px;object-position:50% 100%}.intro{padding-top:60px}.testimonial{margin:0 12px;padding:20px;min-height:630px}.testimonial figure{padding:28px 22px;border-radius:18px}.quote-mark{font-size:110px}.testimonial blockquote{font-size:29px;line-height:1.4;margin:12px 0 35px}.testimonial figcaption{font-size:16px;gap:13px}.quote-rule{width:24px}.testimonial small{font-size:14px}}
:root{--brand:#7ebf3f;--brand-pale:#eef6e3}.header-contact{background:var(--brand);border-color:var(--brand);color:#17331f}.header-call{border-color:var(--brand)}.nav-active{background:var(--brand-pale)}.hero h1 span{color:#508329}.quote-mark{color:var(--brand)}.quote-rule{background:var(--brand)}.clients{padding:57px 0 34px;border-bottom:1px solid var(--line)}.clients-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:33px}.clients h2{font-size:14px;letter-spacing:.035em;font-weight:400}.motion-toggle{font:inherit;font-size:12px;color:#53634f;border:0;background:none;padding:8px 0 8px 16px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.motion-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:4px}.logo-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.logo-track{display:flex;width:max-content;animation:client-slide 40s linear infinite}.logo-track ul{display:flex;align-items:center;gap:70px;margin:0;padding:0 70px 0 0;list-style:none}.logo-track li{width:190px;height:90px;display:flex;align-items:center;justify-content:center}.logo-track img{width:100%;height:76px;object-fit:contain;filter:saturate(.65);display:block}.logo-track li:nth-child(6) img{width:125px}.clients:hover .logo-track,.clients:focus-within .logo-track, .clients:active .logo-track{animation-play-state:paused}@keyframes client-slide{to{transform:translateX(-50%)}}.brand-tiles{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;padding-top:95px}.brand-tile,.statement-tile{min-height:325px;border-radius:26px;display:flex;justify-content:center}.brand-tile{background:var(--brand);align-items:center;flex-direction:column;padding:35px 25px;gap:25px}.brand-tile img{width:116px;height:95px;object-fit:contain}.brand-tile h2{font-size:clamp(30px,3.8vw,56px);font-weight:700;letter-spacing:-.045em;text-align:center;color:#082d1b}.statement-tile{background:var(--brand-pale);flex-direction:column;padding:40px 10%}.statement-tile p{font-size:clamp(25px,2.7vw,39px);line-height:1.42;letter-spacing:-.035em;margin:0;color:#123d2d}.statement-tile strong{font-weight:700}.contact{position:relative;isolation:isolate}.contact:before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:10px -5% 0 25%;background:url('assets/hexagons.svg') right center/640px auto no-repeat;opacity:.13;mask-image:linear-gradient(90deg,transparent,#000)}@media(max-width:800px){.brand-tiles{gap:25px;padding-top:65px}.brand-tile,.statement-tile{min-height:280px}.brand-tile h2{font-size:32px}.statement-tile p{font-size:26px}.logo-track ul{gap:45px;padding-right:45px}.logo-track li{width:170px}}@media(max-width:540px){.clients{padding:35px 0 25px}.clients-heading{margin-bottom:20px}.clients h2{font-size:13px}.logo-track li{width:145px;height:75px}.logo-track img{height:62px}.logo-track ul{gap:32px;padding-right:32px}.brand-tiles{grid-template-columns:1fr;gap:20px;padding-top:55px}.brand-tile,.statement-tile{min-height:270px;border-radius:23px}.brand-tile h2{font-size:38px}.statement-tile p{font-size:31px}.statement-tile{padding:36px}.contact:before{inset:0 -5%;background-size:520px;opacity:.1}}@media(prefers-reduced-motion:reduce){.logo-track{animation:none}.logo-window{overflow-x:auto;mask-image:none}.logo-track ul[aria-hidden]{display:none}.motion-toggle{display:none}}

/* Shared brand accents use the supplied SVG green. */
:root{--brand:#7ebf3f;--lime:#7ebf3f;--brand-pale:#eef6e3}
.hero h1 span,em{color:var(--brand)}
.header-contact{background:var(--brand);border-color:var(--brand);color:#123d2d}
.header-call{border-color:var(--brand)}
.nav-active{background:var(--brand-pale)}
.brand-tile{background:var(--brand);gap:13px;padding:35px 25px}
.brand-tile .eco-icon{width:86px;height:86px;color:#fff;flex-shrink:0;margin-bottom:10px}
.brand-tile h2{font-size:clamp(30px,3.5vw,51px);line-height:1.12}
.brand-tile p{font-size:16px;line-height:1.5;text-align:center;margin:0;color:#123d2d}
.quote-mark{color:var(--brand)}.quote-rule{background:var(--brand)}
a:focus-visible{outline-color:var(--brand)}
@media(max-width:540px){.brand-tile h2{font-size:34px}.brand-tile p{font-size:15px;max-width:240px}.brand-tile .eco-icon{width:74px;height:74px}}
/* Shared typography and layouts for the complete site. */
body,button,input,textarea,select{font-family:Helvetica,"Helvetica Neue",Arial,sans-serif}em{font-family:inherit;font-style:normal}.service{grid-template-columns:1.1fr 1.1fr 140px}.division{font-size:12px;line-height:1.5;color:#53634f;max-width:160px;margin-right:auto}.header{gap:20px}.header nav{gap:20px}.header a[aria-current=page]{background:var(--brand-pale);padding:12px 16px;border-radius:25px}.contact:before{opacity:.25}.page-hero{padding:85px 0 70px;position:relative;isolation:isolate}.page-hero:after{content:"";position:absolute;inset:0 -5% 0 40%;background:url('/assets/hexagons.svg') right center/600px no-repeat;opacity:.2;z-index:-1;pointer-events:none}.page-hero h1{font-size:clamp(42px,5.3vw,74px);line-height:1.08;font-weight:600;letter-spacing:-.045em;margin:0 0 25px}.page-hero h1 span{color:var(--brand)}.page-lead{font-size:20px;line-height:1.6;max-width:730px;color:#53634f;margin:0}.wide-photo{display:block;height:370px;object-fit:cover;border-radius:8px}.content-split{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:85px 0;align-items:center}.content-split h2{font-size:clamp(32px,3.2vw,47px);margin-bottom:28px}.content-split p{font-size:17px;line-height:1.7;color:#53634f}.page-photo{width:100%;height:385px;object-fit:cover;border-radius:8px}.content-split img[src*='silt-mat']{object-fit:contain;height:290px;background:#f5f8f0}.uses{padding:25px 0 85px}.uses h2{font-size:36px;margin-bottom:30px}.uses-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 65px}.uses-grid p{padding:20px 0;border-bottom:1px solid var(--line);margin:0;font-size:18px}.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:20px 0 95px}.contact-page h2{font-size:35px;margin-bottom:30px}.contact-page h3{margin-top:40px;font-size:22px}.contact-page p{color:#53634f}.large-link{display:inline-block;font-size:27px;color:var(--ink);margin-top:5px}form label{display:block;margin-bottom:23px;font-size:15px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}input,textarea{display:block;width:100%;font-size:17px;padding:13px 0;border:0;border-bottom:1px solid #a9b9a0;background:#fff;border-radius:0;color:var(--ink);margin-top:5px}input:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:4px}textarea{resize:vertical}form button{font-size:16px;cursor:pointer}.form-note,#form-status{font-size:14px;line-height:1.6}.policy-copy{min-height:300px;padding:0 0 90px;max-width:900px}.policy-copy p{font-size:18px}.footer-nav{gap:12px}@media(max-width:1150px){.division{display:none}.header-call{display:none}}@media(max-width:800px){.service{grid-template-columns:1fr 1fr}.page-hero{padding:60px 0}.content-split{gap:6%;padding:60px 0}.page-photo{height:340px}.contact-page{gap:6%}}@media(max-width:540px){.division{display:block;font-size:10px;max-width:125px;margin-right:0}.header{gap:8px}.header-actions{margin-left:auto}.header nav a[aria-current=page]{padding:8px 12px}.service{grid-template-columns:1fr}.service p{grid-column:1}.page-hero{padding:50px 0}.page-hero h1{font-size:43px}.page-lead{font-size:18px}.wide-photo{height:230px}.content-split,.contact-page{grid-template-columns:1fr;gap:35px;padding:45px 0}.content-split h2{font-size:34px}.page-photo{height:285px}.uses-grid{grid-template-columns:1fr}.uses{padding-bottom:40px}.uses h2{font-size:32px}.contact-page{padding-bottom:65px}.contact:before{opacity:.2}.page-hero:after{inset:0 -5% 0 15%;opacity:.17}}
/* Final presentation refinements. */
:root{--brand-text:#527f2c}h1,h2,h3{ text-wrap:balance }p{ text-wrap:pretty }
.hero h1 span,.page-hero h1 span,em{color:var(--brand-text)}
.header{max-width:1600px;margin-inline:auto}.header nav{font-size:14px;gap:18px}.header-call{display:none}.division{display:block;font-size:12px;line-height:1.5;flex-shrink:0}.brand{flex-shrink:0}
.hero-copy{max-width:1510px}.eyebrow{font-size:12px;line-height:1.5}.contact-details .email,.contact-page .text-link{overflow-wrap:anywhere}
.content-split>div,.contact-page>div,form{min-width:0}.content-split p{max-width:560px}.wide-photo{object-position:center 55%}.page-photo{background:#f3f6ef}.content-split img[src*='silt-mat']{object-fit:contain}
.footer-main{grid-template-columns:1.3fr 1fr .7fr}.footer-nav{display:grid;grid-template-columns:1fr 1fr;align-content:start;column-gap:25px}.footer-bottom{font-size:13px}.service-link{font-size:14px}
.logo-track img{filter:none}.clients h2{font-size:15px}.brand-tile p{max-width:320px}.testimonial figcaption{font-size:18px}
input,textarea{transition:border-color .15s}input:hover,textarea:hover{border-color:var(--brand-text)}
a{transition:color .15s,background-color .15s}.header-contact:hover{background:#6fae35;text-decoration:none}
@media(min-width:801px) and (max-width:1150px){.header{padding-inline:4%;gap:16px}.header nav{gap:14px;font-size:13px}.division{font-size:11px}.header-contact{padding:12px}}
@media(min-width:541px) and (max-width:800px){.header{height:auto;flex-wrap:wrap;padding-block:18px}.header nav{order:3;width:100%;justify-content:space-between}.header nav a:last-child{display:block}.header-actions{margin-left:auto}.division{margin-right:auto}.hero h1{font-size:clamp(43px,6.7vw,54px)}}
@media(max-width:540px){.header{padding-inline:5%;gap:8px}.division{font-size:11px;max-width:135px}.header-contact{padding:10px 12px;font-size:13px}.header nav{gap:8px;font-size:12px}.hero h1{font-size:clamp(32px,8.2vw,43px)}.page-hero h1{font-size:clamp(35px,8.5vw,43px)}.brand-tile h2{font-size:clamp(29px,7.6vw,36px)}.testimonial blockquote{font-size:27px}.testimonial figcaption{font-size:16px}.form-pair{grid-template-columns:1fr;gap:0}.footer-main{grid-template-columns:1fr 1fr}.footer-nav{grid-template-columns:1fr}.header a[aria-current=page]{padding:8px}.contact-details>div>a{font-size:25px}.statement-tile{padding:30px}.statement-tile p{font-size:29px}}
@media(prefers-reduced-motion:reduce){a,input,textarea{transition:none}}
/* Environmental illustration complements the About introduction. */
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;padding-bottom:75px}.about-intro:after{display:none}.about-intro h1{font-size:clamp(40px,4.1vw,62px)}.about-intro .page-lead{font-size:19px}.about-illustration{display:block;width:100%;height:auto;object-fit:contain;background:white}@media(max-width:800px){.about-intro{grid-template-columns:1fr;gap:32px}.about-illustration{max-width:650px;margin:auto}.about-intro h1{font-size:clamp(35px,6.6vw,54px)}}
/* Serif section labels, quiet link motion and a real-loading indicator. */
.eyebrow{font-family:Georgia,"Times New Roman",serif;font-size:17px;font-style:italic;font-weight:400;letter-spacing:.015em;line-height:1.45;text-transform:none}.hero .eyebrow{font-size:17px}
.header nav a,.footer-nav a,.footer-bottom a{transition:color .2s ease,background-color .2s ease;text-decoration-color:transparent;text-underline-offset:6px}
.header nav a:hover,.footer-nav a:hover,.footer-bottom a:hover{color:var(--brand-text);text-decoration:underline;text-decoration-color:currentColor}
.text-link,.contact-link,.email{background-image:linear-gradient(var(--brand),var(--brand));background-size:0 2px;background-repeat:no-repeat;background-position:left bottom;transition:background-size .25s ease,color .2s ease,border-color .2s ease}
.text-link:hover,.contact-link:hover,.email:hover{background-size:100% 2px;border-color:transparent;color:var(--brand-text);text-decoration:none}
.service h3{transition:color .2s ease}.service:hover h3{color:var(--brand-text)}
.page-loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:rgba(255,255,255,.96);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease;color:var(--brand);contain:strict}
.page-loading .page-loader{opacity:1;visibility:visible}.page-loader svg{width:112px;height:74px}.loader-hex{opacity:.2;animation:hex-breathe 1.2s ease-in-out infinite}.hex-two{animation-delay:.2s}.hex-three{animation-delay:.4s}@keyframes hex-breathe{0%,100%{opacity:.2}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.page-loader{display:none}.loader-hex{animation:none}.text-link,.contact-link,.email,.header nav a,.footer-nav a,.footer-bottom a,.service h3{transition:none}}
/* Footer brand and clockwise loader rhythm: top, right, left. */
.footer-brand{display:inline-block}.footer-brand img{display:block;width:112px;height:auto}.footer-main>div:first-child p{margin-top:16px}
.loader-hex{animation:hex-clockwise 1.8s ease-in-out infinite;fill:currentColor;fill-opacity:0;transform-box:fill-box;transform-origin:center}
.hex-three{animation-delay:0s}.hex-two{animation-delay:.6s}.hex-one{animation-delay:1.2s}
@keyframes hex-clockwise{0%,65%,100%{opacity:.16;fill-opacity:0;transform:scale(.96)}22%,35%{opacity:1;fill-opacity:.12;transform:scale(1.04)}}
@media(prefers-reduced-motion:reduce){.loader-hex{animation:none;transform:none}}

/* Homepage photography: preserve the stream at the bottom of the supplied hero. */
.hero{height:740px}.hero-photo{height:370px;object-position:50% 100%;mask-image:linear-gradient(to bottom,transparent 0%,#000 48%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 48%)}
.fieldwork{padding:0 0 100px}.fieldwork-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;align-items:end;margin-bottom:38px}.fieldwork-heading p:not(.eyebrow){font-size:17px;color:#53634f;margin:0 0 14px}.fieldwork-photos{display:grid;grid-template-columns:1.35fr 1fr;gap:28px}.fieldwork figure{margin:0}.fieldwork img{width:100%;height:370px;object-fit:cover;border-radius:8px;display:block}.fieldwork figure:first-child img{object-position:65% 65%}.fieldwork figcaption{font-size:13px;color:#53634f;padding-top:13px}
@media(max-width:800px){.hero{height:710px}.hero-photo{height:325px}.fieldwork-heading{gap:6%}.fieldwork img{height:290px}}
@media(max-width:540px){.hero{height:650px}.hero-photo{height:280px;object-position:65% 100%}.fieldwork{padding-bottom:65px}.fieldwork-heading,.fieldwork-photos{grid-template-columns:1fr;gap:26px}.fieldwork img{height:auto;aspect-ratio:4/3}.fieldwork-heading{margin-bottom:30px}}

/* Sticky navigation with a compact scroll state and accessible mobile disclosure. */
html{scroll-padding-top:105px}.skip{z-index:110}.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);height:118px;min-height:0;transition:height .26s ease,padding .26s ease,box-shadow .26s ease;border-bottom:1px solid transparent}.header.is-compact{height:80px;padding-block:9px;border-bottom-color:#e4ebdf;box-shadow:0 4px 20px #123d2d08}.header .brand img{transition:width .26s ease,height .26s ease}.header.is-compact .brand img{width:70px;height:58px}.menu-toggle{display:none}.header nav a{transition:background-color .2s ease,color .2s ease}.header nav a:hover{color:var(--brand-text)}
@media(max-width:900px){
 .header{height:auto;min-height:88px;flex-wrap:wrap;padding:12px 5%;gap:12px}.header .brand img{width:72px;height:59px}.header .division{display:block;font-size:10px;max-width:130px;margin-right:auto}.header .header-call{display:none}.header .header-contact{font-size:13px;padding:10px 13px}.header .header-actions{margin-left:auto}.header nav{width:100%;order:3;display:flex;flex-wrap:wrap;max-width:none;justify-content:space-between}.header nav a:last-child{display:block}
 .header.header-ready{height:88px;flex-wrap:nowrap}.header.header-ready.is-compact{height:72px;padding-block:7px}.header.is-compact .brand img{width:60px;height:49px}
 .header-ready .menu-toggle{display:flex;align-items:center;gap:10px;border:1px solid #d9e2d6;border-radius:5px;padding:11px 12px;min-height:44px;background:#fff;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}.menu-toggle:focus-visible{outline:2px solid var(--brand-text);outline-offset:4px}.menu-lines{width:18px;height:14px;position:relative;display:block}.menu-lines i{position:absolute;width:18px;height:1.5px;left:0;background:currentColor;top:3px;transition:transform .24s ease,top .24s ease}.menu-lines i:last-child{top:10px}.menu-open .menu-lines i{top:6px;transform:rotate(45deg)}.menu-open .menu-lines i:last-child{transform:rotate(-45deg)}
 .header-ready nav{position:absolute;top:100%;left:0;right:0;width:auto;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:16px 5% 24px;background:#fff;border-bottom:1px solid #e1e9da;box-shadow:0 18px 28px #123d2d0d;max-height:calc(100dvh - 88px);overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.2,1),visibility .28s}
 .header-ready.menu-open nav{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.header-ready nav a,.header-ready nav a[aria-current=page]{display:block;padding:16px 12px;font-size:19px;line-height:1.3;border-radius:6px;margin:2px 0}.header-ready nav a:hover{background:var(--brand-pale);text-decoration:none}.header-ready.is-compact nav{max-height:calc(100dvh - 72px)}
}
@media(max-width:540px){.header .division{display:none}.header .header-actions{margin-left:auto}.header{gap:9px}.header-ready .menu-toggle{padding-inline:10px}.header .header-contact{padding:11px 12px}.header nav a[aria-current=page]{padding:16px 12px}}
@media(prefers-reduced-motion:reduce){.header,.header .brand img,.header-ready nav,.menu-lines i{transition:none}html{scroll-behavior:auto}}

@media(max-width:900px){.header-ready .menu-toggle{order:4}}
@media(max-width:900px){.header.header-ready.is-compact{min-height:72px}}

.brand-landscape{display:block;height:auto;border-radius:8px;object-fit:contain}

/* Small use-case icons for sediment mat applications. */
.uses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 42px}.use-item{display:flex;align-items:center;gap:16px;padding:22px 0;border-bottom:1px solid var(--line);min-height:106px}.use-item img{width:64px;height:64px;object-fit:contain;flex:none}.use-item p{margin:0;font-size:17px;line-height:1.35;color:var(--ink)}
@media(max-width:800px){.uses-grid{grid-template-columns:1fr 1fr;gap:0 24px}.use-item{gap:12px}.use-item img{width:54px;height:54px}.use-item p{font-size:15px}}
@media(max-width:540px){.uses-grid{grid-template-columns:1fr}.use-item{min-height:88px}.use-item img{width:52px;height:52px}}

/* Molecular network echoes the site's connected hexagon background. */
.page-loader .science-loader{width:190px;height:144px;overflow:visible}.science-bonds{opacity:.24}.science-signal{stroke-dasharray:75 540;stroke-dashoffset:0;opacity:.85;animation:science-flow 2.8s linear infinite}.science-node{opacity:.25;animation:science-junction 2.8s ease-in-out infinite}.node-a{animation-delay:0s}.node-b{animation-delay:.4s}.node-c{animation-delay:.95s}.node-d{animation-delay:1.5s}.node-e{animation-delay:2.05s}
@keyframes science-flow{to{stroke-dashoffset:-615}}
@keyframes science-junction{0%,45%,100%{opacity:.25}18%,28%{opacity:1}}
@media(prefers-reduced-motion:reduce){.science-signal,.science-node{animation:none}}

.habitat-tiles{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;padding:10px 0 15px}.habitat-image-tile,.habitat-copy-tile{border-radius:26px;overflow:hidden;min-height:440px}.habitat-image-tile{position:relative;isolation:isolate;background:#123d2d;color:white}.habitat-image-tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:28% center;z-index:-2}.habitat-image-tile:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(4,31,19,.9),transparent 65%)}.habitat-image-copy{position:absolute;bottom:0;left:0;right:0;padding:35px 38px}.habitat-image-copy .eyebrow{margin-bottom:13px}.habitat-image-copy h2{font-size:clamp(32px,3.3vw,47px);line-height:1.1}.habitat-copy-tile{background:var(--brand-pale);padding:45px 40px;display:flex;flex-direction:column;justify-content:center}.habitat-copy-tile .eyebrow{margin-bottom:20px}.habitat-copy-tile h2{font-size:clamp(30px,2.8vw,40px);line-height:1.2;margin-bottom:22px}.habitat-copy-tile p:not(.eyebrow){font-size:16px;line-height:1.65;color:#53634f;margin:0 0 16px}.habitat-copy-tile .text-link{align-self:flex-start}
@media(max-width:800px){.habitat-tiles{gap:24px;grid-template-columns:1fr}.habitat-image-tile{min-height:420px}.habitat-image-tile>img{object-position:center}.habitat-copy-tile{min-height:0;padding:36px}.habitat-image-copy{padding:30px}.habitat-copy-tile h2{font-size:34px}}
@media(max-width:540px){.habitat-image-tile{min-height:390px}.habitat-image-tile>img{object-position:24% center}.habitat-copy-tile{padding:30px 26px}.habitat-image-copy{padding:28px 26px}.habitat-image-tile,.habitat-copy-tile{border-radius:23px}}
