/* ==========================================================================
   Celliara Review V2 — Long-form body (premium editorial decision flow)
   Is this right for you → key facts → evidence → routine → inside the score
   → value & purchase terms → alternatives → common hesitations → FAQ →
   final verdict. Owner authority: docs/design/REVIEW_V2_OWNER_DESIGN_AUTHORITY.md.
   Tokens and shared primitives: review-v2-hero.css. Premium components use
   the rv2p- namespace. One layer, no override stack.
   ========================================================================== */

.page-review-v2 .rv2-body {
  display: block;
  margin: 0;
  padding: 0;
  color: var(--rv2-copy);
  background: var(--rv2-ink);
  font-family: var(--rv2-sans);
  font-size: var(--rv2-text-body);
  line-height: var(--rv2-leading);
}

.page-review-v2 .rv2-container {
  width: 100%;
  max-width: var(--rv2-wide);
  margin: 0 auto;
  padding: 0 var(--rv2-gutter);
}

.page-review-v2 .rv2-section {
  padding: var(--rv2-section) 0;
  border-top: 1px solid var(--rv2-line);
}

.page-review-v2 .rv2-body :is(h2, h3) {
  color: var(--rv2-ivory);
  font-family: var(--rv2-serif);
  font-weight: 400;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

.page-review-v2 .rv2-body h2 {
  margin: 0;
  font-size: var(--rv2-display-2);
  line-height: 1.05;
}

.page-review-v2 .rv2-body h3 {
  margin: 0;
  font-size: var(--rv2-display-3);
  line-height: 1.15;
}

.page-review-v2 .rv2-body p {
  margin: 0 0 1em;
}

/* Low specificity so component colours (buttons, cards) always win. */
.page-review-v2 :where(.rv2-body) a {
  color: var(--rv2-gold-bright);
}

.page-review-v2 .rv2-eyebrow {
  margin: 0 0 10px;
  color: var(--rv2-gold-bright);
  font-family: var(--rv2-sans);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: var(--rv2-tracking-label);
  line-height: 1.3;
  text-transform: uppercase;
}

.page-review-v2 .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* --------------------------------------------------------------------------
   On this page
   -------------------------------------------------------------------------- */

.page-review-v2 .rv2-toc {
  border-bottom: 1px solid var(--rv2-line);
  background: #070706;
}

.page-review-v2 .rv2-toc__inner {
  display: flex;
  align-items: center;
  gap: 28px;
  min-height: 60px;
}

.page-review-v2 .rv2-toc__title {
  flex: none;
  margin: 0;
  color: var(--rv2-muted);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: var(--rv2-tracking-label);
  text-transform: uppercase;
}

.page-review-v2 .rv2-toc__list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-review-v2 .rv2-toc__list li {
  margin: 0;
}

.page-review-v2 .rv2-toc a {
  display: inline-block;
  padding: 10px 0;
  color: var(--rv2-copy);
  font-size: var(--rv2-text-small);
  line-height: 1.3;
  text-decoration: none;
  transition: color var(--rv2-duration) var(--rv2-ease);
}

.page-review-v2 .rv2-toc a:hover, .page-review-v2 .rv2-toc a[aria-current="true"] {
  color: var(--rv2-gold-bright);
}

.page-review-v2 .rv2-toc__mobile {
  display: none;
}

/* --------------------------------------------------------------------------
   Key facts
   -------------------------------------------------------------------------- */

.page-review-v2 .rv2-source {
  margin: 4px 0 0;
  color: var(--rv2-muted);
  font-size: var(--rv2-text-label);
}

/* --------------------------------------------------------------------------
   Evidence chapters and routine
   -------------------------------------------------------------------------- */

.page-review-v2 .rv2-chapters__sticky {
  position: sticky;
  top: calc(var(--rv2-header-h) + 32px);
  max-height: calc(100vh - var(--rv2-header-h) - 64px);
  overflow-y: auto;
}

.page-review-v2 .rv2-chapters__sticky > p:not(.rv2-eyebrow) {
  margin: 14px 0 0;
  font-size: var(--rv2-text-small);
  line-height: 1.6;
}

.page-review-v2 .rv2-chapters__sticky ol {
  display: grid;
  gap: 0;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--rv2-line);
}

.page-review-v2 .rv2-chapters__sticky li {
  margin: 0;
  border-bottom: 1px solid var(--rv2-line);
}

.page-review-v2 .rv2-chapters__sticky a {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 6px;
  padding: 11px 0;
  color: var(--rv2-copy);
  font-size: 0.8125rem;
  line-height: 1.45;
  text-decoration: none;
  transition: color var(--rv2-duration) var(--rv2-ease);
}

.page-review-v2 .rv2-chapters__sticky a span {
  color: var(--rv2-gold);
  font-variant-numeric: tabular-nums;
}

.page-review-v2 .rv2-chapters__sticky a:hover, .page-review-v2 .rv2-chapters__sticky a.is-active {
  color: var(--rv2-ivory);
}

.page-review-v2 .rv2-analysis {
  margin-top: 26px;
}

.page-review-v2 .rv2-analysis > :last-child, .page-review-v2 .rv2-prose > :last-child {
  margin-bottom: 0;
}

.page-review-v2 .rv2-analysis strong, .page-review-v2 .rv2-prose strong {
  color: var(--rv2-ivory);
  font-weight: 600;
}

.page-review-v2 .rv2-analysis em {
  color: var(--rv2-ivory);
}

.page-review-v2 .rv2-analysis h3, .page-review-v2 .rv2-prose h3 {
  margin: 36px 0 12px;
  font-size: 1.625rem;
}

.page-review-v2 .rv2-analysis a, .page-review-v2 .rv2-prose a {
  text-decoration: underline;
  text-decoration-color: var(--rv2-gold-line);
  text-underline-offset: 3px;
}

/* Routine steps arrive as callout blocks in the editorial body. */
.page-review-v2 .rv2-body .callout-block {
  margin: 28px 0;
  padding: 0;
  border: 0;
  background: none;
}

.page-review-v2 .rv2-body .callout-block__type {
  margin: 0 0 8px;
  color: var(--rv2-gold-bright);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: var(--rv2-tracking-label);
  text-transform: uppercase;
}

.page-review-v2 .rv2-body .callout-block__body > :last-child {
  margin-bottom: 0;
}

.page-review-v2 .rv2-body .callout-block--tip {
  padding-top: 22px;
  border-top: 1px solid var(--rv2-line);
}

.page-review-v2 .rv2-body .callout-block--warning {
  padding: 2px 0 2px 20px;
  border-left: 1px solid var(--rv2-caution);
}

.page-review-v2 .rv2-analysis__toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  margin-top: 8px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--rv2-gold-bright);
  font-family: var(--rv2-sans);
  font-size: var(--rv2-text-ui);
  font-weight: 600;
  cursor: pointer;
  touch-action: manipulation;
}

.page-review-v2 .rv2-analysis__toggle::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform var(--rv2-duration) var(--rv2-ease);
}

.page-review-v2 .rv2-analysis__toggle[aria-expanded="true"]::after {
  transform: translateY(2px) rotate(-135deg);
}

.page-review-v2 .rv2-analysis__toggle[hidden] {
  display: none;
}

/* --------------------------------------------------------------------------
   FAQ
   -------------------------------------------------------------------------- */

.page-review-v2 .rv2-faqs {
  border-top: 1px solid var(--rv2-line);
}

.page-review-v2 .rv2-faqs details {
  border-bottom: 1px solid var(--rv2-line);
}

.page-review-v2 .rv2-faqs summary {
  position: relative;
  display: block;
  padding: 20px 44px 20px 0;
  color: var(--rv2-ivory);
  font-size: var(--rv2-text-body);
  font-weight: 500;
  line-height: 1.45;
  list-style: none;
  cursor: pointer;
}

.page-review-v2 .rv2-faqs summary::-webkit-details-marker {
  display: none;
}

.page-review-v2 .rv2-faqs summary::before, .page-review-v2 .rv2-faqs summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 6px;
  width: 14px;
  height: 1.5px;
  background: var(--rv2-gold-bright);
  transition: transform var(--rv2-duration) var(--rv2-ease);
}

.page-review-v2 .rv2-faqs summary::after {
  transform: rotate(90deg);
}

.page-review-v2 .rv2-faqs details[open] summary::after {
  transform: rotate(0deg);
}

.page-review-v2 .rv2-faqs summary:hover {
  color: var(--rv2-gold-bright);
}

.page-review-v2 .rv2-faqs details > div {
  padding: 0 0 22px;
}

/* --------------------------------------------------------------------------
   Mobile purchase bar (appears only after every in-page offer has left view)
   -------------------------------------------------------------------------- */

.page-review-v2 .rv2-buybar {
  display: none;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 900px) {
  

  .page-review-v2 .rv2-chapters__sticky {
    position: static;
    max-height: none;
  }

  .page-review-v2 .rv2-chapters__sticky nav {
    display: none;
  }
}

@media (max-width: 760px) {
  .page-review-v2 .rv2-body {
    padding-bottom: 84px;
  }

  .page-review-v2 .rv2-section {
    padding: 56px 0;
  }

  

  

  /* Compact, pinned "On this page" disclosure. */
  .page-review-v2 .rv2-toc {
    position: sticky;
    top: var(--rv2-header-h);
    z-index: var(--rv2-z-sticky);
    border-bottom-color: var(--rv2-gold-line);
    background: rgba(7, 7, 6, 0.97);
  }

  .page-review-v2 .rv2-toc__inner {
    display: none;
  }

  .page-review-v2 .rv2-toc__mobile {
    display: block;
  }

  .page-review-v2 .rv2-toc__mobile summary {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 0 18px;
    color: var(--rv2-ivory);
    font-size: var(--rv2-text-small);
    list-style: none;
    cursor: pointer;
  }

  .page-review-v2 .rv2-toc__mobile summary::-webkit-details-marker {
    display: none;
  }

  .page-review-v2 .rv2-toc__mobile summary::after {
    content: "";
    width: 7px;
    height: 7px;
    margin-left: auto;
    border-right: 1.5px solid var(--rv2-gold-bright);
    border-bottom: 1.5px solid var(--rv2-gold-bright);
    transform: translateY(-2px) rotate(45deg);
    transition: transform var(--rv2-duration) var(--rv2-ease);
  }

  .page-review-v2 .rv2-toc__mobile[open] summary::after {
    transform: translateY(2px) rotate(-135deg);
  }

  .page-review-v2 .rv2-toc__mobile-title {
    color: var(--rv2-muted);
    font-size: var(--rv2-text-label);
    font-weight: 600;
    letter-spacing: var(--rv2-tracking-label);
    text-transform: uppercase;
  }

  .page-review-v2 .rv2-toc__current {
    overflow: hidden;
    color: var(--rv2-ivory);
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .page-review-v2 .rv2-toc__mobile ol {
    margin: 0;
    padding: 4px 18px 12px;
    list-style: none;
    border-top: 1px solid var(--rv2-line);
  }

  .page-review-v2 .rv2-toc__mobile li {
    margin: 0;
  }

  .page-review-v2 .rv2-toc__mobile a {
    display: block;
    padding: 12px 0;
    font-size: var(--rv2-text-ui);
  }

  

  

  

  

  .page-review-v2 .rv2-meaning__text {
    font-size: 1.0625rem;
  }

  /* Deep analysis previews on mobile; the full text stays in the document. */
  .page-review-v2 .rv2-analysis.is-collapsed {
    max-height: 9.5em;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(180deg, #000 45%, transparent);
    mask-image: linear-gradient(180deg, #000 45%, transparent);
  }

  

  

  

  
  
  
  
  
  
  
  

  

  

  

  

  .page-review-v2 .rv2-buybar {
    position: fixed;
    right: 10px;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    left: 10px;
    z-index: var(--rv2-z-bar);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 44px;
    align-items: center;
    gap: 10px;
    padding: 8px 4px 8px 14px;
    border: 1px solid var(--rv2-gold-line);
    border-radius: 8px;
    background: rgba(11, 11, 9, 0.96);
    box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.45);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    transform: translateY(0);
    opacity: 1;
    transition: transform 200ms var(--rv2-ease), opacity 200ms var(--rv2-ease), visibility 0s;
  }

  .page-review-v2 .rv2-buybar[hidden] {
    display: none;
  }

  .page-review-v2 .rv2-buybar:not(.is-visible) {
    visibility: hidden;
    opacity: 0;
    transform: translateY(calc(100% + 16px));
    transition: transform 160ms var(--rv2-ease), opacity 160ms var(--rv2-ease), visibility 0s 160ms;
  }

  .page-review-v2 .rv2-buybar__summary {
    display: grid;
    gap: 2px;
    min-width: 0;
    margin: 0;
    line-height: 1.25;
  }

  .page-review-v2 .rv2-buybar__summary strong {
    color: var(--rv2-ivory);
    font-family: var(--rv2-serif);
    font-size: 1.375rem;
    font-weight: 500;
    font-variant-numeric: lining-nums tabular-nums;
    line-height: 1;
  }

  .page-review-v2 .rv2-buybar__summary span {
    overflow: hidden;
    color: var(--rv2-copy);
    font-size: var(--rv2-text-label);
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .page-review-v2 .rv2-buybar__close {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    padding: 0;
    border: 0;
    background: none;
    color: var(--rv2-muted);
    cursor: pointer;
  }

  .page-review-v2 .rv2-buybar__close svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
  }
}

/* ==========================================================================
   Premium editorial components
   ========================================================================== */

.page-review-v2 .rv2p {
  --rv2p-card: linear-gradient(180deg, #11110f 0%, #0c0d0b 100%);
  --rv2p-card-border: rgba(200, 168, 106, 0.22);
  --rv2p-card-border-strong: rgba(200, 168, 106, 0.42);
  --rv2p-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
  --rv2p-ring: rgba(200, 168, 106, 0.7);
  background:
    radial-gradient(circle at 15% 0%, rgba(121, 61, 24, 0.06), transparent 30%),
    var(--rv2-ink);
}

/* --------------------------------------------------------------------------
   Shared premium primitives
   -------------------------------------------------------------------------- */

.page-review-v2 .rv2p .rv2p-icon {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.25;
}

.page-review-v2 .rv2p .rv2p-ring {
  display: inline-grid;
  flex: none;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid var(--rv2p-ring);
  border-radius: 50%;
  color: var(--rv2-gold-bright);
  background: radial-gradient(circle, rgba(200, 168, 106, 0.08), transparent 70%);
}

.page-review-v2 .rv2p .rv2p-ring--sm {
  width: 32px;
  height: 32px;
}

.page-review-v2 .rv2p .rv2p-ring--sm .rv2p-icon {
  width: 17px;
  height: 17px;
}

.page-review-v2 .rv2p .rv2p-panel {
  border: 1px solid var(--rv2p-card-border);
  border-radius: var(--rv2-radius);
  background: var(--rv2p-card);
  box-shadow: var(--rv2p-shadow);
}

.page-review-v2 .rv2p .rv2p-panel__label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: var(--rv2-gold-bright);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-panel__label .rv2p-icon {
  width: 16px;
  height: 16px;
}

.page-review-v2 .rv2p .rv2p-ornament {
  display: flex;
  align-items: center;
  gap: 14px;
  width: min(280px, 70%);
  margin: 22px auto 0;
  color: var(--rv2-gold-bright);
}

.page-review-v2 .rv2p .rv2p-ornament span {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--rv2-gold-line));
}

.page-review-v2 .rv2p .rv2p-ornament span:last-child {
  background: linear-gradient(90deg, var(--rv2-gold-line), transparent);
}

.page-review-v2 .rv2p .rv2p-ornament i {
  font-size: 0.8rem;
  font-style: normal;
}

/* Rich section openers: centred editorial chapter starts. */
.page-review-v2 .rv2p .rv2p-opener {
  max-width: 760px;
  margin: 0 auto 44px;
  text-align: center;
}

.page-review-v2 .rv2p .rv2p-opener h2 {
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  line-height: 1.02;
}

.page-review-v2 .rv2p .rv2p-opener > p:not(.rv2-eyebrow) {
  max-width: 36em;
  margin: 14px auto 0;
  color: var(--rv2-copy);
  font-size: var(--rv2-text-ui);
  line-height: 1.6;
}

.page-review-v2 .rv2p .rv2p-opener--split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px;
  align-items: end;
  max-width: none;
  text-align: left;
}

.page-review-v2 .rv2p .rv2p-opener--split > p:not(.rv2-eyebrow) {
  margin: 0;
}

/* What this means for you — the conversion payoff, integrated as a premium inset. */
.page-review-v2 .rv2p .rv2p-meaning {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  margin: 22px 0 0;
  padding: 20px 22px;
  border: 1px solid var(--rv2p-card-border-strong);
  border-left: 3px solid var(--rv2-gold);
  border-radius: var(--rv2-radius);
  background: linear-gradient(120deg, rgba(200, 168, 106, 0.1), rgba(200, 168, 106, 0.025) 60%, transparent);
}

.page-review-v2 .rv2p .rv2p-meaning__icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  color: #0a0906;
  background: linear-gradient(120deg, #efcf7b, #d6a83b);
}

.page-review-v2 .rv2p .rv2p-meaning__icon .rv2p-icon {
  width: 18px;
  height: 18px;
  stroke-width: 1.6;
}

.page-review-v2 .rv2p .rv2p-meaning__label {
  margin: 0 0 6px;
  color: var(--rv2-gold-bright);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-meaning__text {
  margin: 0;
  color: var(--rv2-ivory);
  font-size: 1.125rem;
  line-height: 1.6;
}

/* Gold primary CTA (the original offer-card treatment). */
.page-review-v2 .rv2p .rv2p-cta {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 56px;
  padding: 12px 18px;
  border: 1px solid var(--rv2-gold);
  border-radius: var(--rv2-radius);
  color: #0a0906;
  background: linear-gradient(120deg, #f3d276, #dba82f);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.34), 0 14px 36px rgba(219, 168, 47, 0.16);
  font-size: 1.0625rem;
  font-weight: 700;
  text-decoration: none;
  transition: filter var(--rv2-duration) var(--rv2-ease), transform var(--rv2-duration) var(--rv2-ease);
}

.page-review-v2 .rv2p .rv2p-cta span {
  flex: 1;
}

.page-review-v2 .rv2p .rv2p-cta .rv2p-icon {
  stroke-width: 1.6;
}

.page-review-v2 .rv2p .rv2p-cta:hover {
  color: #0a0906;
  filter: brightness(1.06);
}

.page-review-v2 .rv2p .rv2p-cta:active {
  transform: translateY(1px);
}

.page-review-v2 .rv2p .rv2p-cta--quiet {
  color: var(--rv2-ivory);
  background: transparent;
  border-color: var(--rv2-line-strong);
  box-shadow: none;
}

/* Dark product stage with warm glow (from the hero language). */
.page-review-v2 .rv2p .rv2p-stage {
  position: relative;
  display: grid;
  height: 190px;
  place-items: center;
  overflow: hidden;
  border-radius: var(--rv2-radius-sm);
  background:
    radial-gradient(ellipse at 50% 82%, rgba(137, 57, 25, 0.38), transparent 58%),
    radial-gradient(circle at 50% 40%, rgba(255, 218, 163, 0.06), transparent 60%),
    #070706;
}

.page-review-v2 .rv2p .rv2p-stage__glow {
  position: absolute;
  left: 20%;
  right: 20%;
  bottom: 12%;
  height: 18%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(155, 58, 25, 0.4), transparent 70%);
  filter: blur(10px);
}

.page-review-v2 .rv2p .rv2p-stage img {
  position: relative;
  max-width: 82%;
  max-height: 88%;
  object-fit: contain;
  filter: drop-shadow(0 22px 22px rgba(0, 0, 0, 0.7));
}

.page-review-v2 .rv2p .rv2p-stage__empty {
  position: relative;
  color: var(--rv2-muted);
  font-family: var(--rv2-serif);
  font-size: 1.5rem;
}

.page-review-v2 .rv2p .rv2p-stage--hero {
  height: 300px;
}

/* --------------------------------------------------------------------------
   Is this right for you?
   -------------------------------------------------------------------------- */

.page-review-v2 .rv2p .rv2p-fit__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-review-v2 .rv2p .rv2p-fit__card {
  flex: 1 1 300px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 24px 20px;
  border: 1px solid var(--rv2p-card-border);
  border-top: 2px solid var(--rv2-gold);
  border-radius: var(--rv2-radius);
  background: var(--rv2p-card);
  box-shadow: var(--rv2p-shadow);
}

.page-review-v2 .rv2p .rv2p-fit__card--option {
  border-top-color: var(--rv2-caution);
}

.page-review-v2 .rv2p .rv2p-fit__card--consider {
  border-top-color: var(--rv2-line-strong);
}

.page-review-v2 .rv2p .rv2p-fit__card .rv2p-ring {
  margin-bottom: 6px;
}

.page-review-v2 .rv2p .rv2p-fit__dimension {
  margin: 0;
  color: var(--rv2-muted);
  font-size: var(--rv2-text-label);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-fit__card h3 {
  font-size: 1.45rem;
  line-height: 1.15;
}

.page-review-v2 .rv2p .rv2p-fit__badge {
  align-self: flex-start;
  margin: 0;
  padding: 3px 10px;
  border: 1px solid var(--rv2-gold-line);
  border-radius: 999px;
  color: var(--rv2-gold-bright);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: 0.06em;
}

.page-review-v2 .rv2p .rv2p-fit__card--option .rv2p-fit__badge {
  border-color: rgba(217, 180, 103, 0.45);
  color: var(--rv2-caution);
}

.page-review-v2 .rv2p .rv2p-fit__card--consider .rv2p-fit__badge {
  border-color: var(--rv2-line-strong);
  color: var(--rv2-ivory);
}

.page-review-v2 .rv2p .rv2p-fit__detail {
  margin: 4px 0 0;
  color: var(--rv2-copy);
  font-size: var(--rv2-text-small);
  line-height: 1.55;
}

/* --------------------------------------------------------------------------
   At a glance
   -------------------------------------------------------------------------- */

.page-review-v2 .rv2p .rv2p-facts__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  align-items: start;
}

.page-review-v2 .rv2p .rv2p-facts__group {
  padding: 22px 22px 8px;
}

.page-review-v2 .rv2p .rv2p-facts__group h3 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 10px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--rv2p-card-border);
  color: var(--rv2-gold-bright);
  font-family: var(--rv2-sans);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-facts__group dl {
  margin: 0;
}

.page-review-v2 .rv2p .rv2p-facts__group dl > div {
  padding: 12px 0;
  border-bottom: 1px solid var(--rv2-line);
}

.page-review-v2 .rv2p .rv2p-facts__group dl > div:last-child {
  border-bottom: 0;
}

.page-review-v2 .rv2p .rv2p-facts__group dt {
  color: var(--rv2-muted);
  font-size: var(--rv2-text-label);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-facts__group dd {
  margin: 4px 0 0;
  color: var(--rv2-ivory);
  font-family: var(--rv2-serif);
  font-size: 1.25rem;
  line-height: 1.3;
  overflow-wrap: break-word;
}

/* --------------------------------------------------------------------------
   Premium evidence chapters
   -------------------------------------------------------------------------- */

.page-review-v2 .rv2p .rv2p-chapters {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: start;
}

/* The rail spans the full chapter run so its sticky panel can travel with the reading. */
.page-review-v2 .rv2p .rv2p-rail {
  align-self: stretch;
}

.page-review-v2 .rv2p .rv2p-rail h2 {
  font-size: clamp(2.6rem, 4vw, 3.6rem);
  line-height: 0.98;
}

.page-review-v2 .rv2p .rv2p-rail .rv2-chapters__sticky > p:not(.rv2-eyebrow):not(.rv2p-rail__progress) {
  margin: 14px 0 0;
  color: var(--rv2-copy);
  font-size: var(--rv2-text-small);
  line-height: 1.6;
}

.page-review-v2 .rv2p .rv2p-rail ol {
  display: grid;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--rv2p-card-border);
}

.page-review-v2 .rv2p .rv2p-rail li {
  margin: 0;
  border-bottom: 1px solid var(--rv2-line);
}

.page-review-v2 .rv2p .rv2p-rail a {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 6px;
  padding: 11px 0 11px 10px;
  border-left: 2px solid transparent;
  color: var(--rv2-copy);
  font-size: 0.8125rem;
  line-height: 1.45;
  text-decoration: none;
  transition: color var(--rv2-duration) var(--rv2-ease), border-color var(--rv2-duration) var(--rv2-ease), background-color var(--rv2-duration) var(--rv2-ease);
}

.page-review-v2 .rv2p .rv2p-rail a span {
  color: var(--rv2-gold);
  font-family: var(--rv2-serif);
  font-size: 1rem;
  line-height: 1.2;
}

.page-review-v2 .rv2p .rv2p-rail a:hover,
.page-review-v2 .rv2p .rv2p-rail a.is-active {
  border-left-color: var(--rv2-gold);
  background: rgba(200, 168, 106, 0.06);
  color: var(--rv2-ivory);
}

.page-review-v2 .rv2p .rv2p-rail__progress {
  display: grid;
  gap: 8px;
  margin: 20px 0 0;
  color: var(--rv2-muted);
  font-size: var(--rv2-text-label);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-rail__progress i {
  display: block;
  height: 2px;
  background: rgba(255, 255, 255, 0.1);
}

.page-review-v2 .rv2p .rv2p-rail__progress b {
  display: block;
  height: 100%;
  background: var(--rv2-gold-bright);
  transition: width 200ms var(--rv2-ease);
}

.page-review-v2 .rv2p .rv2p-stream {
  display: grid;
  gap: 28px;
  min-width: 0;
}

.page-review-v2 .rv2p .rv2p-chapter {
  padding: clamp(26px, 3vw, 40px);
  border: 1px solid var(--rv2p-card-border);
  border-radius: var(--rv2-radius);
  background: var(--rv2p-card);
  box-shadow: var(--rv2p-shadow);
}

.page-review-v2 .rv2p .rv2p-chapter__head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--rv2p-card-border);
}

.page-review-v2 .rv2p .rv2p-chapter__number {
  display: grid;
  width: 64px;
  height: 64px;
  place-items: center;
  border: 1px solid var(--rv2p-ring);
  border-radius: 50%;
  color: var(--rv2-gold-bright);
  background: radial-gradient(circle, rgba(200, 168, 106, 0.1), transparent 70%);
  font-family: var(--rv2-serif);
  font-size: 1.9rem;
  line-height: 1;
}

.page-review-v2 .rv2p .rv2p-chapter__topic {
  margin: 0 0 6px;
  color: var(--rv2-gold-bright);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-chapter h3 {
  font-size: clamp(1.7rem, 2.3vw, 2.25rem);
  line-height: 1.1;
}

.page-review-v2 .rv2p .rv2p-chapter__summary {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 16px;
  margin-top: 24px;
}

.page-review-v2 .rv2p .rv2p-chapter__summary > :only-child {
  grid-column: 1 / -1;
}

.page-review-v2 .rv2p .rv2p-known {
  padding: 18px 20px;
  background: #090908;
  box-shadow: none;
}

.page-review-v2 .rv2p .rv2p-known dl {
  margin: 0;
}

.page-review-v2 .rv2p .rv2p-known dl > div + div {
  margin-top: 12px;
}

.page-review-v2 .rv2p .rv2p-known dt {
  color: var(--rv2-muted);
  font-size: var(--rv2-text-label);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-known dd {
  margin: 3px 0 0;
  color: var(--rv2-ivory);
  font-size: var(--rv2-text-ui);
  line-height: 1.45;
}

.page-review-v2 .rv2p .rv2p-matters {
  margin: 0;
  padding: 18px 22px;
  border-left: 3px solid var(--rv2-gold);
  background: linear-gradient(120deg, rgba(200, 168, 106, 0.06), #0f0f0d 70%);
  box-shadow: none;
}

.page-review-v2 .rv2p .rv2p-matters p:last-child {
  margin: 0;
  color: var(--rv2-ivory);
  font-family: var(--rv2-serif);
  font-size: 1.375rem;
  line-height: 1.38;
}

.page-review-v2 .rv2p .rv2p-analysis {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid var(--rv2-line);
}

.page-review-v2 .rv2p .rv2p-analysis__label {
  margin: 0 0 12px;
  color: var(--rv2-muted);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   The routine in real life
   -------------------------------------------------------------------------- */

.page-review-v2 .rv2p .rv2p-routine__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-review-v2 .rv2p .rv2p-routine__grid li {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 22px 18px;
  text-align: center;
  align-items: center;
}

.page-review-v2 .rv2p .rv2p-routine__label {
  margin: 10px 0 0;
  color: var(--rv2-muted);
  font-size: var(--rv2-text-label);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-routine__value {
  margin: 0;
  color: var(--rv2-ivory);
  font-family: var(--rv2-serif);
  font-size: 1.6rem;
  line-height: 1.15;
}

.page-review-v2 .rv2p .rv2p-routine__note {
  margin: 4px 0 0;
  color: var(--rv2-copy);
  font-size: 0.8125rem;
  line-height: 1.5;
}

.page-review-v2 .rv2p .rv2p-routine__body {
  max-width: var(--rv2-reading);
  margin: 32px auto 0;
}

/* --------------------------------------------------------------------------
   Why it scored
   -------------------------------------------------------------------------- */

.page-review-v2 .rv2p .rv2p-factors__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-review-v2 .rv2p .rv2p-factor {
  margin: 0;
  padding: 22px;
}

.page-review-v2 .rv2p .rv2p-factor__name {
  margin: 0;
  color: var(--rv2-ivory);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-factor__score {
  margin: 10px 0 8px;
}

.page-review-v2 .rv2p .rv2p-factor__score strong {
  color: var(--rv2-gold-bright);
  font-family: var(--rv2-serif);
  font-size: 2.75rem;
  font-weight: 500;
  line-height: 1;
}

.page-review-v2 .rv2p .rv2p-factor__score span {
  margin-left: 3px;
  color: var(--rv2-ivory);
  font-size: var(--rv2-text-small);
}

.page-review-v2 .rv2p .rv2p-factor__bar {
  display: block;
  height: 2px;
  margin-bottom: 14px;
  background: rgba(255, 255, 255, 0.12);
}

.page-review-v2 .rv2p .rv2p-factor__bar b {
  display: block;
  height: 100%;
  background: var(--rv2-gold-bright);
}

.page-review-v2 .rv2p .rv2p-factor__reason {
  margin: 0;
  color: var(--rv2-copy);
  font-size: var(--rv2-text-small);
  line-height: 1.55;
}


/* --------------------------------------------------------------------------
   Value and purchase protection
   -------------------------------------------------------------------------- */

.page-review-v2 .rv2p .rv2p-value__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
  gap: clamp(28px, 4vw, 56px);
  padding: clamp(26px, 3.5vw, 48px);
  background:
    radial-gradient(circle at 85% 15%, rgba(200, 168, 106, 0.07), transparent 40%),
    var(--rv2p-card);
}

.page-review-v2 .rv2p .rv2p-value__copy h2 {
  margin-bottom: 18px;
}

.page-review-v2 .rv2p .rv2p-value__judgment {
  margin: 20px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid var(--rv2p-card-border);
  color: var(--rv2-ivory);
}

.page-review-v2 .rv2p .rv2p-value__judgment span {
  display: block;
  margin-bottom: 6px;
  color: var(--rv2-gold-bright);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-value__side {
  padding-left: clamp(0px, 3vw, 40px);
  border-left: 1px solid var(--rv2p-card-border);
}

.page-review-v2 .rv2p .rv2p-value__side > .rv2p-cta {
  margin-top: 22px;
}

.page-review-v2 .rv2p .rv2p-value__price {
  display: grid;
  gap: 4px;
  margin: 0 0 22px;
}

.page-review-v2 .rv2p .rv2p-value__price span,
.page-review-v2 .rv2p .rv2p-protect__title {
  color: var(--rv2-gold-bright);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-value__price strong {
  color: var(--rv2-ivory);
  font-family: var(--rv2-serif);
  font-size: 3.25rem;
  font-weight: 500;
  line-height: 1;
}

.page-review-v2 .rv2p .rv2p-value__price small {
  color: var(--rv2-copy);
  font-size: var(--rv2-text-small);
}

.page-review-v2 .rv2p .rv2p-protect__title {
  margin: 0 0 12px;
}

.page-review-v2 .rv2p .rv2p-protect {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-review-v2 .rv2p .rv2p-protect li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin: 0;
  color: var(--rv2-copy);
  font-size: var(--rv2-text-small);
  line-height: 1.4;
}

.page-review-v2 .rv2p .rv2p-protect li > span:last-child {
  display: grid;
  gap: 1px;
}

.page-review-v2 .rv2p .rv2p-protect strong {
  color: var(--rv2-ivory);
  font-weight: 600;
}

.page-review-v2 .rv2p .rv2p-protect .rv2p-ring {
  width: 40px;
  height: 40px;
}

.page-review-v2 .rv2p .rv2p-protect__offer .rv2p-ring {
  color: #0a0906;
  background: linear-gradient(120deg, #efcf7b, #d6a83b);
  border-color: var(--rv2-gold);
}

.page-review-v2 .rv2p .rv2p-protect--compact {
  gap: 10px;
  margin: 0 0 20px;
}

.page-review-v2 .rv2p .rv2p-protect--compact .rv2p-ring {
  width: 34px;
  height: 34px;
}

.page-review-v2 .rv2p .rv2p-protect--compact .rv2p-icon {
  width: 18px;
  height: 18px;
}

/* --------------------------------------------------------------------------
   Alternatives
   -------------------------------------------------------------------------- */

.page-review-v2 .rv2p .rv2p-compare__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-review-v2 .rv2p .rv2p-alt {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  padding: 20px;
  border: 1px solid var(--rv2p-card-border);
  border-radius: var(--rv2-radius);
  background: var(--rv2p-card);
  box-shadow: var(--rv2p-shadow);
  transition: border-color var(--rv2-duration) var(--rv2-ease), transform var(--rv2-duration) var(--rv2-ease);
}

.page-review-v2 .rv2p .rv2p-alt:hover {
  border-color: var(--rv2p-card-border-strong);
  transform: translateY(-2px);
}

.page-review-v2 .rv2p .rv2p-alt--current {
  border-color: var(--rv2p-card-border-strong);
  box-shadow: var(--rv2p-shadow), inset 0 2px 0 var(--rv2-gold);
}

.page-review-v2 .rv2p .rv2p-alt__ribbon {
  align-self: flex-start;
  margin: 0 0 14px;
  padding: 4px 10px;
  border: 1px solid var(--rv2-gold-line);
  border-radius: 3px;
  color: var(--rv2-gold-bright);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-alt--current .rv2p-alt__ribbon {
  color: #0a0906;
  background: linear-gradient(120deg, #efcf7b, #d6a83b);
  border-color: var(--rv2-gold);
}

.page-review-v2 .rv2p .rv2p-alt h3 {
  margin: 18px 0 0;
  font-size: 1.5rem;
  line-height: 1.18;
  overflow-wrap: break-word;
}

.page-review-v2 .rv2p .rv2p-alt__score {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 8px;
  margin: 12px 0 0;
}

.page-review-v2 .rv2p .rv2p-alt__score strong {
  color: var(--rv2-gold-bright);
  font-family: var(--rv2-serif);
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
}

.page-review-v2 .rv2p .rv2p-alt__score span {
  color: var(--rv2-ivory);
  font-size: var(--rv2-text-small);
}

.page-review-v2 .rv2p .rv2p-alt__score em {
  color: var(--rv2-ivory);
  font-size: var(--rv2-text-label);
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.1em;
}

.page-review-v2 .rv2p .rv2p-alt__price {
  display: grid;
  gap: 2px;
  margin: 10px 0 0;
}

.page-review-v2 .rv2p .rv2p-alt__price strong {
  color: var(--rv2-ivory);
  font-size: 1.125rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.page-review-v2 .rv2p .rv2p-alt__price span {
  color: var(--rv2-muted);
  font-size: var(--rv2-text-label);
  line-height: 1.4;
}

.page-review-v2 .rv2p .rv2p-alt__points {
  display: grid;
  gap: 8px;
  margin: 16px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid var(--rv2p-card-border);
  list-style: none;
}

.page-review-v2 .rv2p .rv2p-alt__points li {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 8px;
  margin: 0;
  color: var(--rv2-copy);
  font-size: var(--rv2-text-small);
  line-height: 1.45;
}

.page-review-v2 .rv2p .rv2p-alt__points .rv2p-icon {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  color: var(--rv2-gold-bright);
}

.page-review-v2 .rv2p .rv2p-alt__fit {
  margin: 16px 0 0;
  padding: 14px;
  border-radius: var(--rv2-radius-sm);
  background: rgba(200, 168, 106, 0.06);
  color: var(--rv2-copy);
  font-size: var(--rv2-text-small);
  line-height: 1.5;
}

.page-review-v2 .rv2p .rv2p-alt__fit span {
  display: block;
  margin-bottom: 4px;
  color: var(--rv2-gold-bright);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-alt__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  margin-top: auto;
  padding-top: 14px;
  color: var(--rv2-gold-bright);
  font-weight: 600;
  text-decoration: none;
}

.page-review-v2 .rv2p .rv2p-alt__link .rv2p-icon {
  width: 18px;
  height: 18px;
  transition: transform var(--rv2-duration) var(--rv2-ease);
}

.page-review-v2 .rv2p .rv2p-alt__link:hover .rv2p-icon {
  transform: translateX(3px);
}

/* --------------------------------------------------------------------------
   Common hesitations
   -------------------------------------------------------------------------- */

.page-review-v2 .rv2p .rv2p-hesitations__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 1000px;
  margin-inline: auto;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-review-v2 .rv2p .rv2p-hesitation {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 26px 24px;
}

.page-review-v2 .rv2p .rv2p-hesitation h3 {
  margin-top: 8px;
  font-size: 1.55rem;
  line-height: 1.15;
}

.page-review-v2 .rv2p .rv2p-hesitation p {
  margin: 0;
  color: var(--rv2-copy);
  font-size: var(--rv2-text-ui);
  line-height: 1.6;
}

.page-review-v2 .rv2p .rv2p-hesitation a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  margin-top: auto;
  color: var(--rv2-gold-bright);
  font-size: var(--rv2-text-small);
  font-weight: 600;
  text-decoration: none;
}

.page-review-v2 .rv2p .rv2p-hesitation a .rv2p-icon {
  width: 16px;
  height: 16px;
}

/* --------------------------------------------------------------------------
   FAQ panel
   -------------------------------------------------------------------------- */

.page-review-v2 .rv2p .rv2p-faq__panel {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.6fr);
  gap: clamp(24px, 4vw, 56px);
  padding: clamp(26px, 3.5vw, 44px);
}

/* --------------------------------------------------------------------------
   Final verdict — the close
   -------------------------------------------------------------------------- */

.page-review-v2 .rv2p.rv2-body .rv2p-verdict {
  border-top-color: var(--rv2-gold-line);
  background:
    radial-gradient(circle at 20% 30%, rgba(121, 61, 24, 0.12), transparent 40%),
    var(--rv2-ink);
}

.page-review-v2 .rv2p .rv2p-verdict__card {
  display: grid;
  grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr) minmax(320px, 0.95fr);
  gap: clamp(24px, 3vw, 44px);
  padding: clamp(24px, 3vw, 40px);
  border: 1px solid var(--rv2p-card-border-strong);
  border-radius: var(--rv2-radius);
  background:
    radial-gradient(circle at 50% 0%, rgba(200, 168, 106, 0.07), transparent 45%),
    var(--rv2p-card);
  box-shadow: var(--rv2p-shadow), inset 0 2px 0 var(--rv2-gold);
}

.page-review-v2 .rv2p .rv2p-verdict__score {
  display: grid;
  justify-items: center;
  gap: 4px;
  margin-top: 18px;
  text-align: center;
}

.page-review-v2 .rv2p .rv2p-verdict__score > span {
  color: var(--rv2-copy);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-verdict__score p {
  margin: 0;
}

.page-review-v2 .rv2p .rv2p-verdict__score strong {
  color: var(--rv2-gold-bright);
  font-family: var(--rv2-serif);
  font-size: 4rem;
  font-weight: 500;
  line-height: 1;
}

.page-review-v2 .rv2p .rv2p-verdict__score small {
  margin-left: 4px;
  color: var(--rv2-ivory);
}

.page-review-v2 .rv2p .rv2p-verdict__score em {
  color: var(--rv2-ivory);
  font-size: var(--rv2-text-label);
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.page-review-v2 .rv2p .rv2p-verdict__copy h2 {
  font-size: clamp(2rem, 2.8vw, 2.6rem);
  line-height: 1.08;
}

.page-review-v2 .rv2p .rv2p-verdict__product {
  margin: 0 0 8px;
  color: var(--rv2-copy);
  font-size: var(--rv2-text-small);
}

.page-review-v2 .rv2p .rv2p-verdict__answer {
  margin: 16px 0 0;
  color: var(--rv2-ivory);
  font-family: var(--rv2-serif);
  font-size: 1.375rem;
  line-height: 1.4;
}

.page-review-v2 .rv2p .rv2p-verdict__facts {
  display: grid;
  gap: 0;
  margin: 22px 0 0;
}

.page-review-v2 .rv2p .rv2p-verdict__facts > div {
  padding: 14px 0;
  border-top: 1px solid var(--rv2p-card-border);
}

.page-review-v2 .rv2p .rv2p-verdict__facts dt {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
  color: var(--rv2-gold-bright);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-verdict__facts dt .rv2p-icon {
  width: 16px;
  height: 16px;
}

.page-review-v2 .rv2p .rv2p-verdict__facts dd {
  margin: 0;
  color: var(--rv2-copy);
  font-size: var(--rv2-text-ui);
  line-height: 1.55;
}

.page-review-v2 .rv2p .rv2p-verdict__facts dd strong {
  color: var(--rv2-ivory);
  font-weight: 600;
}

.page-review-v2 .rv2p .rv2p-verdict__buy {
  display: flex;
  flex-direction: column;
  padding: 22px;
  border: 1px solid var(--rv2p-card-border);
  border-radius: var(--rv2-radius);
  background: rgba(5, 5, 4, 0.6);
}

.page-review-v2 .rv2p .rv2p-verdict__price {
  display: grid;
  gap: 2px;
  margin: 0 0 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--rv2p-card-border);
}

.page-review-v2 .rv2p .rv2p-verdict__price span {
  color: var(--rv2-gold-bright);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-verdict__price strong {
  color: var(--rv2-ivory);
  font-family: var(--rv2-serif);
  font-size: 3rem;
  font-weight: 500;
  line-height: 1;
}

.page-review-v2 .rv2p .rv2p-verdict__disclosure {
  margin: 10px 0 0;
  color: var(--rv2-muted);
  font-size: var(--rv2-text-label);
  line-height: 1.5;
}

.page-review-v2 .rv2p .rv2p-verdict__disclosure a {
  color: var(--rv2-copy);
}

.page-review-v2 .rv2p .rv2p-verdict__alt {
  margin: 16px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--rv2p-card-border);
  color: var(--rv2-copy);
  font-size: var(--rv2-text-small);
}

/* --------------------------------------------------------------------------
   Continue your research
   -------------------------------------------------------------------------- */

.page-review-v2 .rv2p .rv2p-related__title {
  margin: 0 0 18px;
  color: var(--rv2-gold-bright);
  font-family: var(--rv2-sans);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-related__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-review-v2 .rv2p .rv2p-related__grid li {
  margin: 0;
}

.page-review-v2 .rv2p .rv2p-related__grid a {
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
  padding: 18px;
  text-decoration: none;
  transition: border-color var(--rv2-duration) var(--rv2-ease);
}

.page-review-v2 .rv2p .rv2p-related__grid a:hover {
  border-color: var(--rv2p-card-border-strong);
}

.page-review-v2 .rv2p .rv2p-related__grid span {
  color: var(--rv2-gold-bright);
  font-size: var(--rv2-text-label);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-related__grid strong {
  color: var(--rv2-ivory);
  font-family: var(--rv2-serif);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.25;
}

.page-review-v2 .rv2p .rv2p-related__grid em {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  color: var(--rv2-gold-bright);
  font-size: var(--rv2-text-small);
  font-style: normal;
}

.page-review-v2 .rv2p .rv2p-related__grid em .rv2p-icon {
  width: 15px;
  height: 15px;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1100px) {
  .page-review-v2 .rv2p .rv2p-verdict__card {
    grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr);
  }

  .page-review-v2 .rv2p .rv2p-verdict__buy {
    grid-column: 1 / -1;
  }

  .page-review-v2 .rv2p .rv2p-factors__grid,
  .page-review-v2 .rv2p .rv2p-compare__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .page-review-v2 .rv2p .rv2p-chapters {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .page-review-v2 .rv2p .rv2p-rail nav,
  .page-review-v2 .rv2p .rv2p-rail__progress {
    display: none;
  }

  .page-review-v2 .rv2p .rv2p-value__panel,
  .page-review-v2 .rv2p .rv2p-faq__panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-review-v2 .rv2p .rv2p-value__side {
    padding: 24px 0 0;
    border-left: 0;
    border-top: 1px solid var(--rv2p-card-border);
  }
}

@media (max-width: 760px) {
  .page-review-v2 .rv2p .rv2p-opener {
    margin-bottom: 30px;
  }

  .page-review-v2 .rv2p .rv2p-opener--split {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .page-review-v2 .rv2p .rv2p-fit__grid {
    gap: 12px;
  }

  .page-review-v2 .rv2p .rv2p-fit__card {
    flex-basis: 150px;
  }

  .page-review-v2 .rv2p .rv2p-fit__card {
    padding: 18px 14px;
  }

  .page-review-v2 .rv2p .rv2p-fit__card h3 {
    font-size: 1.2rem;
  }

  .page-review-v2 .rv2p .rv2p-chapter {
    padding: 22px 18px;
  }

  .page-review-v2 .rv2p .rv2p-chapter__head {
    gap: 14px;
  }

  .page-review-v2 .rv2p .rv2p-chapter__number {
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
  }

  .page-review-v2 .rv2p .rv2p-chapter__summary {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-review-v2 .rv2p .rv2p-meaning {
    grid-template-columns: minmax(0, 1fr);
    padding: 18px;
  }

  .page-review-v2 .rv2p .rv2p-meaning__text {
    font-size: 1.0625rem;
  }

  .page-review-v2 .rv2p .rv2p-routine__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .page-review-v2 .rv2p .rv2p-routine__grid li:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .page-review-v2 .rv2p .rv2p-factors__grid,
  .page-review-v2 .rv2p .rv2p-compare__grid,
  .page-review-v2 .rv2p .rv2p-hesitations__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-review-v2 .rv2p .rv2p-verdict__card {
    grid-template-columns: minmax(0, 1fr);
    padding: 20px;
  }

  .page-review-v2 .rv2p .rv2p-stage--hero {
    height: 220px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-review-v2 .rv2p .rv2p-alt:hover {
    transform: none;
  }
}

.page-review-v2 .rv2p .rv2p-verdict__buy .rv2p-cta {
  font-size: 0.9375rem;
}

/* ==========================================================================
   Wide editorial frame (owner-approved layout pass, 2026-10-04)
   The body shares the locked Quick Verdict's 1640px frame and 28px gutter so
   the page reads as one premium layout. Long-form prose stays at a reading
   measure; the extra width goes to modules and the evidence side column.
   ========================================================================== */

.page-review-v2 .rv2p {
  --rv2p-frame: 1640px;
  --rv2p-measure: 720px;
  --rv2-toc-h: 0px;
}

/* #page carries the theme's .container class, capped at --max-width (1200px)
   by a forced shell.css rule. Review V2 sections manage their own frame, so
   the cap is released on this template only by redefining the variable the
   shell rule reads — no competing override. #page keeps its 16px shell
   padding; the body container subtracts it so edges align with the locked
   Quick Verdict (1640px frame, 28px gutter). */
.page-review-v2 #page.site.grid-container {
  --max-width: none;
}

@media (min-width: 761px) {
  .page-review-v2 .rv2p .rv2-container {
    max-width: calc(var(--rv2p-frame) + 24px);
    padding-inline: 12px;
  }

  .page-review-v2 .rv2p .rv2-container--reading {
    max-width: calc(var(--rv2-reading) + 24px);
  }

  .page-review-v2 .rv2p .rv2-toc__list {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    white-space: nowrap;
  }

  .page-review-v2 .rv2p .rv2-toc__list::-webkit-scrollbar {
    display: none;
  }

  /* "On this page" stays pinned beneath the site header on desktop too. */
  .page-review-v2 .rv2p {
    --rv2-toc-h: 58px;
  }

  .page-review-v2 .rv2p .rv2-toc {
    position: sticky;
    top: var(--rv2-header-h);
    z-index: var(--rv2-z-sticky);
    background: rgba(7, 7, 6, 0.96);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }

  .page-review-v2 .rv2p .rv2-toc__inner {
    min-height: 58px;
  }

  .page-review-v2 .rv2p .rv2-toc__list {
    gap: 2px 26px;
  }

  .page-review-v2 .rv2p .rv2-toc a[aria-current="true"] {
    box-shadow: inset 0 -2px 0 var(--rv2-gold);
  }

  .page-review-v2 .rv2p .rv2-chapters__sticky {
    top: calc(var(--rv2-header-h) + var(--rv2-toc-h) + 28px);
    max-height: calc(100vh - var(--rv2-header-h) - var(--rv2-toc-h) - 56px);
  }
}

/* Reading measure for long-form copy inside wide modules. */
.page-review-v2 .rv2p .rv2p-value__copy > p,
.page-review-v2 .rv2p .rv2-faqs,
.page-review-v2 .rv2p .rv2p-verdict__answer {
  max-width: var(--rv2p-measure);
}

.page-review-v2 .rv2p .rv2p-analysis > :not(.rv2p-analysis__label) {
  max-width: var(--rv2p-measure);
}

@media (min-width: 1200px) {
  /* Is this right for you? — one scannable row, whatever the dimension count. */
  .page-review-v2 .rv2p .rv2p-fit__grid {
    display: grid;
    grid-template-columns: repeat(var(--rv2p-fit-count, 4), minmax(0, 1fr));
  }

  /* Common hesitations — four objections in one row. */
  .page-review-v2 .rv2p .rv2p-hesitations__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: none;
  }

  .page-review-v2 .rv2p .rv2p-stage {
    height: 220px;
  }
}

@media (max-width: 1279px) and (min-width: 761px) {
  .page-review-v2 .rv2p .rv2-toc__title {
    display: none;
  }
}

@media (min-width: 1600px) {
  /* Evidence chapters: deep analysis left, interpretation column right —
     only where the reading column keeps a comfortable measure (≥ ~680px). */
  .page-review-v2 .rv2p .rv2p-chapters {
    grid-template-columns: 280px minmax(0, 1fr);
  }

  .page-review-v2 .rv2p .rv2p-chapter__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    gap: 40px;
    align-items: start;
    margin-top: 26px;
  }

  .page-review-v2 .rv2p .rv2p-chapter__aside {
    position: sticky;
    top: calc(var(--rv2-header-h) + var(--rv2-toc-h) + 24px);
    grid-column: 2;
    grid-row: 1;
  }

  .page-review-v2 .rv2p .rv2p-chapter__main {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
  }

  .page-review-v2 .rv2p .rv2p-chapter__aside .rv2p-chapter__summary {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 0;
  }

  .page-review-v2 .rv2p .rv2p-chapter__main .rv2p-analysis {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
  }
}

/* --------------------------------------------------------------------------
   On this page: premium contents bar (tablet and desktop)
   Distinct from the site menu: serif numerals, a gold current marker and a
   gold hairline that fills with reading progress.
   -------------------------------------------------------------------------- */

@media (min-width: 761px) {
  .page-review-v2 .rv2p .rv2-toc {
    border-bottom: 0;
    background: linear-gradient(180deg, rgba(20, 18, 14, 0.96) 0%, rgba(9, 8, 7, 0.96) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035), 0 18px 32px -24px rgba(0, 0, 0, 0.95);
  }

  .page-review-v2 .rv2p .rv2-toc::before,
  .page-review-v2 .rv2p .rv2-toc::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 1px;
    pointer-events: none;
  }

  .page-review-v2 .rv2p .rv2-toc::before {
    background: linear-gradient(90deg, transparent, var(--rv2-gold-line) 14%, var(--rv2-gold-line) 86%, transparent);
  }

  .page-review-v2 .rv2p .rv2-toc::after {
    background: linear-gradient(90deg, rgba(200, 168, 106, 0.25), var(--rv2-gold-bright));
    box-shadow: 0 0 10px rgba(226, 200, 142, 0.45);
    transform: scaleX(var(--rv2-progress, 0));
    transform-origin: left center;
  }

  .page-review-v2 .rv2p .rv2-toc__inner {
    gap: 30px;
  }

  .page-review-v2 .rv2p .rv2-toc__title {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-right: 30px;
    border-right: 1px solid var(--rv2-line);
    color: var(--rv2-ivory);
    font-family: var(--rv2-serif);
    font-size: 1.2rem;
    font-style: italic;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    white-space: nowrap;
  }

  .page-review-v2 .rv2p .rv2-toc__mark {
    color: var(--rv2-gold);
    font-size: 0.7rem;
    font-style: normal;
  }

  .page-review-v2 .rv2p .rv2-toc__list {
    flex: 1 1 auto;
    justify-content: space-between;
    gap: 0 22px;
  }

  .page-review-v2 .rv2p .rv2-toc a {
    position: relative;
    display: inline-flex;
    align-items: baseline;
    gap: 7px;
    padding: 20px 0 19px;
    color: var(--rv2-muted);
    font-size: 0.84rem;
    letter-spacing: 0.015em;
  }

  .page-review-v2 .rv2p .rv2-toc__num {
    color: rgba(200, 168, 106, 0.55);
    font-family: var(--rv2-serif);
    font-size: 0.98rem;
    font-weight: 600;
    font-variant-numeric: lining-nums;
    transition: color var(--rv2-duration) var(--rv2-ease);
  }

  .page-review-v2 .rv2p .rv2-toc a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    border-radius: 2px;
    background: var(--rv2-gold-bright);
    box-shadow: 0 0 12px rgba(226, 200, 142, 0.55);
    transform: scaleX(0);
    transition: transform 220ms var(--rv2-ease);
  }

  .page-review-v2 .rv2p .rv2-toc a:hover,
  .page-review-v2 .rv2p .rv2-toc a:focus-visible,
  .page-review-v2 .rv2p .rv2-toc a[aria-current="true"] {
    color: var(--rv2-ivory);
  }

  .page-review-v2 .rv2p .rv2-toc a:hover .rv2-toc__num,
  .page-review-v2 .rv2p .rv2-toc a:focus-visible .rv2-toc__num,
  .page-review-v2 .rv2p .rv2-toc a[aria-current="true"] .rv2-toc__num {
    color: var(--rv2-gold-bright);
  }

  .page-review-v2 .rv2p .rv2-toc a[aria-current="true"] {
    box-shadow: none;
  }

  .page-review-v2 .rv2p .rv2-toc a[aria-current="true"]::after {
    transform: scaleX(1);
  }
}

@media (min-width: 761px) {
  /* The band runs edge to edge; its contents stay on the editorial frame. */
  .page-review-v2 .rv2p .rv2-toc {
    margin-inline: calc(50% - 50vw);
  }

  /* Keep contents on the body frame, which sits inside the page's 16px gutter. */
  .page-review-v2 .rv2p .rv2-toc__inner {
    max-width: min(calc(var(--rv2p-frame) + 24px), calc(100% - 32px));
  }
}

@media (min-width: 761px) and (max-width: 1599px) {
  .page-review-v2 .rv2p .rv2-toc__title {
    display: none;
  }

  .page-review-v2 .rv2p .rv2-toc__list {
    gap: 0 16px;
  }

  .page-review-v2 .rv2p .rv2-toc a {
    font-size: 0.8rem;
  }
}

@media (min-width: 761px) and (max-width: 1379px) {
  .page-review-v2 .rv2p .rv2-toc__num {
    display: none;
  }
}

@media (min-width: 761px) and (max-width: 1199px) {
  .page-review-v2 .rv2p .rv2-toc__list {
    justify-content: flex-start;
    gap: 0 14px;
    -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 48px), transparent);
    mask-image: linear-gradient(90deg, #000 calc(100% - 48px), transparent);
  }

  .page-review-v2 .rv2p .rv2-toc__list.is-end {
    -webkit-mask-image: none;
    mask-image: none;
  }

  .page-review-v2 .rv2p .rv2-toc a {
    font-size: 0.8rem;
  }
}

/* The routine: full protocol at reading measure, buyer meaning pinned beside it. */
@media (min-width: 761px) {
  .page-review-v2 .rv2p .rv2p-routine__body {
    max-width: none;
    margin: 40px 0 0;
  }
}

@media (min-width: 1200px) {
  .page-review-v2 .rv2p .rv2p-routine__body {
    display: grid;
    grid-template-columns: minmax(0, var(--rv2p-measure)) minmax(320px, 400px);
    gap: 64px;
    align-items: start;
    max-width: calc(var(--rv2p-measure) + 464px);
    margin-inline: auto;
  }

  .page-review-v2 .rv2p .rv2p-routine__body > .rv2p-meaning {
    position: sticky;
    top: calc(var(--rv2-header-h) + var(--rv2-toc-h) + 24px);
    grid-column: 2;
    grid-row: 1;
    margin: 0;
  }

  .page-review-v2 .rv2p .rv2p-routine__body > :not(.rv2p-meaning) {
    grid-column: 1;
    min-width: 0;
  }

  .page-review-v2 .rv2p .rv2p-routine__body > .rv2p-analysis {
    grid-row: 1;
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-review-v2 .rv2p .rv2-toc a::after {
    transition: none;
  }
}

/* Continue your research: a centred row at any card count. */
.page-review-v2 .rv2p .rv2p-related__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: 24px;
  text-align: center;
}

.page-review-v2 .rv2p .rv2p-related__title::before,
.page-review-v2 .rv2p .rv2p-related__title::after {
  content: "";
  width: 56px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--rv2-gold-line));
}

.page-review-v2 .rv2p .rv2p-related__title::after {
  background: linear-gradient(90deg, var(--rv2-gold-line), transparent);
}

.page-review-v2 .rv2p .rv2p-related__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.page-review-v2 .rv2p .rv2p-related__grid li {
  flex: 1 1 220px;
  max-width: 320px;
}

@media (max-width: 760px) {
  .page-review-v2 .rv2p .rv2p-related__grid li {
    flex-basis: 100%;
    max-width: none;
  }
}

/* --------------------------------------------------------------------------
   How does it compare? Aligned cards, distinct score band, clear actions.
   Each card shares one row structure so titles, scores, prices, lists and
   buttons line up across the row whatever each product's copy length.
   -------------------------------------------------------------------------- */

.page-review-v2 .rv2p .rv2p-alt {
  padding: 22px 22px 24px;
}

.page-review-v2 .rv2p .rv2p-alt h3 {
  font-size: 1.45rem;
  text-wrap: balance;
}

.page-review-v2 .rv2p .rv2p-alt__score {
  align-items: center;
  justify-content: space-between;
  gap: 10px 14px;
  margin-top: 14px;
}

.page-review-v2 .rv2p .rv2p-alt__number {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}

.page-review-v2 .rv2p .rv2p-alt__number span {
  color: var(--rv2-muted);
  font-size: var(--rv2-text-small);
}

.page-review-v2 .rv2p .rv2p-alt__band {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 12px 6px 10px;
  border: 1px solid var(--rv2-gold-line);
  border-radius: 999px;
  background: linear-gradient(120deg, rgba(200, 168, 106, 0.14), rgba(200, 168, 106, 0.04));
  color: var(--rv2-gold-bright);
  font-size: 0.6875rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1;
  white-space: nowrap;
}

.page-review-v2 .rv2p .rv2p-alt__band::before {
  content: "\2726";
  font-size: 0.625rem;
  letter-spacing: 0;
}

.page-review-v2 .rv2p .rv2p-alt__price {
  margin-top: 12px;
}

.page-review-v2 .rv2p .rv2p-alt__actions {
  display: grid;
  gap: 4px;
  margin-top: auto;
  padding-top: 20px;
}

.page-review-v2 .rv2p .rv2p-alt__actions .rv2p-cta {
  min-height: 52px;
  font-size: 0.9375rem;
}

.page-review-v2 .rv2p .rv2p-alt__actions .rv2p-alt__link {
  justify-content: center;
  min-height: 40px;
  margin: 0;
  padding: 0;
  color: var(--rv2-copy);
  font-size: var(--rv2-text-small);
  font-weight: 500;
}

.page-review-v2 .rv2p .rv2p-alt__actions .rv2p-alt__link:hover {
  color: var(--rv2-gold-bright);
}

.page-review-v2 .rv2p .rv2p-cta--outline {
  border-color: var(--rv2-gold-line);
  color: var(--rv2-gold-bright);
  background: linear-gradient(120deg, rgba(200, 168, 106, 0.1), rgba(200, 168, 106, 0.02));
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.04);
}

.page-review-v2 .rv2p .rv2p-cta--outline:hover {
  border-color: var(--rv2-gold);
  background: linear-gradient(120deg, rgba(200, 168, 106, 0.18), rgba(200, 168, 106, 0.05));
}

.page-review-v2 .rv2p .rv2p-compare__disclosure {
  margin: 18px 0 0;
  color: var(--rv2-muted);
  font-size: var(--rv2-text-label);
  text-align: center;
}

.page-review-v2 .rv2p .rv2p-compare__disclosure a {
  color: inherit;
}

/* Shared rows: every card in a multi-column row uses the same eight tracks. */
@media (min-width: 901px) {
  .page-review-v2 .rv2p .rv2p-compare__grid {
    grid-template-rows: repeat(8, auto);
    row-gap: 0;
  }

  .page-review-v2 .rv2p .rv2p-alt {
    display: grid;
    grid-row: span 8;
    grid-template-rows: subgrid;
    align-content: start;
  }

  .page-review-v2 .rv2p .rv2p-alt > .rv2p-alt__ribbon { grid-row: 1; justify-self: start; }
  .page-review-v2 .rv2p .rv2p-alt > .rv2p-stage { grid-row: 2; }
  .page-review-v2 .rv2p .rv2p-alt > h3 { grid-row: 3; }
  .page-review-v2 .rv2p .rv2p-alt > .rv2p-alt__score { grid-row: 4; }
  .page-review-v2 .rv2p .rv2p-alt > .rv2p-alt__price { grid-row: 5; align-content: start; }
  .page-review-v2 .rv2p .rv2p-alt > .rv2p-alt__points { grid-row: 6; align-content: start; }
  .page-review-v2 .rv2p .rv2p-alt > .rv2p-alt__fit { grid-row: 7; align-self: stretch; }
  .page-review-v2 .rv2p .rv2p-alt > .rv2p-alt__actions { grid-row: 8; align-self: start; margin-top: 0; }
}

@media (min-width: 761px) and (max-width: 1100px) {
  /* Two columns: a lone final card sits centred rather than stranded left. */
  .page-review-v2 .rv2p .rv2p-alt:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc(50% - 9px);
  }
}

/* Product stage: the image always fits whole inside the stage (contain), at
   any stage height. A percentage max-height on a grid item does not resolve
   here, so the image gets an explicit box instead. */
.page-review-v2 .rv2p .rv2p-stage img {
  position: absolute;
  top: 7%;
  left: 9%;
  z-index: 1;
  width: 82%;
  height: 86%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center;
}

@media (min-width: 1200px) {
  .page-review-v2 .rv2p .rv2p-alt .rv2p-stage {
    height: 260px;
  }
}

/* Governed Celliara offer under a comparison price. */
.page-review-v2 .rv2p .rv2p-alt__price .rv2p-alt__offer {
  color: var(--rv2-copy);
  font-size: var(--rv2-text-label);
  line-height: 1.45;
}

.page-review-v2 .rv2p .rv2p-alt__price .rv2p-alt__offer strong {
  margin-right: 6px;
  color: var(--rv2-gold-bright);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-review-v2 .rv2p .rv2p-alt__offer strong::before {
  content: "\2726";
  margin-right: 6px;
  font-size: 0.85em;
}

/* Celliara partner-offer price under the listed price (governed by ProductService). */
.page-review-v2 .rv2p .rv2p-value__offer {
  display: grid;
  gap: 3px;
  margin: -12px 0 22px;
  padding: 10px 12px;
  border: 1px solid var(--rv2p-card-border-strong);
  border-left: 3px solid var(--rv2-gold);
  border-radius: var(--rv2-radius-sm);
  background: linear-gradient(120deg, rgba(200, 168, 106, 0.12), rgba(200, 168, 106, 0.03));
}

.page-review-v2 .rv2p .rv2p-value__offer span {
  color: var(--rv2-ivory);
  font-size: var(--rv2-text-ui);
}

.page-review-v2 .rv2p .rv2p-value__offer b {
  color: var(--rv2-gold-bright);
  font-family: var(--rv2-serif);
  font-size: 1.6rem;
  font-weight: 600;
  font-variant-numeric: lining-nums;
  margin-right: 4px;
}

.page-review-v2 .rv2p .rv2p-value__offer em {
  color: var(--rv2-copy);
  font-size: var(--rv2-text-small);
  font-style: normal;
}

.page-review-v2 .rv2p .rv2p-verdict__buy .rv2p-value__offer {
  margin: -2px 0 18px;
}

.page-review-v2 .rv2p .rv2p-alt__price .rv2p-alt__offer b {
  color: var(--rv2-gold-bright);
  font-weight: 700;
}

/* Mobile buy bar: Celliara offer price with the list price struck through. */
.page-review-v2 .rv2-buybar__summary strong {
  white-space: nowrap;
}

.page-review-v2 .rv2-buybar__summary span i {
  font-style: normal;
}

@media (max-width: 359px) {
  .page-review-v2 .rv2-buybar__summary span i,
  .page-review-v2 .rv2-buybar__summary strong del {
    display: none;
  }
}

.page-review-v2 .rv2-buybar__summary strong del {
  margin-left: 6px;
  color: var(--rv2-muted);
  font-family: var(--rv2-sans);
  font-size: 0.8125rem;
  font-weight: 400;
  text-decoration-thickness: 1px;
}

/* Responsive repairs (owner-approved 2026-10-04). */
@media (min-width: 600px) and (max-width: 760px) {
  /* Small tablets: two fit cards per row instead of four cramped ones. */
  .page-review-v2 .rv2p .rv2p-fit__card {
    flex-basis: calc(50% - 6px);
  }
}

/* Editorial trust links meet the 24px minimum target size. */
.page-review-v2 .celliara-editorial-trust__nav a {
  min-height: 24px;
  align-items: center;
}

/* Comparison card offer: savings on its own line so the phrase never splits. */
.page-review-v2 .rv2p .rv2p-alt__offer em {
  display: block;
  margin-top: 2px;
  font-style: normal;
}
