/* Browse hub only; reuse the directory hero and existing navigation typography. */
.ld-location-browse__body { padding-block: 24px 40px; }
.ld-location-browse .ld-directory-hero__inner { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 40px; }
.ld-location-browse .ld-directory-hero__copy { width: auto; }
.ld-location-browse .ld-directory-hero__art { display: none; }
.ld-location-browse__search { position: relative; width: 100%; max-width: 420px; justify-self: end; }
.ld-location-browse__search label { display: block; margin-bottom: 10px; color: var(--ld-navy); font: 400 20px/1.3 var(--ld-serif); }
.ld-location-browse__search input { width: 100%; min-height: 48px; padding: 12px 16px; border: 1px solid #cbd5df; border-radius: 3px; background: #fff; color: var(--ld-ink); font: 400 14px/1.5 var(--ld-sans); }
.ld-location-browse__directory { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 40px; align-items: start; background-image: linear-gradient(#e2e6ea, #e2e6ea), linear-gradient(#e2e6ea, #e2e6ea), linear-gradient(#e2e6ea, #e2e6ea); background-size: 1px 100%; background-repeat: no-repeat; background-position: calc(25% - 10px) 0, 50% 0, calc(75% + 10px) 0; }
.ld-location-browse__state { min-width: 0; }
.ld-location-browse__state-heading { display: flex; align-items: center; gap: 4px; }
/* Match the existing compact directory-card heading scale, retaining EC serif type. */
.ld-location-browse__state h2 { margin: 0; min-width: 0; color: var(--ld-navy); font: 400 18px/1.4 var(--ld-serif); }
.ld-location-browse__toggle { flex: 0 0 32px; width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 3px; background: transparent; color: var(--ld-navy); cursor: pointer; }
.ld-location-browse__toggle svg { width: 16px; height: 16px; }
.ld-location-browse__toggle[hidden] { display: none; }
.ld-location-browse__toggle:hover { color: var(--ld-accent); }
.ld-location-browse__toggle:focus-visible { outline: 2px solid var(--ld-accent); outline-offset: 2px; }
.ld-location-browse__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.ld-location-browse__state [data-location-cities]:not([hidden]) { margin-block: 4px 8px; }
.ld-practice-browse [data-practice-children]:not([hidden]) { margin-block: 4px 8px; }
.ld-practice-browse__toggle::before { content: '+'; font: 400 22px/1 var(--ld-sans); }
.ld-practice-browse__toggle[aria-expanded="true"]::before { content: '\2212'; }
.ld-location-browse__state h2 { font-size: clamp(13px, calc(1.8vw - 6.5px), 15px); }
@media (min-width: 1600px) {
  .ld-location-browse__state h2 { font-size: 16px; }
}
.ld-location-browse__state ul { list-style: none; padding: 0; margin: 0; }
.ld-location-browse__state li a { display: block; padding-block: 4px; color: #536579; font: 400 14px/1.5 var(--ld-sans); overflow-wrap: anywhere; }
.ld-location-browse__state h2 a { display: inline-block; padding-block: 2px; }
.ld-location-browse__state a:hover { color: var(--ld-accent); text-decoration: underline; text-underline-offset: 4px; }
.ld-location-browse__empty { padding-block: 20px; color: #536579; }
@media (max-width: 1100px) {
  .ld-location-browse__state h2 { font-size: 16px; }
  .ld-location-browse .ld-directory-hero__inner { grid-template-columns: 1fr; gap: 0; padding-bottom: 28px; }
  .ld-location-browse .ld-directory-hero__copy { padding-bottom: 20px; }
  .ld-location-browse__search { justify-self: start; }
  .ld-location-browse__directory { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; background-image: linear-gradient(#e2e6ea, #e2e6ea); background-position: 50% 0; }
  .ld-location-browse__toggle { flex-basis: 44px; width: 44px; height: 44px; }
}
@media (max-width: 760px) {
  .ld-location-browse__state h2 { font-size: 14px; }
  .ld-location-browse__body { padding-block: 26px 40px; }
  .ld-location-browse__directory { grid-template-columns: 1fr; background-image: none; }
  .ld-location-browse__state li a, .ld-location-browse__state h2 a { min-height: 44px; display: flex; align-items: center; }
}
@media (pointer: coarse) {
  .ld-location-browse__toggle { flex-basis: 44px; width: 44px; height: 44px; }
  .ld-location-browse__state li a, .ld-location-browse__state h2 a { min-height: 44px; display: flex; align-items: center; }
}
