.cp-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 5%;flex-wrap:wrap}
.cp-nav{display:flex;gap:24px;font-size:15px;flex-wrap:wrap}
.cp-nav a:hover,.cp-nearby a:hover,.cp-areas a:hover{color:#7c863b}
.cp-main{padding:0 5% 40px}
.cp-hero{padding:48px 0 36px;max-width:900px}
.cp-hero h1{font-size:clamp(38px,5vw,68px);font-weight:500;letter-spacing:-2px;line-height:1.08;margin-bottom:22px}
.cp-lead{font-size:18px;line-height:1.75;max-width:760px}
.cp-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.cp-actions .button{display:inline-block}
.cp-secondary{background:transparent;color:var(--green);border:1px solid var(--green)}
.cp-section{padding:36px 0;border-top:1px solid var(--line)}
.cp-section h2,.cp-cta h2{margin-bottom:20px;font-size:clamp(28px,3vw,40px);letter-spacing:-1px}
.cp-section p+p{margin-top:14px}
.cp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.cp-card{background:#fff;border:1px solid var(--line);padding:22px;display:flex;flex-direction:column;gap:10px}
.cp-card h3{font-size:20px}
.cp-card .text-link{margin-top:auto;font-weight:600;color:var(--green)}
.cp-city:hover{border-color:var(--green)}
.cp-split{display:grid;grid-template-columns:1.4fr 1fr;gap:40px}
.cp-list{margin:12px 0 0;padding-left:20px;color:#657067}
.cp-steps{padding-left:22px;color:#657067;display:grid;gap:10px}
.cp-steps a,.cp-section p a{color:var(--green);text-decoration:underline}
.cp-faq{border:1px solid var(--line);background:#fff;padding:16px 20px;margin-bottom:10px}
.cp-faq summary{cursor:pointer;font-weight:600}
.cp-faq p{margin-top:10px}
.cp-nearby{display:flex;flex-wrap:wrap;gap:10px 22px}
.cp-nearby a{color:var(--green);font-weight:600}
.cp-cta{background:var(--green);color:var(--cream);padding:40px;margin-top:20px}
.cp-cta h2{color:var(--cream)}
.cp-cta p{color:#dfe5d8}
.cp-cta .button{background:var(--lime);color:var(--ink)}
.cp-cta .cp-secondary{background:transparent;color:var(--cream);border-color:var(--cream)}
.cp-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;padding:40px 5%;border-top:1px solid var(--line)}
.cp-areas{display:flex;flex-wrap:wrap;gap:8px 18px;max-width:560px;font-size:15px}
.cp-areas strong{width:100%}
@media (max-width:760px){.cp-split{grid-template-columns:1fr}.cp-nav{display:none}.cp-cta{padding:28px 22px}.header-call{font-size:14px}}
