/* /reviews/ only. Hero video posters (.rvh) and the written review grid (.rvg, .rvc). */

.rvh { position: relative; z-index: 2; margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; width: 100%; max-width: 376px; }   /* four founders: an even 2 by 2 */
.rvh li { animation: hl-rise .55s cubic-bezier(.22, 1, .36, 1) backwards; animation-delay: calc(260ms + var(--i) * 90ms); }
.rvh a { display: flex; flex-direction: column; color: inherit; }
.rvh img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; margin-bottom: 16px; border-radius: 6px; object-fit: cover; background: #141414; }
.rvh-n { font-size: 16px; line-height: 24px; font-weight: 500; color: var(--text); }
.rvh-r { font-size: 14px; line-height: 20px; color: var(--muted); }

.rvg { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 1fr; align-items: stretch; }
.rvc { display: flex; flex-direction: column; }
.rvc-q { margin: 0; flex: 1; }
.rvc-q p { margin: 0; font-family: var(--display); font-size: 20px; line-height: 30px; font-weight: 500; letter-spacing: -0.01em; color: var(--text); text-wrap: pretty; }
.rvc-n { margin: 32px 0 0; font-size: 16px; line-height: 24px; font-weight: 500; color: var(--text); }
.rvc-m { margin: 0; font-size: 14px; line-height: 20px; color: var(--muted); }

@media (prefers-reduced-motion: reduce) { .rvh li { animation: none; } }
@media (max-width: 1099.98px) { .rvg { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .hero .hx-rv { min-height: 0; } }
@media (max-width: 639.98px) {
  .rvh { gap: 16px 8px; }
  .rvh img { margin-bottom: 8px; }
  .rvh-r { display: none; }
  .rvg { grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; }
  .rvc-q p { font-size: 18px; line-height: 28px; }
  .rvc-n { margin-top: 24px; }
}

/* the founders panel: the caption sits in the flow under the grid (absolute, it ran into the names when the panel was short),
   and the grid sizes to the screen height so the 2 by 2 never pushes the hero taller than the window */
.hx-rv { flex-direction: column; gap: 32px; }
.hx-rv .hx-cap2 { position: static; }
@media (min-width: 901px) { .rvh { max-width: min(376px, calc((100svh - 480px) / 1.25)); min-width: 248px; } }
