/* Accessibility preference classes (set on <html>) and the widget itself */
.a11y-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:fixed;top:-100px;inset-inline-start:16px;z-index:100;background:#1D1D1B;color:#fff;padding:12px 18px;border-radius:12px;text-decoration:none;font-weight:500}
.skip-link:focus{top:calc(12px + env(safe-area-inset-top,0px))}

/* preferences */
html.a11y-links a{text-decoration:underline!important;text-underline-offset:3px;outline:1px solid currentColor!important;outline-offset:2px!important}
html.a11y-contrast-high{filter:contrast(1.35)}
html.a11y-contrast-invert{filter:invert(1) hue-rotate(180deg)}
html.a11y-contrast-invert img,html.a11y-contrast-invert video{filter:invert(1) hue-rotate(180deg)}
html.a11y-contrast-mono{filter:grayscale(1) contrast(1.15)}
html.a11y-text-115{font-size:115%}
html.a11y-text-130{font-size:130%}
html.a11y-text-150{font-size:150%}
html.a11y-lines-16 body *{line-height:1.6!important}
html.a11y-lines-20 body *{line-height:2!important}
html.a11y-readable-font body,html.a11y-readable-font body *{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;letter-spacing:normal!important}
html.a11y-headings h1,html.a11y-headings h2,html.a11y-headings h3{outline:2px dashed currentColor;outline-offset:4px}
html.a11y-cursor-black,html.a11y-cursor-black *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='32' viewBox='0 0 24 32'%3E%3Cpath d='M2 2v24l7-6 4 10 4-2-4-10h9z' fill='%23000' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") 2 2,auto!important}
html.a11y-cursor-large,html.a11y-cursor-large *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='64' viewBox='0 0 24 32'%3E%3Cpath d='M2 2v24l7-6 4 10 4-2-4-10h9z' fill='%23000' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") 4 4,auto!important}
html.a11y-reduce-motion *,html.a11y-reduce-motion *::before,html.a11y-reduce-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}

/* the widget */
#a11y-widget-trigger{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));inset-inline-start:20px;z-index:60;width:52px;height:52px;border-radius:50%;border:0;background:#1D1D1B;color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 30px rgba(29,29,27,.25)}
#a11y-widget-trigger svg{width:26px;height:26px;fill:currentColor}
#a11y-widget-trigger.active{box-shadow:0 0 0 3px #fff,0 0 0 6px #4A7586}
#a11y-widget-trigger:focus-visible{outline:3px solid #4A7586;outline-offset:3px}
#a11y-widget-panel{position:fixed;bottom:calc(84px + env(safe-area-inset-bottom,0px));inset-inline-start:20px;z-index:61;width:min(380px,calc(100vw - 40px));max-height:calc(100vh - 120px);overflow:auto;background:#fff;color:#1D1D1B;border-radius:24px;padding:20px;box-shadow:0 24px 70px rgba(29,29,27,.25);font-family:"Heebo",Arial,sans-serif;font-size:16px;line-height:1.5}
#a11y-widget-panel .a11y-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
#a11y-widget-panel h2{margin:0;font-size:1.15rem;font-weight:800}
#a11y-widget-panel .a11y-x{width:36px;height:36px;border-radius:50%;border:1px solid #E2E5E7;background:#fff;font-size:1.3rem;cursor:pointer;color:#1D1D1B}
#a11y-widget-panel .a11y-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#a11y-widget-panel .a11y-card{display:grid;gap:4px;align-content:center;justify-items:center;text-align:center;min-height:78px;padding:10px 6px;border-radius:14px;border:1px solid #E2E5E7;background:#F4F6F7;color:#1D1D1B;font:inherit;font-size:.85rem;font-weight:500;cursor:pointer}
#a11y-widget-panel .a11y-card.on{background:#4A7586;border-color:#4A7586;color:#fff}
#a11y-widget-panel .a11y-v{font-size:.75rem;font-weight:400}
#a11y-widget-panel button:focus-visible,#a11y-widget-panel a:focus-visible{outline:3px solid #1D1D1B;outline-offset:2px}
#a11y-widget-panel .a11y-reset{margin-top:14px;width:100%;padding:11px;border-radius:999px;border:1px solid #1D1D1B;background:#fff;color:#1D1D1B;font:inherit;font-weight:500;cursor:pointer}
#a11y-widget-panel .a11y-hint{margin:12px 0 4px;font-size:.8rem;color:#626B70}
#a11y-widget-panel .a11y-link{font-size:.85rem;color:#355966}

/* keep the widget readable under page filters */
/* the filter sits on <html> (the root keeps fixed elements fixed); the widget is counter-inverted, grayscale stays readable as is */
html.a11y-contrast-invert #a11y-widget-panel,html.a11y-contrast-invert #a11y-widget-trigger{filter:invert(1) hue-rotate(180deg)}
html[class*="a11y-text-"] #a11y-widget-panel{font-size:16px}

@media print{
  html[class*="a11y-"]{filter:none!important}
  html[class*="a11y-text-"]{font-size:100%!important}
  html[class*="a11y-lines-"] body *{line-height:normal!important}
  #a11y-widget-trigger,#a11y-widget-panel{display:none!important}
}
