:root{--ink:#26323b;--slate:#3d4a55;--green:#3fae49;--deep:#1f5a2c;--mint:#a9d6a0;--cream:#f7f5ee;--line:#e2e0d6}
*{box-sizing:border-box}body{margin:0;font-family:Figtree,system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}
img{max-width:100%;height:auto;display:block}a{color:inherit}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:'Josefin Slab',Georgia,serif;color:var(--slate);line-height:1.1;margin:0 0 .4em}
h1{font-size:clamp(2.6rem,5.5vw,4.4rem);font-weight:600}h1 em{color:var(--green);font-style:normal}
h2{font-size:clamp(1.9rem,3.4vw,2.7rem);font-weight:600}h3{font-size:1.4rem;font-weight:700}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700;color:var(--green);margin:0 0 .8em}
.btn{display:inline-block;background:var(--green);color:#fff;text-decoration:none;font-weight:700;padding:15px 24px;border-radius:999px;transition:.2s}
.btn:hover{background:var(--deep)}.btn.ghost{background:transparent;color:var(--slate);box-shadow:inset 0 0 0 2px var(--slate)}
.btn.ghost:hover{background:var(--slate);color:#fff}.btn.small{padding:10px 18px;font-size:.92rem}
.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.bar{display:flex;align-items:center;gap:28px;height:84px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand img{width:64px;height:auto}
.brand span{font-family:'Josefin Slab',serif;font-weight:700;font-size:1.3rem;color:var(--slate);line-height:1}
.brand small{display:block;font-size:.85rem;font-weight:600;color:var(--green);letter-spacing:.1em;text-transform:uppercase;margin-top:3px}
nav{margin-left:auto;display:flex;gap:24px}nav a{text-decoration:none;font-weight:600;font-size:.95rem}nav a:hover{color:var(--green)}
.hero{padding:64px 0 80px;background:linear-gradient(180deg,#fff 0,var(--cream) 100%)}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.lede{font-size:1.2rem;max-width:34em;color:#4a5560}
.pillars{list-style:none;padding:0;margin:22px 0;display:flex;gap:10px;flex-wrap:wrap}
.pillars li{font-family:'Josefin Slab',serif;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.95rem;background:#e8f4e5;color:var(--deep);padding:8px 14px;border-radius:6px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}.fine{font-size:.9rem;color:#6b737a;margin-top:18px}
.hero-photo{margin:0;position:relative}.hero-photo img{border-radius:28px 28px 28px 140px;box-shadow:0 30px 60px -30px rgba(31,90,44,.55);aspect-ratio:1;object-fit:cover}
.hero-photo figcaption{position:absolute;right:18px;bottom:18px;background:rgba(255,255,255,.92);font-size:.82rem;font-weight:600;padding:6px 12px;border-radius:999px}
.fall{background:var(--deep);color:#e9f3e6;padding:88px 0;background-image:repeating-linear-gradient(100deg,rgba(255,255,255,.035) 0 60px,transparent 60px 120px)}
.sec-head{max-width:640px;margin-bottom:40px}.sec-head.light h2{color:#fff}.sec-head.light .eyebrow{color:var(--mint)}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.price{background:#fff;color:var(--ink);border-radius:18px;padding:28px 24px;position:relative}
.price h3{font-size:1.25rem;min-height:2.3em}.price p{margin:0;font-size:.96rem;color:#55606a}
.amt{font-family:'Josefin Slab',serif;font-weight:700;font-size:2.8rem!important;color:var(--green)!important;line-height:1;margin:6px 0 14px!important}
.amt span{display:block;font-family:Figtree,sans-serif;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#7b858d;font-weight:700;margin-bottom:4px}
.price.feature{box-shadow:0 0 0 4px var(--mint)}.tag{position:absolute;top:-12px;left:22px;background:var(--mint);color:var(--deep)!important;font-weight:700;font-size:.75rem!important;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.note{margin-top:26px;color:#bcd9b6;font-size:.95rem}
.services{padding:92px 0}.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.svc{background:#fff;border-radius:20px;overflow:hidden;border:1px solid var(--line)}.svc img{aspect-ratio:3/2;object-fit:cover;width:100%}
.svc div{padding:24px}.svc p{margin:0;color:#55606a}
.why{background:#fff;border-block:1px solid var(--line);padding:56px 0}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.why h3{color:var(--green);font-size:1.3rem}.why p{margin:0;color:#55606a}
.area{padding:88px 0}.area-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center}
.towns{display:flex;flex-wrap:wrap;gap:12px}.towns span{background:#fff;border:2px solid var(--mint);padding:12px 18px;border-radius:12px;font-weight:600}
.hiring{padding:0 0 88px}.hire-box{background:var(--mint);border-radius:24px;padding:44px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.hire-box .eyebrow{color:var(--deep)}.hire-box h2{margin-bottom:.2em}.hire-box p{margin:0}
.contact{background:var(--slate);color:#eef1f3;padding:80px 0}.contact h2{color:#fff}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center}
.contact-cards{display:grid;gap:14px}.contact-cards a{display:block;background:rgba(255,255,255,.08);border-radius:14px;padding:18px 22px;text-decoration:none;font-weight:700;font-size:1.15rem;word-break:break-word}
.contact-cards a:hover{background:var(--green)}.contact-cards small{display:block;font-weight:600;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mint)}
footer{background:#1d262d;color:#aab3ba;padding:40px 0;font-size:.9rem}.foot{text-align:center}.foot img{margin:0 auto 12px;filter:brightness(0) invert(1);opacity:.85}
.credits{font-size:.78rem;color:#7f8a92}.credits a{color:#aab3ba}
@media(max-width:900px){nav{display:none}.hero-grid,.area-grid,.contact-grid{grid-template-columns:1fr}.price-grid{grid-template-columns:1fr 1fr}.svc-grid{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr 1fr}.hire-box{flex-direction:column;align-items:flex-start;padding:32px}}
@media(max-width:520px){.price-grid,.why-grid{grid-template-columns:1fr}.bar .btn{display:none}}
