.team-grid.team-grid--photos {
  gap: 18px;
}

.person.person--photo {
  min-height: 0;
  padding: 0;
  justify-content: flex-start;
  background: #fff;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.person.person--photo::before {
  display: none;
}

.person.person--photo:hover {
  transform: translateY(-3px);
  border-color: var(--accent-mid);
  box-shadow: 0 20px 48px rgba(36,95,118,.10);
}

.person-photo-wrap {
  position: relative;
  aspect-ratio: 1.55 / 1;
  overflow: hidden;
  background: #fff;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: center;
}

.person-photo-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 76%, rgba(24,60,73,.035));
  pointer-events: none;
}

.person-photo {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center center;
  filter: grayscale(100%) saturate(0%) contrast(.98) brightness(1.02) !important;
  -webkit-filter: grayscale(100%) saturate(0%) contrast(.98) brightness(1.02) !important;
  transform: scale(1.36);
  transform-origin: center 28%;
  transition: transform .25s ease, filter .25s ease;
}

/* Radoslav: keep approved portrait unchanged. */
.team-grid--photos .person:nth-child(1) .person-photo-wrap::after {
  display: none;
}
.team-grid--photos .person:nth-child(1) .person-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: scale(1.10) translateY(1%);
  transform-origin: center 30%;
  filter: grayscale(100%) contrast(1.01) brightness(1.02) !important;
  -webkit-filter: grayscale(100%) contrast(1.01) brightness(1.02) !important;
}

/* Kasarda, Vietoris and Bariak: prepared card-ready portraits with white background. */
.team-grid--photos .person:nth-child(2) .person-photo-wrap::after,
.team-grid--photos .person:nth-child(3) .person-photo-wrap::after,
.team-grid--photos .person:nth-child(4) .person-photo-wrap::after {
  display: none;
}
.team-grid--photos .person:nth-child(2) .person-photo,
.team-grid--photos .person:nth-child(3) .person-photo,
.team-grid--photos .person:nth-child(4) .person-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: none;
  transform-origin: center center;
  filter: grayscale(100%) contrast(1.01) brightness(1.02) !important;
  -webkit-filter: grayscale(100%) contrast(1.01) brightness(1.02) !important;
}

/* Bariak: stronger contrast, preserving the approved framing. */
.team-grid--photos .person:nth-child(4) .person-photo {
  filter: grayscale(100%) contrast(1.30) brightness(1.01) !important;
  -webkit-filter: grayscale(100%) contrast(1.30) brightness(1.01) !important;
}

/* Martin keeps his existing bust framing. */
.team-grid--photos .person:nth-child(5) .person-photo {
  transform: scale(1.08) translateY(0);
  transform-origin: center 28%;
}

/* Frantisek Urban: preserve framing, remove the grey cast and match the pure-white card background. */
.team-grid--photos .person:nth-child(6) .person-photo-wrap,
.team-grid--photos .person:nth-child(6) {
  background: #fff;
}
.team-grid--photos .person:nth-child(6) .person-photo-wrap::after {
  display: none;
}
.team-grid--photos .person:nth-child(6) .person-photo {
  transform: scale(1.34) translateY(1%);
  transform-origin: center 25%;
  filter: grayscale(100%) saturate(0%) contrast(1.28) brightness(1.20) !important;
  -webkit-filter: grayscale(100%) saturate(0%) contrast(1.28) brightness(1.20) !important;
}

.person.person--photo:hover .person-photo {
  filter: grayscale(100%) saturate(0%) contrast(1) brightness(1.01) !important;
  -webkit-filter: grayscale(100%) saturate(0%) contrast(1) brightness(1.01) !important;
}

/* Keep Bariak's stronger contrast also on hover. */
.team-grid--photos .person:nth-child(4):hover .person-photo {
  filter: grayscale(100%) contrast(1.30) brightness(1.01) !important;
  -webkit-filter: grayscale(100%) contrast(1.30) brightness(1.01) !important;
}

/* Keep Urban's white-background treatment also on hover. */
.team-grid--photos .person:nth-child(6):hover .person-photo {
  filter: grayscale(100%) saturate(0%) contrast(1.28) brightness(1.20) !important;
  -webkit-filter: grayscale(100%) saturate(0%) contrast(1.28) brightness(1.20) !important;
}

.person-body {
  padding: 24px 26px 26px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.person.person--photo .role {
  margin-bottom: 9px;
}

.person.person--photo h3 {
  font-size: 1.38rem;
  margin-bottom: 10px;
}

.person.person--photo p {
  line-height: 1.55;
}

@media (max-width: 760px) {
  .person-photo-wrap {
    aspect-ratio: 1.45 / 1;
  }

  .person-body {
    padding: 22px;
  }
}
