/* Team directory: reuse the Leadership portrait treatment and typography. */
.team-directory { scroll-margin-top: 110px; }
.directory-intro { max-width: 40ch; margin: 18px 0 0; color: rgba(17,20,18,.7); line-height: 1.55; }
.team-directory .directory-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; }
.team-directory .directory-card { min-height: 0; }
.team-directory .directory-card > div { min-height: 255px; display: flex; flex-direction: column; }
.team-directory .directory-card h3 { font-size: clamp(28px, 2.7vw, 42px); overflow-wrap: anywhere; margin-bottom: 24px; }
.team-directory .directory-affiliation { font-size: 12px; letter-spacing: .04em; margin: -10px 0 24px; }
.directory-bio { margin-top: auto; padding-top: 20px; }
.directory-bio summary { align-items: center; border-top: 1px solid currentColor; cursor: pointer; display: flex; font: 700 11pt/1.4 'Carlito', sans-serif; gap: 12px; list-style: none; padding: 16px 0 0; }
.directory-bio summary::-webkit-details-marker { display: none; }
.directory-bio summary:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }
.directory-bio .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.bio-label-close, .directory-bio[open] .bio-label-open { display: none; }
.directory-bio[open] .bio-label-close { display: inline; }
.bio-toggle { width: 14px; height: 14px; position: relative; margin-left: auto; flex: none; }
.bio-toggle::before, .bio-toggle::after { content: ''; position: absolute; background: currentColor; left: 0; top: 6px; width: 14px; height: 1px; }
.bio-toggle::after { transform: rotate(90deg); }
.directory-bio[open] .bio-toggle::after { transform: rotate(0); }
.directory-bio-content { padding-top: 22px; }
.team-directory .directory-bio-content p { font-size: 15px; line-height: 1.65; }
.team-directory .directory-card:hover p, .team-directory .directory-card:focus-within p { color: rgba(255,255,255,.82); }
@media (max-width: 1100px) { .team-directory .directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .team-directory .directory-card h3 { font-size: 36px; } }
@media (max-width: 600px) { .team-directory .directory-grid { grid-template-columns: minmax(0, 1fr); } .team-directory .directory-card > div { min-height: 0; } .directory-bio { margin-top: 0; } .team-directory .directory-card h3 { font-size: 36px; } }
@media (prefers-reduced-motion: reduce) { .team-directory .directory-card, .team-directory .directory-card img { transition: none; } }
.team-directory .team-list-heading .directory-intro { display: block; font-size: 17px; }
.team-directory .directory-bio summary span { color: inherit; font: inherit; letter-spacing: .02em; text-transform: none; }
.team-directory .directory-bio summary .bio-label-close,
.team-directory .directory-bio[open] summary .bio-label-open { display: none; }
.team-directory .directory-bio[open] summary .bio-label-close { display: inline; }
