:root{color-scheme:light;--forest:#17271f;--cream:#f8f5ed;--ink:#182820;--gold:#bbeb59}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:1.06rem/1.6 "Segoe UI",system-ui,sans-serif}a{color:inherit;text-underline-offset:.22em}a:focus-visible{outline:3px solid #ae5417;outline-offset:4px}.skip{position:absolute;left:1rem;top:-8rem;background:#fff;color:#17271f;padding:.5rem;z-index:2}.skip:focus{top:1rem}.wrap{width:min(1100px,calc(100% - 3rem));margin-inline:auto}.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1rem;flex-wrap:wrap}.brand{font-size:1.15rem;font-weight:850;text-decoration:none}nav{display:flex;gap:.5rem 1.4rem;flex-wrap:wrap}nav a{text-decoration:none}nav a[aria-current],nav a:hover{text-decoration:underline}.hero{color:var(--cream);background:radial-gradient(ellipse at 95% 115%,#4a654b 0%,transparent 58%),var(--forest);border-bottom:5px solid var(--gold)}.hero-inner{padding-block:clamp(3.3rem,10vw,8rem)}.kicker{color:var(--gold);font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800}h1,h2,h3,p{margin:0 0 .75rem}h1{font-size:clamp(2.7rem,8vw,6.4rem);line-height:.98;letter-spacing:-.065em;max-width:12ch}h2{font-size:clamp(1.65rem,4vw,2.5rem);line-height:1.15;letter-spacing:-.035em}.intro{font-size:clamp(1.1rem,2vw,1.35rem);max-width:48ch;margin-block:1.4rem 1.7rem}.trust{font-size:.95rem;font-weight:700;margin-bottom:1.3rem}.trust span{color:var(--gold)}.actions{display:flex;align-items:center;gap:1rem 1.4rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:.65rem;background:var(--gold);color:#242317;font-weight:800;padding:.8rem 1rem;border-radius:.35rem;text-decoration:none}.button:hover{background:#d5f58e}.call{font-weight:750}.service-directory{border-top:1px solid #d4d9ce}.service-directory ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.6rem 1.25rem;padding-left:1.3rem}.service-directory a{font-weight:650}.section,.quote-inner{padding-block:clamp(2.5rem,6vw,5rem)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.4rem}article{background:#fffdf7;border:1px solid #dedbd0;border-radius:.4rem;padding:1.3rem}article p{color:#37443c}article a{font-weight:700}.quote{background:#e6ede0}.quote-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:2rem 4rem}.quote p{max-width:50ch}.quote ul{padding-left:1.15rem;margin-top:.25rem}.area-lists ul:first-of-type{columns:2;column-gap:1.6rem}.area-lists li{break-inside:avoid}footer{background:var(--forest);color:var(--cream)}footer .bar{padding-block:1.5rem}@media(max-width:680px){.wrap{width:calc(100% - 2rem)}.cards,.quote-inner{grid-template-columns:1fr}}
.hero{background:radial-gradient(ellipse at 85% 105%,#496047 0%,transparent 62%),linear-gradient(118deg,#111e17,#22362b);position:relative;isolation:isolate}
.hero::after{content:"";position:absolute;z-index:-1;inset:0;background:#8ca07a;opacity:.24;clip-path:polygon(47% 100%,68% 40%,75% 55%,85% 22%,100% 57%,100% 100%)}
.workshop-gallery{border-top:1px solid #d4d9ce}.photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.5rem,2vw,1.5rem);margin-top:1.25rem;max-width:52rem}.photo-pair figure{margin:0}.photo-pair img{display:block;width:100%;height:auto;border-radius:.4rem}.photo-pair figcaption{font-weight:700;margin-top:.35rem}.delivery-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:2rem;border-top:1px solid #d4d9ce}.delivery-feature img{width:100%;height:auto;border-radius:.6rem}.delivery-feature a{font-weight:750}.has-logo{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:2rem}.hero-logo{display:block;width:100%;height:auto;border-radius:.6rem}.hero h1{max-width:14ch;font-weight:900;text-wrap:balance}
.hero-inner{padding-block:clamp(4rem,10vw,7.2rem)}
.brand{letter-spacing:-.035em}nav a{font-size:.96rem;font-weight:650}
.steps{background:var(--forest);color:var(--cream)}
.steps-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem 2.8rem;padding-left:1.3rem;margin-bottom:0}
.steps-list li::marker{color:var(--gold);font-weight:800}.steps-list strong{font-size:1.15rem}.steps-list p{margin:.35rem 0 0}
.service-directory li{padding-block:.2rem}.faq details{border-bottom:1px solid #cbd2c6;padding:.85rem 0;max-width:48rem}.faq summary{font-weight:750;cursor:pointer}.faq details p{margin:.6rem 0 0}
@media(max-width:680px){.has-logo,.delivery-feature{grid-template-columns:1fr}.hero-logo{max-width:25rem}.steps-list{grid-template-columns:1fr}.hero::after{opacity:.14}.bar{gap:.5rem}}
