/* Calm hero and contract motion, a typing demo and controllable review playback. */
#top .float[style*="bottom"]{animation:mo-hero-card-sway 7s cubic-bezier(.45,0,.55,1) infinite;animation-play-state:paused;transform-origin:50% 60%}
#top .float[style*="top"]{animation:none;transform:none}
#top .float[style*="top"]>span{animation:mo-hero-chip-sway 6.5s cubic-bezier(.45,0,.55,1) infinite;animation-play-state:paused;transform-origin:70% 50%}
#top .float[style*="top"]>span:nth-child(2){animation-duration:7.5s;animation-delay:-2.5s}
#top .float[style*="top"]>span:nth-child(3){animation-duration:8s;animation-delay:-4s}
#top .float[style*="bottom"].is-motion-visible,#top .float[style*="top"]>span.is-motion-visible{animation-play-state:running}
.mo-page-hidden #top .float[style*="bottom"],.mo-page-hidden #top .float[style*="top"]>span{animation-play-state:paused}
@keyframes mo-hero-card-sway{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-5px) rotate(.5deg)}}
@keyframes mo-hero-chip-sway{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}
#quiz .offer-accent{color:var(--accent)}
#price .doc-in{opacity:1;transform:rotate(-4deg);animation:mo-contract-float 8s cubic-bezier(.45,0,.55,1) infinite;animation-timeline:auto;animation-play-state:paused}
#price .doc-in.is-motion-visible{animation-play-state:running}
#price .drift{animation:mo-contract-ambient 18s cubic-bezier(.45,0,.55,1) infinite;animation-play-state:paused}
#price.is-motion-visible .drift{animation-play-state:running}
.mo-page-hidden #price .doc-in,.mo-page-hidden #price .drift{animation-play-state:paused}
@keyframes mo-contract-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-5px) rotate(-3.3deg)}}
@keyframes mo-contract-ambient{0%,100%{transform:translate(0,0)}50%{transform:translate(-12px,-16px)}}
#faq .mo-type-text{display:block;position:relative;min-width:0}
#faq .mo-type-reserve{visibility:hidden;display:block}
#faq .mo-type-live{position:absolute;inset:0;display:block}
#faq .mo-type-writing .mo-type-live::after{content:'│';animation:mo-type-cursor 900ms step-end infinite}
@keyframes mo-type-cursor{0%,45%{opacity:1}46%,100%{opacity:0}}
#faq .mo-chat-client-waiting .c-msg,#faq .mo-chat-reply-waiting .m-msg,#faq .mo-chat-reply-hidden .m-msg{opacity:0!important}
#faq .mo-chat-client-waiting .c-typ,#faq .mo-chat-reply-waiting .m-typ{display:flex!important;opacity:1!important;animation:none!important}
.mo-review-autoplay{display:block;width:fit-content;min-height:40px;margin:var(--space-8) auto 0;padding:var(--space-8) var(--space-12);border:0;background:transparent;font:inherit;font-size:var(--text-14);color:var(--muted,var(--palette-6));text-decoration:underline;text-underline-offset:4px;cursor:pointer;grid-column:1/-1}
.mo-review-autoplay:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:var(--radius-8)}
.mo-review-autoplay:disabled{cursor:default;opacity:.65}
@media(prefers-reduced-motion:reduce){#top .float,#top .float>span{animation:none!important;transform:none!important}#price .doc-in,#price .drift{animation:none!important}#price .doc-in{transform:rotate(-4deg)}#faq .mo-type-live::after{display:none}}
