:root{--forest:#173524;--dark:#0b1b13;--lime:#caf658;--paper:#f5f7f2;--ink:#16291d;--muted:#4c6052;--line:#d2dbd1;--width:1240px;color-scheme:light}
*{box-sizing:border-box}
html{scroll-padding-top:106px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.06;letter-spacing:-.045em;text-wrap:balance}
h1{font-size:clamp(2.65rem,7.5vw,7.4rem)}
h2{font-size:clamp(2rem,4.25vw,4.1rem)}
h3{font-size:clamp(1.25rem,2vw,1.75rem)}
p+p{margin-top:1em}
.wrap{width:min(var(--width),calc(100% - 100px));margin-inline:auto}
.section{padding-block:clamp(65px,9vw,128px)}
.eyebrow,.index,.fine{font-size:.74rem;font-weight:750;letter-spacing:.145em;text-transform:uppercase}
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.eyebrow::before{content:"";height:3px;width:24px;background:currentColor;transform:skew(-28deg);flex:none}
.dark{background:var(--forest);color:var(--paper)}
.dark .eyebrow{color:var(--lime)}
.skip{position:absolute;z-index:5;top:8px;left:8px;transform:translateY(-150%);padding:12px;background:var(--lime);color:var(--dark)}
.skip:focus{transform:none}
:focus-visible{outline:3px solid #649718;outline-offset:4px}
.dark :focus-visible,.site-header :focus-visible,.hero :focus-visible{outline-color:var(--lime)}
.site-header{position:sticky;top:0;z-index:4;background:var(--dark);color:white;border-bottom:1px solid #ffffff29}
.header-row{display:flex;gap:28px;min-height:77px;align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:11px;flex:none}
.brand img:first-child{width:34px}
.brand img:last-child{width:112px}
.nav{display:flex;align-items:center;gap:clamp(12px,1.7vw,28px)}
.nav a{font-size:.82rem;text-decoration:none;white-space:nowrap}
.nav a[aria-current],.nav a:hover{color:var(--lime)}
.mobile-nav{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;padding:11px 19px;background:var(--lime);color:var(--dark);text-decoration:none;border:1px solid transparent;font-weight:750;font-size:.89rem;cursor:pointer;transition:background .15s,color .15s}
.btn:hover{background:white;color:var(--dark);border-color:currentColor}
.btn.outline{background:transparent;border-color:currentColor;color:inherit}
.btn.outline:hover{background:var(--paper);color:var(--dark)}
.btn.ink{background:var(--dark);color:white}
.btn.ink:hover{background:var(--forest)}
.btn.small{min-height:42px;white-space:nowrap}
.arrow{font-size:1.18em}
.hero{position:relative;isolation:isolate;color:white;background:#122d20;min-height:clamp(580px,calc(86svh - 78px),790px);display:flex;align-items:center}
.hero-photo{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:62% center;z-index:-2;filter:saturate(.76)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#081711fa 2%,#0b1c14db 32%,#10271bb5 54%,#10271b25 100%),linear-gradient(0deg,#0a1b13ae,transparent 45%);z-index:-1}
.hero-content{padding-block:77px 105px}
.hero .eyebrow,.hero h1 span{color:var(--lime)}
.hero h1{letter-spacing:-.075em;line-height:.93;text-wrap:initial}
.hero h1 span{display:block}
.hero p,.subhero p{max-width:57ch;margin-top:25px;color:#e4eae3;font-size:clamp(1rem,1.45vw,1.2rem)}
.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.photo-caption{position:absolute;right:50px;bottom:20px;color:#f0f6ee;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}
.context{background:var(--lime);color:var(--dark)}
.context .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:52px}
.section-top{max-width:810px;margin-bottom:40px}
.section-top p,.copy>p{color:var(--muted);margin-top:20px;max-width:67ch}
.dark .section-top p,.dark .copy>p{color:#d7e4d9}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,7vw,110px);align-items:center}
.brand-panel{position:relative;min-height:350px;display:grid;place-items:center;background:var(--forest);overflow:hidden;background-image:linear-gradient(#ffffff13 1px,transparent 1px),linear-gradient(90deg,#ffffff13 1px,transparent 1px);background-size:42px 42px}
.brand-panel img{width:42%}
.brand-panel .fine{position:absolute;left:19px;bottom:13px;color:#e3efdd}
.text-link{display:inline-flex;gap:12px;align-items:center;font-weight:750;text-underline-offset:5px;text-decoration-thickness:1px;margin-top:22px}
.text-link:hover{color:#537418}
.dark .text-link:hover{color:var(--lime)}
.services-bg{background:#e9efe6}
.grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.tile{padding:30px;background:var(--paper)}
.tile .index{color:#496a19;display:block;margin-bottom:22px}
.tile p{margin-top:12px;color:var(--muted)}
.tile .text-link{margin-top:18px}
.tile:hover{background:white}
.industries-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.industry{display:flex;flex-direction:column;justify-content:space-between;min-height:185px;background:var(--forest);color:white;padding:26px;text-decoration:none;border-left:4px solid var(--lime)}
.industry:hover{background:#254d36}
.industry p{margin-top:10px;color:#e4ebe3}
.industry .index{color:var(--lime);margin-bottom:20px}
.principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.principle{border-top:1px solid #8ea195;padding-top:20px}
.principle .index{color:var(--lime);display:block;margin-bottom:13px}
.principle p{margin-top:12px}
.section:not(.dark) .principle .index{color:#496a19}
.section:not(.dark) .principle p{color:var(--muted)}
.closing{background:var(--lime)}
.closing .wrap{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:35px}
.closing p{margin-top:14px;max-width:62ch}
.closing .buttons{justify-content:end;margin:0}
.footer{background:var(--dark);color:#e1eae0;padding:55px 0 23px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:25px}
.footer .fine{color:var(--lime);margin-bottom:11px}
.footer a:not(.brand){display:block;text-decoration:none;width:fit-content}
.footer a:hover{text-decoration:underline}
.footer .brand{margin-bottom:14px}
.footer-end{border-top:1px solid #5e6d63;margin-top:36px;padding-top:18px;font-size:.84rem;display:flex;flex-wrap:wrap;gap:20px}
.subhero{background:var(--forest);color:white;padding-block:clamp(65px,10vw,140px);background-image:linear-gradient(112deg,transparent 65%,#ffffff0b 65%,#ffffff0b 69%,transparent 69%)}
.subhero h1{font-size:clamp(2.7rem,6.6vw,6.1rem);max-width:16ch}
.subhero .eyebrow{color:var(--lime)}
.detail{border-top:1px solid var(--line);padding:42px 0;display:grid;grid-template-columns:1fr 1fr;gap:35px}
.detail .index{color:#496a19;margin-bottom:12px;display:block}
.detail p{margin-top:16px;color:var(--muted)}
.detail ul{margin:0;padding-left:23px}
.detail li+li{margin-top:8px}
.detail:last-child{padding-bottom:0}
.contact-grid{display:grid;grid-template-columns:1.5fr .65fr;gap:clamp(30px,7vw,95px)}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form label{display:grid;gap:5px;font-weight:bold}
.contact-form .full{grid-column:1/-1}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-width:0;background:white;color:var(--ink);border:1px solid #839486;border-radius:0;padding:11px 12px}
.contact-form textarea{min-height:150px;resize:vertical}
.contact-form button{justify-self:start}
.contact-form label.honeypot{display:none}
.contact-aside{border-top:3px solid var(--forest);padding-top:18px}
.contact-aside p{margin-top:10px}
.feedback{padding:18px;border-left:4px solid #496a19;background:#e1ecd9;margin-bottom:22px}
.feedback.error{border-color:#9b2b22;background:#f7e8e3}
@media(max-width:1060px){.wrap{width:calc(100% - 64px)}.desktop-nav,.header-row>.btn{display:none}.mobile-nav{display:block}.mobile-nav summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:bold}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav .nav{position:absolute;inset:100% 0 auto;display:grid;gap:0;background:var(--dark);padding:10px 32px 22px;border-bottom:1px solid #ffffff45}.mobile-nav .nav a{padding:11px 0;border-top:1px solid #ffffff25}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header-row{min-height:65px}.hero{min-height:575px}.hero::after{background:linear-gradient(90deg,#081711f0,#0b1c14b5 68%,#10271b70),linear-gradient(0deg,#0a1b13b5,transparent 55%)}.hero-content{padding-block:62px 78px}.hero-photo{object-position:64% center}.photo-caption{right:20px}.context .wrap{justify-content:start;min-height:46px}.context .wrap span:last-child{display:none}.split,.closing .wrap,.detail,.contact-grid{grid-template-columns:1fr}.brand-panel{min-height:245px}.services-grid{grid-template-columns:1fr}.industries-grid,.principles,.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.closing .buttons{justify-content:start}.closing .wrap{gap:25px}.mobile-nav .nav{padding-inline:20px}}
@media(max-width:430px){.industries-grid,.contact-form{grid-template-columns:1fr}.hero h1{font-size:clamp(2.42rem,9.55vw,3.2rem)}.hero .eyebrow{font-size:.63rem;letter-spacing:.1em}.principles{gap:20px 14px}.tile{padding:24px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.arrow{flex:none;vertical-align:middle}

.detail-photo{margin:24px 0 0}
.detail-photo img{width:100%;aspect-ratio:16/9;object-fit:cover}
.detail-photo figcaption{margin-top:7px;color:var(--muted);font-size:.75rem}

.contact-form .field-error{color:#8c2d24;font-size:.875rem;font-weight:500}
.contact-form [aria-invalid="true"]{border-color:#8c2d24}
