/* Infrastructure only; approved page styling begins in Step 2. */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; color: var(--pv-color-ink); background: var(--pv-color-white); font-family: var(--pv-font-family); font-size: var(--pv-body-mobile-px); line-height: var(--pv-body-line-height); }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--pv-color-purple); outline-offset: 4px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.screen-reader-text:focus { position: fixed; width: auto; height: auto; margin: 0; padding: 16px; clip-path: none; z-index: 10000; background: white; color: var(--pv-color-purple); }
@media (min-width: 1024px) { body { font-size: var(--pv-body-desktop-px); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

