/* Individual team member profile pages */

.tm-hero{
  display:flex;
  align-items:center;
  gap:clamp(24px,5vw,56px);
  max-width:960px;
  margin:0 auto;
  padding:clamp(44px,7vw,72px) clamp(20px,4vw,64px) clamp(28px,4vw,36px);
}

.tm-photo-wrap{
  flex:0 0 auto;
  width:clamp(140px,20vw,220px);
  height:clamp(140px,20vw,220px);
  border-radius:50%;
  overflow:hidden;
  border:2px solid var(--line);
  box-shadow:0 24px 48px rgba(0,0,0,.4);
  background:var(--card);
}

.tm-photo-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.tm-hero-copy{flex:1 1 auto;min-width:0}

.tm-office{display:block;margin-bottom:10px}

.tm-hero-copy h1{margin:0 0 6px;font-size:clamp(30px,5.4vw,54px);line-height:1.02}

.tm-role{
  color:var(--g);
  font-weight:700;
  font-size:14px;
  letter-spacing:.02em;
  margin:0 0 20px;
}

.tm-contact-row{display:flex;gap:10px;flex-wrap:wrap}

.tm-main{
  max-width:760px;
  margin:0 auto;
  padding:0 clamp(20px,4vw,64px) clamp(40px,6vw,64px);
}

.tm-bio p{
  color:var(--muted);
  line-height:1.8;
  margin:0 0 20px;
  max-width:66ch;
}

.tm-bio p:last-child{margin-bottom:0}

.tm-bio ul{
  color:var(--muted);
  line-height:1.8;
  margin:-4px 0 20px;
  padding-left:22px;
  max-width:66ch;
}

.tm-bio li{margin-bottom:2px}

.tm-gallery{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:36px 0;
}

.tm-gallery figure{margin:0}

.tm-gallery img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:16px;
  border:1px solid var(--line);
  display:block;
}

.tm-gallery figcaption{
  margin-top:8px;
  font-size:12px;
  color:var(--muted);
  letter-spacing:.02em;
}

.tm-back{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:8px;
  color:var(--muted);
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  transition:color .2s ease;
}

.tm-back:hover{color:var(--text)}

@media (max-width:700px){
  .tm-hero{
    flex-direction:column;
    text-align:center;
    padding-top:clamp(36px,8vw,56px);
  }
  .tm-hero-copy{text-align:center}
  .tm-contact-row{justify-content:center}
  .tm-gallery{grid-template-columns:1fr}
}
