/* Load after each site's existing styles. This file owns only rb-* components. */
.rb-reviews {
  --rb-ink: var(--color-primary, var(--color-navy, #222052));
  --rb-accent: var(--color-accent, var(--color-gold, #d2b68a));
  --rb-paper: var(--color-white, #fff);
  --rb-line: var(--color-border, #d8d9d5);
  --rb-copy: #29312e;
  --rb-muted: #505852;
  color: var(--rb-copy);
  background: var(--rb-paper);
  font-family: var(--font-body, sans-serif);
  font-size: 1rem;
  line-height: 1.65;
  padding: clamp(2.5rem, 6vw, 5.5rem) clamp(1rem, 4vw, 3rem);
  margin: 0;
  isolation: isolate;
  overflow-wrap: anywhere;
}
.rb-reviews *, .rb-reviews *::before, .rb-reviews *::after { box-sizing: border-box; }
.rb-reviews .rb-reviews__inner { max-width: 72rem; margin-inline: auto; }
.rb-reviews .rb-reviews__heading { max-width: 49rem; margin-bottom: 2.5rem; }
.rb-reviews .rb-reviews__eyebrow { margin: 0 0 .75rem; color: var(--rb-ink); font-size: .8125rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.rb-reviews h1, .rb-reviews h2 { font-family: var(--font-heading, sans-serif); color: var(--rb-ink); line-height: 1.12; letter-spacing: -.035em; text-align: left; margin: 0; }
.rb-reviews h1 { font-size: clamp(2.5rem, 6vw, 4.75rem); }
.rb-reviews h2 { font-size: clamp(1.75rem, 4vw, 2.75rem); }
.rb-reviews .rb-reviews__intro { max-width: 40rem; margin: 1.25rem 0 0; color: var(--rb-muted); font-size: 1.125rem; line-height: 1.65; }
.rb-reviews .rb-reviews__filters { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; padding-block: 1.25rem; border-block: 1px solid var(--rb-line); margin-bottom: .5rem; }
.rb-reviews .rb-reviews__filters label { color: var(--rb-ink); font-size: 1rem; font-weight: 700; }
.rb-reviews .rb-reviews__filters select { font: inherit; color: var(--rb-ink); background: var(--rb-paper); border: 1px solid var(--rb-ink); border-radius: 2px; width: min(100%, 25rem); min-height: 48px; padding: .65rem 2.25rem .65rem .75rem; cursor: pointer; }
.rb-reviews .rb-reviews__status { flex-basis: 100%; color: var(--rb-muted); font-size: .875rem; margin: 0; }
.rb-reviews .rb-reviews__list { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: clamp(2rem, 5vw, 4.5rem); }
.rb-reviews .rb-testimonial { min-width: 0; margin: 0; padding: 2rem 0; border: 0; border-bottom: 1px solid var(--rb-line); background: transparent; box-shadow: none; border-radius: 0; }
.rb-reviews .rb-testimonial__service { font-size: .8125rem; font-weight: 700; color: var(--rb-ink); margin: 0 0 .65rem; line-height: 1.5; }
.rb-reviews .rb-testimonial__rating { color: var(--rb-ink); font-size: 1rem; letter-spacing: .1em; margin: 0 0 .75rem; line-height: 1.5; }
.rb-reviews .rb-testimonial__quote { padding: 0; border: 0; margin: 0 0 1.25rem; background: transparent; font-style: normal; }
.rb-reviews .rb-testimonial__quote p { font: inherit; font-size: 1rem; font-weight: 400; line-height: 1.8; color: var(--rb-copy); margin: 0; max-width: 68ch; }
.rb-reviews .rb-testimonial__attribution { display: flex; flex-direction: column; gap: .15rem; margin: 0; background: transparent; padding: 0 0 0 .85rem; border-left: 3px solid var(--rb-accent); }
.rb-reviews .rb-testimonial__name { font-weight: 700; color: var(--rb-ink); font-size: 1rem; line-height: 1.5; }
.rb-reviews .rb-testimonial__meta, .rb-reviews .rb-testimonial__date { color: var(--rb-muted); font-size: .875rem; line-height: 1.5; }
.rb-reviews .rb-reviews__actions { margin-top: 2rem; }
.rb-reviews .rb-reviews__link { display: inline-flex; align-items: center; min-height: 48px; color: var(--rb-ink); font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: .3em; padding: .5rem 0; }
.rb-reviews a:focus-visible, .rb-reviews select:focus-visible { outline: 3px solid var(--rb-ink); outline-offset: 4px; }
.rb-reviews .rb-reviews__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.rb-reviews [hidden] { display: none !important; }
@media (min-width: 52rem) { .rb-reviews .rb-reviews__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media print {
  .rb-reviews .rb-reviews__filters { display: none !important; }
  .rb-reviews .rb-testimonial[hidden] { display: block !important; }
  .rb-reviews .rb-testimonial { break-inside: avoid; }
}

@font-face{font-family:"RB Proof Montserrat";src:url("/fonts/montserrat-800-latin.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"RB Proof Sora";src:url("/fonts/sora-700-latin.woff2") format("woff2");font-weight:400 800;font-style:normal;font-display:swap;}
.rb-reviews{--rb-proof-body:"RB Proof Sora",sans-serif;}
/* Page-shell additions owned by the integrator. Brand identities stay separate. */
[data-rb-brand="DDIS"] { --rb-proof-ink:#2a2420; --rb-proof-accent:#d4a96a; }
[data-rb-brand="DDEF"] { --rb-proof-ink:#2c3e2d; --rb-proof-accent:#a67c2a; }
[data-rb-brand="DDCS"] { --rb-proof-ink:#1b3d6f; --rb-proof-accent:#c49a1a; }
[data-rb-brand="DDPM"] { --rb-proof-ink:#222052; --rb-proof-accent:#d2b68a; }
[data-rb-brand="DDSS"] { --rb-proof-ink:#3d4f5c; --rb-proof-accent:#7fa8c0; }
.rb-reviews { --rb-ink:var(--rb-proof-ink); --rb-accent:var(--rb-proof-accent); }
.rb-reviews { font-family:var(--rb-proof-body); }
.rb-reviews h1,.rb-reviews h2 { font-family:"RB Proof Montserrat",sans-serif; font-weight:600; }
body.rb-proof-page { background:#fcfbf9; }
body.rb-proof-page header#header { background:#fcfbf9 !important; border-bottom:1px solid #dedbd5; }
body.rb-proof-page header#header .nav-links > li > a,
body.rb-proof-page header#header .nav-links > li > button,
body.rb-proof-page header#header .nav-phone { color:var(--rb-proof-ink) !important; }
body.rb-proof-page header#header .mobile-toggle span { background:var(--rb-proof-ink) !important; }
body.rb-proof-page header#header .nav-cta { background:var(--rb-proof-ink) !important; color:#fff !important; box-shadow:none; }
@media(min-width:769px) {
  body.rb-proof-page header#header .nav-links > li { flex-shrink:0; }
  body.rb-proof-page header#header .nav-links > li > a,
  body.rb-proof-page header#header .nav-links > li > button { font-family:"RB Proof Montserrat",sans-serif !important; font-size:14px !important; font-weight:600 !important; }
}
@media(min-width:769px) and (max-width:1199px) {
  body.rb-proof-page header#header .nav-phone { display:none !important; }
  body.rb-proof-page header#header .nav-links { gap:10px !important; justify-content:center; }
}
body.rb-proof-page main.rb-reviews--library { padding-top:185px; padding-bottom:100px; background:#fcfbf9; }
body.rb-proof-page[data-rb-brand="DDPM"] main.rb-reviews--library { padding-top:70px; }
.rb-legacy-anchor { display:block; height:0; scroll-margin-top:160px; }
.rb-reviews [id] { scroll-margin-top:160px; }
.rb-reviews .rb-reviews__record-link { font-size:.85rem; margin-top:.75rem; }
@media(max-width:760px) {
  body.rb-proof-page main.rb-reviews--library { padding-top:128px; }
  body.rb-proof-page[data-rb-brand="DDPM"] main.rb-reviews--library { padding-top:28px; }
  body.rb-proof-page .rb-reviews__heading { margin-bottom:24px; }
  body.rb-proof-page .rb-reviews__intro { font-size:1rem; margin-top:14px; }
  body.rb-proof-page .rb-reviews__filters { padding-block:14px; gap:8px; }
}
