.service-center-intro { padding:76px 0 16px; }
.service-center-intro .hero-title { margin-bottom:12px; font-size:clamp(2.55rem,4vw,3.45rem); line-height:1.08; text-wrap:nowrap; white-space:nowrap; }
.service-center-intro .hero-text { margin-bottom:0; }
.service-center-directory { padding:18px 0 52px; }
.service-center-hero { display:grid; grid-template-columns:1fr; gap:22px; align-items:stretch; }
.service-center-filter-card { display:grid; align-content:start; gap:20px; }
.service-center-filter-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.service-center-map { min-height:360px; overflow:hidden; border:1px solid #e8ded1; border-radius:14px; background:#fffdf9; box-shadow:0 14px 32px rgba(52,39,20,.08); }
.service-center-map[hidden] { display:none; }
.service-center-map-head { display:flex; justify-content:space-between; gap:12px; padding:17px 19px 0; }
.service-center-map-head strong { color:#243044; font-size:1rem; }
.service-center-map-head span { color:#9a6a31; font-size:.78rem; }
.service-center-map-canvas { position:relative; min-height:270px; margin:4px 10px 0; overflow:hidden; }
.service-center-map-svg { display:block; width:100%; height:270px; }
.service-center-map-svg.is-pannable { cursor:grab; touch-action:none; }
.service-center-map-svg.is-panning { cursor:grabbing; user-select:none; }
.service-center-map-zoom { position:absolute; z-index:1; top:10px; right:10px; display:flex; gap:4px; padding:4px; border:1px solid #eadcc9; border-radius:8px; background:rgba(255,253,249,.94); box-shadow:0 4px 12px rgba(70,44,18,.1); }
.service-center-map-zoom button { min-width:30px; height:28px; padding:0 8px; border:0; border-radius:5px; background:transparent; color:#76542f; font:700 .78rem/1 inherit; cursor:pointer; }
.service-center-map-zoom button:hover:not(:disabled),.service-center-map-zoom button:focus-visible { background:#f4e8d8; outline:none; }
.service-center-map-zoom button:disabled { cursor:default; opacity:.4; }
.service-center-map-geometry { fill:#f4e8d8; stroke:#b98b56; stroke-width:.8; vector-effect:non-scaling-stroke; }
.service-center-map-marker { color:#d57b30; cursor:pointer; }
.service-center-map-marker .star { fill:currentColor; font-size:25px; filter:drop-shadow(0 2px 3px rgba(148,74,13,.25)); }
.service-center-map-marker .label { fill:#76542f; font-size:11px; font-weight:700; }
.service-center-map-marker:hover .star,.service-center-map-marker.is-selected .star { fill:#f19b3d; }
.service-center-map-status { margin:0; padding:0 19px; color:#76542f; font-size:.78rem; }
.service-center-map-note { margin:8px 0 0; padding:0 19px 16px; color:#7a6b5b; font-size:.72rem; line-height:1.55; }
.service-center-results-head { display:flex; align-items:end; justify-content:space-between; gap:18px; margin:0 0 18px; }
.service-center-results-head h2 { margin:0; color:#151c2a; font-size:1.35rem; }
.service-center-results-head p { margin:4px 0 0; color:#697386; }
.service-center-results-count { flex:0 0 auto; color:#9a5a22; font-weight:700; }
.center-card.is-map-selected { outline:2px solid #d57b30; outline-offset:2px; }
@media (max-width:680px) {
  .service-center-intro { padding:42px 0 12px; }
  .service-center-intro .hero-title { font-size:clamp(2rem,9vw,2.55rem); white-space:normal; text-wrap:balance; }
  .service-center-directory { padding:14px 0 34px; }
  .service-center-filter-fields { grid-template-columns:1fr; }
  .service-center-results-head { align-items:start; flex-direction:column; gap:6px; }
}
