.geo-directory [hidden] { display: none !important; }
.geo-directory .geo58-hero-plain { background: #f4f5f5; border-bottom: 1px solid #d6dfdb; min-height: 290px; }
.geo-directory .geo58-hero-copy { padding-top: 40px; padding-bottom: 40px; }
.geo-directory .geo58-breadcrumb { color: #51585c; font-size: 13px; }
.geo-directory .geo58-breadcrumb strong { color: #222626; }
.geo-directory .geo58-offer { padding-top: 24px; }
.geo-directory .geo58-summary { gap: 20px 40px; padding: 24px 0 12px; margin-top: 16px; border-top: 1px solid #d6dfdb; }
.geo-directory .geo58-summary > div { flex-basis: 190px; }
.geo-directory .geo58-summary dd { font-size: 27px; }
.geo-directory .geo-directory-count-note { font-size: 14px; color: #51585c; max-width: 90ch; margin: 8px 0 18px; }
.geo-directory .geo58-filters { gap: 40px; }
.geo-directory .geo58-filters h3 { font-size: 18px; }
.geo-directory .geo58-filters a { border-radius: 0; padding: 14px 8px; }
.geo-directory .geo58-filters a:hover { background: #f5f7f6; }
.geo-directory .geo-directory-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,380px); gap: 20px 40px; align-items: end; }
.geo-directory .geo-directory-heading h2 { margin: 0; max-width: 28ch; }
.geo-directory .geo-directory-search { display: grid; gap: 7px; }
.geo-directory .geo-directory-search label { font-size: 14px; font-weight: 650; }
.geo-directory .geo-directory-search-control { display: grid; grid-template-columns: minmax(0,1fr) 48px; background: white; border: 1px solid #808b87; border-radius: 4px; overflow: hidden; }
.geo-directory .geo-directory-search-control:focus-within { outline: 3px solid #087567; outline-offset: 3px; }
.geo-directory .geo-directory-search input { appearance: none; border: 0; background: transparent; min-width: 0; width: 100%; padding: 12px; min-height: 48px; font-size: 16px; outline: none; }
.geo-directory .geo-directory-search input::-webkit-search-cancel-button { display: none; }
.geo-directory .geo-directory-search button { width: 48px; min-height: 48px; border: 0; border-left: 1px solid #d6dfdb; background: transparent; color: #222626; font-size: 26px; cursor: pointer; }
.geo-directory .geo-directory-search button:disabled { color: #737d78; cursor: default; }
.geo-directory .geo-directory-search button:not(:disabled):hover { background: #edf3f0; }
.geo-directory .geo-directory-status { font-size: 13px; color: #51585c; min-height: 24px; margin: 16px 0 8px; }
.geo-directory .geo58-territory-groups { display: block; margin-top: 24px; }
.geo-directory .geo58-territory-groups details { border-top: 1px solid #d6dfdb; padding: 12px 0 20px; }
.geo-directory .geo58-territory-groups summary { width: fit-content; max-width: 100%; font-size: 17px; color: #222626; }
.geo-directory .geo58-territory-groups ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); column-gap: 28px; max-height: 352px; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-gutter: stable; padding: 4px 8px 4px 4px; }
.geo-directory .geo58-territory-groups li { align-self: stretch; }
.geo-directory .geo58-territory-groups a { min-height: 52px; height: 100%; gap: 12px; padding: 12px 8px; line-height: 1.45; }
.geo-directory .geo58-territory-groups a:hover { background: #f1f5f3; color: #9c1c2e; }
.geo-directory .geo58-territory-groups a span:last-child { flex: 0 0 auto; color: #9c1c2e; }
.geo-directory .geo-directory-empty { border-top: 1px solid #d6dfdb; padding-top: 24px; color: #51585c; }
.geo-directory :is(button,ul):focus-visible { outline: 3px solid #087567; outline-offset: 3px; }
@media (max-width: 800px) {
  .geo-directory .geo-directory-heading { grid-template-columns: 1fr; }
  .geo-directory .geo-directory-search { max-width: 480px; }
  .geo-directory .geo58-territory-groups ul { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 18px; }
}
@media (max-width: 540px) {
  .geo-directory .geo58-hero-copy { padding: 28px 18px; }
  .geo-directory .geo58-summary > div { flex-basis: 120px; }
  .geo-directory .geo58-summary dd { font-size: 24px; }
  .geo-directory .geo58-filters { gap: 24px; }
  .geo-directory .geo58-filters a { grid-template-columns: minmax(0,1fr) 92px 14px; gap: 8px; }
  .geo-directory .geo58-territory-groups ul { grid-template-columns: 1fr; max-height: 324px; }
  .geo-directory .geo58-territory-groups a { min-height: 52px; }
}
