/* --- Center contract v1.0.14: single centered column, wide enough to read as balanced ---
   On a 1920px viewport the 1560px column leaves ~180px on each side, so the layout
   can never be misread as a left shift. Every structural wrapper shares one axis. */

:root { --spw-max: 1560px !important; }

/* Kill Astra's flex container: it shrinks #primary and pushes content left. */
html body.spw-site .ast-container,
html body.spw-site #content .ast-container {
  display: block !important;
}

/* Structural axis: every wrapper shares one centered column. */
html body.spw-site .site-content,
html body.spw-site #content,
html body.spw-site .ast-container,
html body.spw-site #primary,
html body.spw-site .site-main,
html body.spw-site #main,
html body.spw-site article,
html body.spw-site .entry-content,
html body.spw-site .spw-main,
html body.spw-site .spw-flow {
  width: 100% !important;
  max-width: var(--spw-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  box-sizing: border-box !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

/* Every direct child of the content column stays on the axis. */
html body.spw-site .entry-content > *,
html body.spw-site .spw-hero,
html body.spw-site .spw-standfirst,
html body.spw-site .spw-crumbs,
html body.spw-site .spw-toc,
html body.spw-site .spw-board,
html body.spw-site .spw-board-lead,
html body.spw-site .spw-tablewrap,
html body.spw-site .spw-figure,
html body.spw-site .spw-calc,
html body.spw-site .spw-faq,
html body.spw-site .spw-care,
html body.spw-site .spw-onward,
html body.spw-site .spw-aside {
  width: 100% !important;
  max-width: var(--spw-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  box-sizing: border-box !important;
}

/* Text blocks: comfortable reading measure, still centered on the axis. */
html body.spw-site .entry-content > p,
html body.spw-site .entry-content > ul,
html body.spw-site .entry-content > ol,
html body.spw-site .entry-content > h1,
html body.spw-site .entry-content > h2,
html body.spw-site .entry-content > h3,
html body.spw-site .entry-content > h4,
html body.spw-site .spw-standfirst,
html body.spw-site .spw-care,
html body.spw-site .spw-onward {
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Header: brandline and nav strictly centered on the same axis. */
html body.spw-site .spw-header {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
html body.spw-site .spw-header-inner {
  width: 100% !important;
  max-width: var(--spw-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
html body.spw-site .spw-brandline {
  justify-content: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
html body.spw-site .spw-nav,
html body.spw-site .spw-nav-wrap {
  justify-content: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Footer colophon centered on the same axis. */
html body.spw-site .spw-footer-inner {
  max-width: var(--spw-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}