/* Accessibility layer: loads last on every page (WCAG 2.2 AA) */
:root{--grey:#595959}
@media (prefers-color-scheme:dark){:root{--grey:#A3A3A3}}

/* Screen-reader-only text */
.sr,.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Skip link: hidden until a keyboard user tabs to it */
.skip{position:absolute;left:12px;top:-60px;z-index:1000;background:#000;color:#fff!important;padding:10px 16px;border-radius:6px;font-family:var(--sans);font-size:15px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}

/* Visible keyboard focus everywhere */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #0B6B94!important;outline-offset:3px}
@media (prefers-color-scheme:dark){a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-color:#6FCEF6!important}}

/* Text contrast fixes (4.5:1 minimum) */
.mini .kband .kmsg,.mhero .mcred,.mini .art figcaption,.mini .km .rc h3 span{color:#595959!important}
.mini .art figcaption span{color:#0B6B94!important}
.plans .ocard .feat li.no{opacity:1;color:#595959}
@media (prefers-color-scheme:dark){
  .mini .kband .kmsg,.mhero .mcred,.mini .art figcaption,.mini .km .rc h3 span,.plans .ocard .feat li.no{color:#A3A3A3!important}
  .mini .art figcaption span{color:#6FCEF6!important}
  .mini .km blockquote p,.wins p,.howi,.mini .wins blockquote,.mini .faq .fa p{color:#e6e6e6!important}
}

/* Respect people who turn off motion */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
