.marquee-grid{align-items:stretch;gap:var(--space-5);width:min(100% - 2 * var(--gutter), var(--container));flex-wrap:wrap;margin-inline:auto;display:flex}.marquee-viewport{-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--gutter), #000 calc(100% - var(--gutter)), transparent);mask-image:linear-gradient(to right, transparent, #000 var(--gutter), #000 calc(100% - var(--gutter)), transparent);-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--gutter), #000 calc(100% - var(--gutter)), transparent);overflow:hidden}.marquee-track{width:max-content;padding-block:var(--space-2);animation-name:marquee-scroll;animation-timing-function:linear;animation-iteration-count:infinite;display:flex}.marquee-viewport:hover .marquee-track,.marquee-viewport:focus-within .marquee-track{animation-play-state:paused}.marquee-group{align-items:stretch;gap:var(--space-5);padding-right:var(--space-5);flex-shrink:0;display:flex}@keyframes marquee-scroll{0%{transform:translate(-50%)}to{transform:translate(0)}}.testimonial-card{gap:var(--space-4);width:min(360px,82vw);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;flex:none;display:flex}.testimonial-stars,.testimonial-dialog-stars{gap:2px;display:flex}.testimonial-stars svg,.testimonial-dialog-stars svg{width:18px;height:18px}.star-filled{color:var(--accent)}.star-empty{color:var(--line)}.testimonial-quote{-webkit-line-clamp:4;font-size:var(--text-md);-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.testimonial-more{margin-top:calc(-1 * var(--space-2))}.testimonial-author{align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--line);margin-top:auto;font-weight:600;display:flex}.testimonial-author:before{content:"";border-radius:var(--radius-full);background:var(--accent);width:20px;height:2px}.testimonials-empty{width:min(100% - 2 * var(--gutter), var(--container));padding:var(--space-10) var(--space-6);border:1px dashed var(--line-strong);border-radius:var(--radius-lg);color:var(--text-muted);text-align:center;margin-inline:auto}.testimonial-dialog-quote{margin-top:var(--space-5);color:var(--text);font-size:var(--text-md);line-height:1.55}.dialog .testimonial-dialog-quote{color:var(--text)}.dialog .testimonial-dialog-author{margin-top:var(--space-4);color:var(--text);font-weight:600}.review{align-items:start;gap:var(--space-8) clamp(2rem, 1rem + 4vw, 5rem);margin-top:var(--section-gap);grid-template-columns:minmax(0,5fr) minmax(0,7fr);display:grid}.review-intro{top:calc(var(--header-h) + var(--space-8));position:sticky}.review-intro .section-intro{margin-top:var(--space-5)}@media (width<=860px){.review{grid-template-columns:1fr}.review-intro{position:static}}.rating-picker{gap:var(--space-1);display:flex}.rating-star{border-radius:var(--radius-md);width:48px;height:48px;color:var(--line-strong);touch-action:manipulation;transition:color var(--dur-fast) ease, transform var(--dur-fast) ease, background-color var(--dur-fast) ease;background:0 0;border:0;place-items:center;display:grid}.rating-star svg{width:30px;height:30px}.rating-star:hover{background:var(--accent-soft)}.rating-star:active{transform:scale(.9)}.rating-star.is-filled{color:var(--accent)}.rating-value{color:var(--text-muted);font-size:var(--text-sm)}.rating-value #rating-value-text{font-family:var(--font-mono);color:var(--text);font-weight:500}.rating-hint{font-size:var(--text-xs)}
