/* Landing-page testimonials: reuse the existing Webflow theme tokens. */
.qv-testimonials { scroll-margin-top: 3em; }
.qv-testimonials .content { opacity: 1; }
.qv-testimonials-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 3em; margin-bottom: 1.75em; }
.qv-testimonials-header .subtitle { display: inline-block; }
.qv-testimonials-header .heading { margin-bottom: 0; }
.qv-testimonials-intro { max-width: 22em; margin: 0 0 .4em; }
.qv-testimonials-notice { display: flex; align-items: baseline; gap: .7em; margin: 0 0 1.8em; font-size: .8em; line-height: 1.6; }
.qv-preview-dot { flex: 0 0 .55em; width: .55em; height: .55em; border-radius: 50%; background: var(--accent-a1); }
.qv-testimonials-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5em; }
.qv-testimonials .qv-testimonial { margin: 0; padding: 2em; gap: 1.6em; min-width: 0; }
.qv-testimonial-top { display: flex; align-items: center; justify-content: space-between; gap: 1em; width: 100%; }
.qv-testimonial-topic { color: var(--accent-a1); font-family: IBM Plex Mono, monospace; font-size: .68em; text-transform: uppercase; letter-spacing: .07em; }
.qv-quote-mark { height: .65em; color: var(--accent-a1); font-size: 4em; line-height: 1; font-weight: 700; }
.qv-testimonials blockquote { margin: 0; padding: 0; border: 0; color: var(--heading); font-size: 1.2em; line-height: 1.6; letter-spacing: -.025em; }
.qv-testimonials figcaption { display: flex; align-items: center; gap: .85em; width: 100%; margin-top: auto; padding: 1.5em 0 0; border-top: 1px solid var(--border); background: transparent; text-align: left; }
.qv-testimonial-avatar { display: flex; flex: 0 0 2.8em; width: 2.8em; height: 2.8em; align-items: center; justify-content: center; background: var(--accent-b1); border-radius: 50%; color: var(--accent-a1); font-family: IBM Plex Mono, monospace; font-size: .85em; }
.qv-testimonials .review-name { display: block; margin-bottom: .3em; }
.qv-testimonial-caption { display: block; font-size: .72em; line-height: 1.5; }
.qv-testimonials .qv-testimonial-featured { background: var(--accent-a1); color: var(--white); }
.qv-testimonial-featured blockquote, .qv-testimonial-featured .review-name, .qv-testimonial-featured .qv-testimonial-topic { color: var(--white); }
.qv-testimonial-featured .qv-quote-mark { color: var(--accent-a4); }
.qv-testimonial-featured .qv-testimonial-avatar { color: var(--heading); background: var(--accent-a4); }
.qv-testimonial-featured figcaption { border-top-color: rgba(255, 255, 255, .25); }
.qv-testimonials-footer { display: flex; align-items: center; justify-content: space-between; gap: 1em; margin-top: 1.75em; font-size: .87em; }
.qv-testimonials-footer p { margin: 0; }
.qv-testimonials-link { display: inline-flex; align-items: center; gap: .65em; color: var(--accent-a1); font-weight: 500; text-decoration: none; }
.qv-testimonials-link:hover { text-decoration: underline; text-underline-offset: .25em; }
.qv-testimonials-link:focus-visible { outline: 2px solid var(--accent-a1); outline-offset: 5px; border-radius: 2px; }
@media (max-width: 991px) {
    .qv-testimonials-header { align-items: flex-start; flex-direction: column; gap: 1.2em; }
    .qv-testimonials-intro { max-width: 34em; }
    .qv-testimonials-grid { gap: 1em; }
    .qv-testimonials .qv-testimonial { padding: 1.4em; }
}
@media (max-width: 767px) {
    .qv-testimonials-grid { grid-template-columns: 1fr; }
    .qv-testimonials .qv-testimonial { padding: 1.75em; }
    .qv-testimonials-header { margin-bottom: 1.3em; }
    .qv-testimonials-notice { font-size: .85em; }
    .qv-testimonials-footer { align-items: flex-start; flex-direction: column; gap: .6em; }
}
