/* Accessibility menu + modes. Classes are set on <html> by assets/a11y.js */
.a11y-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.a11y-btn{position:fixed;z-index:70;inset-inline-end:16px;bottom:var(--fab-b,20px);width:48px;height:48px;border-radius:999px;border:2px solid #0d0d0d;background:#fff;color:#0d0d0d;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.18);transition:bottom .3s ease}
.a11y-btn:hover{background:#f4f4f4}
.a11y-btn[aria-expanded="true"]{background:#0d0d0d;color:#fff}
.a11y-btn:focus-visible,.a11y-panel button:focus-visible,.a11y-panel a:focus-visible{outline:3px solid #0d0d0d;outline-offset:3px;box-shadow:0 0 0 6px #fff}
.wa-float~.a11y-btn{inset-inline-end:72px}
@media (min-width:860px){.a11y-btn{inset-inline-end:24px}.wa-float~.a11y-btn{inset-inline-end:84px}}
.a11y-panel{position:fixed;z-index:80;inset-inline-end:16px;bottom:calc(var(--fab-b,20px) + 60px);width:min(340px,calc(100vw - 32px));max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);overflow:auto;background:#fff;color:#0d0d0d;border:2px solid #0d0d0d;border-radius:20px;padding:16px;box-shadow:0 18px 50px -12px rgba(0,0,0,.4);font-size:16px;line-height:1.5}
@media (min-width:860px){.a11y-panel{inset-inline-end:24px}}
.a11y-panel[hidden]{display:none}
.a11y-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.a11y-head h2{margin:0;font-size:1.1rem;font-weight:700}
.a11y-x{width:44px;height:44px;border:1px solid #0d0d0d;border-radius:999px;background:#fff;color:inherit;font-size:1.5rem;line-height:1;cursor:pointer}
.a11y-lbl{display:block;font-size:.95rem;color:#333;margin-bottom:6px}
.a11y-size{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin-bottom:12px}
.a11y-size output{min-width:6em;text-align:center;font-weight:600}
.a11y-panel button{font:inherit}
.a11y-size button,.a11y-tog,.a11y-reset{min-height:44px;border:2px solid #0d0d0d;border-radius:999px;background:#fff;color:#0d0d0d;padding:4px 12px;cursor:pointer;font-weight:600;line-height:1.25}
.a11y-size button:hover:not(:disabled),.a11y-tog:hover,.a11y-reset:hover{background:#f0f0f0}
.a11y-size button:disabled{opacity:.45;cursor:not-allowed}
.a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.a11y-tog[aria-pressed="true"]{background:#0d0d0d;color:#fff}
.a11y-tog[aria-pressed="true"]::before{content:"✓ "}
.a11y-foot{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;margin-top:14px;padding-top:12px;border-top:1px solid #0d0d0d;font-size:.95rem}
.a11y-foot a{display:inline-flex;align-items:center;min-height:44px;color:#0d0d0d;text-decoration:underline}
.a11y-reset{border-color:#767676;background:#f4f4f4}
.a11y-guide{position:fixed;inset-inline:0;top:-10px;height:4px;background:#0d0d0d;box-shadow:0 0 0 2px #fff,0 0 0 4px #0d0d0d;z-index:75;pointer-events:none;display:none}
html.a11y-guide-on .a11y-guide{display:block}

/* text size: the site sizes in rem/em, so scaling the root scales everything */
html.a11y-t1{font-size:112.5%}
html.a11y-t2{font-size:125%}
html.a11y-t3{font-size:150%}

/* high contrast: pure black/white, darker accent, no faint grays (also used under dark mode) */
html.a11y-contrast{--ink:#000;--ink-2:#000;--mute:#000;--faint:#1a1a1a;--rule:#000;--rule-strong:#000;--accent:#005f49;--accent-ink:#00493a;--accent-soft:#fff;--on-dark:#fff;--on-dark-mute:#fff;--bg:#fff;--surface:#fff;--surface-2:#fff}
html.a11y-contrast a:not(.btn){text-decoration:underline}

html.a11y-links a{text-decoration:underline!important;text-underline-offset:3px;text-decoration-thickness:2px}
html.a11y-heads h1,html.a11y-heads h2,html.a11y-heads h3,html.a11y-heads h4{background:#ffe14d!important;color:#000!important;outline:2px solid #000;padding:.1em .3em;border-radius:4px}
html.a11y-focus :focus,html.a11y-focus :focus-visible{outline:4px solid #000!important;outline-offset:3px!important;box-shadow:0 0 0 8px #ffe14d!important}
html.a11y-spacing body *{line-height:1.8!important;word-spacing:.16em!important}
html.a11y-spacing .a11y-panel,html.a11y-spacing .a11y-panel *{line-height:1.5!important}
html.a11y-readable body,html.a11y-readable body *{font-family:Arial,"Noto Sans Hebrew",Helvetica,sans-serif!important}
html.a11y-cursor,html.a11y-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 24 24'%3E%3Cpath d='M3 2l7 19 3-8 8-3z' fill='black' stroke='white' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") 4 2,auto!important}
html.a11y-nomotion *,html.a11y-nomotion *::before,html.a11y-nomotion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-nomotion .reveal{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){.a11y-btn{transition:none}}
html.a11y-spacing h1,html.a11y-spacing h2,html.a11y-spacing h3{line-height:1.3!important}
/* dark mode inverts colors, so a yellow highlight would turn brown: use an outline instead */
html.a11y-dark.a11y-heads h1,html.a11y-dark.a11y-heads h2,html.a11y-dark.a11y-heads h3,html.a11y-dark.a11y-heads h4{background:transparent!important;color:inherit!important;outline:3px solid #000}
html.a11y-dark.a11y-focus :focus,html.a11y-dark.a11y-focus :focus-visible{box-shadow:0 0 0 8px #000!important}
html.a11y-spacing h1 *,html.a11y-spacing h2 *,html.a11y-spacing h3 *{line-height:inherit!important}
