/* NurseVerdict -- team pages (Step U8): /team, /team/{slug} and the founder and reviewer blocks on /about.
   Uses the site's own colour variables, so dark and high-contrast themes need nothing extra. */
.tm-wrap{max-width:1000px; margin:0 auto; padding:20px 24px 80px;}
.tm-h1{font-family:var(--font-display); font-size:clamp(1.7rem,4vw,2.3rem); margin:8px 0 10px; line-height:1.25;}
.tm-lead{color:var(--muted); max-width:640px; margin:0 0 28px; line-height:1.65;}
.tm-lead a, .tm-article a, .tm-empty a{color:var(--maroon-ink);}
.tm-group{margin:0 0 34px;}
.tm-group h2{font-family:var(--font-display); font-size:1.2rem; margin:0 0 14px;}
.tm-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:16px;}
.tm-card{position:relative; display:flex; gap:14px; align-items:flex-start; background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:16px;}
.tm-card:hover{border-color:var(--maroon-ink);}
.tm-card .tm-name{margin:0 0 4px; font-size:1rem; font-family:var(--font-ui);}
.tm-card .tm-name a{color:var(--ink); text-decoration:none;}
.tm-card .tm-name a::after{content:""; position:absolute; inset:0; border-radius:12px;}
.tm-card .tm-name a:focus-visible{outline:none;}
.tm-card .tm-name a:focus-visible::after{outline:3px solid var(--maroon-ink); outline-offset:2px;}
.tm-cred{color:var(--maroon-ink); font-weight:600; font-size:.82rem; margin:0 0 4px;}
.tm-line{margin:0 0 2px; font-size:.84rem; color:var(--muted);}
.tm-expertise{margin:6px 0 0; font-size:.8rem; color:var(--muted);}
.tm-avatar, .tm-avatar-lg{flex:0 0 auto; border-radius:50%; background:var(--section-bg); color:var(--maroon-ink); display:flex; align-items:center; justify-content:center; font-weight:700; object-fit:cover;}
.tm-avatar{width:56px; height:56px; font-size:1.05rem;}
.tm-avatar-lg{width:96px; height:96px; font-size:1.6rem;}
.tm-photo{object-fit:cover;}
.tm-empty, .tm-loading{color:var(--muted); font-size:.92rem; line-height:1.6;}

.tm-article{max-width:760px; margin:0 auto; padding:20px 24px 80px;}
.tm-ph{display:flex; gap:22px; align-items:flex-start; flex-wrap:wrap; margin:0 0 26px;}
.tm-ph h1{font-family:var(--font-display); font-size:clamp(1.5rem,4vw,2rem); margin:0 0 8px; line-height:1.25;}
.tm-desig{font-weight:600; color:var(--ink);}
.tm-roles{display:flex; gap:6px; flex-wrap:wrap; margin:10px 0 0;}
.tm-sec{margin:0 0 26px;}
.tm-sec h2{font-family:var(--font-display); font-size:1.15rem; margin:0 0 10px;}
.tm-sec p{margin:0 0 10px; line-height:1.7;}
.tm-plain{margin:0; padding-left:20px; line-height:1.7;}
.tm-list{list-style:none; margin:0; padding:0;}
.tm-list li{padding:10px 0; border-top:1px solid var(--line);}
.tm-list li:first-child{border-top:0;}
.tm-list a{color:var(--maroon-ink); font-weight:600; text-decoration:none;}
.tm-list a:hover{text-decoration:underline;}
.tm-meta{display:block; font-size:.78rem; color:var(--muted); margin-top:2px;}
.tm-notice{background:var(--gold-bg); color:var(--gold-ink); padding:12px 16px; border-radius:8px; font-size:.88rem; font-weight:600; margin:0 0 22px; line-height:1.5;}
.tm-notfound{text-align:center; padding:60px 20px;}
.tm-notfound h1{font-family:var(--font-display); font-size:1.6rem;}
.tm-notfound p{color:var(--muted); max-width:420px; margin:12px auto 24px;}

/* about.html: the founder card reuses .author-hero / .avatar-lg; these only add what it lacks */
.tm-founder{padding:20px 0 0;}
.tm-founder-name{font-family:var(--font-display); font-size:1.3rem; margin:0 0 6px;}
.tm-founder-name a{color:inherit; text-decoration:none;}
.tm-founder-name a:hover{text-decoration:underline;}
.tm-founder .tm-line{margin:0 0 4px; font-size:.9rem;}
.author-hero img.avatar-lg{object-fit:cover; display:block;}
#aboutReviewers .tm-grid{margin:6px 0 10px;}
