/* Team: portraits in one sharp grid on paper; the biography opens on demand */
.team-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 44px 28px; }
.person { display: grid; gap: 16px; align-content: start; scroll-margin-top: 100px; }
.person__photo { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; background: var(--paper-2); }
.person__photo img { width: 100%; height: 100%; object-fit: cover; }
.person__photo--none { display: flex; align-items: flex-end; padding: 18px; background: var(--brand); color: var(--text); font-style: italic; font-weight: 800; font-stretch: 115%; font-size: 3rem; line-height: 1; }
.person__text { display: grid; gap: 6px; align-content: start; }
.person__name { font-size: clamp(1.35rem, 2vw, 1.6rem); }
.person__role { font-weight: 600; color: var(--brand); }
.person__summary { color: var(--ink-2); }
.person__bio { border-top: 1px solid var(--ink-line); margin-top: 6px; }
.person__bio summary { cursor: pointer; list-style: none; padding: 10px 0; font-weight: 700; font-style: italic; display: flex; justify-content: space-between; }
.person__bio summary::-webkit-details-marker { display: none; }
.person__bio summary::after { content: "+"; font-style: normal; color: var(--brand); }
.person__bio[open] summary::after { content: "\2212"; }
.person__bio p { color: var(--ink-2); }
.person__bio p + p { margin-top: .7em; }
.person__email { margin-top: 6px; }
.team-empty { color: var(--ink-2); font-size: 1.1rem; }
