/* Panel zachowuje typografię projektu i stały rozmiar niezależnie od ustawień treści. */
.a11y-open{font-size:16px!important;flex-shrink:0}
.a11y-open.has-settings{background:var(--navy);color:var(--on-dark)}
.a11y-panel{position:fixed;inset:96px 24px auto auto;margin:0;width:366px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 112px);overflow:auto;padding:24px;border:0;border-radius:24px;background:#F3F0E9;color:#1B1C1E;box-shadow:0 24px 80px rgba(0,0,0,.22);font:400 17px/1.45 var(--sans);color-scheme:light;overscroll-behavior:contain}
.a11y-panel::backdrop{background:rgba(15,20,30,.28)}
.a11y-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.a11y-panel h2{font:400 38px/1.1 var(--serif);letter-spacing:-.02em;margin:0}
.a11y-panel #a11y-intro{font-size:16px;color:#4A4B4F;margin:8px 0 24px}
.a11y-panel__section{display:grid;gap:8px;margin:0 0 20px;padding:0;border:0;min-width:0}
.a11y-panel legend{font:500 16px/1.4 var(--sans);margin:0 0 10px;padding:0}
.a11y-panel button{font:500 16px/1.4 var(--sans);letter-spacing:0;min-height:46px;cursor:pointer;border:0;border-radius:12px;background:#E8E3D8;color:#1B1C1E;padding:10px 14px;transition:background .15s,color .15s}
.a11y-panel button:hover{background:#D9D2C4}
.a11y-panel button:disabled{opacity:.45;cursor:default}
.a11y-panel button:focus-visible{outline:3px solid #1E2A44;outline-offset:3px}
.a11y-panel .a11y-panel__close{display:grid;place-items:center;flex:0 0 46px;border-radius:50%;padding:0}
.a11y-panel__size{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;gap:8px}
.a11y-panel output{display:grid;place-items:center;background:#E8E3D8;border-radius:12px;font-size:19px;font-variant-numeric:tabular-nums}
.a11y-panel__toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;width:100%}
.a11y-panel__switch{display:block;position:relative;width:34px;height:20px;flex:0 0 34px;border-radius:20px;background:#D9D2C4}
.a11y-panel__switch::after{content:"";position:absolute;top:4px;left:4px;width:12px;height:12px;border-radius:50%;background:#4A4B4F;transition:transform .15s}
.a11y-panel [aria-pressed=true] .a11y-panel__switch{background:#1E2A44}
.a11y-panel [aria-pressed=true] .a11y-panel__switch::after{background:#F3F0E9;transform:translateX(14px)}
.a11y-panel__themes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.a11y-panel__themes [data-a11y-theme=default]{grid-column:1/-1}
.a11y-panel .a11y-panel__themes [aria-pressed=true]{background:#1E2A44;color:#F3F0E9}
.a11y-panel .a11y-panel__reset{width:100%;background:#1B1C1E;color:#F3F0E9;border-radius:999px;min-height:50px}
.a11y-panel .a11y-panel__reset:hover{background:#1E2A44}
@media(max-width:600px){.a11y-panel{inset:12px 12px auto auto;width:366px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:22px}.nav__in{gap:12px}.nav__tools{gap:8px}}
@media(prefers-reduced-motion:reduce){.a11y-panel *{transition:none!important}}

/* Czysta skala szarości treści, bez zmiany panelu ani jego położenia. */
html[data-a11y-grey] [data-a11y-content]{filter:grayscale(1)}
html[data-a11y-underline] [data-a11y-content] a{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:.2em!important}
html[data-a11y-legible] [data-a11y-content],html[data-a11y-legible] [data-a11y-content] *{font-family:Verdana,Arial,sans-serif!important;font-style:normal!important}
html[data-a11y-spacing] [data-a11y-content] :is(p,li,h1,h2,h3,h4,a,span,strong,em,small,label,td,th,summary,legend){letter-spacing:.04em!important;word-spacing:.12em!important;line-height:1.7!important}

/* Przy większym tekście treść zyskuje miejsce zamiast przycinać się w stałych ramkach. */
.a11y-reflow [data-a11y-content] *{min-width:0;overflow-wrap:anywhere}
.a11y-reflow .ghost{display:none}
.a11y-reflow .menu,.a11y-reflow .nav .btn{display:none}
.a11y-reflow .burger{display:grid}
.a11y-reflow .nav .brand{font-size:22px}
.a11y-reflow .nav__in{height:84px;gap:12px}
.a11y-reflow .hero{height:auto;min-height:100svh}
.a11y-reflow .slide{display:none}
.a11y-reflow .slide.is-active{display:block;position:relative;inset:auto;padding:140px 0 48px;min-height:600px}
.a11y-reflow .slide__copy{position:relative;inset:auto;width:100%;max-width:1000px;padding-inline:var(--gut);text-align:left}
.a11y-reflow .hero__bar{position:relative;inset:auto;padding:0 var(--gut) 32px;flex-wrap:wrap}
.a11y-reflow .hero__bar .dots{flex-basis:100%}
.a11y-reflow .hero__ctrl{margin-left:auto}
.a11y-reflow .dot__t{white-space:normal;overflow:visible}
.a11y-reflow :is(.intro,.tri,.facts,.split,.sim,.cmp,.calc__grid,.articles,.team,.cols,.places,.foot__cols,.simx,.lens-list){grid-template-columns:minmax(0,1fr)}
.a11y-reflow .intro__txt,.a11y-reflow .fact--wide{grid-column:1}
.a11y-reflow .tech__grid{grid-template-columns:minmax(0,1fr)}
.a11y-reflow .tech__head,.a11y-reflow .tech__img,.a11y-reflow .tech__list{grid-column:1/-1;grid-row:auto}
.a11y-reflow .tech__img{min-height:0;aspect-ratio:4/3}
.a11y-reflow .tech__list{grid-template-columns:minmax(0,1fr)}
.a11y-reflow .lres{grid-template-columns:minmax(0,1fr)}
.a11y-reflow .lres__ring{display:none}
.a11y-reflow .form{grid-template-columns:minmax(0,1fr)}
.a11y-reflow .field :is(input,select,textarea){width:100%;min-width:0;max-width:100%}
.a11y-reflow .art--row{grid-template-columns:minmax(0,1fr)}
.a11y-reflow .calc__out,.a11y-reflow .cmp__q{position:static}
.a11y-reflow .still{height:auto;min-height:560px;display:flex;align-items:flex-end;padding:80px var(--gut)}
.a11y-reflow .still__q{position:relative;inset:auto}
.a11y-reflow .still img{height:100%}
.a11y-reflow .compare__lbl,.a11y-reflow .compare__hint{font-size:16px}
.a11y-reflow .foot__cols>div:first-child{grid-column:1}
@media(max-width:600px){.a11y-reflow .slide__copy{bottom:auto}.a11y-reflow .nav__in{height:72px}}

/* Motyw zmienia paletę, niezależnie od przełącznika wysokiego kontrastu.
   Brak atrybutu zachowuje oryginalne kolory projektu. */
html[data-a11y-theme=light]{--ivory:#fff;--paper:#F3F0E9;--stone:#DED9CF;color-scheme:light}
html[data-a11y-theme=dark]{--ivory:#191C24;--paper:#242A35;--stone:#596477;--ink:#F3F0E9;--ink-2:#C3C9D4;--navy:#2B3A56;--navy-2:#364865;--on-dark:#F3F0E9;--on-dark-2:#CDD3DF;color-scheme:dark}
html[data-a11y-theme=dark] :focus-visible{outline-color:#BED3FA}
html[data-a11y-theme=dark] .contact{background:#12151B}
html[data-a11y-theme=dark] .btn{background:#F3F0E9;color:#191C24}
html[data-a11y-theme=dark] .btn:hover{background:#CBD8ED;color:#191C24}
html[data-a11y-theme=dark] .art--row:hover{background:var(--paper)}
html[data-a11y-theme=dark] :is(.compare__knob,.compare__hint){color:#1B1C1E}

/* Wysoki kontrast nakłada się na wybrany motyw i można go wyłączyć osobno. */
html[data-a11y-contrast=dark]{--hc-bg:#000;--hc-fg:#fff;--hc-link:#ffdf6e;--ivory:#000;--paper:#111;--stone:#555;--ink:#fff;--ink-2:#fff;--navy:#000;--navy-2:#111;--on-dark:#fff;--on-dark-2:#fff;color-scheme:dark}
html[data-a11y-contrast=light]{--hc-bg:#fff;--hc-fg:#000;--hc-link:#003ea8;--ivory:#fff;--paper:#fff;--stone:#888;--ink:#000;--ink-2:#000;--navy:#fff;--navy-2:#fff;--on-dark:#000;--on-dark-2:#000;color-scheme:light}
html[data-a11y-contrast] body{background:var(--hc-bg)}
html[data-a11y-contrast] [data-a11y-content],html[data-a11y-contrast] [data-a11y-content] *{background-color:var(--hc-bg)!important;background-image:none!important;color:var(--hc-fg)!important;border-color:var(--hc-fg)!important;box-shadow:none!important;text-shadow:none!important}
html[data-a11y-contrast] [data-a11y-content] :is(img,svg){background:transparent!important}
html[data-a11y-contrast] [data-a11y-content] a,html[data-a11y-contrast] [data-a11y-content] a *{color:var(--hc-link)!important;text-decoration:underline!important}
html[data-a11y-contrast] [data-a11y-content] :is(button,input,select,textarea,.btn){border:2px solid var(--hc-fg)!important}
html[data-a11y-contrast] [data-a11y-content] :focus-visible{outline-color:var(--hc-fg)!important}
html[data-a11y-contrast] [data-a11y-content] :is(.dot__fill,.bars .on){background:var(--hc-fg)!important}
html[data-a11y-contrast] .hero [data-a11y-content]{color:var(--hc-fg)}
