/* One paired beat, following the red-and-black volunteer heart. */
:root { --poruch-heartbeat-duration: 1.65s; }
.brand-heart-symbol,
.hero-pulse-symbol,
.business-hours,
.care-heart,
.donation-beating-heart,
.volunteer-back-beat {
  animation: poruch-heartbeat var(--poruch-heartbeat-duration) ease-in-out infinite;
}
.brand-heart-symbol { transform-box: fill-box; transform-origin: 50% 0; }
.hero-pulse-symbol,
.business-hours,
.care-heart {
  --heart-rest: .82;
  --heart-first-beat: 1.05;
  --heart-recovery: .9;
  --heart-second-beat: 1.01;
}
.donation-beating-heart {
  --heart-rest: .94;
  --heart-first-beat: 1.22;
  --heart-recovery: .98;
  --heart-second-beat: 1.13;
  animation-name: poruch-heartbeat, poruch-heartbeat-glow;
}
@keyframes poruch-heartbeat {
  0%, 45%, 100% { transform: scale(var(--heart-rest, .96)); }
  13% { transform: scale(var(--heart-first-beat, 1.065)); }
  23% { transform: scale(var(--heart-recovery, .985)); }
  33% { transform: scale(var(--heart-second-beat, 1.035)); }
}
@keyframes poruch-heartbeat-glow {
  0%, 45%, 100% { filter: none; }
  13% { filter: brightness(1.07) drop-shadow(0 0 4px #217db160); }
  23% { filter: brightness(1.01); }
  33% { filter: brightness(1.04) drop-shadow(0 0 3px #217db140); }
}
@media (prefers-reduced-motion: reduce) {
  .brand-heart-symbol,
  .hero-pulse-symbol,
  .business-hours,
  .care-heart,
  .donation-beating-heart,
  .volunteer-back-beat { animation: none; transform: none; }
}
