/* Accessibility preferences panel. Self-contained so it works on every page. */
.a11y-fab { position: fixed; z-index: 70; inset-inline-start: 14px; bottom: 18px; width: 52px; height: 52px; border-radius: 50%; border: 2px solid #F3EEDF; background: #0E2B24; color: #F3EEDF; display: grid; place-items: center; cursor: pointer; box-shadow: 0 6px 18px rgba(0,0,0,.25); }
.a11y-fab svg { width: 30px; height: 30px; }
.a11y-fab:focus-visible, .a11y-panel :focus-visible { outline: 3px solid #D9B865; outline-offset: 3px; }
body.has-sticky .a11y-fab { bottom: 112px; }
.a11y-panel { position: fixed; z-index: 71; inset-inline-start: 14px; bottom: 80px; width: min(340px, calc(100vw - 28px)); max-height: calc(100vh - 110px); overflow: auto; background: #FFFDF7; color: #16241F; border: 1px solid #D8D0BA; border-radius: 12px; box-shadow: 0 18px 40px rgba(0,0,0,.25); padding: 16px; font-family: "Assistant", "Arial Hebrew", Arial, sans-serif; font-size: 16px; line-height: 1.5; }
body.has-sticky .a11y-panel { bottom: 174px; max-height: calc(100vh - 200px); }
.a11y-panel[hidden] { display: none; }
.a11y-panel h2 { margin: 0 0 10px; font-size: 18px; font-weight: 800; color: #0E2B24; font-family: inherit; display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.a11y-panel .a11y-close { width: 40px; height: 40px; border-radius: 50%; border: 1px solid #D8D0BA; background: transparent; font-size: 22px; cursor: pointer; color: #16241F; }
.a11y-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.a11y-opt { min-height: 48px; border: 1.5px solid #D8D0BA; background: #fff; color: #16241F; border-radius: 8px; padding: 8px 10px; font: 700 15px/1.25 inherit; cursor: pointer; text-align: start; }
.a11y-opt[aria-pressed="true"] { background: #0E2B24; color: #fff; border-color: #0E2B24; }
.a11y-size { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; border: 1.5px solid #D8D0BA; border-radius: 8px; padding: 6px; background: #fff; }
.a11y-size button { min-height: 40px; border-radius: 6px; border: 1px solid #D8D0BA; background: #F7F4EC; font: 800 16px inherit; cursor: pointer; color: #16241F; }
.a11y-size output { font-weight: 800; min-width: 7ch; text-align: center; }
.a11y-foot { margin-top: 12px; display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.a11y-foot button { min-height: 40px; padding: 6px 14px; border-radius: 999px; border: 1.5px solid #8A3B22; color: #8A3B22; background: transparent; font: 700 15px inherit; cursor: pointer; }
.a11y-foot a { color: #0E2B24; font-weight: 700; }

/* Preference effects */
html.a11y-contrast { --paper: #FFFFFF; --paper-2: #F2F2F2; --card: #FFFFFF; --ink: #000000; --ink-soft: #1F1F1F; --green: #00261C; --green-2: #00261C; --green-3: #003D2E; --brass-ink: #5A4210; --on-green: #FFFFFF; --on-green-soft: #FFFFFF; --rule: #555555; --risk: #7A1F00; }
html.a11y-contrast body { background: #fff; }
html.a11y-contrast .hero .lede, html.a11y-contrast .growth-copy, html.a11y-contrast .ctrl .hint { color: #fff !important; }
html.a11y-gray body > *:not(.a11y-panel):not(.a11y-fab) { filter: grayscale(1); }
html.a11y-links a { text-decoration: underline !important; text-decoration-thickness: 2px !important; text-underline-offset: 3px !important; outline: 1px dashed currentColor; outline-offset: 2px; }
html.a11y-readable body, html.a11y-readable h1, html.a11y-readable h2, html.a11y-readable h3, html.a11y-readable .hero-brand, html.a11y-readable blockquote { font-family: Arial, "Arial Hebrew", sans-serif !important; letter-spacing: 0 !important; }
html.a11y-spacing body *:not(.a11y-panel):not(.a11y-panel *) { line-height: 1.9 !important; letter-spacing: .06em !important; word-spacing: .16em !important; }
html.a11y-spacing p { margin-bottom: .5em; }
html.a11y-still *, html.a11y-still *::before, html.a11y-still *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
html.a11y-cursor, html.a11y-cursor * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24'%3E%3Cpath d='M4 2l14 10-6.5 1.2L15 21l-3 1.2-3.4-7.6L4 19z' fill='%23000' stroke='%23fff' stroke-width='1.4'/%3E%3C/svg%3E") 4 2, auto !important; }
html.a11y-headings h1, html.a11y-headings h2, html.a11y-headings h3 { outline: 2px solid #D9B865; outline-offset: 4px; }

@media print { .a11y-fab, .a11y-panel { display: none !important; } }
html.a11y-large .topnav { position: static; } html.a11y-large { scroll-padding-top: 12px; }
