.team-page { background: #090a0d; color: #f4f5f7; }
.team-hero { padding-top: clamp(8rem, 15vw, 12rem); padding-bottom: clamp(3rem, 6vw, 6rem); }
.team-hero h1 { max-width: 14ch; margin: 1rem 0 1.5rem; font-size: clamp(3rem, 8vw, 7rem); line-height: 1; letter-spacing: -.055em; }
.team-lede { max-width: 52rem; font-size: clamp(1.1rem, 2.1vw, 1.45rem); line-height: 1.65; color: #cdd1db; }
.team-directory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; padding-bottom: 4rem; }
.person-card { display: flex; flex-direction: column; gap: 1.2rem; padding: clamp(1.4rem, 3vw, 2.5rem); border: 1px solid #596273; border-top: 3px solid var(--accent, #d8ff4f); background: #101319; }
.person-card h2 { margin: 0; font-size: clamp(1.6rem, 3vw, 2.3rem); line-height: 1.2; }
.person-card p { margin: 0 0 1rem; color: #cdd1db; line-height: 1.7; }
.person-card a { margin-top: auto; font-weight: 800; text-underline-offset: .3em; }
.team-next, .profile-work { padding-block: 3.5rem; border-top: 1px solid #596273; }
.team-next h2, .profile-work h2 { max-width: 26ch; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.15; letter-spacing: -.035em; }
.team-next p, .profile-work p { max-width: 56rem; color: #cdd1db; line-height: 1.75; }
.team-next nav, .profile-work-links { display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; margin-block: 1.5rem; }
.team-next a, .profile-work a, .person-professional-link { text-decoration: underline; text-underline-offset: .3em; font-weight: 750; }
.profile-work-links a { display: inline-flex; padding: .8rem 1rem; border: 1px solid #647087; }
.team-breadcrumb { display: flex; flex-wrap: wrap; gap: .5rem; color: #cdd1db; font-size: .9rem; margin-bottom: 3rem; }
.team-page a:focus-visible, .team-page button:focus-visible { outline: 3px solid #d8ff4f; outline-offset: 5px; }
@media (max-width: 800px) { .team-directory { grid-template-columns: 1fr; } .team-hero { padding-top: 7rem; } }
@media (prefers-reduced-motion: reduce) { .team-page { scroll-behavior: auto; } }
.team-page .zyel-dot-field { display: none !important; }

.error-recovery { display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; margin-block: 2rem; }
.error-recovery a { padding: .7rem 1rem; min-height: 44px; border: 1px solid #647087; font-weight: 750; }
