*,*::before,*::after{box-sizing:border-box}
/* Jedyny offset kotwic w motywie (nie dublować go scroll-margin-em na nagłówkach). --cp-sticky-top
   to już realna wysokość sticky headera (zmierzona check.mjs --eval, patrz tokens.css) — reszta to
   celowy, drobny oddech między dołem nagłówka a nadpisem sekcji, nie łatka na zaniżony token. */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--cp-sticky-top) + 8px)}
body{margin:0;background:var(--cp-bg);color:var(--cp-text);font-family:var(--cp-font-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;
  background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:48px 48px}
a{color:var(--cp-accent);text-decoration:none}a:hover{color:var(--cp-accent-hover)}
:focus-visible{outline:2px solid var(--cp-accent);outline-offset:2px}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--cp-font-head);color:var(--cp-text-hi);line-height:1.15;margin:0;text-wrap:balance}
p{margin:0 0 1em;text-wrap:pretty}ul,ol{margin:0;padding:0;list-style:none}
input,select,button{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}
.cp-container{max-width:var(--cp-container);margin:0 auto;padding:0 var(--cp-gutter)}
.cp-main{padding:40px 0 72px}
/* <main tabindex="-1"> jest celem skip linku (fokus programowy także w starszym Safari/VoiceOver) — bez obwódki wokół całej treści. */
main:focus{outline:none}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cp-h1{font-size:clamp(28px,4.2vw,40px);font-weight:600;letter-spacing:.01em}
.cp-eyebrow{font-family:var(--cp-font-head);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cp-accent);margin:0 0 14px}
.cp-lead{font-size:17px;color:var(--cp-text-2);max-width:72ch}
.cp-prose{max-width:72ch;color:var(--cp-text-2)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Paski przewijania spójne z designem — strona i każdy kontener z overflow (tabele, szyna kart, podpowiedzi,
   szuflada filtrów). Właściwości standardowe (Firefox, Chromium 121+, Safari 18.2+) + pseudoelementy WebKit
   dla starszych Chromium/Safari. Bez zaokrągleń i bez systemowej szarości. */
html{scrollbar-width:thin;scrollbar-color:var(--cp-line-4) var(--cp-panel)}
*{scrollbar-width:thin;scrollbar-color:var(--cp-line-4) transparent}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:var(--cp-panel)}
::-webkit-scrollbar-thumb{background:var(--cp-line-4);border:2px solid var(--cp-panel)}
::-webkit-scrollbar-thumb:hover{background:var(--cp-accent-line)}
::-webkit-scrollbar-corner{background:var(--cp-panel)}
