/* ===== Meet the Team: photos flip over to show the bio =====
   Hover flips on mouse devices; js/team.js adds tap / keyboard flipping via .is-flipped. */

.team-flip { position: relative; aspect-ratio: 1 / 1; perspective: 1200px; margin-bottom: 16px; }
.team-flip__inner { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform 0.7s cubic-bezier(.3, .7, .3, 1); }
.team-flip__face { position: absolute; inset: 0; margin: 0; -webkit-backface-visibility: hidden; backface-visibility: hidden; }

.team-flip__btn { position: absolute; inset: 0; width: 100%; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.team-flip__btn:focus-visible { outline: 3px solid var(--cta); outline-offset: 4px; }

.team-flip__back {
  transform: rotateY(180deg); overflow-y: auto; overscroll-behavior: contain;
  display: flex; flex-direction: column; justify-content: safe center;
  background: var(--ink); color: var(--on-dark); border: 0; border-top: 4px solid var(--cta); border-radius: var(--radius);
  padding: 22px 24px; font-size: 0.88rem; font-style: normal; line-height: 1.55; cursor: pointer;
  box-shadow: var(--shadow);
}
.team-flip__back p { color: var(--on-dark); }

@media (hover: hover) {
  .team-flip:hover .team-flip__inner { transform: rotateY(180deg); }
}
.team-flip.is-flipped .team-flip__inner { transform: rotateY(180deg); }

.team-card__hint { display: inline-flex; align-items: center; gap: 6px; font-size: 0.8rem; font-weight: 600; color: var(--cta); margin: 0; }
.team-card__hint::before { content: "\21BB"; font-size: 1rem; }
:root[data-theme="dark"] .team-card__hint { color: #f3915f; }

@media (prefers-reduced-motion: reduce) {
  .team-flip__inner { transition: none; }
}
