.js .reveal{opacity:0;translate:0 22px;transition:opacity .85s var(--ease) var(--d,0ms),translate .85s var(--ease) var(--d,0ms)}
.js .reveal.in{opacity:1;translate:none}

.lc-msg{transform-origin:0 100%}
.lc-msg.me{transform-origin:100% 100%}
html[dir=rtl] .lc-msg{transform-origin:100% 100%}
html[dir=rtl] .lc-msg.me{transform-origin:0 100%}
.lc-msg:not(.in){transform:translateY(8px) scale(.92)}

.fc1,.fc3{transform-origin:100% 50%}
.fc2{transform-origin:0 50%}
html[dir=rtl] .fc1,html[dir=rtl] .fc3{transform-origin:0 50%}
html[dir=rtl] .fc2{transform-origin:100% 50%}
.js .float-chip{transform:translate3d(0,var(--py,0px),0)}
.js .float-chip.reveal{transition:opacity .85s var(--ease) var(--d,0ms),translate .85s var(--ease) var(--d,0ms)}

.js .steps li.reveal{transition:opacity .85s var(--ease) var(--d,0ms),translate .85s var(--ease) var(--d,0ms),background-color .25s var(--ease),border-color .25s var(--ease)}
.steps li.lit{background:oklch(76.095% 0.2015 149.74 / .12);border-color:oklch(76.095% 0.2015 149.74 / .45)}

@media (prefers-reduced-motion:no-preference){.phone{animation:ca-phone .7s var(--ease) .08s both}}
#stickyCta.peek{animation:ca-peek 1.2s var(--ease)}
@keyframes ca-phone{from{opacity:0;transform:translateY(36px) scale(.94)}}
@keyframes ca-peek{0%,100%{transform:translateY(110%)}28%,68%{transform:none}}

@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;translate:none;transition:none}
  #stickyCta.peek{animation:none}
  .js .float-chip{transform:none}
  .lc-msg:not(.in){transform:none}
}
