/* Modest accessibility menu — Merkaz Hashmia. Native (no overlay), CSP-safe, class-based. */
.a11y{position:fixed;bottom:88px;left:12px;z-index:61;font-family:'Heebo',system-ui,sans-serif;}
@media(min-width:721px){.a11y{bottom:20px;}}
.a11y-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff;border:2px solid #fff;box-shadow:0 6px 18px rgba(0,0,0,.22);cursor:pointer;padding:0;}
.a11y-btn svg{width:24px;height:24px;}
.a11y-btn:focus-visible{outline:3px solid var(--blue);outline-offset:2px;}
.a11y-panel{position:absolute;bottom:54px;left:0;min-width:214px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.2);padding:10px;}
.a11y-panel[hidden]{display:none;}
.a11y-title{font-weight:800;color:var(--ink);padding:6px 8px 8px;font-size:15px;}
.a11y-opt{display:block;width:100%;text-align:start;background:none;border:0;border-radius:9px;padding:11px 10px;font:inherit;font-weight:600;font-size:14.5px;color:var(--ink);cursor:pointer;}
.a11y-opt:hover{background:var(--paper-deep);}
.a11y-opt[aria-pressed="true"]{background:var(--green);color:#fff;}
.a11y-reset{color:var(--blue);}
.a11y-link{display:block;margin-top:4px;padding:10px;font-size:13.5px;color:var(--blue);text-decoration:none;border-top:1px solid var(--line);}
.a11y-link:hover{text-decoration:underline;}

/* effects (applied to <html>) */
html.a11y-big{zoom:1.12;}
html.a11y-links a{text-decoration:underline !important;}
html.a11y-stop *{animation:none !important;transition:none !important;scroll-behavior:auto !important;}
/* high contrast — darkens already-dark text/border vars only (light-on-dark uses hardcoded colours, untouched) */
html.a11y-contrast{--ink:#000;--ink-soft:#000;--text:#000;--text-soft:#111;--line:#333;--blue:#0b3ea8;}
html.a11y-contrast a{text-decoration:underline;}
html.a11y-contrast .footer-legal-links a,html.a11y-contrast .ft-legal a{color:#fff !important;}
