.team-grid {
  display: grid;
  gap: clamp(1.5rem, 3vw, 2.5rem) clamp(1rem, 2.5vw, 2rem);
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
}

.member { display: grid; gap: var(--space-4); align-content: start; }

.member__media {
  position: relative;
  overflow: hidden;
  border-radius: var(--r-md);
  aspect-ratio: 3 / 4;
  background: var(--surface-2);
}
.member__media img {
  width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(1) contrast(1.02);
  transition: transform 900ms var(--ease-out), filter var(--dur-slow) var(--ease);
}
.member:hover .member__media img { transform: scale(1.05); filter: grayscale(0); }

/* Slide-up bio panel */
.member__peek {
  position: absolute;
  inset: auto 0 0 0;
  padding: var(--space-4);
  background: color-mix(in srgb, var(--bg) 92%, transparent);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--line);
  transform: translateY(101%);
  transition: transform var(--dur) var(--ease-out);
  font-size: var(--fs-xs);
  color: var(--text-muted);
  line-height: 1.55;
}
.member:hover .member__peek,
.member:focus-within .member__peek { transform: translateY(0); }

.member__name { font-family: var(--font-display); font-size: var(--fs-lg); letter-spacing: -0.02em; }
.member__role { font-size: var(--fs-sm); color: var(--text-muted); margin-top: .1rem; }
.member__links { display: flex; gap: var(--space-3); margin-top: var(--space-2); }
.member__links a {
  font-size: var(--fs-xs); color: var(--text-muted);
  border-bottom: 1px solid var(--line);
  transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
}
.member__links a:hover { color: var(--accent); border-color: var(--accent); }

/* ---- Leadership feature -------------------------------------------------- */
.leaders { display: grid; gap: var(--space-7); }
@media (min-width: 900px) { .leaders { grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,4.5rem); } }

.leader {
  display: grid;
  gap: var(--space-5);
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--surface);
  transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease-out);
}
.leader:hover { border-color: var(--line-strong); box-shadow: var(--shadow-md); transform: translateY(-3px); }
.leader__top { display: flex; gap: var(--space-4); align-items: center; }
.leader__avatar { width: 76px; height: 76px; border-radius: 50%; overflow: hidden; flex: none; background: var(--surface-2); }
.leader__avatar img { width: 100%; height: 100%; object-fit: cover; }
.leader blockquote {
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  line-height: 1.4;
  letter-spacing: -0.015em;
}
.leader p { font-size: var(--fs-sm); color: var(--text-muted); }

/* ---- Culture strip ------------------------------------------------------- */
.culture-grid { display: grid; gap: clamp(.75rem, 2vw, 1.25rem); grid-template-columns: repeat(auto-fit, minmax(min(100%,200px), 1fr)); }
.culture-grid figure { border-radius: var(--r-md); overflow: hidden; aspect-ratio: 1/1; background: var(--surface-2); }
.culture-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms var(--ease-out); }
.culture-grid figure:hover img { transform: scale(1.06); }

/* ---- Open roles ---------------------------------------------------------- */
.roles { border-top: 1px solid var(--line); }
.role {
  display: grid; gap: var(--space-2);
  padding-block: var(--space-5);
  border-bottom: 1px solid var(--line);
  transition: padding-left var(--dur) var(--ease-out);
}
@media (min-width: 720px) {
  .role { grid-template-columns: 1.3fr 1fr 1fr auto; align-items: center; gap: var(--space-5); }
  .role:hover { padding-left: var(--space-3); }
}
.role h3 { font-size: var(--fs-md); font-family: var(--font-body); font-weight: 500; letter-spacing: 0; }
.role span { font-size: var(--fs-sm); color: var(--text-muted); }
