/* R20: public-page refinements only. Existing desktop hero and typography stay in place. */
.public-site #doctor-list.practitioner-grid {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));
}
@media (max-width:767px) {
  .public-site .public-hero {padding-block:2rem;gap:1.25rem}
  .public-site .public-hero-visual {max-width:400px}
  .public-site .founder-portrait {aspect-ratio:auto;height:clamp(15rem,70vw,20rem);border-radius:22px}
  .public-site .founder-portrait img {object-position:50% 12%}
  .public-site .public-hero .floating-note {margin-top:.625rem;padding:.75rem 1rem}
  .public-site .family-care-section {padding-block:2rem}
  .public-site .family-care-section .section-heading {margin-bottom:1.25rem;gap:.75rem}
  .public-site .family-care-section .family-care-grid {gap:12px}
  .public-site .family-care-section .family-care-art {padding:8px 16px 0}
  .public-site .family-care-section .family-care-art>svg {height:112px}
  .public-site .family-care-section .family-care-copy {padding:18px 20px}
  .public-site .family-care-section .family-care-copy h3 {margin-bottom:8px}
  .public-site #doctor-list.practitioner-grid {grid-template-columns:minmax(0,1fr)}
}

/* R49: a still, readable service summary; booking and doctors remain the primary path. */
.services-overview{margin:0;padding:12px max(20px,calc((100vw - 1200px)/2));text-align:center;color:var(--muted);background:var(--surface-soft);border-bottom:1px solid var(--line);font-size:.85rem;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:700px){.services-overview{padding:10px 20px;font-size:.8rem}.family-care-section .family-care-art{max-height:130px;overflow:hidden}}

/* The directory title is the page heading; keep its existing visual scale. */
.public-site h1#doctors-heading{font-size:clamp(1.8rem,3.4vw,3rem)}
