@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;0,6..72,700;1,6..72,400;1,6..72,500;1,6..72,600&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap');

/* ============================================================================
   review-system.css — one stylesheet, three skins (money / ai / vpn)
   Independent-review-lab design system for the affiliate sites (Kadence).
   Source of truth: design/Kadence Implementation Guide.dc.html (markup) +
   design/Smart Money Picks - Full Site.dc.html (composed reference).
   Every OKLCH value carries a HEX fallback on the line above it, so older
   browsers keep the exact mockup color and modern browsers get OKLCH.
   Components are class-scoped (rv-*) so old posts without them are untouched.
   ============================================================================ */

/* ---- Structural tokens (hue-independent): shared by every skin ---- */
:root {
  --rv-font-display: 'Newsreader', Georgia, 'Times New Roman', serif;
  --rv-font-ui: 'IBM Plex Sans', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  --rv-font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  --rv-radius: 12px;
  --rv-radius-sm: 8px;
  --rv-radius-lg: 16px;
  --rv-measure: 68ch;

  --rv-shadow-card: 0 24px 60px -40px rgba(20, 35, 29, 0.45);
  --rv-tan-wash: #f6ece0;   /* neutral "worth knowing" chip bg (shared) */
  --rv-tan-ink: #8a6a3a;    /* neutral "worth knowing" chip text (shared) */
}

/* ============================================================================
   SKINS — the ONLY thing that changes per site is this token block.
   Default (:root) = money, so a page that forgets the body class still renders
   the green skin. .theme-money is defined explicitly too for clarity.
   ============================================================================ */
:root,
.theme-money {
  --rv-ink: #14231d;         --rv-ink: oklch(0.2403 0.0236 167.39);
  --rv-ink2: #1d2f27;        --rv-ink2: oklch(0.2866 0.0280 165.03);
  --rv-accent-deep: #2f6d51; --rv-accent-deep: oklch(0.4855 0.0792 161.75);
  --rv-accent: #34b183;      --rv-accent: oklch(0.6809 0.1285 164.01);
  --rv-accent-soft: #5fc79e; --rv-accent-soft: oklch(0.7563 0.1149 165.21);
  --rv-wash: #e8f6ef;        --rv-wash: oklch(0.9608 0.0174 164.66);
  --rv-wash-line: #c2e0d0;   --rv-wash-line: oklch(0.8803 0.0385 162.29);
  --rv-line: #dbe7e1;        --rv-line: oklch(0.9172 0.0151 164.70);
  --rv-paper: #fbfdfc;       --rv-paper: oklch(0.9923 0.0025 165.08);
  --rv-text: #313f39;        --rv-text: oklch(0.3531 0.0210 167.21);
  --rv-text-soft: #62716a;   --rv-text-soft: oklch(0.5339 0.0210 165.79);
}

.theme-ai {
  --rv-ink: #1c1533;         --rv-ink: oklch(0.2221 0.0569 291.84);
  --rv-ink2: #241b40;        --rv-ink2: oklch(0.2543 0.0677 292.09);
  --rv-accent-deep: #4a2f9e; --rv-accent-deep: oklch(0.4084 0.1693 287.57);
  --rv-accent: #7c5cff;      --rv-accent: oklch(0.5990 0.2299 286.20);
  --rv-accent-soft: #a48bff; --rv-accent-soft: oklch(0.7091 0.1656 291.52);
  --rv-wash: #f0ebff;        --rv-wash: oklch(0.9498 0.0272 297.32);
  --rv-wash-line: #d8caf7;   --rv-wash-line: oklch(0.8648 0.0632 299.30);
  --rv-line: #e6def5;        --rv-line: oklch(0.9138 0.0321 301.57);
  --rv-paper: #fdfcff;       --rv-paper: oklch(0.9927 0.0041 301.43);
  --rv-text: #332c45;        --rv-text: oklch(0.3122 0.0449 296.58);
  --rv-text-soft: #6b6480;   --rv-text-soft: oklch(0.5201 0.0443 296.29);
}

.theme-vpn {
  --rv-ink: #101f2e;         --rv-ink: oklch(0.2338 0.0357 249.58);
  --rv-ink2: #17293b;        --rv-ink2: oklch(0.2745 0.0412 249.54);
  --rv-accent-deep: #1c4f8a; --rv-accent-deep: oklch(0.4261 0.1118 254.49);
  --rv-accent: #2f86e0;      --rv-accent: oklch(0.6139 0.1588 252.68);
  --rv-accent-soft: #66acef; --rv-accent-soft: oklch(0.7260 0.1211 248.84);
  --rv-wash: #e7f1fc;        --rv-wash: oklch(0.9539 0.0183 250.59);
  --rv-wash-line: #c3ddf5;   --rv-wash-line: oklch(0.8860 0.0433 246.16);
  --rv-line: #d7e5f2;        --rv-line: oklch(0.9153 0.0233 246.05);
  --rv-paper: #fbfdff;       --rv-paper: oklch(0.9931 0.0034 247.86);
  --rv-text: #2b3947;        --rv-text: oklch(0.3382 0.0309 248.76);
  --rv-text-soft: #5f6f7e;   --rv-text-soft: oklch(0.5339 0.0305 246.68);
}

/* ============================================================================
   SITE-WIDE TYPE SYSTEM (retires Poppins as the headline face)
   Scoped to the front-end body so it never touches wp-admin. Applied only
   where the theme class is present; existing posts pick up the fonts but
   keep their own structure.
   ============================================================================ */
body.theme-money,
body.theme-ai,
body.theme-vpn {
  font-family: var(--rv-font-ui);
}
body.theme-money h1, body.theme-money h2, body.theme-money h3,
body.theme-money h4, body.theme-money h5, body.theme-money h6,
body.theme-money .entry-title, body.theme-money .page-title, body.theme-money .site-title,
body.theme-ai h1, body.theme-ai h2, body.theme-ai h3,
body.theme-ai h4, body.theme-ai h5, body.theme-ai h6,
body.theme-ai .entry-title, body.theme-ai .page-title, body.theme-ai .site-title,
body.theme-vpn h1, body.theme-vpn h2, body.theme-vpn h3,
body.theme-vpn h4, body.theme-vpn h5, body.theme-vpn h6,
body.theme-vpn .entry-title, body.theme-vpn .page-title, body.theme-vpn .site-title {
  font-family: var(--rv-font-display);
  font-weight: 500;
  letter-spacing: -0.015em;
}

/* ============================================================================
   TYPE-SCALE UTILITY CLASSES
   ============================================================================ */
.rv-kicker {
  display: inline-block;
  font-family: var(--rv-font-mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rv-accent-deep);
  margin: 0 0 10px;
}
.rv-display {
  font-family: var(--rv-font-display);
  font-weight: 500;
  font-size: clamp(34px, 5vw, 52px);
  line-height: 1.04;
  letter-spacing: -0.025em;
  color: var(--rv-ink);
}
.rv-h2 {
  font-family: var(--rv-font-display);
  font-weight: 500;
  font-size: clamp(24px, 3.4vw, 30px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--rv-ink);
}
.rv-body {
  font-family: var(--rv-font-ui);
  font-size: 17px;
  line-height: 1.65;
  color: var(--rv-text);
}
.rv-measure { max-width: var(--rv-measure); }
.rv-quote {
  font-family: var(--rv-font-display);
  font-style: italic;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.35;
  color: var(--rv-ink);
}
.rv-mono { font-family: var(--rv-font-mono); }

/* ============================================================================
   BUTTONS · LINKS · BADGES · RATING
   ============================================================================ */
.rv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--rv-font-ui);
  font-weight: 600;
  font-size: 15px;
  line-height: 1.2;
  padding: 13px 24px;
  border-radius: 7px;
  border: 1.5px solid transparent;
  text-decoration: none;
  cursor: pointer;
  transition: filter 0.15s ease, background-color 0.15s ease, transform 0.05s ease;
}
.rv-btn:hover { filter: brightness(1.06); }
.rv-btn:active { transform: translateY(1px); }
.rv-btn--primary { background: var(--rv-accent-deep); color: #fff; }
.rv-btn--primary:hover { color: #fff; }
.rv-btn--ghost {
  background: #fff;
  color: var(--rv-accent-deep);
  border-color: var(--rv-wash-line);
}
.rv-btn--onaccent { background: var(--rv-accent); color: var(--rv-ink); }
.rv-btn--onaccent:hover { color: var(--rv-ink); }
.rv-btn--block { display: flex; width: 100%; }

.rv-link {
  display: inline-block;
  font-family: var(--rv-font-ui);
  font-weight: 600;
  font-size: 14px;
  color: var(--rv-accent-deep);
  text-decoration: none;
  border-bottom: 2px solid var(--rv-accent);
  padding-bottom: 2px;
  cursor: pointer;
}
.rv-link:hover { color: var(--rv-accent-deep); border-bottom-color: var(--rv-accent-deep); }

.rv-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--rv-font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 99px;
  border: 1px solid transparent;
}
.rv-badge--accent { background: var(--rv-wash); color: var(--rv-accent-deep); border-color: var(--rv-wash-line); }
.rv-badge--neutral { background: #f4f7f5; color: var(--rv-text-soft); border-color: var(--rv-line); }
.rv-badge__dot { width: 7px; height: 7px; border-radius: 99px; background: var(--rv-accent); }

.rv-rating {
  font-family: var(--rv-font-mono);
  font-weight: 600;
  font-size: 22px;
  color: var(--rv-ink);
  letter-spacing: -0.01em;
}
.rv-rating__max { font-size: 12px; color: var(--rv-text-soft); margin-left: 1px; }

/* ============================================================================
   VERDICT / "OUR PICK" CARD
   ============================================================================ */
.rv-verdict {
  border: 1.5px solid var(--rv-wash-line);
  border-radius: 14px;
  overflow: hidden;
  margin: 0 0 32px;
}
.rv-verdict__bar {
  background: var(--rv-accent-deep);
  padding: 10px 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-family: var(--rv-font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #fff;
}
.rv-verdict__bar span:last-child { color: rgba(255, 255, 255, 0.8); font-weight: 500; }
.rv-verdict__body {
  background: var(--rv-wash);
  padding: 24px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 22px;
  align-items: center;
}
.rv-verdict__logo {
  width: 66px;
  height: 66px;
  border-radius: 13px;
  background: #fff;
  border: 1px solid var(--rv-wash-line);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--rv-font-display);
  font-weight: 600;
  font-size: 30px;
  color: var(--rv-accent-deep);
  flex: none;
}
.rv-verdict__name {
  font-family: var(--rv-font-display);
  font-weight: 600;
  font-size: 24px;
  margin: 0 0 4px;
  color: var(--rv-ink);
}
.rv-verdict__for { font-size: 14px; line-height: 1.5; margin: 0; color: var(--rv-text-soft); }
/* Qualitative award badge (replaces the old numeric score) */
.rv-verdict__badge {
  justify-self: end;
  align-self: center;
  font-family: var(--rv-font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rv-accent-deep);
  background: #fff;
  border: 1px solid var(--rv-wash-line);
  padding: 9px 15px;
  border-radius: 99px;
  white-space: nowrap;
}
.rv-verdict__actions {
  background: var(--rv-wash);
  padding: 0 24px 24px;
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
}

/* ============================================================================
   COMPARISON TABLE — horizontal scroll + sticky first column on mobile
   ============================================================================ */
.rv-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--rv-line);
  border-radius: 12px;
  margin: 0 0 32px;
}
.rv-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 560px;
  background: var(--rv-paper);
  font-family: var(--rv-font-ui);
}
.rv-table th,
.rv-table td {
  padding: 14px 12px;
  text-align: center;
  border-bottom: 1px solid var(--rv-line);
}
.rv-table thead th {
  font-family: var(--rv-font-display);
  font-weight: 600;
  font-size: 16px;
  color: var(--rv-ink);
  background: #f4f7f5;
  vertical-align: bottom;
}
.rv-table thead th.is-winner {
  background: var(--rv-accent-deep);
  color: #fff;
  border-bottom-color: var(--rv-accent-deep);
}
.rv-table thead th.is-winner small {
  display: block;
  font-family: var(--rv-font-mono);
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 3px;
}
/* sticky first column (row labels) */
.rv-table th:first-child,
.rv-table__rowhead {
  position: sticky;
  left: 0;
  background: var(--rv-paper);
  text-align: left;
  font-family: var(--rv-font-ui);
  font-size: 13px;
  font-weight: 600;
  color: var(--rv-text-soft);
  white-space: nowrap;
  z-index: 2;
}
.rv-table thead th:first-child { background: #f4f7f5; z-index: 3; }
.rv-table td.is-winner { background: var(--rv-wash); border-bottom-color: var(--rv-wash-line); color: var(--rv-ink); }
.rv-table .rv-score { font-family: var(--rv-font-mono); font-weight: 600; font-size: 17px; color: var(--rv-text); }
.rv-table td.is-winner .rv-score { color: var(--rv-accent-deep); }
.rv-table td.rv-mono { font-family: var(--rv-font-mono); font-size: 14px; color: var(--rv-text); }
.rv-table td.is-winner.rv-mono { color: var(--rv-ink); }
.rv-table tbody tr:last-child td { border-bottom: none; }
.rv-table .rv-btn { padding: 9px 12px; font-size: 13px; }

/* ============================================================================
   PROS / CONS
   ============================================================================ */
.rv-proscons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 0 0 28px;
}
.rv-pc { border-radius: 11px; padding: 20px 20px 8px; }
.rv-pc--pros { background: var(--rv-wash); border: 1px solid var(--rv-wash-line); }
.rv-pc--cons { background: var(--rv-paper); border: 1px solid var(--rv-line); }
.rv-pc__title {
  font-family: var(--rv-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin: 0 0 14px;
}
.rv-pc--pros .rv-pc__title { color: var(--rv-accent-deep); }
.rv-pc--cons .rv-pc__title { color: var(--rv-text-soft); }
.rv-pc ul { list-style: none; margin: 0; padding: 0; }
.rv-pc li {
  display: flex;
  gap: 11px;
  margin-bottom: 12px;
  font-size: 14.5px;
  line-height: 1.5;
}
.rv-pc--pros li { color: var(--rv-text); }
.rv-pc--cons li { color: var(--rv-text-soft); }
.rv-pc__mark {
  flex: none;
  width: 18px;
  height: 18px;
  border-radius: 99px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  margin-top: 1px;
}
.rv-pc--pros .rv-pc__mark { background: var(--rv-accent); color: #fff; }
.rv-pc--cons .rv-pc__mark { background: var(--rv-tan-wash); color: var(--rv-tan-ink); }

/* ============================================================================
   PULL QUOTE
   ============================================================================ */
.rv-pullquote {
  margin: 0 0 32px;
  padding: 4px 0 4px 28px;
  border-left: 3px solid var(--rv-accent);
}
.rv-pullquote .rv-quote { font-size: 26px; margin: 0; }

/* ============================================================================
   INLINE CTA BAND
   ============================================================================ */
.rv-cta {
  background: var(--rv-ink);
  border-radius: 12px;
  padding: 22px 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  flex-wrap: wrap;
  margin: 0 0 32px;
}
.rv-cta__kicker {
  font-family: var(--rv-font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--rv-accent);
  margin: 0 0 5px;
}
.rv-cta__title {
  font-family: var(--rv-font-display);
  font-weight: 500;
  font-size: 20px;
  color: #fff;
  margin: 0;
}

/* ============================================================================
   FAQ ACCORDION (native <details>, no JS)
   ============================================================================ */
.rv-faq { border-top: 1px solid var(--rv-line); }
.rv-faq details { border-bottom: 1px solid var(--rv-line); }
.rv-faq summary {
  list-style: none;
  cursor: pointer;
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-family: var(--rv-font-ui);
  font-weight: 600;
  font-size: 16px;
  color: var(--rv-ink);
}
.rv-faq summary::-webkit-details-marker { display: none; }
.rv-faq summary::after {
  content: '+';
  font-family: var(--rv-font-mono);
  font-size: 18px;
  color: var(--rv-text-soft);
  flex: none;
}
.rv-faq details[open] summary::after { content: '\2013'; color: var(--rv-accent-deep); }
.rv-faq__a {
  font-size: 15px;
  line-height: 1.6;
  color: var(--rv-text-soft);
  margin: 0 0 20px;
  max-width: 62ch;
}

/* ============================================================================
   HOMEPAGE HERO (component form — front-page.php mirrors this for the money site)
   ============================================================================ */
.rv-hero { background: var(--rv-ink); border-radius: 16px; padding: 48px 40px; }
.rv-hero__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 52px; align-items: center; }
.rv-hero__kicker {
  font-family: var(--rv-font-mono);
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--rv-accent);
  margin: 0 0 20px;
}
.rv-hero__title {
  font-family: var(--rv-font-display);
  font-weight: 500;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.02;
  letter-spacing: -0.025em;
  color: #fff;
  margin: 0 0 22px;
}
.rv-hero__title em { font-style: italic; color: var(--rv-accent); }
.rv-hero__sub { font-size: 19px; line-height: 1.6; color: rgba(255, 255, 255, 0.82); margin: 0 0 30px; max-width: 48ch; }
.rv-hero__actions { display: flex; align-items: center; gap: 22px; margin-bottom: 28px; flex-wrap: wrap; }
.rv-hero__actions .rv-link { color: #fff; border-bottom-color: rgba(255, 255, 255, 0.35); }
.rv-hero__cred { font-family: var(--rv-font-mono); font-size: 13px; letter-spacing: 0.04em; color: rgba(255, 255, 255, 0.6); margin: 0; }
.rv-hero__card { background: var(--rv-wash); border-radius: 14px; padding: 24px; border: 1px solid rgba(255, 255, 255, 0.14); }
.rv-hero__card-k {
  font-family: var(--rv-font-mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--rv-accent-deep);
  margin: 0 0 16px;
}
.rv-hero__meter { height: 6px; background: var(--rv-wash-line); border-radius: 99px; overflow: hidden; }
.rv-hero__meter i { display: block; height: 100%; background: var(--rv-accent); }

/* ============================================================================
   PINTEREST PIN — fixed 1000x1500 canvas (roundup + versus variants)
   ============================================================================ */
.rv-pin {
  width: 1000px;
  height: 1500px;
  background: var(--rv-paper);
  padding: 70px 64px;
  font-family: var(--rv-font-ui);
  color: var(--rv-text);
  display: flex;
  flex-direction: column;
}
.rv-pin__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 60px; }
.rv-pin__brand { font-family: var(--rv-font-display); font-weight: 600; font-size: 34px; color: var(--rv-ink); }
.rv-pin__stamp {
  font-family: var(--rv-font-mono);
  font-size: 20px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rv-accent-deep);
  background: var(--rv-wash);
  border: 1px solid var(--rv-wash-line);
  padding: 10px 20px;
  border-radius: 99px;
}
.rv-pin__kicker {
  font-family: var(--rv-font-mono);
  font-size: 26px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rv-accent-deep);
  margin: 0 0 20px;
}
.rv-pin__title {
  font-family: var(--rv-font-display);
  font-weight: 500;
  font-size: 96px;
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: var(--rv-ink);
  margin: 0 0 56px;
}
.rv-pin__list { display: flex; flex-direction: column; gap: 20px; }
.rv-pin__row {
  display: flex;
  align-items: center;
  gap: 28px;
  background: var(--rv-paper);
  border: 2px solid var(--rv-line);
  border-radius: 20px;
  padding: 28px 34px;
}
.rv-pin__row--lead { background: var(--rv-wash); border-color: var(--rv-wash-line); }
.rv-pin__rank {
  font-family: var(--rv-font-mono);
  font-weight: 600;
  font-size: 40px;
  color: var(--rv-accent-deep);
  width: 52px;
  flex: none;
}
.rv-pin__label { flex: 1; font-family: var(--rv-font-display); font-weight: 600; font-size: 44px; color: var(--rv-ink); }
.rv-pin__val { font-family: var(--rv-font-mono); font-weight: 600; font-size: 52px; color: var(--rv-accent-deep); }
.rv-pin__url {
  font-family: var(--rv-font-mono);
  font-size: 30px;
  letter-spacing: 0.06em;
  color: var(--rv-text-soft);
  margin: auto 0 0;
  text-align: center;
}
.rv-pin__vs { display: flex; align-items: center; justify-content: center; gap: 30px; margin: 40px 0; }
.rv-pin__vs h3 { font-family: var(--rv-font-display); font-weight: 600; font-size: 72px; color: var(--rv-ink); margin: 0; }
.rv-pin__vs span { font-family: var(--rv-font-mono); font-size: 34px; color: var(--rv-accent-deep); text-transform: uppercase; }
.rv-pin__img {
  flex: 1;
  border: 2px dashed var(--rv-wash-line);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--rv-text-soft);
  font-family: var(--rv-font-mono);
  font-size: 28px;
  margin-bottom: 40px;
}
.rv-pin__verdict { background: var(--rv-wash); border: 1px solid var(--rv-wash-line); border-radius: 20px; padding: 34px; text-align: center; }
.rv-pin__verdict b { display: block; font-family: var(--rv-font-mono); font-size: 26px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rv-accent-deep); margin-bottom: 12px; }
.rv-pin__verdict i { font-family: var(--rv-font-display); font-style: italic; font-size: 52px; color: var(--rv-ink); }

/* ============================================================================
   LOGO SEAL (CSS-only)
   ============================================================================ */
.rv-seal { display: inline-flex; align-items: center; gap: 12px; }
.rv-seal__mark {
  width: 38px;
  height: 38px;
  border-radius: 99px;
  border: 2.5px solid var(--rv-accent-deep);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.rv-seal__tick {
  width: 13px;
  height: 7px;
  border-left: 3px solid var(--rv-accent-deep);
  border-bottom: 3px solid var(--rv-accent-deep);
  transform: rotate(-45deg) translate(1px, -2px);
}
.rv-seal__word { font-family: var(--rv-font-display); font-weight: 600; font-size: 20px; letter-spacing: -0.01em; color: var(--rv-ink); }
.rv-seal__word em { font-style: normal; color: var(--rv-accent-deep); }

/* ============================================================================
   RESPONSIVE — verified at ~390px
   ============================================================================ */
@media (max-width: 782px) {
  .rv-hero { padding: 34px 22px; }
  .rv-hero__grid { grid-template-columns: 1fr; gap: 26px; }
  .rv-hero__sub { font-size: 16px; }

  /* Verdict: two-column grid; score drops under the name, left-aligned */
  .rv-verdict__body {
    grid-template-columns: auto 1fr;
    gap: 14px 16px;
  }
  .rv-verdict__badge {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .rv-proscons { grid-template-columns: 1fr; }

  .rv-cta { flex-direction: column; align-items: flex-start; }
  .rv-cta .rv-btn { width: 100%; }

  .rv-pullquote .rv-quote { font-size: 21px; }
}
