/* Shared page-layout contract.
 *
 * Named layout assets own composition. Site templates and user design CSS own
 * every visual token. This base file only establishes safe viewport and sizing
 * behaviour common to every layout.
 */
body[data-rvns-layout] {
  --rvns-layout-reading-width: var(--t-content-width, 780px);
  --rvns-layout-media-width: 1200px;
  --rvns-layout-shell-width: 1180px;
  --rvns-layout-gap: clamp(2rem, 5vw, 5rem);
  --rvns-layout-sticky-top: 2rem;
  margin: 0;
}

body[data-rvns-layout] .story {
  box-sizing: border-box;
  width: 100%;
}

body[data-rvns-layout] :is(.story, .story-head, .rvns-dive-narrative, .rvns-dive-module) {
  min-width: 0;
}
