/* Frontida visible accessibility tools — enhancement layer, not a substitute for WCAG-compliant markup */
:root{--a11y-widget-bottom:18px}
.a11y-launcher{position:fixed;right:18px;bottom:var(--a11y-widget-bottom);z-index:10020;display:inline-flex;align-items:center;gap:9px;min-height:52px;padding:10px 15px 10px 11px;border:2px solid #fff;border-radius:999px;background:#075aa8;color:#fff;box-shadow:0 10px 30px rgba(2,32,71,.28);font:800 15px/1 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}
.a11y-launcher:hover{background:#064b8a;transform:translateY(-1px);box-shadow:0 13px 34px rgba(2,32,71,.34)}
.a11y-launcher:focus-visible{outline:4px solid #ffbf47;outline-offset:3px}
.a11y-launcher svg{width:28px;height:28px;flex:0 0 28px;fill:currentColor}
.a11y-panel{position:fixed;right:18px;bottom:calc(var(--a11y-widget-bottom) + 64px);z-index:10021;width:min(360px,calc(100vw - 28px));max-height:min(650px,calc(100vh - 110px));overflow:auto;background:#fff;color:#111827;border:1px solid #b8c5d3;border-radius:18px;box-shadow:0 20px 60px rgba(15,23,42,.28);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.a11y-panel[hidden]{display:none!important}
.a11y-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 18px 12px;border-bottom:1px solid #dbe3ec;background:#f7fbff;border-radius:18px 18px 0 0}
.a11y-panel__head h2{margin:0;font-size:1.2rem;line-height:1.25;color:#0b3158}.a11y-panel__head p{margin:5px 0 0;color:#475569;font-size:.9rem;line-height:1.45}
.a11y-close{flex:0 0 auto;width:38px;height:38px;border:1px solid #8fa1b4;border-radius:50%;background:#fff;color:#0b3158;font-size:25px;line-height:1;cursor:pointer}.a11y-close:hover{background:#edf5ff}
.a11y-panel__body{padding:14px 18px 18px}.a11y-group{margin:0 0 14px}.a11y-group-title{margin:0 0 8px;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:#52657a;font-weight:800}
.a11y-font-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.a11y-control,.a11y-toggle,.a11y-reset{width:100%;min-height:44px;border:1px solid #9aabba;border-radius:10px;background:#fff;color:#13283d;font-weight:750;cursor:pointer}.a11y-control:hover,.a11y-toggle:hover,.a11y-reset:hover{background:#edf5ff;border-color:#075aa8}.a11y-control[aria-pressed="true"],.a11y-toggle[aria-pressed="true"]{background:#075aa8;color:#fff;border-color:#075aa8}.a11y-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;margin-top:8px;text-align:left}.a11y-toggle::after{content:"";width:34px;height:20px;border-radius:999px;background:#cbd5e1;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);flex:0 0 auto}.a11y-toggle[aria-pressed="true"]::after{background:#fff;box-shadow:inset 14px 0 0 #075aa8,inset 0 0 0 2px #fff}
.a11y-reset{margin-top:4px;background:#f8fafc}.a11y-note{margin:12px 0 0;color:#52657a;font-size:.82rem;line-height:1.45}
.a11y-panel button:focus-visible,.a11y-panel a:focus-visible{outline:4px solid #ffbf47;outline-offset:2px}
/* User-selected presentation preferences */
html.a11y-font-112 body{font-size:18px}html.a11y-font-125 body{font-size:20px}html.a11y-font-137 body{font-size:22px}html.a11y-font-150 body{font-size:24px}
html.a11y-high-contrast{--brand:#003b78;--brand-dark:#001f4a;--accent:#005a66;--bg:#fff;--fg:#000;--muted:#111;--soft:#fff;--border:#000;--shadow:none}
html.a11y-high-contrast body,html.a11y-high-contrast .site-header,html.a11y-high-contrast .site-footer,html.a11y-high-contrast .section-alt,html.a11y-high-contrast .card,html.a11y-high-contrast .contact-card,html.a11y-high-contrast .funding-card{background:#fff!important;color:#000!important}
html.a11y-high-contrast a{color:#003b78!important}html.a11y-high-contrast .cta,html.a11y-high-contrast .lang-switch [aria-current="page"],html.a11y-high-contrast .slider-btn,html.a11y-high-contrast .slider-toggle{background:#000!important;color:#fff!important;border-color:#fff!important}
html.a11y-high-contrast .slide-caption{background:#000!important;color:#fff!important}html.a11y-high-contrast *:focus-visible{outline:4px solid #d97706!important;outline-offset:3px!important}
html.a11y-underline-links a:not(.brand):not(.card-link){text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:4px!important}
html.a11y-readable-text body{font-family:Arial,Helvetica,sans-serif!important;line-height:1.85!important;letter-spacing:.015em!important;word-spacing:.06em!important}
html.a11y-reduce-motion{scroll-behavior:auto!important}html.a11y-reduce-motion *,html.a11y-reduce-motion *::before,html.a11y-reduce-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:560px){.a11y-launcher{right:12px;padding:10px 12px}.a11y-launcher__label{font-size:14px}.a11y-panel{right:12px;width:calc(100vw - 24px)}.a11y-panel__body,.a11y-panel__head{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:reduce){.a11y-launcher{transition:none}}
@media print{.a11y-launcher,.a11y-panel{display:none!important}}
