/* Homepage portraits: preserve image proportions and align face scale/eye line.
   Keep the original files and the existing cards, labels and mobile marquee. */
.pc-home-experts .headshot-image-wrapper {
  position: relative;
  flex: 1;
  min-width: 0;
  aspect-ratio: 3 / 4;
  overflow: hidden;
}

.pc-home-experts .headshot-label {
  height: auto;
  align-self: stretch;
}

.pc-home-experts .headshot-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  transform-origin: 50% 0;
  transform: translateY(var(--portrait-offset, 0%)) scale(var(--portrait-scale, 1));
  /* Subtle, reversible tonal balance; never change the source portraits. */
  filter: brightness(var(--portrait-brightness, 1))
    contrast(var(--portrait-contrast, 1))
    saturate(var(--portrait-saturation, 1));
}

.pc-home-experts .headshot-image[src*="/expert-01."] {
  --portrait-scale: 1.10;
  --portrait-offset: -8.8%;
  --portrait-brightness: 1.08;
  --portrait-contrast: 0.97;
  --portrait-saturation: 0.94;
}

.pc-home-experts .headshot-image[src*="/expert-05."] {
  --portrait-scale: 1.16;
  --portrait-offset: 0%;
  --portrait-brightness: 1.02;
  --portrait-contrast: 0.98;
  --portrait-saturation: 0.94;
}

.pc-home-experts .headshot-image[src*="/expert-03."] {
  --portrait-scale: 1.18;
  --portrait-offset: -4.8%;
  --portrait-brightness: 0.98;
  --portrait-contrast: 1.01;
  --portrait-saturation: 0.90;
}

.pc-home-experts .headshot-image[src*="/expert-06."] {
  --portrait-scale: 1.02;
  --portrait-offset: -2%;
  --portrait-brightness: 1.06;
  --portrait-contrast: 0.94;
  --portrait-saturation: 0.83;
}

.pc-home-experts .headshot-image[src*="/expert-07-epm-studio."] {
  --portrait-scale: 1.65;
  --portrait-offset: 0%;
}

/* One seamless, duplicated row at every breakpoint, independent of the
   template's separate desktop/mobile entrance and marquee animations. */
.pc-home-experts { --expert-card-width: 336px; }
.pc-experts-viewport { width: 100%; overflow: hidden; }
.pc-experts-track {
  display: flex;
  width: max-content;
  animation: pc-experts-scroll 45s linear infinite;
}
.pc-home-experts .pc-experts-group {
  display: flex;
  flex: none;
  min-width: 100vw;
  gap: var(--gaps-radius--bento-gap);
  padding-right: var(--gaps-radius--bento-gap);
}
.pc-home-experts .pc-experts-group .headshot-item {
  flex: 1 0 var(--expert-card-width);
  max-width: none;
}
.pc-experts-viewport:hover .pc-experts-track,
.pc-experts-viewport:focus-within .pc-experts-track {
  animation-play-state: paused;
}
.pc-experts-viewport:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: -3px;
}
@keyframes pc-experts-scroll { to { transform: translateX(-50%); } }
@media screen and (max-width: 767px) {
  .pc-home-experts { --expert-card-width: 280px; }
}
@media screen and (max-width: 479px) {
  .pc-home-experts { --expert-card-width: 250px; }
}
@media (prefers-reduced-motion: reduce) {
  .pc-experts-track { animation: none; }
  .pc-experts-viewport { overflow-x: auto; }
  .pc-experts-group[aria-hidden="true"] { display: none; }
}
