/* ===== Light Aesthetics: accessibility layer (ת"י 5568 / WCAG 2.0 AA) ===== */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:10px;right:10px;z-index:400;background:var(--ink);color:var(--paper);padding:.8em 1.4em;border-radius:10px;font-family:var(--sans);font-weight:600;transform:translateY(-160%);transition:transform .2s}
.skip-link:focus,.skip-link:focus-visible{transform:none}
:focus-visible{outline:3px solid var(--ink)!important;outline-offset:3px!important;box-shadow:0 0 0 6px rgba(228,210,168,.9)!important;border-radius:4px}
.field input:focus-visible,.field select:focus-visible{outline:3px solid var(--ink)!important;outline-offset:2px!important}
main:focus{outline:0}
section[id]{scroll-margin-top:84px}

/* trigger button */
.a11y-btn{position:fixed;bottom:160px;left:18px;z-index:72;width:48px;height:48px;border-radius:50%;background:#1D3E7A;color:#fff;border:2px solid #fff;cursor:pointer;display:grid;place-items:center;box-shadow:0 10px 24px -8px rgba(0,0,0,.45);padding:0}
.a11y-btn svg{width:30px;height:30px}
.a11y-btn:hover{transform:scale(1.06)}
@media (min-width:900px){.a11y-btn{bottom:98px}}

/* panel */
.a11y{position:fixed;z-index:300;left:18px;bottom:220px;width:min(380px,calc(100vw - 36px));max-height:calc(100vh - 240px);overflow:auto;overscroll-behavior:contain;background:var(--paper);color:var(--ink);border:1px solid var(--gold);border-radius:20px;box-shadow:0 30px 70px -25px rgba(0,0,0,.5);padding:0 16px 16px;display:none;font-family:var(--sans);font-size:16px;line-height:1.5;direction:rtl;text-align:right}
.a11y.on{display:block}
@media (min-width:900px){.a11y{bottom:156px;max-height:calc(100vh - 176px)}}
@media (max-width:899px){.a11y{left:12px;right:12px;width:auto;bottom:calc(84px + env(safe-area-inset-bottom));max-height:calc(100svh - 104px)}}
.a11y-head{position:sticky;top:0;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0 10px;border-bottom:1px solid var(--line);margin-bottom:10px;z-index:1}
.a11y-head h2{font-family:var(--sans);font-size:1.15rem;font-weight:600;letter-spacing:0;line-height:1.3;margin:0}
.a11y-x{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer}
.a11y h3{font-family:var(--sans);font-size:.85rem;font-weight:600;color:var(--ink2);letter-spacing:.02em;margin:12px 0 6px;line-height:1.3}
.a11y-g{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.a11y-g button,.a11y-reset{min-height:48px;font:inherit;font-size:.92rem;line-height:1.25;padding:.55em .7em;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;text-align:center;letter-spacing:0;word-spacing:0}
.a11y-g button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.a11y-g button[aria-pressed=true]::before{content:"✓ "}
.a11y-lvl{grid-column:1/-1;font-size:.85rem;color:var(--ink2);margin:0}
.a11y-foot{margin-top:14px;display:grid;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.a11y-reset{width:100%;font-weight:600}
.a11y-foot a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;display:inline-block;min-height:44px;line-height:44px}
.a11y-foot p{font-size:.85rem;color:var(--ink2);margin:0}

/* reading guide / mask */
.a11y-ruler{position:fixed;left:0;right:0;height:14px;margin-top:-7px;top:var(--gy,50vh);z-index:280;pointer-events:none;background:rgba(29,62,122,.18);border-block:2px solid #1D3E7A;display:none}
html.a11y-guide .a11y-ruler{display:block}
.a11y-shade{position:fixed;left:0;right:0;z-index:279;pointer-events:none;background:rgba(0,0,0,.55);display:none}
.a11y-shade.t{top:0;height:calc(var(--gy,50vh) - 70px)}.a11y-shade.b{bottom:0;top:calc(var(--gy,50vh) + 70px)}
html.a11y-mask .a11y-shade{display:block}

/* text size */
html.a11y-fs-1{font-size:90%}
html.a11y-fs1{font-size:112%}
html.a11y-fs2{font-size:125%}
html.a11y-fs3{font-size:140%}
html[class*="a11y-fs"] .doc-title h2{white-space:normal}

/* spacing (WCAG 1.4.12 values) */
html.a11y-sp :is(p,li,dd,dt,summary,label,small,.lead,.note,.who,figcaption){line-height:1.9!important;letter-spacing:.12em!important;word-spacing:.16em!important}
html.a11y-sp :is(h1,h2,h3){line-height:1.4!important;letter-spacing:.04em!important;word-spacing:.16em!important}
html.a11y-sp p{margin-bottom:.6em}
html.a11y-sp .doc-title h2{white-space:normal}

/* high contrast */
html.a11y-hc{--bg:#fff;--bg2:#fff;--paper:#fff;--ink:#000;--ink2:#000;--muted:#000;--gold:#3d2a00;--gold-d:#3d2a00;--gold-l:#3d2a00;--line:#000}
html.a11y-hc header.solid,html.a11y-hc header,html.a11y-hc .sticky{background:#fff!important;backdrop-filter:none!important}
html.a11y-hc .hero-media::after{background:rgba(255,255,255,.88)!important}
html.a11y-hc .final::after{background:#fff!important}
html.a11y-hc .hero h1,html.a11y-hc .hero .lead{text-shadow:none!important}
html.a11y-hc a:not(.btn):not(.a11y-btn){text-decoration:underline;text-underline-offset:3px}
html.a11y-hc .grain{display:none}

/* dark / inverted */
html.a11y-dark{--bg:#14110D;--bg2:#1B1712;--paper:#221C16;--ink:#F7F0E4;--ink2:#E6DBCB;--muted:#D2C5B1;--gold:#D9BB7C;--gold-d:#E8CF96;--gold-l:#E8CF96;--line:rgba(232,207,150,.4);--jasmine:#221C16;color-scheme:dark}
html.a11y-dark body{background:var(--bg)}
html.a11y-dark header.solid,html.a11y-dark .sticky{background:rgba(20,17,13,.96)!important}
@media (max-width:760px){html.a11y-dark header{background:rgba(20,17,13,.96)!important}}
html.a11y-dark .hero-media::after{background:linear-gradient(270deg,rgba(20,17,13,.95) 0%,rgba(20,17,13,.85) 45%,rgba(20,17,13,.35) 75%,rgba(20,17,13,0) 90%),linear-gradient(0deg,var(--bg) 0%,transparent 22%)!important}
@media (max-width:760px){html.a11y-dark .hero-media::after{background:linear-gradient(0deg,var(--bg) 0%,rgba(20,17,13,0) 40%)!important}}
html.a11y-dark .hero h1,html.a11y-dark .hero .lead{text-shadow:0 0 18px rgba(20,17,13,.95)!important}
html.a11y-dark .hero .eyebrow{background:var(--paper)!important}
html.a11y-dark .final::after{background:radial-gradient(ellipse at center,rgba(27,23,18,.7),var(--bg2) 75%)!important}
html.a11y-dark .loader::after{background:rgba(20,17,13,.8)!important}
html.a11y-dark .field select option{color:#000}

/* grayscale (on children, never on html, so position:fixed keeps working) */
html.a11y-gray body>*{filter:grayscale(1)}

/* highlight links */
html.a11y-links a{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:4px!important;outline:2px dashed currentColor;outline-offset:3px}

/* readable font */
html.a11y-font body *:not(svg):not(svg *){font-family:Arial,"Assistant",system-ui,sans-serif!important;font-style:normal!important}
html.a11y-font :is(h1,h2,h3){font-weight:600!important;letter-spacing:0!important}

/* highlight headings */
html.a11y-heads :is(h1,h2,h3){outline:2px solid var(--gold-d);outline-offset:6px;border-radius:4px}
html.a11y-heads h2.shine,html.a11y-heads h2.shine em.g{animation:none!important;background:none!important;color:inherit!important}

/* stop animations (also applied automatically under prefers-reduced-motion via .a11y-nomo) */
html.a11y-still *,html.a11y-still *::before,html.a11y-still *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-nomo .rv,html.a11y-nomo .hero-in,html.a11y-nomo .split-line>span,html.a11y-nomo .clip,html.a11y-nomo .clip2,html.a11y-nomo .par,html.a11y-nomo .hero-media,html.a11y-nomo .hero-inner,html.a11y-nomo #hs,html.a11y-nomo .step>*:not(.fill),html.a11y-nomo .mag{transform:none!important;opacity:1!important;visibility:visible!important;clip-path:none!important}
html.a11y-nomo .manifesto .w{opacity:1!important}
html.a11y-nomo .step .fill{transform:scaleX(1)!important}
html.a11y-nomo .marquee .track{transform:none!important}
html.a11y-nomo .spark,html.a11y-nomo .cursor,html.a11y-nomo .grain{display:none!important}
html.a11y-nomo .hero-media video{display:none!important}
html.a11y-nomo #vine .leaf,html.a11y-nomo #vine .fl{transform:none!important;opacity:1!important}
html.a11y-nomo #vine .stem{stroke-dashoffset:0!important}
@media (min-width:900px){
  html.a11y-nomo .tr .pin{height:auto!important;padding-bottom:80px}
  html.a11y-nomo .hs{flex-wrap:wrap!important;width:auto!important;padding-inline-end:0}
  html.a11y-nomo .tcard{flex:1 1 420px!important;width:auto!important}
  html.a11y-nomo .pin-spacer{height:auto!important;padding:0!important}
}

/* big cursor */
html.a11y-cur-b,html.a11y-cur-b *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M6 3l30 27-13 1.5 8 15-6 3-8-15.5L6 42z' fill='%23000' stroke='%23fff' stroke-width='2.5'/%3E%3C/svg%3E") 6 3,auto!important}
html.a11y-cur-w,html.a11y-cur-w *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M6 3l30 27-13 1.5 8 15-6 3-8-15.5L6 42z' fill='%23fff' stroke='%23000' stroke-width='2.5'/%3E%3C/svg%3E") 6 3,auto!important}
html.a11y-cur-b .cursor,html.a11y-cur-w .cursor{display:none!important}
