/* Team cards - grid, list and compact layouts with initials avatars. */
.tc { display: grid; gap: 16px; }
.tc-head { display: grid; gap: 2px; }
.tc-title { margin: 0; font-size: 1.22em; line-height: 1.25; font-weight: 750; letter-spacing: -.015em; color: var(--e-ink); overflow-wrap: anywhere; }
.tc-intro { margin: 0; font-size: .92em; color: var(--e-ink-2); overflow-wrap: anywhere; }
.tc-sec { display: grid; gap: 10px; }
.tc-sec-title { margin: 0; font-size: .78em; font-weight: 750; text-transform: uppercase; letter-spacing: .07em; color: var(--e-ink-3); display: flex; align-items: center; gap: 10px; }
.tc-sec-title::after { content: ""; flex: 1; height: 1px; background: var(--e-line); }
.tc-people { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.tc-person { min-width: 0; }
.tc-name { margin: 0; font-size: 1em; line-height: 1.3; font-weight: 700; color: var(--e-ink); overflow-wrap: anywhere; }
.tc-role { margin: 1px 0 0; font-size: .86em; font-weight: 600; color: var(--e-accent-fg); overflow-wrap: anywhere; }
.tc-bio { margin: 6px 0 0; font-size: .88em; line-height: 1.5; color: var(--e-ink-2); overflow-wrap: anywhere; }
.tc-text { min-width: 0; }

.tc-av { flex: none; width: 64px; height: 64px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--e-surface-2); }
.tc-av img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tc-ini { width: 100%; height: 100%; display: grid; place-items: center; font-weight: 750; font-size: 1.2em; letter-spacing: .01em; }
.tc-t0 .tc-ini { background: #e8ebfd; color: #3240a8; }
.tc-t1 .tc-ini { background: #efe8fd; color: #5b3cc4; }
.tc-t2 .tc-ini { background: #e3f4ec; color: #146b45; }
.tc-t3 .tc-ini { background: #fdeee4; color: #9a4a06; }
.tc-t4 .tc-ini { background: #e4f2f7; color: #0c5f7a; }
.tc-t5 .tc-ini { background: #fbe8ec; color: #a1283f; }
html[data-theme="dark"] .tc-t0 .tc-ini { background: #232c5a; color: #c3cbff; }
html[data-theme="dark"] .tc-t1 .tc-ini { background: #2e2557; color: #d6c8ff; }
html[data-theme="dark"] .tc-t2 .tc-ini { background: #183b2f; color: #9fe6c3; }
html[data-theme="dark"] .tc-t3 .tc-ini { background: #41301d; color: #fbd09a; }
html[data-theme="dark"] .tc-t4 .tc-ini { background: #183644; color: #a5ddf0; }
html[data-theme="dark"] .tc-t5 .tc-ini { background: #44212c; color: #f8b8c6; }
@media (prefers-color-scheme: dark) {
    html[data-theme="auto"] .tc-t0 .tc-ini { background: #232c5a; color: #c3cbff; }
    html[data-theme="auto"] .tc-t1 .tc-ini { background: #2e2557; color: #d6c8ff; }
    html[data-theme="auto"] .tc-t2 .tc-ini { background: #183b2f; color: #9fe6c3; }
    html[data-theme="auto"] .tc-t3 .tc-ini { background: #41301d; color: #fbd09a; }
    html[data-theme="auto"] .tc-t4 .tc-ini { background: #183644; color: #a5ddf0; }
    html[data-theme="auto"] .tc-t5 .tc-ini { background: #44212c; color: #f8b8c6; }
}

.tc-i { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.tc-link {
    display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 6px 14px; border-radius: 999px; text-decoration: none;
    font-size: .84em; font-weight: 650; color: var(--e-ink); background: var(--e-bg); border: 1px solid var(--e-line-strong);
    transition: border-color .15s var(--e-ease), color .15s var(--e-ease);
}
.tc-link:hover { border-color: var(--e-accent); color: var(--e-accent-fg); }

/* grid: cards, two columns from ~420px */
.tc-list-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 190px), 1fr)); gap: 12px; }
.tc-grid .tc-person {
    display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 18px 14px 16px;
    border-radius: calc(var(--e-radius) - 2px); border: 1px solid var(--e-line); background: var(--e-surface);
}
.tc-grid .tc-av { width: 84px; height: 84px; box-shadow: 0 0 0 4px var(--e-bg), 0 4px 14px rgba(16, 22, 43, .10); }
.tc-grid .tc-ini { font-size: 1.5em; }
.tc-grid .tc-link { margin-top: auto; }

/* list: avatar left, text right */
.tc-list .tc-people { gap: 0; }
.tc-list .tc-person { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 14px; row-gap: 8px; align-items: start; padding: 14px 2px; border-bottom: 1px solid var(--e-line); }
.tc-list .tc-person:last-child { border-bottom: 0; }
.tc-list .tc-link { grid-column: 2; justify-self: start; }

/* compact: small chips, two columns when there is room */
.tc-list-compact { grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 8px; }
.tc-compact .tc-person { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 14px; border: 1px solid var(--e-line); background: var(--e-surface); }
.tc-compact .tc-av { width: 44px; height: 44px; }
.tc-compact .tc-ini { font-size: .95em; }
.tc-compact .tc-text { flex: 1; }
.tc-compact .tc-name { font-size: .93em; }
.tc-compact .tc-role { font-size: .8em; }
.tc-compact .tc-link { padding: 0; width: 40px; justify-content: center; }

html[data-compact="1"] .tc { gap: 12px; }
html[data-compact="1"] .tc-grid .tc-person { padding: 12px 10px; }
html[data-compact="1"] .tc-grid .tc-av { width: 64px; height: 64px; }
