.team-shell { width: min(1120px, calc(100% - 40px)); margin: 0 auto; padding: 56px 0; letter-spacing: 0; }
.team-heading { max-width: 800px; margin-bottom: 48px; }
.team-heading h1 { font-size: 48px; line-height: 1.12; margin: 16px 0; }
.team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; }
.team-member { min-width: 0; overflow-wrap: anywhere; }
.team-portrait, .team-initials { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 25%; background: var(--foreground); }
.team-initials { display: grid; place-items: center; font-size: 48px; color: var(--text); border: 1px solid var(--border); }
.team-member h2 { font-size: 24px; line-height: 1.3; margin: 20px 0 6px; }
.team-position { color: var(--accent-bright); font-family: var(--mono); font-size: 14px; margin: 0 0 16px; }
.team-bio { font-size: 16px; line-height: 1.7; }
.team-bio p { white-space: pre-line; }
.team-member a, .team-empty a { text-decoration: underline; text-underline-offset: 4px; }
.team-contact { margin-top: 64px; padding: 32px 0 0; border-top: 1px solid var(--border); }
.team-contact h2 { font-size: 28px; margin: 0 0 24px; }
@media (max-width: 800px) { .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .team-shell { padding: 32px 0; } .team-heading h1 { font-size: 32px; } .team-grid { grid-template-columns: minmax(0, 1fr); } .team-heading { margin-bottom: 32px; } }
.team-bio p + p { margin-top: 0.75rem; }
.team-socials { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 1rem; }
