/* Family Notes: native REVIEWS.io carousel, scoped to the Family Notes carousel. */
.rvc-slot.on:has(> #rvio.krfn) {padding:0!important}
#rvio.rvio.krfn {
  --krfn-ink:#0d0d0d;
  --krfn-grey:#777874;
  --krfn-soft:#f5f5f2;
  --krfn-orange:#ff5b22;
  --rvio-mk-bg:#fff;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:0!important;
  min-width:0;
  margin:0!important;
  padding:28px!important;
  border:0!important;
  border-radius:24px!important;
  background:#fff!important;
  color:var(--krfn-ink)!important;
  box-shadow:none!important;
  overflow:hidden;
  color-scheme:light;
}
#rvio.rvio.krfn .krfn-top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  min-width:0;
  margin:0;
  padding:0 0 22px;
}
#rvio.rvio.krfn .krfn-intro {flex:1 1 auto;min-width:0}
#rvio.rvio.krfn .krfn-eyebrow {
  display:block;
  font-size:11px;
  font-weight:750;
  line-height:1.3;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--krfn-ink);
}
#rvio.rvio.krfn .krfn-heading {
  margin:11px 0 0;
  font-size:30px;
  font-weight:850;
  line-height:1.02;
  letter-spacing:-.055em;
  color:var(--krfn-ink);
  overflow-wrap:normal;
}
#rvio.rvio.krfn .krfn-script {
  display:block;
  margin:-1px 0 -4px;
  font-family:"KR Family","Snell Roundhand",cursive;
  font-size:62px;
  font-weight:400;
  line-height:.95;
  letter-spacing:0;
  color:var(--krfn-ink);
}
#rvio.rvio.krfn .rvc-sum {
  position:static!important;
  display:grid!important;
  grid-template-columns:auto!important;
  grid-template-rows:auto auto auto!important;
  grid-template-areas:none!important;
  flex:0 0 auto!important;
  align-items:start!important;
  align-self:flex-start;
  justify-items:end;
  justify-content:end!important;
  gap:7px!important;
  width:max-content;
  min-width:0;
  margin:4px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  color:var(--krfn-ink)!important;
  text-align:right!important;
  text-decoration:none;
  --rvio-mk-bg:#fff;
}
#rvio.rvio.krfn .rvc-sum>* {grid-area:auto!important}
#rvio.rvio.krfn .krfn-score {
  display:block;
  margin:0;
  font-size:37px;
  font-weight:850;
  line-height:1;
  letter-spacing:-.065em;
  white-space:nowrap;
}
#rvio.rvio.krfn .krfn-score small {
  font-size:13px;
  font-weight:500;
  letter-spacing:0;
  color:var(--krfn-grey);
}
#rvio.rvio.krfn .rvc-n {
  margin:0!important;
  font-size:12px!important;
  font-weight:400;
  line-height:1.4!important;
  color:var(--krfn-grey)!important;
  white-space:nowrap;
}
#rvio.rvio.krfn .rvio-st,
#rvio.rvio.krfn .rvc-sum .rvio-st,
#rvio.rvio.krfn .rvio-c .rvio-st {
  position:relative;
  display:inline-block!important;
  flex:0 0 auto;
  width:102px!important;
  height:18px!important;
  margin:0;
  padding:0;
  line-height:0;
  color:var(--krfn-orange);
  vertical-align:middle;
  white-space:nowrap;
}
#rvio.rvio.krfn .rvio-st-b,
#rvio.rvio.krfn .rvio-st-f {
  display:flex!important;
  align-items:center;
  flex-wrap:nowrap;
  gap:3px!important;
  height:100%;
  margin:0;
  padding:0;
  line-height:0;
  white-space:nowrap;
}
#rvio.rvio.krfn .rvio-st-b {position:static}
#rvio.rvio.krfn .rvio-st-f {position:absolute;inset:0 auto auto 0;overflow:hidden}
#rvio.rvio.krfn .rvio-st-b svg,
#rvio.rvio.krfn .rvio-st-f svg,
#rvio.rvio.krfn .rvc-sum .rvio-st svg,
#rvio.rvio.krfn .rvio-c .rvio-st svg {
  display:block;
  flex:0 0 18px;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  stroke:none;
}
#rvio.rvio.krfn .rvio-st-b svg {fill:#e7e5e0!important}
#rvio.rvio.krfn .rvio-st-f svg {fill:var(--krfn-orange)!important}
#rvio.rvio.krfn .rvc-wrap {
  position:relative;
  flex:0 0 auto!important;
  width:100%;
  min-width:0;
  margin:0;
  padding:0!important;
}
#rvio.rvio.krfn .rvc-tr {
  display:flex;
  align-items:stretch;
  gap:12px!important;
  margin:0;
  padding:0!important;
  scroll-padding:0!important;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
#rvio.rvio.krfn .rvc-tr::-webkit-scrollbar {display:none}
#rvio.rvio.krfn .rvio-c {
  display:flex;
  flex-direction:column;
  flex:0 0 100%!important;
  gap:15px;
  min-width:0!important;
  max-width:none!important;
  min-height:188px!important;
  height:auto;
  padding:18px!important;
  border:0!important;
  border-left:0!important;
  border-radius:16px!important;
  background:var(--krfn-soft)!important;
  box-shadow:none!important;
  color:var(--krfn-ink)!important;
  scroll-snap-align:start;
  box-sizing:border-box;
}
#rvio.rvio.krfn .krfn-stars {display:flex;align-items:center;flex:none;line-height:0}
#rvio.rvio.krfn .rvio-tt {
  display:block;
  margin:0;
  font-size:14px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:-.015em;
  overflow-wrap:anywhere;
}
#rvio.rvio.krfn .rvio-c .krfn-quote {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4!important;
  flex:0 0 auto;
  min-height:0;
  max-height:5em!important;
  margin:0!important;
  overflow:hidden;
  font-size:18px!important;
  font-weight:600;
  line-height:1.25!important;
  letter-spacing:-.025em;
  color:var(--krfn-ink)!important;
  overflow-wrap:anywhere;
}
#rvio.rvio.krfn .rvio-c.open .krfn-quote {
  display:block!important;
  -webkit-line-clamp:unset!important;
  max-height:none!important;
  overflow:visible;
}
#rvio.rvio.krfn .rvio-more {
  flex:none;
  align-self:flex-start;
  margin:-5px 0 0!important;
  padding:0;
  border:0;
  background:none;
  font-size:12px!important;
  font-weight:650!important;
  line-height:1.4;
  color:var(--krfn-ink)!important;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
#rvio.rvio.krfn .rvio-more[hidden] {display:none!important}
#rvio.rvio.krfn .krfn-person {
  display:flex;
  flex:none;
  align-items:center;
  gap:9px;
  min-width:0;
  margin-top:auto;
  color:var(--krfn-ink);
}
#rvio.rvio.krfn .krfn-person>div {min-width:0}
#rvio.rvio.krfn .krfn-initial {
  display:grid;
  flex:0 0 29px;
  place-items:center;
  width:29px;
  height:29px;
  border-radius:50%;
  background:#fff;
  font-size:11px;
  font-weight:750;
  line-height:1;
}
#rvio.rvio.krfn .krfn-name {display:block;font-size:12px;font-weight:650;line-height:1.3;overflow-wrap:anywhere}
#rvio.rvio.krfn .krfn-customer {display:block;margin-top:1px;font-size:11px;font-weight:450;line-height:1.3;color:var(--krfn-grey)}
#rvio.rvio.krfn .rvc-w {justify-content:flex-end;gap:8px;text-decoration:none}
#rvio.rvio.krfn .rvc-w b {font-size:19px;font-weight:800;line-height:1.15;letter-spacing:-.02em}
#rvio.rvio.krfn .rvc-w>span {font-size:13px;font-weight:600;line-height:1.4;color:var(--krfn-grey)}
#rvio.rvio.krfn .krfn-foot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:18px;
}
#rvio.rvio.krfn .krfn-source {display:flex;align-items:center;gap:5px;color:var(--krfn-ink);text-decoration:none}
#rvio.rvio.krfn .krfn-source .rvio-mk {
  position:static!important;
  display:inline-flex;
  align-items:center;
  gap:.28em;
  margin:0!important;
  padding:0;
  font-size:13px!important;
  font-weight:750;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--krfn-ink)!important;
  --rvio-mk-bg:#fff;
}
#rvio.rvio.krfn .krfn-source .rvio-mk>svg {flex:none;display:block}
#rvio.rvio.krfn .krfn-source>svg {width:13px;height:13px;flex:none}
#rvio.rvio.krfn .krfn-nav {display:flex;align-items:center;gap:5px}
#rvio.rvio.krfn .krfn-nav .rvc-ar {
  position:static!important;
  inset:auto!important;
  transform:none!important;
  display:grid!important;
  flex:0 0 36px;
  place-items:center;
  width:36px!important;
  height:36px!important;
  margin:0;
  padding:9px;
  border:0!important;
  border-radius:50%;
  background:var(--krfn-soft)!important;
  box-shadow:none!important;
  color:var(--krfn-ink)!important;
  cursor:pointer;
}
#rvio.rvio.krfn .krfn-nav .rvc-ar.r {background:var(--krfn-ink)!important;color:#fff!important}
#rvio.rvio.krfn .krfn-nav .rvc-ar svg {display:block;width:18px;height:18px}
@media(min-width:700px) {
  #rvio.rvio.krfn .rvio-c {flex-basis:calc((100% - 12px)/2)!important;min-height:183px!important}
}
@media(max-width:540px) {
  #rvio.rvio.krfn {padding:22px!important}
  #rvio.rvio.krfn .krfn-top {gap:10px;padding-bottom:20px}
  #rvio.rvio.krfn .krfn-eyebrow {font-size:10px;letter-spacing:.1em}
  #rvio.rvio.krfn .krfn-heading {font-size:26px}
  #rvio.rvio.krfn .krfn-script {font-size:54px}
  #rvio.rvio.krfn .rvc-sum {margin-top:14px!important;gap:6px!important}
  #rvio.rvio.krfn .krfn-score {font-size:31px}
  #rvio.rvio.krfn .rvc-n {font-size:11px!important}
  #rvio.rvio.krfn .rvc-sum .rvio-st {width:69px!important;height:13px!important}
  #rvio.rvio.krfn .rvc-sum .rvio-st-b,
  #rvio.rvio.krfn .rvc-sum .rvio-st-f {gap:1px!important}
  #rvio.rvio.krfn .rvc-sum .rvio-st svg {flex-basis:13px;width:13px!important;height:13px!important}
  #rvio.rvio.krfn .rvio-c {gap:17px}
}
@media(max-width:360px) {
  #rvio.rvio.krfn .krfn-top {gap:6px}
}
@media(prefers-reduced-motion:reduce) {
  #rvio.rvio.krfn .rvc-tr {scroll-behavior:auto}
}

/* Family Gallery: identity and rating precede the review and its own photos. */
#rvio.rvio.krfn .rvio-c.krfn-gallery-card{gap:12px!important;padding:18px!important;border-radius:16px!important;background:#f5f5f2!important;justify-content:flex-start}
#rvio.rvio.krfn .krfn-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}
#rvio.rvio.krfn .krfn-card-head .krfn-person{flex:1 1 auto;align-items:center;gap:9px;margin:0;min-width:0}
#rvio.rvio.krfn .krfn-card-head .krfn-initial{flex-basis:32px;width:32px;height:32px;font-weight:700}
#rvio.rvio.krfn .krfn-gallery-card .krfn-name{font-size:13px;font-weight:600;line-height:1.3}
#rvio.rvio.krfn .krfn-gallery-card .krfn-customer{display:block;margin-top:2px;font-size:11px;line-height:1.35;font-weight:400}
#rvio.rvio.krfn .krfn-gallery-card .krfn-verified{display:flex;align-items:center;gap:4px}
#rvio.rvio.krfn .krfn-verified svg{display:block;flex:0 0 12px;width:12px;height:12px;fill:none;stroke:currentColor}
#rvio.rvio.krfn .krfn-date{flex:none;display:block;max-width:40%;padding-top:1px;font-size:11px;font-weight:400;line-height:1.4;color:#777874;white-space:nowrap}
#rvio.rvio.krfn .krfn-gallery-card .krfn-stars{margin:0;min-height:15px}
#rvio.rvio.krfn .krfn-gallery-card .rvio-st{width:83px!important;height:15px!important}
#rvio.rvio.krfn .krfn-gallery-card .rvio-st-b,#rvio.rvio.krfn .krfn-gallery-card .rvio-st-f{gap:2px!important}
#rvio.rvio.krfn .krfn-gallery-card .rvio-st svg{flex-basis:15px;width:15px!important;height:15px!important}
#rvio.rvio.krfn .krfn-gallery-card .krfn-quote{font-size:16px!important;font-weight:500!important;line-height:1.4!important;letter-spacing:-.015em;max-height:5.6em!important}
#rvio.rvio.krfn .krfn-gallery-card.open .krfn-quote{max-height:none!important}
#rvio.rvio.krfn .krfn-gallery-card .rvio-more{font-size:12px!important;font-weight:500!important;margin:-4px 0 0!important}
#rvio.rvio.krfn .krfn-photos{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:1px 0 0;min-width:0}
#rvio.rvio.krfn .krfn-photo{display:block;flex:0 0 80px;width:80px;height:80px;max-width:100%;padding:0;overflow:hidden;border:0;border-radius:10px;background:#fff;color:#111;cursor:pointer}
#rvio.rvio.krfn .krfn-photo img{display:block;width:100%;height:100%;min-height:0;max-width:none;padding:0;border:0;object-fit:cover;object-position:center;background:#fff}
#rvio.rvio.krfn .krfn-photo-caption{display:block;margin-top:-6px;font-size:11px;font-weight:400;line-height:1.4;color:#777874}
#kr-review-photo.krfn-photo-dialog{box-sizing:border-box;width:min(780px,calc(100vw - 24px));max-height:90vh;max-height:calc(100dvh - 32px);margin:auto;padding:16px;border:0;border-radius:18px;background:#fff;color:#111;font-family:var(--font,"Inter Tight",Arial,sans-serif);box-shadow:0 14px 55px #0004}
#kr-review-photo.krfn-photo-dialog[open]{display:flex;flex-direction:column;gap:14px}
#kr-review-photo::backdrop{background:#1119}
#kr-review-photo *{box-sizing:border-box}
#kr-review-photo [hidden]{display:none!important}
#kr-review-photo .krfn-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
#kr-review-photo .krfn-dialog-head>div{min-width:0}
#kr-review-photo-title{display:block;font-size:15px;line-height:1.4;font-weight:650;overflow-wrap:anywhere}
#kr-review-photo .krfn-dialog-date{display:block;margin-top:2px;font-size:11px;line-height:1.4;font-weight:400;color:#777874}
#kr-review-photo button{display:grid;place-items:center;flex:none;width:40px;height:40px;margin:0;padding:9px;border:0;border-radius:50%;background:#f5f5f2;color:#111;font:inherit;cursor:pointer}
#kr-review-photo button svg{display:block;width:20px;height:20px}
#kr-review-photo .krfn-dialog-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden;background:#f5f5f2;border-radius:11px}
#kr-review-photo .krfn-dialog-image{display:block;width:100%;height:auto;max-width:100%;max-height:calc(90vh - 140px);max-height:calc(100dvh - 180px);min-height:0;object-fit:contain;object-position:center}
#kr-review-photo [data-kr-photo-prev],#kr-review-photo [data-kr-photo-next]{position:absolute;top:50%;transform:translateY(-50%);z-index:1;background:#fffffff0;box-shadow:0 1px 8px #0001}
#kr-review-photo [data-kr-photo-prev]{left:8px}
#kr-review-photo [data-kr-photo-next]{right:8px}
#kr-review-photo .krfn-dialog-caption{font-size:12px;line-height:1.4;font-weight:400;color:#777874;text-align:center}
@media(max-width:540px){#kr-review-photo button{width:44px;height:44px}#rvio.rvio.krfn .krfn-card-head{gap:6px}#rvio.rvio.krfn .krfn-card-head .krfn-person{gap:8px}}
