/* Compact, source-backed team. The heart contains each profile exactly once. */
#human-team { padding:64px 0; }
#human-team .unified-team-heading { max-width:760px; margin-bottom:36px; }
#human-team .unified-team-heading h2 { font-size:clamp(30px,3.4vw,40px); }
#human-team .unified-team-heading .section-desc { font-size:17px; }
.tm-heart { display:none; }
.tm-heart-outline { display:none; }
.tm-profiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.tm-profile { min-width:0; padding:28px; border:1px solid #e5e7eb; border-radius:18px; background:white; }
.tm-profile[hidden] { display:none; }
.tm-profile-head { display:flex; align-items:flex-start; flex-direction:column; gap:20px; }
.tm-profile-head > img { width:88px; height:88px; border-radius:16px; object-fit:cover; background:#f4f4f4; }
.tm-profile-type { display:inline-block; margin-bottom:10px; color:#666; font-size:11px; font-weight:500; border:1px solid #e5e5e5; border-radius:999px; padding:4px 9px; line-height:1; }
.tm-profile h3 { margin:0 0 10px; color:var(--text-primary); font-size:23px; font-weight:500; line-height:1.25; letter-spacing:-.4px; }
.tm-role { margin:0; font-size:14px; line-height:1.55; color:var(--text-secondary); }
.tm-bio { font-size:14px; line-height:1.65; margin:18px 0 0; color:var(--text-secondary); }
.tm-profile-link { display:inline-flex; align-items:center; gap:16px; margin-top:24px; color:#a64200; font-size:13px; font-weight:500; text-decoration:underline; text-underline-offset:4px; }
.tm-profile-link:focus-visible { outline:2px solid var(--orange); outline-offset:5px; }
.tm-caption { margin:42px 0 0; color:var(--text-secondary); font-size:12px; line-height:1.7; text-align:center; }
.tm-caption strong { color:var(--text-primary); font-weight:500; }
.tm-instruction { display:none; }
.team-mosaic-ready .tm-instruction { display:block; }
.team-mosaic-ready .tm-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(280px,.9fr); align-items:center; gap:60px; max-width:960px; margin:0 auto; }
.team-mosaic-ready .tm-profiles { display:block; }
.team-mosaic-ready .tm-mosaic { min-width:0; padding-top:26px; }
.team-mosaic-ready .tm-profile { min-height:360px; box-shadow:0 12px 32px #00000004; }
.team-mosaic-ready .tm-heart { --tm-size:72px; --tm-gap:8px; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:repeat(5,var(--tm-size)); column-gap:calc(var(--tm-gap)/2); row-gap:var(--tm-gap); width:100%; max-width:472px; margin:0 auto; position:relative; isolation:isolate; }
.team-mosaic-ready .tm-heart-outline { display:block; position:absolute; z-index:-1; left:-12px; top:-24px; width:calc(100% + 24px); height:calc(100% + 54px); overflow:visible; pointer-events:none; }
.tm-heart-outline path { fill:#fff8f2; stroke:#edc4a5; stroke-width:2; vector-effect:non-scaling-stroke; }
.tm-portrait { grid-column:var(--tm-col) / span 2; grid-row:var(--tm-row); position:relative; display:block; min-width:0; padding:0; border:0; border-radius:8px; background:#f4f4f4; cursor:pointer; box-shadow:0 0 0 1px #00000008; }
.tm-portrait > img { display:block; width:100%; height:100%; object-fit:cover; border-radius:8px; }
.tm-type { position:absolute; right:3px; bottom:3px; border-radius:4px; background:#fff; color:#444; font:500 8px/1 Rubik,Arial,sans-serif; padding:3px 4px; box-shadow:0 1px 4px #0001; }
.tm-type[data-type="AI"] { background:#171717; color:#fff; }
.tm-portrait[aria-pressed="true"] { outline:3px solid var(--orange); outline-offset:3px; z-index:1; }
.tm-portrait:focus-visible { outline:3px solid #171717; outline-offset:3px; z-index:2; }
.tm-portrait:hover > img { filter:brightness(1.04); }
@media(max-width:1000px) {
 .team-mosaic-ready .tm-layout { gap:32px; grid-template-columns:minmax(0,1.2fr) minmax(260px,.9fr); }
 .team-mosaic-ready .tm-heart { --tm-size:64px; }
}
@media(max-width:760px) {
 #human-team { padding:48px 0; }
 #human-team .unified-team-heading { margin-bottom:28px; }
 #human-team .unified-team-heading .section-desc { font-size:15px; }
 .team-mosaic-ready .tm-layout { grid-template-columns:minmax(0,1fr); gap:24px; max-width:472px; }
 .team-mosaic-ready .tm-heart { --tm-size:clamp(44px,13vw,64px); --tm-gap:6px; max-width:420px; }
 .tm-profiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .team-mosaic-ready .tm-profile { min-height:0; padding:22px; }
 .tm-profile-head { flex-direction:row; gap:18px; }
 .tm-profile-head > img { width:64px; height:64px; flex-shrink:0; border-radius:12px; }
 .tm-profile h3 { font-size:20px; margin-bottom:8px; }
 .tm-profile-type { font-size:10px; margin-bottom:8px; }
 .tm-role { font-size:13px; }
 .tm-bio { margin-top:16px; font-size:13px; }
 .tm-profile-link { margin-top:18px; }
 .tm-caption { margin-top:40px; font-size:11px; }
 .tm-type { font-size:7px; padding:3px; right:2px; bottom:2px; }
}
@media(max-width:380px) {
 .team-mosaic-ready .tm-heart { --tm-gap:4px; }
 .tm-profile { padding:18px; }
 .tm-profile-head { gap:14px; }
 .tm-profiles { grid-template-columns:1fr; }
}
