.team-hero {
  padding: 120px 5% 60px; background: var(--bg-tint); text-align: center;
}
.team-hero-inner { max-width: 700px; margin: 0 auto; }
.team-hero-tagline {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 0.82rem; font-weight: 600; color: var(--blue); margin-bottom: 20px;
}
.team-hero-desc { max-width: 600px; margin: 12px auto 0; }
.team-hero-contact {
  display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 32px;
}
.team-hero-phone {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 0.9rem; font-weight: 600; color: var(--text-mid); transition: color 0.2s;
}
.team-hero-phone:hover { color: var(--blue); }

.stats-bar {
  background: var(--blue); border-top: none; border-bottom: none;
  padding: 8px 0; text-align: center;
}
.stats-bar-inner {
  display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap;
  max-width: 1200px; margin: 0 auto; padding: 0 5%;
}
.stats-bar .stat-label { font-size: 1rem; font-weight: 600; color: #ffffff; line-height: 1; }
.stat-sep { color: #ffffff; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; line-height: 1; font-size: 1.2rem; vertical-align: middle; }

.team-section { padding: 60px 5%; }
.section-heading { text-align: center; margin-bottom: 32px; }
.team-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px;
  max-width: 1200px; margin: 0 auto;
}
.member-card { border-radius: var(--radius-lg); overflow: hidden; background: #fff; border: 1.5px solid var(--border); transition: all 0.28s; }
.member-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.member-card.founder { border-color: rgba(28,131,191,0.25); }
.member-card-photo { position: relative; aspect-ratio: 1; overflow: hidden; background: var(--bg-tint2); }
.member-card-photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(100%); transition: filter 0.3s; }
.member-card-photo.bg-extend { background: #e0e0e0; }
.member-card-photo.bg-extend img { object-fit: contain; object-position: center; }
.member-card:hover .member-card-photo img { filter: grayscale(100%); }
.member-overlay {
  position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.85), rgba(0,0,0,0.3));
  display: flex; flex-direction: column; justify-content: flex-end; padding: 20px;
  opacity: 0; transition: opacity 0.3s;
}
.member-card:hover .member-overlay { opacity: 1; }
.overlay-role { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--cyan); margin-bottom: 4px; }
.overlay-name { font-size: 1rem; font-weight: 700; color: #fff; margin-bottom: 8px; }
.overlay-bio { font-size: 0.8rem; color: #ffffff; line-height: 1.5; }
.overlay-link {
  display: inline-block; margin-top: 10px; font-size: 0.78rem; font-weight: 700;
  color: var(--cyan); text-decoration: none; transition: color 0.2s;
}
.overlay-link:hover { color: #fff; }
.member-card-body { padding: 14px 16px; }
.member-card-role { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--blue); }
.member-card-name { font-size: 0.92rem; font-weight: 700; color: var(--text); margin-top: 2px; }

.team-cta {
  padding: 60px 5%; background: var(--blue);
}
.team-cta h2 { color: #fff; }
.team-cta p { color: #ffffff; }
.team-cta-inner {
  max-width: 1200px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 40px;
}

@media (max-width: 1024px) { .team-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) {
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .team-cta-inner { flex-direction: column; text-align: center; }
  .team-cta-inner > div:last-child { align-items: center; }
}
@media (max-width: 480px) { .team-grid { grid-template-columns: 1fr 1fr; gap: 12px; } }

@media (max-width: 768px) {
  .member-overlay {
    opacity: 1;
    background: transparent;
    padding: 0;
    pointer-events: none;
  }
  .member-card:hover .member-overlay { opacity: 1; }
  .overlay-role,
  .overlay-name,
  .overlay-bio { display: none; }
  .overlay-link {
    position: absolute;
    inset: 0;
    margin: 0;
    font-size: 0;
    color: transparent;
    pointer-events: auto;
  }
}