/* Photo motion stays separate from text and scroll-controlled transforms. */
@keyframes background-breathe {
  0%, 100% { scale: 1.04; translate: -.3% .2%; }
  50% { scale: 1.075; translate: .4% -.3%; }
}
.cases-page .cases-backdrop i,
.cases-page .cases-backdrop b { animation: none; }
:is(.cases-page .cases-backdrop, .about-backdrop, .invite-backdrop) b::before,
.product-backdrop,
.research-page::before,
.community-hero-backdrop::before,
.stage::before,
.tactics-backdrop-image,
.archive-story .archive-crossroads-watermark img {
  transform-origin: center;
  animation: background-breathe 18s ease-in-out infinite !important;
}
.cases-page .cases-backdrop b::before { transform: none; }
.research-page { overflow-x: clip; }
.community-hero-backdrop { overflow: hidden; }
.community-hero-backdrop::before {
  content: ""; position: absolute; inset: 0; background: inherit;
}
.archive-crossroads-watermark { overflow: hidden; }
.tactics-backdrop-image { transform-box: fill-box; }
.is-audio-paused :is(.tactics-backdrop-image, .archive-crossroads-watermark img) {
  animation-play-state: paused !important;
}
@media (max-width: 720px) {
  @keyframes background-breathe {
    0%, 100% { scale: 1.025; translate: -.15% .1%; }
    50% { scale: 1.045; translate: .2% -.15%; }
  }
}
@media (prefers-reduced-motion: reduce) {
  :is(.cases-page .cases-backdrop, .about-backdrop, .invite-backdrop) b::before,
  .product-backdrop, .research-page::before, .community-hero-backdrop::before,
  .stage::before, .tactics-backdrop-image,
  .archive-story .archive-crossroads-watermark img { animation: none !important; }
}
