/* Google reviews: load-ticket cards. Fluid units only (rem / clamp / cqi). */
.rv{--rv-bg:#f2f3f7;--rv-ink:var(--ink,#161b2e);--rv-navy:#161b2e;--rv-red:var(--red,#c8231d);--rv-coral:#ff6b63;--rv-line:var(--line,#d6dbe8);--rv-muted:#5a6075;
  --rv-gut:max(1.5rem,var(--gutter,1.5rem));--rv-gap:1.5rem;--rv-body:clamp(1rem,.55rem + .6vw,1.375rem);--rv-small:clamp(.875rem,.55rem + .4vw,1.125rem);
  background:var(--rv-bg);color:var(--rv-ink);padding-block:clamp(4rem,2.5rem + 4vw,7rem)}
.rv-strip{--rv-bg:#fff;border-top:1px solid var(--rv-line)}
.rv-in{width:calc(100% - var(--rv-gut)*2);max-width:90rem;margin-inline:auto}
.rv-head{display:grid;gap:var(--rv-gap) clamp(1.5rem,1rem + 3vw,4rem);margin-bottom:clamp(2rem,1.25rem + 2vw,3.5rem)}
@media(min-width:900px){.rv-head{grid-template-columns:minmax(0,1fr) auto;align-items:end}}
.rv-eyebrow{margin:0;font-family:var(--body,Manrope,Arial,sans-serif);font-size:clamp(.75rem,.55rem + .3vw,1rem);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rv-red);line-height:1.2}
.rv h2{margin:1rem 0 0;font-family:var(--display,Barlow,sans-serif);font-weight:800;text-transform:uppercase;line-height:.92;letter-spacing:-.01em;font-size:clamp(2.25rem,1.4rem + 2.4vw,4.5rem)}
.rv h2 span{color:var(--rv-red)}
.rv-lede{margin:1rem 0 0;font-size:var(--rv-body);line-height:1.55;color:var(--rv-muted);max-width:34rem}
/* score ticket */
.rv-score{background:var(--rv-navy);color:#fff;padding:clamp(1.5rem,1rem + 1.5vw,2.5rem);display:grid;gap:1rem;justify-items:start;min-width:min(100%,22rem)}
.rv-num{display:flex;align-items:center;gap:1rem}
.rv-num strong{font-family:var(--display,Barlow,sans-serif);font-weight:800;font-size:clamp(4rem,2.75rem + 3.5vw,7.5rem);line-height:.8;letter-spacing:-.02em}
.rv-count{margin:0;font-size:var(--rv-body);line-height:1.4;color:#c9cede}
.rv-score-c{grid-template-columns:auto auto;align-items:center;column-gap:1.5rem}
.rv-score-c .rv-num strong{font-size:clamp(3rem,2.25rem + 2vw,5rem)}
.rv-score-c .rv-btn{grid-column:1/-1}
.rv-stars{display:inline-flex;gap:.125rem;color:var(--rv-red);flex:none;line-height:0}
.rv-stars svg{display:block;width:clamp(1rem,.75rem + .35vw,1.375rem);height:auto;fill:currentColor}
.rv-stars-l{color:var(--rv-coral)}
.rv-stars-l svg{width:clamp(1.25rem,.9rem + .6vw,2rem)}
.rv-btn,.rv-more{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;line-height:1;text-decoration:none;font-weight:700;box-sizing:border-box;max-width:100%}
.rv-btn svg,.rv-more svg{flex:none;display:block;width:1em;height:1em}
.rv-btn{background:var(--rv-coral);color:var(--rv-navy);padding:1rem 1.25rem;font-size:var(--rv-small);min-height:3rem}
.rv-btn:hover{background:#ff8a84}
/* cards */
.rv-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--rv-gap)}
.rv-card{display:flex;min-width:0}
.rv-card article{flex:1;container-type:inline-size;position:relative;overflow:hidden;background:#fff;border:1px solid var(--rv-line);display:grid;grid-template-rows:auto 1fr auto}
.rv-strip .rv-card article{background:var(--rv-bg-card,#f2f3f7)}
.rv-strip{--rv-notch:#fff}
.rv-top{position:relative;display:flex;flex-direction:column-reverse;align-items:flex-start;gap:.75rem;padding:1.5rem 1.5rem 1rem;border-bottom:2px dashed var(--rv-line)}
.rv-top::before,.rv-top::after{content:"";position:absolute;bottom:-.7rem;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--rv-notch,var(--rv-bg));border:1px solid var(--rv-line)}
.rv-top::before{left:-.7rem}.rv-top::after{right:-.7rem}
.rv-tag{max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--rv-small);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--rv-muted);line-height:1.2}
.rv-quote{margin:0;padding:1.25rem 1.5rem 1.5rem}
.rv-quote p{margin:0;font-size:var(--rv-body);line-height:1.55;color:var(--rv-ink);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7;line-clamp:7;overflow:hidden;height:calc(1.55em * 7)}
.rv-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--rv-line)}
.rv-who{display:grid;gap:.25rem;min-width:0}
.rv-name{font-style:normal;font-weight:800;font-size:var(--rv-body);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv-who time{font-size:var(--rv-small);color:var(--rv-muted);line-height:1.2}
.rv-more{padding:.75rem 1rem;border:1px solid var(--rv-ink);color:var(--rv-ink);font-size:var(--rv-small)}
.rv-more:hover{background:var(--rv-ink);color:#fff}
.rv a:focus-visible,.rv-grid:focus-visible{outline:2px solid var(--blue,#1f3fd0);outline-offset:3px}
/* layout per width */
.rv-8{grid-template-columns:repeat(4,minmax(0,1fr))}
.rv-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1099px){.rv-8{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:899px){.rv-3{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:min(82%,26rem);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.25rem}
  .rv-3 .rv-card{scroll-snap-align:start}.rv-3::-webkit-scrollbar{display:none}}
@media(max-width:639px){.rv-8{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.25rem}
  .rv-8 .rv-card{scroll-snap-align:start}.rv-8::-webkit-scrollbar{display:none}
  .rv-score-c{grid-template-columns:1fr}}
