/* ==========================================================================
   OUR TEAM — homepage section
   Built on the site's existing design tokens (--gradient-brand, --card-bg,
   --glass-border, --radius-lg, etc. from assets/css/style.css).
   No new palette introduced — extends the same "network pulse" language.
   ========================================================================== */

.team-card{
  position: relative;
  text-align: center;
  overflow: hidden;
  height: 100%;
}
.team-card::before{
  content:"";
  position:absolute; inset:0;
  background: var(--gradient-mesh);
  opacity:.5;
  pointer-events:none;
}

.team-photo-wrap{
  position: relative;
  width: 104px; height: 104px;
  margin: 0 auto 1.1rem;
  z-index: 1;
}
.team-photo-ring{
  position:absolute; inset:-5px;
  border-radius:50%;
  background: var(--gradient-brand);
  opacity:.4;
  filter: blur(7px);
}
.team-photo{
  position: relative;
  width:104px; height:104px;
  border-radius:50%;
  object-fit:cover;
  border:2px solid var(--glass-border);
  background: var(--card-bg);
  z-index:1;
}
.team-photo-fallback{
  position: relative;
  width:104px; height:104px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:700; font-size:2rem;
  color:#fff;
  background: var(--gradient-brand);
  border:2px solid var(--glass-border);
  z-index:1;
}

.team-name{
  position:relative; z-index:1;
  font-size:1.15rem; margin-bottom:.2rem;
}
.team-role{
  position:relative; z-index:1;
  font-family: var(--font-mono);
  font-size:.78rem; letter-spacing:.06em; text-transform:uppercase;
  background: var(--gradient-text);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  margin-bottom:.85rem; display:block;
}
.team-bio{
  position:relative; z-index:1;
  color: var(--text-muted);
  font-size:.92rem; line-height:1.6;
  margin-bottom:1.25rem;
  min-height: 1.6em;
}

.team-socials{
  position:relative; z-index:1;
  display:flex; align-items:center; justify-content:center; gap:.6rem;
}
.team-socials a{
  width:36px; height:36px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background: var(--input-bg);
  border:1px solid var(--border-soft);
  color: var(--text-muted);
  transition: var(--transition);
}
.team-socials a:hover{
  background: var(--gradient-brand);
  color:#fff;
  border-color: transparent;
  transform: translateY(-3px);
}

.team-empty-note{
  text-align:center;
  color: var(--text-soft);
  padding: 2rem 0;
}

@media (max-width:576px){
  .team-photo, .team-photo-fallback, .team-photo-wrap{ width:84px; height:84px; }
}
