/* ============================================================
   R. Plane Carpenter — Reviews Section (Option B3)
   Spotlight stage. Replaces the original .reviews-section block.
   Loads alongside style.css, header-v2.css, transformation-v2.css.
   ============================================================ */

.rv {
  position: relative;
  background: #0a0806;
  padding: 120px clamp(28px, 5vw, 68px) 90px;
  overflow: hidden;
}

/* Warm radial gold beam — pulses gently */
.rv-spotlight {
  position: absolute;
  top: 50%; left: 50%;
  width: 900px; height: 900px;
  background: radial-gradient(circle,
    rgba(196,135,61,.32) 0%,
    rgba(196,135,61,.08) 30%,
    transparent 60%);
  transform: translate(-50%, -50%);
  pointer-events: none;
  animation: rv-pulse 5s ease-in-out infinite;
}
@keyframes rv-pulse {
  0%, 100% { opacity: .55; transform: translate(-50%, -50%) scale(1); }
  50%      { opacity: .75; transform: translate(-50%, -50%) scale(1.05); }
}

/* Tiny "Spotlight" eyebrow */
.rv-marker {
  position: relative;
  text-align: center;
  margin: 0 0 18px;
  font-size: 10.5px; font-weight: 700; letter-spacing: .4em;
  text-transform: uppercase; color: #c4873d;
}

/* Score line — stars + label */
.rv-score {
  position: relative;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  margin-bottom: 56px;
}
.rv-stars {
  display: flex; gap: 4px; color: #c4873d;
}
.rv-stars svg { display: block; width: 18px; height: 18px; }
.rv-score-label {
  font-family: "Cormorant Garamond", serif; font-style: italic;
  font-size: 17px; color: rgba(232,200,154,.7);
}

/* Centred quote */
.rv-quote-wrap {
  position: relative;
  max-width: 920px; margin: 0 auto;
  text-align: center;
}
.rv-quote-mark {
  font-family: "Cormorant Garamond", serif;
  font-size: 240px; line-height: .55;
  color: #c4873d; font-weight: 300;
  opacity: .35;
  display: block; margin-bottom: -40px;
  user-select: none; pointer-events: none;
}
.rv-quote {
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  font-weight: 300; font-style: italic;
  line-height: 1.4;
  color: #fff; letter-spacing: -.005em;
}
.rv-meta {
  margin-top: 32px;
  display: inline-flex; align-items: center; gap: 16px;
  padding: 12px 24px;
  border-radius: 999px;
  border: 1px solid rgba(196,135,61,.35);
  background: rgba(14,11,8,.5);
}
.rv-initial {
  width: 32px; height: 32px; border-radius: 999px;
  background: rgba(196,135,61,.18);
  color: #c4873d;
  display: grid; place-items: center;
  font-family: "Cormorant Garamond", serif;
  font-size: 14px; font-weight: 500;
}
.rv-project {
  font-family: "Cormorant Garamond", serif; font-style: italic;
  font-size: 14px; color: #e8c89a;
}

/* Stage-change re-bump animation */
@keyframes rv-up {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: none; }
}
.rv-quote-wrap.rv-bump .rv-quote,
.rv-quote-wrap.rv-bump .rv-meta,
.rv-quote-wrap.rv-bump .rv-quote-mark {
  animation: rv-up .85s cubic-bezier(.22, .68, 0, 1.05) both;
}
.rv-quote-wrap.rv-bump .rv-meta       { animation-delay: .08s; }
.rv-quote-wrap.rv-bump .rv-quote-mark { animation-delay: 0s; opacity: .35; }

/* Chip row */
.rv-chips {
  position: relative;
  margin-top: 72px;
  display: flex; justify-content: center; gap: 8px; flex-wrap: wrap;
}
.rv-chip {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 10px 16px 10px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.55);
  cursor: pointer; font-family: inherit;
  transition: all .3s ease;
  flex-shrink: 0;
}
.rv-chip:hover {
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.85);
}
.rv-chip.is-active {
  background: rgba(196,135,61,.12);
  border-color: #c4873d;
  color: #fff;
}
.rv-chip-num {
  width: 26px; height: 26px; border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.5);
  display: grid; place-items: center;
  font-family: "Cormorant Garamond", serif;
  font-size: 13px; font-weight: 500; font-style: italic;
  transition: all .3s ease;
}
.rv-chip.is-active .rv-chip-num {
  background: #c4873d;
  color: #1c1610;
}
.rv-chip-label {
  font-size: 10.5px; font-weight: 600; letter-spacing: .16em;
  text-transform: uppercase; white-space: nowrap;
}

/* All-reviews footer button */
.rv-footer {
  position: relative;
  margin-top: 48px;
  text-align: center;
}
.rv-footer .btn svg {
  width: 13px; height: 13px;
  transition: transform .3s ease;
}
.rv-footer .btn:hover svg { transform: translateX(4px); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .rv-spotlight { animation: none; opacity: .55; }
  .rv-quote-wrap.rv-bump .rv-quote,
  .rv-quote-wrap.rv-bump .rv-meta,
  .rv-quote-wrap.rv-bump .rv-quote-mark { animation: none; }
}

/* Mobile */
@media (max-width: 720px) {
  .rv { padding: 80px 16px 70px; }
  .rv-spotlight { width: 600px; height: 600px; }
  .rv-quote-mark { font-size: 140px; margin-bottom: -20px; }
  .rv-quote { font-size: 1.25rem; }
  .rv-chips { gap: 6px; margin-top: 48px; }
  .rv-chip-label { display: none; }
  .rv-chip { padding: 6px; }
}
