/* Shared WCAG 2.2 AA accessibility layer. */
:root { --a11y-focus: #ffb347; --muted: #52677a; }
html { scroll-padding-top: 1rem; }
body { font-size: 17px; line-height: 1.55; }
.skip-link { position:fixed; z-index:100000; top:.75rem; left:.75rem; padding:.8rem 1rem; border-radius:.25rem; background:#fff; color:#071727; font-weight:800; box-shadow:0 4px 18px #0005; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid var(--a11y-focus)!important; outline-offset:3px!important; }
:where(button,input,select,textarea) { min-height:44px; }
:where(.sidebar nav a,.nav a,.project-actions button) { min-height:44px; align-items:center; }
small,.legal,.form-note { font-size:max(14px,.875rem); line-height:1.6; }
:where(p,li,a) { font-size:max(14px,.875rem); }
.sidebar nav a,button,label,input,select,textarea,th,td,td small { font-size:max(14px,.875rem); }
.eyebrow,.tier,.status,.service-num,.report-top small,.metric-row small,.float-card small { font-size:max(13px,.8125rem)!important; }
[aria-current="page"] { text-decoration:underline; text-underline-offset:.3em; }
[aria-invalid="true"] { border-color:#a11717!important; box-shadow:0 0 0 2px #a1171733; }
[role="alert"] { font-weight:700; }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
}
@media (forced-colors:active) {
  :where(a,button,input,select,textarea,summary) { forced-color-adjust:auto; }
  .status,.tier,.primary,.button { border:1px solid ButtonText; }
}
