.service-area{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:28px;padding-block:48px 64px;align-items:stretch}
.service-area-copy{padding-top:12px;min-width:0}.service-area .eyebrow{margin-bottom:24px}.service-area h1{font-size:clamp(30px,2.65vw,39px);line-height:1.18;letter-spacing:-.045em;color:var(--primary)}
.service-area .intro{font-size:17px;line-height:1.65;margin-top:24px}.service-area-card{margin-top:24px;padding:26px;border:1px solid var(--border);border-radius:20px;background:#ffffffb3;box-shadow:var(--shadow)}
.service-area-card h2{font-size:24px;letter-spacing:-.025em}.service-area-locations{list-style:none;padding:0;margin:20px 0 24px;display:grid;gap:13px}.service-area-locations li{display:flex;align-items:center;gap:13px;font-size:18px;line-height:1.5}.service-area-locations svg{width:19px;height:26px;fill:var(--primary);flex:none}.service-area-locations circle{fill:var(--background)}.service-area-locations li:first-child svg{fill:#104a28}.service-area-card p{border-top:1px solid var(--border);padding-top:20px;font-size:16px;line-height:1.65;color:var(--muted)}.service-area-card .button{margin-top:22px;font-size:15px;padding:16px 20px;gap:20px}
.service-area-map-panel{margin:0;min-width:0;border:1px solid var(--border);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;background:#eef0e5}.service-area-map-wrap{position:relative;flex:1;min-height:650px;isolation:isolate}#service-area-map{height:100%;width:100%;position:absolute;inset:0;background:#e5eadb;font-family:BelongSystem,"Segoe UI",Arial,sans-serif;z-index:0}.service-area-map-panel figcaption{padding:17px 22px;background:#fcfcf7;font-size:12px;color:var(--muted)}.service-area-map-panel figcaption p{margin:7px 0}.service-area-map-panel figcaption a{font-size:12px}.map-legend{display:flex;align-items:center;gap:9px;color:var(--primary);font-size:13px;flex-wrap:wrap}.map-legend strong{font-weight:500;margin-left:auto}.legend-pin{font-size:20px;line-height:1}.map-north{position:absolute;right:16px;top:16px;z-index:1;background:#fffffff0;border-radius:50%;width:46px;height:46px;text-align:center;line-height:16px;padding-top:6px;font-size:14px;color:var(--primary);box-shadow:var(--shadow)}.map-reset{position:absolute;left:14px;bottom:37px;z-index:1;border:1px solid #c4cec4;border-radius:7px;padding:7px 11px;background:#fffffff2;color:var(--primary);font-size:12px;box-shadow:var(--shadow)}
.belong-map-pin{background:none;border:0}.belong-map-pin svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 2px 2px #253b3240);fill:var(--primary);stroke:#fff;stroke-width:1.5}.belong-map-pin circle{fill:#fff;stroke:none}.belong-map-pin.is-base svg{fill:#104a28}.belong-map-pin:focus-visible{outline:3px solid #7d513b;outline-offset:4px;border-radius:10px}.leaflet-tooltip.belong-map-label{background:#fffffff0;border:0;border-radius:4px;box-shadow:0 1px 4px #253b3220;color:#203d2d;font-family:inherit;font-size:14px;font-weight:600;padding:2px 6px}.leaflet-tooltip.belong-map-label:before{display:none}.leaflet-tooltip.belong-map-label.is-base{font-size:16px;font-weight:700}#service-area-map .leaflet-control-zoom{border:1px solid #c4cec4;border-radius:8px;overflow:hidden;margin:16px}#service-area-map .leaflet-control-zoom a{color:var(--primary);width:36px;height:36px;line-height:36px}#service-area-map .leaflet-control-attribution{font-size:10px;background:#fffffff0}#service-area-map .leaflet-control-scale{margin:0 0 9px 14px}#service-area-map .leaflet-popup-content{font-size:14px;line-height:1.6}
@media(max-width:1000px){.service-area{grid-template-columns:1fr;gap:26px;padding-block:32px 48px}.service-area-copy{padding-top:0}.service-area h1{font-size:40px;max-width:600px}.service-area .intro{max-width:650px}.service-area-map-wrap{flex:none;height:500px;min-height:0}.service-area-card{padding:26px}.service-area-locations{grid-template-columns:1fr 1fr}.service-area-map-panel figcaption{padding:15px 20px}}
@media(max-width:550px){.service-area h1{font-size:34px}.service-area .eyebrow{margin-bottom:18px}.service-area .intro{font-size:16px;margin-top:20px}.service-area-card{padding:22px}.service-area-card h2{font-size:24px}.service-area-locations{grid-template-columns:1fr;gap:12px}.service-area-locations li{font-size:17px}.service-area-card .button{width:100%;font-size:14px;padding-inline:12px}.service-area-map-wrap{height:450px}.map-legend strong{margin-left:0;width:100%;padding-left:24px}.leaflet-tooltip.belong-map-label{font-size:11px}.leaflet-tooltip.belong-map-label.is-base{font-size:12px}.map-north{right:10px;top:10px}}
/* Compact first-screen composition; DOM order stays intro, map, locations. */
.service-area{width:min(1500px,calc(100% - var(--space)*2));grid-template-columns:minmax(300px,3fr) minmax(0,7fr);grid-template-rows:auto 1fr;gap:20px 28px;padding-block:24px 28px;align-items:start}
.service-area-copy{grid-column:1;grid-row:1;padding:0}.service-area .eyebrow{margin-bottom:10px}.service-area h1{font-size:clamp(30px,2.35vw,37px)}.service-area .intro{margin-top:14px;font-size:16px;line-height:1.55}
.service-area-card{grid-column:1;grid-row:2;margin:0;padding:20px}.service-area-card h2{font-size:23px}.service-area-locations{gap:7px;margin:15px 0}.service-area-locations li{font-size:17px;line-height:1.4;gap:10px}.service-area-locations svg{height:22px;width:16px}.service-area-card p{padding-top:14px;font-size:14px;line-height:1.5}.service-area-card .button{margin-top:16px;padding:12px 16px;font-size:14px}
.service-area-map-panel{grid-column:2;grid-row:1 / span 2;height:clamp(580px,calc(100dvh - var(--area-header-height,154px) - 52px),820px)}.service-area-map-wrap{min-height:0}.service-area-map-panel figcaption{padding:12px 18px;flex:none}
@media(max-width:1000px){.service-area{grid-template-columns:1fr;grid-template-rows:auto;gap:22px;padding-block:26px 40px}.service-area-copy,.service-area-card,.service-area-map-panel{grid-column:1;grid-row:auto}.service-area-map-panel{height:auto}.service-area-map-wrap{height:460px;flex:none}.service-area h1{font-size:36px}.service-area-card{padding:22px}.service-area-locations{grid-template-columns:1fr 1fr;gap:12px}}
@media(max-width:550px){.service-area{gap:20px;padding-top:22px}.service-area h1{font-size:30px}.service-area .intro{font-size:16px;margin-top:12px}.service-area-map-wrap{height:410px}.service-area-locations{grid-template-columns:1fr}.service-area-card .button{width:100%}}
