/* Core neutraliser — DECLARED differences from core, so the ported pages render on
 * the baseline memorialspeechtherapy.com was built on (WordPress + Hello Elementor),
 * not on core's Tailwind preflight and demo-theme body. Same mechanism as Kasey S.
 * Pipes and Andrea Bertoli.
 *
 * 1. Tailwind preflight lives in @layer base; this rule sits in the same layer and
 *    rolls every property back past it with `revert-layer`. Unlayered CSS (10-wp.css,
 *    page-<id>.css, 20-port.css) still wins; core blocks' utilities are untouched.
 * 2. Core's body colours/font and film grain, which the site never had. WordPress's
 *    own <body> rules were rewritten onto div.mst-body (audit/build-css.py); the real
 *    <body> only needs to stop adding Chrome's 8px margin and match Hello's white.
 * `data-mst-chrome` is on the header, so none of this reaches /admin.
 */
@layer base {
  :root:has([data-mst-chrome]),
  :root:has([data-mst-chrome]) *,
  :root:has([data-mst-chrome]) ::before,
  :root:has([data-mst-chrome]) ::after,
  :root:has([data-mst-chrome]) ::marker,
  :root:has([data-mst-chrome]) ::placeholder,
  :root:has([data-mst-chrome]) ::backdrop,
  :root:has([data-mst-chrome]) ::file-selector-button {
    all: revert-layer;
  }
}

:where(:root:has([data-mst-chrome])) {
  --grain-opacity: 0;
  font-size: 100%;
}
:where(:root:has([data-mst-chrome])) .grain::after {
  content: none;
}
:where(:root:has([data-mst-chrome])) body {
  margin: 0;
  background: #fff;
  color: #333;
}
