
/* JSN shared public-site accessibility hardening — WCAG 2.2 AA target */
:root{--jsn-a11y-focus:#005fcc;--jsn-a11y-error:#7b2429}
:focus-visible{outline:3px solid var(--jsn-a11y-focus)!important;outline-offset:3px!important}
button,.btn,input:not([type="checkbox"]):not([type="radio"]),select,textarea,summary,.nav a,.drawer a{min-height:44px}
input[type="checkbox"],input[type="radio"]{min-width:24px;min-height:24px}
[aria-invalid="true"]{border:3px solid var(--jsn-a11y-error)!important}
[role="alert"]{scroll-margin-top:calc(var(--header-height,72px) + 20px)}
[id]{scroll-margin-top:calc(var(--header-height,72px) + 24px)}
table{border-collapse:collapse}
th{font-weight:700}
img:not([alt]){outline:3px dashed #b42318}
.a11y-runtime-help{font-weight:700}
@media(max-width:400px){
  body{overflow-x:hidden}
  .shell{width:min(100% - 20px,var(--max,1320px))}
  table{font-size:.95rem}
  .btn,button,input,select,textarea{max-width:100%}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
@media(forced-colors:active){
  *{box-shadow:none!important;text-shadow:none!important}
  :focus-visible{outline:3px solid Highlight!important}
  .btn,button,input,select,textarea,summary,.card,.notice,.success,.warning,.error{border:2px solid CanvasText!important}
  a{color:LinkText!important}
}

/* 2026-11-07 final public-site accessibility hardening */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
a:not(.btn):not(.brand){text-decoration-thickness:.12em;text-underline-offset:.18em}
@media(prefers-contrast:more){.muted,.fine,small{color:CanvasText!important}input,select,textarea,.card{border-color:#4d5965!important}}
