/* Page shell for the reviewer network: header, footer, grid, skip link.
   The content vocabulary (rv-plate, rv-table, rv-stats, rv-bars...) lives in base.css and is
   shared with the design kit; only the chrome is here. Logical properties throughout, because
   seven of the twenty sites are right-to-left and a physical padding breaks them silently. */
.rv-skip{position:absolute;inset-inline-start:-9999px}
.rv-skip:focus{inset-inline-start:8px;top:8px;background:var(--rv-surface);padding:8px;z-index:9}
.rv-head{border-block-end:1px solid var(--rv-line);background:var(--rv-surface);
  position:sticky;top:0;z-index:5}
.rv-headrow{display:flex;align-items:center;gap:16px;justify-content:space-between;
  padding-block:10px;flex-wrap:wrap}
.rv-brand{font-weight:700;font-size:17px;text-decoration:none;color:var(--rv-ink);
  letter-spacing:-.01em}
.rv-nav{display:flex;gap:14px;flex-wrap:wrap}
.rv-nav a{font-size:14px;color:var(--rv-ink2);text-decoration:none}
.rv-nav a:hover{text-decoration:underline}
.rv-foot{border-block-start:1px solid var(--rv-line);margin-block-start:28px;
  padding-block:18px;background:var(--rv-sunk)}
.rv-foot nav{display:flex;gap:12px;flex-wrap:wrap;margin-block:8px}
.rv-byline{display:flex;gap:14px;flex-wrap:wrap;align-items:baseline;font-size:14px;
  padding-block:6px;border-block-end:1px solid var(--rv-line);margin-block-end:10px}
.rv-byline-p{white-space:nowrap}
h1{font-size:clamp(24px,3.2vw,34px);line-height:1.2;margin-block:12px 10px;letter-spacing:-.01em}
h2{font-size:21px;line-height:1.25;margin-block:18px 8px}
h3{font-size:17px;margin-block:14px 6px}
main{padding-block-end:10px}
/* The table is the one element allowed the full width; prose stays in the readable column. */
.rv-tablewrap{max-width:1240px}
@media (max-width:720px){.rv-headrow{gap:8px}.rv-nav{gap:10px}}
/* Density pass. 🚨 Measured, not guessed: with the kit's own rhythm the first screen of a
   broker card carried 15 numbers against a contract of 30, because the heading, the evidence
   strip and the byline together ate 300px before the first figure. The contract is the product
   here - a reader who has to scroll to see a number is reading an ordinary review site. */
body{font-size:16px}
.rv-prose,.rv-sect>p,.rv-sect>ul,.rv-sect>ol,.rv-prose p,.rv-prose li{font-size:16px}
.rv-sm{font-size:16px}
.rv-byline .rv-dim,.rv-evid{font-size:13px}
.rv h1{font-size:clamp(23px,2.2vw,30px);line-height:1.15;margin-block:8px 6px}
.rv h2{font-size:20px;line-height:1.2;margin-block:14px 6px}
.rv h3{font-size:16px;margin-block:10px 4px}
.rv-sect{margin-block:0 14px}
.rv-head{position:static}
.rv-headrow{padding-block:7px}
.rv-byline{padding-block:3px;margin-block-end:6px;font-size:13px;gap:10px}
.rv-evid{font-size:13px;padding-block:4px}
/* The facts plate and the stat row are the densest things on the page: give them more columns
   so eight fields fit in two rows instead of four. */
.rv-plate{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.rv-stats{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}
.rv-bars{margin-block:6px}
.rv-bar{padding-block:2px}
.rv-grid2{gap:14px}
.rv-card{padding:12px 14px}
/* 🚨 Caught by a screenshot, not by a metric: the evidence strip stacked into a 170px box and
   pushed the first figure of a broker card below the fold, while every number the contract
   counts stayed technically present. One line, one row. */
.rv-evid{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;padding:5px 0;
  border:0;border-block-end:1px solid var(--rv-line);border-radius:0;background:none;
  font-size:13px;line-height:1.35}
.rv-evid>*{display:inline}
.rv-evid-meta{color:var(--rv-dim);margin-inline-start:auto}
/* An empty grid cell of the facts plate showed as a grey block, which reads as a broken tile. */
.rv-plate>div:empty{display:none}
.rv-sect{margin-block:0 10px}
.rv-sect>h2:first-child{margin-block-start:4px}
.rv-tablewrap{margin-block:4px 0}
.rv-tcontract{max-width:none}
.rv-tcontract-line{display:inline-block;margin-inline-end:18px}
.rv-plate{margin-block:4px 0}
/* Eight fields in four columns fill two whole rows. At six columns the second row was two
   fields and four empty cells, and the plate's own background made them read as broken tiles. */
@media (min-width:900px){.rv-plate{grid-template-columns:repeat(4,1fr)}}
.rv-badge-score{font-size:28px;padding:6px 12px;line-height:1.1}
.rv-sect>p{margin-block:4px}
.rv-pill{vertical-align:middle}
.rv-face{width:24px;height:24px;border-radius:50%;object-fit:cover;vertical-align:-6px;
  margin-inline-end:5px;border:1px solid var(--rv-line)}
.rv-person{display:flex;align-items:center;gap:14px}
.rv-portrait{width:96px;height:96px;border-radius:50%;object-fit:cover;
  border:1px solid var(--rv-line)}
