@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--green:#244c3a;--green-dark:#173428;--clay:#bc7355;--sand:#f1eee4;--cream:#faf8f2;--ink:#1f2924;--muted:#647068;--white:#fff;--radius:1.2rem;--shadow:0 18px 50px rgba(23,52,40,.13);--serif:'DM Serif Display',Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 2.5rem));margin-inline:auto}.narrow{width:min(760px,calc(100% - 2.5rem));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:1rem;top:-5rem;background:var(--green-dark);color:white;padding:.8rem 1rem;z-index:1000}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:50;background:rgba(250,248,242,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(36,76,58,.12)}.header-inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{width:148px;height:62px;overflow:hidden;display:flex;align-items:center}.brand img{width:100%;transform:scale(1.28)}.main-nav{display:flex;align-items:center;gap:1.25rem}.main-nav>a{font-size:.92rem;text-decoration:none;font-weight:700;padding:.35rem 0;border-bottom:2px solid transparent}.main-nav>a:not(.button):hover,.main-nav>a[aria-current=page]{color:var(--clay);border-color:var(--clay)}.menu-toggle{display:none;background:transparent;border:0;width:46px;height:46px;padding:10px}.menu-toggle span:not(.sr-only){display:block;height:2px;background:var(--green);margin:6px 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.75rem 1.25rem;border:2px solid var(--green);border-radius:999px;background:var(--green);color:white;text-decoration:none;font-weight:700;line-height:1.2;cursor:pointer;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-2px);background:var(--green-dark);border-color:var(--green-dark)}.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid var(--clay);outline-offset:3px}.button-secondary{background:transparent;color:var(--green)}.button-secondary:hover{background:var(--green);color:white}.button-small{min-height:42px!important;padding:.6rem 1rem!important;color:white!important;border-bottom-color:var(--green)!important}.eyebrow{margin:0 0 .75rem;color:var(--clay);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.hero{padding:4.2rem 0 5rem}.hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(2.5rem,5vw,5.5rem);align-items:center}.hero h1,.page-hero h1{margin:0 0 1.25rem;font-family:var(--serif);font-weight:400;color:var(--green);font-size:clamp(3.25rem,7.6vw,6.8rem);line-height:.92;letter-spacing:-.045em}.hero h1 em{color:var(--clay);font-style:italic}.lead{font-size:clamp(1.1rem,2vw,1.3rem);line-height:1.55;max-width:37rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.hero-note{display:flex;align-items:center;gap:.6rem;margin:1.2rem 0 0;color:var(--muted);font-size:.92rem}.hero-note:before{content:'';width:2.5rem;height:1px;background:var(--clay)}.hero-visual{position:relative}.hero-visual img{width:100%;aspect-ratio:5/6;object-fit:cover;border-radius:48% 48% 1.5rem 1.5rem;box-shadow:var(--shadow)}.image-label{position:absolute;right:-1rem;bottom:2rem;background:var(--sand);color:var(--green);padding:.7rem 1rem;border-radius:999px;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.leaf-mark{position:absolute;left:-2rem;top:3rem;width:74px;height:120px;background:var(--clay);border-radius:100% 0 100% 0;transform:rotate(-15deg);opacity:.9}.section{padding:6.5rem 0}.section-sand{background:var(--sand)}.section-green{background:var(--green);color:white}.section-green h2,.section-green h3{color:white}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem}.section-heading>div{max-width:660px}.section-heading h2,.split h2,.cta-panel h2,.content-prose h2{margin:.15rem 0 1rem;color:var(--green);font-family:var(--serif);font-size:clamp(2.4rem,5vw,4.5rem);font-weight:400;line-height:1.05;letter-spacing:-.03em}.section-heading p{margin:0;max-width:36rem;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.card{position:relative;background:var(--white);border:1px solid rgba(36,76,58,.1);border-radius:var(--radius);padding:1.7rem;box-shadow:0 8px 24px rgba(23,52,40,.05)}.card-number{display:block;color:var(--clay);font-family:var(--serif);font-size:2.2rem}.card h3,.process h3{margin:.5rem 0;color:var(--green);font-family:var(--serif);font-size:1.65rem;font-weight:400}.card p{margin:.5rem 0;color:var(--muted)}.card a{display:inline-block;margin-top:.8rem;color:var(--green);font-weight:800;text-underline-offset:4px}.price{margin:.7rem 0;color:var(--green);font-family:var(--serif);font-size:1.7rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}.split-image{position:relative}.split-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}.split-image.organic img{border-radius:4rem 1rem 4rem 1rem}.check-list{padding:0;list-style:none}.check-list li{position:relative;padding:.65rem 0 .65rem 1.7rem;border-bottom:1px solid rgba(36,76,58,.14)}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--clay);font-weight:800}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.project-card{overflow:hidden;border-radius:var(--radius);background:white;border:1px solid rgba(36,76,58,.1)}.project-card[hidden]{display:none}.project-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.project-body{padding:1.35rem}.tag{display:inline-block;background:var(--sand);color:var(--green);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:.35rem .6rem;border-radius:999px}.project-body h3{font-family:var(--serif);font-weight:400;font-size:1.7rem;color:var(--green);margin:.7rem 0 .35rem}.project-body p{margin:0;color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}.filter{border:1px solid var(--green);background:transparent;color:var(--green);padding:.65rem 1rem;border-radius:999px;font-weight:700;cursor:pointer}.filter.is-active,.filter:hover{background:var(--green);color:white}.page-hero{padding:5.5rem 0 4rem;background:var(--sand)}.page-hero h1{max-width:880px;font-size:clamp(3.2rem,7vw,6.5rem)}.page-hero .lead{max-width:690px}.breadcrumb{font-size:.85rem;margin:0 0 2rem;color:var(--muted)}.breadcrumb a{text-underline-offset:3px}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:steps}.process article{padding-top:1rem;border-top:2px solid var(--clay)}.process article:before{counter-increment:steps;content:'0' counter(steps);display:block;color:var(--clay);font-family:var(--serif);font-size:1.5rem}.price-panel{background:var(--green);color:white;border-radius:var(--radius);padding:clamp(2rem,5vw,4rem);display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}.price-panel h2{color:white;font-family:var(--serif);font-size:clamp(2.3rem,5vw,4rem);font-weight:400;line-height:1.05;margin:0 0 1rem}.price-panel .price{color:white;font-size:2.5rem}.price-panel .button{background:var(--clay);border-color:var(--clay)}.faq{border-top:1px solid rgba(36,76,58,.2)}details{border-bottom:1px solid rgba(36,76,58,.2);padding:1rem 0}summary{cursor:pointer;font-weight:800;color:var(--green);font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}summary:after{content:'+';color:var(--clay);font-size:1.5rem}details[open] summary:after{content:'–'}details p{max-width:720px;color:var(--muted)}.cta-panel{background:var(--clay);color:white;border-radius:var(--radius);padding:clamp(2rem,6vw,5rem);display:flex;justify-content:space-between;align-items:end;gap:2rem}.cta-panel h2{color:white;max-width:700px;margin-bottom:.6rem}.cta-panel p{max-width:580px}.cta-panel .button{background:white;color:var(--green);border-color:white;white-space:nowrap}.notice{padding:1rem 1.2rem;background:var(--sand);border-left:4px solid var(--clay);border-radius:.4rem}.form-wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(2rem,5vw,5rem)}.contact-aside{background:var(--green);color:white;border-radius:var(--radius);padding:2rem;height:max-content}.contact-aside h2{font-family:var(--serif);font-weight:400;font-size:2.2rem}.contact-aside a{color:white}.contact-aside hr{border:0;border-top:1px solid rgba(255,255,255,.25);margin:1.5rem 0}.form-card{background:white;border-radius:var(--radius);padding:clamp(1.4rem,4vw,3rem);box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:flex;flex-direction:column;gap:.35rem}.field-full{grid-column:1/-1}.field label{font-weight:800;color:var(--green)}.field small{color:var(--muted)}input,select,textarea{width:100%;border:1px solid #9ba69f;background:white;border-radius:.55rem;padding:.8rem .9rem;color:var(--ink);min-height:48px}textarea{min-height:150px;resize:vertical}.checkbox{display:flex;align-items:flex-start;gap:.65rem}.checkbox input{width:20px;min-height:20px;margin-top:.2rem}.alert{padding:1rem;border-radius:.55rem;margin-bottom:1.4rem}.alert-success{background:#e4f1e8;color:#173c28}.alert-error{background:#fae5df;color:#6b2c1f}.alert ul{margin:.3rem 0}.honeypot{position:absolute;left:-9999px}.content-prose{padding:5rem 0}.content-prose h1{font-family:var(--serif);font-size:clamp(2.8rem,6vw,5rem);font-weight:400;color:var(--green)}.content-prose h2{font-size:2rem;margin-top:2.5rem}.content-prose li{margin:.4rem 0}.site-footer{background:var(--green-dark);color:#e9eee9;padding:4.5rem 0 1.5rem}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr;gap:2.5rem}.footer-brand{font-family:var(--serif);font-size:2rem;text-decoration:none}.footer-grid h2{font-family:var(--sans);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:#d3a995}.footer-grid a,.footer-grid p{display:block;margin:.45rem 0;color:#e9eee9}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.15);font-size:.82rem;color:#b9c5bf}.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:960px){.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--cream);padding:1rem 1.25rem 1.5rem;border-bottom:1px solid rgba(36,76,58,.15);box-shadow:0 12px 24px rgba(23,52,40,.08);flex-direction:column;align-items:stretch}.main-nav.is-open{display:flex}.main-nav>a{padding:.7rem 0}.hero-grid,.split,.price-panel,.form-wrap{grid-template-columns:1fr}.hero-copy{order:1}.hero-visual{order:2;max-width:700px}.hero-visual img{aspect-ratio:4/3;border-radius:3rem 3rem 1rem 1rem}.cards,.project-grid{grid-template-columns:repeat(2,1fr)}.process{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.container,.narrow{width:min(100% - 1.5rem,1180px)}.header-inner{height:72px}.brand{width:126px}.main-nav{top:72px}.hero{padding:3rem 0 4rem}.hero h1,.page-hero h1{font-size:clamp(3rem,16vw,4.6rem)}.hero-visual img{aspect-ratio:4/5}.leaf-mark{display:none}.image-label{right:.7rem;bottom:.7rem}.section{padding:4.5rem 0}.section-heading{align-items:start;flex-direction:column}.cards,.project-grid,.process,.footer-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.cta-panel{align-items:start;flex-direction:column}.footer-bottom{flex-direction:column}.footer-bottom p{margin:.1rem 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
