:root{--alabaster:#f2efe6;--paper:#faf8f1;--moss:#314838;--moss-dark:#203128;--sage:#9cab8e;--clay:#b77b5a;--ink:#1f2822;--muted:#667068;--line:rgba(35,58,43,.18);--serif:"Iowan Old Style","Baskerville",Georgia,serif;--sans:"Avenir Next","Segoe UI",Arial,sans-serif;--radius:2rem}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--alabaster);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.6}body.modal-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}.skip-link{position:fixed;left:1rem;top:-10rem;z-index:1000;background:var(--paper);padding:.8rem 1rem}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid var(--clay);outline-offset:4px}.site-header{height:86px;padding:0 clamp(1.2rem,4vw,4.5rem);display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;z-index:20;color:#fff}.brand{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--serif);font-size:1.45rem;letter-spacing:.04em}.brand-mark{width:35px;height:35px;border:1px solid currentColor;border-radius:50% 48% 50% 46%;display:grid;place-items:center;font-size:1.1rem;transform:rotate(-8deg)}nav{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.5rem);font-size:.83rem;letter-spacing:.05em}nav a{position:relative}.site-header nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-.3rem;height:1px;background:currentColor;transition:right .25s}.site-header nav a:hover::after{right:0}.nav-cta{border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:.65rem 1rem}.menu-toggle{display:none;border:1px solid currentColor;border-radius:99px;background:transparent;padding:.5rem .9rem}.hero{min-height:800px;height:100vh;max-height:1040px;display:grid;grid-template-columns:51% 49%;background:var(--moss-dark);color:#f8f5ec;overflow:hidden;position:relative}.hero-copy{padding:clamp(9rem,18vh,12rem) 6vw 4rem 8vw;display:flex;flex-direction:column;justify-content:center;z-index:2}.eyebrow,.section-number{text-transform:uppercase;letter-spacing:.17em;font-size:.7rem;font-weight:500}.eyebrow{color:#c8d1c5}.hero h1,.section-heading h2,.intro h2,.process h2,.benefits h2,.contact h2,.faq h2{font:400 clamp(3.2rem,6vw,6.7rem)/.96 var(--serif);letter-spacing:-.02em;margin:1.3rem 0 1.8rem}.hero h1 em,h2 em{font-weight:400;color:#c3d0bd}.hero-lead{font-size:clamp(1rem,1.5vw,1.3rem);max-width:590px;color:#d5ddd3}.hero-actions{display:flex;align-items:center;gap:2rem;margin:1.6rem 0 3rem}.button{border:1px solid transparent;border-radius:999px;display:inline-flex;justify-content:center;align-items:center;gap:.5rem;padding:.9rem 1.35rem;cursor:pointer;font-weight:500;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--moss);color:#fff}.hero .button-primary{background:#e9e6d9;color:var(--moss-dark)}.button-outline{border-color:var(--moss);background:transparent;color:var(--moss)}.text-link{display:inline-flex;gap:.6rem;align-items:center;border-bottom:1px solid currentColor;padding-bottom:.15rem}.hero-facts{display:flex;gap:2.5rem;margin:auto 0 0}.hero-facts div{display:flex;align-items:center;gap:.7rem}.hero-facts dt{font:1.35rem var(--serif);color:#aebb9f}.hero-facts dd{margin:0;font-size:.72rem;color:#cbd3ca}.hero-visual{margin:0;position:relative}.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,49,40,.42),transparent 30%),linear-gradient(0deg,rgba(13,25,19,.4),transparent 35%)}.hero-visual img{width:100%;height:100%;object-fit:cover}.hero-visual figcaption{position:absolute;z-index:2;bottom:2.5rem;left:2.5rem;right:2.5rem;display:flex;justify-content:space-between;font-size:.72rem;letter-spacing:.06em}.leaf{position:absolute;width:210px;height:80px;border:1px solid rgba(255,255,255,.2);border-radius:100% 0 100% 0;transform:rotate(35deg)}.leaf-a{left:46%;bottom:15%}.section-pad{padding:clamp(5rem,10vw,9rem) clamp(1.2rem,7vw,8rem)}.intro{background:var(--alabaster)}.section-number{color:#728071;margin:0 0 2rem}.intro-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw}.intro h2{font-size:clamp(2.8rem,5vw,5.7rem);margin:0}.intro h2 em{color:var(--moss)}.intro-grid>div{padding-top:2rem;max-width:520px}.large-text{font:1.55rem/1.4 var(--serif);color:var(--moss);margin-top:0}.organic-top{position:relative;margin-top:5vw}.organic-top::before{content:"";position:absolute;top:-5vw;left:0;width:100%;height:5.1vw;background:inherit;clip-path:ellipse(60% 100% at 50% 100%)}.services,.process,.benefits,.faq{background:var(--paper)}.section-heading{display:grid;grid-template-columns:1fr 340px;gap:6vw;align-items:end;margin-bottom:4rem}.section-heading h2{font-size:clamp(3rem,5vw,5.4rem);margin:0}.section-heading>p{margin:0 0 .8rem;color:var(--muted)}.section-heading.compact{margin-bottom:3rem}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:70px 1fr 50px;gap:1rem;align-items:center;padding:2rem 1rem;border-bottom:1px solid var(--line);transition:background .25s,padding .25s}.service-list article:hover{background:var(--alabaster);padding-left:1.7rem}.service-index{font:1.2rem var(--serif);color:var(--sage)}.service-list h3{font:2rem var(--serif);margin:0 0 .25rem}.service-list p{margin:0;color:var(--muted);max-width:700px}.service-icon{font-size:2rem;color:var(--moss)}.directions{overflow:hidden}.direction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2vw}.direction-card{margin:0}.direction-card.offset{margin-top:5rem}.direction-card img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:45% 45% 1rem 1rem}.direction-card div{padding:1.2rem .3rem}.direction-card span{font:.75rem var(--sans);color:var(--sage)}.direction-card h3{font:2rem var(--serif);margin:.25rem 0}.direction-card p{color:var(--muted);margin:0}.process-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.process-sticky{align-self:start;position:sticky;top:3rem}.process h2{font-size:clamp(3rem,5vw,5.4rem);margin:0 0 2rem}.process-sticky>p:last-child{max-width:430px;color:var(--muted)}.steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.steps li{display:grid;grid-template-columns:65px 1fr;gap:1.5rem;padding:2rem 0;border-bottom:1px solid var(--line)}.steps li>span{font:1.5rem var(--serif);color:var(--sage)}.steps h3{font:2.2rem var(--serif);margin:0}.steps p{margin:.25rem 0 0;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.gallery-item{border:0;padding:0;background:transparent;cursor:zoom-in;text-align:left;position:relative;overflow:hidden}.gallery-item img{width:100%;height:430px;object-fit:cover;transition:transform .6s}.gallery-item:hover img{transform:scale(1.025)}.gallery-item.tall{grid-row:span 2}.gallery-item.tall img{height:calc(860px + 1.5rem)}.gallery-item span{position:absolute;left:1.2rem;bottom:1.2rem;background:rgba(250,248,241,.9);padding:.55rem .8rem;font-size:.78rem}.lightbox{width:min(92vw,1200px);border:0;background:var(--moss-dark);color:#fff;padding:1rem}.lightbox::backdrop{background:rgba(15,25,19,.8)}.lightbox img{width:100%;max-height:78vh;object-fit:contain}.lightbox p{margin:.8rem .2rem 0}.lightbox-close,.modal-close{position:absolute;top:1rem;right:1rem;border:0;background:var(--paper);width:42px;height:42px;border-radius:50%;font-size:1.5rem;cursor:pointer;z-index:2}.benefits{background:var(--moss);color:#f7f4ea}.benefits .section-number{color:#b9c7b3}.benefit-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw}.benefits h2{font-size:clamp(3rem,5vw,5.5rem);margin:0}.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem 2rem}.benefit-grid article{border-top:1px solid rgba(255,255,255,.25);padding-top:1.4rem}.benefit-grid article>span{font-size:1.7rem;color:#c9d3c2}.benefit-grid h3{font:1.6rem var(--serif);margin:1rem 0 .5rem}.benefit-grid p{color:#d5ddd3;margin:0}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;align-items:stretch}.price-card{border:1px solid var(--line);border-radius:var(--radius);padding:2rem;display:flex;flex-direction:column;background:rgba(255,255,255,.18)}.price-card.featured{background:var(--moss);color:#fff;transform:translateY(-1rem)}.price-name{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem}.price{font:clamp(2.7rem,4vw,4.3rem) var(--serif);margin:1rem 0 0}.price span{font:500 .75rem var(--sans)}.duration{color:var(--muted);font-size:.82rem;min-height:2.6rem}.featured .duration{color:#d2dbd0}.price-card ul{padding:1.4rem 0 1.4rem 1.1rem;border-top:1px solid currentColor;margin:1rem 0}.price-card li{margin:.55rem 0}.limit{font-size:.78rem;color:var(--muted);margin:auto 0 1.5rem}.featured .limit{color:#d2dbd0}.featured .button-primary{background:var(--paper);color:var(--moss)}.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:10vw}.faq h2{font-size:clamp(3rem,5vw,5.4rem);margin:0}.accordion{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:1.6rem 3rem 1.6rem 0;font-weight:500;position:relative}summary::-webkit-details-marker{display:none}summary span{position:absolute;right:.5rem;font-size:1.4rem;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{color:var(--muted);padding:0 2rem 1.6rem 0;margin:0}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;background:var(--alabaster)}.contact h2{font-size:clamp(3rem,5vw,5.5rem);margin:0 0 2rem}.contact h2 em{color:var(--moss)}.contact-intro>p{max-width:520px}.contact address{font-style:normal;display:grid;margin-top:2.5rem}.contact address span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-top:1.2rem}.contact address a{font:1.25rem var(--serif);text-decoration:underline;text-underline-offset:.2rem}.contact address p{margin:.2rem 0}.contact-note{font-size:.75rem;color:var(--muted)}.project-form{background:var(--paper);border-radius:var(--radius);padding:clamp(1.4rem,4vw,3rem)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.field{display:flex;flex-direction:column;margin-bottom:1.25rem}.field label{font-size:.75rem;font-weight:500;margin-bottom:.4rem}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #9fa99f;background:transparent;padding:.75rem .2rem;border-radius:0;color:var(--ink)}.field textarea{border:1px solid #9fa99f;padding:.8rem;resize:vertical}.field [aria-invalid="true"]{border-color:#9c3e30}.check{display:flex;align-items:flex-start;gap:.7rem;font-size:.76rem;margin:1rem 0 1.5rem}.check input{margin-top:.25rem;accent-color:var(--moss)}.check a{text-decoration:underline}.submit-button{border:0}.form-status{min-height:1.5rem;font-size:.82rem;font-weight:500}footer{background:var(--moss-dark);color:#f5f2e8;padding:4rem clamp(1.2rem,7vw,8rem) 2rem}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;padding-bottom:4rem}.footer-main>p{font:2.1rem/1.2 var(--serif);margin:0}.footer-mail{justify-self:end;text-decoration:underline;text-underline-offset:.3rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:1.5rem;display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:center;font-size:.7rem;color:#c9d1c8}.footer-bottom nav{justify-content:center;gap:1.1rem;font-size:.7rem;flex-wrap:wrap}.cookie-settings,.text-button{border:0;background:none;color:inherit;text-decoration:underline;cursor:pointer;padding:0}.cookie-banner{position:fixed;z-index:90;bottom:1rem;left:1rem;right:1rem;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 50px rgba(27,40,31,.22);padding:1.3rem 1.5rem;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;border-radius:1.2rem}.cookie-banner[hidden]{display:none}.cookie-title{font:1.3rem var(--serif);margin:0}.cookie-banner p:last-child{margin:.2rem 0 0;font-size:.78rem;max-width:760px}.cookie-actions{display:flex;gap:.6rem;align-items:center}.cookie-actions .button{padding:.65rem 1rem}.cookie-modal{width:min(90vw,620px);border:0;border-radius:var(--radius);padding:2.5rem;background:var(--paper);color:var(--ink)}.cookie-modal::backdrop{background:rgba(16,28,21,.7)}.cookie-modal h2{font:2.7rem var(--serif);margin:.5rem 0 1.5rem}.cookie-modal form{display:flex;flex-direction:column}.cookie-option{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-top:1px solid var(--line);padding:1rem 0}.cookie-option p{font-size:.76rem;color:var(--muted);margin:.2rem 0}.cookie-option input{width:22px;height:22px;accent-color:var(--moss)}.cookie-modal .button{align-self:flex-start;margin-top:1rem}.cookie-modal .text-link{align-self:flex-start;font-size:.76rem;margin-top:1rem}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.site-header nav{position:absolute;top:75px;left:1rem;right:1rem;display:none;flex-direction:column;align-items:stretch;background:var(--paper);color:var(--ink);padding:1rem;border-radius:1rem}.site-header nav.open{display:flex}.menu-toggle{display:block}.hero{grid-template-columns:1fr;min-height:900px;height:auto;max-height:none}.hero-copy{min-height:610px;padding:9rem 7vw 3rem}.hero-visual{height:420px}.leaf{display:none}.intro-grid,.process-grid,.benefit-layout,.faq-layout,.contact{grid-template-columns:1fr}.process-sticky{position:static}.pricing-grid{grid-template-columns:1fr}.price-card.featured{transform:none}.footer-main{grid-template-columns:1fr 1fr}.footer-mail{grid-column:2;justify-self:start}.footer-bottom{grid-template-columns:1fr}.footer-bottom nav{justify-content:flex-start}.cookie-banner{grid-template-columns:1fr}.section-heading{grid-template-columns:1fr}.section-heading>p{max-width:520px}}
@media(max-width:680px){.section-pad{padding:5rem 1.2rem}.hero-copy{padding-left:1.2rem;padding-right:1.2rem}.hero h1{font-size:3.45rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.2rem}.hero-facts{gap:1rem;flex-wrap:wrap}.hero-visual figcaption{left:1rem;right:1rem}.intro-grid{gap:1rem}.direction-grid{grid-template-columns:1fr}.direction-card.offset{margin-top:0}.direction-card img{aspect-ratio:4/4.5}.gallery{grid-template-columns:1fr}.gallery-item img,.gallery-item.tall img{height:420px}.gallery-item.tall{grid-row:auto}.benefit-grid{grid-template-columns:1fr;gap:2rem}.form-row{grid-template-columns:1fr;gap:0}.footer-main{grid-template-columns:1fr;gap:2rem}.footer-mail{grid-column:auto}.cookie-actions{flex-wrap:wrap}.cookie-banner{bottom:.5rem;left:.5rem;right:.5rem;padding:1rem}.cookie-modal{padding:1.5rem}.price-card{padding:1.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.gallery-item img,.button{transition:none}}

.legal-page{background:var(--paper)}.legal-header{position:static;background:var(--moss-dark)}.legal-main{max-width:980px;margin:0 auto;padding:6rem 1.2rem 8rem}.legal-main .eyebrow{color:var(--sage)}.legal-main h1{font:clamp(3.2rem,7vw,6rem)/1 var(--serif);margin:1rem 0 2rem}.legal-lead{font:1.4rem/1.5 var(--serif);max-width:760px;color:var(--moss)}.legal-meta{font-size:.78rem;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:2rem}.legal-content{display:grid;grid-template-columns:220px 1fr;gap:5rem;margin-top:4rem}.legal-toc{align-self:start;position:sticky;top:2rem}.legal-toc p{text-transform:uppercase;letter-spacing:.14em;font-size:.68rem}.legal-toc a{display:block;font-size:.78rem;margin:.7rem 0;color:var(--muted)}.legal-article section{scroll-margin-top:2rem;margin-bottom:3.5rem}.legal-article h2{font:2rem var(--serif);margin:0 0 1rem}.legal-article h3{font:1.25rem var(--serif);margin:1.5rem 0 .5rem}.legal-article p,.legal-article li{color:#4f5b52}.legal-article a{text-decoration:underline;text-underline-offset:.2rem}.legal-article table{width:100%;border-collapse:collapse;font-size:.85rem}.legal-article th,.legal-article td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.8rem}.legal-article th{font-weight:500}.legal-callout{background:var(--alabaster);border-left:3px solid var(--moss);padding:1.2rem 1.4rem}.legal-footer{margin-top:0}
@media(max-width:760px){.legal-content{grid-template-columns:1fr;gap:2rem}.legal-toc{position:static;border-bottom:1px solid var(--line);padding-bottom:1rem}.legal-main{padding-top:4rem}.legal-article table{display:block;overflow-x:auto}}
