/* Lyriclip accessibility menu (2026-10-18): styles. Own copy of the accessibility menu.
   Lives in a stylesheet file, not an injected <style>, because this site's CSP is style-src 'self' (no 'unsafe-inline'). Every state is a class on <html>.
   The product (sample videos, the preview/order video, the "frame" demo pictures) is excluded from every colour override and from grayscale through
   the :not(...) lists below; with the menu untouched nothing on the page changes except the button. Generated once from a small script: edit by hand now. */
.a11y-menu-root{position:fixed;inset-block-end:12px;inset-inline-start:12px;z-index:900;font:16px/1.4 system-ui,-apple-system,'Segoe UI',Arial,sans-serif;letter-spacing:normal;word-spacing:normal;text-align:start}
html.a11y-t1 .a11y-menu-root{zoom:.8696}html.a11y-t2 .a11y-menu-root{zoom:.7692}html.a11y-t3 .a11y-menu-root{zoom:.6667}
.a11y-menu-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;margin:0;border-radius:50%;border:2px solid #0b0f14;background:#fff;color:#0b0f14;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.a11y-menu-btn svg{width:26px;height:26px;display:block;fill:currentColor;max-width:none}
.a11y-menu-btn:focus-visible,.a11y-menu-panel button:focus-visible{outline:3px solid #3ef4ff;outline-offset:2px;box-shadow:0 0 0 5px #0b0f14}
.a11y-menu-panel{position:absolute;inset-block-end:54px;inset-inline-start:0;box-sizing:border-box;width:min(320px,calc(100vw - 24px));max-height:calc(100vh - 80px);overflow:auto;overscroll-behavior:contain;padding:14px;border-radius:14px;border:2px solid #0b0f14;background:#fff;color:#0b0f14;box-shadow:0 8px 28px rgba(0,0,0,.4)}
.a11y-menu-panel[hidden]{display:none}
.a11y-menu-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px}.a11y-menu-head b{font-size:17px;font-weight:700}
.a11y-menu-panel button{appearance:none;box-sizing:border-box;min-height:44px;min-width:44px;padding:8px 12px;margin:0;border-radius:10px;border:2px solid #0b0f14;background:#fff;color:#0b0f14;font:inherit;font-weight:600;text-align:start;cursor:pointer;transform:none}
.a11y-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.a11y-menu-grid .wide{grid-column:1/-1}
.a11y-menu-panel button[aria-pressed=true]{background:#0b0f14;color:#fff}.a11y-menu-panel button[aria-pressed=true]::before{content:'\2713\00a0'}
.a11y-menu-panel button[aria-disabled=true]{opacity:.5;cursor:default}
.a11y-menu-size{display:flex;align-items:center;gap:8px;grid-column:1/-1}.a11y-menu-size span{flex:1;text-align:center;font-weight:700}
.a11y-menu-note{margin:10px 0 0;font-size:13px;color:#33404f}
@media print{.a11y-menu-root{display:none!important}}
/* text size: the whole page is zoomed (3 steps); the menu cancels it above so it keeps its size */
html.a11y-t1 body{zoom:1.15}html.a11y-t2 body{zoom:1.3}html.a11y-t3 body{zoom:1.5}
/* high contrast, dark: explicit colours on the interface only */
html.a11y-hc-dark,html.a11y-hc-dark body{background:#000!important;color:#fff!important}
html.a11y-hc-dark body *:not(video):not(canvas):not([data-a11y-keep]):not(.player):not(.frame):not(.order-video):not(.a11y-menu-root):not(video *):not(canvas *):not([data-a11y-keep] *):not(.player *):not(.frame *):not(.order-video *):not(.a11y-menu-root *){background-color:#000!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:currentColor!important;border-color:#fff!important;text-shadow:none!important;box-shadow:none!important}
html.a11y-hc-dark a:not(video):not(canvas):not([data-a11y-keep]):not(.player):not(.frame):not(.order-video):not(.a11y-menu-root):not(video *):not(canvas *):not([data-a11y-keep] *):not(.player *):not(.frame *):not(.order-video *):not(.a11y-menu-root *),html.a11y-hc-dark a *:not(video):not(canvas):not([data-a11y-keep]):not(.player):not(.frame):not(.order-video):not(.a11y-menu-root):not(video *):not(canvas *):not([data-a11y-keep] *):not(.player *):not(.frame *):not(.order-video *):not(.a11y-menu-root *){color:#ffe14d!important}
html.a11y-hc-dark svg:not(video):not(canvas):not([data-a11y-keep]):not(.player):not(.frame):not(.order-video):not(.a11y-menu-root):not(video *):not(canvas *):not([data-a11y-keep] *):not(.player *):not(.frame *):not(.order-video *):not(.a11y-menu-root *),html.a11y-hc-dark svg *:not(video):not(canvas):not([data-a11y-keep]):not(.player):not(.frame):not(.order-video):not(.a11y-menu-root):not(video *):not(canvas *):not([data-a11y-keep] *):not(.player *):not(.frame *):not(.order-video *):not(.a11y-menu-root *){fill:currentColor;stroke:currentColor}
html.a11y-hc-dark .hero::before,html.a11y-hc-dark .hero::after,html.a11y-hc-dark .gallery--big::before{display:none!important}
/* high contrast, light: explicit colours on the interface only */
html.a11y-hc-light,html.a11y-hc-light body{background:#fff!important;color:#000!important}
html.a11y-hc-light body *:not(video):not(canvas):not([data-a11y-keep]):not(.player):not(.frame):not(.order-video):not(.a11y-menu-root):not(video *):not(canvas *):not([data-a11y-keep] *):not(.player *):not(.frame *):not(.order-video *):not(.a11y-menu-root *){background-color:#fff!important;background-image:none!important;color:#000!important;-webkit-text-fill-color:currentColor!important;border-color:#000!important;text-shadow:none!important;box-shadow:none!important}
html.a11y-hc-light a:not(video):not(canvas):not([data-a11y-keep]):not(.player):not(.frame):not(.order-video):not(.a11y-menu-root):not(video *):not(canvas *):not([data-a11y-keep] *):not(.player *):not(.frame *):not(.order-video *):not(.a11y-menu-root *),html.a11y-hc-light a *:not(video):not(canvas):not([data-a11y-keep]):not(.player):not(.frame):not(.order-video):not(.a11y-menu-root):not(video *):not(canvas *):not([data-a11y-keep] *):not(.player *):not(.frame *):not(.order-video *):not(.a11y-menu-root *){color:#0000c8!important}
html.a11y-hc-light svg:not(video):not(canvas):not([data-a11y-keep]):not(.player):not(.frame):not(.order-video):not(.a11y-menu-root):not(video *):not(canvas *):not([data-a11y-keep] *):not(.player *):not(.frame *):not(.order-video *):not(.a11y-menu-root *),html.a11y-hc-light svg *:not(video):not(canvas):not([data-a11y-keep]):not(.player):not(.frame):not(.order-video):not(.a11y-menu-root):not(video *):not(canvas *):not([data-a11y-keep] *):not(.player *):not(.frame *):not(.order-video *):not(.a11y-menu-root *){fill:currentColor;stroke:currentColor}
html.a11y-hc-light .hero::before,html.a11y-hc-light .hero::after,html.a11y-hc-light .gallery--big::before{display:none!important}
/* grayscale: every interface element that has no product inside it (a filter on an ancestor would also grey the product).
   Ancestors of the product cannot take the filter, so their own colours are turned to neutral greys instead (page ground, the hero glow, the screen frame). */
html.a11y-gray body *:not(video):not(canvas):not([data-a11y-keep]):not(.player):not(.frame):not(.order-video):not(.a11y-menu-root):not(video *):not(canvas *):not([data-a11y-keep] *):not(.player *):not(.frame *):not(.order-video *):not(.a11y-menu-root *):not(:has(video,canvas,[data-a11y-keep],.player,.frame,.order-video)){filter:grayscale(1)}
/* the dark grey ground is for grayscale alone: with high-contrast light the ground stays white (QA M2: black text on #171717 was unreadable) */
html.a11y-gray:not(.a11y-hc-light),html.a11y-gray:not(.a11y-hc-light) body{background:#171717!important}
html.a11y-gray .hero::before,html.a11y-gray .gallery--big::before{background:radial-gradient(closest-side,rgba(200,200,200,.2),transparent)!important}
html.a11y-gray .hero::after{background-image:radial-gradient(rgba(220,220,220,.08) 1px,transparent 1.6px)!important}
html.a11y-gray:not(.a11y-hc-light) .screen{background:#0e0e0e!important;box-shadow:0 0 0 1.5px #777,0 22px 50px -26px rgba(200,200,200,.4)!important}
html.a11y-font body *:not(video):not(canvas):not([data-a11y-keep]):not(.player):not(.frame):not(.order-video):not(.a11y-menu-root):not(video *):not(canvas *):not([data-a11y-keep] *):not(.player *):not(.frame *):not(.order-video *):not(.a11y-menu-root *),html.a11y-font body{font-family:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif!important}
html.a11y-links a:not(video):not(canvas):not([data-a11y-keep]):not(.player):not(.frame):not(.order-video):not(.a11y-menu-root):not(video *):not(canvas *):not([data-a11y-keep] *):not(.player *):not(.frame *):not(.order-video *):not(.a11y-menu-root *){text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px;outline:2px solid currentColor;outline-offset:2px;font-weight:700!important}
html.a11y-space body *:not(video):not(canvas):not([data-a11y-keep]):not(.player):not(.frame):not(.order-video):not(.a11y-menu-root):not(video *):not(canvas *):not([data-a11y-keep] *):not(.player *):not(.frame *):not(.order-video *):not(.a11y-menu-root *){letter-spacing:.12em!important;word-spacing:.16em!important;line-height:1.8!important}
html.a11y-cursor,html.a11y-cursor *{cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2740%27%20height%3D%2740%27%20viewBox%3D%270%200%2040%2040%27%3E%3Cpath%20d%3D%27M5%203v30l8-7%206%2012%205-2-6-12h11z%27%20fill%3D%27%230b0f14%27%20stroke%3D%27%23fff%27%20stroke-width%3D%272.5%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E") 5 3, auto!important}html.a11y-cursor a,html.a11y-cursor a *,html.a11y-cursor button,html.a11y-cursor button *,html.a11y-cursor [role=button],html.a11y-cursor label,html.a11y-cursor select,html.a11y-cursor summary{cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2740%27%20height%3D%2740%27%20viewBox%3D%270%200%2040%2040%27%3E%3Cpath%20d%3D%27M5%203v30l8-7%206%2012%205-2-6-12h11z%27%20fill%3D%27%231464f6%27%20stroke%3D%27%23fff%27%20stroke-width%3D%272.5%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E") 5 3, auto!important}
/* pause animations: the site's entrance effects (scroll reveal, sweeps, clap, pop, draw) and transitions are switched off; everything shows in its final state. Videos are never autoplay here. */
html.a11y-pause *,html.a11y-pause *::before,html.a11y-pause *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-pause .js .reveal,html.a11y-pause.js .reveal{opacity:1!important;transform:none!important}
