:root{--paper:#f5f3e9;--ink:#20352c;--green:#355b47;--moss:#71866c;--clay:#b5785b;--line:#d8ddce;--white:#fffef9;--serif:"DM Serif Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--max:1160px}
    *{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:8rem}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.025em}h1{font-size:clamp(3.2rem,7vw,6.4rem);max-width:720px;margin-bottom:1.35rem}h2{font-size:clamp(2.5rem,5vw,4.4rem);margin-bottom:1.1rem}h3{font-size:1.6rem;margin-bottom:.55rem}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.samplebar{position:sticky;top:0;z-index:10;background:#1f362b;color:#f8f6ec;font-size:.77rem;letter-spacing:.045em}.samplebar .wrap{height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px}.samplebar a{color:#f8f6ec;text-decoration-thickness:1px;text-underline-offset:3px;white-space:nowrap}.masthead{border-bottom:1px solid var(--line);background:var(--paper)}.masthead .wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;letter-spacing:.015em}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--green);border-radius:50%;font:1rem var(--serif);color:var(--green)}nav{display:flex;align-items:center;gap:30px;font-size:.9rem}nav a{text-decoration:none}nav a:hover,.text-link:hover{color:var(--clay)}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 22px;background:var(--green);color:white;border:1px solid var(--green);border-radius:2px;text-decoration:none;font-weight:700;font-size:.9rem;transition:background .2s,transform .2s}.button:hover{background:var(--ink);transform:translateY(-2px)}.button.outline{background:transparent;color:var(--ink)}.eyebrow{margin-bottom:17px;color:var(--green);font-size:.73rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero{padding:72px 0 96px}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:64px;align-items:center}.hero-copy{padding:10px 0 16px}.hero-copy h1 span{color:var(--green);font-style:italic}.hero-copy .lead{max-width:530px;color:#526257;font-size:1.1rem}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-photo{position:relative;min-height:585px;overflow:hidden;background:#9ba68e}.hero-photo img{position:absolute;inset:0}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(19,40,31,.33),transparent 45%)}.photo-note{position:absolute;right:18px;bottom:18px;z-index:1;background:var(--paper);padding:9px 13px;font-size:.75rem;letter-spacing:.03em}.hero-foot{display:flex;align-items:center;gap:15px;margin-top:34px;color:#667263;font-size:.83rem}.hero-foot:before{content:"";width:44px;height:1px;background:var(--clay)}.section{padding:104px 0}.section.soft{background:#e9eddf}.section-head{max-width:640px;margin-bottom:44px}.section-head p{max-width:560px;color:#58675b}.intro-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:10%;align-items:start}.intro-aside{padding-top:10px}.intro-aside .smallcap{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--moss);font-weight:700}.intro-aside p{max-width:300px;color:#58675b}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{min-height:275px;padding:29px;border:1px solid #cbd3c3;background:rgba(255,254,249,.58)}.service .num{display:block;margin-bottom:47px;color:var(--clay);font:1.25rem var(--serif)}.service p{margin-bottom:0;color:#5a675e;font-size:.94rem}.service .line{width:32px;height:1px;margin:22px 0;background:var(--moss)}.project-band{display:grid;grid-template-columns:1.05fr .95fr;min-height:470px;background:var(--green);color:var(--white)}.project-image{min-height:360px}.project-copy{align-self:center;padding:clamp(34px,6vw,76px)}.project-copy .eyebrow{color:#d5ddc8}.project-copy h2{font-size:clamp(2.3rem,4vw,3.7rem)}.project-copy p{color:#e1e7da;max-width:420px}.project-copy a{display:inline-block;margin-top:8px;color:white;text-underline-offset:5px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.step{border-top:1px solid #aebcae;padding-top:20px}.step b{display:block;margin-bottom:28px;color:var(--clay);font:1.15rem var(--serif)}.step p{margin-bottom:0;color:#58675b}.contact{background:var(--ink);color:var(--white)}.contact .eyebrow{color:#c6d0b8}.contact-grid{display:grid;grid-template-columns:1fr .86fr;gap:12%;align-items:end}.contact h2{max-width:550px}.contact-copy p{color:#d5ded2;max-width:520px}.contact-note{padding:25px;border:1px solid #607365;background:#2a4437}.contact-note strong{display:block;margin-bottom:9px;font-size:.95rem}.contact-note p{margin:0;color:#e0e7dc;font-size:.9rem}.contact-note a{color:white;text-underline-offset:4px}.footer{padding:29px 0;color:#d7dfd3;background:#17291f;font-size:.8rem}.footer .wrap{display:flex;justify-content:space-between;gap:24px}.footer p{margin:0}.footer a{color:#fff;text-decoration-underline-offset:3px}
    @media(max-width:800px){.hero-grid{grid-template-columns:1fr;gap:35px}.hero-photo{min-height:450px}.hero{padding:55px 0 75px}.intro-grid{grid-template-columns:1fr;gap:24px}.services-grid{grid-template-columns:1fr 1fr}.project-band{grid-template-columns:1fr}.project-image{min-height:380px}.contact-grid{grid-template-columns:1fr;gap:38px}.section{padding:76px 0}nav{gap:16px}}
    @media(max-width:560px){.wrap{width:min(var(--max),calc(100% - 36px))}.samplebar{font-size:.68rem}.samplebar .wrap{height:42px;gap:8px}.masthead .wrap{min-height:68px}.brand{font-size:.9rem}.brand-mark{width:32px;height:32px}nav{gap:12px;font-size:.8rem}nav a:not(.button){display:none}.masthead .button{min-height:42px;padding:0 14px;font-size:.8rem}.hero{padding:42px 0 56px}h1{font-size:3.3rem}.hero-photo{min-height:370px}.hero-copy .lead{font-size:1rem}.actions .button{flex:1}.section{padding:65px 0}.services-grid,.steps{grid-template-columns:1fr}.service{min-height:0}.service .num{margin-bottom:24px}.project-image{min-height:300px}.project-copy{padding:38px 25px}.contact-grid{gap:24px}.footer .wrap{display:block}.footer p+p{margin-top:8px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
