/* DashAI accessibility menu + the modes it switches on (10.11.2026). Standalone: works on the home page and the legal pages. */
.skip { position: fixed; z-index: 100; inset-block-start: 10px; inset-inline-start: 10px; padding: 12px 18px; border-radius: 12px; background: #0e1d2c; color: #fff;
  font: 700 16px/1.2 "Heebo", system-ui, sans-serif; text-decoration: none; transform: translateY(-160%); transition: transform .2s; }
.skip:focus { transform: none; outline: 3px solid #ffd79a; outline-offset: 2px; }
:focus-visible { outline: 3px solid #006daa; outline-offset: 3px; }

.a11y { position: fixed; z-index: 61; inset-block-end: var(--a11y-bottom, 22px); inset-inline-end: 22px; font-family: "Heebo", system-ui, sans-serif; color: #0e1d2c; }
.has-bot .a11y { --a11y-bottom: 98px; }
.a11y__btn { width: 52px; height: 52px; border: 0; border-radius: 16px; display: grid; place-items: center; cursor: pointer; color: #fff; background: #006daa;
  box-shadow: 0 14px 30px -12px rgb(0 60 100 / .65), inset 0 1px 0 rgb(255 255 255 / .2); }
.a11y__btn:hover { background: #005b8f; }
.a11y__panel { position: absolute; inset-block-end: 64px; inset-inline-end: 0; width: min(320px, calc(100vw - 32px)); padding: 16px; border-radius: 20px; background: #fff;
  box-shadow: 0 0 0 1px rgb(14 29 44 / .08), 0 30px 70px -20px rgb(14 29 44 / .45); }
.a11y__panel[hidden] { display: none; }
.a11y__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.a11y__head b { font-size: 18px; }
.a11y__x { width: 34px; height: 34px; border: 0; border-radius: 10px; background: #f3f5f8; font: 400 22px/1 system-ui, sans-serif; color: #44515e; cursor: pointer; }
.a11y__size span { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: #44515e; }
.a11y__seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.a11y__seg button, .a11y__opt, .a11y__reset { min-height: 44px; border: 0; border-radius: 12px; background: #f1f4f8; color: #0e1d2c; font: 600 15px/1.25 "Heebo", system-ui, sans-serif; cursor: pointer; }
.a11y__seg button[aria-pressed="true"], .a11y__opt[aria-pressed="true"] { background: #0e1d2c; color: #fff; }
.a11y__opts { display: grid; gap: 6px; margin-top: 12px; }
.a11y__opt { display: flex; align-items: center; gap: 10px; padding: 0 14px; text-align: start; }
.a11y__opt i { width: 18px; height: 18px; border-radius: 6px; box-shadow: inset 0 0 0 2px currentColor; flex: none; }
.a11y__opt[aria-pressed="true"] i { background: #7ff0c6; box-shadow: none; }
.a11y__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
.a11y__reset { padding: 0 14px; background: transparent; box-shadow: inset 0 0 0 1.5px rgb(14 29 44 / .25); }
.a11y__foot a { font-size: 15px; font-weight: 600; color: #005b8f; }
@media (max-width: 700px) { .a11y { inset-inline-end: 16px; } .has-bot .a11y { --a11y-bottom: 92px; } }

/* ---------- modes ---------- */
/* high contrast: no soft greys, no grid, darker shades over the videos, full-colour logos */
html.a11y-contrast { --ink-2: #0e1d2c; --ink-3: #0e1d2c; --line: rgb(14 29 44 / .55); --grid: transparent; }
html.a11y-contrast body { background-image: none !important; background-color: #fff !important; }
html.a11y-contrast .soft, html.a11y-contrast small, html.a11y-contrast .sub, html.a11y-contrast .clients__h, html.a11y-contrast .climb__note { color: #0e1d2c !important; }
html.a11y-contrast .launch__shade, html.a11y-contrast .close__shade { background: rgb(4 14 28 / .74) !important; }
html.a11y-contrast .clients__row img { filter: none !important; opacity: 1 !important; }
html.a11y-contrast .btn--glass { background: rgb(0 0 0 / .6) !important; }
html.a11y-contrast .note, html.a11y-contrast .ui, html.a11y-contrast .qa li { box-shadow: 0 0 0 2px #0e1d2c !important; }
/* links and headings */
html.a11y-links a { text-decoration: underline !important; text-underline-offset: 3px; outline: 2px dashed #006daa; outline-offset: 3px; }
html.a11y-headings h1, html.a11y-headings h2, html.a11y-headings h3 { outline: 3px solid #ffd79a; outline-offset: 6px; border-radius: 4px; }
/* readable font */
html.a11y-font body, html.a11y-font body * { font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important; letter-spacing: normal !important; }
/* still: no animation, no transition, no video (posters stay) */
html.a11y-still *, html.a11y-still *::before, html.a11y-still *::after { animation-duration: 0s !important; animation-iteration-count: 1 !important; transition: none !important; scroll-behavior: auto !important; }
html.a11y-still .launch__video, html.a11y-still .close__video { display: none !important; }
html.a11y-still .launch { background: #0b2440 url(/img/dawn.jpg) 0% 50% / cover; }
html.a11y-still .close { background: #0b2440 url(/img/clouds.jpg) 0% 62% / cover; }
html.a11y-still .orbit__video { display: none !important; }
html.a11y-still .orbit__media { background: url(/img/brain.jpg) center / cover; }
html.a11y-contrast .orbit .ring span { background: rgb(0 0 0 / .75) !important; }
