:root{--bg:#f6f7f1;--fg:#1b2e24;--card:#ffffff;--primary:#177044;--primary-fg:#f4faee;--secondary:#dcecd8;--secondary-fg:#1e3b2b;--muted:#eef3e8;--muted-fg:#5a6d61;--border:#d3e1d2;--max:80rem;--shadow:0 18px 50px -35px rgba(27, 46, 36, 0.45);--dock:5.5rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:"DM Sans",ui-sans-serif,sans-serif;font-size:1.02rem;line-height:1.6;background-image:radial-gradient(circle at 50% 0%,rgb(220 236 216 / .9),transparent 36rem)}img{max-width:100%;height:auto}a{color:var(--primary)}h1,h2,h3{font-family:Manrope,ui-sans-serif,sans-serif;line-height:1.12;letter-spacing:0;margin:0 0 .4rem}h1{font-size:clamp(2.2rem, 5vw, 4.4rem)}h2{font-size:clamp(1.7rem, 3vw, 2.4rem)}p{margin:0 0 .8rem}.skip{position:absolute;left:1rem;top:-4rem;background:var(--primary);color:var(--primary-fg);padding:.6rem 1rem;border-radius:999px;z-index:80}.skip:focus{top:.6rem}.screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.icon{width:1.15rem;height:1.15rem;display:inline-block;vertical-align:-.15rem}.site-header{position:sticky;top:0;z-index:40;background:rgb(246 247 241 / .92);backdrop-filter:blur(16px);border-bottom:1px solid rgb(211 225 210 / .9)}.header-bar{max-width:var(--max);margin:0 auto;min-height:5.2rem;padding:.55rem 1rem;display:flex;align-items:center;gap:1rem}.brand{display:flex;align-items:center;margin-right:auto}.brand img,.footer-logo img{height:58px;width:auto;display:block}.primary{display:none;gap:.25rem}.primary a,.header-actions .phone-link{text-decoration:none;color:var(--muted-fg);font-weight:700;font-size:.92rem;border-radius:999px;padding:.45rem .85rem}.primary a.is-active,.primary a:hover{background:var(--secondary);color:var(--secondary-fg)}.header-actions{display:flex;align-items:center;gap:.5rem}.header-cta{display:none}.phone-link{display:none;align-items:center;gap:.35rem}.menu-btn{width:2.8rem;height:2.8rem;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--fg);display:grid;place-items:center}.mobile-nav{display:grid;gap:.45rem;padding:.4rem 1rem 1rem;border-top:1px solid var(--border)}.mobile-nav a{text-decoration:none;background:var(--muted);color:var(--fg);font-weight:700;border-radius:1rem;padding:.8rem 1rem}.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:0;border-radius:999px;background:var(--primary);color:var(--primary-fg);font:inherit;font-weight:700;text-decoration:none;padding:.8rem 1.15rem;cursor:pointer}.btn-light{background:var(--secondary);color:var(--secondary-fg)}.btn-ghost,.btn-ghost-light{background:#fff0;color:var(--fg);border:1px solid var(--border)}.btn-ghost-light{color:var(--primary-fg);border-color:rgb(244 250 238 / .45)}.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.home-hero-wrap,.page-hero,.page-section,.band-wrap{width:min(var(--max), calc(100% - 2rem));margin-inline:auto}.home-hero-wrap{padding:1rem 0 .5rem}.home-hero{position:relative;min-height:34rem;border-radius:2.5rem;overflow:hidden;background:var(--fg);color:#f4faee}.home-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% center;opacity:.72}.home-hero-copy{position:relative;z-index:1;min-height:34rem;max-width:42rem;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;background:linear-gradient(90deg,rgb(27 46 36 / .92),rgb(27 46 36 / .55) 70%,transparent)}.home-hero h1,.home-hero p{color:#f4faee}.home-hero p{color:rgb(244 250 238 / .88);max-width:38rem}.pill,.pills span{display:inline-flex;width:fit-content;border-radius:999px;background:rgb(244 250 238 / .16);padding:.4rem .75rem;font-size:.75rem;font-weight:800;text-transform:uppercase}.pills{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}.page-hero{padding:2.2rem 0 1rem}.page-hero h1{max-width:18ch}.lede,.section-head p{color:var(--muted-fg);max-width:46rem}.eyebrow{display:inline-flex;border-radius:999px;background:var(--secondary);color:var(--primary);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:.45rem .8rem;margin-bottom:.8rem}.page-section{padding:2.2rem 0}.section-head{max-width:44rem;margin-bottom:1.3rem}.section-head.row{max-width:none;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:end}.card-grid,.steps{display:grid;gap:.9rem}.card-grid.two{grid-template-columns:1fr}.soft-card,.panel,.form-panel,.frame{border:1px solid var(--border);border-radius:2rem;background:rgb(255 255 255 / .92);box-shadow:var(--shadow)}.soft-card{padding:1.35rem}.soft-card h2{font-size:1.25rem}.soft-card h2 a,.more,.stack-links a,.city-pills a,.hub a{text-decoration:none}.more{display:inline-flex;align-items:center;gap:.35rem;font-weight:800;font-size:.92rem;margin-top:.7rem}.icon-bubble{width:3rem;height:3rem;display:grid;place-items:center;border-radius:1.2rem;background:var(--secondary);color:var(--primary);margin-bottom:.8rem}.icon-bubble .icon{width:1.3rem;height:1.3rem}.split{display:grid;gap:1.2rem}.frame{overflow:hidden}.frame img{width:100%;height:100%;object-fit:cover;aspect-ratio:4 / 3;display:block}.panel,.form-panel{padding:1.4rem}.panel-lg{padding:1.4rem}.checks{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.75rem}.checks li{display:flex;gap:.65rem;align-items:flex-start;font-weight:650}.checks .icon{color:var(--primary);margin-top:.2rem;flex:none}.step-no{display:block;color:var(--primary);font-weight:800;font-size:.78rem;text-transform:uppercase;margin-top:.4rem}.city-pills{display:grid;gap:.6rem}.city-pills a,.stack-links a{display:flex;align-items:center;justify-content:space-between;gap:.6rem;border:1px solid var(--border);background:#fff;border-radius:1.2rem;padding:.85rem 1rem;font-weight:800;color:var(--fg)}.city-pills a:hover,.stack-links a:hover,.soft-card:hover{border-color:var(--primary)}.stack-links{display:grid;gap:.5rem}.county{color:var(--primary);font-weight:800;font-size:.9rem}.trust-note,.note{display:flex;gap:.7rem;align-items:flex-start;background:var(--secondary);border-radius:1.2rem;padding:.9rem 1rem;margin-top:1rem}.prose{max-width:46rem}.prose p,.article-body p,.article-body li{color:var(--muted-fg);font-size:1.05rem;line-height:1.75}.article-body h2{margin-top:1.6rem}.article-body{width:min(46rem, calc(100% - 2rem));margin:0 auto 1rem}.article-photo{width:min(46rem, calc(100% - 2rem));margin:0 auto 1.2rem}.narrow{width:min(48rem, calc(100% - 2rem))}.faq{border:1px solid var(--border);border-radius:1rem;background:#fff;padding:.2rem 1rem;margin-bottom:.7rem}.faq summary{cursor:pointer;font-weight:800;padding:.85rem 0}.faq p{color:var(--muted-fg)}.crumbs{width:min(var(--max), calc(100% - 2rem));margin:1rem auto 0}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem .2rem;padding:0;margin:0;font-size:.85rem;font-weight:700}.crumbs li:not(:last-child)::after{content:"/";margin-left:.35rem;color:var(--muted-fg)}.post-card img{border-radius:1.2rem;aspect-ratio:16 / 9;object-fit:cover;width:100%;margin-bottom:.8rem}.meta{color:var(--primary);font-size:.75rem;font-weight:800;text-transform:uppercase}.hub{display:grid;gap:1rem}.hub ul,.map-grid ul,.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.map-grid{display:grid;gap:.8rem}.band-wrap{padding-bottom:1.5rem}.band{position:relative;overflow:hidden;border-radius:2rem;background:var(--primary);color:var(--primary-fg);padding:1.6rem}.band h2,.band p{color:var(--primary-fg)}.band p{color:rgb(244 250 238 / .86)}.band-kicker{font-size:.78rem;font-weight:800;text-transform:uppercase}.quote,.form-panel .quote{display:grid;gap:.8rem}.form-grid{display:grid;gap:.8rem}label{display:grid;gap:.35rem;font-weight:800;font-size:.92rem}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:.9rem;background:#fff;color:var(--fg);font:inherit;padding:.75rem .8rem}textarea{min-height:8rem;resize:vertical}.check{display:flex;gap:.55rem;align-items:flex-start;font-weight:650}.check input{width:auto;margin-top:.25rem}.fine,.notice{font-size:.85rem;color:var(--muted-fg);font-weight:500}.notice-bad{background:#fde8e4;color:#7a2e22;border-radius:.9rem;padding:.7rem .8rem}.hp{position:absolute;left:-9999px;height:0;overflow:hidden}.site-footer{margin-top:2rem;background:var(--fg);color:rgb(244 250 238 / .78);border-radius:2.5rem 2.5rem 0 0;padding:2.2rem 1rem calc(var(--dock) + 1.5rem)}.footer-grid{width:min(var(--max), 100%);margin:0 auto;display:grid;gap:1.4rem}.footer-logo{display:inline-flex;background:#f6f7f1;border-radius:1.1rem;padding:.35rem .55rem}.site-footer h2{color:#f4faee;font-size:.95rem}.site-footer a{color:rgb(244 250 238 / .78);text-decoration:none}.site-footer a:hover{color:#fff}.footer-phone{color:#fff;font-weight:800}.footer-base{width:min(var(--max), 100%);margin:1.2rem auto 0;padding-top:1rem;border-top:1px solid rgb(244 250 238 / .15);display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap;font-size:.78rem}.dock{position:fixed;left:.75rem;right:.75rem;bottom:.75rem;z-index:50;display:grid;grid-template-columns:repeat(4,1fr);gap:.2rem;padding:.4rem;border-radius:1.5rem;border:1px solid var(--border);background:rgb(246 247 241 / .96);box-shadow:0 18px 40px -24px rgb(27 46 36 / .7)}.dock a{min-height:3.1rem;border-radius:1.1rem;text-decoration:none;color:var(--muted-fg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;font-size:.68rem;font-weight:800}.dock a.is-active{background:var(--primary);color:var(--primary-fg)}.nav-links,.pagination{margin-top:1rem}@media (min-width:700px){.form-grid,.card-grid.two,.hub{grid-template-columns:1fr 1fr}.city-pills{grid-template-columns:1fr 1fr}.home-hero,.home-hero-copy{min-height:40rem}.home-hero-copy{padding:2.4rem}.brand img,.footer-logo img{height:64px}}@media (min-width:900px){.card-grid,.steps,.map-grid{grid-template-columns:repeat(3,1fr)}.card-grid.two{grid-template-columns:1fr 1fr}.split{grid-template-columns:1.05fr 0.95fr;align-items:center}.city-pills{grid-template-columns:repeat(4,1fr)}.footer-grid{grid-template-columns:1.2fr 1fr 1fr 0.8fr}}@media (min-width:1080px){.primary{display:flex}.header-cta,.phone-link{display:inline-flex}.menu-btn,.mobile-nav{display:none!important}.header-bar{padding-inline:1.5rem}}@media (min-width:800px){.dock{display:none}.site-footer{padding-bottom:2rem}}@media (max-width:420px){.brand img{height:42px}}