:root{--ink:#18291b;--green:#c3e791;--paper:#f7f8f1;--muted:#5a6556;--line:#ccd1c4;--gutter:clamp(24px,4.6vw,88px);font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button svg{flex-shrink:0}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}button{border:0}::selection{background:#244d2a;color:#e6f8d3}.skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:14px 22px;background:var(--ink);color:var(--paper);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.site-header{height:112px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:5;top:0;left:0;width:100%;gap:clamp(10px,2vw,24px)}.wordmark{display:inline-flex;align-items:center;gap:13px;font-size:30px;letter-spacing:-1.6px;font-weight:650;white-space:nowrap}.wordmark-bio{font-weight:450;margin-left:5px}.brand-mark{width:25px;height:30px}nav{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:550}.nav-link{position:relative}.nav-link::after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.nav-link:hover::after{transform:scaleX(1)}.contact-button{display:flex;align-items:center;justify-content:center;gap:28px;padding:15px 23px;background:var(--ink);color:#eff8e4;border-radius:100px;transition:background .2s,transform .2s;min-width:166px;min-height:50px;white-space:nowrap}.contact-button:hover{background:#335a35;transform:translateY(-2px)}.contact-button svg{width:19px;height:19px}
.hero{position:relative;min-height:800px;height:min(940px,100svh);isolation:isolate;overflow:hidden;background:var(--green)}.scene{position:absolute;inset:0 0 0 29%;z-index:-3;pointer-events:none}.scene spline-viewer{width:100%;height:100%;display:block;pointer-events:none}.hero-wash{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,var(--green) 0%,var(--green) 23%,rgba(195,231,145,.95) 35%,rgba(195,231,145,.48) 49%,rgba(195,231,145,0) 66%);pointer-events:none}.hero-content{padding:clamp(178px,20vh,230px) var(--gutter) 160px}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.11em;font-size:12px;line-height:1.6;font-weight:650}.eyebrow{margin:0 0 31px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(72px,8.3vw,136px);font-weight:500;line-height:.99;letter-spacing:-.075em;margin:0 0 37px;max-width:900px}h1 br{display:block}.hero-description{font-size:17px;line-height:1.7;max-width:370px;margin:0 0 30px;letter-spacing:-.02em}.text-link{display:inline-flex;gap:35px;align-items:center;font-size:14px;font-weight:650;border-bottom:1px solid var(--ink);padding:0 0 9px;pointer-events:auto}.text-link span{font-size:22px;line-height:1;transition:transform .2s}.text-link:hover span{transform:translate(2px,-2px)}.hero-bottom{position:absolute;bottom:35px;left:var(--gutter);right:var(--gutter);display:flex;align-items:flex-end;justify-content:space-between;gap:24px;font-size:12px;line-height:1.55;font-weight:550}.hero-bottom p{margin:0}.scroll-link{display:flex;align-items:center;gap:21px;margin-left:auto}.scroll-link svg{transition:transform .2s}.scroll-link:hover svg{transform:translateY(5px)}
.section-pad{padding:88px var(--gutter)}.section-kicker{display:flex;align-items:center;gap:13px;margin:0 0 43px}.tiny-cross{font-size:24px;font-weight:400;line-height:1;letter-spacing:0}h2{font-size:clamp(38px,4.4vw,70px);font-weight:450;line-height:1.13;letter-spacing:-.055em}.approach{background:#192f23;color:#eff3e4}.approach .section-kicker{color:#c4e697}.approach-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:7vw}.approach h2{font-size:clamp(34px,3.6vw,58px);max-width:680px;line-height:1.2;margin-bottom:0}.approach h2 span{color:#9eafa0}.approach-copy{max-width:490px}.approach-copy p{font-size:16px;line-height:1.85;letter-spacing:-.01em;margin-bottom:19px;color:#e0e7d9}.approach-copy p:last-child{margin-bottom:0}.audience-line{border-top:1px solid #455648;margin-top:65px;padding-top:23px;display:flex;justify-content:space-between;gap:25px;font-size:13px;color:#c7d3c2}.audience-line>span:last-child{color:#eff3e4}.separator{color:#84997f;padding:0 20px}
.capabilities{padding-top:96px;padding-bottom:100px}.capabilities .section-kicker{color:var(--muted);margin-bottom:34px}.capabilities-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:65px}.capabilities-heading h2{margin:0;flex:1;min-width:0}.capabilities-heading>p{flex:0 0 310px;font-size:16px;line-height:1.75;max-width:310px;margin-bottom:5px;color:var(--muted)}.offerings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}.offering{padding:28px 32px 0;display:flex;flex-direction:column}.offering:first-child{padding-left:0}.offering:last-child{padding-right:0}.offering+.offering{border-left:1px solid var(--line)}.offering-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:45px;gap:18px}.index{font-size:12px;letter-spacing:.09em;font-weight:550;color:var(--muted)}.offering-top svg{width:36px;height:36px;color:#3b6340}.offering h3{font-size:clamp(24px,2.2vw,35px);font-weight:500;line-height:1.25;letter-spacing:-.045em;margin-bottom:23px}.offering>p{font-size:16px;line-height:1.9;color:var(--muted);margin-bottom:36px}.offering-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.offering-tags span{padding:7px 10px;border:1px solid #d4dbcb;border-radius:4px;font-size:12px;line-height:1.4;color:#50644b;background:#f1f4e9}
.contact-section{background:var(--green);padding-bottom:29px}.contact-section .section-kicker{margin-bottom:38px}.contact-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:7vw;align-items:center;margin-bottom:89px}.contact-grid h2{font-size:clamp(70px,10vw,164px);letter-spacing:-.075em;margin:0;line-height:1}.contact-copy>p{font-size:16px;line-height:1.75;margin-bottom:26px}.email-button{display:flex;align-items:center;gap:25px;padding:0 0 11px;border-bottom:1px solid var(--ink);background:transparent;max-width:100%;font-size:clamp(19px,2vw,29px);letter-spacing:-.04em}.email-button svg{width:23px;height:23px;transition:transform .2s}.email-button:hover svg{transform:translate(2px,-2px)}.copy-hint{display:block;font-size:12px;margin-top:10px;color:#4e6543}.footer-bottom{border-top:1px solid #91b66f;padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-wordmark{font-weight:650;font-size:22px;letter-spacing:-1px}.footer-bottom p{font-size:12px;margin:0}.copy-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);z-index:20;background:#192f23;color:#f1f8e8;border:1px solid #60844d;border-radius:8px;padding:17px 25px;font-size:14px;box-shadow:0 8px 36px #0002;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;max-width:calc(100% - 32px);text-align:center}.copy-toast.visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(min-width:1700px){.hero-content{padding-top:220px}.hero-description{max-width:410px}}
@media(max-width:1050px){.site-header{height:98px}nav{gap:24px}.hero{min-height:760px}.hero-content{padding-top:200px}h1{font-size:clamp(72px,9vw,110px)}.scene{left:20%}.hero-wash{background:linear-gradient(90deg,var(--green) 0%,var(--green) 18%,rgba(195,231,145,.85) 40%,rgba(195,231,145,0) 80%)}.approach-grid,.contact-grid{gap:5vw;grid-template-columns:1.15fr 1fr}.offering{padding-left:22px;padding-right:22px}.offering h3{font-size:27px}.offering-tags{gap:6px}}
@media(max-width:760px){.site-header{height:88px}.wordmark{font-size:26px;gap:10px}.brand-mark{width:21px;height:25px}.nav-link{display:none}.contact-button{min-width:0;padding:12px 17px;min-height:45px;gap:16px;font-size:13px}.contact-button svg{width:16px}.hero{height:auto;min-height:900px}.hero-content{padding:152px var(--gutter) 430px}.eyebrow{font-size:11px;margin-bottom:25px;letter-spacing:.09em}h1{font-size:clamp(62px,11.5vw,90px);letter-spacing:-.065em;line-height:1.03;margin-bottom:25px}.hero-description{max-width:360px;font-size:16px;line-height:1.7;margin-bottom:25px}.scene{inset:360px 0 0 0}.hero-wash{background:linear-gradient(180deg,var(--green) 0%,var(--green) 38%,rgba(195,231,145,.72) 48%,rgba(195,231,145,0) 70%)}.hero-bottom{bottom:24px;font-size:11px}.scroll-link{gap:12px}.section-pad{padding:60px var(--gutter)}.section-kicker{font-size:11px;margin-bottom:32px}.approach-grid{grid-template-columns:1fr;gap:29px}.approach h2{font-size:clamp(32px,6.3vw,45px)}.approach-copy{max-width:none}.approach-copy p{font-size:16px;line-height:1.8}.audience-line{margin-top:36px;flex-direction:column;gap:15px;font-size:12px}.capabilities-heading{display:block;margin-bottom:40px}.capabilities-heading h2{font-size:44px;margin-bottom:24px}.capabilities-heading>p{max-width:370px}.offerings{grid-template-columns:1fr}.offering{padding:28px 0 32px!important}.offering+.offering{border-left:0;border-top:1px solid var(--line)}.offering:last-child{padding-bottom:0!important}.offering-top{margin-bottom:24px}.offering h3{font-size:30px;line-height:1.22;margin-bottom:18px}.offering h3 br{display:none}.offering>p{font-size:16px;line-height:1.75;max-width:550px;margin-bottom:23px}.contact-grid{grid-template-columns:1fr;gap:35px;margin-bottom:60px}.contact-grid h2{font-size:clamp(68px,15vw,110px)}.email-button{font-size:26px}.contact-section{padding-bottom:25px}.footer-bottom{flex-wrap:wrap;gap:20px}.footer-bottom p:nth-child(2){display:none}.footer-wordmark{font-size:20px}}
@media(max-width:360px){.wordmark{font-size:23px}.contact-button{padding:11px 12px;gap:8px}.hero-content{padding-top:140px}.hero{min-height:900px}h1{font-size:56px}.email-button{font-size:23px;gap:16px}.hero-bottom{gap:12px}.scroll-link span{max-width:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
