/* Shared primitives only. Art direction lives in each site's own CSS. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--pf-focus,#1a5cff);outline-offset:3px;border-radius:2px}
.pf-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pf-skip{position:absolute;left:1rem;top:-4rem;z-index:100;padding:.6rem 1rem;background:#000;color:#fff}
.pf-skip:focus{top:1rem}
.pf-todo{background:#ffe066;color:#000;padding:0 .2em;font-family:ui-monospace,monospace;font-size:.85em}
.pf-form-status{margin-top:1rem;padding:.8rem 1rem;border-left:4px solid currentColor}
.pf-form-status[hidden]{display:none}
.pf-form-status[data-state="error"],.pf-form-status[data-state="offline"]{border-color:#b3261e}
.pf-form-status[data-state="ok"]{border-color:#1e7a46}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
