.location-layout{display:grid;grid-template-columns:.95fr 1.2fr;gap:50px;align-items:start}.location-list{border-top:1px solid var(--ink)}.location-card{border-bottom:1px solid var(--line);padding:25px 0;scroll-margin-top:25px}.location-heading{display:flex;gap:15px;align-items:center;margin-bottom:18px}.location-number{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--paper);font-size:11px;flex-shrink:0}.location-type{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}.location-heading h2{font-size:20px;letter-spacing:-.5px}.location-address{font-size:15px;line-height:1.5;margin:15px 0}.location-mobile{display:inline-block;font-size:24px;letter-spacing:-.7px;margin:1px 0 7px}.location-landline{font-size:12px;color:var(--muted);margin:5px 0}.location-hours{font-size:13px;margin:19px 0}.location-hours>span{font-size:10px;color:var(--muted);display:block;margin-bottom:5px}.location-note{font-size:12px;line-height:1.7;color:var(--muted);margin:14px 0}.location-actions{display:flex;flex-wrap:wrap;gap:14px 20px;margin-top:18px;align-items:center}.location-actions a,.location-actions button{font-size:11px;font-family:inherit;display:inline-flex;align-items:center;gap:7px;background:none;border:0;padding:0;color:var(--ink)}.location-actions .icon{width:15px;height:15px}.location-actions a:hover,.location-actions button:hover{color:var(--green);text-decoration:underline;text-underline-offset:4px}.location-notice{padding:23px;background:var(--paper);border-bottom:0;margin-top:20px}.location-notice .location-heading{margin-bottom:12px}.location-notice .location-note{color:var(--ink)}.contact-map-panel{position:sticky;top:20px;min-width:0}.map-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px}.map-heading h2{font-size:22px}.map-heading>span{font-size:10px;color:var(--muted)}.contact-map{background:#eff1e9;border:1px solid var(--line);position:relative;overflow:hidden}.office-map{display:block;width:100%;height:390px;touch-action:pan-y;cursor:grab}.office-map:active{cursor:grabbing}.office-marker circle{fill:var(--yellow);stroke:var(--ink);stroke-width:2}.office-marker text{font:700 16px Arial,sans-serif;fill:var(--ink);pointer-events:none}.office-marker:hover circle,.office-marker.active circle{fill:var(--ink)}.office-marker:hover text,.office-marker.active text{fill:#fff}.map-controls{position:absolute;right:13px;top:13px;display:flex;flex-direction:column;gap:4px}.map-controls button{background:#fff;border:1px solid #cdd1c4;min-width:33px;height:33px;font-size:20px;color:var(--ink)}.map-controls button:last-child{font-size:9px}.map-attribution{position:absolute;bottom:0;right:0;font-size:8px;padding:3px 6px;background:#ffffffdc;color:#62705b}.map-selection{padding:13px 15px;border:1px solid var(--line);border-top:0;font-size:11px;background:#f8f9f4;min-height:44px}.contact-map-panel>.fine{font-size:9px;max-width:430px}.location-card:target{outline:2px solid var(--yellow);outline-offset:8px}
@media(max-width:950px){.location-layout{gap:28px;grid-template-columns:1fr 1fr}.location-heading h2{font-size:18px}.location-mobile{font-size:21px}.office-map{height:350px}.location-address{font-size:14px}}
@media(max-width:650px){.location-layout{display:flex;flex-direction:column;gap:30px}.contact-map-panel{position:relative;top:auto;order:-1;width:100%}.location-list{width:100%}.office-map{height:280px}.location-card{padding:23px 0}.location-notice{padding:20px}.location-heading h2{font-size:20px}.location-mobile{font-size:24px}.map-heading{margin-bottom:12px}.map-attribution{font-size:7px}.location-actions{gap:17px}.location-address{font-size:15px}}
.coverage-toolbar{display:flex;align-items:center;gap:25px;margin-bottom:20px}.coverage-search-label{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:11px 14px;min-width:300px}.coverage-search-label .icon{width:17px;height:17px;color:var(--muted)}.coverage-search-label input{border:0;padding:0;background:transparent;outline:none;font-size:13px;width:100%;color:var(--ink)}.coverage-search-label:focus-within{outline:2px solid #b7981e;outline-offset:2px}.coverage-legend{display:flex;align-items:center;gap:22px;font-size:11px}.coverage-legend label{display:flex;gap:6px;align-items:center;cursor:pointer}.coverage-legend input{width:12px;height:12px;accent-color:var(--ink)}.legend-swatch{width:16px;height:10px;display:inline-block;background:var(--yellow);border:1px solid #859b68}.swatch-planned{background:#f5edd1;border:1px dashed #9b893b}.coverage-count{margin-left:auto;color:var(--muted);font-size:10px;white-space:nowrap}.coverage-explorer{display:grid;grid-template-columns:1fr 270px;border:1px solid var(--line)}.coverage-canvas{position:relative;overflow:hidden;background:#f0f2ec;min-width:0}.coverage-svg{display:block;width:100%;height:490px;touch-action:pan-y;cursor:grab}.coverage-zone{fill:var(--yellow);fill-opacity:.45;stroke:#698856;stroke-width:1;vector-effect:non-scaling-stroke;cursor:pointer}.coverage-zone.status-planned{fill:#d0ba68;fill-opacity:.32;stroke:#9b893b;stroke-dasharray:5 4}.coverage-zone:hover,.coverage-zone.selected{fill-opacity:.8;stroke:#1c4433;stroke-width:2}.coverage-zone:focus{outline:none;stroke:#222;stroke-width:3}.coverage-marker{fill:#fff;stroke:#305a46;stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:pointer}.coverage-marker:hover,.coverage-marker.selected{fill:#1d4f3b}.coverage-search-pin{fill:#fff;stroke:#202b22;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.coverage-hidden{display:none}.coverage-map-controls{position:absolute;top:14px;right:14px;display:flex;flex-direction:column;gap:5px}.coverage-map-controls button{background:#fff;color:var(--ink);border:1px solid #cbd1c4;height:34px;min-width:34px;font-size:22px}.coverage-map-controls button:last-child{font-size:9px;padding:0 8px}.coverage-selection{padding:27px 22px;background:#fafbf7;border-left:1px solid var(--line)}.coverage-selection h2{font-size:24px;margin:25px 0 12px;line-height:1.2;overflow-wrap:anywhere}.coverage-selection #coverage-selection-status{display:inline-block;font-size:9px;padding:6px 8px;background:#e6eedc;line-height:1.4}.coverage-selection #coverage-selection-status[data-status=planned]{background:#f0e7c7}.coverage-selection #coverage-selection-note{font-size:12px;line-height:1.8;margin:20px 0;color:var(--muted);white-space:pre-line}.coverage-selection .button{width:100%;font-size:10px;gap:14px;padding:12px 13px;margin-top:10px}.coverage-selection .button .icon{width:16px}.coverage-selection .fine{font-size:9px;line-height:1.8;margin-top:18px}#coverage-search-status{font-size:10px;color:var(--muted);margin-top:18px;line-height:1.7}.coverage-address-check{display:flex;align-items:center;gap:40px;margin:35px 0 0;padding:27px 0;border-top:1px solid var(--line)}.coverage-address-check h2{font-size:21px}.coverage-address-check p{color:var(--muted);font-size:12px;margin-top:8px}.coverage-address-fields{display:flex;gap:12px;margin-left:auto;flex:1;max-width:650px}.coverage-address-fields input{border:1px solid #cdd2c7;border-radius:1px;padding:12px 14px;min-width:0;width:100%;font-size:12px}.coverage-address-fields .button{font-size:11px;gap:15px;white-space:nowrap}
@media(max-width:950px){.coverage-toolbar{flex-wrap:wrap;gap:17px}.coverage-search-label{min-width:250px;flex:1}.coverage-explorer{grid-template-columns:1fr 240px}.coverage-svg{height:440px}.coverage-selection{padding:23px 18px}.coverage-selection h2{font-size:22px}.coverage-address-check{display:block}.coverage-address-fields{margin:20px 0 0;max-width:none}.coverage-count{font-size:9px}}
@media(max-width:650px){.coverage-toolbar{gap:16px}.coverage-search-label{flex-basis:100%;min-width:0}.coverage-legend{gap:14px;font-size:10px}.coverage-count{font-size:9px}.coverage-explorer{grid-template-columns:1fr}.coverage-svg{height:340px}.coverage-selection{border-left:0;border-top:1px solid var(--line);padding:22px}.coverage-selection h2{font-size:24px;margin-top:15px}.coverage-selection #coverage-selection-note{margin:14px 0;font-size:12px}.coverage-selection .button{width:auto;min-width:210px}.coverage-selection .fine{max-width:400px;font-size:9px}.coverage-address-fields{flex-direction:column;gap:10px}.coverage-address-fields .button{justify-content:space-between}.coverage-address-check{margin-top:28px;padding-bottom:0}.coverage-map-controls{top:10px;right:10px}.coverage-map-controls button{height:31px;min-width:31px}}
.swatch-paused{background:#d9dcda;border:1px solid #808b85}.coverage-zone.status-paused{fill:#a6aeaa;fill-opacity:.4;stroke:#69736d;stroke-dasharray:2 3}.coverage-selection #coverage-selection-status[data-status=paused]{background:#e1e5e2}.coverage-legend{flex-wrap:wrap;gap:10px 18px}.coverage-toolbar{flex-wrap:wrap}.coverage-search-label{flex:1;max-width:400px}@media(max-width:650px){.coverage-search-label{max-width:none}.coverage-legend{max-width:100%;font-size:9px}}

.coverage-toolbar{display:flex;align-items:center;gap:25px;margin-bottom:20px}.coverage-search-label{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:11px 14px;min-width:300px}.coverage-search-label .icon{width:17px;height:17px;color:var(--muted)}.coverage-search-label input{border:0;padding:0;background:transparent;outline:none;font-size:13px;width:100%;color:var(--ink)}.coverage-search-label:focus-within{outline:2px solid #b7981e;outline-offset:2px}.coverage-legend{display:flex;align-items:center;gap:22px;font-size:11px}.coverage-legend label{display:flex;gap:6px;align-items:center;cursor:pointer}.coverage-legend input{width:12px;height:12px;accent-color:var(--ink)}.legend-swatch{width:16px;height:10px;display:inline-block;background:var(--yellow);border:1px solid #859b68}.swatch-planned{background:#f5edd1;border:1px dashed #9b893b}.coverage-count{margin-left:auto;color:var(--muted);font-size:10px;white-space:nowrap}.coverage-explorer{display:grid;grid-template-columns:1fr 270px;border:1px solid var(--line)}.coverage-canvas{position:relative;overflow:hidden;background:#f0f2ec;min-width:0}.coverage-svg{display:block;width:100%;height:490px;touch-action:pan-y;cursor:grab}.coverage-zone{fill:var(--yellow);fill-opacity:.45;stroke:#698856;stroke-width:1;vector-effect:non-scaling-stroke;cursor:pointer}.coverage-zone.status-planned{fill:#d0ba68;fill-opacity:.32;stroke:#9b893b;stroke-dasharray:5 4}.coverage-zone:hover,.coverage-zone.selected{fill-opacity:.8;stroke:#1c4433;stroke-width:2}.coverage-zone:focus{outline:none;stroke:#222;stroke-width:3}.coverage-marker{fill:#fff;stroke:#305a46;stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:pointer}.coverage-marker:hover,.coverage-marker.selected{fill:#1d4f3b}.coverage-search-pin{fill:#fff;stroke:#202b22;stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.coverage-hidden{display:none}.coverage-map-controls{position:absolute;top:14px;right:14px;display:flex;flex-direction:column;gap:5px}.coverage-map-controls button{background:#fff;color:var(--ink);border:1px solid #cbd1c4;height:34px;min-width:34px;font-size:22px}.coverage-map-controls button:last-child{font-size:9px;padding:0 8px}.coverage-selection{padding:27px 22px;background:#fafbf7;border-left:1px solid var(--line)}.coverage-selection h2{font-size:24px;margin:25px 0 12px;line-height:1.2;overflow-wrap:anywhere}.coverage-selection #coverage-selection-status{display:inline-block;font-size:9px;padding:6px 8px;background:#e6eedc;line-height:1.4}.coverage-selection #coverage-selection-status[data-status=planned]{background:#f0e7c7}.coverage-selection #coverage-selection-note{font-size:12px;line-height:1.8;margin:20px 0;color:var(--muted);white-space:pre-line}.coverage-selection .button{width:100%;font-size:10px;gap:14px;padding:12px 13px;margin-top:10px}.coverage-selection .button .icon{width:16px}.coverage-selection .fine{font-size:9px;line-height:1.8;margin-top:18px}#coverage-search-status{font-size:10px;color:var(--muted);margin-top:18px;line-height:1.7}.coverage-address-check{display:flex;align-items:center;gap:40px;margin:35px 0 0;padding:27px 0;border-top:1px solid var(--line)}.coverage-address-check h2{font-size:21px}.coverage-address-check p{color:var(--muted);font-size:12px;margin-top:8px}.coverage-address-fields{display:flex;gap:12px;margin-left:auto;flex:1;max-width:650px}.coverage-address-fields input{border:1px solid #cdd2c7;border-radius:1px;padding:12px 14px;min-width:0;width:100%;font-size:12px}.coverage-address-fields .button{font-size:11px;gap:15px;white-space:nowrap}
@media(max-width:950px){.coverage-toolbar{flex-wrap:wrap;gap:17px}.coverage-search-label{min-width:250px;flex:1}.coverage-explorer{grid-template-columns:1fr 240px}.coverage-svg{height:440px}.coverage-selection{padding:23px 18px}.coverage-selection h2{font-size:22px}.coverage-address-check{display:block}.coverage-address-fields{margin:20px 0 0;max-width:none}.coverage-count{font-size:9px}}
@media(max-width:650px){.coverage-toolbar{gap:16px}.coverage-search-label{flex-basis:100%;min-width:0}.coverage-legend{gap:14px;font-size:10px}.coverage-count{font-size:9px}.coverage-explorer{grid-template-columns:1fr}.coverage-svg{height:340px}.coverage-selection{border-left:0;border-top:1px solid var(--line);padding:22px}.coverage-selection h2{font-size:24px;margin-top:15px}.coverage-selection #coverage-selection-note{margin:14px 0;font-size:12px}.coverage-selection .button{width:auto;min-width:210px}.coverage-selection .fine{max-width:400px;font-size:9px}.coverage-address-fields{flex-direction:column;gap:10px}.coverage-address-fields .button{justify-content:space-between}.coverage-address-check{margin-top:28px;padding-bottom:0}.coverage-map-controls{top:10px;right:10px}.coverage-map-controls button{height:31px;min-width:31px}}
.swatch-paused{background:#d9dcda;border:1px solid #808b85}.coverage-zone.status-paused{fill:#a6aeaa;fill-opacity:.4;stroke:#69736d;stroke-dasharray:2 3}.coverage-selection #coverage-selection-status[data-status=paused]{background:#e1e5e2}.coverage-legend{flex-wrap:wrap;gap:10px 18px}.coverage-toolbar{flex-wrap:wrap}.coverage-search-label{flex:1;max-width:400px}@media(max-width:650px){.coverage-search-label{max-width:none}.coverage-legend{max-width:100%;font-size:9px}}

/* Taller service photos keep faces visible; mobile shows the full frame. */
.site-featured{width:100%;height:clamp(280px,42vw,540px);max-height:none;object-fit:cover;object-position:center top}
@media(max-width:600px){.site-featured{height:auto;max-height:none;object-fit:contain}}

.service-banner{position:relative;isolation:isolate;overflow:hidden;border-radius:12px;margin:25px 0 32px;background:#193e2b;color:#fff}
.service-banner .site-featured{margin:0;border-radius:0}
.service-banner:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,transparent 25%,rgba(9,28,18,.15) 42%,rgba(9,28,18,.92) 100%)}
.service-banner-copy{position:absolute;inset:auto 0 0;z-index:1;padding:32px 38px;display:flex;align-items:flex-end;gap:28px;justify-content:space-between}
.service-banner-copy>div{max-width:670px}.service-banner-kicker{display:block;font-size:12px;font-weight:500;letter-spacing:1.3px;text-transform:uppercase;color:#d9ebbc;margin-bottom:10px}
.service-banner-copy h2{font-size:clamp(28px,3.2vw,43px);line-height:1.13;text-wrap:balance;color:#fff}
.service-banner-copy p{margin-top:12px;max-width:530px;color:#edf3ee;font-size:15px;line-height:1.5}
.service-banner-copy .button{flex-shrink:0;background:#d9ebbc;color:#183d29;border:1px solid #d9ebbc;white-space:nowrap}.service-banner-copy .button:hover{background:#e8f5d8;color:#183d29}
@media(max-width:900px){.service-banner-copy{padding:24px;gap:18px}.service-banner-copy h2{font-size:30px}.service-banner-copy p{font-size:13px}.service-banner-copy .button{padding:12px 16px;font-size:12px}}
@media(max-width:600px){.service-banner:after{display:none}.service-banner-copy{position:relative;display:block;padding:24px}.service-banner-copy h2{font-size:28px}.service-banner-copy .button{margin-top:20px;width:100%;text-align:center}.service-banner-kicker{font-size:10px}.service-banner-copy p{font-size:14px}}

.visitor-counter-row{padding-top:0;padding-bottom:24px;display:flex;justify-content:flex-end}.visitor-counter{display:inline-block;line-height:1;text-decoration:none}.visitor-counter img{display:block;width:88px;height:31px}.visitor-counter-placeholder{display:block;box-sizing:border-box;min-width:88px;border:1px solid #cbd5ce;border-radius:3px;padding:5px 7px;color:#53675a;font:700 11px/1 sans-serif;background:#fff}.visitor-counter-placeholder small{display:block;font-size:9px;font-weight:400;margin-top:4px}
