/* Accessibility menu (a11y.js) and the modes it switches on. */
.a11y-fab{position:fixed;z-index:45;inset-inline-end:20px;bottom:20px;width:52px;height:52px;border-radius:50%;border:0;display:grid;place-items:center;background:#141719;color:#f2f1ec;box-shadow:0 14px 34px -14px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.12);cursor:pointer;transition:transform .2s cubic-bezier(.2,.7,.2,1)}
.a11y-fab:hover{transform:scale(1.06)}
.a11y-fab svg{width:28px;height:28px}
.a11y-fab:focus-visible,.a11y-panel :focus-visible{outline:3px solid #f3a63a;outline-offset:3px}
.a11y-panel{position:fixed;z-index:46;inset-inline-end:20px;bottom:84px;width:min(320px,calc(100vw - 40px));max-height:calc(100vh - 110px);overflow:auto;padding:18px;border-radius:18px;background:#141719;color:#f2f1ec;box-shadow:0 30px 70px -24px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.1);display:grid;gap:8px;font-family:inherit}
.a11y-panel[hidden]{display:none}
.a11y-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.a11y-title{margin:0;font-size:17px;font-weight:600}
.a11y-x{width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:inherit;display:grid;place-items:center;cursor:pointer}
.a11y-x svg{width:16px;height:16px}
.a11y-size{display:grid;gap:8px;padding:12px;border-radius:12px;background:rgba(255,255,255,.05)}
.a11y-size>span{font-size:13px;color:#c9cbc4}
.a11y-size>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.a11y-size button,.a11y-opt,.a11y-reset{min-height:44px;border:0;border-radius:10px;background:rgba(255,255,255,.08);color:#f2f1ec;font:inherit;font-size:14px;cursor:pointer}
.a11y-opt{text-align:start;padding:0 14px;display:flex;align-items:center;justify-content:space-between}
.a11y-opt::after{content:"";width:36px;height:22px;border-radius:999px;flex:none;background:radial-gradient(circle at 11px 50%,#f2f1ec 7px,transparent 7.5px),rgba(255,255,255,.22)}
.a11y-opt[aria-pressed=true]::after{background:radial-gradient(circle at 25px 50%,#141719 7px,transparent 7.5px),#f3a63a}
.a11y-size button[aria-pressed=true]{background:#f2f1ec;color:#141719;font-weight:600}
.a11y-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.a11y-reset{padding:0 16px}
.a11y-foot a{color:#f2f1ec;font-size:14px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.a11y-fab{width:48px;height:48px;inset-inline-end:14px;bottom:14px}.a11y-panel{inset-inline-end:14px;bottom:72px}}
/* Keep the privacy notice clear of the button. */
.sw-notice{max-width:min(440px,calc(100vw - 100px))}

/* Text size */
html.a11y-zoom body{zoom:var(--a11y-zoom,1)}
html.a11y-zoom .a11y-fab,html.a11y-zoom .a11y-panel{zoom:calc(1 / var(--a11y-zoom,1))}

/* High contrast: darker secondary text and lines on light surfaces, brighter on dark ones */
html.a11y-contrast{--muted:#1d1f1b;--body-2:#1d1f1b;--line:#5d6058;--on-charcoal-2:#f6f5f0}
html.a11y-contrast .eyebrow,html.a11y-contrast .source-detail,html.a11y-contrast .feature-list li,html.a11y-contrast .download-meta,html.a11y-contrast .download-hint,html.a11y-contrast .purchase-note,html.a11y-contrast .legal p,html.a11y-contrast .legal li{color:#1d1f1b}
html.a11y-contrast .film-section .eyebrow,html.a11y-contrast .stage-section .eyebrow,html.a11y-contrast .stage-targets article>p:not(.eyebrow),html.a11y-contrast .export-shot figcaption,html.a11y-contrast .format-ribbon>span,html.a11y-contrast .license-card *,html.a11y-contrast .site-footer *,html.a11y-contrast .x-intro *{color:#fff!important}
html.a11y-contrast .license-card .button{color:#141719!important}
html.a11y-contrast .license-card .button *{color:#141719!important}

/* Highlight links */
html.a11y-links a{text-decoration:underline!important;text-underline-offset:4px!important;text-decoration-thickness:2px!important}
html.a11y-links a:not(.brand){outline:2px solid #f3a63a;outline-offset:2px;border-radius:4px}

/* Readable font */
html.a11y-font body,html.a11y-font body *:not(svg):not(path){font-family:Arial,Helvetica,"Segoe UI",sans-serif!important;letter-spacing:normal!important}

/* Stop animations */
html.a11y-still *,html.a11y-still *::before,html.a11y-still *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
