/* Accessibility toolbar + user preference modes */
.a11y{position:fixed;left:20px;bottom:20px;z-index:1500}
.a11y-fab{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:2px solid #fff;background:var(--navy);color:#fff;cursor:pointer;box-shadow:0 10px 24px -10px rgba(11,34,57,.6);transition:transform .2s,background .2s}
.a11y-fab:hover{background:var(--blue-deep);transform:translateY(-2px)}
.a11y-fab:focus-visible,.a11y-panel :focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.a11y-panel{position:absolute;left:0;bottom:64px;width:min(320px,calc(100vw - 40px));max-height:calc(100dvh - 120px);overflow:auto;background:#fff;color:var(--ink-deep);border:1px solid var(--hair);border-radius:var(--r-card);box-shadow:0 24px 60px -20px rgba(11,34,57,.45);padding:18px}
.a11y-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.a11y-head h2{font-size:1.25rem;margin:0}
.a11y-close{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:var(--r-btn);background:var(--bg);color:var(--ink-deep);cursor:pointer}
.a11y-list{list-style:none;margin:0;padding:0}
.a11y-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;border-bottom:1px solid var(--hair)}
.a11y-label{font-weight:500}
.a11y-stepper{display:flex;align-items:center;gap:6px}
.a11y-stepper button{min-width:44px;height:44px;border:1px solid var(--hair-2);border-radius:var(--r-btn);background:#fff;font-weight:600;cursor:pointer}
.a11y-stepper button:disabled{opacity:.45;cursor:not-allowed}
.a11y-stepper output{min-width:48px;text-align:center;font-variant-numeric:tabular-nums}
.a11y-switch{position:relative;width:52px;height:30px;border-radius:999px;border:2px solid var(--muted);background:#fff;cursor:pointer;flex-shrink:0;padding:0}
.a11y-switch span{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--muted);transition:transform .2s}
.a11y-switch[aria-checked="true"]{background:var(--navy);border-color:var(--navy)}
.a11y-switch[aria-checked="true"] span{transform:translateX(22px);background:#fff}
.a11y-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.a11y-foot a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:.2em}
@media (max-width:560px){.a11y{left:12px;bottom:12px}.a11y-fab{width:48px;height:48px}}

/* modes */
html.a11y-contrast{--ink:#000;--ink-deep:#000;--muted:#1f2933;--muted-2:#3e4c59;--hair:#4b5563;--hair-2:#1f2933;--pale:#fff;--bg:#fff}
html.a11y-contrast body{background:#fff;color:#000}
html.a11y-contrast .lead,html.a11y-contrast p,html.a11y-contrast small{color:#000}
html.a11y-contrast .section--navy,html.a11y-contrast .site-footer,html.a11y-contrast .cta-card,html.a11y-contrast .cta-band{background:#000}
html.a11y-contrast .section--navy *,html.a11y-contrast .site-footer *,html.a11y-contrast .cta-card *,html.a11y-contrast .cta-band *{color:#fff!important}
html.a11y-contrast img,html.a11y-contrast video{filter:contrast(1.1)}
html.a11y-contrast a:not(.m-button){text-decoration:underline}
html.a11y-readable body,html.a11y-readable h1,html.a11y-readable h2,html.a11y-readable h3,html.a11y-readable h4,html.a11y-readable button,html.a11y-readable input,html.a11y-readable select,html.a11y-readable textarea{font-family:Verdana,Tahoma,"Segoe UI",Arial,sans-serif!important;letter-spacing:.02em}
/* WCAG 1.4.12 text spacing values */
html.a11y-spacing p,html.a11y-spacing li,html.a11y-spacing dd,html.a11y-spacing blockquote,html.a11y-spacing .lead{line-height:1.5!important;letter-spacing:.12em!important;word-spacing:.16em!important;margin-bottom:2em}
html.a11y-spacing p,html.a11y-spacing li{line-height:1.8!important}
html.a11y-links a{text-decoration:underline!important;text-underline-offset:.2em}
html.a11y-links a:focus,html.a11y-links a:hover{background:#FFF3B0;color:#000!important}
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media (max-width:960px){.a11y{left:auto;right:14px;bottom:14px}.a11y-panel{left:auto;right:0}.a11y-fab{width:46px;height:46px}}
