/* Staff Directory Styles */

/* Give each directory section its own visual grouping. */
.Staff-results .Staff-list {
  padding: 1.5rem;
  background: #f2f2f2;
}

.Staff-results .Staff-list + .Staff-list {
  margin-top: 1.5rem;
}

.Staff-results .Staff-list > h3 {
  padding-left: 1rem;
  margin-top: 0;
  border-left: 0.375rem solid #ffd100;
}

.Staff-listing {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
}
.Staff-listing__person {
  position: relative;
  padding: 1.5rem;
  border-top: 4px solid #ffd100;
  background: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .1);
  transition: box-shadow .2s ease, transform .2s ease;
}
.Staff-listing__person:hover,
.Staff-listing__person:focus-within { box-shadow: 0 8px 24px rgba(0, 0, 0, .18); transform: translateY(-4px); }
.Staff-listing__person h4 { margin: 0 0 .5rem; }
.Staff-listing__link { color: #00598c; text-decoration: none; }
.Staff-listing__link::after { position: absolute; z-index: 1; inset: 0; content: ''; }
.Staff-listing__link:hover,
.Staff-listing__link:focus { color: #00598c; text-decoration: none; }
.Staff-listing__person p a { position: relative; z-index: 2; }
.Staff-listing__person p { margin: 0 0 .5rem; overflow-wrap: anywhere; }
.Staff-listing__title { font-weight: 600; }
@media (min-width: 768px) {
  .Staff-results .Staff-list { padding: 2rem; }
  .Staff-listing { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .Staff-listing { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.Staff-member { width: min(100% - 2rem, 1100px); margin: 3rem auto; }
.Staff-member__panel { display: grid; gap: 2rem; padding: 2rem; background: #f2f2f2; }
.Staff-member__image img { display: block; width: 100%; max-width: 300px; height: auto; }
.Staff-member__details { min-width: 0; }
.Staff-member__name { margin: 0; color: #00598c; font-size: 2rem; line-height: 1.2; }
.Staff-member__title { margin: .5rem 0 0; font-weight: 700; }
.Staff-member__bio { margin-top: 1.5rem; }
.Staff-member__details p { overflow-wrap: anywhere; }
.Staff-member__contact { margin-top: 1.5rem; line-height: 1.35; }
.Staff-member__contact p { margin: 0 0 .4rem; }
.Staff-member__contact p:last-child { margin-bottom: 0; }
.Staff-member__profile-link { margin: 1.5rem 0 0; }
.Staff-member__profile-link + .Staff-member__profile-link { margin-top: .5rem; }
.Staff-member__breadcrumbs { margin-bottom: 1.5rem; }
.Staff-member__breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .25rem; list-style: none; margin: .5rem 0; padding: 0; }
.Staff-member__breadcrumbs li { display: inline; margin: 0; }
.Staff-member__breadcrumbs li + li::before { content: '›'; padding: 0 .5rem 0 .25rem; color: #666; }
.Staff-member__breadcrumbs a { color: #00598c; text-decoration: underline; }
.Staff-member__breadcrumbs a:hover { color: #0079bf; }
@media (min-width: 768px) {
  .Staff-member__panel { position: relative; isolation: isolate; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 3rem; align-items: center; padding: 3rem 3rem 3rem 0; background: transparent; }
  .Staff-member__panel::before { position: absolute; z-index: -1; inset: 0 0 0 25%; background: #f2f2f2; content: ''; }
  .Staff-member__panel--no-photo { grid-template-columns: minmax(0, 1fr); padding-left: 3rem; }
  .Staff-member__panel--no-photo::before { left: 0; }
}
