/* =======================================================================
   Zęby po ludzku — poradnik stomatologiczny
   Język wizualny: dziennik redakcyjny. Papier w kolorze kości, atrament,
   monospace w metryczkach, linie włosowe zamiast cieni, zero zaokrągleń.
   ======================================================================= */

:root{
  --papier:#f2eee4;
  --papier-2:#e9e3d5;
  --papier-3:#ddd5c3;
  --atrament:#15130f;
  --atrament-2:#4c473d;
  --atrament-3:#837c6d;
  --akcent:#2036c8;
  --akcent-ciemny:#182a9e;
  --sygnal:#b8402a;
  --linia:rgba(21,19,15,.16);
  --linia-mocna:rgba(21,19,15,.36);
  --font:'Inter',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --font-nag:'Fraunces','Georgia',serif;
  --font-mono:'IBM Plex Mono','SFMono-Regular',Consolas,monospace;
  --szer:1280px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--papier);color:var(--atrament);
  font-family:var(--font);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  background-image:radial-gradient(rgba(21,19,15,.035) 1px,transparent 1px);
  background-size:26px 26px}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%}
h1,h2,h3,h4{font-family:var(--font-nag);font-weight:600;
  font-variation-settings:'SOFT' 0,'WONK' 1;letter-spacing:-.01em;margin:0}
p{margin:0 0 18px}

.kontener{max-width:var(--szer);margin:0 auto;padding:0 40px}
.kontener.waski{max-width:1120px}

/* etykieta monospace — powtarza się w całym serwisie */
.mono,.etykieta,.filtr,.tag,.meta,.nr,.kicker{font-family:var(--font-mono)}
.etykieta{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;color:var(--akcent)}

/* ---------------- pasek górny ---------------- */
.pasek-info{background:var(--atrament);color:#ded8ca;font-family:var(--font-mono);
  font-size:11.5px;letter-spacing:.1em;text-transform:uppercase}
.pasek-info .kontener{display:flex;justify-content:space-between;gap:20px;
  padding-top:9px;padding-bottom:9px}
.pasek-info a{color:#fff}
.pasek-info .rozdziel{opacity:.5;margin:0 10px}

.gora{position:sticky;top:0;z-index:50;background:var(--papier);
  border-bottom:1px solid var(--linia-mocna)}
.gora-in{max-width:var(--szer);margin:0 auto;padding:0 40px;
  display:flex;align-items:center;gap:28px;height:74px}
.logo{font-family:var(--font-nag);font-size:26px;font-weight:700;letter-spacing:-.02em;
  white-space:nowrap;
  display:flex;align-items:center;gap:11px}
.logo .znak{width:32px;height:32px;background:var(--atrament);color:var(--papier);
  display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.menu{display:flex;gap:26px;margin-left:34px;margin-right:auto;font-family:var(--font-mono);
  font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.menu a{padding:4px 0;border-bottom:1px solid transparent}
.menu a:hover{border-bottom-color:var(--atrament)}
.menu a.wiecej{color:var(--akcent)}
.gora-akcje{display:flex;align-items:center;gap:18px;margin-left:8px}
.tel{font-family:var(--font-mono);font-size:13px;line-height:1.3;text-align:right;
  display:none}
.tel span{display:block;font-size:10.5px;color:var(--atrament-3);letter-spacing:.08em}
.menu-przycisk{display:none;margin-left:auto;background:none;border:1px solid var(--linia-mocna);
  font-size:17px;padding:7px 12px;cursor:pointer;color:var(--atrament)}

/* ---------------- przyciski ---------------- */
.btn{display:inline-block;background:var(--atrament);color:var(--papier);
  font-family:var(--font-mono);font-size:12px;letter-spacing:.11em;text-transform:uppercase;
  padding:15px 26px;border:1px solid var(--atrament);transition:.15s}
.btn:hover{background:var(--akcent);border-color:var(--akcent);color:#fff}
.btn.obrys{background:none;color:var(--atrament)}
.btn.obrys:hover{background:var(--atrament);color:var(--papier)}
.btn.jasny{background:var(--papier);color:var(--atrament);border-color:var(--papier)}
.btn.jasny:hover{background:var(--akcent);border-color:var(--akcent);color:#fff}
.btn.duzy{padding:17px 30px}

/* ---------------- hero ---------------- */
.hero{border-bottom:1px solid var(--linia-mocna);padding:0}
.hero .kontener{padding-top:58px;padding-bottom:0}
.hero-uklad{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}
.kicker{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--atrament-3);display:flex;align-items:center;gap:14px;margin-bottom:26px}
.kicker::after{content:"";flex:1;height:1px;background:var(--linia-mocna)}
.hero h1{font-size:clamp(42px,5.4vw,76px);line-height:1.02;letter-spacing:-.03em;
  font-weight:700;margin:0 0 26px}
.hero h1 em{font-style:italic;color:var(--akcent);font-variation-settings:'WONK' 1}
.hero-tekst>p{font-size:18.5px;line-height:1.62;color:var(--atrament-2);max-width:33em;
  margin-bottom:32px}
.hero-akcje{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:56px}

/* plansze z ilustracjami — jak przypięte okazy */
.plansze{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.plansza{border:1px solid var(--atrament);background:var(--papier);padding:7px;
  transition:transform .25s ease}
.plansza:nth-child(1){transform:rotate(-1.4deg)}
.plansza:nth-child(2){transform:rotate(1deg) translateY(10px)}
.plansza:nth-child(3){transform:rotate(.8deg)}
.plansza:nth-child(4){transform:rotate(-1deg) translateY(10px)}
.plansza:hover{transform:rotate(0) translateY(-4px)}
.plansza .ilu{display:block;width:100%;height:118px}
.plansza b{display:block;font-family:var(--font-mono);font-size:10.5px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;padding:9px 3px 4px;color:var(--atrament-2)}

/* pasek liczb */
.fakty{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--linia-mocna)}
.fakt{padding:24px 0 30px;border-right:1px solid var(--linia)}
.fakt:last-child{border-right:0}
.fakt b{display:block;font-family:var(--font-nag);font-size:44px;font-weight:600;
  line-height:1;letter-spacing:-.03em}
.fakt span{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--atrament-3);margin-top:9px}

/* ---------------- sekcje ---------------- */
.sekcja{padding:76px 0}
.sekcja.linia-gora{border-top:1px solid var(--linia-mocna)}
.naglowek-sekcji{display:flex;align-items:flex-end;justify-content:space-between;
  gap:30px;margin-bottom:36px;padding-bottom:18px;border-bottom:2px solid var(--atrament)}
.naglowek-sekcji h2{font-size:clamp(28px,3.4vw,44px);line-height:1.05;letter-spacing:-.03em;
  font-weight:700}
.naglowek-sekcji p{margin:10px 0 0;color:var(--atrament-2);font-size:16px;max-width:46em}
.naglowek-sekcji .prawa{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--atrament-3);white-space:nowrap;padding-bottom:4px}

/* ---------------- dziedziny: taśma kafli ---------------- */
.tasma{display:grid;grid-template-columns:repeat(5,1fr);gap:-1px;
  border:1px solid var(--atrament)}
.dziedzina{position:relative;display:flex;flex-direction:column;min-height:280px;
  background:var(--papier);border-right:1px solid var(--atrament);
  border-bottom:1px solid var(--atrament)}
.dziedzina:nth-child(5n){border-right:0}
.dziedzina:nth-last-child(-n+5){border-bottom:0}
.dziedzina .ilu{display:block;width:100%;height:132px;
  border-bottom:1px solid var(--atrament)}
.dziedzina .tresc{padding:16px 16px 18px;display:flex;flex-direction:column;flex:1}
.dziedzina h3{font-size:19px;line-height:1.15;margin-bottom:8px}
.dziedzina p{font-size:13.4px;line-height:1.5;color:var(--atrament-2);margin:0 0 14px;flex:1}
.dziedzina .ile{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--akcent)}
.dziedzina:hover{background:var(--papier-2)}
.dziedzina .numer{position:absolute;top:8px;left:10px;font-family:var(--font-mono);
  font-size:10.5px;color:#fff;opacity:.85;letter-spacing:.1em}

/* ---------------- indeks tekstów ---------------- */
.narzedzia{display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding-bottom:20px;margin-bottom:0}
.pasek-filtrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.filtr{background:none;border:1px solid var(--linia-mocna);color:var(--atrament-2);
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:8px 13px;
  cursor:pointer;transition:.12s}
.filtr:hover{border-color:var(--atrament)}
.filtr.akt{background:var(--atrament);border-color:var(--atrament);color:var(--papier)}
.szukajka{margin-left:auto;position:relative}
.szukajka input{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;
  background:none;border:0;border-bottom:1px solid var(--linia-mocna);
  padding:9px 4px 9px 22px;width:250px;color:var(--atrament);outline:none}
.szukajka input:focus{border-bottom-color:var(--akcent)}
.szukajka::before{content:"⌕";position:absolute;left:2px;top:6px;font-size:17px;
  color:var(--atrament-3)}

.indeks{border-top:2px solid var(--atrament)}
.wiersz{display:grid;grid-template-columns:44px minmax(0,1fr) 138px 132px 92px;
  align-items:center;gap:18px;padding:18px 10px 18px 4px;
  border-bottom:1px solid var(--linia);transition:background .13s}
.wiersz:hover{background:var(--papier-2)}
.wiersz .nr{font-size:12px;color:var(--atrament-3);letter-spacing:.08em}
.wiersz h3{font-size:20.5px;line-height:1.22;font-weight:600;margin-bottom:5px}
.wiersz .opis{font-size:14px;line-height:1.5;color:var(--atrament-2);margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wiersz .tag{font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--atrament-2);border-left:2px solid var(--atrament);padding-left:9px}
.wiersz .meta{font-size:10.5px;letter-spacing:.05em;color:var(--atrament-3);
  text-transform:uppercase;white-space:nowrap}
.wiersz .mini{width:92px;height:58px;overflow:hidden;border:1px solid var(--linia-mocna)}
.wiersz .mini .ilu{display:block;width:100%;height:100%}
.wiersz:hover .nr{color:var(--akcent)}
.wiersz:hover h3{color:var(--akcent)}
#brak-wynikow{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--atrament-3);padding:44px 0;text-align:center}

/* ---------------- płyty (kategorie, „przeczytaj także”) ---------------- */
.siatka{display:grid;gap:26px}
.siatka.trzy{grid-template-columns:repeat(3,1fr)}
.plyta{border:1px solid var(--atrament);background:var(--papier);display:flex;
  flex-direction:column;transition:.16s}
.plyta:hover{background:var(--papier-2);transform:translateY(-3px)}
.plyta .obrazek{position:relative;border-bottom:1px solid var(--atrament);overflow:hidden}
.plyta .ilu{display:block;width:100%;height:150px}
.plakietka{position:absolute;left:0;bottom:0;background:var(--atrament);color:var(--papier);
  font-family:var(--font-mono);font-size:9.6px;letter-spacing:.14em;text-transform:uppercase;
  padding:6px 11px}
.plyta .obrazek.numerowany{height:132px;display:flex;align-items:flex-end;
  justify-content:space-between;padding:16px 18px}
.plyta .cyfra{font-family:var(--font-nag);font-size:54px;font-weight:700;line-height:.85;
  color:rgba(255,255,255,.96);letter-spacing:-.04em}
.plyta .podpis{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(255,255,255,.8);padding-bottom:5px}
.plyta .tresc{padding:19px 20px 20px;display:flex;flex-direction:column;flex:1}
.plyta h3{font-size:20px;line-height:1.22;margin-bottom:10px}
.plyta p{font-size:14.3px;line-height:1.55;color:var(--atrament-2);margin:0 0 16px;flex:1}
.plyta .karta-stopka{display:flex;align-items:center;gap:9px;font-family:var(--font-mono);
  font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--atrament-3);
  border-top:1px solid var(--linia);padding-top:13px}
.awatar{width:26px;height:26px;background:var(--atrament);color:var(--papier);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);
  font-size:10px;flex-shrink:0}

/* ---------------- artykuł ---------------- */
.okruszki{font-family:var(--font-mono);font-size:11px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--atrament-3);padding:26px 0 0}
.okruszki a:hover{color:var(--akcent)}

.uklad-art{display:grid;grid-template-columns:190px minmax(0,760px);gap:56px;
  padding:8px 0 40px;align-items:start}
.uklad-art .kolumna{min-width:0}
.margines{position:relative}
.margines .spis{position:sticky;top:110px;padding-top:6px}
.spis b{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--atrament-3);margin-bottom:14px;
  padding-bottom:10px;border-bottom:1px solid var(--linia-mocna)}
.spis ol{list-style:none;counter-reset:s;margin:0;padding:0}
.spis li{counter-increment:s;margin-bottom:11px;line-height:1.35}
.spis a{font-size:13.6px;color:var(--atrament-2);display:block}
.spis a::before{content:counter(s,decimal-leading-zero);font-family:var(--font-mono);
  font-size:10px;color:var(--atrament-3);margin-right:8px}
.spis a:hover,.spis a.akt{color:var(--akcent)}

.art-baner{position:relative;height:190px;border:1px solid var(--atrament);
  overflow:hidden;margin:22px 0 30px}
.art-baner .pas{display:block;width:100%;height:100%}
.art-naglowek{padding-bottom:30px;margin-bottom:34px;
  border-bottom:2px solid var(--atrament)}
.art-naglowek h1{font-size:clamp(32px,4vw,52px);line-height:1.06;letter-spacing:-.03em;
  font-weight:700;margin:0 0 20px}
.art-lead{font-family:var(--font-nag);font-size:21px;line-height:1.5;font-weight:400;
  color:var(--atrament-2);margin:0 0 26px}
.art-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--atrament-3)}
.art-meta .awatar{width:36px;height:36px;font-size:12px}
.art-meta .autor b{display:block;font-family:var(--font);font-size:13.5px;font-weight:600;
  letter-spacing:0;text-transform:none;color:var(--atrament)}
.art-meta .autor span{font-size:10.5px}

.tresc-art{font-size:18px;line-height:1.72;counter-reset:rozdzial}
.tresc-art>p{margin:0 0 22px}
.tresc-art>p:first-of-type::first-letter{font-family:var(--font-nag);font-size:62px;
  font-weight:700;float:left;line-height:.84;margin:5px 12px 0 0;color:var(--akcent)}
.tresc-art h2{counter-increment:rozdzial;position:relative;font-size:29px;line-height:1.15;
  letter-spacing:-.02em;margin:52px 0 18px;padding-top:20px;
  border-top:1px solid var(--linia-mocna);scroll-margin-top:100px}
.tresc-art h2::before{content:counter(rozdzial,decimal-leading-zero);
  position:absolute;left:-56px;top:24px;font-family:var(--font-mono);font-size:11px;
  color:var(--atrament-3);letter-spacing:.08em}
.tresc-art ul,.tresc-art ol{margin:0 0 22px;padding-left:22px}
.tresc-art li{margin-bottom:11px}
.tresc-art a{color:var(--akcent);border-bottom:1px solid var(--akcent)}
.tresc-art b{font-weight:600}

.ramka{background:var(--papier-2);border-left:3px solid var(--atrament);
  padding:20px 24px;margin:0 0 24px;font-size:16.4px;line-height:1.62}
.ramka.uwaga{border-left-color:var(--akcent);background:rgba(32,54,200,.06)}
.ramka.alarm{border-left-color:var(--sygnal);background:rgba(184,64,42,.07)}
.ramka p:last-child{margin-bottom:0}

.tabela-owijka{overflow-x:auto;margin:0 0 26px;border-top:2px solid var(--atrament);
  border-bottom:1px solid var(--linia-mocna)}
table{border-collapse:collapse;width:100%;font-size:15px}
th{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  text-align:left;padding:13px 14px;color:var(--atrament-2);
  border-bottom:1px solid var(--linia-mocna)}
td{padding:13px 14px;border-bottom:1px solid var(--linia);vertical-align:top}
tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--papier-2)}

.faq{margin:44px 0 0;border-top:2px solid var(--atrament)}
.faq details{border-bottom:1px solid var(--linia)}
.faq summary{cursor:pointer;list-style:none;padding:18px 34px 18px 0;position:relative;
  font-family:var(--font-nag);font-size:19px;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:16px;
  font-family:var(--font-mono);font-size:19px;color:var(--atrament-3)}
.faq details[open] summary::after{content:"–"}
.faq details[open] summary{color:var(--akcent)}
.faq .odp{padding:0 40px 20px 0;color:var(--atrament-2);font-size:16.4px}

.biogram{display:flex;gap:18px;align-items:flex-start;border:1px solid var(--atrament);
  padding:22px;margin:48px 0 0;background:var(--papier-2)}
.biogram .awatar{width:52px;height:52px;font-size:15px}
.biogram b{display:block;font-family:var(--font-nag);font-size:18px}
.biogram .rola{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--akcent);margin:3px 0 9px;display:block}
.biogram p{margin:0;font-size:15px;color:var(--atrament-2)}

/* ---------------- CTA ---------------- */
.cta{background:var(--atrament);color:var(--papier);padding:38px 40px;margin:44px 0;
  position:relative;overflow:hidden}
.cta::after{content:"";position:absolute;right:-40px;top:-40px;width:190px;height:190px;
  border:1px solid rgba(255,255,255,.16);border-radius:50%}
.cta h3{font-size:28px;line-height:1.12;letter-spacing:-.02em;margin-bottom:12px;
  max-width:20em}
.cta p{color:#cfc9bb;font-size:16px;max-width:44em;margin-bottom:26px}
.cta .akcje{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.tel-cta{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:3px}
.tel-cta:hover{border-bottom-color:#fff}

/* ---------------- kategoria ---------------- */
.kat-baner{position:relative;border:1px solid var(--atrament);overflow:hidden;
  margin:20px 0 40px;min-height:260px;display:flex}
.kat-baner .pas{position:absolute;inset:0;width:100%;height:100%}
.kat-baner-tekst{position:absolute;inset:0;display:flex;flex-direction:column;
  justify-content:flex-end;padding:34px 36px;
  background:linear-gradient(90deg,rgba(12,11,9,.78) 0%,rgba(12,11,9,.55) 46%,
    rgba(12,11,9,.06) 78%,rgba(12,11,9,0) 100%)}
.kat-baner-tekst>*{max-width:640px}
.kat-baner-tekst span{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:#e4ded0;margin-bottom:12px}
.kat-baner-tekst h1{color:#fff;font-size:clamp(30px,4vw,50px);line-height:1.04;
  letter-spacing:-.03em;font-weight:700;margin:0 0 12px}
.kat-baner-tekst p{color:#ded8ca;font-size:16.5px;margin:0;line-height:1.55}
.bez-plakietek .plakietka:not(.zawsze){display:none}

/* ---------------- formularz ---------------- */
.kontakt{border-top:2px solid var(--atrament);background:var(--papier-2)}
.kontakt .kontener{padding-top:0;padding-bottom:0}
.kontakt-uklad{display:grid;grid-template-columns:1fr 1fr}
.kontakt-lewa{padding:64px 56px 64px 0;border-right:1px solid var(--linia-mocna)}
.kontakt-lewa h2{font-size:clamp(28px,3.4vw,42px);line-height:1.06;letter-spacing:-.03em;
  font-weight:700;margin:12px 0 18px}
.kontakt-lewa>p{color:var(--atrament-2);font-size:16.5px;max-width:34em}
.dane-kontakt{margin-top:34px;border-top:1px solid var(--linia-mocna)}
.dane-kontakt div{display:flex;gap:18px;padding:13px 0;border-bottom:1px solid var(--linia);
  font-size:15.5px}
.dane-kontakt b{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--atrament-3);width:92px;flex-shrink:0;padding-top:3px}
.dane-kontakt a:hover{color:var(--akcent)}
.formularz{padding:64px 0 64px 56px}
.pole{margin-bottom:24px}
.pole label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--atrament-3);margin-bottom:7px}
.pole input,.pole select,.pole textarea{width:100%;font-family:var(--font);font-size:16px;
  background:none;border:0;border-bottom:1px solid var(--linia-mocna);padding:9px 0;
  color:var(--atrament);outline:none;border-radius:0}
.pole textarea{min-height:74px;resize:vertical}
.pole input:focus,.pole select:focus,.pole textarea:focus{border-bottom-color:var(--akcent)}
.zgoda{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;
  color:var(--atrament-2);margin-bottom:24px;line-height:1.5}
.zgoda input{margin-top:3px;accent-color:var(--akcent)}
.komunikat{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;
  text-transform:uppercase;padding:13px 15px;margin-top:16px;display:none}
.komunikat.ok{display:block;background:var(--atrament);color:var(--papier)}
.komunikat.blad{display:block;background:rgba(184,64,42,.12);color:var(--sygnal);
  border:1px solid rgba(184,64,42,.4)}

/* ---------------- stopka ---------------- */
.stopka{background:var(--atrament);color:#b3ac9e;padding:64px 0 26px;
  font-size:14.5px}
.stopka a{color:#b3ac9e}
.stopka a:hover{color:#fff}
.stopka-siatka{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:40px;
  padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.14)}
.stopka h4{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:#fff;margin-bottom:18px}
.stopka .o-nas h4{font-family:var(--font-nag);font-size:24px;font-weight:700;
  letter-spacing:-.02em;text-transform:none;margin-bottom:14px}
.stopka ul{list-style:none;padding:0;margin:0;line-height:2}
.stopka .o-nas p{color:#8f887a;line-height:1.65;margin-bottom:14px;max-width:34em}
.stopka-dol{display:flex;justify-content:space-between;gap:20px;padding-top:20px;
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;
  color:#7d7668}

/* ---------------- drobiazgi ---------------- */
.postep{position:fixed;top:0;left:0;height:2px;width:0;z-index:60;background:var(--akcent)}
.mini{font-size:13.5px;color:var(--atrament-3)}
.ilu.w2 use{transform-origin:center;transform:scale(1.24) translate(-34px,7px)}
.ilu.w3 use{transform-origin:center;transform:scale(1.15) translate(30px,-8px)}
.ilu.w1 use{transform:none}

/* ---------------- responsywność ---------------- */
@media (max-width:1180px){
  .kontener{padding:0 28px}
  .uklad-art{grid-template-columns:150px minmax(0,1fr);gap:36px}
  .tresc-art h2::before{left:-42px}
  .menu{gap:16px;font-size:11px}
}
@media (max-width:980px){
  .hero-uklad{grid-template-columns:1fr;gap:40px}
  .plansze{grid-template-columns:repeat(4,1fr);gap:12px}
  .plansza{transform:none!important}
  .plansza .ilu{height:86px}
  .siatka.trzy{grid-template-columns:1fr 1fr}
  .kontakt-uklad{grid-template-columns:1fr}
  .kontakt-lewa{padding:52px 0 40px;border-right:0;border-bottom:1px solid var(--linia-mocna)}
  .formularz{padding:40px 0 56px}
  .stopka-siatka{grid-template-columns:1fr 1fr}
  .uklad-art{grid-template-columns:1fr;gap:0}
  .margines .spis{position:static;border:1px solid var(--linia-mocna);padding:20px;
    margin-bottom:32px}
  .tresc-art h2::before{position:static;display:block;margin-bottom:6px}
}
@media (max-width:760px){
  .pasek-info .kontener{font-size:10px;letter-spacing:.06em}
  .pasek-info .chowaj{display:none}
  .menu{display:none;position:absolute;top:74px;left:0;right:0;background:var(--papier);
    border-bottom:1px solid var(--atrament);flex-direction:column;gap:0;padding:8px 28px 18px}
  .menu.otwarte{display:flex}
  .menu a{padding:11px 0;border-bottom:1px solid var(--linia)}
  .menu-przycisk{display:block}
  .gora-akcje .btn{display:none}
  .wiersz{grid-template-columns:38px 1fr;gap:14px;padding:16px 0}
  .wiersz .tag,.wiersz .meta,.wiersz .mini{display:none}
  .wiersz h3{font-size:18px}
  .fakty{grid-template-columns:1fr 1fr}
  .fakt{padding:20px 0;border-right:0;border-bottom:1px solid var(--linia)}
  .siatka.trzy{grid-template-columns:1fr}
  .plansze{grid-template-columns:1fr 1fr}
  .plansza .ilu{height:104px}
  .stopka-siatka{grid-template-columns:1fr}
  .szukajka{margin-left:0;width:100%}
  .szukajka input{width:100%}
  .naglowek-sekcji{flex-direction:column;align-items:flex-start}
  .cta{padding:30px 24px}
  .tresc-art>p:first-of-type::first-letter{font-size:50px}
}
.wiersz .glowna-kol{min-width:0}


/* ---------------- wyróżnienie: duża płyta + zajawki ---------------- */
.wyroznienie{display:grid;grid-template-columns:1.25fr 1fr;gap:26px;align-items:stretch}
.duza-plyta{border:1px solid var(--atrament);background:var(--papier);display:flex;
  flex-direction:column;transition:.16s}
.duza-plyta:hover{background:var(--papier-2)}
.duza-plyta .obrazek{position:relative;border-bottom:1px solid var(--atrament);overflow:hidden}
.duza-plyta .ilu{display:block;width:100%;height:250px}
.duza-plyta .tresc{padding:26px 30px 30px;display:flex;flex-direction:column;flex:1}
.duza-plyta h3{font-size:29px;line-height:1.12;letter-spacing:-.02em;margin-bottom:12px}
.duza-plyta p{font-size:16px;line-height:1.6;color:var(--atrament-2);margin:0 0 18px;flex:1}
.czytaj{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--akcent)}
.obok{display:flex;flex-direction:column;border-top:2px solid var(--atrament)}
.zajawka{padding:20px 4px;border-bottom:1px solid var(--linia);flex:1;
  display:flex;flex-direction:column;justify-content:center;transition:.13s}
.zajawka:hover{background:var(--papier-2);padding-left:12px}
.zajawka .tag{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--akcent);margin-bottom:7px}
.zajawka h3{font-size:19.5px;line-height:1.2;margin-bottom:6px}
.zajawka p{font-size:14px;line-height:1.5;color:var(--atrament-2);margin:0}

/* szeroka płyta otwierająca listę kategorii */
.siatka.trzy>.duza-plyta.pozioma{grid-column:1/-1;display:grid;
  grid-template-columns:1fr 1.1fr;flex-direction:row}
.duza-plyta.pozioma .obrazek{border-bottom:0;border-right:1px solid var(--atrament)}
.duza-plyta.pozioma .ilu{height:100%;min-height:230px}
.duza-plyta.pozioma .tresc{justify-content:center}

/* ---------------- ciemny pas redakcyjny ---------------- */
.pas-ciemny{background:var(--atrament);color:var(--papier);padding:76px 0}
.pas-uklad{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.pas-uklad h2{font-size:clamp(28px,3.6vw,46px);line-height:1.08;letter-spacing:-.03em;
  font-weight:700;color:var(--papier)}
.zasady div{display:flex;gap:20px;padding:18px 0;border-top:1px solid rgba(255,255,255,.18)}
.zasady div:last-child{border-bottom:1px solid rgba(255,255,255,.18)}
.zasady b{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;
  color:#8f887a;padding-top:3px;flex-shrink:0}
.zasady span{font-size:16.5px;line-height:1.55;color:#ded8ca}

/* ---------------- stronicowanie ---------------- */
.pager{display:flex;align-items:center;gap:6px;justify-content:center;padding:34px 0 0;
  flex-wrap:wrap}
.pager button{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;
  text-transform:uppercase;background:none;border:1px solid var(--linia-mocna);
  color:var(--atrament-2);padding:10px 13px;cursor:pointer;transition:.12s}
.pager button:hover:not(:disabled){border-color:var(--atrament);color:var(--atrament)}
.pager button.akt{background:var(--atrament);border-color:var(--atrament);color:var(--papier)}
.pager button:disabled{opacity:.32;cursor:default}
.pager .str-luka{font-family:var(--font-mono);font-size:12px;color:var(--atrament-3);
  padding:0 4px}
.pod-indeksem{padding:32px 0 0;text-align:center}
.link-wiecej{color:var(--akcent);border-bottom:1px solid var(--akcent);padding-bottom:2px}

@media (max-width:980px){
  .wyroznienie{grid-template-columns:1fr}
  .duza-plyta .ilu{height:200px}
  .siatka.trzy>.duza-plyta.pozioma{grid-template-columns:1fr}
  .duza-plyta.pozioma .obrazek{border-right:0;border-bottom:1px solid var(--atrament)}
  .duza-plyta.pozioma .ilu{min-height:180px;height:180px}
  .pas-uklad{grid-template-columns:1fr;gap:30px}
}

/* panel „jak korzystać z tekstów” w zamknięciu strony */
.jak-czytac{padding:64px 0 64px 56px}
.jak-czytac h3{font-size:24px;letter-spacing:-.02em;margin-bottom:20px}
.jak-czytac ol{margin:0 0 22px;padding-left:20px;font-size:16px;line-height:1.66}
.jak-czytac li{margin-bottom:14px;padding-left:4px}
.jak-czytac li::marker{font-family:var(--font-mono);font-size:12px;color:var(--atrament-3)}
.jak-czytac .mini{border-top:1px solid var(--linia);padding-top:16px}
@media (max-width:980px){.jak-czytac{padding:0 0 56px}}

/* panel „jak korzystać z tekstów” w zamknięciu strony */
.jak-czytac{padding:64px 0 64px 56px}
.jak-czytac h3{font-size:24px;letter-spacing:-.02em;margin-bottom:20px}
.jak-czytac ol{margin:0 0 22px;padding-left:20px;font-size:16px;line-height:1.66}
.jak-czytac li{margin-bottom:14px;padding-left:4px}
.jak-czytac li::marker{font-family:var(--font-mono);font-size:12px;color:var(--atrament-3)}
.jak-czytac .mini{border-top:1px solid var(--linia);padding-top:16px}
@media (max-width:980px){.jak-czytac{padding:0 0 56px}}

/* ---------------- rozwijany panel dziedzin ---------------- */
.rozwijana{position:relative}
.przelacz{font-family:var(--font-mono);font-size:12px;letter-spacing:.09em;
  text-transform:uppercase;background:none;border:0;padding:4px 0;cursor:pointer;
  color:var(--atrament);display:flex;align-items:center;gap:7px;
  border-bottom:1px solid transparent}
.przelacz::after{content:"▾";font-size:10px;transition:transform .15s}
.rozwijana:hover .przelacz,.rozwijana.otwarty .przelacz{border-bottom-color:var(--atrament)}
.rozwijana.otwarty .przelacz::after{transform:rotate(180deg)}
.panel{display:none;position:absolute;top:calc(100% + 18px);left:-18px;z-index:60;
  width:min(560px,80vw);grid-template-columns:1fr 1fr;
  background:var(--papier);border:1px solid var(--atrament);
  box-shadow:0 18px 40px rgba(21,19,15,.14)}
.rozwijana:hover .panel,.rozwijana.otwarty .panel{display:grid}
.panel a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding:14px 18px;border-bottom:1px solid var(--linia);border-right:1px solid var(--linia)}
.panel a:nth-child(2n){border-right:0}
.panel a:nth-last-child(-n+2){border-bottom:0}
.panel a:hover{background:var(--papier-2)}
.panel b{font-family:var(--font-nag);font-size:16.5px;font-weight:600;
  letter-spacing:-.01em;text-transform:none}
.panel span{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--atrament-3);white-space:nowrap}
.panel a:hover b{color:var(--akcent)}

@media (max-width:760px){
  .rozwijana{width:100%}
  .przelacz{width:100%;justify-content:space-between;padding:11px 0;
    border-bottom:1px solid var(--linia)}
  .panel{position:static;width:100%;grid-template-columns:1fr;border:0;box-shadow:none;
    background:none}
  .rozwijana:hover .panel{display:none}
  .rozwijana.otwarty .panel{display:grid}
  .panel a{padding:10px 0 10px 16px;border-right:0}
  .panel b{font-size:15px}
}


/* ---------------- nagłówek: nawigacja przez wyszukiwanie ---------------- */
.menu{display:flex;gap:26px;margin-left:38px;margin-right:auto;font-family:var(--font-mono);
  font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.menu a{padding:4px 0;border-bottom:1px solid transparent}
.menu a:hover{border-bottom-color:var(--atrament)}

.szukaj-przycisk{display:flex;align-items:center;gap:10px;cursor:pointer;margin-left:auto;
  background:none;border:1px solid var(--linia-mocna);color:var(--atrament-3);
  font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;
  padding:10px 12px 10px 14px;min-width:250px;transition:.14s}
.szukaj-przycisk:hover{border-color:var(--atrament);color:var(--atrament)}
.szukaj-przycisk .lupa{font-size:17px;line-height:1;margin-top:-2px}
.szukaj-przycisk .etykieta-szukaj{margin-right:auto}
.szukaj-przycisk kbd{font-family:var(--font-mono);font-size:10.5px;
  border:1px solid var(--linia-mocna);padding:2px 7px;color:var(--atrament-3)}

/* ---------------- nakładka wyszukiwania ---------------- */
body.bez-przewijania{overflow:hidden}
.nakladka{position:fixed;inset:0;z-index:200;background:rgba(21,19,15,.34);
  display:flex;flex-direction:column;animation:pojaw .12s ease-out}
.nakladka[hidden]{display:none}
@keyframes pojaw{from{opacity:0}to{opacity:1}}
.nakladka-gora{background:var(--papier);border-bottom:1px solid var(--atrament)}
.nakladka-gora .kontener{padding-top:20px;padding-bottom:20px}
.pole-szukania{display:flex;align-items:center;gap:16px;
  border-bottom:2px solid var(--atrament);padding-bottom:12px}
.pole-szukania .lupa{font-size:30px;line-height:1;color:var(--atrament-3);margin-top:-4px}
.pole-szukania input{flex:1;border:0;background:none;outline:none;
  font-family:var(--font-nag);font-size:clamp(24px,3.4vw,38px);font-weight:600;
  letter-spacing:-.02em;color:var(--atrament);padding:0}
.pole-szukania input::placeholder{color:var(--atrament-3);font-weight:400;opacity:.75}
.pole-szukania input::-webkit-search-cancel-button{display:none}
.zamknij{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;background:none;border:1px solid var(--linia-mocna);
  color:var(--atrament-2);padding:8px 12px;cursor:pointer}
.zamknij:hover{border-color:var(--atrament);background:var(--atrament);color:var(--papier)}

.nakladka-tresc{background:var(--papier);overflow-y:auto;flex:1;
  border-bottom:1px solid var(--atrament)}
.nakladka-tresc .kontener{padding-top:30px;padding-bottom:44px}
.nakladka .grupa{margin-bottom:38px}
.nakladka .grupa h2{font-family:var(--font-mono);font-size:10.5px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--atrament-3);
  padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid var(--linia-mocna)}
.lista-wynikow{display:flex;flex-direction:column}
.wynik{display:flex;align-items:baseline;justify-content:space-between;gap:24px;
  padding:15px 12px 15px 4px;border-bottom:1px solid var(--linia);transition:.1s}
.wynik .tytul{font-family:var(--font-nag);font-size:20px;font-weight:600;
  letter-spacing:-.01em;line-height:1.25}
.wynik .obszar{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--atrament-3);white-space:nowrap}
.wynik:hover,.wynik.akt{background:var(--papier-2);padding-left:14px}
.wynik:hover .tytul,.wynik.akt .tytul{color:var(--akcent)}
.nakladka .brak{font-family:var(--font-mono);font-size:12.5px;color:var(--atrament-3);
  padding:30px 0}

.kafle-dziedzin{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;padding-top:16px}
.kafle-dziedzin a{border:1px solid var(--atrament);display:flex;flex-direction:column;
  transition:.14s;background:var(--papier)}
.kafle-dziedzin a:hover{background:var(--papier-2);transform:translateY(-3px)}
.kafle-dziedzin .ilu{display:block;width:100%;height:74px;
  border-bottom:1px solid var(--atrament)}
.kafle-dziedzin b{font-family:var(--font-nag);font-size:15px;font-weight:600;
  line-height:1.2;padding:11px 12px 3px}
.kafle-dziedzin span{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--atrament-3);padding:0 12px 12px}

@media (max-width:1080px){
  .szukaj-przycisk{min-width:0}
  .szukaj-przycisk .etykieta-szukaj,.szukaj-przycisk kbd{display:none}
  .szukaj-przycisk{padding:10px 13px}
  .kafle-dziedzin{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
  .menu{display:flex;position:static;flex-direction:row;gap:18px;margin-left:20px;
    border:0;padding:0;font-size:11px;background:none}
  .menu a{border-bottom:0;padding:0}
  .kafle-dziedzin{grid-template-columns:1fr 1fr;gap:10px}
  .kafle-dziedzin .ilu{height:58px}
  .wynik{flex-direction:column;align-items:flex-start;gap:5px}
  .wynik .tytul{font-size:17px}
  .nakladka-gora .kontener{padding-top:14px;padding-bottom:14px}
}


/* stopka nakładki: odnośniki i skróty klawiszowe */
.nakladka-stopka{display:flex;align-items:center;gap:26px;flex-wrap:wrap;
  padding-top:22px;border-top:1px solid var(--linia-mocna);
  font-family:var(--font-mono);font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.nakladka-stopka a{border-bottom:1px solid var(--linia-mocna);padding-bottom:2px}
.nakladka-stopka a:hover{color:var(--akcent);border-bottom-color:var(--akcent)}
.nakladka-stopka .podpowiedz{margin-left:auto;color:var(--atrament-3);text-transform:none;
  letter-spacing:.04em}

@media (max-width:760px){
  .gora-in{height:62px;gap:12px}
  .logo{font-size:19px}
  .logo .znak{width:27px;height:27px;font-size:14px}
  .menu{display:none}
  .nakladka-stopka{gap:14px;font-size:10px}
  .nakladka-stopka .podpowiedz{display:none}
}
.wiecej-wynikow{display:inline-block;margin-top:16px;font-family:var(--font-mono);
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--akcent);
  border-bottom:1px solid var(--akcent);padding-bottom:2px}

/* ---------------- pasek dziedzin ---------------- */
.dzialy{border-top:1px solid var(--linia);background:var(--papier)}
.dzialy-in{max-width:var(--szer);margin:0 auto;padding:0 40px;display:flex;gap:24px;
  overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.dzialy-in::-webkit-scrollbar{display:none}
.dzial{font-family:var(--font-mono);font-size:11px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--atrament-2);white-space:nowrap;
  padding:13px 0 12px;border-bottom:2px solid transparent;transition:.13s}
.dzial:hover{color:var(--atrament);border-bottom-color:var(--linia-mocna)}
.dzial.akt{color:var(--akcent);border-bottom-color:var(--akcent)}

/* nagłówek jest teraz wyższy — przesuwamy zakotwiczenia */
.tresc-art h2{scroll-margin-top:150px}
.margines .spis{top:158px}

@media (max-width:1180px){.dzialy-in{padding:0 28px}}
@media (max-width:760px){
  .dzialy-in{padding:0 28px;gap:18px}
  .dzial{font-size:10.5px;padding:11px 0 10px}
  .tresc-art h2{scroll-margin-top:120px}
}


/* siatka dziedzin zamiast poziomego suwaka — wszystkie widoczne naraz */
@media (max-width:1180px){
  .tasma{grid-template-columns:repeat(3,1fr)}
  .dziedzina:nth-child(5n){border-right:1px solid var(--atrament)}
  .dziedzina:nth-child(3n){border-right:0}
  .dziedzina:nth-last-child(-n+5){border-bottom:1px solid var(--atrament)}
  .dziedzina:nth-last-child(-n+1){border-bottom:0}
}
@media (max-width:760px){
  .tasma{grid-template-columns:1fr 1fr}
  .dziedzina{min-height:0}
  .dziedzina:nth-child(3n),.dziedzina:nth-child(5n){border-right:1px solid var(--atrament)}
  .dziedzina:nth-child(2n){border-right:0}
  .dziedzina:nth-last-child(-n+2){border-bottom:0}
  .dziedzina .ilu{height:104px}
  .dziedzina p{display:none}
}
