/* WordPress adds `.page` to body; keep source `.page` sizing on content only. */
body.page {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Header and footer backgrounds span the viewport. */
.topbar,
.footer {
  width: 100%;
  max-width: none;
}

/* Internal pages use a continuous white canvas without alternating section backgrounds. */
html:has(body.page:not(.home)),
body.page:not(.home),
body.page:not(.home) .main-content,
body.page:not(.home) main,
body.page:not(.home) main.page {
  background: #fff !important;
}

body.page:not(.home) .main-content .section-block {
  background: #fff !important;
}
