/* River House page layout (2026-10-15). Page-scoped; loaded only by project-river-house.html. */
.rh-page .folio-head { padding-bottom: 40px; margin-bottom: 48px; }
.rh-lede { max-width: 680px; margin: 18px 0 0; font-size: 18px; }
.rh-page .folio-section { margin-bottom: 72px; }
.rh-page .folio-section > p { max-width: 680px; }
.rh-ba, .rh-videos { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin: 28px 0 0; align-items: start; }
.rh-ba figcaption { margin-top: 10px; }
.rh-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: start; }
.rh-split.flip { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.rh-split.flip .rh-media { order: -1; }
.rh-split .plate-row { margin: 0; gap: 20px; }
.rh-split h2 { margin-bottom: 14px; }
.rh-plan { max-width: 320px; justify-self: center; }
.rh-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 28px; }
.rh-grid .plate img { aspect-ratio: 4 / 3; object-fit: cover; height: auto; }
.rh-videos .video-plate { margin: 0; }
.rh-videos video { width: 100%; aspect-ratio: 16 / 9; display: block; }
@media (max-width: 860px) {
  .rh-split, .rh-split.flip { grid-template-columns: 1fr; gap: 24px; }
  .rh-split.flip .rh-media { order: 0; }
  .rh-plan { max-width: 260px; }
  .rh-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
}
@media (max-width: 560px) {
  .rh-ba, .rh-videos { grid-template-columns: 1fr; gap: 20px; }
  .rh-split .plate-row.cols-2 { grid-template-columns: 1fr 1fr; gap: 12px; }
  .rh-grid { gap: 10px; }
  .rh-lede { font-size: 17px; }
}
