/* Team cards (owner, 2 Nov 2026): one look for every page that lists the live
   team, built by team-cards.js. Used by /instructors and the automatic-lessons
   page. Photo left, facts as chips under the name, bio trimmed with "Read more";
   stacked on a phone. The old stacked card was ~1,290px tall and its stretched
   bio left a blank band above the facts on short bios (owner chose option B of three). */
.team-grid.team-b { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; max-width:72rem; margin-inline:auto; }
.team-b .team-fallback { grid-column:1/-1; text-align:center; color:#5C5246; max-width:40rem; margin:0 auto; line-height:1.6; }
.team-b .tb-card { background:#fff; border-radius:1rem; box-shadow:0 4px 24px rgba(22,18,13,0.08); display:grid; grid-template-columns:38% minmax(0,1fr); overflow:hidden; min-height:22rem; }
.team-b .tb-card:hover { transform:translateY(-4px); box-shadow:0 20px 44px rgba(22,18,13,0.14); }
.tb-photo { position:relative; background:#2A231B; overflow:hidden; }
.tb-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 18%; }
.tb-photo .inst-initials { position:absolute; inset:0; aspect-ratio:auto; height:100%; font-size:56px; }
.tb-body { padding:1.4rem 1.5rem; display:flex; flex-direction:column; gap:.75rem; min-width:0; }
.tb-role { color:#C5341E; font-weight:700; font-size:.8125rem; margin-top:.15rem; line-height:1.4; }
.tb-chips { display:flex; flex-wrap:wrap; gap:.375rem; }
.tb-chip { display:inline-flex; align-items:center; gap:.3rem; background:#F7F4EF; border:1px solid #E5E1DA; border-radius:9999px; padding:.3rem .65rem; font-size:.78rem; font-weight:700; color:#16120D; line-height:1.2; }
.tb-chip .material-symbols-outlined { font-size:15px; color:#C5341E; font-variation-settings:'FILL' 1; }
.tb-chip.tb-dark { background:#16120D; border-color:#16120D; color:#fff; }
.tb-chip.tb-dark .material-symbols-outlined { color:#E4857A; }
.tb-bio { font-size:.9rem; line-height:1.65; color:#374151; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:5; overflow:hidden; }
.tb-open .tb-bio { display:block; -webkit-line-clamp:unset; }
.tb-more { align-self:flex-start; background:none; border:0; padding:0; color:#C5341E; font-weight:700; font-size:.8125rem; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.tb-covers { margin-top:auto; font-size:.78rem; color:#6B6358; line-height:1.5; }
@media (max-width: 900px) { .team-grid.team-b { grid-template-columns:minmax(0,1fr); max-width:42rem; } }
@media (max-width: 560px) { .team-b .tb-card { grid-template-columns:minmax(0,1fr); } .tb-photo { height:20rem; } }
/* Initials stand in until an instructor uploads a photo — a broken image
   frame on the public team page is worse than a clean monogram. */
.inst-initials { width:100%; aspect-ratio:3/4; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(160deg,#2A231B,#16120D); color:#F7F4EF;
  font-family:'Archivo',system-ui,sans-serif; font-weight:800; font-size:64px; letter-spacing:.04em; }
.instructor-card { transition: transform 0.35s ease, box-shadow 0.35s ease; }
