*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 90px; }
body {
  margin: 0;
  padding-bottom: var(--pasek-dol);
  background: var(--tlo) var(--faktura) 0 0 / 512px repeat;
  background-blend-mode: multiply;
  color: var(--atrament);
  font: 400 var(--t-m)/1.62 var(--f-tekst);
  -webkit-font-smoothing: antialiased;
  transition: background-color 600ms ease, color 600ms ease;
}
[data-pora="wieczor"] body { background-blend-mode: soft-light; }
img, svg { display: block; max-width: 100%; }
[hidden] { display: none !important; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
h1, h2, h3, p, figure { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2 { font-family: var(--f-glowny); font-weight: 400; line-height: 1.06; letter-spacing: -0.015em; text-wrap: balance; }
h1 em, h2 em { font-style: normal; color: var(--zurawina); }
h3 { font-size: var(--t-l); line-height: 1.3; font-weight: 600; }
p { text-wrap: pretty; }
.ikona { width: 1.25em; height: 1.25em; flex: none; }

:focus-visible { outline: 2px solid var(--zurawina); outline-offset: 3px; border-radius: 3px; }

.wrap { width: min(100% - 32px, var(--szer)); margin-inline: auto; }
@media (min-width: 900px) { .wrap { width: min(100% - 96px, var(--szer)); } }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cyfry { font-variant-numeric: tabular-nums lining-nums; }

/* Dopisek odręczny (jak na bileciku do prezentu) — oszczędnie */
.reka { font-family: var(--f-reka); font-weight: 600; font-size: 1.45em; line-height: 1; color: var(--zurawina); }
.etykieta { display: inline-flex; align-items: center; gap: 8px; font-size: var(--t-mikro); font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--atrament-2); }
.etykieta svg { width: 14px; height: 14px; color: var(--zurawina); }
.lead { font-size: var(--t-l); color: var(--atrament-2); max-width: 32em; }

/* Pas wycinanki — oddzielacz sekcji */
.pas { height: 28px; background: url("../wycinanka/pas.svg") center / 96px 28px repeat-x; opacity: 0.9; }
[data-pora="wieczor"] .pas { filter: brightness(1.25) saturate(1.1); }

.tbd { box-shadow: inset 0 -1px 0 currentColor; background: repeating-linear-gradient(90deg, transparent 0 3px, rgb(217 149 44 / 18%) 3px 6px); border-radius: 2px; }

.sekcja { padding-block: var(--rytm); }
.sekcja__glowa { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: clamp(28px, 4vw, 48px); }
.sekcja__glowa h2 { font-size: var(--t-h2); margin-top: 12px; }
@media (max-width: 899px) { .sekcja__glowa { flex-direction: column; align-items: flex-start; gap: 14px; } }
.link-strzalka { display: inline-flex; gap: 10px; align-items: center; font-weight: 600; font-size: var(--t-s); white-space: nowrap; padding-bottom: 3px; border-bottom: 2px solid var(--zurawina); }
.link-strzalka span { transition: transform var(--ruch); }
.link-strzalka:hover span { transform: translateX(4px); }

.js [data-wejscie] { opacity: 0; transform: translateY(16px); transition: opacity var(--ruch-wolny), transform var(--ruch-wolny); transition-delay: calc(var(--d, 0) * 80ms); }
.js [data-wejscie].widoczne { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; }
  .js [data-wejscie] { opacity: 1; transform: none; }
}
