:root{--ink:#071d27;--green:#00674f;--green-2:#008267;--mint:#e9f7f0;--mist:#f5faf8;--line:#d9e5e1;--lime:#b8f63d;--white:#fff;--shadow:0 18px 50px rgba(5,65,51,.12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-size:16px;line-height:1.55;background:#fff;color:var(--ink)}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline}
img,svg{max-width:100%}
button,input,select,textarea{font:inherit}
button,a,select,input{min-height: 44px}
.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--ink);color:#fff;padding:12px 16px;border-radius:8px}
.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.header-inner{min-height:78px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:36px}
.brand{display:inline-flex;align-items:center;gap:9px;font-size:1.6rem;font-weight:850;letter-spacing:-.04em;color:var(--green);min-height:auto}
.brand:hover{text-decoration:none}
.brand-pin{display:grid;place-items:center;width:30px;height:38px;color:#fff;background:var(--green);clip-path:polygon(50% 0,88% 16%,100% 48%,88% 72%,50% 100%,12% 72%,0 48%,12% 16%);font-size:.52rem}
.main-nav{display:flex;justify-content:center;gap:34px}
.main-nav a,.header-actions>a:first-child{color:var(--ink);font-weight:650}
.header-actions{display:flex;align-items:center;gap:18px}
.header-note{text-align:center;padding:7px 20px;background:var(--mist);color:#36564e;font-size:.86rem;border-bottom:1px solid var(--line)}
.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:9px;padding:10px 18px;min-height:46px;font-weight:800;cursor:pointer;text-decoration:none}
.button:hover{text-decoration:none;transform:translateY(-1px)}
.button-dark{background:var(--green);color:#fff;box-shadow:0 8px 20px rgba(0,103,79,.2)}
.button-outline{border-color:var(--green);background:#fff;color:var(--green)}
.button-lime{background:var(--lime);color:#15311f}
.button-search{background:var(--green);color:#fff;min-width:120px}
.hero{padding:54px 0 34px;background:radial-gradient(circle at 75% 25%,rgba(184,246,61,.14),transparent 20%),linear-gradient(110deg,#f4fcf8 0%,#edf9f4 62%,#e6f5ee 100%);border-bottom:1px solid #e4eee9}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:64px;align-items:center}
.eyebrow{margin:0 0 12px;color:#45665d;font-size:.78rem;font-weight:850;letter-spacing:.14em}
.hero h1,.page-hero h1,.form-page h1,.not-found h1{margin:0;font-size:clamp(2.8rem,6vw,5.25rem);line-height:.94;letter-spacing:-.065em;max-width:760px}
.hero-lead{font-size:1.2rem;color:#354d56;margin:22px 0 0}
.hero-signal{position:relative;min-height:250px;display:grid;place-items:center;border:1px solid rgba(0,103,79,.12);border-radius:50%;background:rgba(255,255,255,.48);box-shadow:inset 0 0 0 28px rgba(255,255,255,.28)}
.signal-core{display:grid;place-items:center;width:104px;height:104px;border-radius:50%;background:var(--green);color:#fff;font-size:2.8rem;font-weight:900;box-shadow:var(--shadow)}
.signal-label{position:absolute;top:63%;font-weight:800;color:var(--green)}
.signal-node{position:absolute;font-style:normal;background:#fff;border:1px solid #cfe4db;color:var(--green);padding:9px 13px;border-radius:999px;font-size:.8rem;font-weight:800;box-shadow:0 8px 22px rgba(0,103,79,.08)}
.node-one{left:0;top:20%}.node-two{right:-7%;top:24%}.node-three{right:3%;bottom:4%}
.search-bar{position:relative;z-index:2;margin-top:38px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:13px;display:grid;grid-template-columns:1.2fr .9fr .9fr auto;gap:8px;box-shadow:var(--shadow)}
.field{padding:3px 14px;border-right:1px solid var(--line)}
.field label,.panel-form>label,.quick-request>label{display:block;font-size:.78rem;font-weight:800;color:#2f464e}
.field input,.field select,.panel-form input,.panel-form select,.panel-form textarea,.quick-request input,.quick-request select{width:100%;border:0;background:transparent;color:var(--ink);padding:5px 0;min-height:36px}
.field input:focus,.field select:focus,.panel-form input:focus,.panel-form select:focus,.panel-form textarea:focus,.quick-request input:focus,.quick-request select:focus{outline:0}
.popular{display:flex;align-items:center;gap:22px;margin-top:14px;color:#5a6d72;font-size:.9rem}
.popular a{text-decoration:underline;text-underline-offset:4px}
.section{padding-block:52px}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px}
.section-heading h2,.request-band h2,.business-band h2{margin:0;font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.05;letter-spacing:-.045em}
.section-heading>a{font-weight:800}.section-note{color:#64787e}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.service-card{min-height:92px;display:flex;align-items:center;gap:15px;padding:14px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fff;transition:.18s ease}
.service-card:hover{border-color:#a7cbbd;box-shadow:0 12px 30px rgba(8,57,46,.08);text-decoration:none;transform:translateY(-2px)}
.service-icon{display:grid;place-items:center;flex:0 0 58px;height:58px;border-radius:9px;background:var(--mint);color:var(--green);font-size:1.8rem;font-weight:500}
.company-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.company-card{display:grid;grid-template-columns:150px 1fr;gap:18px;min-height:180px;padding:16px;border:1px solid var(--line);border-radius:11px;background:#fff}
.company-card h3{margin:7px 0 3px;font-size:1.35rem}.company-card p{margin:0 0 12px;color:#51646a}
.company-monogram{display:grid;place-items:center;min-height:145px;border-radius:8px;background:linear-gradient(145deg,#dff4ea,#bcdace);color:var(--green);font-size:3.3rem;font-weight:900}
.company-monogram.large{width:150px;height:150px;min-height:0}
.verified{display:inline-block;border-radius:99px;padding:4px 9px;background:var(--lime);color:#244211;font-size:.72rem;font-weight:850}
.empty-state{padding:30px;border:1px dashed #b8d0c7;border-radius:12px;background:var(--mist)}
.empty-state p{margin:5px 0 16px;color:#52666c}
.county-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0 36px}
.county-grid a{display:flex;align-items:center;gap:10px;padding:14px 4px;border-bottom:1px solid var(--line);font-weight:750}
.county-grid a span{font-size:1.35rem}
.request-band{padding:42px 0;background:linear-gradient(125deg,#08745b,#005541 65%,#003f31);color:#fff}
.request-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:68px;align-items:center}
.request-band h2{font-size:clamp(2.3rem,4.8vw,4rem)}
.request-band p{font-size:1.15rem;max-width:600px;color:#d9eee7}
.steps{display:flex;gap:24px;list-style:none;padding:20px 0 0;margin:0}
.steps li{display:flex;align-items:center;gap:9px;font-weight:750}
.steps b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--lime);color:#21400d}
.quick-request{padding:22px;background:#fff;color:var(--ink);border-radius:10px;box-shadow:0 16px 35px rgba(0,0,0,.18)}
.quick-request h3{font-size:1.5rem;margin:0 0 13px}
.quick-request input,.quick-request select{border:1px solid var(--line);border-radius:7px;padding:8px 10px;margin:3px 0 11px}
.quick-request .button{width:100%}
.business-band{margin-block:22px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:22px;border:1px solid var(--line);border-radius:10px}
.business-band p{margin:3px 0;color:#5a6f75}
.business-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:9px;background:var(--mint);color:var(--green);font-size:2rem}
.site-footer{border-top:1px solid var(--line);background:#fbfdfc}
.footer-inner{min-height:105px;display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:center}
.footer-inner p{color:#6b7c81;text-align:center}.footer-inner nav{display:flex;gap:20px}.footer-inner nav a{color:#55686f;font-size:.86rem}
.breadcrumbs{padding-top:22px}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}.breadcrumbs li:not(:last-child)::after{content:"/";margin-left:8px;color:#8a9a9d}.breadcrumbs a{font-size:.86rem}
.page-hero{padding-block:58px}.page-hero>p:not(.eyebrow){max-width:730px;color:#4d6269;font-size:1.12rem}.page-hero .button{margin-top:14px}
.muted-section{background:var(--mist)}.faq{max-width:900px}.faq details{border-top:1px solid var(--line);padding:16px 0}.faq summary{font-weight:800;cursor:pointer}
.company-profile{display:flex;align-items:center;gap:30px}.contact-line{font-weight:750}
.tag-list{display:flex;gap:10px;flex-wrap:wrap}.tag-list a{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--mist)}
.form-page{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;padding-block:58px}.form-page h1{font-size:clamp(2.6rem,5vw,4.6rem)}.form-page>div>p:last-child{font-size:1.08rem;color:#51656b}
.panel-form{display:grid;gap:7px;padding:28px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow)}
.panel-form input,.panel-form select,.panel-form textarea{border:1px solid var(--line);border-radius:7px;padding:9px 11px;margin-bottom:7px}
.check{display:flex!important;align-items:flex-start;gap:9px;font-weight:500!important;margin:8px 0}.check input{width:auto;min-height:22px}.honeypot{position:absolute!important;left:-10000px!important}
.article{max-width:820px;padding-block:60px}.article header{margin-bottom:30px}.article h1{font-size:clamp(2.5rem,5vw,4rem);line-height:1;letter-spacing:-.05em}.prose{font-size:1.08rem}.prose p{margin:0 0 1.2em}.prose h2{margin-top:1.7em}.article aside{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.article-grid article{padding:22px;border:1px solid var(--line);border-radius:10px}.article-grid h2{font-size:1.35rem}
.not-found{text-align:center;padding-block:100px}.not-found p{color:#607177}.not-found .button{margin-top:18px}
:focus-visible{outline:3px solid #ffb000;outline-offset:3px;border-radius:4px}
@media (max-width:920px){.header-inner{grid-template-columns:1fr auto}.main-nav{display:none}.hero-grid,.request-grid,.form-page{grid-template-columns:1fr}.hero-signal{display:none}.search-bar{grid-template-columns:1fr 1fr}.search-bar .button{grid-column:1/-1}.field:nth-child(2){border-right:0}.service-grid{grid-template-columns:repeat(2,1fr)}.company-grid{grid-template-columns:1fr}.county-grid{grid-template-columns:repeat(2,1fr)}.article-grid{grid-template-columns:1fr 1fr}.footer-inner{grid-template-columns:1fr;text-align:center;padding-block:24px}.footer-inner .brand,.footer-inner nav{justify-self:center}.footer-inner p{margin:0}.company-profile{align-items:flex-start}}
@media (max-width:620px){.shell{width:min(100% - 28px,1180px)}.site-header{position:static}.header-inner{min-height:68px}.brand{font-size:1.35rem}.header-actions>a:first-child{display:none}.header-actions .button{padding-inline:12px}.hero{padding-top:36px}.hero h1{font-size:3rem}.search-bar{grid-template-columns:1fr}.field{border-right:0;border-bottom:1px solid var(--line)}.popular{align-items:flex-start;flex-wrap:wrap;gap:8px 14px}.section{padding-block:38px}.section-heading{align-items:flex-end}.section-heading h2{font-size:1.8rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:78px}.company-card{grid-template-columns:88px 1fr;min-height:140px}.company-monogram{min-height:110px;font-size:2.2rem}.county-grid{grid-template-columns:1fr 1fr;gap:0 16px}.steps{flex-direction:column;gap:12px}.business-band{grid-template-columns:auto 1fr}.business-band .button{grid-column:1/-1}.footer-inner nav{flex-wrap:wrap;justify-content:center}.article-grid{grid-template-columns:1fr}.company-profile{display:block}.company-profile .company-monogram{margin-bottom:20px}.form-page{gap:28px;padding-block:38px}.panel-form{padding:20px}}
