/* Team roster — moved from team-page.css. */
.team-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; margin-top: 20px; }
.team-card { border-radius: 24px; overflow: hidden; padding: 0; background: rgba(255,255,255,0.8); box-shadow: inset 0 0 0 1px rgba(24,51,47,0.07), 0 18px 32px rgba(24,51,47,0.05); }
.team-card--compact { border-radius: 28px; background: rgba(255,255,255,0.86); box-shadow: inset 0 0 0 1px rgba(24,51,47,0.06), 0 20px 36px rgba(24,51,47,0.06); }
.team-card--compact h3 { margin: 0; font-size: 1rem; }
.team-card__media { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.team-card__body { padding: 18px 16px 20px; }
.team-card__body p { margin: 0; color: var(--muted); line-height: 1.8; }
.team-card__role { color: var(--brand-strong); font-weight: 700; }

@media (max-width: 980px) { .team-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) { .team-grid { grid-template-columns: 1fr; } }
