.team-intro {
  padding: clamp(48px, 7vw, 84px) 0 clamp(36px, 5vw, 56px);
  background: linear-gradient(120deg, var(--ci-cream), #f9f9f9 64%, #e9f1ed);
}
.team-intro .section-kicker { margin-bottom: 12px; }
.team-intro h1 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: clamp(38px, 5vw, 64px);
  line-height: 1.23;
  font-weight: 600;
}
.team-intro-subtitle {
  margin: 0;
  color: var(--cyan);
  font-size: clamp(26px, 3.4vw, 42px);
  line-height: 1.3;
  font-weight: 600;
}
.team-section {
  padding: clamp(48px, 6vw, 84px) 0 clamp(70px, 8vw, 112px);
  background: #f6f8f5;
}
.team-layout { display: grid; gap: clamp(22px, 3vw, 38px); }
.team-row { display: flex; justify-content: center; align-items: flex-start; gap: clamp(18px, 2.5vw, 32px); }
.team-card {
  position: relative;
  isolation: isolate;
  flex: 0 1 300px;
  min-width: 0;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: 25px;
  background: #6a9293;
  box-shadow: 0 16px 38px rgba(26, 61, 73, .14);
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease;
}
.team-row-single .team-card { flex-basis: 330px; }
.team-card > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.team-card-info {
  position: absolute;
  right: 14px;
  bottom: 14px;
  left: 14px;
  padding: 14px 15px;
  border: 1px solid rgba(255, 255, 255, .48);
  border-radius: 21px;
  background: rgba(249, 249, 249, .46);
  box-shadow: 0 8px 25px rgba(13, 24, 41, .11);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  text-align: center;
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.team-card-info h2 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(17px, 1.65vw, 23px);
  line-height: 1.4;
  font-weight: 700;
}
.team-card-info a {
  display: block;
  max-height: 0;
  margin-top: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  color: var(--cyan);
  font-size: 14px;
  font-weight: 600;
  overflow-wrap: anywhere;
  transition: max-height .25s ease, margin-top .25s ease, opacity .2s ease, visibility .2s ease;
}
.team-card:focus-within, .team-card.is-open {
  transform: translateY(-4px);
  box-shadow: 0 22px 42px rgba(26, 61, 73, .22);
}
.team-card:focus-within .team-card-info,
.team-card.is-open .team-card-info {
  transform: translateY(-6px);
  background: rgba(249, 249, 249, .74);
  box-shadow: 0 12px 30px rgba(13, 24, 41, .17);
}
.team-card:focus-within .team-card-info a,
.team-card.is-open .team-card-info a {
  max-height: 50px;
  margin-top: 6px;
  opacity: 1;
  visibility: visible;
}
.team-card-info a:hover { text-decoration: underline; }
@media (hover: hover) {
  .team-card:hover { transform: translateY(-4px); box-shadow: 0 22px 42px rgba(26, 61, 73, .22); }
  .team-card:hover .team-card-info {
    transform: translateY(-6px);
    background: rgba(249, 249, 249, .74);
    box-shadow: 0 12px 30px rgba(13, 24, 41, .17);
  }
  .team-card:hover .team-card-info a { max-height: 50px; margin-top: 6px; opacity: 1; visibility: visible; }
}
@media (max-width: 760px) {
  .team-row { flex-wrap: wrap; }
  .team-card { flex-basis: min(42vw, 300px); }
  .team-row-single .team-card { flex-basis: min(55vw, 330px); }
  .team-card-info h2 { font-size: clamp(16px, 2.4vw, 21px); }
}
@media (max-width: 520px) {
  .team-intro h1 { font-size: clamp(31px, 8vw, 40px); }
  .team-intro-subtitle { font-size: clamp(22px, 5.8vw, 28px); }
  .team-row { gap: 22px; }
  .team-card, .team-row-single .team-card { flex-basis: min(100%, 320px); }
  .team-card-info h2 { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) {
  .team-card, .team-card-info, .team-card-info a { transition: none; }
}
