/* Reuse the advisor photo's motion on the six homepage audience cards only. */
.audience-cards .audience-card {
  display: block;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 38px;
  background: transparent;
  overflow: visible;
  perspective: 1400px;
  box-shadow: none;
  /* The existing .card pointer tilt must not compete with the bio-style flip. */
  transform: none !important;
}
.audience-cards .audience-card::before { display: none; }
.audience-card-inner {
  display: grid;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform .82s cubic-bezier(.22,.74,.2,1);
  will-change: transform;
}
.audience-card.is-flipped .audience-card-inner { transform: rotateY(180deg); }
.audience-card-face {
  position: relative;
  grid-area: 1 / 1;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 38px;
  overflow: hidden;
  background: var(--paper);
  box-shadow: 0 30px 60px -42px rgba(14,11,30,.38);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.audience-card-face[aria-hidden="true"] { pointer-events: none; }
.audience-card-front {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  appearance: none;
  margin: 0;
  padding: 0;
  color: var(--text);
  text-align: left;
  font: inherit;
  cursor: pointer;
  transform: rotateY(0);
}
.audience-card-front::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: -35%;
  background: linear-gradient(105deg,transparent 42%,rgba(255,255,255,.17) 50%,transparent 58%);
  transform: translateX(-72%);
  transition: transform .85s var(--ease);
  pointer-events: none;
}
.audience-cards .audience-card .pic {
  display: block;
  flex: 1 0 auto;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 0;
  clip-path: none !important;
}
.audience-cards .audience-card .pic img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none !important;
  transition: transform .7s var(--ease);
}
.audience-card-caption {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 24px;
  min-height: 114px;
}
.audience-card-caption .tile { flex: 0 0 46px; width: 46px; height: 46px; border-radius: 14px; }
.audience-card-caption .tile svg { width: 25px; height: 25px; }
.audience-cards .audience-card .t { font-size: clamp(21px,1.75vw,26px); line-height: 1.2; }
.audience-card-cue {
  position: absolute;
  z-index: 3;
  top: 20px;
  right: 20px;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 8px 14px 8px 10px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 999px;
  background: rgba(11,8,24,.74);
  box-shadow: 0 12px 28px rgba(11,8,24,.24);
  color: #fff;
  font: 500 12px/1.2 var(--mono);
  opacity: 0;
  transform: translateY(-8px) scale(.96);
  transition: opacity .3s ease,transform .45s var(--ease);
  pointer-events: none;
}
.audience-card-cue svg,
.audience-card-return svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .6s var(--ease);
}
.audience-card-cue svg { padding: 4px; border: 1px solid rgba(182,154,240,.7); border-radius: 50%; }
.audience-card-back {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 28px;
  background: radial-gradient(circle at 100% 0,rgba(106,41,210,.1),transparent 42%),var(--paper);
  color: var(--text);
  transform: rotateY(180deg);
}
.audience-card-back-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.audience-card-topic { margin: 0; font: 400 22px/1.3 var(--section-label); color: var(--violet); }
.audience-card-return {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 9px;
  border: 1px solid var(--violet);
  border-radius: 50%;
  background: transparent;
  color: var(--violet);
  cursor: pointer;
  transition: background .3s ease;
}
.audience-card-return:hover { background: var(--lav-2); }
.audience-card-return:hover svg { transform: rotate(-18deg); }
.audience-cards .audience-card-question { margin: 0; font: 600 clamp(24px,2vw,29px)/1.2 var(--sans); letter-spacing: -.025em; }
.audience-cards .audience-card-link { align-self: flex-start; height: auto; min-height: 48px; padding: 12px 22px; gap: 15px; margin-top: auto; font-size: 16px; }
.audience-card-front:focus-visible,
.audience-card-back a:focus-visible,
.audience-card-back button:focus-visible { outline: 3px solid var(--violet); outline-offset: 4px; }
.audience-card-front:focus-visible .audience-card-cue { opacity: 1; transform: translateY(0) scale(1); }
.audience-card-front:focus-visible::after { transform: translateX(72%); }
.audience-cards .audience-card-front:focus-visible .pic img { transform: scale(1.018) !important; }
@media (hover:hover) and (pointer:fine) {
  .audience-card:not(.is-flipped):hover .audience-card-inner { transform: rotateY(-3deg) translateY(-2px); }
  .audience-card-front:hover::after { transform: translateX(72%); }
  .audience-cards .audience-card-front:hover .pic img { transform: scale(1.018) !important; }
  .audience-card-front:hover .audience-card-cue { opacity: 1; transform: translateY(0) scale(1); }
  .audience-card-front:hover .audience-card-cue svg { transform: rotate(18deg); }
}
@media (hover:none),(pointer:coarse) {
  .audience-card-cue { top: 14px; right: 14px; min-height: 36px; padding: 6px 11px 6px 8px; opacity: .94; transform: none; }
  .audience-card-cue svg { width: 21px; height: 21px; }
}
@media (max-width:720px) {
  .audience-cards .audience-card,.audience-card-face { border-radius: 26px; }
  .audience-card-back { padding: 24px; gap: 20px; }
  .audience-card-caption { padding: 22px; gap: 12px; }
  .audience-cards .audience-card .t { font-size: 23px; }
  .audience-cards .audience-card-link { width: 100%; align-self: stretch; }
}
@media (prefers-reduced-motion:reduce) {
  .audience-card-inner,.audience-card.is-flipped .audience-card-inner,
  .audience-card-face { transform: none !important; transition: none !important; }
  .audience-card-front::after,.audience-card-cue,.audience-card-cue svg,
  .audience-card-return svg,.audience-cards .audience-card .pic img { transition: none !important; }
  .audience-card-back { opacity: 0; visibility: hidden; }
  .audience-card.is-flipped .audience-card-front { opacity: 0; visibility: hidden; }
  .audience-card.is-flipped .audience-card-back { opacity: 1; visibility: visible; }
}
