/* Team directory — shared by team.html and about.html */
.team-wrap { max-width: var(--max-w); margin: 0 auto; padding: 44px 28px 96px; }
.year-tabs { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 40px; }
.year-tab {
  padding: 9px 18px; border: 1.5px solid var(--c-border); border-radius: var(--radius-pill);
  background: #fff; font-size: 14px; font-weight: 700; color: var(--c-ink-muted); cursor: pointer;
  transition: all var(--t-fast);
}
.year-tab:hover { border-color: var(--c-amber); color: var(--c-ink); }
.year-tab.is-active { background: var(--c-red); border-color: var(--c-red); color: #fff; }

.team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
@media (max-width: 940px) { .team-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 680px) { .team-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 440px) { .team-grid { grid-template-columns: 1fr; } }

.member { text-align: center; }
.member__photo {
  width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: var(--radius-lg);
  background: var(--c-amber-light); margin-bottom: 14px;
}
.member__photo--placeholder {
  display: flex; align-items: center; justify-content: center;
  font-size: 40px; font-weight: 800; color: var(--c-amber-dark); background: var(--c-amber-light);
}
.member__name { font-size: 16px; font-weight: 700; letter-spacing: -.2px; }
.member__role { font-size: 13px; color: var(--c-red); font-weight: 600; margin-top: 2px; }
.member__bio { font-size: 12.5px; color: var(--c-ink-muted); line-height: 1.5; margin-top: 8px; }
.member__links { display: flex; gap: 12px; justify-content: center; margin-top: 10px; }
.member__links a { font-size: 12px; font-weight: 600; color: var(--c-ink-muted); transition: color var(--t-fast); }
.member__links a:hover { color: var(--c-red); }
