/* Google reviews (home + /online, EN + FR). Static markup, mobile-first: 1 column on phones, 2x2 from ~640px container width.
   Accent red #FF0000, hover #CC0000. No outside requests, no widgets. */
.rv{--rv-red:#FF0000;--rv-red2:#CC0000;container-type:inline-size;container-name:rv;color:#fff}
.rv.port.sec{background:linear-gradient(180deg,#1B1B1B 0%,#140d0d 100%);border-top:1px solid rgba(255,255,255,.115);padding:clamp(56px,10vw,110px) 0}
.rv--page{margin:44px 0 12px;padding:28px 0 0;border-top:1px solid rgba(255,255,255,.12)}
.rv--page > .wrap{width:100%;max-width:none}
.rv__sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.rv__top{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:clamp(22px,4vw,38px)}
.rv__kicker{margin:0 0 12px;display:flex;align-items:center;gap:12px;font:700 .75rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--rv-red)}
.rv__kicker::before{content:"";width:28px;height:2px;background:var(--rv-red)}
.rv .rv__h{margin:0;font:400 clamp(2rem,9vw,3.6rem)/.98 var(--disp);text-transform:uppercase;letter-spacing:.005em;color:#fff}
.rv--page .rv__h{font-size:clamp(1.8rem,8vw,2.6rem)}
.rv__h .red{color:var(--rv-red)}
.rv__badge{margin:0;display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid rgba(255,0,0,.55);border-radius:999px;background:rgba(255,0,0,.08);font:700 .95rem/1.2 var(--sans);letter-spacing:.03em;color:#fff;white-space:nowrap}
.rv__row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:stretch}
.rv__card{min-width:0}
.rv__in{position:relative;display:flex;flex-direction:column;gap:14px;height:100%;background:#171717;border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:24px 22px 20px;box-shadow:0 30px 60px -40px #000;transition:border-color .25s}
.rv__in:hover{border-color:rgba(255,0,0,.45)}
.rv__in::before{content:"";position:absolute;left:22px;top:0;width:44px;height:3px;background:var(--rv-red);border-radius:0 0 3px 3px}
.rv__cs{display:inline-flex;gap:3px;line-height:0}
.rv__cs svg{width:18px;height:18px;fill:var(--rv-red)}
.rv__q{margin:0;quotes:none}
.rv__text{margin:0;font:400 1rem/1.62 var(--sans);color:#eee;overflow-wrap:anywhere}
.rv__text::before{content:"\201C"}
.rv__text::after{content:"\201D"}
.js .rv__card:not(.is-open) .rv__text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;overflow:hidden}
.rv__more{align-self:flex-start;background:none;border:0;padding:12px 0;min-height:44px;margin:-14px 0 -8px;color:#fff;font:700 .78rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-decoration:underline;text-decoration-color:var(--rv-red);text-decoration-thickness:2px;text-underline-offset:5px}
.rv__more:hover{color:#ff8a8a}
.rv__more[hidden]{display:none}
.rv__by{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:12px}
.rv__av{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--rv-red);color:#fff;font:400 1.15rem/1 var(--disp)}
.rv__name{margin:0;font:700 1rem/1.3 var(--sans);color:#fff;text-transform:none}
.rv__meta{margin:3px 0 0;font:600 .72rem/1.35 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#b5b5b5}
.rv__foot{margin-top:clamp(20px,3.5vw,32px);display:flex;flex-direction:column;align-items:stretch;gap:6px}
.rv__btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:15px 26px;border-radius:999px;border:2px solid var(--rv-red);background:var(--rv-red);color:#fff;text-decoration:none;font:700 .82rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-align:center;transition:background .2s,border-color .2s}
.rv__btn:hover{background:var(--rv-red2);border-color:var(--rv-red2)}
.rv__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 6px;color:#fff;text-decoration:underline;text-decoration-color:var(--rv-red);text-decoration-thickness:2px;text-underline-offset:6px;font:700 .8rem/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;text-align:center}
.rv__link:hover{color:#ff8a8a}
.rv__btn:focus-visible,.rv__link:focus-visible,.rv__more:focus-visible{outline:3px solid #fff;outline-offset:3px}
.rv__btn svg,.rv__link svg{flex:none}
@container rv (min-width:640px){
  .rv__top{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:18px 40px}
  .rv__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .rv__in{padding:28px 28px 22px}
  .rv__in::before{left:28px}
  .rv__foot{flex-direction:row;align-items:center;justify-content:center;gap:12px 28px}
  .rv__btn{order:2}
  .rv__link{order:1}
}
@media(prefers-reduced-motion:reduce){.rv__in,.rv__btn{transition:none}}
/* "Original review in …" note: shown only when the quote's language differs from the page language (works for the build-fr.js FR bake too). */
.rv__o{display:none}
html:lang(en) .rv__o[data-show="en"],html:lang(fr) .rv__o[data-show="fr"]{display:inline}
