.rfrs{--rfrs-gap:12px;--rfrs-accent:#f5a000;position:relative;display:grid;grid-template-columns:minmax(260px,32%) 1fr;gap:var(--rfrs-gap);width:100%;font-family:inherit;color:inherit;box-sizing:border-box}.rfrs *{box-sizing:border-box}.rfrs__content{position:relative;min-height:390px;padding:58px 34px 32px;display:flex;flex-direction:column;border-radius:30px;background:color-mix(in srgb,currentColor 5%,transparent);overflow:hidden}.rfrs__quote{position:absolute;top:3px;left:25px;font-family:Georgia,serif;font-size:84px;line-height:1;color:color-mix(in srgb,currentColor 70%,transparent)}.rfrs__stars{min-height:24px;color:var(--rfrs-accent);font-size:22px;letter-spacing:2px}.rfrs__text{margin:12px 0 28px;padding:0;border:0;font:inherit;font-size:clamp(18px,1.65vw,25px);line-height:1.35}.rfrs__person{display:flex;align-items:center;gap:5px;margin-top:auto;font-size:14px}.rfrs__verified{display:inline-grid;place-items:center;width:13px;height:13px;border-radius:50%;background:currentColor;color:Canvas;font-size:9px}.rfrs__date{margin-left:auto;opacity:.6;font-size:12px}.rfrs__stage{position:relative;min-width:0;overflow:hidden}.rfrs__track{height:390px;display:flex;gap:var(--rfrs-gap);touch-action:pan-y;transition:transform var(--rfrs-speed) cubic-bezier(.16,1,.3,1);will-change:transform}.rfrs__slide{position:relative;flex:0 0 var(--rfrs-base,25%);min-width:0;height:100%;padding:0;overflow:hidden;border:0;border-radius:30px;background:color-mix(in srgb,currentColor 9%,transparent);cursor:pointer;transition:flex-basis var(--rfrs-speed) cubic-bezier(.16,1,.3,1),opacity var(--rfrs-speed) ease,filter var(--rfrs-speed) ease;will-change:flex-basis;appearance:none}.rfrs__slide.is-active{flex-basis:calc(var(--rfrs-base,25%) * 1.7)}.rfrs__slide:not(.is-active){filter:saturate(.9)}.rfrs__slide img{width:100%;height:100%;display:block;object-fit:cover;transition:transform calc(var(--rfrs-speed) * 1.25) cubic-bezier(.16,1,.3,1)}.rfrs__slide:hover img,.rfrs__slide:focus-visible img{transform:scale(1.025)}.rfrs__slide:focus-visible,.rfrs__arrow:focus-visible,.rfrs__dot:focus-visible{outline:3px solid var(--rfrs-accent);outline-offset:3px}.rfrs__placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:72px;background:color-mix(in srgb,currentColor 12%,transparent)}.rfrs__arrow{position:absolute;z-index:6;top:195px;width:30px;height:30px;padding:0;display:grid;place-items:center;transform:translateY(-50%);border:0;border-radius:50%;background:#fff;color:#1681e8;box-shadow:0 2px 14px rgba(0,0,0,.14);font:inherit;font-size:27px;line-height:1;cursor:pointer}.rfrs__arrow--prev{left:-15px}.rfrs__arrow--next{right:-15px}.rfrs__arrow[disabled]{opacity:.35;cursor:not-allowed}.rfrs__pagination{grid-column:1/-1;display:flex;gap:7px;padding-left:6%;margin-top:-3px}.rfrs__dot{width:6px;height:6px;padding:0;border:0;border-radius:999px;background:currentColor;opacity:.16;cursor:pointer;transition:width var(--rfrs-speed),opacity var(--rfrs-speed)}.rfrs__dot.is-active{width:20px;opacity:.7}.rfrs.is-changing .rfrs__content>*:not(.rfrs__quote){animation:rfrs-review-in var(--rfrs-speed) cubic-bezier(.16,1,.3,1) both}@keyframes rfrs-review-in{0%{opacity:0;transform:translate3d(46px,0,0);filter:blur(1.5px)}65%{opacity:1}100%{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}@media (max-width:1024px){.rfrs{grid-template-columns:minmax(230px,38%) 1fr}.rfrs__arrow{top:175px}.rfrs__content,.rfrs__track{min-height:350px;height:350px}.rfrs__content{padding:52px 26px 28px;border-radius:25px}.rfrs__slide{border-radius:25px}}@media (max-width:767px){.rfrs{display:block}.rfrs__content{min-height:260px;height:auto;margin-bottom:12px;padding:50px 24px 24px}.rfrs__track{height:330px}.rfrs__pagination{justify-content:center;padding:12px 0 0}.rfrs__date{display:none}.rfrs__arrow{top:437px;width:34px;height:34px}.rfrs__arrow--prev{left:-8px}.rfrs__arrow--next{right:-8px}}@media (prefers-reduced-motion:reduce){.rfrs,.rfrs *{scroll-behavior:auto!important;animation-duration:1ms!important;transition-duration:1ms!important}.rfrs__slide img{transform:none!important}}

/* Keep review copy and imagery on synchronized draggable tracks. */
.rfrs__content{padding:0;display:block;touch-action:pan-y}.rfrs__content-track{height:100%;display:flex;transition:transform var(--rfrs-speed) cubic-bezier(.16,1,.3,1);will-change:transform}.rfrs__content-slide{position:relative;flex:0 0 100%;min-width:0;min-height:390px;padding:58px 34px 32px;display:flex;flex-direction:column}.rfrs.is-dragging,.rfrs.is-dragging *{cursor:grabbing!important;user-select:none}.rfrs.is-dragging .rfrs__track,.rfrs.is-dragging .rfrs__content-track{transition:none}.rfrs.is-changing .rfrs__content>*{animation:none}@media(max-width:1024px){.rfrs__content{padding:0}.rfrs__content-slide{min-height:350px;padding:52px 26px 28px}}@media(max-width:767px){.rfrs__content{height:260px;padding:0}.rfrs__content-slide{min-height:260px;padding:50px 24px 24px}}

/* Reference card proportions and five-line slider excerpts. */
.rfrs{--rfrs-card-height:425px}.rfrs__content,.rfrs__content-track,.rfrs__content-slide,.rfrs__stage,.rfrs__track,.rfrs__slide{height:var(--rfrs-card-height);min-height:var(--rfrs-card-height);max-height:var(--rfrs-card-height)}.rfrs__content-slide{overflow:hidden}.rfrs__text{display:-webkit-box;max-height:calc(1.35em * 5);overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;text-overflow:ellipsis}@media(max-width:1024px){.rfrs{--rfrs-card-height:380px}}@media(max-width:767px){.rfrs{--rfrs-card-height:330px}.rfrs__content{height:var(--rfrs-card-height)}.rfrs__content-slide{min-height:var(--rfrs-card-height)}}

.rfrs__arrow{top:calc(var(--rfrs-card-height) / 2)}@media(max-width:767px){.rfrs__arrow{top:calc((var(--rfrs-card-height) * 1.5) + 12px)}}

.rfrs__slide img{pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.rfrs__slide{touch-action:pan-y}.rfrs__track{cursor:grab}.rfrs.is-dragging .rfrs__track{cursor:grabbing}

/* Keep the decorative quote outside the clipped, draggable review viewport. */
.rfrs > .rfrs__quote {
  top: -8px;
  left: -8px;
  z-index: 5;
  display: block;
  width: 54px;
  height: 40px;
  max-width: none;
  margin: 0;
  padding: 0;
  color: var(--rfrs-quote-color, #795b3e);
  pointer-events: none;
  user-select: none;
}

/* Reference-sized white arrow buttons; avoid theme min-height and padding. */
.rfrs .rfrs__arrow {
  display: grid !important;
  place-items: center;
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #333 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.12);
  appearance: none;
  line-height: 1;
}
.rfrs .rfrs__arrow--prev { left: -16px; }
.rfrs .rfrs__arrow--next { right: -16px; }
.rfrs .rfrs__arrow svg {
  display: block;
  width: 16px;
  height: 16px;
  margin: 0;
  pointer-events: none;
}

/* A moving strip of real review indicators, clipped to five compact marks. */
.rfrs .rfrs__pagination {
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  min-height: 12px;
}
.rfrs .rfrs__pagination-viewport {
  flex: 0 0 auto;
  width: calc(var(--rfrs-pagination-count, 5) * 14px + 22px);
  padding: 6px;
  overflow: hidden;
  overflow: clip;
  direction: ltr;
}
.rfrs .rfrs__pagination-track {
  display: flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  min-height: 8px;
  transition: transform var(--rfrs-speed, 450ms) cubic-bezier(.16,1,.3,1);
  will-change: transform;
}
.rfrs .rfrs__dot {
  flex: 0 0 auto;
  width: calc(6px + var(--rfrs-dot-weight, 0) * 18px) !important;
  min-width: 0 !important;
  max-width: none !important;
  height: calc(6px + var(--rfrs-dot-weight, 0) * 2px) !important;
  min-height: 0 !important;
  max-height: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #e9dfd7 !important;
  box-shadow: none !important;
  opacity: 1;
  font-size: 0;
  line-height: 0;
  transition: width var(--rfrs-speed, 450ms) cubic-bezier(.16,1,.3,1), height var(--rfrs-speed, 450ms) cubic-bezier(.16,1,.3,1), background-color var(--rfrs-speed, 450ms);
}
.rfrs .rfrs__dot.is-active {
  background: var(--rfrs-quote-color, #795b3e) !important;
}
.rfrs .rfrs__dot,
.rfrs .rfrs__dot.is-active {
  background: color-mix(in srgb, var(--rfrs-quote-color, #795b3e) calc(var(--rfrs-dot-weight, 0) * 100%), #e9dfd7) !important;
}
.rfrs .rfrs__dot[aria-hidden="true"] { pointer-events: none; }
.rfrs .rfrs__dot:focus-visible { outline-offset: 2px; }
.rfrs.is-dragging .rfrs__pagination-track,
.rfrs.is-dragging .rfrs__dot { transition: none; }

/* Mobile keeps the review grid, filters and write-review form, but not the top carousel. */
@media (max-width: 767px) {
  .rfrs { display: none !important; }
}
