/* Scale only the portrait, leaving its layout box and center unchanged. */
.portrait-breathe {
  transform-origin: center center;
  --portrait-base-scale: 1;
  --portrait-expanded-scale: 1.04;
  animation: denise-portrait-breathe 6s ease-in-out infinite;
}
/* Preserve the homepage's existing enlarged size; replace its hover interaction. */
.home-founder-portrait .portrait-breathe,
.home-founder-portrait .portrait-breathe:hover {
  --portrait-base-scale: 1.12;
  --portrait-expanded-scale: 1.1648;
  transform: scale(var(--portrait-base-scale));
  transition: none;
}
@keyframes denise-portrait-breathe {
  0%, 100% { transform: scale(var(--portrait-base-scale)); }
  50% { transform: scale(var(--portrait-expanded-scale)); }
}
@media (prefers-reduced-motion: reduce) {
  .portrait-breathe { animation: none; transform: scale(var(--portrait-base-scale)); }
}

/* Reserve the existing portrait anchor; caption sits in the space below. */
.contact-portrait-wrap:has(.portrait-chat-caption) { position: relative; }
.portrait-chat-caption {
  position: absolute;
  top: 94%;
  inset-inline: 0;
  margin: .5rem 0 0;
  text-align: center;
  white-space: nowrap;
  font-family: Georgia, serif;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.2;
  color: #fff;
  -webkit-text-fill-color: #fff;
  -webkit-text-stroke: .5px #aeb4bc;
  paint-order: stroke fill;
  text-shadow: -.65px -.65px 0 #111, .65px -.65px 0 #111, -.65px .65px 0 #111, .65px .65px 0 #111, 0 1px 0 #858c95, 0 2px 4px rgba(15, 23, 35, .5);
}
