/* Team identity and independent specialty/location controls. */
.team-review-table-wrap { overflow-x: auto; margin-bottom: 2rem; }
.team-review-table { width: 100%; border-collapse: collapse; font-size: .88rem; line-height: 1.55; }
.team-review-table caption { text-align: start; font-size: 1.15rem; margin: 0 0 1rem; }
.team-review-table th, .team-review-table td { padding: .85rem; border-bottom: 1px solid var(--line, currentColor); text-align: start; vertical-align: top; }
.team-review-table thead th { font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; }
.team-review-table tbody th { min-width: 11rem; font-weight: 500; }
.team-review-table td:nth-child(2) { min-width: 12rem; }
.team-review-table td:nth-child(3) { min-width: 9rem; }
.team-review-table td:last-child { font-size: .8rem; max-width: 20rem; }
[data-team-directory] [hidden] { display: none !important; }
.team-location-controls { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 1rem; margin: 0 0 1rem; padding-top: clamp(1.5rem, 3vw, 2.5rem); }
.team-filter--locations { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .5rem; margin-left: auto; }
.team-location-controls .team-filter-reset { order: -1; }
[dir="rtl"] .team-location-controls { flex-direction: row-reverse; }
[dir="rtl"] .team-filter--locations { justify-content: flex-start; }
.team-filter__label { font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; margin-inline-end: .7rem; }
.team-filter-reset { border: 0; background: transparent; color: inherit; padding: .65rem .25rem; font: inherit; font-size: .8rem; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
/* Explicit text color prevents browser-default blue on unselected controls. */
.team-filter button { color: var(--ink, #111714); -webkit-text-fill-color: currentColor; }
.team-filter button:focus-visible, .team-filter-reset:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.team-filter-status { min-height: 1.4em; font-size: .8rem; margin: .25rem 0 1.5rem; }
.team-filter-empty { padding: 1.5rem 0; }
.profile-grid--dynamic .team-card__title { display: block; line-height: 1.5; }
.profile-grid--dynamic .team-card__locations { display: block; margin: .9rem 0 .3rem; font-size: .78rem; line-height: 1.5; letter-spacing: .025em; }
.profile-grid--dynamic .team-card__locations + h3 { margin-top: 0; }
.content-hero--team .team-profile-locations { margin: 0 0 1rem; font-size: .9rem; letter-spacing: .06em; line-height: 1.6; }
.content-hero--team .team-profile-title { margin: .75rem 0 1.25rem; font-size: 1rem; line-height: 1.6; }
.family-layout--archive .resource-card-grid .team-card__title { margin: .4rem 0 0; font-size: .9rem; font-weight: 500; line-height: 1.5; }
.family-layout--archive .resource-card-grid .team-card__locations { margin: .4rem 0 .8rem; font-size: .8rem; line-height: 1.5; }
.team-profile-title, .team-card__title, .team-card__locations { overflow-wrap: break-word; }
[dir="rtl"] .team-profile-locations, [dir="rtl"] .team-card__locations, [dir="rtl"] .team-filter__label { letter-spacing: normal; }
@media (max-width: 800px) {
  .team-directory .team-location-controls { align-items: flex-start; justify-content: flex-start; }
  .team-directory .team-filter--locations { width: 100%; justify-content: flex-start; margin-left: 0; margin-right: auto; }
  [dir="rtl"] .team-directory .team-location-controls { flex-direction: row-reverse; }
  [dir="rtl"] .team-directory .team-filter--locations { justify-content: flex-end; }
  .team-filter button { min-height: 34px; }
  .team-directory .profile-grid.profile-grid--dynamic { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; row-gap: 1.75rem; }
  .team-directory .profile-grid--dynamic > a { min-width: 0; }
  .team-directory .profile-grid--dynamic > a > img { width: 100%; height: auto; max-height: none; aspect-ratio: 38 / 49; object-fit: cover; }
  .team-directory .profile-grid--dynamic > a h3 { font-size: clamp(1rem, 4vw, 1.25rem); overflow-wrap: anywhere; }
}
