
/* JSN Client Portal accessibility remediation — WCAG 2.2 AA engineering target */
:root{--jsn-a11y-focus:#005fcc;--jsn-a11y-error:#8a1c24}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:auto}
body{line-height:1.6}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:focus-visible{outline:3px solid var(--jsn-a11y-focus)!important;outline-offset:3px!important}
a:not(.btn):not(.brand){text-decoration-thickness:.12em;text-underline-offset:.18em}
button,.btn,.tab,input:not([type="checkbox"]):not([type="radio"]),select,textarea,summary{min-height:44px}
input[type="checkbox"],input[type="radio"]{min-width:24px;min-height:24px;flex:0 0 auto}
[aria-invalid="true"]{border:3px solid var(--jsn-a11y-error)!important}
.jsn-field-error{display:block;color:#7d1820;font-weight:700;margin-top:6px}
[role="alert"],[role="status"],h1,h2,h3,[id]{scroll-margin-top:88px}
img,svg,video,canvas{max-width:100%;height:auto}
pre,code,.doc{overflow-wrap:anywhere}
.doc{max-height:none!important;overflow:visible!important}
.hero{grid-template-columns:1fr!important}
.services{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.detailGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.matter{border-left:4px solid var(--gold);padding:22px}
.progress{height:10px}
.sectionTitle{align-items:center}
.a11y-help-link{font-weight:800;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){
 .services,.detailGrid{grid-template-columns:1fr!important}
 .sectionTitle{align-items:stretch;flex-direction:column}
 .sectionTitle .btn{width:100%}
}
@media(max-width:400px){
 body{overflow-x:hidden}
 .wrap,.auth{width:min(100% - 16px,1180px)!important}
 .card,.matter{padding:16px!important;border-radius:14px!important}
 .top{padding-inline:16px!important}
 .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,.card,.matter,.notice,.success,.warning,.error{border:2px solid CanvasText!important}
 a{color:LinkText!important}
}
@media(prefers-contrast:more){
 .muted,.fine{color:#344454!important}
 .card,.matter,input,select,textarea{border-color:#51606f!important}
}
