/* Motion: headline reveal + heartbeat. Off for visitors who ask for reduced motion. */
/* 2 — headline reveal */
.motion .hero h1 .l{display:block;overflow:hidden;padding-bottom:.06em}
.motion .hero h1 .l > span{display:inline-block}
.motion.head-run .hero h1 .l:first-child > span{animation:hd-up .9s cubic-bezier(.2,.7,.1,1) both}
.motion.head-run .hero h1 .l.gold{position:relative}
.motion.head-run .hero h1 .l.gold > span{animation:hd-wipe 1s .55s cubic-bezier(.6,0,.2,1) both}
.motion.head-run .hero h1 .l.gold::after{content:"";position:absolute;top:8%;bottom:14%;width:3px;background:var(--gold);right:0;
  animation:hd-bar 1s .55s cubic-bezier(.6,0,.2,1) both;box-shadow:0 0 18px rgba(201,164,90,.7)}
.motion.head-run .hero .lead,.motion.head-run .hero .cta-row,.motion.head-run .hero .status,.motion.head-run .hero .eyebrow{animation:hd-fade .8s 1.2s ease both}
@keyframes hd-up{from{transform:translateY(105%)}to{transform:none}}
@keyframes hd-wipe{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
@keyframes hd-bar{0%{right:0;opacity:1}90%{right:calc(100% - 3px);opacity:1}100%{right:calc(100% - 3px);opacity:0}}
@keyframes hd-fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* 4 — pulse */
.motion .status::before{position:relative;animation:beat 1.2s ease-in-out infinite}
.motion .status{position:relative}
.motion .status::after{content:"";position:absolute;right:0;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;
  border:2px solid var(--gold);animation:ring 1.2s ease-out infinite}
@keyframes beat{0%,100%{transform:scale(1)}15%{transform:scale(1.35)}30%{transform:scale(1)}45%{transform:scale(1.2)}}
@keyframes ring{0%{transform:scale(1);opacity:.8}100%{transform:scale(3.2);opacity:0}}
.motion .pulse-cta{position:relative;isolation:isolate}
.motion .pulse-cta::after{content:"";position:absolute;inset:-2px;border-radius:inherit;border:2px solid var(--gold);z-index:-1;
  animation:cta-ring 2.6s 3s ease-out infinite;opacity:0}
@keyframes cta-ring{0%{transform:scale(1);opacity:.7}60%,100%{transform:scale(1.12,1.35);opacity:0}}

@media (prefers-reduced-motion:reduce){
  .motion .hero *,.motion .status::before{animation:none!important}
  .motion .hero h1 .l.gold::after,.motion .status::after,.motion .pulse-cta::after{display:none!important}
}

