#team .team { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 58px 18px; }
#team .team article { min-width: 0; outline: none; }
#team .portrait { position: relative; aspect-ratio: 1 / 1; background: #111; }
#team .portrait img { position: absolute; inset: 0; width: 100%; max-width: 100%; height: 100%; object-fit: contain; object-position: 50% 50%; filter: none; transform: none !important; transition: opacity .42s ease; }
#team .portrait .team-photo-normal { opacity: 1; }
#team .portrait .team-photo-zoo { opacity: 0; }
#team .team article:hover .portrait img,
#team .team article:focus .portrait img,
#team .team article.active .portrait img { filter: none; transform: none !important; }
#team .team article:hover .team-photo-normal,
#team .team article:focus .team-photo-normal,
#team .team article.active .team-photo-normal { opacity: 0; }
#team .team article:hover .team-photo-zoo,
#team .team article:focus .team-photo-zoo,
#team .team article.active .team-photo-zoo { opacity: 1; }
#team .team h3 { margin-top: 16px; }
#team .team p { min-height: 1.3em; }
#team .team-mail { display: inline-block; margin-top: 7px; color: #686868; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; transition: color .25s ease; }
#team .team article:hover .team-mail,
#team .team article:focus .team-mail { color: #fff; }
.team-ai-note { margin: 34px 0 0; color: #666; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 1120px) { #team .team { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  #team .team { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 12px; }
  #team .team h3 { font-size: 22px; }
  #team .team-mail { font-size: 10px; letter-spacing: .04em; }
}
