/* Keep the existing hero dimensions; the reviews meet its lower edge. */
.lux-testimonials { padding: 10px 0; margin: -40px 0 32px; background: #faf8f5; border-bottom: 1px solid #eee7df; }
.lux-review-window { min-width: 0; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #c6ab79 transparent; padding: 14px 0; }
.lux-review-track { display: flex; width: max-content; }
.lux-review-group { display: flex; gap: 18px; padding-right: 18px; flex-shrink: 0; }
.lux-review-card { position: relative; display: block; width: 370px; padding: 18px 22px; border: 1px solid #eae2da; border-radius: 18px; background: linear-gradient(135deg, #fff, #fffdf9); color: #34272b; box-shadow: 0 3px 12px #35212705; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.lux-review-card:hover, .lux-review-card:focus-visible { transform: translateY(-4px); border-color: #b49360; box-shadow: 0 8px 20px #651d3212; }
.lux-review-card:focus-visible { outline: 2px solid #651d32; outline-offset: 3px; }
.lux-review-top { display: flex; align-items: center; justify-content: space-between; height: 18px; }
.lux-review-stars { display: flex; gap: 3px; color: #97702d; }
.lux-review-stars svg { width: 12px; height: 12px; fill: currentColor; stroke-width: 1; }
.lux-review-quote-mark { height: 25px; color: #b99b68; font-family: Georgia, serif; font-size: 42px; line-height: 1; }
.lux-review-card blockquote { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; height: 44px; margin: 12px 0 16px; font-size: 13px; line-height: 22px; font-weight: 500; letter-spacing: -.015em; }
.lux-review-byline { display: flex; align-items: center; gap: 10px; }
.lux-review-avatar { display: grid; place-items: center; flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%; background: #651d32; color: #ffe7ac; font-size: 12px; font-weight: 500; }
.lux-review-byline > div { flex: 1; min-width: 0; }
.lux-review-byline strong { display: block; font-size: 11px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lux-review-byline div > span { display: block; margin-top: 3px; font-size: 10px; color: #756861; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lux-review-byline > svg { box-sizing: content-box; flex-shrink: 0; width: 14px; height: 14px; padding: 7px; border-radius: 50%; background: #f5f0e9; color: #651d32; transition: background .25s ease, color .25s ease, transform .25s ease; }
.lux-review-card:hover .lux-review-byline > svg, .lux-review-card:focus-visible .lux-review-byline > svg { background: #651d32; color: #ffe7ac; transform: rotate(-35deg); }
/* Three fixed positions: content crossfades without moving the row. */
.lux-testimonials { padding: 10px 5%; }
.lux-review-window { overflow: visible; }
.lux-review-track { display: block; width: 100%; }
.lux-review-group { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding: 0; }
.lux-review-card { width: 100%; min-width: 0; }
.lux-review-slot { position: relative; min-width: 0; display: grid; }
.lux-review-slot > .lux-review-card { grid-area: 1 / 1; }
.lux-review-card.is-outgoing { pointer-events: none; z-index: 1; }
@media (max-width: 760px) {
    .lux-testimonials { margin-top: -29px; margin-bottom: 24px; }
    .lux-review-group { grid-template-columns: 1fr; gap: 12px; }
    .lux-review-card { padding: 16px 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .lux-review-card, .lux-review-byline > svg { transition: none; }
    .lux-review-card:hover, .lux-review-card:focus-visible { transform: none; }
}
