.team-intro { padding: 130px 0 48px; border-bottom: 1px solid var(--border); }
.team-page h1, .team-page h2, .team-page h3 { font-family: 'Source Sans 3', Arial, sans-serif; color: var(--primary); letter-spacing: 0; }
.team-page h1 { font-size: 44px; line-height: 1.15; margin: 12px 0 18px; }
.team-page h2 { font-size: 32px; line-height: 1.2; margin-bottom: 18px; }
.team-page h3 { font-size: 23px; line-height: 1.3; margin-bottom: 12px; }
.team-page p { max-width: 800px; color: #626c7a; line-height: 1.7; margin-bottom: 18px; }
.team-page .team-lead { font-size: 23px; color: var(--primary); }
.team-sections { display: flex; flex-wrap: wrap; gap: 12px 30px; margin-top: 28px; }
.team-photo { display: block; width: 100%; max-width: 900px; height: auto; margin: 28px 0; }
.team-sections a { padding: 10px 0; color: var(--primary); text-decoration: underline; text-underline-offset: 5px; }
.team-band { padding: 48px 0; border-bottom: 1px solid var(--border); scroll-margin-top: 100px; }
.team-band:nth-of-type(even) { background: #faf7fc; }
.team-roles { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px 48px; }
.team-roles article { border-top: 1px solid var(--border); padding-top: 20px; }
@media (max-width: 600px) { .team-intro { padding: 105px 0 32px; } .team-page h1 { font-size: 36px; } .team-page h2 { font-size: 28px; } .team-band { padding: 36px 0; } .team-roles { grid-template-columns: minmax(0,1fr); } }
