/* CMS-backed homepage sections; accepted components retain their existing styles. */
.home-additions > .region { margin-bottom: 48px; min-width: 0; }
.home-editorial, .home-publication-process { min-width: 0; }
/* Paint only the editorial section; keep its accepted content geometry. */
.home-editorial { position: relative; isolation: isolate; }
.home-editorial::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset-block: 0;
  left: 50%;
  width: var(--rv-viewport-width, 100%);
  transform: translateX(-50%);
  background: var(--rv-editorial-bg, var(--rv-tint));
  pointer-events: none;
}
.home-editorial-note { color: var(--rv-muted); font-size: 13px; margin: -6px 0 22px; }
.home-board-layout { display: grid; grid-template-columns: minmax(240px, .85fr) minmax(0, 2fr); gap: 28px; }
.home-board-layout--no-featured { grid-template-columns: 1fr; }
.home-board-members { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; align-content: start; }
.home-board-person { display: flex; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--rv-line); min-width: 0; }
.home-board-person--featured { flex-direction: column; gap: 20px; padding: 26px; background: var(--rv-white); border: 1px solid var(--rv-line); border-radius: var(--rv-radius-panel); align-self: start; }
.home-board-photo { display: flex; align-items: center; justify-content: center; flex: 0 0 64px; width: 64px; height: 64px; border-radius: 50%; overflow: hidden; background: var(--rv-surface); }
.home-board-photo img { width: 100%; height: 100%; object-fit: cover; }
.home-board-photo span { padding: 7px; color: var(--rv-muted); font-size: 10px; line-height: 1.3; text-align: center; }
.home-board-person--featured .home-board-photo { flex-basis: 96px; width: 96px; height: 96px; }
.home-board-person--featured .home-board-photo span { font-size: 12px; }
.home-board-copy { min-width: 0; }
.home-board-copy h3 { margin: 0; font: 600 19px/1.3 var(--rv-font-heading); overflow-wrap: anywhere; }
.home-board-person--featured h3 { font-size: 24px; }
.home-board-copy a:hover, .home-stage-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.home-board-role { margin: 7px 0 0; color: var(--rv-accent); font-size: 12px; font-weight: 600; }
.home-board-affiliation { margin: 6px 0 0; color: var(--rv-muted); font-size: 13px; line-height: 1.5; }
.home-process-scroll { overflow-x: auto; padding: 4px 0 12px; }
.home-process-track { display: flex; list-style: none; margin: 0; padding: 0; }
.home-process-step { flex: 1 0 190px; min-width: 0; padding: 0 24px 0 0; position: relative; }
.home-process-step:last-child { padding-right: 0; }
.home-process-step:not(:last-child)::before { content: ''; position: absolute; top: 18px; left: 36px; right: 0; border-top: 1px solid var(--rv-line-strong); }
.home-stage-number { display: grid; place-items: center; width: 36px; height: 36px; margin-bottom: 20px; border: 1px solid var(--rv-line-strong); border-radius: 50%; background: var(--rv-white); color: var(--rv-accent); font-size: 14px; font-weight: 600; }
.home-stage-content h3 { margin: 0 0 10px; font: 600 20px/1.3 var(--rv-font-heading); }
.home-stage-description { margin: 0; color: var(--rv-muted); font-size: 13px; line-height: 1.65; }
.home-stage-duration { margin: 12px 0 0; font-size: 12px; line-height: 1.6; font-weight: 600; }
.home-stage-link { display: inline-block; margin-top: 12px; font-size: 13px; }
@media (max-width: 1000px) {
  .home-board-layout { grid-template-columns: minmax(200px, .8fr) minmax(0, 1.2fr); gap: 22px; }
  .home-board-members { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .home-process-track { display: block; }
  .home-process-step, .home-process-step:last-child { padding: 0 0 28px 56px; }
  .home-process-step:last-child { padding-bottom: 0; }
  .home-stage-number { position: absolute; top: 0; left: 0; margin: 0; }
  .home-process-step:not(:last-child)::before { top: 36px; bottom: 0; left: 18px; right: auto; border-top: 0; border-left: 1px solid var(--rv-line-strong); }
}
@media (max-width: 600px) {
  .home-additions > .region { margin-bottom: 36px; }
  .home-board-layout { grid-template-columns: 1fr; gap: 12px; }
  .home-board-person--featured { padding: 22px; }
  .home-board-copy h3 { font-size: 18px; }
  .home-board-person--featured h3 { font-size: 22px; }
}
