/* WIDGET — baza dokumentu: typografia elementów, linki, fokus, ruch. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-base);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);font-weight:var(--weight-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:var(--tracking-heading);margin:0;text-wrap:balance}
h1{font-size:var(--text-h1);line-height:var(--leading-h1);font-weight:var(--weight-h1)}
h2{font-size:var(--text-h2);line-height:var(--leading-h2);font-weight:var(--weight-h2)}
h3{font-size:var(--text-h3);line-height:var(--leading-h3);font-weight:var(--weight-h3)}
h4{font-size:var(--text-h4);line-height:var(--leading-h4);font-weight:var(--weight-h4)}
p{margin:0;text-wrap:pretty}
small{font-size:var(--text-small);line-height:var(--leading-small)}
/* linki w treści: blue-600 z podkreśleniem, hover blue-700; odwiedzone bez zmiany koloru */
a{color:var(--text-link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color var(--speed-fast) var(--ease)}
a:hover{color:var(--text-link-hover)}
a:visited{color:var(--text-link)}
/* fokus: obrys 2 px blue-600 z odsunięciem 2–3 px, na ciemnym blue-300 */
:focus-visible{outline:var(--border-focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}
.wg-on-dark :focus-visible,.wg-on-dark:focus-visible{outline-color:var(--focus-ring-on-dark)}
/* sekcje ciemne */
.wg-on-dark{color:var(--text-on-dark)}
.wg-on-dark h1,.wg-on-dark h2,.wg-on-dark h3,.wg-on-dark h4{color:var(--text-on-dark)}
.wg-on-dark a{color:var(--text-link-on-dark)}
.wg-on-dark a:hover{color:var(--blue-200)}
/* kontener i rytm sekcji */
.wg-container{width:100%;max-width:var(--container);margin:0 auto;padding-inline:var(--container-padding)}
.wg-section{padding-block:var(--section-y)}
.wg-measure{max-width:var(--measure)}
.wg-lead{font-size:var(--text-lead);line-height:var(--leading-lead);color:var(--text-secondary);max-width:var(--measure-lead)}
.wg-on-dark .wg-lead{color:var(--text-on-dark-muted)}
.wg-overline{font-family:var(--font-body);font-size:var(--text-overline);line-height:var(--leading-overline);font-weight:var(--weight-strong);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--text-link)}
.wg-on-dark .wg-overline{color:var(--text-accent-on-dark)}
.wg-num{font-variant-numeric:tabular-nums}
::selection{background:var(--blue-200);color:var(--ink)}
@media (max-width:1023px){
:root{--text-h1:var(--text-h1-mobile);--text-h2:var(--text-h2-mobile);--text-h3:var(--text-h3-mobile);--text-h4:var(--text-h4-mobile);--text-lead:var(--text-lead-mobile);--section-y:var(--section-y-mobile);--container-padding:var(--container-padding-mobile);--field-h:var(--field-h-mobile)}
}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
