/* A single, quiet reveal: rate, calculation, then reward. */
.hero .income .income-orbit{animation:none}
@media (prefers-reduced-motion:no-preference){
  .hero .income.income-motion:not(.income-entered){opacity:0;transform:translateY(18px)}
  .hero .income.income-entered{animation:income-panel-in 800ms var(--motion-ease) both}
  .hero .income.income-entered>.eyebrow,
  .hero .income.income-entered>strong,
  .hero .income.income-entered>p,
  .hero .income.income-entered .example>span,
  .hero .income.income-entered .example>div,
  .hero .income.income-entered>small{animation:income-detail-in 800ms var(--motion-ease) both}
  .hero .income.income-entered>.eyebrow{animation-delay:120ms}
  .hero .income.income-entered>strong{animation-delay:240ms}
  .hero .income.income-entered>p{animation-delay:360ms}
  .hero .income.income-entered .example>span{animation-delay:480ms}
  .hero .income.income-entered .example>div{animation-delay:600ms}
  .hero .income.income-entered .example>.hero-reward{animation-delay:720ms}
  .hero .income.income-entered>small{animation-delay:840ms}
  .hero .income.income-entered .income-orbit{animation:income-orbit-in 1600ms var(--motion-ease) both}
  .hero .income.income-entered:after{transform-origin:left;animation:income-edge-in 1200ms 200ms var(--motion-ease) both}
  .hero .income .hero-reward{position:relative;overflow:hidden;isolation:isolate}
  .hero .income.income-entered .hero-reward:after{content:'';position:absolute;pointer-events:none;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 10%,#e7c9951f 46%,#fff1cf30 50%,transparent 70%);transform:translateX(-130%);animation:income-reward-light 1200ms 1200ms var(--motion-ease) both}
}
@keyframes income-panel-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes income-detail-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes income-orbit-in{from{opacity:0;transform:translate(35px,12px) scale(.92)}to{opacity:1;transform:translate(0,0) scale(1)}}
@keyframes income-edge-in{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
@keyframes income-reward-light{from{transform:translateX(-130%);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translateX(130%);opacity:0}}
@media (prefers-reduced-motion:reduce){.hero .income,.hero .income *,.hero .income:after,.hero .income *:after{animation:none!important;transition:none!important}}
