:root{--ink:#121816;--forest:#1b2f24;--canopy:#2a4636;--moss:#5f7d4a;--leaf:#8aa36a;--cream:#f6f1e8;--paper:#fffdf8;--stone:#c9bba6;--copper:#b56a32;--copper-deep:#8c4a1f;--line:#1218161f;--shadow:0 18px 50px #1218161f;--shadow-soft:0 10px 30px #12181614;--serif:"Fraunces", Georgia, serif;--sans:"Source Sans 3", "Segoe UI", sans-serif;--max:1120px;color-scheme:light}[data-theme=dark]{--ink:#f3f0e8;--forest:#0e1b14;--canopy:#193326;--moss:#9dbb7b;--leaf:#b7d28f;--cream:#101912;--paper:#18251d;--stone:#b7c3b8;--copper:#d88a4d;--copper-deep:#efa970;--line:#f3f0e829;--shadow:0 18px 50px #00000047;--shadow-soft:0 10px 30px #0003;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--cream);font-family:var(--sans);margin:0;font-size:1.0625rem;line-height:1.6}img{max-width:100%;display:block}a{color:var(--copper-deep)}a:hover{color:var(--copper)}button,input,select,textarea{border-radius:.35rem}:focus-visible{outline:3px solid var(--leaf);outline-offset:3px}.wrap{width:min(var(--max), calc(100% - 2rem));margin-inline:auto}.skip{position:absolute;top:0;left:-999px}.skip:focus{z-index:20;background:var(--paper);padding:.5rem .75rem;top:1rem;left:1rem}.site-header{color:var(--cream);z-index:10;border-bottom:3px solid var(--copper);background:#1b2f24fa;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:4.25rem;display:flex;position:relative}.brand{color:inherit;align-items:center;gap:.7rem;text-decoration:none;display:flex}.brand-mark{border:1.5px solid var(--leaf);width:2.55rem;height:2.55rem;font-family:var(--serif);color:var(--leaf);background:#8aa36a24;border-radius:.4rem;place-items:center;font-weight:600;display:grid}.brand-name{font-family:var(--serif);letter-spacing:.01em;font-size:1.15rem}.brand-sub{color:var(--stone);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;display:block}.theme-toggle{color:var(--cream);font:inherit;cursor:pointer;background:0 0;border:1px solid #c9bba68c;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.88rem;display:inline-flex}.theme-toggle:hover{border-color:var(--leaf);color:var(--leaf)}nav.primary{flex-wrap:wrap;align-items:center;gap:.35rem 1rem;display:flex}nav.primary a{color:var(--cream);font-size:.95rem;text-decoration:none}nav.primary a[aria-current=page],nav.primary a:hover{color:var(--leaf)}.btn{cursor:pointer;font:inherit;background:var(--copper);color:#fff;border:0;border-radius:.4rem;justify-content:center;align-items:center;gap:.4rem;min-height:2.9rem;padding:.72rem 1.15rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--copper-deep);color:#fff}.btn.ghost{color:var(--cream);border:1px solid var(--stone);background:0 0}.btn.ghost:hover{border-color:var(--leaf);color:var(--leaf)}.btn.dark{background:var(--forest);color:var(--cream)}.hero{background:radial-gradient(circle at 12% 18%, #8aa36a29, transparent 30rem), linear-gradient(125deg, #16271e, var(--forest));color:var(--cream);padding:clamp(3.5rem,7vw,6.5rem) 0 4.5rem;overflow:hidden}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(22rem,.82fr);align-items:center;gap:clamp(2rem,5vw,4.75rem);display:grid}.hero-copy{z-index:1;position:relative}.hero-photo{background:var(--paper);border:1px solid #f6f1e829;border-radius:1rem;margin:0;overflow:hidden;box-shadow:0 24px 60px #00000059}.hero-photo img{object-fit:cover;aspect-ratio:4/3;width:100%}.hero-photo figcaption{color:var(--canopy);background:var(--paper);padding:.85rem 1rem;font-size:.88rem}.hero-kicker{color:var(--leaf)}.hero h1{font-family:var(--serif);letter-spacing:-.025em;max-width:14ch;margin:0 0 1rem;font-size:clamp(2.2rem,5vw,3.6rem);font-weight:560;line-height:1.1}.lede{color:#e8e0d2;max-width:39rem;font-size:clamp(1.08rem,2vw,1.22rem)}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.6rem;display:flex}.hero-actions .btn.dark{margin:0}.trust-row{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem;display:grid}.trust-row div{border-top:1px solid #c9bba659;padding-top:.8rem}.trust-row strong{font-family:var(--serif);color:#fff;font-size:1.12rem;display:block}section{padding:4rem 0}.section-kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--copper-deep);margin:0 0 .5rem;font-size:.75rem}h2,h3,h4{font-family:var(--serif);line-height:1.2}h2{margin:0 0 .8rem;font-size:clamp(1.8rem,3vw,2.4rem)}h3{margin:0 0 .5rem;font-size:1.35rem}.text-link,.card-link{text-underline-offset:.22em;font-weight:700;text-decoration-thickness:1px}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.6rem;display:flex}.section-heading h2,.section-heading p{margin-bottom:0}.section-heading>.text-link{flex:none;margin-bottom:.35rem}.grid-3,.grid-2,.cards{gap:1.1rem;display:grid}.cards{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:1.1fr .9fr}.grid-3{grid-template-columns:repeat(3,1fr)}.card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-soft);color:inherit;border-radius:.65rem;padding:1.25rem 1.3rem 1.4rem;text-decoration:none;display:block}a.card{transition:border-color .2s,transform .2s,box-shadow .2s}a.card:hover{border-color:var(--moss);box-shadow:var(--shadow);transform:translateY(-3px)}.card p{color:color-mix(in srgb, var(--ink) 75%, transparent);margin:.4rem 0 0}.card-service{padding:0;overflow:hidden}.card-photo{aspect-ratio:4/3;object-fit:cover;width:100%}.card-body{padding:1.1rem 1.2rem 1.3rem}.card-link{color:var(--copper-deep);margin-top:.9rem;font-size:.92rem;display:inline-block}.card-step .step-num{font-family:var(--serif);color:var(--copper);letter-spacing:.08em;margin:0 0 .35rem;font-size:.85rem}.card-on-dark{background:var(--paper);color:var(--ink)}.panel{background:radial-gradient(circle at 90% 10%, #8aa36a24, transparent 24rem), var(--forest);color:var(--cream)}.panel .section-kicker,.panel a{color:var(--leaf)}.list{padding-left:1.1rem}.list li{margin:.35rem 0}.check-list{margin:1.25rem 0;padding:0;list-style:none}.check-list li{padding:.35rem 0 .35rem 1.8rem;position:relative}.check-list li:before{content:"✓";color:var(--moss);font-weight:800;position:absolute;left:0}.faq details{background:var(--paper);border:1px solid var(--line);margin:.6rem 0;padding:.9rem 1rem}.faq summary{cursor:pointer;font-weight:650}form.quote{background:var(--paper);border:1px solid var(--line);gap:.75rem;padding:1.25rem;display:grid}label{font-size:.9rem;font-weight:650}input,select,textarea{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);font:inherit;margin-top:.25rem;padding:.65rem .7rem}.checks{grid-template-columns:1fr 1fr;gap:.35rem .8rem;font-weight:500;display:grid}.checks label{align-items:center;gap:.4rem;font-weight:500;display:flex}.checks input{width:auto;margin:0}.form-status{min-height:1.4em;font-size:.95rem}.planner{background:var(--paper);border:1px solid var(--line);padding:1.3rem}.chips{flex-wrap:wrap;gap:.45rem;display:flex}.chips button{border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;padding:.4rem .7rem}.chips button[aria-pressed=true]{background:var(--forest);color:var(--cream);border-color:var(--forest)}.range-out{background:var(--cream);border-left:4px solid var(--copper);margin-top:1rem;padding:1rem}.cta-band{background:var(--copper);color:#fff;padding:2rem 0}.cta-band a{color:#fff}.cta-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.site-footer{background:var(--ink);color:#d8d0c4;padding:2.5rem 0 1.5rem;font-size:.95rem}.site-footer a{color:#f0e7d8}.foot-grid{grid-template-columns:1.4fr 1fr 1fr;gap:1.5rem;display:grid}.tiny{color:#9a9286;margin-top:1.5rem;font-size:.82rem}.page-hero{padding:3.2rem 0 1.8rem}.page-hero-media{padding-bottom:2.4rem}.prose{max-width:42rem}.prose p{margin:0 0 1rem}.section-soft{background:#fffdf88c}.hub-grid{grid-template-columns:repeat(3,1fr);gap:1.1rem;display:grid}.hub-card{padding:0;overflow:hidden}.hub-card h2{margin:.35rem 0 0;font-size:1.45rem}.hub-meta{letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;gap:1rem;font-size:.78rem;font-weight:700;display:flex;color:var(--copper-deep)!important}.article-layout{grid-template-columns:minmax(0,1fr) minmax(18rem,.42fr);align-items:start;gap:clamp(2rem,6vw,5rem);display:grid}.article-copy h1{max-width:18ch}.article-dek{color:color-mix(in srgb, var(--ink) 78%, transparent);font-size:1.2rem}.article-aside{gap:1rem;display:grid;position:sticky;top:6rem}.article-image{aspect-ratio:4/3;object-fit:cover;width:100%;box-shadow:var(--shadow-soft);border-radius:.75rem}.service-faq{max-width:52rem}.coverage-band{background:#e9e1d3;border-bottom:1px solid #12181614;padding:2.8rem 0}[data-theme=dark] .coverage-band{background:#18271e}.coverage-grid{grid-template-columns:minmax(0,.85fr) minmax(25rem,1.15fr);align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.coverage-grid h2{margin-bottom:.5rem}.coverage-grid p{margin:.5rem 0}.coverage-list{flex-wrap:wrap;gap:.55rem;display:flex}.coverage-list span{color:var(--forest);background:#fffdf8b8;border:1px solid #1b2f242e;border-radius:999px;padding:.46rem .75rem;font-size:.9rem;font-weight:650;display:inline-flex}.coverage-list .coverage-more{background:var(--forest);color:var(--cream);border-color:var(--forest)}.service-area-hero{color:var(--cream);background:radial-gradient(circle at 78% 20%, #b56a3238, transparent 25rem), var(--forest);padding:clamp(3.5rem,7vw,6rem) 0}.service-area-hero h1{max-width:15ch;font-family:var(--serif);letter-spacing:-.03em;margin:0 0 1rem;font-size:clamp(2.5rem,6vw,4.75rem);line-height:1.04}.service-area-intro{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);align-items:center;gap:clamp(2rem,6vw,6rem);display:grid}.coverage-card{background:var(--paper);color:var(--ink);box-shadow:var(--shadow);border-radius:.8rem;padding:1.5rem}.coverage-card strong{font-family:var(--serif);color:var(--forest);font-size:1.8rem;display:block}.coverage-card p{margin:.25rem 0 1.25rem}.coverage-card p:last-child{margin-bottom:0}.coverage-card-label{color:var(--copper-deep);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:700;display:block}.area-grid{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}.area-chip{min-height:6.5rem;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:.6rem;flex-direction:column;justify-content:space-between;padding:1rem;text-decoration:none;transition:all .2s;display:flex}.area-chip span{font-family:var(--serif);font-size:1.15rem}.area-chip small{color:var(--copper-deep);font-weight:700}.area-chip:hover{color:var(--ink);border-color:var(--moss);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.area-chip-more{background:var(--forest);color:var(--cream)}.area-chip-more:hover{color:var(--cream)}.area-chip-more small{color:var(--leaf)}.terrain-note{border-top:4px solid var(--copper);padding:1.6rem}.split-media{align-items:center}.media-frame{box-shadow:var(--shadow);border:1px solid var(--line);border-radius:.7rem;margin:0;overflow:hidden}.media-frame img{object-fit:cover;aspect-ratio:4/3;width:100%;height:100%}.planner,form.quote,.faq details{border-radius:.65rem}@media (width<=860px){.cards,.grid-3,.grid-2,.trust-row,.foot-grid,.hero-grid,.coverage-grid,.service-area-intro,.hub-grid,.article-layout{grid-template-columns:1fr}.area-grid{grid-template-columns:repeat(2,1fr)}.section-heading{flex-direction:column;align-items:start;gap:.75rem}.checks{grid-template-columns:1fr}nav.primary{display:none}.header-inner{min-height:3.6rem}.nav-toggle{display:inline-flex}.hero-photo{max-width:38rem}.article-aside{grid-template-columns:1fr 1fr;align-items:start;position:static}}@media (width<=520px){.article-aside,.area-grid{grid-template-columns:1fr}.area-chip{min-height:5.4rem}.hero-actions .btn{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}@media (width>=861px){.nav-toggle{display:none}}.nav-toggle{color:var(--cream);border:1px solid var(--stone);font:inherit;background:0 0;padding:.35rem .6rem}.nav-open nav.primary{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-top:0;flex-direction:column;padding:1rem 1.25rem 1.25rem;display:flex;position:absolute;top:100%;left:0;right:0}.nav-open nav.primary a{color:var(--ink)}.nav-open nav.primary a[aria-current=page],.nav-open nav.primary a:hover{color:var(--copper-deep)}.nav-open nav.primary .theme-toggle{color:var(--ink);border-color:var(--line)}
