/* Bond Street Mortgage ,  static five-star testimonials. Scoped to .bsm-reviews. */
.bsm-reviews {
  --bsm-review-green: #00634a;
  --bsm-review-deep: #003f30;
  --bsm-review-ink: #123329;
  --bsm-review-muted: #64766f;
  --bsm-review-line: #dce9e3;
  box-sizing: border-box;
  padding: clamp(64px, 7.3vw, 110px) 24px;
  overflow: hidden;
  background: #f7faf8;
  color: var(--bsm-review-ink);
  font-family: Inter, Arial, sans-serif;
}
.bsm-reviews *, .bsm-reviews *::before, .bsm-reviews *::after { box-sizing: border-box; }
.bsm-reviews__inner { width: min(100%, 1200px); margin: 0 auto; }
.bsm-reviews__header { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
.bsm-reviews__heading { max-width: 720px; }
.bsm-reviews__eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 13px; color: var(--bsm-review-green); font-size: 11px; font-weight: 800; letter-spacing: .14em; line-height: 1; text-transform: uppercase; }
.bsm-reviews__eyebrow::after { width: 38px; height: 2px; content: ''; background: currentColor; }
.bsm-reviews h2 { margin: 0; color: var(--bsm-review-deep); font-size: clamp(38px, 4.3vw, 60px); font-weight: 800; letter-spacing: -.055em; line-height: .99; }
.bsm-reviews__profile-link { display: inline-flex; flex: 0 0 auto; min-height: 48px; align-items: center; justify-content: center; gap: 9px; padding: 13px 18px; border: 1px solid var(--bsm-review-green); border-radius: 7px; background: transparent; color: var(--bsm-review-green); font-size: 14px; font-weight: 800; text-decoration: none; white-space: nowrap; transition: background-color 160ms cubic-bezier(.23,1,.32,1), color 160ms cubic-bezier(.23,1,.32,1), transform 160ms cubic-bezier(.23,1,.32,1); }
.bsm-reviews__profile-link:hover { background: var(--bsm-review-green); color: #fff; }
.bsm-reviews__profile-link:active { transform: scale(.97); }
.bsm-reviews__profile-link span { font-size: 16px; line-height: 1; }
.bsm-reviews__profile-link:focus-visible, .bsm-reviews__control:focus-visible, .bsm-reviews__read:focus-visible { outline: 3px solid rgba(0,99,74,.28); outline-offset: 3px; }
.bsm-reviews__rail-stage { position: relative; }
.bsm-reviews__rail { display: flex; gap: 18px; padding: 3px 1px 10px; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.bsm-reviews__rail::-webkit-scrollbar { display: none; }
.bsm-reviews__card { position: relative; display: flex; min-height: 320px; flex: 0 0 calc((100% - 36px) / 3); flex-direction: column; overflow: hidden; padding: 27px; scroll-snap-align: start; border: 1px solid var(--bsm-review-line); border-radius: 14px; background: #fff; box-shadow: 0 10px 28px rgba(18,51,41,.055); }
.bsm-reviews__card::before { position: absolute; top: -46px; right: -31px; width: 130px; height: 130px; content: ''; border: 20px solid rgba(0,99,74,.065); border-radius: 34px; transform: rotate(27deg); }
.bsm-reviews__card--accent { border-color: transparent; background: linear-gradient(145deg, #00715a, #00513e); color: #fff; box-shadow: 0 18px 35px rgba(0,82,63,.19); }
.bsm-reviews__card--accent::before { border-color: rgba(204,255,233,.12); }
.bsm-reviews__card--accent .bsm-reviews__quote { color: #b9f2da; background: rgba(255,255,255,.11); }
.bsm-reviews__card--accent .bsm-reviews__stars { color: #ffcf67; }
.bsm-reviews__card--accent .bsm-reviews__review-title { color: #fff; }
.bsm-reviews__card--accent .bsm-reviews__review-text { color: rgba(255,255,255,.83); }
.bsm-reviews__card--accent .bsm-reviews__read { border-color: rgba(255,255,255,.35); color: #fff; }
.bsm-reviews__card--accent .bsm-reviews__read:hover { border-color: #fff; background: rgba(255,255,255,.1); }
.bsm-reviews__top { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.bsm-reviews__name { margin: 2px 0 0; color: var(--bsm-review-deep); font-size: 22px; font-weight: 800; letter-spacing: -.035em; line-height: 1.15; }
.bsm-reviews__card--accent .bsm-reviews__name { color: #fff; }
.bsm-reviews__quote { display: grid; width: 43px; height: 43px; flex: 0 0 auto; place-items: center; border-radius: 13px; background: #eaf6f0; color: var(--bsm-review-green); }
.bsm-reviews__quote svg { width: 20px; height: 20px; fill: currentColor; }
.bsm-reviews__stars { display: flex; gap: 3px; margin: 18px 0 19px; color: #eaa621; }
.bsm-reviews__stars svg { width: 17px; height: 17px; fill: currentColor; }
.bsm-reviews__review-title { margin: 0; color: var(--bsm-review-deep); font-size: 16px; font-weight: 800; line-height: 1.28; }
.bsm-reviews__review-text { display: -webkit-box; margin: 11px 0 0; overflow: hidden; color: var(--bsm-review-muted); font-size: 14px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.bsm-reviews__read { display: inline-flex; width: fit-content; min-height: 36px; align-items: center; gap: 7px; margin-top: auto; padding: 8px 10px; border: 1px solid var(--bsm-review-line); border-radius: 6px; color: var(--bsm-review-green); font-size: 12px; font-weight: 800; text-decoration: none; transition: border-color 160ms cubic-bezier(.23,1,.32,1), background-color 160ms cubic-bezier(.23,1,.32,1), color 160ms cubic-bezier(.23,1,.32,1); }
.bsm-reviews__read:hover { border-color: var(--bsm-review-green); background: #eff8f4; }
.bsm-reviews__read span { font-size: 16px; line-height: 0; }
.bsm-reviews__controls { display: flex; min-height: 38px; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 8px; }
.bsm-reviews__position { min-width: 88px; color: var(--bsm-review-muted); font-size: 12px; font-weight: 700; text-align: center; }
.bsm-reviews__control { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--bsm-review-line); border-radius: 50%; background: #fff; color: var(--bsm-review-green); cursor: pointer; transition: background-color 160ms cubic-bezier(.23,1,.32,1), border-color 160ms cubic-bezier(.23,1,.32,1), color 160ms cubic-bezier(.23,1,.32,1), transform 160ms cubic-bezier(.23,1,.32,1); }
.bsm-reviews__control svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.bsm-reviews__control:hover:not(:disabled) { border-color: var(--bsm-review-green); background: var(--bsm-review-green); color: #fff; }
.bsm-reviews__control:active:not(:disabled) { transform: scale(.94); }
.bsm-reviews__control:disabled { cursor: not-allowed; opacity: .38; }
@media (max-width: 640px) { .bsm-reviews { padding: 56px 16px; } .bsm-reviews__header { display: block; margin-bottom: 24px; text-align: center; } .bsm-reviews__eyebrow { justify-content: center; } .bsm-reviews h2 { font-size: 39px; } .bsm-reviews__profile-link { margin-top: 19px; } .bsm-reviews__rail { gap: 12px; } .bsm-reviews__card { min-height: 310px; flex-basis: calc(100% - 34px); padding: 23px; } .bsm-reviews__controls { justify-content: center; margin-top: 7px; } }
@media (prefers-reduced-motion: reduce) { .bsm-reviews__rail, .bsm-reviews__profile-link, .bsm-reviews__read, .bsm-reviews__control { scroll-behavior: auto; transition: none; } }

/* Delivery cleanup: remove decorative bars that appear beside eyebrow or kicker text. */
[class*="eyebrow"]::after, [class*="eyebrow"]:after, [class*="kicker"]::after, [class*="kicker"]:after { content: none !important; display: none !important; }

/* Site fixes for index.html: global rules that otherwise override this section. */
/* style_banner.css positions every <header> absolutely; keep the section header in normal flow. */
.bsm-reviews__header { position: static; width: auto; z-index: auto; }
/* The homepage's inline `button { margin-right: 5px }`. */
.bsm-reviews button { margin: 0; }
/* Tighter hand-off from the blog section above (its bottom padding is reduced to match). */
@media (min-width: 641px) { .bsm-reviews { padding-top: clamp(32px, 3.5vw, 56px); } }
