/* Team page — NSP administration-inspired layout with Silverstone branding */

.team-hero {
  min-height: 400px;
  display: flex;
  align-items: center;
}

.team-hero__bg {
  transform: scale(1.08);
  transition: transform 0.6s ease-out;
  will-change: transform;
}

.team-hero:hover .team-hero__bg {
  transform: scale(1.14);
}

.team-pulse-slow {
  animation: teamPulseSlow 4s ease-in-out infinite;
}

.team-animate-on-scroll {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.team-animate-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.team-fade-in-up {
  animation: teamFadeInUp 0.8s ease-out forwards;
  opacity: 0;
}

.team-delay-100 { animation-delay: 0.1s; }
.team-delay-200 { animation-delay: 0.2s; }

.team-management-card {
  opacity: 0;
  transform: translateY(50px) scale(0.96);
  transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.7s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.4s ease;
}

.team-management-card.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.team-management-card:hover {
  z-index: 10;
  transform: translateY(-4px) scale(1.03);
  box-shadow: 0 20px 48px rgba(46, 49, 146, 0.15);
}

.team-card-border {
  border-color: transparent;
  transition: border-color 0.4s ease;
}

.team-management-card:hover .team-card-border {
  border-color: var(--card-accent);
}

.team-member-name {
  transition: color 0.3s ease;
}

.team-management-card:hover .team-member-name {
  color: var(--card-accent-dark);
}

.team-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
  background: color-mix(in srgb, var(--card-accent) 20%, white);
  color: var(--card-accent-dark);
  transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.team-social-link:hover {
  background: var(--card-accent-dark);
  color: #fff;
  transform: scale(1.1) rotate(8deg);
}

.team-staff-card {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.6s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.4s ease;
}

.team-staff-card.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.team-staff-card:hover {
  transform: translateY(-4px) scale(1.03);
  box-shadow: 0 16px 40px rgba(46, 49, 146, 0.12);
}

.team-management-card[data-index="0"] { transition-delay: 0s; }
.team-management-card[data-index="1"] { transition-delay: 0.08s; }
.team-management-card[data-index="2"] { transition-delay: 0.16s; }
.team-management-card[data-index="3"] { transition-delay: 0.24s; }
.team-management-card[data-index="4"] { transition-delay: 0.32s; }
.team-management-card[data-index="5"] { transition-delay: 0.4s; }

@keyframes teamFadeInUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes teamPulseSlow {
  0%, 100% { opacity: 0.15; transform: scale(1); }
  50% { opacity: 0.28; transform: scale(1.06); }
}

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
