/* Decorative motion only: content remains readable without JavaScript. */
.motion-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.metric-value { display:inline-block; min-width:2ch; font-variant-numeric:tabular-nums; text-align:right; }
.metric-value[data-count="4.9"] { min-width:2.6ch; }

.motion-entered[data-motion="rise"] { animation:lp-rise .75s cubic-bezier(.2,.7,.25,1) var(--motion-delay,0s) both; }
.motion-entered[data-motion="wipe"] { animation:lp-wipe .65s cubic-bezier(.2,.7,.25,1) var(--motion-delay,0s) both; }
.motion-entered[data-motion="pop"] { animation:lp-pop .6s cubic-bezier(.2,.7,.25,1) var(--motion-delay,0s) both; }
@keyframes lp-rise { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
@keyframes lp-wipe { from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0); } }
@keyframes lp-pop { from { opacity:0; transform:translateY(10px) scale(.96); } to { opacity:1; transform:translateY(0) scale(1); } }

.motion-enabled .hero-art svg { animation:lp-float 4.8s ease-in-out infinite; animation-play-state:paused; }
.motion-enabled .hero-art.motion-live svg { animation-play-state:running; }
@keyframes lp-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
.section-ribbon.motion-ribbon { display:block; overflow:hidden; padding-inline:0; }
.ribbon-track { display:flex; width:200%; animation:lp-marquee 24s linear infinite; animation-play-state:paused; }
.ribbon-group { display:flex; flex:0 0 50%; align-items:center; justify-content:space-around; gap:18px; padding-inline:18px; white-space:nowrap; }
.motion-ribbon.motion-live .ribbon-track { animation-play-state:running; }
@keyframes lp-marquee { to { transform:translateX(-50%); } }
.motion-enabled .cta { position:relative; overflow:hidden; isolation:isolate; }
.motion-enabled .cta::after { content:""; position:absolute; inset:-50% auto -50% -60%; width:22%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent); transform:skewX(-20deg); pointer-events:none; animation:lp-shine 5.5s ease-in-out infinite; animation-play-state:paused; z-index:-1; }
.motion-enabled .cta.motion-live::after { animation-play-state:running; }
@keyframes lp-shine { 0%,60% { left:-60%; } 85%,100% { left:140%; } }

/* Pausing always restores complete copy and exact final figures. */
.motion-paused .motion-entered { animation:none!important; }
.motion-paused .hero-art svg,.motion-paused .ribbon-track,.motion-paused .cta::after,
.motion-background .hero-art svg,.motion-background .ribbon-track,.motion-background .cta::after { animation-play-state:paused!important; }
@media(prefers-reduced-motion:reduce) {
  .motion-entered,.motion-enabled .hero-art svg,.ribbon-track,.motion-enabled .cta::after { animation:none!important; }
  .motion-enabled .cta { transition:none; }
  .motion-enabled .cta:hover { transform:none; }
}
