/* Site-wide tools; fixed geometry keeps the toggle still when the panel opens. */
.a11y-wrap,.a11y-wrap *{box-sizing:border-box}
.a11y-wrap{position:fixed;right:16px;top:42%;z-index:1060;color:#272c26;font:500 16px/1.4 Jura,Arial,sans-serif;letter-spacing:normal;word-spacing:normal}
.a11y-wrap[hidden],.a11y-panel[hidden]{display:none!important}
.a11y-toggle{display:grid;place-items:center;width:60px;height:60px;transform:translateY(-50%);padding:10px;border:1px solid #65745a;border-radius:50%;background:#fff;color:#65745a;box-shadow:0 6px 22px #272c2626;cursor:pointer}
.a11y-toggle svg{display:block;width:36px;height:36px;fill:currentColor}
.a11y-toggle:hover,.a11y-toggle[aria-expanded=true]{color:#272c26;background:#e7ebe3}
.a11y-panel{position:fixed;top:16px;right:90px;width:min(330px,calc(100vw - 112px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;padding:0 14px 12px;background:#fff;color:#272c26;border:1px solid #a5af9c;border-radius:6px;box-shadow:0 8px 30px #272c262b;scrollbar-gutter:stable}
.a11y-panel__header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 8px;background:#fff;border-bottom:1px solid #d9ded1}
.a11y-panel__header h2{font:600 18px/1.4 Jura,Arial,sans-serif;letter-spacing:normal;text-wrap:wrap;margin:0}
.a11y-close{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;padding:8px;border:0;border-radius:3px;background:transparent;color:inherit;cursor:pointer}
.a11y-close svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;fill:none}
.a11y-panel button[data-a11y]{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:9px 6px;border:0;border-radius:3px;background:transparent;color:inherit;font:inherit;letter-spacing:normal;word-spacing:normal;text-align:left;cursor:pointer}
.a11y-panel button[data-a11y]+button[data-a11y]{margin-top:2px}
.a11y-panel button span{min-width:0;line-height:1.4;overflow-wrap:anywhere}
.a11y-panel button:not(:disabled):hover,.a11y-close:hover{background:#edf0e9}
.a11y-panel button[aria-pressed=true]{background:#e0e7d9;box-shadow:inset 3px 0 #536647;font-weight:700}
.a11y-panel button:disabled{opacity:.48;cursor:default}
.a11y-panel .a11y-icon{width:21px;height:21px;flex:0 0 21px;fill:currentColor}
.a11y-panel .a11y-icon.horizontal{transform:rotate(90deg)}
.a11y-wrap button:focus-visible{outline:2px solid #272c26;outline-offset:2px}
.a11y-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip-path:inset(50%);white-space:nowrap;overflow:hidden}
.a11y-panel .a11y-speech-note{margin:.75em 0 0;padding:.75em;border:1px solid currentColor;border-radius:.2em;color:inherit;font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}
.a11y-panel .a11y-speech-note[hidden]{display:none!important}

/* Actual measured sizes also cover headings and captions declared in pixels. */
html.a11y-font-active [data-a11y-scaled]{font-size:calc(var(--vd-a11y-font-size)*var(--vd-a11y-font-scale))!important;line-height:calc(var(--vd-a11y-line-height)*var(--vd-a11y-font-scale))!important;overflow-wrap:anywhere}
html.a11y-line-height-1 :is(p,li,dt,dd,blockquote,figcaption){line-height:1.75!important}
html.a11y-line-height-2 :is(p,li,dt,dd,blockquote,figcaption){line-height:2!important}
html.a11y-text-spacing-1 :is(p,li,dt,dd,blockquote,figcaption,h1,h2,h3,h4,h5,h6,a,label){letter-spacing:.08em!important;word-spacing:.16em!important}
html.a11y-text-spacing-2 :is(p,li,dt,dd,blockquote,figcaption,h1,h2,h3,h4,h5,h6,a,label){letter-spacing:.12em!important;word-spacing:.24em!important}
html:is(.a11y-line-height-1,.a11y-line-height-2,.a11y-text-spacing-1,.a11y-text-spacing-2) .a11y-wrap :is(h2,p,button,span){line-height:1.4!important;letter-spacing:normal!important;word-spacing:normal!important}
html.a11y-focus :is(a,button,input,textarea,select,summary,[tabindex]):focus{outline:3px solid #111!important;outline-offset:3px!important;box-shadow:0 0 0 6px #fff!important}
html.a11y-underline-links a{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:.2em!important}
.a11y-reading-guide{position:fixed;left:0;right:0;height:40px;background:rgb(39 44 38 / .12);border-block:2px solid rgb(39 44 38 / .6);pointer-events:none;z-index:1050}

/* Explicit colours preserve fixed headers, dialogs and original image colours. */
html.a11y-contrast{--ink:#111;--muted:#111;--accent:#dce4d5;--accent-dark:#26371c;--paper:#fff;--soft:#fff;--line:#111;--bs-body-color:#111;--bs-body-bg:#fff}
html.a11y-contrast body{color:#111;background:#fff}
html.a11y-contrast .frame{--frame-color:#111;--frame-link-color:#111;--frame-link-hover-color:#111;--frame-background:#fff;color:#111;background-color:#fff}
html.a11y-contrast .frame-backgroundimage-container{visibility:hidden}
html.a11y-contrast :is(.vd-legacy-footer,.vd-legacy-footer__content,.vd-legacy-footer__meta,.vd-card--text){color:#111!important;background-color:#fff!important}
html.a11y-contrast :is(.vd-bootstrap-header,.vd-bootstrap-header.navbar-mainnavigation){color:#111!important;background:#fff!important;border-bottom:1px solid #111}
html.a11y-contrast .vd-bootstrap-header :is(.nav-link,.dropdown-item,.navbar-toggler,.vd-languages a,.vd-languages span){color:#111!important}
html.a11y-contrast .vd-bootstrap-header :is(.dropdown-menu,.navbar-collapse){color:#111;background-color:#fff}
html.a11y-contrast .vd-card__caption{background-color:#fff;color:#111!important}
html.a11y-contrast :is(.vd-card--1,.vd-card--2) .vd-card__caption{background:#111;color:#fff!important}
html.a11y-contrast :is(.vd-card--1,.vd-card--2) .vd-card__caption :is(a,h3){color:#fff!important}
html.a11y-contrast a{color:inherit;text-decoration:underline;text-decoration-thickness:2px}
html.a11y-contrast :is(button,.btn,.vd-flipbook__button,input,textarea,select){background-color:#fff!important;color:#111!important;border:1px solid #111!important}
html.a11y-contrast :is(.vd-legacy-footer__social-link,.vd-legacy-footer__meta a){color:#111!important;opacity:1}

@media(max-width:600px){
    .a11y-wrap{right:12px;top:auto;bottom:20px}
    .a11y-toggle{width:52px;height:52px;padding:8px;transform:none}
    .a11y-panel{top:auto;left:12px;right:12px;bottom:86px;width:auto;max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px)}
}
