@layer spr-standard {
:root{--a11y-text-factor:1}
:root[data-text="large"]{--a11y-text-factor:1.25}
:root[data-text="larger"]{--a11y-text-factor:1.5}
body{font-size:calc(18px * var(--a11y-text-factor))}
.a11y-toolbar button, #a11y-settings button{font:inherit;font-size:calc(16px * var(--a11y-text-factor));border:1px solid currentColor;background:transparent;color:inherit;padding:10px 16px;min-height:44px;cursor:pointer;white-space:normal}
.a11y-toolbar button:hover,#a11y-settings button:hover{text-decoration:underline}
.a11y-toolbar button:focus-visible,#a11y-settings :focus-visible,.s05-legal :focus-visible{outline:3px solid currentColor;outline-offset:3px}
#a11y-settings{box-sizing:border-box;width:min(540px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;margin:auto;padding:20px;border:2px solid var(--navy);background:var(--cream);color:var(--navy);font:inherit;font-size:calc(18px * var(--a11y-text-factor))}
#a11y-settings::backdrop{background:rgb(0 0 0 / .65)}
.a11y-dialog-top{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:12px}
#a11y-settings h2{font-size:calc(24px * var(--a11y-text-factor));line-height:1.2;margin:0;flex:1 1 200px}
#a11y-settings fieldset{margin:24px 0;padding:12px;border:1px solid currentColor;min-width:0}
#a11y-settings legend{font-weight:600;padding:0 4px;max-width:100%}
#a11y-settings label{display:flex;align-items:center;gap:12px;padding:10px 4px;min-height:44px;cursor:pointer}
#a11y-settings input{appearance:auto;accent-color:var(--navy);width:24px;height:24px;flex:0 0 24px;margin:0}
#a11y-settings p{font-size:inherit;line-height:1.5;overflow-wrap:anywhere}
.s05-footer-links{display:flex;flex-wrap:wrap;gap:12px 24px;padding:24px;max-width:1440px;margin:auto}
.s05-footer-links a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px;overflow-wrap:anywhere}
.funding{background:#fff;color:var(--navy);padding:32px 24px}
.funding-inner{max-width:1200px;margin:auto}
.funding p{font-size:calc(16px * var(--a11y-text-factor));line-height:1.6;margin:0;max-width:85ch}
.funding img{display:block;max-width:100%;height:auto;margin-top:24px}
body.legal-page{background:var(--cream);color:var(--navy)}
.s05-legal{width:min(100% - 48px,800px);margin:0 auto;padding:24px 0 80px;line-height:1.65;overflow-wrap:anywhere}
.s05-legal-top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:48px}
.s05-legal h1{font-size:calc(clamp(36px,5vw,64px) * var(--a11y-text-factor));line-height:1.1;margin:0 0 24px}
.s05-legal h2{font-size:calc(28px * var(--a11y-text-factor));line-height:1.25;margin:40px 0 16px}
.s05-legal p{font-size:calc(18px * var(--a11y-text-factor))}
.s05-draft{padding:16px;border:1px solid currentColor}
:root:not([data-text="standard"]) :is(h1,h2,h3,a,button,summary){overflow-wrap:anywhere}
@media(max-width:700px){.s05-legal{width:calc(100% - 40px)}
#a11y-settings{padding:16px}
.s05-footer-links{display:flex!important;flex-direction:column!important}}
@media(prefers-reduced-motion:reduce){#a11y-settings{scroll-behavior:auto}}
.funding-logos-scroll{max-width:100%;overflow-x:auto;margin-top:24px;padding:8px;background:#fff!important;color:#202868!important}
.funding-logos-scroll img{width:100%;min-width:1100px;max-width:none;height:auto;margin:0;background:#fff!important}
.funding-logos-scroll:focus-visible{outline:3px solid currentColor;outline-offset:3px}
body.legal-page>.prototype{display:none}
.s05-footer-links{background:#202868;color:#F8E8DB;max-width:none;margin:0;padding-left:max(24px,calc((100% - 1392px)/2))}
.s05-footer-links a:focus-visible{outline:3px solid currentColor;outline-offset:4px}
:root[data-text]:not([data-text="standard"]) body main :is(h1,h2,h3,h4,p,figcaption,a,button,summary){overflow-wrap:anywhere!important;min-width:0!important;max-width:100%!important}
html[data-contrast="standard"] body .funding .funding-logos-scroll:focus-visible{outline:3px solid #202868!important;outline-offset:4px!important}
#a11y-settings{border-radius:24px}
body.focus-home .focus-copy .btn.toggle{border-radius:12px;gap:16px}
body.focus-home .focus-copy .btn.toggle .home-menu-lines{display:inline-flex;flex-direction:column;justify-content:center;gap:6px;width:19px;height:20px;flex:0 0 19px}
body.focus-home .focus-copy .btn.toggle .home-menu-lines i{display:block;width:19px;height:1.5px;background:currentColor}
@media(forced-colors:active){body.focus-home .focus-copy .btn.toggle .home-menu-lines i{background:ButtonText}}
@media(max-width:700px){body.focus-home .focus-copy .btn.toggle{min-height:calc(36px * var(--a11y-text-factor) + 28px)}}
@media(min-width:701px) and (max-width:1099px){body.focus-home .focus-copy .btn.toggle{min-height:calc(36px * var(--a11y-text-factor) + 32px)}}
}
/* AAA tokens are shared by all three modes. A full circle replaces the previous semicircle. */
:root{--aaa-size:144px;--aaa-font:24px;--aaa-bg:#000;--aaa-fg:#fff}
.a11y-toolbar{box-sizing:border-box;position:relative;display:flex;justify-content:flex-end;align-items:flex-start;width:100%;height:176px;min-height:176px;margin:0;padding:16px max(16px,calc((100vw - 1392px)/2));background:transparent;color:inherit}
#a11y-open{box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex:0 0 var(--aaa-size);width:var(--aaa-size);height:var(--aaa-size);min-height:var(--aaa-size);margin:0;padding:0;border:1.5px solid var(--aaa-bg);border-radius:50%;background:var(--aaa-bg);color:var(--aaa-fg);font-family:Instrument,Arial,sans-serif;font-size:calc(var(--aaa-font) * var(--a11y-text-factor));font-weight:600;line-height:1;cursor:pointer;text-decoration:none;box-shadow:none}
#a11y-open span{background:transparent;color:inherit;letter-spacing:.04em}
#a11y-open:hover{text-decoration:underline;text-underline-offset:5px}
#a11y-open:active{border-width:3px}
#a11y-open:focus-visible{outline:4.5px solid var(--aaa-fg);outline-offset:-7.5px}
/* High contrast system: explicit tokens, component states, unchanged standard layer. */
:root[data-contrast="dark"]{--hc-bg:#000;--hc-fg:#fff;--hc-muted:#ddd;--hc-line:#aaa;--hc-link:#fff;--hc-button-bg:#000;--hc-button-fg:#fff;--hc-hover-bg:#fff;--hc-hover-fg:#000;--hc-focus:#fff;--hc-surface:#171717;--aaa-bg:#fff;--aaa-fg:#000}
:root[data-contrast="light"]{--hc-bg:#fff;--hc-fg:#000;--hc-muted:#333;--hc-line:#555;--hc-link:#000;--hc-button-bg:#fff;--hc-button-fg:#000;--hc-hover-bg:#000;--hc-hover-fg:#fff;--hc-focus:#000;--hc-surface:#f2f2f2;--aaa-bg:#000;--aaa-fg:#fff}
:root[data-contrast]:not([data-contrast="standard"]) body{background:var(--hc-bg);color:var(--hc-fg)}
:root[data-contrast]:not([data-contrast="standard"]) body :where(main,article,section,div,header,footer,nav,figure,figcaption,fieldset,form,details,summary,span){background-color:transparent;background-image:none;color:inherit;border-color:var(--hc-line);box-shadow:none;text-shadow:none}
:root[data-contrast]:not([data-contrast="standard"]) body :where(h1,h2,h3,h4,h5,h6,p,li,small,label,legend,time,code){color:inherit;background:transparent;text-shadow:none}
:root[data-contrast]:not([data-contrast="standard"]) a{background:transparent;color:var(--hc-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;transition:none}
:root[data-contrast]:not([data-contrast="standard"]) a:hover{text-decoration-thickness:2px}
:root[data-contrast]:not([data-contrast="standard"]) a:active{text-decoration-style:double}
:root[data-contrast]:not([data-contrast="standard"]) :where(button:not(#a11y-open),summary,input,select,textarea){box-sizing:border-box;color:var(--hc-button-fg);background:var(--hc-button-bg);border:1.5px solid var(--hc-fg);box-shadow:none;transition:none;min-height:44px}
:root[data-contrast]:not([data-contrast="standard"]) :where(button:not(#a11y-open),summary):hover{color:var(--hc-hover-fg);background:var(--hc-hover-bg)}
:root[data-contrast]:not([data-contrast="standard"]) :where(button:not(#a11y-open),summary):active{color:var(--hc-hover-fg);background:var(--hc-hover-bg);text-decoration:underline}
:root[data-contrast]:not([data-contrast="standard"]) :where(button:disabled,input:disabled,select:disabled,textarea:disabled){color:var(--hc-muted);border-style:dashed;cursor:not-allowed}
:root[data-contrast]:not([data-contrast="standard"]) :where(.s2-button,.knowledge-refbutton,.btn,.projects-button,.podcast-cta,.contact-button,.contact-cta){background:var(--hc-button-bg);color:var(--hc-button-fg);border:1.5px solid var(--hc-fg);text-decoration:none;box-shadow:none;transition:none}
:root[data-contrast]:not([data-contrast="standard"]) :where(.s2-button,.knowledge-refbutton,.btn,.projects-button,.podcast-cta,.contact-button,.contact-cta):hover{background:var(--hc-hover-bg);color:var(--hc-hover-fg)}
:root[data-contrast]:not([data-contrast="standard"]) :where(button,summary,a) :where(span,i){color:inherit;background-color:transparent}
:root[data-contrast]:not([data-contrast="standard"]) :where(.s2-menu-icon,.knowledge-refmenu-icon,.home-menu-lines) i{background:currentColor}
:root[data-contrast]:not([data-contrast="standard"]) :where(.about-continuous-path,.events-continuous-path,.projects-continuous-path,.s3-circle-art,.focus-art,.about-opening-art,.about-community>img,.events-art,.podcast-art,.knowledge-art,.knowledge-end-art,.projects-art,.contact-art,.circles-art,.knowledge-diagonal,.contact-diagonal,.podcast-diagonal,.circles-diagonal,.picto,.navpicto-slot,.circles-picto,.contact-picto,.podcast-picto,.projects-picto,.knowledge-picto,.about-picto){display:none}
:root[data-contrast]:not([data-contrast="standard"]) :where(.s2-page,.s3-page,.focus-hero,.about-opening,.events-opening,.circles-opening,.knowledge-opening,.projects-opening,.podcast-opening,.contact-opening){min-height:0}
:root[data-contrast]:not([data-contrast="standard"]) :where(.about-intro,.about-body,.about-community,.about-join,.events-intro,.events-content,.events-archive,.projects-intro,.projects-list,.projects-invite,.s3-about-column,.s3-circles-column,.knowledge-intro,.knowledge-body,.knowledge-content,.knowledge-end){margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;width:min(100%,1200px);max-width:1200px}
:root[data-contrast]:not([data-contrast="standard"]) :where(.knowledge-opening,.knowledge-end){padding-bottom:32px}
:root[data-contrast]:not([data-contrast="standard"]) .focus-hero{padding-bottom:48px}
:root[data-contrast]:not([data-contrast="standard"]) :where(.panel){border-block:1px solid var(--hc-line);padding-block:32px}
:root[data-contrast]:not([data-contrast="standard"]) .navgrid a{border-top:1px solid var(--hc-line);text-decoration:none}
:root[data-contrast]:not([data-contrast="standard"]) .navgrid a:hover{text-decoration:underline;text-underline-offset:4px}
:root[data-contrast]:not([data-contrast="standard"]) :is(.s2-meta,.s3-meta,.navdesc,.events-eyebrow,.projects-label,figcaption,time){color:var(--hc-muted)}
:root[data-contrast]:not([data-contrast="standard"]) :where(.s2-news-list>.s2-news,.s2-project+.s2-project,.s3-meeting-grid>article,.knowledge-reffeature+.knowledge-reffeature){border-top:1px solid var(--hc-line)}
:root[data-contrast]:not([data-contrast="standard"]) :where(footer,.s05-footer-links,.funding){border-top:1px solid var(--hc-line)}
:root[data-contrast]:not([data-contrast="standard"]) .funding{background:var(--hc-bg);color:var(--hc-fg)}
:root[data-contrast]:not([data-contrast="standard"]) img{filter:none}
:root[data-contrast]:not([data-contrast="standard"]) a:has(>img[alt^="PRZEPLATAMY"]){background:transparent;padding:0;border:0;border-radius:0;box-shadow:none}
:root[data-contrast]:not([data-contrast="standard"]) #a11y-settings{background:var(--hc-bg);color:var(--hc-fg);border:2px solid var(--hc-fg)}
:root[data-contrast]:not([data-contrast="standard"]) #a11y-settings :where(button,fieldset){border-color:var(--hc-line)}
:root[data-contrast]:not([data-contrast="standard"]) #a11y-settings :where(legend){color:var(--hc-fg);font-weight:600}
:root[data-contrast]:not([data-contrast="standard"]) #a11y-settings input{accent-color:var(--hc-fg);min-height:24px}
:root[data-contrast]:not([data-contrast="standard"]) #a11y-settings label:has(input:checked){background:var(--hc-surface);border-radius:8px}
/* Existing approved CSS uses important for focus and enlarged text. These are the only HC priority exceptions. */
@layer spr-priority{
 :root[data-contrast]:not([data-contrast="standard"]) :focus-visible{outline:3px solid var(--hc-focus)!important;outline-offset:4px!important}
 :root[data-contrast]:not([data-contrast="standard"]) #a11y-open:focus-visible{outline:4.5px solid var(--aaa-fg)!important;outline-offset:-7.5px!important}
}
@media(prefers-reduced-motion:reduce){:root[data-contrast]:not([data-contrast="standard"]) *{scroll-behavior:auto;transition:none;animation:none}}

/* Menu refinement: decorative double stroke and a visible, unboxed keyboard focus. */
#navigation .nav-entry-lines{display:flex;flex-direction:column;justify-content:center;gap:6px;width:19px;min-width:19px;height:24px}
#navigation .nav-entry-lines i{display:block;width:19px;height:2px;background:currentColor}
#navigation .navgrid a:focus-visible .navtitle{text-decoration-line:underline;text-decoration-thickness:3px;text-underline-offset:6px;text-decoration-color:currentColor}
@layer spr-priority{
 #navigation .navgrid a:focus-visible{outline:none!important}
}
