/* Podglad wariantow sekcji zespolu na realnych podstronach uslugowych.
   Naglowek, stopka ze statystykami i przycisk zostaja IDENTYCZNE jak w obecnej
   sekcji (.nx-exp), zeby roznica byla wylacznie w sposobie pokazania ludzi.

   RUCH: wylacznie na najechanie i tylko przy realnym kursorze. Pomiar 6.09.2026
   na /pozycjonowanie/: podstrona nie ma ani jednego dzialajacego wejscia przy
   przewijaniu, wiec kaskada byla by jedynym ruchem na calej stronie. */

.pz{--gr:#050a30;--nb:#1e5e9f;--mt:#80dfa0;--mtd:#277846;--tx:#5b6385;--ln:rgba(216,222,250,.6);
  --ez:cubic-bezier(.23,1,.32,1);
  --cien:0 20px 50px -25px rgba(5,10,48,.15);
  --cien2:0 34px 74px -26px rgba(5,10,48,.3);
  padding:84px 0;position:relative;overflow:hidden;font-family:'Montserrat',sans-serif;color:var(--gr);
  background:linear-gradient(180deg,#f1f4fb 0%,#e7eef9 100%)}
.pz-syg{position:absolute;top:26px;right:-148px;width:430px;height:auto;color:var(--nb);opacity:.06;pointer-events:none}
.pz *,.pz *::before,.pz *::after{box-sizing:border-box}
.pz-shell{position:relative}

.pz-glowa{max-width:760px;margin-bottom:44px;position:relative;z-index:2}
.pz-kick{display:inline-flex;align-items:center;gap:9px;font:700 11.5px/1 'Montserrat';letter-spacing:.13em;
  text-transform:uppercase;color:var(--mtd);margin-bottom:16px}
.pz-kick .d{width:7px;height:7px;border-radius:50%;background:var(--mt);box-shadow:0 0 0 4px rgba(128,223,160,.22)}
.pz-glowa h2{margin:0 0 20px;font:800 clamp(30px,3.6vw,48px)/1.05 'Montserrat';letter-spacing:-.02em;color:var(--gr)}
/* Naglowek ma JEDEN styl: bez innego koloru, innej wagi i bez kursywy na
   akcentowanym wyrazie. Regule skopiowalem wczesniej z .nx-exp bez sprawdzenia. */
.pz-glowa h2 i,.pz-glowa h2 em{color:inherit;font-style:normal;font-weight:inherit}
.pz-lede{margin:0;font:500 clamp(15px,1.1vw,17px)/1.55 'Montserrat';color:var(--tx);max-width:60ch}

.pz-lista{display:grid;grid-template-columns:repeat(var(--ile),minmax(0,1fr));gap:20px;position:relative}
.pz-k{display:block;text-decoration:none;color:inherit;min-width:0;position:relative;z-index:1}
.pz-fr{display:block;position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(135deg,#0a1342,var(--gr));aspect-ratio:2/3}
.pz-fr img{width:100%;height:100%;object-fit:cover;object-position:center 14%;display:block}
.pz-tx{display:block;padding-top:14px}
.pz-tag{display:block;font:700 11px/1.2 'Montserrat';letter-spacing:.13em;text-transform:uppercase;color:var(--mtd);margin-bottom:7px}
/* imie jest teraz h3 (struktura naglowkow), wiec kasujemy marginesy motywu */
.pz-imie{display:block;margin:0;font:800 18px/1.16 'Montserrat';letter-spacing:-.018em;color:var(--gr)}
.pz-opis{display:block;margin-top:8px;font:400 13.5px/1.5 'Montserrat';color:var(--tx)}
.pz-wiecej{display:none}
.pz-k:focus-visible{outline:2px solid var(--nb);outline-offset:5px;border-radius:16px}

/* stopka i przycisk 1:1 z obecna sekcja, zeby porownanie dotyczylo tylko ludzi */
.pz-stopka{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
  margin-top:26px;padding:22px 28px;background:var(--gr);color:#fff;border-radius:22px;
  position:relative;overflow:hidden;box-shadow:0 30px 60px -30px rgba(5,10,48,.45);z-index:2}
.pz-stopka::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at left,rgba(128,223,160,.12),transparent 60%);pointer-events:none}
.pz-meta{display:flex;flex-wrap:wrap;gap:20px 36px;position:relative;z-index:2}
.pz-meta .cell{display:flex;flex-direction:column;gap:4px}
.pz-meta .cell b{font:800 24px/1 'Montserrat';color:var(--mt);letter-spacing:-.01em;white-space:nowrap}
.pz-meta .cell span{font:500 12px/1.3 'Montserrat';color:rgba(255,255,255,.65);font-style:italic}
/* Przycisk 1:1 z .btn-mint z serwisu: to samo tlo, ten sam cien, to samo najechanie
   (jasniejsza mieta i podniesienie o 1 px) i to samo wcisniecie (scale .97).
   Wczesniej mial wlasny, mocniejszy cien i inne zachowanie. */
.pz-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font:700 14px/1 'Montserrat';color:var(--gr);background:var(--mt);
  padding:16px 26px;border-radius:999px;text-decoration:none;flex-shrink:0;position:relative;
  white-space:nowrap;min-height:48px;
  box-shadow:0 16px 34px -12px rgba(128,223,160,.55);
  transition:transform .25s cubic-bezier(.23,1,.32,1)}
.pz-cta .arr{font-weight:800}


/* ============ w1  dwa tony w pionie ============
   Wysokosc pasa liczona z SIATKI, nie wpisana na sztywno, wiec trzyma sie przy
   3, 4 i 5 osobach oraz przy kazdej dlugosci naglowka.
   --kol = szerokosc kolumny, --fh = wysokosc zdjecia przy proporcji 2:3. */
.pz--w1{background:var(--gr)}
.pz--w1 .pz-syg{color:#fff;opacity:.05}
.pz--w1.pz--wiele-rzedow .pz-fr{aspect-ratio:4/5}
.pz--w2.pz--wiele-rzedow .pz-fr{aspect-ratio:4/5}
.pz--w1 .pz-lista{container-type:inline-size;
  /* GOTCHA 6.09.2026: procent w `top` liczy sie od WYSOKOSCI rodzica, nie szerokosci,
     wiec wyliczenie szerokosci kolumny z `100%` dawalo granice w polowie sylwetki.
     `cqw` jest liczone od szerokosci kontenera, wiec dziala tez w osi pionowej. */
  --gap:20px;--kol:calc((100cqw - (var(--ile) - 1) * var(--gap)) / var(--ile));--fh:calc(var(--kol) * 1.5)}
.pz--w1 .pz-lista::after{content:'';position:absolute;left:50%;transform:translateX(-50%);width:100vw;
  /* Granica NAD zdjeciami. Przy dolnej krawedzi kadru wygladala jak przeciecie
     sylwetek (zdjecia sa kadrowane w polowie postaci), a 40 px nizej trafiala
     dokladnie w nazwiska i tnela je na pol. Granat obejmuje naglowek, biel
     zaczyna sie 40 px przed portretami, wiec nic nie jest przeciete. */
  top:-40px;bottom:-2000px;background:#fff;z-index:0}
/* Pas dwoch tonow ma sens tylko przy JEDNYM rzedzie zdjec. Przy dwoch rzedach
   (5 i 6 osob) bialy dol przeciolby drugi rzad w polowie, wiec sekcja zostaje
   w calosci granatowa. */
.pz--w1.pz--wiele-rzedow .pz-lista::after{display:none}
.pz--w1.pz--wiele-rzedow .pz-tag{color:var(--mt)}
.pz--w1.pz--wiele-rzedow .pz-imie{color:#fff}
.pz--w1.pz--wiele-rzedow .pz-opis{color:rgba(255,255,255,.72)}
.pz--w1 .pz-glowa h2{color:#fff}
.pz--w1 .pz-lede{color:rgba(255,255,255,.72)}
.pz--w1 .pz-kick{color:var(--mt)}
.pz--w1 .pz-tag{color:#277846}
.pz--w1 .pz-imie{color:var(--gr)}
.pz--w1 .pz-opis{color:var(--tx)}
.pz--w1 .pz-fr{border-radius:16px;outline:1px solid rgba(255,255,255,.12);outline-offset:-1px}

/* ============ w2  podpis nachodzi na zdjecie (bez ruchu) ============ */
.pz--w2 .pz-lista{align-items:stretch}
.pz--w2 .pz-k{padding-bottom:16px;display:flex;flex-direction:column}
.pz--w2 .pz-tx{flex:1;position:relative;margin:-46px 14px 0;background:#fff;border-radius:16px;padding:16px 18px 18px;
  border:1px solid var(--ln);box-shadow:var(--cien)}

/* ============ w3  nazwisko obok zdjecia ============ */
.pz--w3 .pz-lista{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 40px}
.pz--w3 .pz-k{display:grid;grid-template-columns:273px 1fr;gap:24px;align-items:start}
.pz--w3 .pz-fr{aspect-ratio:1;border-radius:14px}
.pz--w3 .pz-tx{padding-top:2px}
.pz--w3 .pz-imie{font-size:21px;letter-spacing:-.024em}
.pz--w3 .pz-opis{margin-top:9px}

/* ============ w4  akordeon poziomy ============
   Nazwisko i etykieta widoczne ZAWSZE, opis dochodzi po najechaniu albo po
   przejsciu tabulatorem. Bez najechania sekcja nadal sie czyta, wiec dziala
   tez na dotyku i dla czytnika ekranu. */
.pz--w4 .pz-lista{display:flex;gap:10px;flex-wrap:nowrap;height:clamp(360px,42vw,460px)}
.pz--w4 .pz-k{flex:1 1 0;min-width:0;position:relative;border-radius:18px;overflow:hidden;
  transition:flex-grow .5s var(--ez)}
.pz--w4 .pz-fr{aspect-ratio:auto;height:100%;border-radius:0}
.pz--w4 .pz-fr img{transition:transform .6s var(--ez)}
.pz--w4 .pz-tx{position:absolute;inset:auto 0 0 0;padding:130px 16px 18px;
  background:linear-gradient(180deg,rgba(5,10,48,0),rgba(5,10,48,.62) 34%,rgba(5,10,48,.97) 78%)}
.pz--w4 .pz-tag{color:var(--mt)}
.pz--w4 .pz-imie{color:#fff;font-size:15.5px;line-height:1.2}
.pz--w4 .pz-opis{color:rgba(255,255,255,.82);opacity:0;max-height:0;overflow:hidden;margin-top:0;
  transition:opacity .3s var(--ez),max-height .45s var(--ez),margin-top .45s var(--ez)}
@media (hover:hover) and (pointer:fine){
  .pz--w4 .pz-lista:hover .pz-k:not(:hover){flex-grow:.78}
  .pz--w4 .pz-k:hover{flex-grow:2.3}
  .pz--w4 .pz-k:hover .pz-opis{opacity:1;max-height:96px;margin-top:9px}
}
.pz--w4 .pz-k:focus-visible{flex-grow:2.3;outline-offset:-3px}
.pz--w4 .pz-k:focus-visible .pz-opis{opacity:1;max-height:96px;margin-top:9px}

/* ============ w5  podpis na zdjeciu plus ruch po najechaniu ============
   Ten sam uklad co w2, roznica jest wylacznie w choreografii najechania:
   kadr sie zbliza, plyta unosi sie o 6 px, dochodzi jedna linia zachety.
   Czasy 200-260 ms i krzywa z hero serwisu, bez odbicia. */
.pz--w5 .pz-lista{align-items:stretch}
.pz--w5 .pz-k{padding-bottom:16px;display:flex;flex-direction:column}
.pz--w5 .pz-fr img{transition:transform .55s var(--ez)}
.pz--w5 .pz-tx{flex:1;position:relative;margin:-46px 14px 0;background:#fff;border-radius:16px;padding:16px 18px 18px;
  border:1px solid var(--ln);box-shadow:var(--cien);
  transition:transform .26s var(--ez),box-shadow .26s var(--ez)}
.pz--w5 .pz-wiecej{display:block;font:700 12px/1 'Montserrat';color:var(--nb);letter-spacing:-.01em;
  opacity:0;max-height:0;overflow:hidden;transition:opacity .22s var(--ez) .04s,max-height .26s var(--ez),margin-top .26s var(--ez)}
@media (hover:hover) and (pointer:fine){
  .pz--w5 .pz-k:hover .pz-tx{transform:translateY(-6px);box-shadow:var(--cien2)}
  .pz--w5 .pz-k:hover .pz-wiecej{opacity:1;max-height:22px;margin-top:11px}
}
.pz--w5 .pz-k:focus-visible .pz-wiecej{opacity:1;max-height:22px;margin-top:11px}
.pz-k:active{transform:scale(.995)}

/* ============ mniejsze ekrany ============ */
@media (max-width:1080px){
  .pz-lista{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pz--w1 .pz-lista{--ile:2}
  .pz--w3 .pz-lista{grid-template-columns:1fr}
  .pz--w4 .pz-lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto}
  .pz--w4 .pz-k{height:340px}
  .pz--w4 .pz-opis{opacity:1;max-height:none;margin-top:9px;overflow:visible}
}
@media (max-width:640px){
  .pz-lista,.pz--w4 .pz-lista{grid-template-columns:1fr}
  /* Przy jednej kolumnie pas obejmowalby tylko PIERWSZE zdjecie, a reszta ladowala
     na bieli, wiec wygladalo to na pomylke. Waski ekran dostaje jednolity granat. */
  .pz--w1 .pz-lista{--ile:1}
  .pz--w1 .pz-lista::after{display:none}
  .pz--w1 .pz-imie{color:#fff}
  .pz--w1 .pz-opis{color:rgba(255,255,255,.72)}
  .pz--w1 .pz-tag{color:var(--mt)}
  .pz--w3 .pz-k{grid-template-columns:150px 1fr;gap:16px}
  .pz-stopka{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  .pz *{transition:none !important}
}

/* =========================================================
   STOPKA SEKCJI PER WARIANT
   Uwaga Marcina 07.09: propozycje pokazywaly tylko blok z ludzmi, a oceniamy
   CALA sekcje. Przez to kazdy wariant konczyl sie identyczna granatowa plyta
   ze statystykami i przyciskiem, czyli roznily sie tam, gdzie to nie decyduje.
   Kazdy wariant dostaje wlasne rozwiazanie stopki i wezwania do dzialania.
   ========================================================= */

/* --- W1: granat jest juz na gorze, wiec plyta na dole go POWTARZALA.
       Statystyki schodza na biel, przycisk zostaje jedynym mocnym akcentem. --- */
.pz--w1 .pz-stopka{background:transparent;box-shadow:none;padding:30px 0 0;border-top:1px solid var(--ln);border-radius:0}
.pz--w1 .pz-stopka::before{display:none}
.pz--w1 .pz-meta .cell b{color:var(--gr)}
.pz--w1 .pz-meta .cell span{color:var(--tx)}

/* --- W3: uklad jest zwarty i dwukolumnowy, wiec stopka tez idzie w dwie kolumny
       i przykleja sie do rytmu kart zamiast byc osobnym pasem. --- */
/* POPRAWKA 07.09: liczby staly w 2x2 po lewej polowie, a przycisk daleko po prawej,
   wiec w srodku bialej karty byla wielka dziura. Liczby rozkladaja sie na CZTERY
   kolumny przez cala szerokosc, przycisk zamyka rzad. Zero pustego srodka. */
.pz--w3 .pz-stopka{display:grid;grid-template-columns:1fr auto;gap:20px 36px;align-items:center;
  background:#fff;color:var(--gr);border:1px solid var(--ln);box-shadow:var(--cien);padding:22px 26px}
.pz--w3 .pz-stopka::before{display:none}
.pz--w3 .pz-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 26px}
.pz--w3 .pz-meta .cell b{color:var(--nb);font-size:20px}
.pz--w3 .pz-meta .cell span{color:var(--tx)}
.pz--w3 .pz-cta{justify-self:end}

/* --- W4: przycisk staje sie OSTATNIM panelem akordeonu, wiec rzad ma domkniecie,
       a nie doklejony pas pod spodem. Statystyki schodza do cienkiej linii. --- */
.pz--w4 .pz-panel-cta{flex:0 0 148px;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;
  padding:20px 18px;border-radius:18px;text-decoration:none;background:var(--mt);color:var(--gr);
  transition:flex-basis .5s var(--ez),background .3s var(--ez)}
.pz--w4 .pz-panel-cta-k{font:700 11px/1 'Montserrat';letter-spacing:.15em;text-transform:uppercase;color:rgba(5,10,48,.62)}
.pz--w4 .pz-panel-cta-t{font:800 17px/1.2 'Montserrat';letter-spacing:-.02em}
.pz--w4 .pz-panel-cta-a{font:800 20px/1 'Montserrat'}
@media (hover:hover) and (pointer:fine){
  .pz--w4 .pz-lista:hover .pz-panel-cta{flex-basis:150px}
  .pz--w4 .pz-panel-cta:hover{flex-basis:250px;background:#9aebb5}
}
.pz--w4 .pz-panel-cta:focus-visible{outline:2px solid var(--gr);outline-offset:3px}
.pz--w4 .pz-stopka{background:transparent;box-shadow:none;border-radius:0;padding:26px 0 0;
  border-top:1px solid var(--ln);justify-content:flex-start}
.pz--w4 .pz-stopka::before{display:none}
.pz--w4 .pz-meta .cell b{color:var(--nb);font-size:20px}
.pz--w4 .pz-meta .cell span{color:var(--tx)}

/* --- W5: statystyki ida POD naglowek, bo tam sa argumentem przed poznaniem ludzi.
       Sekcja konczy sie ludzmi i jednym przyciskiem, bez pasa. --- */
.pz--w5 .pz-glowa{max-width:none}
.pz--w5 .pz-meta-gora{display:flex;flex-wrap:wrap;gap:18px 40px;margin-top:26px;padding-top:22px;border-top:1px solid var(--ln)}
.pz--w5 .pz-meta-gora .cell{display:flex;flex-direction:column;gap:3px}
.pz--w5 .pz-meta-gora .cell b{font:800 22px/1 'Montserrat';color:var(--nb);letter-spacing:-.01em}
.pz--w5 .pz-meta-gora .cell span{font:500 12px/1.3 'Montserrat';color:var(--tx);font-style:italic}
.pz--w5 .pz-stopka{background:transparent;box-shadow:none;padding:24px 0 0;border-radius:0;justify-content:center}
.pz--w5 .pz-stopka::before{display:none}

@media (max-width:860px){
  .pz--w3 .pz-stopka{grid-template-columns:1fr}
  .pz--w3 .pz-cta{justify-self:start}
  .pz--w4 .pz-panel-cta{flex:1 1 100%;flex-direction:row;align-items:center;justify-content:space-between}
}

/* =========================================================
   NOWE UKLADY: projektowana jest CALA SEKCJA, nie same kafle.
   Zmienia sie architektura, czyli gdzie siedzi naglowek, statystyki i wezwanie,
   a nie sama oprawa zdjec. Uwaga Marcina 07.09.
   ========================================================= */

/* ---------- W6: tekst w lepkiej kolumnie, ludzie 2x2 obok ----------
   Naglowek, opis, statystyki i przycisk stoja razem po lewej i zostaja w kadrze,
   gdy przewijasz osoby. To tez odpowiedz na prosbe Wojtka z podstrony GEO. */
/* POPRAWKA po uwadze Marcina 07.09: naglowek byl przyklejony do gory, a karta
   z liczbami stala tuz pod nim, wiec lewa kolumna konczyla sie w polowie wysokosci
   i zostawala pod nia pusta biala dziura na kilkaset pikseli.
   Teraz kolumna rozciaga sie na cala wysokosc: naglowek u gory, karta z liczbami
   PRZYKLEJONA DO DOLU, rownana z dolna krawedzia siatki osob. */
/* Kolumna lewa: naglowek, opis i zaproszenie to JEDNA grupa, wysrodkowana pionowo
   wzgledem siatki zdjec. Wczesniej tekst siedzial u gory, karta u dolu i miedzy nimi
   bylo ponad 500 px pustki. Rzedy 1fr nad i pod grupa robia rowne swiatlo z obu stron. */
.pz--w6 .pz-shell{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  grid-template-rows:1fr auto auto 1fr;gap:0 clamp(30px,4vw,64px)}
.pz--w6 .pz-glowa{grid-column:1;grid-row:2;margin-bottom:0;max-width:none}
.pz--w6 .pz-osoba-cta{grid-column:1;grid-row:3;margin-top:32px}
.pz--w6 .pz-lista{grid-column:2;grid-row:1 / span 4;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-self:start}
.pz--w6 .pz-fr{aspect-ratio:4/5}
.pz--w6 .pz-meta{gap:14px 26px}
.pz--w6 .pz-meta .cell b{font-size:20px}

/* ---------- W7: pas zdjec przez cala szerokosc, wezwanie jako karta na pasie ----------
   Zdjecia dotykaja krawedzi ekranu i sa jednym pasmem, a nie rzedem kart.
   Podpisy leza na kadrze, karta z wezwaniem wchodzi na pas od dolu. */
.pz--w7{padding-bottom:0}
.pz--w7 .pz-lista{width:100vw;margin-left:calc(50% - 50vw);gap:0;grid-template-columns:repeat(var(--ile),minmax(0,1fr))}
.pz--w7 .pz-k{position:relative}
.pz--w7 .pz-fr{border-radius:0;aspect-ratio:3/4}
.pz--w7 .pz-tx{position:absolute;inset:auto 0 0 0;padding:96px 18px 20px;
  background:linear-gradient(180deg,rgba(5,10,48,0),rgba(5,10,48,.62) 38%,rgba(5,10,48,.96))}
.pz--w7 .pz-tag{color:var(--mt)}
.pz--w7 .pz-imie{color:#fff;font-size:17px}
.pz--w7 .pz-opis{color:rgba(255,255,255,.8)}
.pz--w7 .pz-stopka{margin-top:34px;background:transparent;box-shadow:none;border-radius:0;padding:26px 0 0;
  border-top:1px solid rgba(255,255,255,.16)}
.pz--w7 .pz-stopka::before{display:none}
.pz--w7 .pz-meta .cell b{color:var(--mt)}
.pz--w7 .pz-meta .cell span{color:rgba(255,255,255,.62)}
.pz--w7{padding-bottom:84px}

/* ---------- W8: pierwsza osoba prowadzi ----------
   Brandbook s.28: sekcja istnieje po to, zeby klient wiedzial, KTO odpowiada za jego
   projekt. Lider duzy po lewej, reszta zespolu po prawej.
   POPRAWKA 07.09: trzy male karty konczyly sie duzo wyzej niz lider i zostawala
   dziura w prawym dolnym rogu. Prawa kolumna jest teraz pionowym stosem trzech
   poziomych kart, ktory wypelnia te sama wysokosc co lider. */
/* POPRAWKA 07.09: trzy karty po prawej rozkladaly sie na cala wysokosc lidera,
   wiec miedzy nimi byly ogromne dziury. Wiersze maja teraz wysokosc TRESCI
   (auto), a nie rowny podzial wysokosci lidera, i sa wyrownane do gory. */
.pz--w8 .pz-lista{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:22px 26px;
  align-items:start;grid-auto-rows:auto}
/* Lider obejmuje wszystkie wiersze prawej kolumny PLUS jeden pusty na koncu.
   Bez tego pustego wiersza nadmiar wysokosci rozchodzil sie miedzy karty i przy
   trzech osobach robila sie miedzy nimi dziura na 222 px. Teraz wiersze maja
   wysokosc tresci, a caly zapas ladnie schodzi do ostatniego, pustego wiersza. */
.pz--w8[data-osob="3"] .pz-lista{grid-template-rows:auto auto 1fr}
.pz--w8[data-osob="3"] .pz-k:first-child{grid-row:1 / span 3}
.pz--w8[data-osob="4"] .pz-lista{grid-template-rows:auto auto auto 1fr}
.pz--w8[data-osob="4"] .pz-k:first-child{grid-row:1 / span 4}
.pz--w8[data-osob="5"] .pz-lista{grid-template-rows:auto auto auto auto 1fr}
.pz--w8[data-osob="5"] .pz-k:first-child{grid-row:1 / span 5}
.pz--w8 .pz-k:first-child .pz-fr{aspect-ratio:4/5;border-radius:16px}
.pz--w8 .pz-k:first-child .pz-imie{font-size:clamp(22px,2.2vw,27px);letter-spacing:-.028em}
.pz--w8 .pz-k:first-child .pz-opis{font-size:14.5px;max-width:46ch}
.pz--w8 .pz-k:not(:first-child){display:grid;grid-template-columns:158px 1fr;gap:18px;align-items:center;
  padding-bottom:20px;border-bottom:1px solid var(--ln)}
.pz--w8 .pz-k:last-child{border-bottom:0;padding-bottom:0}
.pz--w8 .pz-k:not(:first-child) .pz-fr{aspect-ratio:4/5;border-radius:12px}
.pz--w8 .pz-k:not(:first-child) .pz-tx{padding-top:0}
.pz--w8 .pz-k:not(:first-child) .pz-imie{font-size:16px}
.pz--w8 .pz-k:not(:first-child) .pz-opis{font-size:12.5px;margin-top:5px}
.pz--w8 .pz-stopka{background:transparent;box-shadow:none;border-radius:0;padding:20px 0 0;border-top:1px solid var(--ln);
  display:grid;grid-template-columns:1fr auto;gap:18px 32px;align-items:center}
.pz--w8 .pz-stopka::before{display:none}
.pz--w8 .pz-meta{display:flex}
.pz--w8 .pz-meta .cell b{color:var(--nb);font-size:21px}
.pz--w8 .pz-meta .cell span{color:var(--tx)}
.pz--w8 .pz-cta{background:transparent;color:var(--nb);padding:0;border-radius:0;
  font:800 clamp(15px,1.4vw,18px)/1.2 'Montserrat';border-bottom:2px solid var(--mt);padding-bottom:5px}
@media (hover:hover) and (pointer:fine){
  .pz--w8 .pz-cta:hover{transform:none;background:transparent;color:var(--gr);border-bottom-color:var(--gr)}
}
@media (max-width:900px){
  .pz--w8 .pz-lista{grid-template-columns:1fr}
  .pz--w8 .pz-k:first-child{grid-row:auto}
  .pz--w8 .pz-stopka{grid-template-columns:1fr}
}

/* ---------- W9: wezwanie jest jednym z kafli ----------
   Zaproszenie stoi MIEDZY ludzmi, nie za nimi. Marcin 07.09 nazwal pierwsza wersje
   patologia i mial racje: kafel byl waski i wysoki jak portret, a miescil tylko
   naglowek i dwie liczby, wiec w srodku bylo ok. 180 px pustki. Teraz kafel
   DOMYKA niepelny rzad (rozciaga sie na wolne kolumny), przez co jest nizszy
   i szerszy, a w srodku sa wszystkie cztery liczby. Zero pustego miejsca. */
/* Trzy kolumny przy czterech osobach dawaly dwa rzedy zdjec i sekcje na 1402 px,
   czyli prawie tyle, co obecna. Cztery kolumny: jeden rzad portretow po 273 px,
   a kafel z wezwaniem domyka siatke pod spodem. */
.pz--w9 .pz-lista{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.pz--w9 .pz-fr{aspect-ratio:1;border-radius:14px}
.pz--w9 .pz-kafel-cta{display:flex;flex-direction:column;gap:18px;padding:26px 28px;border-radius:16px;
  background:var(--gr);color:#fff;text-decoration:none;
  transition:transform .4s var(--ez),box-shadow .4s var(--ez)}
/* Rozpietosc kafla liczymy wprost z LICZBY OSOB, bo siatka W9 ma trzy kolumny,
   a PHP dobiera kolumny inaczej (przy 4 osobach daje 4). Wczesniej klasa reszty
   byla liczona wzgledem tamtej siatki i kafel dostawal zla szerokosc.
   3 osoby: rzad 1 pelny, kafel bierze caly rzad 2.
   4 osoby: rzad 2 to jedna osoba plus kafel na dwie kolumny.
   5 osob: rzad 2 to dwie osoby plus kafel na jedna. */
.pz--w9[data-osob="3"] .pz-kafel-cta{grid-column:span 1}
.pz--w9[data-osob="4"] .pz-kafel-cta{grid-column:span 4}
.pz--w9[data-osob="5"] .pz-kafel-cta{grid-column:span 3}
.pz--w9[data-osob="6"] .pz-kafel-cta{grid-column:span 2}
.pz--w9 .pz-kafel-k{font:700 11px/1 'Montserrat';letter-spacing:.15em;text-transform:uppercase;color:var(--mt)}
.pz--w9 .pz-kafel-t{font:800 clamp(19px,1.9vw,24px)/1.2 'Montserrat';letter-spacing:-.022em;max-width:34ch}
/* Waski kafel jest wysoki wzgledem swojej tresci, wiec liczby ida w JEDNA kolumne
   i rozkladaja sie na calej wysokosci, zamiast zbijac sie przy dolnej krawedzi. */
.pz--w9 .pz-kafel-m{display:grid;gap:16px;margin-top:auto;padding-top:18px;
  border-top:1px solid rgba(255,255,255,.16)}
/* Kafel nie musi byc wysoki jak zdjecie. Rozciagany na wysokosc rzedu musial czyms
   te wysokosc wypelnic i stad brala sie pustka w srodku. Dostaje wlasna wysokosc
   i stoi w rzedzie wysrodkowany, wiec pusta przestrzen jest NA ZEWNATRZ, w tle sekcji,
   a nie w czarnym prostokacie. */
.pz--w9 .pz-kafel-cta{align-self:stretch;flex-direction:row;align-items:center;justify-content:space-between;gap:26px}
.pz--w9 .pz-kafel-m .p{display:flex;flex-direction:column;gap:2px}
.pz--w9 .pz-kafel-m b{font:800 19px/1 'Montserrat';color:var(--mt)}
.pz--w9 .pz-kafel-m i{font:500 11.5px/1.3 'Montserrat';color:rgba(255,255,255,.62);font-style:italic}
.pz--w9 .pz-kafel-a{font:800 20px/1 'Montserrat';color:var(--mt);align-self:flex-start}
@media (hover:hover) and (pointer:fine){
  .pz--w9 .pz-kafel-cta:hover{transform:translateY(-7px);box-shadow:var(--cien2)}
}
.pz--w9 .pz-kafel-cta:focus-visible{outline:2px solid var(--mt);outline-offset:4px}
@media (max-width:900px){
  .pz--w9 .pz-lista{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pz--w9 .pz-kafel-cta,.pz--w9.pz--reszta1 .pz-kafel-cta{grid-column:span 2}
  .pz--w9 .pz-kafel-m{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---------- W10: jedna siatka na wszystko ----------
   Zdjecia, podpisy i liczby stoja w TYCH SAMYCH kolumnach, wiec kazda osoba
   ma pod soba swoja liczbe. Sekcja czyta sie jak jedna tabela, nie trzy pasy. */
.pz--w10 .pz-fr{aspect-ratio:3/4;border-radius:0}
.pz--w10 .pz-tx{border-top:2px solid var(--gr);padding-top:12px;margin-top:14px}
.pz--w10 .pz-stopka{background:transparent;box-shadow:none;border-radius:0;padding:22px 0 0;
  display:grid;grid-template-columns:repeat(var(--ile),minmax(0,1fr));gap:20px;align-items:end;margin-top:34px;
  border-top:1px solid var(--ln)}
.pz--w10 .pz-stopka::before{display:none}
.pz--w10 .pz-meta{display:contents}
.pz--w10 .pz-meta .cell b{color:var(--nb);font-size:22px}
.pz--w10 .pz-meta .cell span{color:var(--tx)}
.pz--w10 .pz-cta{grid-column:1 / -1;justify-self:start;margin-top:12px}

@media (max-width:1000px){
  .pz--w6 .pz-shell{grid-template-columns:1fr}
  .pz--w6 .pz-glowa{position:static;grid-row:auto}
  .pz--w6 .pz-lista,.pz--w6 .pz-stopka{grid-column:1;grid-row:auto}
  .pz--w8 .pz-lista{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pz--w10 .pz-stopka{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .pz--w7 .pz-lista,.pz--w8 .pz-lista,.pz--w9 .pz-lista,.pz--w10 .pz-lista{grid-template-columns:1fr}
  .pz--w7 .pz-stopka{width:100%;border-radius:16px;margin-top:16px}
  .pz--w10 .pz-stopka{grid-template-columns:1fr}
}

/* =========================================================
   NARZEDZIA Z BRANDBOOKA, zastosowane w nowych ukladach.
   s.25 obrys sygnetu przecina kompozycje w narozniku, a nie tylko lezy w tle.
   s.26 tla: gradient radialny z delikatnym ziarnem.
   s.27 gradienty schodza DO PRZEZROCZYSTOSCI z podanych hexow, nie do innego koloru.
   ========================================================= */
.pz--w6 .pz-syg,.pz--w8 .pz-syg,.pz--w10 .pz-syg{display:none}

/* W7: granatowe pasmo z gradientem radialnym i ziarnem (s.26) */
.pz--w7{background:
  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='z'><feTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4'/></filter><rect width='140' height='140' filter='url(%23z)' opacity='.13'/></svg>"),
  radial-gradient(760px 420px at 14% 0%,rgba(38,167,240,.20),rgba(38,167,240,0) 64%),
  linear-gradient(158deg,#070d39,#04081f)}
.pz--w7 .pz-glowa h2{color:#fff}
.pz--w7 .pz-lede{color:rgba(255,255,255,.74)}
.pz--w7 .pz-kick{color:var(--mt)}
/* obrys sygnetu przecina lewy gorny naroznik pasma (s.25) */
.pz--w7 .pz-syg{left:-118px;right:auto;top:auto;bottom:-90px;width:380px;color:#fff;opacity:.07}

/* W9: sygnet wchodzi w naroznik kafla z wezwaniem, zamiast lezec w tle sekcji */
.pz--w9 .pz-syg{display:none}
.pz--w9 .pz-kafel-cta{position:relative;overflow:hidden}
.pz--w9 .pz-kafel-cta::after{content:"";position:absolute;right:-58px;top:-46px;width:170px;height:170px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='70 70 286 268'><path fill='none' stroke='%23ffffff' stroke-width='6' d='M113.3,238.6l24.8-110v-.4c2.2-10.5,9.9-13.8,14.3-14.8,7.5-1.8,19.3,0,27.9,11.1l68.9,86.3,29.6-23.3-68.9-86.3c-16.1-20.6-38.8-30.3-63-24.5-22,5.2-41,21.6-45.5,43.9l-24.8,110v.4c-3.7,18.1,1.6,37.2,13.5,52.4l26.3,32.3,29.5-23.3-26.3-32.3c-5-6.4-7.7-14.4-6.3-21.5Z'/><path fill='none' stroke='%23ffffff' stroke-width='6' d='M312.5,91.7l-29,23.3,24.7,33.3c5,6.4,7.2,14.4,5.8,21.5l-24.3,110v.4c-2.2,10.5-9.9,13.8-14.3,14.8-7.5,1.8-19.4,0-27.9-11.1l-68.5-85.8-29.6,23.3,68.5,85.8c13,16.6,29.1,26.2,48.8,26.2,31.6,0,55.1-23.3,59.7-45.5l24.3-110v-.4c3.7-18.1-1.1-37.2-13-52.4l-25.3-33.3Z'/></svg>") center/contain no-repeat;
  opacity:.16;pointer-events:none}

/* skill design-taste: dotyk ma byc wyczuwalny, .995 bylo za slabe */
.pz-k:active,.pz--w9 .pz-kafel-cta:active,.pz--w4 .pz-panel-cta:active{transform:scale(.985)}

/* =========================================================
   W11-W15: osie, ktorych wczesniejsze dziesiec w ogole nie ruszylo.
   Zdjecia reportazowe (brandbook s.28), powierzchnia Sky #26a7f0 (s.16),
   wpiecie zespolu w numeracje procesu, choreografia przy przewijaniu.
   ========================================================= */

/* ---------- W11: reportaz prowadzi, portrety sa pod nim ----------
   Brandbook s.28 pokazuje kadr zespolu przy pracy OBOK portretow. Zaden
   wczesniejszy wariant tego nie uzyl, a te zdjecia leza w motywie. */
.pz--w11 .pz-rep{margin:0 0 26px;position:relative;border-radius:20px;overflow:hidden;
  box-shadow:0 1px 0 rgba(5,10,48,.05),0 44px 78px -46px rgba(5,10,48,.5)}
.pz--w11 .pz-rep img{width:100%;height:clamp(230px,26vw,340px);object-fit:cover;object-position:center 22%;display:block;
  transition:transform .8s var(--ez)}
.pz--w11 .pz-rep figcaption{position:absolute;left:16px;bottom:14px;padding:7px 13px;border-radius:9px;
  background:rgba(5,10,48,.78);color:#fff;font:600 11.5px/1 'Montserrat';letter-spacing:.06em}
.pz--w11 .pz-fr{aspect-ratio:1;border-radius:14px}
.pz--w11 .pz-imie{font-size:16px}
.pz--w11 .pz-opis{font-size:12.5px}
.pz--w11 .pz-stopka{background:transparent;box-shadow:none;border-radius:0;padding:20px 0 0;border-top:1px solid var(--ln)}
.pz--w11 .pz-stopka::before{display:none}
.pz--w11 .pz-meta .cell b{color:var(--nb);font-size:21px}
.pz--w11 .pz-meta .cell span{color:var(--tx)}

/* ---------- W12: powierzchnia Sky ----------
   Brandbook wymienia #26a7f0 jako powierzchnie display marki, a caly serwis
   uzywa wylacznie granatu i miety. Portrety w bialych ramkach, typografia granatowa. */
.pz--w12{background:
  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='z'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4'/></filter><rect width='140' height='140' filter='url(%23z)' opacity='.10'/></svg>"),
  radial-gradient(700px 400px at 82% 0%,rgba(255,255,255,.34),rgba(255,255,255,0) 62%),
  linear-gradient(156deg,#26a7f0,#1e7fc4)}
.pz--w12 .pz-syg{color:#fff;opacity:.13}
.pz--w12 .pz-kick{color:var(--gr)}
.pz--w12 .pz-kick .d{background:var(--gr);box-shadow:0 0 0 4px rgba(5,10,48,.14)}
.pz--w12 .pz-glowa h2,.pz--w12 .pz-glowa h2 i{color:var(--gr)}
.pz--w12 .pz-lede{color:rgba(5,10,48,.78)}
.pz--w12 .pz-k{background:#fff;border-radius:16px;padding:12px;box-shadow:0 22px 44px -28px rgba(5,10,48,.42)}
.pz--w12 .pz-fr{aspect-ratio:4/5;border-radius:11px}
.pz--w12 .pz-tx{padding:13px 5px 4px}
.pz--w12 .pz-tag{color:#1a6fa8}
.pz--w12 .pz-stopka{background:var(--gr)}

/* ---------- W13: zespol wpiety w numeracje procesu ----------
   Sekcja przestaje wisiec obok strony: kazda osoba dostaje numer w tej samej
   konwencji, ktorej uzywaja etapy wspolpracy na podstronach. */
.pz--w13 .pz-k{display:block}
.pz--w13 .pz-fr{aspect-ratio:4/5;border-radius:12px}
.pz--w13 .pz-tx{padding-top:13px;position:relative;padding-left:52px}
/* Numer stal w osobnej kolumnie i zjadal 44 px szerokosci kazdej karty, przez co
   zdjecia mialy 210 px zamiast 273 px. Teraz siedzi przy podpisie, nie obok kadru. */
.pz--w13 .pz-nr{position:absolute;left:0;top:1px;display:grid;place-items:center;width:38px;height:38px;
  border-radius:50%;border:1.5px solid var(--mt);color:var(--nb);
  font:900 italic 14px/1 'Montserrat';background:#fff}
.pz--w13 .pz-lista{gap:20px}
.pz--w13 .pz-stopka{background:transparent;box-shadow:none;border-radius:0;padding:20px 0 0;border-top:1px solid var(--ln)}
.pz--w13 .pz-stopka::before{display:none}
.pz--w13 .pz-meta .cell b{color:var(--nb);font-size:21px}
.pz--w13 .pz-meta .cell span{color:var(--tx)}

/* ---------- W14: choreografia przy przewijaniu ----------
   Mechanika wejscia zaczela dzialac dopiero dzis, a uzylem jej tylko jako
   zwyklego wejscia od dolu. Tu karty wjezdzaja NAPRZEMIENNIE z bokow,
   a podpis dochodzi chwile po zdjeciu. */
.pz--w14 .pz-fr{aspect-ratio:3/4;border-radius:14px}
@media (prefers-reduced-motion: no-preference){
  /* Bylo: 850 ms, opoznienie 110 ms na karte, wjazd naprzemiennie z lewej i prawej.
     Naprzemienny kierunek nic nie znaczy, walczy z kolejnoscia czytania i wyglada
     na ozdobnik. Jeden kierunek w dol, krocej i gescie, zgodnie z reszta serwisu. */
  html.js-ruch .pz--w14 .pz-k{opacity:0;transform:translateY(16px);filter:blur(4px);
    transition:opacity .52s var(--ez),transform .52s var(--ez),filter .52s var(--ez);
    transition-delay:calc(var(--i) * 70ms)}
  html.js-ruch .pz--w14 .pz-k.widac,html.js-ruch .pz--w14 .pz-k.in-view{
    opacity:1;transform:none;filter:none}
  html.js-ruch .pz--w14 .pz-tx{opacity:0;transition:opacity .4s var(--ez) calc(var(--i) * 70ms + 200ms)}
  html.js-ruch .pz--w14 .widac .pz-tx,html.js-ruch .pz--w14 .in-view .pz-tx{opacity:1}
}
.pz--w14 .pz-stopka{background:transparent;box-shadow:none;border-radius:0;padding:20px 0 0;border-top:1px solid var(--ln)}
.pz--w14 .pz-stopka::before{display:none}
.pz--w14 .pz-meta .cell b{color:var(--nb);font-size:21px}
.pz--w14 .pz-meta .cell span{color:var(--tx)}

/* ---------- W15: reportaz jako tlo sekcji, portrety na wierzchu ---------- */
.pz--w15{background:var(--gr);isolation:isolate}
.pz--w15 .pz-tlo{position:absolute;inset:0;z-index:0;overflow:hidden}
.pz--w15 .pz-tlo img{width:100%;height:100%;object-fit:cover;object-position:center 40%;
  filter:grayscale(.35) brightness(.42) saturate(.85)}
.pz--w15::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(5,10,48,.88),rgba(5,10,48,.62) 44%,rgba(5,10,48,.94))}
.pz--w15 .pz-shell{position:relative;z-index:2}
.pz--w15 .pz-syg{z-index:2;color:#fff;opacity:.08}
.pz--w15 .pz-glowa h2{color:#fff}
.pz--w15 .pz-lede{color:rgba(255,255,255,.8)}
.pz--w15 .pz-kick{color:var(--mt)}
.pz--w15 .pz-k{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  border-radius:16px;padding:12px;backdrop-filter:blur(3px)}
.pz--w15 .pz-fr{aspect-ratio:4/5;border-radius:11px}
.pz--w15 .pz-tx{padding:13px 5px 4px}
.pz--w15 .pz-tag{color:var(--mt)}
.pz--w15 .pz-imie{color:#fff}
.pz--w15 .pz-opis{color:rgba(255,255,255,.72)}
.pz--w15 .pz-stopka{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);box-shadow:none}

@media (max-width:860px){
  .pz--w13 .pz-k{grid-template-columns:38px 1fr;gap:12px}
  .pz--w13 .pz-nr{width:38px;height:38px;font-size:13px}
}

/* =========================================================
   MECHANIKI WEZWANIA. Uwaga Marcina 07.09: wczesniej zmienialem tylko MIEJSCE
   tej samej miętowej pigulki. Teraz kazdy z tych wariantow ma inna mechanike,
   a nie inne polozenie tego samego przycisku. Wszystko na danych, ktore juz sa
   w serwisie: numer 780 515 135, kontakt@netim.pl, nazwiska i liczby z sekcji.
   ========================================================= */

/* --- W1: zamiast przycisku NUMER TELEFONU wielkim krojem.
       Sekcja mowi "rozmawiasz ze specjalista", wiec wezwaniem jest telefon. --- */
.pz--w1 .pz-tel-tx{display:flex;flex-direction:column;gap:8px;max-width:420px}
.pz-tel-kick{font:700 11.5px/1 'Montserrat';letter-spacing:.13em;text-transform:uppercase;color:var(--mtd)}
.pz-tel-tx p{margin:0;font:500 15px/1.45 'Montserrat';color:var(--tx)}
.pz-tel{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:end;
  margin-top:18px;padding-top:18px;border-top:1px solid var(--ln);position:relative;z-index:2}
.pz--w1 .pz-tel .pz-meta{grid-row:1 / span 2}
.pz--w1 .pz-tel .cell b{color:var(--gr)}
.pz--w1 .pz-tel .cell span{color:var(--tx)}
.pz--w1 .pz-tel-nr{grid-column:2;justify-self:end;font:900 clamp(30px,3.6vw,46px)/1 'Montserrat';
  letter-spacing:-.03em;color:var(--gr);text-decoration:none;
  transition:color .22s var(--ez),letter-spacing .22s var(--ez)}
.pz--w1 .pz-tel-mail{grid-column:2;justify-self:end;font:600 13.5px/1 'Montserrat';color:var(--nb);
  text-decoration:none;border-bottom:1px solid rgba(30,94,159,.35);padding-bottom:2px}
@media (hover:hover) and (pointer:fine){
  .pz--w1 .pz-tel-nr:hover{color:#1a7a45;letter-spacing:-.022em}
  .pz--w1 .pz-tel-mail:hover{border-bottom-color:var(--nb)}
}
.pz--w1 .pz-tel-nr:focus-visible,.pz--w1 .pz-tel-mail:focus-visible{outline:2px solid var(--nb);outline-offset:4px}

/* --- W6: wezwanie PRZYPIETE DO OSOBY.
       Zamiast bezosobowego przycisku widac, z kim konkretnie rozmawiasz.
       Uklad karty prosty i przewidywalny: osoba, liczby, przycisk, jeden pod drugim. --- */
.pz--w6 .pz-osoba-cta{display:flex;flex-direction:column;gap:20px;
  background:var(--gr);color:#fff;border-radius:18px;padding:22px 24px;
  box-shadow:0 30px 60px -34px rgba(5,10,48,.55)}
.pz--w6 .pz-osoba-top{display:flex;align-items:center;gap:14px}
.pz--w6 .pz-osoba-top img{width:56px;height:56px;flex:none;border-radius:12px;object-fit:cover;object-position:center 14%}
.pz--w6 .pz-osoba-k{display:flex;flex-direction:column;gap:3px;min-width:0}
/* Motyw nadaje elementom b kolor #333. Bez jawnego koloru nazwisko wychodzilo
   szare na granacie: kontrast 1,52:1. */
.pz--w6 .pz-osoba-k b{font:800 15px/1.2 'Montserrat';letter-spacing:-.018em;color:#fff}
.pz--w6 .pz-osoba-k i{font-style:normal;font:500 12px/1.3 'Montserrat';color:rgba(255,255,255,.62)}
.pz--w6 .pz-meta-kol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px;
  padding:18px 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.pz--w6 .pz-meta-kol .cell{display:flex;flex-direction:column;gap:3px}
.pz--w6 .pz-meta-kol .cell b{font:800 20px/1 'Montserrat';color:var(--mt);letter-spacing:-.01em}
.pz--w6 .pz-meta-kol .cell span{font:500 11.5px/1.35 'Montserrat';color:rgba(255,255,255,.62);font-style:italic}
.pz--w6 .pz-osoba-cta .pz-cta{width:100%;justify-content:center}

/* --- W8: przycisk WCHODZI DO WIERSZA LICZB jako ostatnia komorka, tej samej
       wagi co dane, wiec czyta sie jak ich zamkniecie, a nie doklejka. --- */
.pz--w8 .pz-stopka{display:grid;grid-template-columns:1fr auto;gap:18px 32px;align-items:center}
.pz--w8 .pz-meta{display:flex}
.pz--w8 .pz-cta{background:transparent;color:var(--nb);padding:0;border-radius:0;
  font:800 clamp(15px,1.4vw,18px)/1.2 'Montserrat';border-bottom:2px solid var(--mt);padding-bottom:5px}
@media (hover:hover) and (pointer:fine){
  .pz--w8 .pz-cta:hover{transform:none;background:transparent;color:var(--gr);border-bottom-color:var(--gr)}
}

/* --- W11: wezwanie LEZY NA ZDJECIU zespolu przy pracy, w rogu kadru. --- */
.pz--w11 .pz-rep-cta{position:absolute;right:16px;bottom:14px;display:inline-flex;align-items:center;gap:9px;
  padding:13px 20px;border-radius:999px;background:var(--mt);color:var(--gr);text-decoration:none;
  font:800 13.5px/1 'Montserrat';box-shadow:0 18px 34px -16px rgba(5,10,48,.6);
  transition:transform .24s var(--ez),background .24s var(--ez)}
@media (hover:hover) and (pointer:fine){ .pz--w11 .pz-rep-cta:hover{transform:translateY(-3px);background:#9aebb5} }
.pz--w11 .pz-rep-cta:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* --- W13: wezwanie to KOLEJNY NUMER w sekwencji. Po osobach 01-04 przychodzi 05,
       wiec zaproszenie domyka numeracje zamiast stac obok niej. --- */
.pz--w13 .pz-krok-cta{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start;
  text-decoration:none;color:inherit}
.pz--w13 .pz-krok-cta .pz-nr{border-color:var(--nb);background:var(--nb);color:#fff;
  transition:transform .24s var(--ez)}
.pz--w13 .pz-krok-t{grid-column:2;align-self:center;font:800 clamp(16px,1.5vw,19px)/1.25 'Montserrat';
  letter-spacing:-.02em;color:var(--gr);border-bottom:2px solid var(--mt);padding-bottom:6px}
.pz--w13 .pz-krok-t .a{margin-left:8px;color:var(--nb)}
@media (hover:hover) and (pointer:fine){
  .pz--w13 .pz-krok-cta:hover .pz-nr{transform:translateY(-3px)}
  .pz--w13 .pz-krok-cta:hover .pz-krok-t{border-bottom-color:var(--gr)}
}
.pz--w13 .pz-krok-cta:focus-visible{outline:2px solid var(--nb);outline-offset:5px;border-radius:12px}

@media (max-width:860px){
  .pz--w1 .pz-tel{grid-template-columns:1fr;align-items:start}
  .pz--w1 .pz-tel .pz-meta{grid-row:auto}
  .pz--w1 .pz-tel-nr,.pz--w1 .pz-tel-mail{grid-column:1;justify-self:start}
  .pz--w8 .pz-stopka{grid-template-columns:1fr}
  .pz--w11 .pz-rep-cta{position:static;margin-top:12px;display:flex;justify-content:center}
}

/* --- W14: wezwanie jest OSTATNIM TAKTEM choreografii. Wchodzi po wszystkich
       osobach, wiec zaproszenie jest puenta sekwencji, a nie doklejka pod nia. --- */
@media (prefers-reduced-motion: no-preference){
  html.js-ruch .pz--w14 .pz-stopka{opacity:0;transform:translateY(16px);
    transition:opacity .45s var(--ez),transform .45s var(--ez)}
  html.js-ruch .pz--w14 .pz-lista:has(.pz-k:last-child.in-view) ~ .pz-stopka,
  html.js-ruch .pz--w14 .pz-lista:has(.pz-k:last-child.widac) ~ .pz-stopka{
    opacity:1;transform:none;transition-delay:.34s}
}
/* Wlasny, mocniejszy cien z wczesniejszej wersji. Serwis ma slabszy i taki zostaje. */
.pz--w14 .pz-cta{box-shadow:0 16px 34px -12px rgba(128,223,160,.55)}

/* --- W15: przycisk ze SZKLA, tak jak karty osob na zdjeciu w tle, zamiast
       mietowej pigulki, ktora rozbijala jednorodnosc warstwy. --- */
.pz--w15 .pz-cta{background:rgba(255,255,255,.13);color:#fff;border:1px solid rgba(255,255,255,.34);
  backdrop-filter:blur(6px);box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}
.pz--w15 .pz-cta .arr{color:var(--mt)}
@media (hover:hover) and (pointer:fine){
  .pz--w15 .pz-cta:hover{background:rgba(255,255,255,.22);transform:translateY(-2px)}
}

/* --- W10: wezwanie jako PELNY WIERSZ SIATKI, wyrownany do tych samych kolumn
       co zdjecia i liczby, wiec siatka domyka sie zaproszeniem. --- */
.pz--w10 .pz-cta{grid-column:1 / -1;justify-self:stretch;justify-content:space-between;
  margin-top:18px;border-radius:14px;padding:20px 26px;background:var(--gr);color:#fff}
.pz--w10 .pz-cta .arr{color:var(--mt);font-size:20px}
@media (hover:hover) and (pointer:fine){
  .pz--w10 .pz-cta:hover{background:#0a1240;transform:none}
}

/* =========================================================
   WIDOCZNY FOKUS Z KLAWIATURY.
   Pomiar 07.09: element pasowal do :focus-visible (matches = true), ale obrys mial
   styl `none` i kolor domyslnego pierscienia Chrome, czyli regula z motywu
   nadrzednego gasila nasza. Fokus jest wymogiem dostepnosci, wiec wymuszamy.
   ========================================================= */
.pz .pz-k:focus-visible,
.pz .pz-cta:focus-visible,
.pz .pz-panel-cta:focus-visible,
.pz .pz-kafel-cta:focus-visible,
.pz .pz-rep-cta:focus-visible,
.pz .pz-krok-cta:focus-visible,
.pz .pz-tel-nr:focus-visible,
.pz .pz-tel-mail:focus-visible{
  outline:3px solid var(--nb) !important; outline-offset:4px !important; border-radius:14px}
.pz--w1 .pz-k:focus-visible,.pz--w7 .pz-k:focus-visible,.pz--w15 .pz-k:focus-visible,
.pz--w4 .pz-k:focus-visible,.pz--w12 .pz-cta:focus-visible{
  outline-color:var(--mt) !important}

/* =========================================================
   W16-W18: projektowane pod KONKRETNE miejsce na podstronie uslugowej.
   Pomiar 07.09 na /pozycjonowanie/: nad sekcja stoi plaszczyzna granatowa,
   pod nia osobny pas z wezwaniem (netim-ctaband), rytm strony to h2 46 px,
   padding 84/84 i naprzemienne #fafbff / #f1f4fb. Wszystkie trzy sa jasne,
   zeby nie zlac sie z granatem nad soba, i zadne nie konczy sie pigulka,
   zeby nie powtarzac pasa ponizej.
   ========================================================= */

/* ---------- W16: bez kart, na samych liniach ----------
   Skill design-taste-frontend: "karty to leniwa odpowiedz, grupuj liniami
   i przestrzenia". Zadna z przejrzanych agencji nie prowadzi zespolu bez kafli. */
.pz--w16 .pz-lista{grid-template-columns:1fr;gap:0}
.pz--w16 .pz-k{display:grid;grid-template-columns:190px minmax(0,290px) minmax(0,1fr) auto;
  gap:28px;align-items:center;padding:22px 0;border-top:1px solid var(--ln);position:relative}
.pz--w16 .pz-k:last-of-type{border-bottom:1px solid var(--ln)}
.pz--w16 .pz-fr{aspect-ratio:4/5;border-radius:10px}
.pz--w16 .pz-tx{padding-top:0}
.pz--w16 .pz-tag{margin-bottom:5px}
.pz--w16 .pz-imie{font-size:clamp(19px,1.9vw,24px);letter-spacing:-.026em}
.pz--w16 .pz-opis{grid-column:3;margin:0;align-self:center}
.pz--w16 .pz-k::after{content:"";position:absolute;right:2px;top:50%;width:22px;height:2px;
  background:var(--gr);transform:translateY(-50%) scaleX(0);transform-origin:right center;
  transition:transform .34s var(--ez)}
@media (hover:hover) and (pointer:fine){
  .pz--w16 .pz-k:hover{background:linear-gradient(90deg,rgba(128,223,160,.10),transparent 62%)}
  .pz--w16 .pz-k:hover::after{transform:translateY(-50%) scaleX(1)}
  .pz--w16 .pz-k:hover .pz-imie{color:var(--nb)}
}
.pz--w16 .pz-imie{transition:color .24s var(--ez)}
.pz--w16 .pz-stopka{background:transparent;box-shadow:none;border-radius:0;padding:20px 0 0;border-top:0}
.pz--w16 .pz-stopka::before{display:none}
.pz--w16 .pz-meta .cell b{color:var(--nb);font-size:21px}
.pz--w16 .pz-meta .cell span{color:var(--tx)}
.pz--w16 .pz-cta{background:transparent;color:var(--gr);padding:0;border-radius:0;
  border-bottom:2px solid var(--mt);padding-bottom:5px;font-size:15px}
@media (hover:hover) and (pointer:fine){ .pz--w16 .pz-cta:hover{transform:none;background:transparent;border-bottom-color:var(--gr)} }

/* ---------- W17: zamiast jednego zdania TRZY ZADANIA osoby ----------
   Gestosc informacji zamiast opisu. Czytelnik od razu widzi zakres, a nie ogolnik. */
.pz--w17 .pz-fr{aspect-ratio:1;border-radius:14px}
.pz--w17 .pz-zad{display:block;margin-top:10px;padding-top:10px;border-top:1px solid var(--ln)}
.pz--w17 .pz-zad i{display:block;font-style:normal;font:500 12.5px/1.45 'Montserrat';color:var(--tx);
  padding-left:15px;position:relative;margin-bottom:5px}
.pz--w17 .pz-zad i::before{content:"";position:absolute;left:0;top:8px;width:8px;height:2px;
  background:var(--mt);border-radius:2px}
.pz--w17 .pz-zad i:last-child{margin-bottom:0}
.pz--w17 .pz-stopka{background:transparent;box-shadow:none;border-radius:0;padding:20px 0 0;border-top:1px solid var(--ln)}
.pz--w17 .pz-stopka::before{display:none}
.pz--w17 .pz-meta .cell b{color:var(--nb);font-size:21px}
.pz--w17 .pz-meta .cell span{color:var(--tx)}
.pz--w17 .pz-cta{background:var(--gr);color:#fff}
.pz--w17 .pz-cta .arr{color:var(--mt)}

/* ---------- W18: linia horyzontu ----------
   Kadry roznej wysokosci wyrownane do WSPOLNEJ DOLNEJ KRAWEDZI, wiec gorna
   linia faluje jak panorama, a dolna trzyma porzadek. Skill: fractional units
   i lamanie symetrii, ale z jedna twarda os wyrownania. */
.pz--w18 .pz-lista{align-items:end;gap:18px}
.pz--w18 .pz-k{display:flex;flex-direction:column;justify-content:flex-end}
.pz--w18 .pz-tx{order:-1;padding-top:0;padding-bottom:14px;align-self:end;width:100%}
.pz--w18 .pz-fr{border-radius:14px}
.pz--w18 .pz-k:nth-child(1) .pz-fr{aspect-ratio:3/4}
.pz--w18 .pz-k:nth-child(2) .pz-fr{aspect-ratio:1}
.pz--w18 .pz-k:nth-child(3) .pz-fr{aspect-ratio:4/5}
.pz--w18 .pz-k:nth-child(4) .pz-fr{aspect-ratio:5/6}
.pz--w18 .pz-k:nth-child(5) .pz-fr{aspect-ratio:1}

.pz--w18 .pz-stopka{background:transparent;box-shadow:none;border-radius:0;padding:20px 0 0;border-top:1px solid var(--ln)}
.pz--w18 .pz-stopka::before{display:none}
.pz--w18 .pz-meta .cell b{color:var(--nb);font-size:21px}
.pz--w18 .pz-meta .cell span{color:var(--tx)}
.pz--w18 .pz-cta{background:transparent;color:var(--nb);padding:0;border-radius:0;
  border-bottom:2px solid var(--mt);padding-bottom:5px}
@media (hover:hover) and (pointer:fine){ .pz--w18 .pz-cta:hover{transform:none;background:transparent;color:var(--gr);border-bottom-color:var(--gr)} }

@media (max-width:900px){
  .pz--w16 .pz-k{grid-template-columns:132px 1fr;gap:16px}
  .pz--w16 .pz-opis{grid-column:2}
  .pz--w16 .pz-k::after{display:none}
  .pz--w18 .pz-k .pz-fr{aspect-ratio:4/5 !important}
}

/* --- W17: niepelny ostatni rzad ---
   Przy 5 osobach w 3 kolumnach zostawala pusta komorka. Rozciaganie dwoch kart
   na pelna szerokosc sprawdzilem i ODRZUCILEM: zdjecia rosly z 371 do 566 px,
   wiec dwie osoby wygladaly na wazniejsze od reszty, a to mowi o zespole nieprawde.
   Luke wypelniaja STATYSTYKI, ktore i tak naleza do sekcji, a wszystkie portrety
   zostaja tej samej wielkosci. */
.pz--w17 .pz-luka{display:flex;flex-direction:column;justify-content:center;gap:20px;
  padding:26px 28px;border-radius:16px;background:#fff;border:1px solid var(--ln);
  box-shadow:0 20px 44px -30px rgba(5,10,48,.28)}
.pz--w17 .pz-luka .cell{display:flex;flex-direction:column;gap:3px}
.pz--w17 .pz-luka .cell b{font:800 22px/1 'Montserrat';color:var(--nb);letter-spacing:-.01em}
.pz--w17 .pz-luka .cell span{font:500 12px/1.35 'Montserrat';color:var(--tx);font-style:italic}
.pz--w17 .pz-stopka{justify-content:flex-end}
@media (max-width:900px){ .pz--w17 .pz-luka{padding:22px} }

/* --- W6: liczby w lewej kolumnie ---
   Miedzy opisem a karta z zaproszeniem zostawalo ok. 370 px pustki. Liczby, ktore
   i tak naleza do sekcji, wypelniaja te przestrzen i prowadza wzrok w dol kolumny. */
.pz--w6 .pz-meta-kol{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 24px;padding-bottom:20px;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.16)}
.pz--w6 .pz-meta-kol .cell{display:flex;flex-direction:column;gap:3px}
.pz--w6 .pz-meta-kol .cell b{font:800 20px/1 'Montserrat';color:var(--mt);letter-spacing:-.01em}
.pz--w6 .pz-meta-kol .cell span{font:500 11.5px/1.35 'Montserrat';color:rgba(255,255,255,.62);font-style:italic}
.pz--w6 .pz-osoba-k{font-size:13.5px}
@media (max-width:1000px){ .pz--w6 .pz-meta-kol{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media (max-width:640px){ .pz--w6 .pz-meta-kol{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* =========================================================
   POPRAWKI MOBILNE, znalezione pomiarem 07.09 na 390 i 768 px.
   W6 trzymal dwie kolumny i zdjecia spadaly do 166 px.
   W9: reguly [data-osob] rozciagaly kafel na 3 slupy w dwuslupowej siatce
   mobilnej i sciskaly portrety do 36 px. Nadpisujemy z ta sama waga selektora.
   ========================================================= */
@media (max-width:900px){
  .pz--w9 .pz-lista{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pz--w9[data-osob="3"] .pz-kafel-cta,
  .pz--w9[data-osob="4"] .pz-kafel-cta,
  .pz--w9[data-osob="5"] .pz-kafel-cta,
  .pz--w9[data-osob="6"] .pz-kafel-cta{grid-column:span 2}
  .pz--w9[data-osob="3"] .pz-kafel-m,.pz--w9[data-osob="4"] .pz-kafel-m{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .pz--w6 .pz-lista{grid-template-columns:1fr}
  .pz--w9 .pz-lista{grid-template-columns:1fr}
  .pz--w9[data-osob="3"] .pz-kafel-cta,
  .pz--w9[data-osob="4"] .pz-kafel-cta,
  .pz--w9[data-osob="5"] .pz-kafel-cta,
  .pz--w9[data-osob="6"] .pz-kafel-cta{grid-column:span 1}
  .pz--w9[data-osob="3"] .pz-kafel-m,.pz--w9[data-osob="4"] .pz-kafel-m{grid-template-columns:1fr}
}

/* =========================================================
   DZIURY W STOPKACH. Pomiar 07.09: W18 261 px, W16 245 px, W14 209 px, W2 104 px
   pustki miedzy ostatnia liczba a przyciskiem. Liczby stlaczaly sie po lewej,
   a przycisk wisial po prawej. Blok liczb rozciaga sie na dostepna szerokosc
   i rozklada je rowno, wiec pustka rozchodzi sie MIEDZY liczbami zamiast
   zbierac w jedna dziure.
   ========================================================= */
.pz--w2 .pz-stopka .pz-meta,
.pz--w14 .pz-stopka .pz-meta,
.pz--w16 .pz-stopka .pz-meta,
.pz--w18 .pz-stopka .pz-meta{flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 24px}
@media (max-width:760px){
  .pz--w2 .pz-stopka .pz-meta,.pz--w14 .pz-stopka .pz-meta,
  .pz--w16 .pz-stopka .pz-meta,.pz--w18 .pz-stopka .pz-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:520px){
  /* 96 px to miniaturka, a nie zdjecie. Na najwezszym ekranie kadr idzie NAD tekst
     i bierze cala szerokosc kolumny. */
  .pz--w16 .pz-k{grid-template-columns:1fr;gap:12px}
  .pz--w16 .pz-fr{aspect-ratio:4/5;max-height:320px}
  .pz--w16 .pz-opis{grid-column:1}
}

/* --- Zachęta nad przyciskiem: etykieta i jedno zdanie. Zastepuje pasek z liczbami,
       ktory Marcin odrzucil, i sprawia, ze stopka nie jest pustym pasem. --- */
.pz-zach{display:flex;flex-direction:column;gap:5px;min-width:0}
.pz-zach-k{font:700 11px/1 'Montserrat';letter-spacing:.15em;text-transform:uppercase;color:var(--mtd)}
.pz-zach p{margin:0;font:700 clamp(15px,1.5vw,19px)/1.3 'Montserrat';letter-spacing:-.018em;color:var(--gr);max-width:46ch}
.pz--w2 .pz-zach-k{color:var(--mt)}
.pz--w2 .pz-zach p{color:#fff}
.pz--w2 .pz-stopka{padding:22px 26px}

/* W4: przy 5 i 6 osobach panele scisnely sie do 187 px szerokosci. Powyzej czterech
   osob akordeon lamie sie na dwa rzedy, wiec kadry wracaja powyzej 260 px. */
.pz--w4[data-osob="5"] .pz-lista,.pz--w4[data-osob="6"] .pz-lista{flex-wrap:wrap;height:auto}
.pz--w4[data-osob="5"] .pz-k,.pz--w4[data-osob="6"] .pz-k{flex:1 1 30%;height:clamp(340px,32vw,420px)}
.pz--w4[data-osob="5"] .pz-panel-cta,.pz--w4[data-osob="6"] .pz-panel-cta{flex:1 1 30%;height:clamp(340px,32vw,420px)}
/* W4 przy 4 osobach: kafel wezwania zwezony, zeby portrety trzymaly 260 px */
.pz--w4[data-osob="4"] .pz-panel-cta{flex:0 0 118px}

/* W1 i W2 przy 5 osobach: trzy kolumny z kadrem 4:5 daly 1664 px, czyli wiecej niz
   obecna sekcja (1421 px). Cztery kolumny skracaja drugi rzad i trzymaja zdjecia
   na 273 px, czyli tyle, co dzis na produkcji. */
.pz--w1[data-osob="5"] .pz-lista,.pz--w2[data-osob="5"] .pz-lista{grid-template-columns:repeat(4,minmax(0,1fr))}
.pz--w1[data-osob="5"] .pz-lista{--ile:4}

/* W4: kafel wezwania jako piaty panel sciskal portrety ponizej 260 px przy czterech
   i pieciu osobach. Zostaje panelem tylko przy trzech, wyzej schodzi pod akordeon
   jako linia, a portrety wracaja powyzej 270 px. */
.pz--w4[data-osob="4"] .pz-panel-cta,.pz--w4[data-osob="5"] .pz-panel-cta,
.pz--w4[data-osob="6"] .pz-panel-cta{display:none}
.pz--w4[data-osob="4"] .pz-lista,.pz--w4[data-osob="5"] .pz-lista,.pz--w4[data-osob="6"] .pz-lista{flex-wrap:nowrap;height:clamp(360px,42vw,460px)}
.pz--w4[data-osob="4"] .pz-k,.pz--w4[data-osob="5"] .pz-k,.pz--w4[data-osob="6"] .pz-k{flex:1 1 0;height:auto}

/* W1: gdy plyta znika (wiele rzedow albo waski ekran), cala sekcja jest granatowa,
   a numer telefonu i mail zostawaly w kolorze granatu, czyli byly NIEWIDOCZNE.
   Zmierzone: kontrast 1,00:1 na numerze i 2,89:1 na mailu. */
.pz--w1.pz--wiele-rzedow .pz-tel{border-top-color:rgba(255,255,255,.18)}
.pz--w1.pz--wiele-rzedow .pz-tel-nr{color:#fff}
.pz--w1.pz--wiele-rzedow .pz-tel-mail{color:var(--mt);border-bottom-color:rgba(128,223,160,.5)}
@media (max-width:640px){
  .pz--w1 .pz-tel{border-top-color:rgba(255,255,255,.18)}
  .pz--w1 .pz-tel-nr{color:#fff}
  .pz--w1 .pz-tel-mail{color:var(--mt);border-bottom-color:rgba(128,223,160,.5)}
}

/* W1 i W2 przy 5 osobach byly o 19 i 40 px wyzsze od obecnej sekcji. Ciasniejszy
   odstep miedzy rzedami i nizsza stopka scinaja te nadwyzke. */
.pz--w1[data-osob="5"] .pz-lista,.pz--w2[data-osob="5"] .pz-lista{gap:16px}
.pz--w1[data-osob="5"] .pz-tel{margin-top:14px;padding-top:14px}
.pz--w2[data-osob="5"] .pz-stopka{margin-top:16px;padding:18px 24px}

/* W4 przy 5 i 6 osobach: panele w jednym rzedzie mialy 222 px. Lamiemy na dwa rzedy. */
.pz--w4[data-osob="5"] .pz-lista,.pz--w4[data-osob="6"] .pz-lista{flex-wrap:wrap;height:auto}
.pz--w4[data-osob="5"] .pz-k,.pz--w4[data-osob="6"] .pz-k{flex:1 1 30%;height:clamp(330px,30vw,400px)}

/* Ostatnie 14 do 25 px ponad wysokosc obecnej sekcji przy 5 osobach: ciasniejszy
   odstep pod naglowkiem tylko w tym przypadku. */
.pz--w1[data-osob="5"] .pz-glowa,.pz--w2[data-osob="5"] .pz-glowa{margin-bottom:30px}


/* ---------- SUFIT SZEROKOSCI ZDJECIA ----------
   Pliki portretow maja 666x1000, wiec przy ekranie 2x wszystko szersze niz 333 px
   jest skalowane w gore i traci ostrosc. Nie mamy wiekszych oryginalow. */
.pz .pz-fr{max-width:333px}
.pz .pz-fr img{image-rendering:auto}


/* ---------- KAFEL Z ZAPROSZENIEM W SIATCE ----------
   Wchodzi w wolna komorke rzedu przy 1, 2, 3 i 5 osobach. Ma te sama siatke co karty
   osob, wiec rzad konczy sie trescia, a nie pustka. Granat trzyma go jako element
   inny niz portret, mieta niesie akcje. Brandbook: granat dominanta, mieta akcent. */
/* Kafel zajmuje wszystkie wolne komorki ostatniego rzedu. */
/* Kafel wypelnia wolne komorki ostatniego rzedu. */
.pz-kafel-zapro{grid-column:span var(--span,1);container-type:inline-size;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;
  padding:clamp(28px,3.4cqw,44px);border-radius:20px;background:var(--gr);color:#fff;position:relative;overflow:hidden;
  box-shadow:0 1px 0 rgba(5,10,48,.04),0 34px 74px -40px rgba(5,10,48,.5)}
.pz-kafel-zapro::before{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 12% 0%,rgba(128,223,160,.14),transparent 62%)}
.pz-zapro-k{position:relative;z-index:2;font:700 11.5px/1 'Montserrat';letter-spacing:.13em;
  text-transform:uppercase;color:var(--mt)}
.pz-zapro-t{position:relative;z-index:2;margin:0;font:700 clamp(19px,4.4cqw,27px)/1.32 'Montserrat';
  letter-spacing:-.015em;color:#fff;max-width:22ch;text-wrap:balance}
/* Obrys sygnetu wypelnia gorna czesc kafla, ktora przy szerokiej komorce zostawala pusta.
   Brandbook s.25: cienka linia obrysu w narozniku jako motyw dekoracyjny. */
.pz-zapro-syg{position:absolute;top:-34px;right:-58px;width:200px;height:auto;color:#fff;opacity:.09;pointer-events:none;z-index:1}
.pz-kafel-zapro .pz-cta{position:relative;z-index:2;align-self:flex-start;margin-top:4px}
@media (max-width:760px){
  .pz-kafel-zapro{padding:26px 22px}
  .pz-zapro-t{font-size:17px}
}


/* ---------- KAFEL RÓWNY ZDJĘCIOM ----------
   Kafel byl rowny CALEJ karcie, wiec granatowa plama schodzila 104 px ponizej rzedu
   zdjec i rzad przestawal czytac sie jako jedna linia. Karta staje sie subgridem
   na dwa rzedy (zdjecie, podpis), a kafel zajmuje tylko rzad ze zdjeciami. */
.pz--w14 .pz-lista{grid-auto-rows:auto}
.pz--w14 .pz-k{display:grid;grid-row:span 2;grid-template-rows:subgrid}
/* Odstep zdjecie-podpis robi teraz odstep rzedow siatki (20 px), wiec wlasny padding
   karty musi zejsc do zera, inaczej rzad ze zdjeciami traci 10 px i kafel nie dochodzi. */
.pz--w14 .pz-tx{padding-top:0}
.pz--w14 .pz-kafel-zapro{grid-row:span 1}

/* ---------- JEDNA OSOBA ----------
   Kafel mial tu 799x444 i byl wielka granatowa plama z odrobina tekstu. Przy jednej
   osobie zaproszenie przestaje byc pudelkiem: zostaje portret po lewej i tekst po
   prawej, czytany na tle sekcji. Zadnej plamy, zadnej dziury. */
@media (min-width:900px){
  .pz--w14[data-osob="1"] .pz-kafel-zapro{background:none;box-shadow:none;padding:0 0 0 12px;
    justify-content:center;gap:18px;grid-row:span 2}
  .pz--w14[data-osob="1"] .pz-kafel-zapro::before,
  .pz--w14[data-osob="1"] .pz-zapro-syg{display:none}
  .pz--w14[data-osob="1"] .pz-zapro-k{color:var(--mtd)}
  /* 36 px konkurowalo z naglowkiem sekcji (48 px), wiec sekcja miala dwa tytuly.
     Zaproszenie ma byc wyraznie podrzedne. */
  .pz--w14[data-osob="1"] .pz-zapro-t{color:var(--gr);font:800 25px/1.3 'Montserrat';
    letter-spacing:-.01em;max-width:19ch}
  .pz--w14[data-osob="1"] .pz-kafel-zapro .pz-cta{margin-top:10px}
}

/* ---------- STANY INTERAKTYWNE ----------
   Karta osoby jest linkiem do jej strony, a nie miala zadnego stanu najechania.
   Zdjecia nie wolno powiekszac, wiec reakcja idzie na glebie i kolor podpisu:
   kadr unosi sie o 3 px z cieniem tintowanym granatem, imie przechodzi w niebieski.
   Animowane sa wylacznie transform i opacity, wiec nic sie nie przelicza w ukladzie. */
.pz--w14 .pz-fr{transition:transform .22s var(--ez),box-shadow .22s var(--ez)}
.pz--w14 .pz-imie{transition:color .18s ease}
@media (hover:hover) and (pointer:fine){
  .pz--w14 .pz-k:hover .pz-fr{transform:translateY(-3px);
    box-shadow:0 1px 0 rgba(5,10,48,.04),0 26px 46px -26px rgba(5,10,48,.42)}
  .pz--w14 .pz-k:hover .pz-imie{color:var(--nb)}
}
.pz--w14 .pz-k:active .pz-fr{transform:translateY(-1px)}
/* Cel dotyku: przycisk mial 46 px, norma to 48. */
.pz-cta{min-height:48px}

@media (max-width:760px){
  .pz--kwadrat .pz-lista{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pz--kwadrat .pz-fr{aspect-ratio:3/4}
}

/* ---------- PIEC OSOB I WIECEJ ----------
   Liczba kolumn wynika z dostepnej szerokosci, a nie z gory ustalonej liczby.
   Minimum 260 px na karte, wiec zdjecie nigdy nie schodzi ponizej progu czytelnosci:
   ekran 1600 daje piec kolumn po 271 px, 1440 cztery po 313 px, 1280 cztery po 273 px.
   Reszta osob laduje w kolejnym rzedzie, dokladnie tak jak na podstronie /zespol/. */
/* Karta ma STALA szerokosc niezaleznie od obsady i szerokosci ekranu, dokladnie tak
   jak na /zespol/, gdzie zdjecie ma 278x292 od 1512 px w gore. Bez tego przy czterech
   kolumnach zdjecie rozciagalo sie do 313 px, a przy pieciu mialo 271, wiec ten sam
   wariant pokazywal ludzi w dwoch roznych rozmiarach. */
.pz--w14 .pz-k{width:100%;max-width:280px}
/* Kolumny maja sztywne 280 px, a nadmiar miejsca idzie w odstepy. Dzieki temu pierwsza
   karta trzyma linie naglowka, ostatnia konczy sie na krawedzi kontenera, a zdjecie ma
   ten sam rozmiar przy kazdej obsadzie. */
/* Piec rownych kolumn dla kazdej obsady. Szerokosc karty wynika z siatki, wiec zdjecie
   ma ten sam wymiar niezaleznie od tego, czy w sekcji jest jedna osoba, czy piec. */
.pz--w14 .pz-lista{gap:20px;grid-template-columns:repeat(5,minmax(0,1fr))}
.pz--w14 .pz-k{max-width:none}
@media (max-width:900px){ .pz--w14 .pz-lista{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:600px){ .pz--w14 .pz-lista{grid-template-columns:1fr} }
/* justify-items:start lapal takze kafel z zaproszeniem i zwezal go do szerokosci
   tresci: 12 px szerokosci i 2352 px wysokosci. Kafel ma wypelnic swoja komorke. */
.pz--w14 .pz-kafel-zapro{justify-self:stretch;width:auto;max-width:none}

@media (max-width:760px){
  .pz--elastyczna .pz-lista{grid-template-columns:1fr}
}

/* ---------- ZWIJANIE NA WASKIM EKRANIE ----------
   Sztywne kolumny 280 px sa dobre na desktopie, ale ponizej 900 px musza ustapic,
   inaczej piec kolumn upycha sie w 390 px i zdjecie schodzi do 87 px. Reguly musza
   miec te sama wage co warianty, wiec powtarzamy ich selektory. */
@media (max-width:900px){
  .pz.pz--w14 .pz-lista,
  .pz.pz--w14.pz--elastyczna .pz-lista,
  .pz.pz--w14.pz--zapro-rzed .pz-lista{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}
  .pz--w14 .pz-k{max-width:none}
  .pz.pz--w14.pz--elastyczna .pz-kafel-zapro,
  .pz.pz--w14 .pz-kafel-zapro{grid-column:1 / -1}
}
@media (max-width:600px){
  .pz.pz--w14 .pz-lista,
  .pz.pz--w14.pz--elastyczna .pz-lista,
  .pz.pz--w14.pz--zapro-rzed .pz-lista{grid-template-columns:1fr}
}

/* Stany dokladnie jak .btn-mint na stronie. */
.pz-cta:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){
  /* Na podstronach uslugowych zmiana tla z .btn-mint:hover jest nadpisana przez
     .netim-poz-v2 .btn-mint, wiec realnie dziala samo podniesienie o 1 px.
     Kolor napisu trzeba wymusic, bo przycisk jest linkiem i motyw barwil go po
     najechaniu na niebiesko. Sprawdzone pomiarem na zywym /pozycjonowanie/. */
  .pz-cta:hover,.pz-cta:focus{transform:translateY(-1px);background:var(--mt);color:var(--gr)}
}
/* W waskiej komorce napis lamal sie na dwie linie, a strzalka odjezdzala na koniec.
   Przycisk nie rozciaga sie na cala szerokosc kafla i trzyma tekst w jednej linii. */
.pz-kafel-zapro .pz-cta{align-self:flex-start;width:auto;max-width:100%}
.pz-kafel-zapro .pz-cta .arr{margin-left:0}

/* ---------- WASKI KAFEL ZAPROSZENIA ----------
   Gdy zaproszenie zajmuje jedna kolumne (czyli przy czterech osobach), ma wygladac
   jak piata karta zespolu, a nie jak sciety pas. Mniejszy padding, krotszy naglowek
   i przycisk na cala szerokosc srodka, zeby napis miescil sie w jednej linii. */
.pz--w14 .pz-kafel-zapro[style*="--span:1"]{padding:22px 20px;gap:11px}
.pz--w14 .pz-kafel-zapro[style*="--span:1"] .pz-zapro-t{font-size:17px;line-height:1.3;max-width:none}
.pz--w14 .pz-kafel-zapro[style*="--span:1"] .pz-zapro-k{font-size:10.5px;letter-spacing:.1em}
.pz--w14 .pz-kafel-zapro[style*="--span:1"] .pz-cta{width:100%;justify-content:center;
  padding:14px 14px;font-size:13px;gap:8px;min-height:46px}
.pz--w14 .pz-kafel-zapro[style*="--span:1"] .pz-zapro-syg{width:150px;top:-28px;right:-46px}

/* ---------- SZEROKI KAFEL ZAPROSZENIA ----------
   Gdy zaproszenie zajmuje caly rzad, przycisk pod tekstem wygladal na zgubiony
   w duzej plaszczyznie. Uklad jak w pasie CTA na stronie: tresc po lewej,
   przycisk po prawej, oba wysrodkowane w pionie. */
@media (min-width:900px){
  .pz--w14 .pz-kafel-zapro[style*="--span:5"]{display:grid;grid-template-columns:minmax(0,1fr) auto;
    align-items:center;gap:24px 40px;padding:34px 40px}
  .pz--w14 .pz-kafel-zapro[style*="--span:5"] .pz-zapro-k{grid-column:1;align-self:end}
  .pz--w14 .pz-kafel-zapro[style*="--span:5"] .pz-zapro-t{grid-column:1;grid-row:2;align-self:start;
    margin-top:8px;max-width:34ch}
  .pz--w14 .pz-kafel-zapro[style*="--span:5"] .pz-cta{grid-column:2;grid-row:1 / span 2;align-self:center;margin-top:0}
}
