/* ============================================================================
 * Vol 60 — Team sections (location pages). Standalone sheet: keeps the
 * Vol 58 enhance.css block untouched and avoids re-hashing the main CSS.
 * tm-* namespace to avoid qs-001..107 collisions. Tokens from :root.
 * ========================================================================== */
.tm-grid{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:26px}
.tm-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:box-shadow .35s var(--ease),transform .35s var(--ease)}
.tm-card:hover{box-shadow:0 22px 46px -28px rgba(12,34,52,.45);transform:translateY(-3px)}
.tm-photo{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.tm-body{padding:18px 20px 22px}
.tm-name{margin:0;font-size:1.14rem;line-height:1.15;letter-spacing:-.01em;color:var(--ink)}
.tm-role{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-top:7px}
.tm-bio{color:var(--muted);font-size:.95rem;line-height:1.55;margin:12px 0 0}
@media (max-width:560px){.tm-grid{grid-template-columns:1fr 1fr;gap:14px}.tm-body{padding:12px 14px 16px}.tm-name{font-size:1rem}.tm-bio{font-size:.88rem}}
@media (prefers-reduced-motion:reduce){.tm-card{transition:none}.tm-card:hover{transform:none}}
