/* About team: owner-supplied names, roles and background. */
.team-section { border-top:1px solid var(--rule); }
.team-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:stretch; }
.team-card { display:flex; flex-direction:column; min-width:0; padding:30px; background:var(--white); border:1px solid var(--rule); border-top:3px solid var(--brand-blue); border-radius:var(--radius); }
.team-card__header { display:block; }
.team-card__header > div { min-width:0; }
.team-card h3 { margin:0 0 8px; font-size:clamp(1.4rem,2vw,1.65rem); line-height:1.2; }
.team-card__role { margin:0; min-height:2.8em; color:var(--brand-blue); font-size:1rem; line-height:1.4; font-weight:600; }
.team-card__intro { margin:24px 0 20px; min-height:3.2em; color:var(--muted); font-size:1rem; line-height:1.6; }
.team-profile { border-top:1px solid var(--rule); padding-top:14px; margin-top:auto; }
.team-profile > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; list-style:none; cursor:pointer; color:var(--brand-blue); min-height:44px; font-size:.95rem; font-weight:600; }
.team-profile > summary::-webkit-details-marker { display:none; }
.team-profile > summary span { font-family:var(--font-body); font-size:1.5rem; font-weight:400; line-height:1; }
.team-profile[open] > summary span { transform:rotate(45deg); }
.team-profile > summary:hover { color:var(--ink); }
.team-profile > summary:focus-visible { outline:2px solid var(--brand-blue); outline-offset:4px; border-radius:2px; }
.team-profile > p { margin:12px 0 0; color:var(--muted); font-size:1rem; line-height:1.7; }
@media (max-width:760px) {
  .team-grid { grid-template-columns:1fr; gap:20px; }
  .team-card { padding:24px; }
  .team-card__role, .team-card__intro { min-height:0; }
  .team-card__intro { margin-top:20px; }
}
@media (max-width:360px) {
  .team-card { padding:20px; }
}
