/* Accessible review rail and smooth FAQ, scoped to their explicit components */
.testimonials.testimonials--rail { display: block; }
.testimonials--rail .testimonials__track { display: grid; grid-auto-columns: minmax(19rem,32vw); grid-auto-flow: column; gap: 1.1rem; overflow-x: auto; overscroll-behavior-inline: contain; padding: .25rem .15rem 1.25rem; scroll-padding-inline: .15rem; scroll-snap-type: inline mandatory; scrollbar-width: thin; scrollbar-color: rgba(139,92,246,.72) rgba(255,255,255,.08); }
.testimonials--rail .testimonials__track > .testimonial { min-width: 0; height: 100%; scroll-snap-align: start; scroll-snap-stop: always; }
.testimonials--rail .testimonials-footer { margin-top: 1.6rem; }
.testimonial-rail__controls { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .65rem; }
.testimonial-rail__buttons { display: flex; gap: .6rem; }
.testimonial-rail__button { display: inline-grid; width: 2.65rem; height: 2.65rem; place-items: center; border: 1px solid var(--qs-line); border-radius: 50%; color: #fff; background: rgba(255,255,255,.03); cursor: pointer; transition: transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease; }
.testimonial-rail__button:hover { color: var(--qs-ink); background: var(--qs-gold); border-color: var(--qs-gold); transform: translateY(-2px); }
.testimonial-rail__button:focus-visible { outline: 3px solid var(--qs-gold-soft); outline-offset: 3px; }
.testimonial-rail__dots { display: flex; align-items: center; gap: .42rem; }
.testimonial-rail__dot { display: block; width: .45rem; height: .45rem; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.28); cursor: pointer; transition: width .2s ease,background .2s ease; }
.testimonial-rail__dot[aria-current="true"] { width: 1.6rem; background: var(--qs-gold); }
.faq-item__answer { display: grid !important; grid-template-rows: 0fr; visibility: hidden; padding-block: 0 !important; overflow: hidden; transition: grid-template-rows .28s ease,visibility .28s step-end,padding .28s ease; }
.faq-item__answer-inner { min-height: 0; overflow: hidden; }
.faq-item.is-open .faq-item__answer { grid-template-rows: 1fr; visibility: visible; padding-top: .15rem !important; padding-bottom: 1.1rem !important; transition: grid-template-rows .32s ease,visibility 0s step-start,padding .32s ease; }
.faq-item.is-open .faq-item__btn::after { transform: rotate(45deg); }
@media (max-width: 760px) { .testimonials--rail .testimonials__track { grid-auto-columns: minmax(86%,1fr); } }
@media (prefers-reduced-motion: reduce) { .testimonial-rail__button, .testimonial-rail__dot, .faq-item__answer { transition: none; } .testimonials--rail .testimonials__track { scroll-behavior: auto; } }
