/* TEAM CARDS */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,200px));gap:18px;justify-content:center}
.tcard{max-width:200px;width:100%;margin:0 auto;border-radius:var(--rl);border:1px solid var(--bdr);background:var(--bg);overflow:hidden;transition:transform 0.28s,box-shadow 0.28s}
.tcard:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(40,70,10,0.09)}
.tphoto{width:100%;aspect-ratio:1;overflow:hidden;border-bottom:1px solid var(--bdr);background:var(--g50);display:flex;align-items:center;justify-content:center}
.tphoto img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform 0.4s}
.tcard:hover .tphoto img{transform:scale(1.04)}
.tphoto-ph{width:100%;aspect-ratio:1;background:var(--g50);display:flex;align-items:center;justify-content:center}
.tphoto-ph svg{width:48px;height:48px;opacity:0.2;stroke:var(--g700)}
.tinfo{padding:16px}
.tname{font-family:var(--fd);font-size:1.1rem;font-weight:700;color:var(--t1)}
.trole{font-size:0.75rem;color:var(--g700);letter-spacing:1px;text-transform:uppercase;margin:3px 0 6px;font-family:var(--fm)}
.tdesc{font-size:0.88rem;color:var(--tm);line-height:1.75}
.tcard-sections{margin-top:12px;padding-top:10px;border-top:1px solid var(--bdr);display:flex;flex-direction:column;gap:10px}
.tcard-section{display:flex;flex-direction:column;gap:4px}
.tcard-label{font-family:var(--fm);font-size:0.625rem;font-weight:600;color:var(--g700);letter-spacing:1px;text-transform:uppercase}
.tcard-list{list-style:none;padding-left:0;margin:0;display:flex;flex-direction:column;gap:4px}
.tcard-list li{font-size:0.78rem;color:var(--t2);line-height:1.5;position:relative;padding-left:10px}
.tcard-list li::before{content:'•';position:absolute;left:0;color:var(--a600)}
.tcard-link{color:var(--g700);text-decoration:none;font-weight:500;transition:color 0.2s}
.tcard-link:hover{color:var(--g800);text-decoration:underline}
.tcard-text-muted{color:var(--tm);font-style:italic}
.team-section-label{font-family:var(--fm);font-size:0.78rem;color:var(--a700);letter-spacing:2px;text-transform:uppercase;margin:32px 0 16px;padding:8px 0;border-bottom:1.5px solid var(--a200);display:flex;align-items:center;gap:8px}
.team-section-label::before{content:'';width:14px;height:1.5px;background:var(--a600)}
.intern-list{display:flex;flex-wrap:wrap;gap:10px}
.intern-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:100px;border:1px solid var(--bdr);background:var(--white);font-size:0.9rem;color:var(--t2)}
.intern-chip span{font-size:0.78rem;color:var(--tm)}
.alumni-year-block{margin-top:24px}
.alumni-year-label{font-family:var(--fm);font-size:0.78rem;color:var(--g700);font-weight:600;margin-bottom:10px;padding:4px 0;border-bottom:1px solid var(--bdr)}
.alumni-list{display:flex;flex-direction:column;gap:6px}
.alumni-item{padding:8px 12px;border-radius:6px;border:1px solid var(--bdr);background:var(--white);font-size:0.88rem;color:var(--t2)}



/* GROUP PHOTO SECTION */
.group-photo-section {
  background: var(--bg);
  padding: 80px 8% 80px 8%;
  position: relative;
  overflow: hidden;
}
#vibeCanvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: auto;
}
.group-photo-card {
  max-width: 1000px;
  margin: 0 auto;
  background: var(--bg-card);
  border: 1px solid var(--bdr);
  border-radius: var(--rl);
  padding: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  z-index: 2;
}
.group-photo-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}
.group-photo-img-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: var(--r);
  line-height: 0;
}
.group-photo-img {
  width: 100%;
  height: auto;
  border-radius: var(--r);
  transition: transform 0.5s ease;
}
.group-photo-card:hover .group-photo-img {
  transform: scale(1.01);
}
.group-photo-caption {
  font-family: var(--fd);
  font-size:1rem;
  font-weight: 500;
  color: var(--a700);
  margin-top: 16px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  text-align: center;
}
[data-theme="dark"] .group-photo-card {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}
[data-theme="dark"] .group-photo-caption {
  color: var(--a400);
}
@media (max-width: 768px) {
  .group-photo-section {
    padding: 40px 4% 40px 4%;
  }
  .group-photo-card {
    padding: 10px;
  }
  .group-photo-caption {
    font-size:0.875rem;
    margin-top: 12px;
  }
}

