.team-intro {
  display: grid;
  grid-template-columns: 1.5fr 0.8fr;
  gap: clamp(2rem, 7vw, 7rem);
  align-items: end;
  padding-block: clamp(3rem, 7vw, 6rem);
}
.team-intro h1 {
  margin-top: 1rem;
  font: 900 clamp(2.7rem, 5.4vw, 4.8rem) / 1.15 Orbitron, sans-serif;
  letter-spacing: -0.035em;
}
.team-intro h1 span { color: var(--gallery-cyan); }
.team-lead { margin-top: 1.7rem; max-width: 35rem; font-size: clamp(1.15rem, 1.6vw, 1.4rem); }
.team-intro-copy { margin-top: 1rem; max-width: 35rem; color: var(--gallery-muted); }
.team-directory { padding: 1.5rem; border: 1px solid var(--gallery-line); background: var(--gallery-panel); }
.team-directory nav { margin-top: 1rem; }
.team-directory nav a {
  display: grid;
  grid-template-columns: 4.5rem 1fr auto;
  gap: 0.7rem;
  padding-block: 0.8rem;
  border-bottom: 1px solid var(--gallery-line);
  text-decoration: none;
  color: var(--gallery-ink);
}
.team-directory nav a span:first-child { color: var(--gallery-cyan); font-family: ui-monospace, monospace; }
.team-directory nav a:hover { color: var(--gallery-cyan); }
.team-directory-note { margin-top: 1.3rem; color: var(--gallery-muted); font-size: 0.85rem; }
.team-section-heading { max-width: 50rem; }
.team-section-heading h2, .team-next h2 { margin-top: 0.7rem; font-size: clamp(1.65rem, 3vw, 2.4rem); }
.team-section-heading > p:last-child:not(:first-child) { margin-top: 1rem; color: var(--gallery-muted); }
.team-mentors { padding-bottom: 4.5rem; }
.team-mentor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 2rem; }
.team-mentor { padding: clamp(1.4rem, 3vw, 2.5rem); background: var(--gallery-panel); border: 1px solid var(--gallery-line); border-top: 3px solid var(--gallery-cyan); }
.team-mentor-discipline { color: var(--gallery-cyan); font: 0.8rem/1.5 ui-monospace, monospace; letter-spacing: 0.08em; text-transform: uppercase; }
.team-mentor h3 { margin-top: 0.9rem; font-size: 1.75rem; }
.team-mentor h3 span { display: block; margin-top: 0.3rem; color: var(--gallery-muted); font-size: 0.95rem; font-weight: 400; }
.team-mentor-role { margin-top: 0.7rem; font-weight: 600; }
.team-mentor-role + p { margin-top: 1rem; color: var(--gallery-muted); }
.team-source-links { display: flex; flex-wrap: wrap; gap: 0.6rem 1.3rem; margin-top: 1.5rem; font-size: 0.85rem; }
.team-history { padding-top: 3rem; border-top: 1px solid var(--gallery-line); }
.team-semester {
  display: grid;
  grid-template-columns: 14rem minmax(0, 1fr);
  gap: 2.5rem;
  padding-block: 3rem;
  border-bottom: 1px solid var(--gallery-line);
  scroll-margin-top: 1.5rem;
}
.team-year { color: var(--gallery-cyan); font: 700 2.4rem/1.2 Orbitron, sans-serif; }
.team-semester-heading h3 { margin-top: 0.8rem; font-size: 1.5rem; }
.team-semester-heading > p:not(:first-child) { margin-top: 1rem; color: var(--gallery-muted); }
.team-semester-heading a { display: inline-block; margin-top: 1.3rem; font-size: 0.85rem; }
.team-photo { min-width: 0; background: var(--gallery-panel); border: 1px solid var(--gallery-line); border-radius: 6px; overflow: hidden; }
.team-photo > a { display: block; background: #040b15; }
.team-photo img { width: 100%; height: auto; }
.team-photo a:focus-visible { outline-offset: -5px; }
.team-photo figcaption { padding: clamp(1rem, 2vw, 1.5rem); }
.team-photo figcaption > p + p { margin-top: 0.6rem; }
.team-photo figcaption > p:not(:first-child) { color: var(--gallery-muted); font-size: 0.95rem; }
.team-photo-label { color: var(--gallery-cyan); font-weight: 600; font-size: 0.85rem; }
.team-photo-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; align-items: start; }
.team-photo-small { max-width: 445px; }
.team-photo-small img { max-width: 445px; margin-inline: auto; }
.team-next { padding-block: 4rem; }
.team-next p:not(:first-child) { margin-top: 1rem; max-width: 43rem; color: var(--gallery-muted); }

/* Annual records reuse the sourced photo components without loading the gallery app. */
.archive-team-gallery {
  --gallery-cyan: var(--archive-cyan);
  --gallery-line: var(--archive-line);
  --gallery-panel: var(--archive-panel);
  --gallery-muted: rgba(255, 255, 255, 0.74);
  scroll-margin-top: 6rem;
}
.archive-team-context { max-width: 58rem; color: var(--gallery-muted); }
.archive-team-mentors { max-width: 58rem; line-height: 1.8; }
.archive-team-mentors a { color: var(--gallery-cyan); text-underline-offset: 0.2em; }
.archive-team-photo-grid { margin-block: 1.5rem 2rem; }
.archive-team-photo-grid .team-photo { margin-bottom: 0; }
.archive-team-photo-wide { margin-block: 1.5rem 2rem; }
.archive-team-gallery .team-photo > a:focus-visible { outline: 3px solid var(--gallery-cyan); }
.archive-team-gallery .team-photo img { display: block; }
.archive-team-gallery .team-photo figcaption { line-height: 1.65; }
.archive-team-gallery .team-photo figcaption p:last-child { margin-bottom: 0; }
.archive-team-gallery .team-photo-small { justify-self: center; width: 100%; }
@media (max-width: 900px) {
  .team-intro { grid-template-columns: 1fr; gap: 2.5rem; }
  .team-directory { max-width: 34rem; }
  .team-semester { grid-template-columns: 1fr; gap: 1.5rem; }
  .team-semester-heading { max-width: 33rem; }
}
@media (max-width: 600px) {
  .team-intro h1 { font-size: clamp(2.15rem, 8vw, 2.8rem); }
  .team-mentor-grid, .team-photo-pair { grid-template-columns: 1fr; }
  .team-photo-small { margin-inline: auto; }
  .team-year { font-size: 2rem; }
  .team-semester { padding-block: 2rem; }
}
