.bm-home-reviews { box-sizing: border-box; width: min(1360px, 100%); min-width: 0; margin: 0 auto; padding: 64px 32px; color: #34495e; }
.bm-home-reviews__intro { margin: 0 auto 30px; text-align: center; }
.bm-home-reviews__intro > div:first-child { max-width: 760px; margin: 0 auto; }
.bm-home-reviews__eyebrow { margin: 0 0 12px; color: #087fa9; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
.bm-home-reviews h2 { margin: 0 0 12px; color: #34495e; font-size: clamp(26px, 2.5vw, 34px); font-weight: 700; line-height: 1.3; }
.bm-home-reviews__intro p:last-child { margin: 0; color: #617181; font-size: 16px; line-height: 1.7; }
.bm-home-reviews__controls { display: flex; justify-content: center; gap: 10px; margin-top: 20px; }
.bm-home-reviews__controls[hidden] { display: none; }
.bm-home-reviews__controls button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #d4e1e9; border-radius: 0; background: #fff; color: #087fa9; font-size: 24px; line-height: 1; cursor: pointer; transition: background .2s, color .2s; }
.bm-home-reviews__controls button:hover:not(:disabled) { color: #fff; background: #087fa9; border-color: #087fa9; }
.bm-home-reviews__controls button:disabled { opacity: .3; cursor: default; }
.bm-home-reviews__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--bm-review-columns) - 1) * 20px) / var(--bm-review-columns)); gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 6px 0 16px; overscroll-behavior-x: contain; }
.bm-home-reviews__track::-webkit-scrollbar { display: none; }
.bm-home-reviews__card { box-sizing: border-box; min-width: 0; display: flex; flex-direction: column; align-self: start; gap: 12px; padding: 20px; background: #edf5fa; border: 1px solid #d8e7f0; border-bottom: 3px solid #90bdd5; box-shadow: 0 4px 12px rgba(34,64,89,.045); scroll-snap-align: start; }
.bm-home-reviews__author { display: flex; align-items: center; gap: 12px; }
.bm-home-reviews__avatar { flex: 0 0 36px; display: grid; place-items: center; width: 36px; height: 36px; background: #d8eaf5; color: #087fa9; font-size: 16px; font-weight: 700; }
.bm-home-reviews__author > div { min-width: 0; }
.bm-home-reviews__author strong { display: block; color: #34495e; font-size: 14px; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }
.bm-home-reviews__author time { display: block; margin-top: 2px; color: #7a8996; font-size: 12px; line-height: 1.5; }
.bm-home-reviews__quote { margin-left: auto; padding-left: 6px; align-self: flex-start; color: #aacddd; font-family: Georgia, serif; font-size: 48px; line-height: .85; }
.bm-home-reviews__stars { color: #b67b16; font-size: 16px; letter-spacing: 2px; line-height: 1; }
.bm-home-reviews__card blockquote { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; height: 4.95em; max-height: 4.95em; padding: 0; border: 0; margin: 0; color: #43596b; font-size: 15px; font-style: normal; line-height: 1.65; overflow-wrap: anywhere; }
.bm-home-reviews__card blockquote p { display: inline; margin: 0; }
.bm-home-reviews__card blockquote p + p::before { content: ' '; }
.bm-home-reviews__card blockquote p:last-child { margin: 0; }
.bm-home-reviews__bottom { display: flex; justify-content: center; margin-top: 16px; }
.bm-home-reviews__all { display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 13px 24px; border: 1px solid #087fa9; color: #087fa9; background: #fff; font-size: 14px; font-weight: 700; line-height: 1.5; text-decoration: none; transition: background .2s, color .2s; }
.bm-home-reviews__all:hover { color: #fff; background: #087fa9; }
.bm-home-reviews :is(a, button, [tabindex]):focus-visible { outline: 3px solid #087fa9; outline-offset: 3px; }
@media (max-width: 1024px) { .bm-home-reviews__track { grid-auto-columns: calc((100% - 20px) / 2); } }
@media (max-width: 767px) {
 .bm-home-reviews { padding: 40px 20px; }
 .bm-home-reviews__intro { margin-bottom: 20px; }
 .bm-home-reviews__intro p:last-child { font-size: 15px; }
 .bm-home-reviews__track { grid-auto-columns: 100%; gap: 16px; }
 .bm-home-reviews__card { padding: 18px; gap: 12px; }
 .bm-home-reviews__bottom { margin-top: 10px; }
 .bm-home-reviews__all { width: 100%; }
}
