/* Stage 14 — accessibility and usability hardening */
:focus-visible{outline:3px solid #8A681F;outline-offset:3px;}
a:focus-visible,.btn:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{border-radius:6px;}
button,.btn,[role="button"],summary,input[type="checkbox"],input[type="radio"]{min-height:44px;}
input[type="checkbox"],input[type="radio"]{min-width:24px;min-height:24px;}
.field input[aria-invalid="true"],.field select[aria-invalid="true"],.field textarea[aria-invalid="true"],:user-invalid{border-color:#9B1C1C;box-shadow:0 0 0 3px rgba(155,28,28,.14);}
.field-error,[role="alert"],.form-error{color:#7A1010;font-weight:600;line-height:1.45;}
[aria-disabled="true"],button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.62;}
.visually-hidden{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;}
@media (max-width:680px){body{font-size:17px;line-height:1.6}.btn,button,input,select,textarea{font-size:16px}.nav-links a,.footer-accordion summary{min-height:44px;display:flex;align-items:center}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media (forced-colors:active){:focus-visible{outline:3px solid Highlight}.btn,.card,input,select,textarea{forced-color-adjust:auto}}
