/* ── Member reviews ─────────────────────────────────────────────
   Shared by index.html and pricing.html (js/reviews.js fills them in). */
.rv-summary{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin:26px 0 6px;}
.rv-summary__score{font-family:var(--f-display);font-size:clamp(3.4rem,7vw,4.6rem);line-height:.9;color:var(--c-ink);text-shadow:0 0 28px rgba(255,214,10,.35);}
.rv-summary__meta{text-align:left;display:flex;flex-direction:column;gap:6px;}
.rv-summary__count{color:var(--c-ink-80);font-size:1rem;}
.rv-summary__count strong{color:var(--c-ink);}
.rv-stars{display:inline-flex;gap:3px;line-height:1;}
.rv-stars svg{width:20px;height:20px;display:block;}
.rv-summary .rv-stars svg{width:24px;height:24px;filter:drop-shadow(0 0 6px rgba(255,214,10,.45));}
.rv-stars .is-off{opacity:.18;}

.testimonials{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:22px;margin:30px auto 0;max-width:1040px;}
.testimonial{position:relative;flex:1 1 320px;max-width:500px;display:flex;flex-direction:column;text-align:left;padding:30px 28px 26px;border-radius:22px;overflow:hidden;
  background:linear-gradient(165deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 20px 50px -30px rgba(0,0,0,.8);
  transition:transform .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease);}
.testimonial::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(140deg,rgba(194,48,211,.65),rgba(255,214,10,.0) 45%,rgba(194,48,211,.0) 70%,rgba(255,214,10,.45));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;}
.testimonial:hover{transform:translateY(-4px);border-color:rgba(194,48,211,.35);box-shadow:0 28px 60px -28px rgba(194,48,211,.45);}
.testimonial__quote-mark{position:absolute;top:-14px;right:-4px;font-family:var(--f-display);font-size:7rem;line-height:1;color:rgba(194,48,211,.16);pointer-events:none;}
.testimonial__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.testimonial__date{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.04em;color:var(--c-ink-40);text-transform:uppercase;}
.testimonial__title{font-family:var(--f-body);font-weight:800;font-size:1.18rem;line-height:1.3;color:var(--c-ink);margin:0 0 10px;letter-spacing:-.01em;text-transform:none;}
.testimonial__head{position:relative;z-index:1;}
.testimonial__text{font-size:1.02rem;line-height:1.6;color:var(--c-ink-80);margin:0;}
.testimonial__text p{margin:0 0 .8em;}
.testimonial__text p:last-child{margin-bottom:0;}
.testimonial__body{position:relative;}
/* Every card shows the same number of lines so the row stays level; the
   "Read more" button is only shown when text was actually cut off. */
.testimonial__body.is-clamped .testimonial__text{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden;}
.testimonial__body.is-clamped.has-more::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3.2em;pointer-events:none;
  background:linear-gradient(to bottom,rgba(26,6,56,0),rgba(26,6,56,.85));}
.testimonial__more{display:inline-block;align-self:flex-start;margin-top:10px;background:none;border:0;padding:0;cursor:pointer;font:inherit;font-weight:800;font-size:.9rem;color:var(--c-accent);}
.testimonial__more[hidden]{display:none;}
.testimonial__more:hover{text-decoration:underline;}
.testimonial--soon .testimonial__text{font-style:italic;color:var(--c-ink-60);}
.testimonial__person{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);}
.testimonial__body{flex:1 0 auto;margin-bottom:12px;}
.testimonial__more{margin-bottom:12px;}
.testimonial__avatar{width:46px;height:46px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;
  font-family:var(--f-display);font-size:1.25rem;letter-spacing:.04em;color:#fff;
  background:linear-gradient(135deg,var(--c-primary),var(--c-secondary));box-shadow:0 0 0 3px rgba(194,48,211,.22);}
.testimonial--soon .testimonial__avatar{opacity:.5;}
.testimonial__who{display:flex;flex-direction:column;gap:3px;min-width:0;}
.testimonial__name{font-weight:800;font-size:1rem;color:var(--c-ink);}
.testimonial__verified{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--c-ink-60);}
.testimonial__verified svg{width:14px;height:14px;flex-shrink:0;}
@media (max-width:560px){.testimonial{padding:26px 22px 22px;}.testimonial__quote-mark{font-size:5.5rem;right:16px;}}

/* Homepage hero: "★★★★★ 5.0 from N verified hosts" under the intro line. */
.hero-rating{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:18px;color:var(--c-ink-80);font-size:.98rem;text-decoration:none;
  animation:reveal 1s var(--ease) .6s both;}
.hero-rating[hidden]{display:none;}
.hero-rating .rv-stars svg{width:18px;height:18px;}
.hero-rating strong{color:var(--c-ink);font-weight:800;}
.hero-rating:hover{color:var(--c-ink);}
.hero-rating:hover .hero-rating__more{text-decoration:underline;}
.hero-rating__more{color:var(--c-primary);font-weight:700;}

/* Pricing-page reviews section: centre the heading to match the centred
   rating and cards (the homepage section is centred by .cta already). */
#reviews .section-head{text-align:center;margin-bottom:0;}
#reviews .section-title{margin-left:auto;margin-right:auto;}
#reviews .section-sub{margin:14px auto 0;text-align:center;}
