.staff-directory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; padding-block: 64px 88px; }
.staff-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid #e0e1d5; border-radius: 12px; overflow: hidden; background: #faf9f4; transition: box-shadow .25s, border-color .25s; }
.staff-card:hover { border-color: #b6ba9f; box-shadow: 0 14px 32px -20px #434b3c66; }
#main .staff-photo { display: flex; align-items: center; justify-content: center; position: static; width: 100%; margin: 0; aspect-ratio: 4 / 3; background: #eceee4; overflow: hidden; }
#main .staff-photo img { width: 100%; height: 100%; max-height: none; object-fit: contain; border-radius: 0; background: transparent; }
.staff-monogram { display: grid; place-items: center; width: 110px; height: 110px; border: 1px solid #b9bda6; border-radius: 50%; color: #747b5b; font-size: 52px; }
.staff-card-copy { padding: 26px; display: flex; flex-direction: column; flex: 1; }
#main #interior-content .staff-card .eyebrow { font-size: 11px; line-height: 1.6; letter-spacing: .08em; color: #817045; margin: 0 0 10px; }
#main #interior-content .staff-card h2 { font-size: clamp(23px, 2vw, 29px); line-height: 1.25; letter-spacing: -.035em; margin: 0 0 14px; }
.staff-card h2 a { text-decoration: none; }
.staff-card h2 a:hover { color: #7a693e; }
#main #interior-content .staff-credentials { font-size: 14px; line-height: 1.6; color: #6a705e; margin: 0 0 18px; }
.staff-card .practitioner-services { margin: 0 0 24px; gap: 7px; }
.staff-card .practitioner-services a { font-size: 12px; padding: 5px 9px; }
.staff-profile-link { display: flex; justify-content: space-between; align-items: center; padding-top: 18px; border-top: 1px solid #daddcc; margin-top: auto; text-decoration: none; font-size: 14px; font-weight: 600; }
.staff-profile-link span[aria-hidden] { font-size: 22px; color: #817045; }
.staff-profile { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.4fr); gap: clamp(32px, 6vw, 80px); padding-block: 64px 88px; align-items: start; }
.staff-profile-aside { min-width: 0; }
#main .staff-profile .staff-photo { border-radius: 12px; aspect-ratio: 1; }
.staff-services { padding-top: 28px; }
#main #interior-content .staff-services h2 { font-size: 23px; margin: 0 0 18px; }
#main #interior-content .staff-profile-content > h2 { font-size: 30px; margin: 0 0 25px; }
.staff-profile-content { min-width: 0; }
.staff-profile .practitioner-actions { margin-top: 30px; }
.staff-profile .practitioner-actions .button { gap: 20px; }
.staff-back { display: inline-block; margin-top: 38px; text-underline-offset: 5px; }
@media (max-width: 1100px) { .staff-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }
@media (max-width: 700px) {
  .staff-directory, .staff-profile { grid-template-columns: minmax(0, 1fr); padding-block: 36px 52px; }
  .staff-profile { gap: 30px; }
  #main .staff-profile .staff-photo { max-width: 380px; }
  .staff-card-copy { padding: 24px; }
  .staff-hero .breadcrumbs { flex-wrap: wrap; }
}
