/* Scoped to main: the fixed bottom bar and phone control keep their own motion. */
@media (prefers-reduced-motion: no-preference) {
  .campaign-page.campaign-motion-ready .campaign-brand{animation:none}
  .campaign-page.campaign-motion-ready .campaign-cta{animation:campaign-pulse 1.25s ease-in-out infinite,campaign-cta-bob 2.4s ease-in-out infinite;animation-play-state:paused}
  .campaign-page.campaign-motion-ready .is-motion-in-view .campaign-cta{animation-play-state:running}
  .campaign-page .is-motion-in-view .hero-price strong{animation:campaign-price-lift 2.8s ease-in-out infinite}
  .campaign-page .is-motion-in-view .last-offer strong{display:inline-block;animation:campaign-offer-pop 2.5s ease-in-out infinite}
  .campaign-page .hero-price{position:relative;isolation:isolate;overflow:hidden}
  .campaign-page .hero-price:after{content:"";position:absolute;inset:-50% auto -50% -60%;width:35%;background:linear-gradient(90deg,transparent,#fff9df9c,transparent);transform:skewX(-22deg);pointer-events:none;z-index:1}
  .campaign-page .is-motion-in-view .hero-price:after{animation:campaign-gold-sweep 4.5s ease-in-out infinite}
  .campaign-page .is-motion-in-view .hero-copy .campaign-benefits .icon{animation:campaign-benefit-lift 3.6s ease-in-out infinite}
  .campaign-page .is-motion-in-view .hero-copy .campaign-benefits li:nth-child(2) .icon{animation-delay:.3s}
  .campaign-page .is-motion-in-view .hero-copy .campaign-benefits li:nth-child(3) .icon{animation-delay:.6s}
  .campaign-page .campaign-cta:focus-visible,
  .campaign-page .campaign-form:focus-within input[type=submit],
  .campaign-page .wpcf7-form.submitting input[type=submit],
  .campaign-page.campaign-motion-paused *,
  .campaign-page.campaign-motion-paused *:after{animation-play-state:paused!important}

  @media(hover:hover) and (pointer:fine){
    .campaign-page .photo-zoom{transition:filter .25s ease,box-shadow .25s ease}
    .campaign-page .photo-zoom:hover{filter:brightness(1.06);box-shadow:0 0 0 2px #d6b36a80}
    .campaign-page .space-card .editable-photo--media>img{transition:scale .65s cubic-bezier(.2,.65,.3,1)}
    .campaign-page .space-card:hover .editable-photo--media>img{scale:1.035}
    .campaign-page .campaign-cta:hover{animation-play-state:paused;background:#fff4dc;box-shadow:0 4px 14px #9a67192e}
  }
}
@keyframes campaign-cta-bob{0%,100%{translate:0 0}50%{translate:0 -4px}}
@keyframes campaign-price-lift{0%,65%,100%{translate:0 0}78%{translate:0 -3px}88%{translate:0 0}94%{translate:0 -1px}}
@keyframes campaign-offer-pop{0%,68%,100%{scale:1}78%{scale:1.08}88%{scale:1}}
@keyframes campaign-gold-sweep{0%,45%{left:-60%;opacity:0}50%{opacity:1}76%{left:130%;opacity:1}77%,100%{left:130%;opacity:0}}
@keyframes campaign-benefit-lift{0%,70%,100%{translate:0 0}82%{translate:0 -3px}92%{translate:0 0}}
@media(prefers-reduced-motion:reduce){
  .campaign-page .campaign-brand{animation:none}
  .campaign-page .photo-zoom,.campaign-page .photo-zoom img{transition:none}
}
