/* Local project information and the progressive service-area finder. */
.local-priority { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px 0 0; margin-top:24px; border-top:1px solid var(--line); }
.local-priority p { margin:0; max-width:620px; font-size:15px; line-height:1.7; }
.local-priority p a,.local-service-copy a { text-decoration:underline; text-underline-offset:4px; }
.local-priority .text-link { flex:none; font-size:14px; }
.local-service-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:26px; font-size:14px; }
.local-service-links a { padding-block:8px; text-decoration:underline; text-underline-offset:5px; }
.local-service-section { padding:0 0 72px; scroll-margin-top:125px; }
.local-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.local-service-copy { padding-top:24px; border-top:1px solid var(--line); min-width:0; scroll-margin-top:130px; }
.local-service-copy h2 { font-size:clamp(23px,2.2vw,30px); line-height:1.2; letter-spacing:-.035em; margin:0 0 22px; }
.local-service-copy p { margin:0 0 18px; color:var(--muted); font-size:15px; line-height:1.8; }
.local-service-copy .text-link { font-size:14px; text-decoration:none; }
.local-service-proof { margin-top:48px; }
.area-hero .about-hero-copy h1.is-compact { font-size:clamp(30px,3.2vw,46px); line-height:1.13; }
.town-title h1 { max-width:760px; font-size:clamp(30px,3.2vw,46px); line-height:1.13; }
.local-hub-links { margin:42px 0; padding:28px 0; border-block:1px solid var(--line); }
.local-hub-links h2 { margin:0 0 12px; font-size:24px; }
.local-hub-links p { max-width:720px; color:var(--muted); font-size:15px; line-height:1.7; }
.local-hub-links nav { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:18px; }
.local-hub-links a { font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.coverage-section { padding-block:64px 80px; scroll-margin-top:105px; }
.coverage-heading { display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:end; margin-bottom:32px; }
.coverage-heading h2 { font-size:clamp(26px,3vw,38px); margin:10px 0 0; letter-spacing:-.04em; }
.coverage-heading p { margin:0; font-size:15px; line-height:1.7; color:var(--muted); }
.coverage-search { max-width:480px; margin-bottom:28px; }
.coverage-search label { display:block; margin-bottom:10px; font-size:14px; }
.coverage-search input { width:100%; padding:15px 18px; border:1px solid #ccd6d5; border-radius:10px; background:#fff; color:var(--ink); font:inherit; font-size:16px; }
.coverage-search input:focus-visible { outline:2px solid #173342; outline-offset:3px; }
.coverage-search p { font-size:12px; margin:10px 0 0; color:var(--muted); }
.coverage-group { border-top:1px solid var(--line); }
.coverage-group:last-of-type { border-bottom:1px solid var(--line); }
.coverage-group summary { display:flex; align-items:center; justify-content:space-between; gap:18px; cursor:pointer; padding:23px 0; list-style:none; }
.coverage-group summary::-webkit-details-marker { display:none; }
.coverage-group summary h3 { font-size:18px; margin:0; font-weight:500; letter-spacing:-.02em; }
.coverage-group summary .icon { width:18px; height:18px; flex:none; }
.coverage-group[open] summary .icon { transform:rotate(180deg); }
.coverage-places { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 24px; margin:0; padding:0 0 26px; list-style:none; }
.coverage-places li { min-width:0; scroll-margin-top:130px; }
.coverage-places a { display:flex; flex-direction:column; gap:5px; padding:12px 14px; border-radius:8px; }
.coverage-places a:hover { background:#edf2f0; }
.coverage-places a:focus-visible { outline:2px solid var(--ink); }
.coverage-places strong { font-size:15px; font-weight:520; }
.coverage-places span { font-size:12px; color:var(--muted); }
.coverage-empty { padding-block:24px; }
.coverage-method { margin-top:24px; max-width:760px; color:var(--muted); font-size:12px; line-height:1.7; }
.coverage-method a { text-decoration:underline; text-underline-offset:3px; }
.coverage-feature { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; margin-bottom:36px; padding:28px 32px; background:#edf2f0; border-radius:18px; }
.coverage-feature h2 { margin:0 0 10px; font-size:26px; }
.coverage-feature p { max-width:580px; margin:0; font-size:14px; line-height:1.7; }
.coverage-feature nav { display:flex; flex-wrap:wrap; gap:16px; }
.coverage-feature a { font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.town-service-summary { max-width:750px; margin:24px 0; }
.town-service-summary p { color:var(--muted); line-height:1.7; font-size:15px; }
@media(max-width:900px) {
 .local-service-grid { grid-template-columns:1fr; gap:38px; }
 .local-service-copy p { max-width:760px; }
 .coverage-heading { grid-template-columns:1fr; gap:20px; }
 .coverage-places { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .local-priority { align-items:flex-start; flex-direction:column; gap:16px; }
}
@media(max-width:560px) {
 .coverage-section { padding-block:44px 60px; }
 .coverage-feature { padding:24px 22px; }
 .coverage-places a { padding:12px 8px; }
 .coverage-places strong { font-size:14px; }
 .local-service-links { gap:8px 20px; }
}
