/* Team directory: tall portraits, aligned schedules, specialty filters. */
.team-page{background:#f7f5f0;color:var(--navy)}
.team-hero{background:#eeebe4;padding:34px 0 44px}
.team-hero .about-crumbs{margin-bottom:50px}
.team-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:end;margin-bottom:46px}
.team-hero h1{font-size:88px;line-height:.95;letter-spacing:-.04em}
.team-lead{font-size:16px;line-height:1.85;color:#4c5261;max-width:520px}
.team-filter{display:flex;flex-wrap:wrap;gap:8px}
.team-chip{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:8px 15px;border:1px solid #cbaf6a66;background:#f7f5f0;color:var(--navy);border-radius:999px;font-size:12px;font-weight:500}
.team-chip span{font-size:10px;color:var(--gold-ink)}
.team-chip:hover{border-color:var(--olive)}
.team-chip[aria-pressed="true"]{background:var(--olive-dark);border-color:var(--olive-dark);color:#fcfbf9}
.team-chip[aria-pressed="true"] span{color:var(--gold-light)}
.team-status{font-size:12px;color:var(--gold-ink);margin-top:16px;min-height:18px}

.team-content{padding:70px 0 100px}
.team-heading{font-size:46px;margin-bottom:34px}
.team-staff-heading{margin-top:100px;padding-top:60px;border-top:1px solid #cbaf6a55;margin-bottom:12px}
.team-staff-lead{font-size:14px;color:var(--muted);margin-bottom:34px}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.team-card{display:flex;flex-direction:column;min-width:0;background:#fcfbf9;border:1px solid #dedad2;transition:border-color .2s}
.team-card:hover{border-color:var(--gold)}
.team-card[hidden]{display:none}
.team-photo{display:block;overflow:hidden;background:#e7e2d9}
.team-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;transition:transform .5s}
.team-card:hover .team-photo img{transform:scale(1.025)}
.team-body{flex:1;display:flex;flex-direction:column;padding:24px 24px 22px}
.team-tag{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--gold-ink);margin-bottom:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team-card h3{font-size:29px;line-height:1.08;letter-spacing:-.02em;margin-bottom:10px}
.team-card h3 a:hover{color:var(--olive)}
.team-role{font-size:13px;line-height:1.65;color:#515767;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.team-foot{margin-top:auto;padding-top:22px}
.team-card .doctor-hours{display:block;background:#f1eee8;padding:14px 16px;margin:0 0 16px;min-height:0;border:0}
.team-card .doctor-hours .label{display:block;font-size:9px;letter-spacing:.16em;color:var(--gold-ink);margin-bottom:6px}
.team-card .hours-row{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:500}
.team-card .doctor-hours small{display:block;font-size:10px;color:#a58637;margin-top:5px}
.team-links{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:600;padding-top:14px;border-top:1px solid #cbaf6a44}
.team-links a:hover{color:var(--olive)}
.team-links a:last-child{color:var(--gold-ink)}
.team-staff{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.team-card-staff .team-photo img{aspect-ratio:1}
.team-card-staff .team-body{padding:16px 16px 18px}
.team-card-staff h3{font-size:21px}
.team-card-staff .team-role{font-size:12px}
@media(prefers-reduced-motion:reduce){.team-photo img,.team-card{transition:none}.team-card:hover .team-photo img{transform:none}}
@media(max-width:1050px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-staff{grid-template-columns:repeat(3,minmax(0,1fr))}.team-hero h1{font-size:70px}.team-hero-grid{gap:40px}}
@media(max-width:760px){
.team-hero{padding:20px 0 30px}
.team-hero .about-crumbs{margin-bottom:30px}
.team-hero-grid{grid-template-columns:1fr;gap:18px;margin-bottom:28px}
.team-hero h1{font-size:clamp(42px,11vw,54px)}
.team-lead{font-size:14px}
.team-filter{flex-wrap:nowrap;overflow-x:auto;margin:0 -20px;padding:0 20px 6px;scrollbar-width:none}
.team-filter::-webkit-scrollbar{display:none}
.team-chip{flex:0 0 auto;min-height:44px}
.team-content{padding:40px 0 60px}
.team-heading{font-size:36px;margin-bottom:22px}
.team-grid{grid-template-columns:1fr;gap:28px;max-width:480px;margin-inline:auto}
.team-card{display:flex;flex-direction:column}
.team-photo img{height:auto;aspect-ratio:4/5}
.team-body{padding:24px 22px 18px}
.team-tag{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.team-card h3{font-size:30px;line-height:1.12}
.team-role{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible;overflow-wrap:anywhere}
.team-foot{padding-top:24px}
.team-card .hours-row{font-size:15px}
.team-links{font-size:13px;padding-top:8px;align-items:center}
.team-links a{display:inline-flex;align-items:center;min-height:44px}
.team-staff-heading{margin-top:60px;padding-top:40px}
.team-card-staff .team-body{padding:22px}
.team-card-staff h3{font-size:28px}
}
/* Override the generic imported directory rules. */
.team-page .team-card{border:1px solid #dedad2;padding:0}
.team-page .team-card p{margin:0}
.team-page .team-card p.team-tag{font:600 10px/1.4 var(--sans);letter-spacing:.16em;color:var(--gold-ink);margin:0 0 12px}
.team-page .team-card p.team-role{font-size:13px;line-height:1.65;color:#515767}
.team-page .team-card h3{margin:0 0 10px}
.team-page .team-card .doctor-hours{background:#f1eee8;padding:14px 16px;margin:0 0 16px}
.team-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:760px){
.team-page .team-card p.team-tag{font-size:10px;line-height:1.6;letter-spacing:.12em;margin-bottom:12px}
.team-page .team-card p.team-role{font-size:14px;line-height:1.75}
.team-page .team-card h3{margin-bottom:12px}
.team-page .team-card .doctor-hours{padding:16px;margin-bottom:12px}
}
/* Directory: four specialists per row on wide screens, three on laptops, then the shared breakpoints. */
@media(min-width:1280px){#team-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}#team-grid .team-body{padding:20px 20px 18px}#team-grid .team-card h3{font-size:25px}#team-grid .hours-row{font-size:13px}#team-grid .team-tag{white-space:normal;overflow:visible;text-overflow:clip}}
