.review-top{display:block;text-align:center;margin-bottom:38px}.review-top .rating{margin-top:16px}.review-top .rating .muted{display:inline;margin-left:8px}.testimonials{overflow:hidden}.testimonials>.container{width:100%;max-width:none}.review-marquees{display:grid;gap:24px;margin:22px auto 0}.marquee-window{overflow:hidden;width:100%;mask-image:linear-gradient(to right,transparent,black 7%,black 93%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 7%,black 93%,transparent)}.marquee-track{display:flex;width:max-content;will-change:transform}.marquee-track.left{animation:review-left 55s linear infinite}.marquee-track.right{animation:review-right 48s linear infinite}.marquee-window:hover .marquee-track,.marquee-window:focus-within .marquee-track{animation-play-state:paused}.marquee-group{display:flex;gap:20px;padding-right:20px}.moving-review{position:relative;flex:0 0 340px;width:340px;height:246px;background:#fff;border:1px solid #e6e9f0;border-radius:17px;padding:24px;display:flex;flex-direction:column;box-shadow:0 2px 6px #0a14300a;transition:transform .3s ease,box-shadow .3s ease}.moving-review:hover{transform:translateY(-4px);box-shadow:0 18px 35px #0a143018}.moving-review blockquote{margin:0;color:#4b5563;font-size:15px;line-height:1.65;flex:1;min-height:92px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.moving-rating{display:flex;justify-content:space-between;align-items:center;margin:11px 0 10px;font-size:12px}.moving-rating span{color:#f7b625;letter-spacing:1px}.moving-rating time{color:#9da5b4}.moving-person{display:flex;align-items:center;gap:11px;border-top:1px solid #eef0f3;padding-top:12px}.moving-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#25b0cf,#4f46e5);color:#fff;font-weight:800}.moving-identity{min-width:0;flex:1;text-align:left}.moving-identity strong{display:block;font-size:13px;line-height:1.3}.moving-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9da5b4;font-size:11px}.review-badges{padding:26px 0}.hero-sub{min-height:1.4em}.motion-enter{animation:motion-enter .5s ease-out both}.proof-note{min-height:20px}.proof-note:before{animation:status-ping 1.6s ease-out infinite}.scroll-arrow{animation:scroll-bob 1.7s ease-in-out infinite}.scroll-cue{transition:transform .2s ease,box-shadow .2s ease}.scroll-cue:hover{transform:translateY(-3px);box-shadow:0 5px 14px #5476a52b}.step-visual .mock{animation:motion-enter .45s ease-out both}.faq-item .faq-answer{display:block;max-height:0;opacity:0;overflow:hidden;padding-top:0;padding-bottom:0;transition:max-height .35s ease,opacity .25s ease,padding .35s ease}.faq-item.open .faq-answer{max-height:1600px;opacity:1;padding-top:16px;padding-bottom:16px}.faq-item button span:last-child{transition:transform .25s}.faq-item.open button span:last-child{transform:rotate(180deg)}
@keyframes review-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes review-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}@keyframes motion-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes status-ping{0%{box-shadow:0 0 0 0 #10b9818c}70%,100%{box-shadow:0 0 0 8px #10b98100}}
@media(max-width:600px){.review-top h2{font-size:30px}.moving-review{flex-basis:300px;width:300px;height:250px;padding:21px}.marquee-group{gap:18px;padding-right:18px}.review-marquees{gap:19px}.review-badges{font-size:12px;word-spacing:2px}}
@media(prefers-reduced-motion:reduce){.marquee-track.left,.marquee-track.right{animation:none;transform:none}.marquee-window{overflow-x:auto;mask-image:none;-webkit-mask-image:none;scroll-snap-type:x proximity}.moving-review{scroll-snap-align:start}.marquee-group[aria-hidden="true"]{display:none}.scroll-arrow,.proof-note:before,.motion-enter,.step-visual .mock{animation:none}}

/* Generated portraits are visual placeholders for demo comments. */
.moving-avatar{flex:0 0 38px;width:38px;height:38px;background-image:url('./assets/avatar-sprite.webp');background-size:400% 300%;background-repeat:no-repeat;background-color:#e9edf3;color:transparent;box-shadow:0 0 0 2px #fff,0 0 0 3px #e8ebf2}
.moving-avatar.avatar-anime{background-image:url('./assets/avatar-anime.webp');background-size:200% 200%}
.moving-avatar.avatar-art{background-image:url('./assets/avatar-illustration.webp');background-size:200% 200%}
.moving-review blockquote{font-size:14px;line-height:1.65;min-height:100px}

.review-top .muted{font-size:12px}
