@keyframes contactPulse {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-2px) scale(1.06); }
}

.profile-contact-stack {
  position: fixed;
  right: 8px;
  bottom: 200px;
  z-index: 1030;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 4px;
  margin: 8px;
  border-radius: 16px 0 0 16px;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  background: linear-gradient(120deg, rgba(13, 110, 253, 0.85), rgba(25, 135, 84, 0.18), rgba(13, 202, 240, 0.2));
}

.profile-contact-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-decoration: none;
}

.profile-contact-stack .contact-fab {
  animation: contactPulse 1.6s ease-in-out infinite;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.profile-contact-stack .contact-fab:hover {
  transform: translateY(-2px) scale(1.08);
}

.profile-contact-stack .contact-fab:nth-child(2n) {
  animation-delay: 0.2s;
}

.profile-contact-stack .contact-fab:nth-child(3n) {
  animation-delay: 0.4s;
}

.profile-contact-icon {
  width: 44px;
  height: 44px;
  object-fit: contain;
  filter: drop-shadow(0 3px 8px rgba(0, 0, 0, 0.28));
}

.related-profile-card {
  max-width: 100%;
}

.related-profile-media {
  aspect-ratio: 4 / 4.8;
}

.related-profile-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
