.loop-window{overflow:hidden;padding-block:8px;width:100%}
.loop-track{display:flex;width:max-content;animation:lp-loop 85s linear infinite;will-change:transform}
.loop-right{animation-direction:reverse;animation-duration:95s}
.loop-group{display:flex;flex:0 0 auto;gap:20px;padding-right:20px;align-items:stretch}
.loop-section.is-paused .loop-track{animation-play-state:paused}
@keyframes lp-loop{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.loop-track{animation:none;transform:none;will-change:auto}.loop-window{overflow-x:auto}.loop-group[aria-hidden=true]{display:none}}

.reviews-section{padding-block:72px;overflow:hidden}
.reviews-section .section-heading{align-items:center;margin-bottom:30px}
.review-intro{display:grid;gap:10px;text-align:right}
.review-intro p{font-size:14px;color:#64536f;margin:0}
.review-faces{display:flex;justify-content:flex-end;padding-left:10px}
.review-avatar{display:inline-flex;width:40px;height:40px;flex:0 0 40px;align-items:center;justify-content:center;border-radius:50%;background:#e4d5eb;color:#47245e;overflow:hidden;font-size:14px;font-weight:600}
.review-avatar img{display:block;width:40px;height:40px;object-fit:cover}
.review-faces .review-avatar{border:2px solid #efe9f4;margin-left:-10px}
.review-loop .loop-group{gap:20px;padding-right:20px}
.review-loop .loop-track{animation-duration:105s}
.review-loop .review-card{flex:0 0 370px;width:370px;padding:26px;border-radius:14px;height:340px;min-height:0}
.review-person{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.review-card .review-author{font-size:15px;font-weight:600;line-height:1.4;color:#47245e;margin:0}
.review-card .review-source{font-size:13px;line-height:1.4;margin:3px 0 0}
.review-card .review-stars{font-size:18px;letter-spacing:2px}
.review-card blockquote{font-size:17px;line-height:1.65;margin:16px 0 0;min-height:0;flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b49ac0 transparent}
.review-toggle{font:inherit;font-size:13px;color:#47245e;min-height:40px;background:transparent;border:0;cursor:pointer;padding:0;justify-self:end}
.review-toggle:focus-visible{outline:2px solid #89519e;outline-offset:4px}
.review-loop:hover .loop-track,.review-loop:focus-within .loop-track{animation-play-state:paused}
.footer{background:#fff;color:#3b1451;padding:32px 0 24px}
.reference-footer{grid-template-columns:1.1fr 1fr .65fr;padding:44px 0;gap:58px}
.reference-footer h3{font-size:29px;line-height:1.35;color:#3b1451;margin-top:20px}
.reference-footer h4{color:#3b1451;font-size:17px;margin:0 0 18px}
.reference-footer p,.reference-footer a,.reference-footer span{color:#776780;font-size:15px;line-height:1.8}
.reference-footer img{max-width:245px;max-height:90px;object-fit:contain;object-position:left}
.reference-footer nav{gap:10px}
.footer-socials{display:flex;gap:20px;margin-top:18px}
.footer .footer-note{justify-content:center;border-top:1px solid #ede5ef;padding-top:24px}
.footer-note p,.footer-note span{font-size:13px;color:#827489}
@media(max-width:800px){.reference-footer{grid-template-columns:1fr;gap:30px}.footer{padding-bottom:100px}}
@media(max-width:550px){.reviews-section{padding-block:48px}.reviews-section .section-heading{align-items:flex-start;gap:22px}.review-intro{text-align:left}.review-faces{justify-content:flex-start}.review-toggle{justify-self:start}.review-loop .review-card{width:calc(100vw - 48px);flex-basis:calc(100vw - 48px);padding:22px}.review-card blockquote{font-size:16px}.reference-footer h3{font-size:26px}}
