/* Kierunkowskaz — arkusz główny */
:root{
  --kztlo:#eceae8;
  --kzpowierzchnia:#f8f7f6;
  --kztekst:#1c1a19;
  --kzszary:#4d4946;
  --kzakcent:#b0391a;
  --kznaakcencie:#ffffff;
  --kzsygnal:#2c6e8f;
  --kzmarker:#f3d9cf;
  --kzrama:var(--kztekst);
  --kzgrub:2px;
  --kzskos:18px;
  --kzskosmaly:10px;
  --kzodstep:5rem;
  --kzkolumna:62ch;
  --kzbok:clamp(1rem,4vw,3rem);
  --kzszer:100em;
  --kzkrok:calc(min(100vw - 2 * var(--kzbok), var(--kzszer)) / 12);
  --kzfontnagl:"Syne",system-ui,sans-serif;
  --kzfonttekst:"Karla",system-ui,sans-serif;
  /* skala 1,25 */
  --kzs0:1.125rem;
  --kzs1:1.406rem;
  --kzs2:1.758rem;
  --kzs3:2.197rem;
  --kzs4:2.747rem;
  --kzs5:3.433rem;
  --kzwielki:clamp(4rem,13vw,9.5rem);
}

/* 2026 refresh: spokojna szkoła jazdy — mapa trasy, mięta i nocny granat */
:root{
  --kztlo:#effbf7;
  --kzpowierzchnia:#ffffff;
  --kztekst:#102a43;
  --kzszary:#486581;
  --kzakcent:#ef5b3f;
  --kznaakcencie:#ffffff;
  --kzsygnal:#00a896;
  --kzmarker:#bdeee5;
  --kzrama:#102a43;
  --kzgrub:1px;
  --kzskos:0px;
  --kzskosmaly:0px;
}
body{background-color:var(--kztlo);background-image:linear-gradient(90deg,transparent 49.7%,rgba(16,42,67,.09) 50%,transparent 50.3%);background-size:7rem 100%}
.kzglowka{background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(16,42,67,.22);box-shadow:0 8px 26px rgba(16,42,67,.08)}
.kzmenuprzycisk,.kzprzycisk{border-radius:999px}
.kzstart{background:#102a43;color:#fff;border-radius:0 0 3.5rem 3.5rem;overflow:hidden}
.kzstart h1,.kzstart a,.kzstart .kzlead{color:inherit}
.kzstart::after{content:"";display:block;height:7px;background:repeating-linear-gradient(90deg,#bdeee5 0 28px,transparent 28px 48px);opacity:.9}
.kzskos{clip-path:none;border-radius:1.15rem;box-shadow:0 12px 28px rgba(16,42,67,.09)}
.kzskos::before{clip-path:none;border-radius:calc(1.15rem - 2px)}
.kznity::after{display:none}
.kzusluga:nth-child(odd){transform:translateY(.9rem)}
.kzkroknr{border-radius:50%;background:var(--kzmarker);color:var(--kztekst)}
.kzfotoskos img{border-radius:2.5rem .6rem 2.5rem .6rem}

/* Tekst odpowiedzi w formularzu doboru jazd. */
.kzopcje .kzopcja > span{
  color:#000!important;
}
@media (max-width:48em){.kzusluga:nth-child(odd){transform:none}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:6rem}
body{margin:0;background:var(--kztlo);color:var(--kztekst);font-family:var(--kzfonttekst);font-size:var(--kzs0);line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
h1,h2,h3,h4{font-family:var(--kzfontnagl);line-height:1.12;margin:0 0 .6em;font-weight:800;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:var(--kzs4)}
h2{font-size:var(--kzs3)}
h3{font-size:var(--kzs1);font-weight:700}
p,ul,ol,dl{margin:0 0 1em}
a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--kzsygnal);outline-offset:3px}
strong{font-weight:700}

.kzpomin{position:absolute;left:var(--kzbok);top:-4rem;z-index:100;background:var(--kztekst);color:var(--kztlo);padding:.8rem 1.2rem;font-weight:700}
.kzpomin:focus{top:.5rem}
.kzukryte{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}

/* ── szerokość i rytm ── */
.kzramka{width:min(100% - 2 * var(--kzbok), var(--kzszer));margin-inline:auto}
.kzsekcja{padding-block:calc(var(--kzodstep) / 2)}
.kzsekcja + .kzsekcja{margin-top:calc(var(--kzodstep) / 2)}
.kztekstowa{max-width:var(--kzkolumna)}
.kzlead{font-size:var(--kzs1);line-height:1.45;color:var(--kzszary)}
.kzszarytxt{color:var(--kzszary)}

/* ── blok ze skośnymi rogami (chamfer) i „kocimi oczkami” ── */
.kzskos{position:relative;isolation:isolate;background:var(--kzrama);padding:clamp(1.25rem,3vw,2.25rem);
  clip-path:polygon(var(--kzskos) 0,100% 0,100% calc(100% - var(--kzskos)),calc(100% - var(--kzskos)) 100%,0 100%,0 var(--kzskos))}
.kzskos::before{content:"";position:absolute;inset:var(--kzgrub);z-index:-1;background:var(--kzwypelnienie,var(--kzpowierzchnia));
  clip-path:polygon(calc(var(--kzskos) - 1px) 0,100% 0,100% calc(100% - var(--kzskos) + 1px),calc(100% - var(--kzskos) + 1px) 100%,0 100%,0 calc(var(--kzskos) - 1px));
  transition:inset .15s ease}
.kznity::after{content:"";position:absolute;inset:9px;pointer-events:none;
  background:radial-gradient(circle,var(--kzsygnal) 3.5px,transparent 4px) right top/10px 10px no-repeat,
             radial-gradient(circle,var(--kzsygnal) 3.5px,transparent 4px) left bottom/10px 10px no-repeat}
.kzciemny{--kzwypelnienie:var(--kztekst);color:var(--kztlo)}
.kzciemny a{color:var(--kztlo)}
.kzciemny .kzszarytxt,.kzciemny .kzlead{color:#d6d2cf}
.kzjasny{--kzwypelnienie:var(--kztlo)}

/* ── przyciski: kontur, skos, przesunięcie ramy ── */
.kzprzycisk{--kzskos:var(--kzskosmaly);--kzrama:var(--kzakcent);--kzwypelnienie:var(--kzpowierzchnia);
  display:inline-flex;align-items:center;gap:.6rem;min-height:3.2rem;padding:.7rem 1.5rem;font:700 var(--kzs0)/1.2 var(--kzfonttekst);
  color:var(--kzakcent);text-decoration:none;border:0;cursor:pointer}
.kzprzycisk:hover,.kzprzycisk:focus-visible{text-decoration:none}
.kzprzycisk:hover::before,.kzprzycisk:focus-visible::before{inset:2px 6px 6px 2px}
.kzprzycisk:focus-visible{outline:3px solid var(--kzsygnal);outline-offset:-10px}
.kzprzycisk:active::before{--kzwypelnienie:var(--kzakcent)}
.kzprzycisk:active{color:var(--kznaakcencie)}
.kzprzycisk[disabled]{cursor:progress;opacity:.75}
.kzprzyciskpelny{--kzwypelnienie:var(--kzakcent);color:var(--kznaakcencie)}
.kzprzyciskcichy{--kzrama:var(--kztekst);color:var(--kztekst)}
.kzciemny .kzprzycisk{--kzrama:var(--kztlo);--kzwypelnienie:var(--kztekst);color:var(--kztlo)}
.kzstrzalka{display:inline-block;width:.9em;height:.9em;background:currentColor;
  clip-path:polygon(0 35%,55% 35%,55% 10%,100% 50%,55% 90%,55% 65%,0 65%)}

/* ── nagłówek: menu | logo na środku | telefon ── */
.kzglowka{position:sticky;top:0;z-index:40;background:var(--kztlo);border-bottom:var(--kzgrub) solid var(--kztekst)}
.kzglowkasiatka{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;min-height:4.5rem}
.kzmenuprzycisk{justify-self:start;display:inline-flex;align-items:center;gap:.55rem;background:none;border:var(--kzgrub) solid var(--kztekst);
  font:700 1rem/1 var(--kzfonttekst);color:var(--kztekst);padding:.7rem .9rem;cursor:pointer;min-height:2.9rem}
.kzmenuprzycisk:hover{background:var(--kzpowierzchnia);transform:translate(-2px,-2px);box-shadow:none}
.kzkreski{display:inline-grid;gap:4px}
.kzkreski span{display:block;width:20px;height:2px;background:currentColor}
.kzlogo{justify-self:center;display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font:800 clamp(1.25rem,4.2vw,2.1rem)/1 var(--kzfontnagl);letter-spacing:-.02em}
.kzlogoznak{display:inline-block;width:1.15em;height:.8em;background:var(--kzakcent);
  clip-path:polygon(0 50%,38% 0,38% 28%,100% 28%,100% 72%,38% 72%,38% 100%)}
.kztelefon{justify-self:end;font-weight:700;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;gap:.4rem}
.kztelefon:hover{text-decoration:underline}
.kztelefonpelny{display:none}
.kztelefonikona{display:inline-block;width:1.1rem;height:1.1rem;background:var(--kzakcent);clip-path:polygon(20% 0,45% 25%,32% 40%,60% 68%,75% 55%,100% 80%,78% 100%,0 22%)}

/* panel boczny */
.kzpanel{position:fixed;inset:0 auto 0 0;z-index:60;width:min(24rem,88vw);background:var(--kztekst);color:var(--kztlo);
  transform:translateX(-102%);transition:transform .25s ease;display:flex;flex-direction:column;padding:1.25rem 1.5rem 2rem;overflow-y:auto;visibility:hidden}
.kzpanel.kzotwarte{transform:none;visibility:visible}
.kzpanelzamknij{align-self:flex-end;background:none;border:2px solid var(--kztlo);color:var(--kztlo);font:700 1rem/1 var(--kzfonttekst);padding:.6rem .9rem;cursor:pointer}
.kzpanellista{list-style:none;padding:0;margin:1.5rem 0}
.kzpanellista li + li{margin-top:.2rem}
.kzpanellista a{display:block;padding:.6rem 0 .6rem 1.4rem;font:700 var(--kzs1)/1.2 var(--kzfontnagl);text-decoration:none;color:var(--kztlo);position:relative}
.kzpanellista a:hover{text-decoration:underline}
.kzpanellista a[aria-current="page"]::before{content:"";position:absolute;left:0;top:50%;width:.6rem;height:.6rem;margin-top:-.3rem;border-radius:50%;background:var(--kzakcent);outline:2px solid var(--kztlo)}
.kzpanelpodmenu{list-style:none;padding:0 0 0 1.4rem;margin:0}
.kzpanelpodmenu a{font:400 1.05rem/1.3 var(--kzfonttekst);padding-block:.4rem}
.kzpanelkontakt{margin-top:auto;border-top:2px dashed #8a8480;padding-top:1rem}
.kzpanelkontakt a{color:var(--kztlo)}
.kzzaslona{position:fixed;inset:0;z-index:55;background:rgba(28,26,25,.55)}
.kzzaslona[hidden]{display:none}

/* ── okruszki ── */
.kzokruszki{font-size:1rem;color:var(--kzszary);padding-top:1.5rem}
.kzokruszki ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.3rem .6rem}
.kzokruszki li + li::before{content:"›";margin-right:.6rem}

/* ── start: narzędzie na pierwszym ekranie ── */
.kzstart{min-height:90svh;padding-top:clamp(2rem,5vw,4rem);padding-bottom:2rem;position:relative}
.kzstartsiatka{display:grid;gap:2rem;position:relative;z-index:1}
.kzdroga{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.kzdroga svg{position:absolute;right:-4%;top:6%;width:min(70rem,140%);height:auto;opacity:.9}
.kzstartopis h1{font-size:var(--kzs5)}
.kzstartopis .kzlead{margin-bottom:1.5rem}
.kzfotoskos{clip-path:polygon(0 0,100% 0,100% 82%,0 100%);position:relative}
.kzfotoskos img{width:100%;aspect-ratio:3/2;object-fit:cover;background:#cfcac6}
.kzpodpisrog{position:absolute;left:0;top:0;background:var(--kztekst);color:var(--kztlo);font-size:.95rem;padding:.35rem .7rem;margin:0}
.kzfakty{list-style:none;padding:0;margin:1.25rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;font-weight:700}
.kzfakty li::before{content:"[";color:var(--kzakcent)}
.kzfakty li::after{content:"]";color:var(--kzakcent)}

/* narzędzie doboru */
.kzdobor{--kzwypelnienie:var(--kzpowierzchnia)}
.kzdobornagl{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;align-items:baseline;margin-bottom:1rem}
.kzdobornagl h2{font-size:var(--kzs2);margin:0}
.kzpostep{font-weight:700;color:var(--kzszary);margin:0}
.kzpasek{height:8px;background:repeating-linear-gradient(90deg,var(--kztekst) 0 18px,transparent 18px 30px);opacity:.25;margin-bottom:1.25rem;position:relative}
.kzpasekwypelnienie{position:absolute;inset:0 auto 0 0;background:var(--kzakcent);width:25%;transition:width .2s ease}
.kzpasekobudowa{position:relative;margin-bottom:1.25rem}
.kzpasekobudowa .kzpasek{margin:0}
.kzkrokdoboru{border:0;margin:0;padding:0;min-width:0}
.kzkrokdoboru[hidden]{display:none}
.kzkrokdoboru legend{font:700 var(--kzs1)/1.3 var(--kzfontnagl);margin-bottom:.4rem;padding:0}
.kzpodpowiedz{color:var(--kzszary);margin-bottom:.9rem}
.kzopcje{display:grid;gap:.6rem}
.kzopcja{position:relative;display:flex;gap:.8rem;align-items:flex-start;padding:.85rem 1rem;border:var(--kzgrub) solid var(--kztekst);background:var(--kztlo);cursor:pointer;line-height:1.35;transition:transform .12s ease}
.kzopcja:hover{transform:translate(-2px,-2px);border-right-width:5px;border-bottom-width:5px}
.kzopcja input{margin:.15rem 0 0;width:1.25rem;height:1.25rem;accent-color:var(--kzakcent);flex:none}
.kzopcja:has(input:checked){background:var(--kzmarker);border-color:var(--kzakcent)}
.kzopcja:has(input:focus-visible){outline:3px solid var(--kzsygnal);outline-offset:2px}
.kzdobornawig{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;align-items:center}
.kzdoborblad{color:var(--kzakcent);font-weight:700;margin:.75rem 0 0}
.kzdoborblad:empty{display:none}
.kzwynik{margin-top:.5rem}
.kzwynik[hidden]{display:none}
.kzwynik h3{font-size:var(--kzs2)}
.kzwyniklista{padding-left:1.2rem}
.kzwyniksuma{font:800 var(--kzs3)/1.1 var(--kzfontnagl);margin:.4rem 0 1rem}
.kzzastrzezenie{font-size:1rem;color:var(--kzszary);border-left:4px solid var(--kzsygnal);padding-left:.8rem}

/* ── usługi: lista z rozwijaniem (details) ── */
.kzuslugisiatka{display:grid;gap:2rem;align-items:start}
.kzwielkacena{font:800 var(--kzwielki)/.9 var(--kzfontnagl);letter-spacing:-.04em;margin:0 0 .5rem;color:var(--kzakcent)}
.kzwielkacena small{display:block;font:700 var(--kzs1)/1.2 var(--kzfonttekst);letter-spacing:0;color:var(--kztekst);margin-bottom:.4rem}
.kzlistauslug{display:grid;gap:1rem;list-style:none;padding:0;margin:0}
.kzusluga{--kzwypelnienie:var(--kzpowierzchnia);padding:0}
.kzusluga > details > summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;align-items:center;padding:1.25rem 1.5rem 1.25rem 1.75rem}
.kzusluga > details > summary::-webkit-details-marker{display:none}
.kzusluga > details > summary:focus-visible{outline:3px solid var(--kzsygnal);outline-offset:-8px}
.kzuslugatytul{font:700 var(--kzs1)/1.25 var(--kzfontnagl);margin:0}
.kzuslugameta{grid-column:1;color:var(--kzszary);font-size:1rem}
.kzcena{--kzskos:8px;--kzrama:var(--kzakcent);--kzwypelnienie:var(--kzakcent);color:var(--kznaakcencie);padding:.35rem .8rem;font:800 1.15rem/1.2 var(--kzfontnagl);white-space:nowrap;grid-row:1 / span 2;grid-column:2;display:inline-flex;align-items:center;gap:.6rem}
.kzplusminus{display:inline-block;width:14px;height:14px;position:relative;flex:none}
.kzplusminus::before,.kzplusminus::after{content:"";position:absolute;background:currentColor;left:0;top:6px;width:14px;height:2px}
.kzplusminus::after{transform:rotate(90deg);transition:transform .15s ease}
details[open] > summary .kzplusminus::after{transform:rotate(0)}
.kzuslugatresc{padding:0 1.75rem 1.5rem;display:grid;gap:1rem}
.kzuslugatresc ul{padding-left:1.2rem;margin:0}

/* ── przebieg: poziome kroki z przewijaniem ── */
.kztasma{display:grid;grid-auto-flow:column;grid-auto-columns:min(19rem,82%);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 1rem;list-style:none;margin:0;counter-reset:kzkrok}
.kztasma > li{scroll-snap-align:start;counter-increment:kzkrok}
.kzkrok{--kzwypelnienie:var(--kzpowierzchnia);height:100%}
.kzkrok::marker{content:none}
.kzkroknr{font:800 var(--kzs4)/1 var(--kzfontnagl);color:var(--kzakcent);display:block;margin-bottom:.5rem}
.kzkroknr::before{content:counter(kzkrok)}
.kzkrok h3{font-size:var(--kzs1)}
.kzkrok p{margin:0}
.kztasmapodpis{font-size:1rem;color:var(--kzszary)}
.kztasma:focus-visible{outline:3px solid var(--kzsygnal)}

/* ── zakres: zagnieżdżone granice ── */
.kzzakresschemat{--kzwypelnienie:var(--kztlo);--kzrama:var(--kzszary);padding:clamp(1.25rem,4vw,3rem)}
.kzzakresschemat > h3{color:var(--kzszary)}
.kzzakreswnetrze{--kzrama:var(--kzakcent);--kzwypelnienie:var(--kzpowierzchnia);margin:1rem 0 1.5rem}
.kzzakreswnetrze h3{color:var(--kzakcent)}
.kzznaczniki{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.kzznaczniki li{padding-left:2rem;position:relative}
.kzznaczniki li::before{content:"";position:absolute;left:0;top:.35em;width:1.1rem;height:.8rem;background:var(--kzakcent);clip-path:polygon(0 50%,18% 32%,40% 58%,82% 0,100% 18%,40% 96%)}
.kzpoza li::before{background:var(--kzszary);width:.9rem;height:.9rem;clip-path:polygon(15% 0,50% 35%,85% 0,100% 15%,65% 50%,100% 85%,85% 100%,50% 65%,15% 100%,0 85%,35% 50%,0 15%)}

/* ── granice odpowiedzialności: sytuacja / dlaczego / zamiast ── */
.kzgranice{display:grid;gap:1rem;list-style:none;padding:0;margin:0}
.kzgranica{display:grid;gap:.75rem 1.5rem;--kzwypelnienie:var(--kzpowierzchnia)}
.kzgranica h3{margin:0}
.kzgranicaetyk{display:block;font-size:.95rem;color:var(--kzszary);font-weight:700;margin-bottom:.2rem}
.kzgranica p{margin:0}
.kzgranicazamiast{border-top:2px dashed var(--kztekst);padding-top:.75rem}

/* ── po przerwie: cytat, przesunięte zdjęcie ── */
.kzprzerwasiatka{display:grid;gap:2rem;align-items:start}
.kzcytat{margin:0;padding:3.5rem 0 0;position:relative;font:700 var(--kzs2)/1.3 var(--kzfontnagl)}
.kzcytat::before{content:"„";position:absolute;left:-.05em;top:-.35em;font:800 8rem/1 var(--kzfontnagl);color:var(--kzakcent)}
.kzcytat footer{font:400 1rem/1.4 var(--kzfonttekst);color:var(--kzszary);margin-top:.75rem}
.kzprzesuniete{margin:0}
.kzprzesuniete img{aspect-ratio:3/2;object-fit:cover;width:100%;background:#cfcac6;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%,0 14%)}
.kzprzesuniete figcaption{font-size:1rem;color:var(--kzszary);margin-top:.5rem}

/* ── instruktor: paszport, sekcja wyrównana do prawej ── */
.kzprawo{text-align:right}
.kzprawo .kztekstowa{margin-left:auto}
.kzinstruktorsiatka{display:grid;gap:2rem;align-items:start}
.kzpaszport{--kzwypelnienie:var(--kzpowierzchnia);text-align:left}
.kzpaszport dl{display:grid;grid-template-columns:minmax(8rem,auto) 1fr;gap:.6rem 1.25rem;margin:0}
.kzpaszport dt{font-weight:700;color:var(--kzszary)}
.kzpaszport dd{margin:0}
.kzportret{margin:0;position:relative}
.kzportret img{aspect-ratio:3/2;object-fit:cover;width:100%;background:#cfcac6;clip-path:polygon(0 0,92% 0,100% 12%,100% 100%,0 100%)}

/* ── pytania z wyszukiwarką ── */
.kzszukaj{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin-bottom:1.25rem}
.kzszukaj label{font-weight:700}
.kzszukaj input{flex:1 1 16rem;font:inherit;padding:.75rem .9rem;border:var(--kzgrub) solid var(--kztekst);background:var(--kzpowierzchnia);color:var(--kztekst);min-height:3.1rem}
.kzliczba{color:var(--kzszary);margin:0 0 1rem;font-size:1rem}
.kzbrak{font-weight:700}
.kzbrak[hidden]{display:none}
.kzpytanie{border-top:var(--kzgrub) solid var(--kztekst)}
.kzpytanie:last-child{border-bottom:var(--kzgrub) solid var(--kztekst)}
.kzpytanie[hidden]{display:none}
.kzpytanie summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem .25rem;font:700 var(--kzs0)/1.4 var(--kzfonttekst)}
.kzpytanie summary::-webkit-details-marker{display:none}
.kzpytanie summary:hover{background:var(--kzpowierzchnia)}
.kzpytanie > div{padding:0 .25rem 1.25rem;max-width:var(--kzkolumna)}
.kzpytanie mark{background:var(--kzmarker);color:inherit}

/* ── wezwanie: blok ze schodkiem ── */
.kzwezwanie{--kzwypelnienie:var(--kztekst);background:var(--kztekst);color:var(--kztlo);padding:clamp(2rem,5vw,3.5rem) clamp(1.25rem,4vw,3rem);
  clip-path:polygon(0 0,64% 0,64% 2.5rem,100% 2.5rem,100% 100%,0 100%);padding-top:calc(2.5rem + clamp(1.5rem,4vw,2.5rem))}
.kzwezwanie h2{max-width:20ch}
.kzwezwanie p{max-width:var(--kzkolumna)}
.kzwezwanie .kzprzyciski{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}

/* ── strony podrzędne ── */
.kzpodstrona{padding-block:2rem var(--kzodstep)}
.kzpodstronasiatka{display:grid;gap:2rem;align-items:start}
.kzetykiety{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin:0 0 1.25rem;align-items:center;font-weight:700}
.kznawias::before{content:"[";color:var(--kzakcent)}
.kznawias::after{content:"]";color:var(--kzakcent)}
.kzdwielisty{display:grid;gap:1rem}
.kzkolejne{padding-left:1.4rem}
.kzkolejne li{margin-bottom:.6rem}
.kztresc h2{font-size:var(--kzs2);margin-top:2.5rem}
.kztresc h3{margin-top:1.75rem}
.kztresc{max-width:var(--kzkolumna)}
.kztresc table{border-collapse:collapse;width:100%;font-size:1rem;margin:0 0 1.5rem;display:block;overflow-x:auto}
.kztresc th,.kztresc td{border:2px solid var(--kztekst);padding:.5rem .7rem;text-align:left;vertical-align:top}
.kztresc th{background:var(--kzpowierzchnia)}
.kzinne{list-style:none;padding:0;display:grid;gap:.5rem}
.kzdata{color:var(--kzszary);font-size:1rem}
.kzuzupelnij{background:#ffe066;color:#1c1a19;padding:0 .25em;font-weight:700;outline:1px dashed #1c1a19}

/* ── formularz: etykieta po lewej na desktopie ── */
.kzformularz{--kzwypelnienie:var(--kzpowierzchnia)}
.kzpole{display:grid;gap:.35rem;margin-bottom:1.1rem}
.kzpole label,.kzpoleetyk{font-weight:700}
.kzopcjonalne{font-weight:400;color:var(--kzszary)}
.kzwejscie{font:inherit;width:100%;padding:.75rem .9rem;border:var(--kzgrub) solid var(--kztekst);background:#fff;color:var(--kztekst);min-height:3.1rem;border-radius:0}
textarea.kzwejscie{min-height:9rem;resize:vertical}
.kzwejscie[aria-invalid="true"]{border-color:var(--kzakcent);border-width:3px}
.kzblad{color:var(--kzakcent);font-weight:700;font-size:1rem;margin:0}
.kzblad:empty{display:none}
.kzzgodapole{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:.4rem}
.kzzgodapole input{width:1.3rem;height:1.3rem;margin-top:.2rem;accent-color:var(--kzakcent);flex:none}
.kzmiod{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.kzstatus{margin:1rem 0 0;font-weight:700}
.kzstatus:empty{display:none}
.kzstatusok{color:var(--kzsygnal)}
.kzstatusbad{color:var(--kzakcent)}
.kzkontaktlista{list-style:none;padding:0}
.kzkontaktlista li{margin-bottom:.6rem}

/* ── stopka: jedna kolumna ── */
.kzstopka{background:var(--kztekst);color:var(--kztlo);margin-top:var(--kzodstep);padding-block:3rem 2rem}
.kzstopka a{color:var(--kztlo)}
.kzstopkalogo{font:800 var(--kzs2)/1 var(--kzfontnagl);margin-bottom:1rem}
.kzstopkalinki{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:1.5rem 0}
.kzstopkadrobne{font-size:1rem;color:#d6d2cf;border-top:2px dashed #6f6966;padding-top:1rem;margin:0}
.kzlinkprzycisk{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:.18em;cursor:pointer}

/* ── baner cookies: prawy dolny róg ── */
.kzciastka{--kzwypelnienie:var(--kzpowierzchnia);position:fixed;right:1rem;bottom:1rem;z-index:70;width:min(27rem,calc(100vw - 2rem));max-height:calc(100svh - 6rem);overflow-y:auto;font-size:1rem}
.kzciastka[hidden]{display:none}
.kzciastka h2{font-size:var(--kzs1);margin-bottom:.5rem}
.kzciastkaprzyciski{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1rem}
.kzciastkaprzyciski .kzprzycisk{justify-content:center;padding-inline:.6rem;font-size:1rem;min-height:2.9rem}
.kzciastkaprzyciski .kzustaw{grid-column:1 / -1}
.kzkategorie{border:0;padding:0;margin:1rem 0 0}
.kzkategorie[hidden]{display:none}
.kzkategoria{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:.7rem}
.kzkategoria input{width:1.2rem;height:1.2rem;margin-top:.2rem;accent-color:var(--kzakcent);flex:none}

/* zaślepka 404 */
.kzogromne{font:800 var(--kzwielki)/.9 var(--kzfontnagl);color:var(--kzakcent);margin:0}

/* ── progi: mobile-first 38em / 58em / 100em ── */
@media (min-width:38em){
  .kzopcje{grid-template-columns:1fr 1fr}
  .kzdwielisty{grid-template-columns:1fr 1fr}
  .kzgranica{grid-template-columns:1fr 1fr}
  .kzgranicazamiast{grid-column:1 / -1}
  .kztelefonpelny{display:inline}
  .kztelefonkrotki{display:none}
  .kzpole{grid-template-columns:11rem 1fr;align-items:start}
  .kzpole label,.kzpoleetyk{padding-top:.8rem}
  .kzpole .kzblad,.kzpole .kzpodpowiedz{grid-column:2}
  .kzpolezgody{grid-template-columns:1fr}
}
@media (min-width:58em){
  :root{--kzodstep:5rem}
  .kzstartsiatka{grid-template-columns:7fr 5fr;align-items:start}
  .kzstartopis{grid-column:1 / -1;max-width:44rem}
  .kzuslugisiatka{grid-template-columns:7fr 5fr}
  .kzuslugibok{position:sticky;top:6.5rem}
  .kzprzerwasiatka{grid-template-columns:7fr 5fr}
  .kzprzesuniete{margin-left:calc(-2 * var(--kzkrok));margin-top:3rem}
  .kzinstruktorsiatka{grid-template-columns:7fr 5fr}
  .kzpodstronasiatka{grid-template-columns:7fr 5fr}
  .kzpodstronabok{position:sticky;top:6.5rem}
  .kzgranica{grid-template-columns:4fr 4fr 5fr}
  .kzgranicazamiast{grid-column:auto;border-top:0;border-left:2px dashed var(--kztekst);padding:0 0 0 1.25rem}
  .kzzakresschemat{margin-left:var(--kzkrok)}
}
@media (min-width:100em){
  :root{--kzs5:4.3rem;--kzs4:3.2rem}
  body{font-size:1.1875rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .kzopcja:hover,.kzmenuprzycisk:hover{transform:none}
}
@media print{
  .kzglowka,.kzpanel,.kzciastka,.kzdroga,.kzwezwanie{display:none!important}
  body{background:#fff}
}
.kzs2nagl{font-size:var(--kzs2)}
.kzodstepgora{margin-top:1.5rem}
.kzotworzciastka{cursor:pointer}
.kzstartbok{display:grid;gap:0;align-content:start}
@media (max-width:37.99em){
  .kzglowkasiatka{grid-template-columns:auto 1fr auto;gap:.5rem}
  .kzlogo{font-size:clamp(1.05rem,5.2vw,1.4rem);gap:.4rem;min-width:0}
  .kztelefon{border:var(--kzgrub) solid var(--kztekst);width:2.9rem;height:2.9rem;justify-content:center}
  .kztelefonikona{width:1.3rem;height:1.3rem}
  .kztelefonkrotki{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .kzmenuprzycisk{padding:.6rem .7rem}
}
.kzstartsiatka,.kzpodstronasiatka,.kzuslugisiatka,.kzprzerwasiatka,.kzinstruktorsiatka{grid-template-columns:minmax(0,1fr)}
.kzstartsiatka > *,.kzpodstronasiatka > *,.kzuslugisiatka > *,.kzprzerwasiatka > *,.kzinstruktorsiatka > *{min-width:0}
h1,h2{overflow-wrap:break-word;hyphens:auto}
@media (max-width:24em){ .kzstartopis h1{font-size:var(--kzs4)} }
@media (min-width:58em){
  .kzstartsiatka{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
  .kzuslugisiatka,.kzprzerwasiatka,.kzinstruktorsiatka,.kzpodstronasiatka{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
}
.kzlistauslug,.kzgranice{grid-template-columns:minmax(0,1fr)}
.kzusluga > details > summary{grid-template-columns:minmax(0,1fr) auto}
@media (max-width:30em){
  .kzusluga > details > summary{grid-template-columns:minmax(0,1fr);padding-inline:1.25rem}
  .kzcena{grid-row:auto;grid-column:1;justify-self:start}
  .kzuslugatresc{padding-inline:1.25rem}
}
[hidden]{display:none!important}
@media (min-width:58em){
  .kzstartsiatka{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(2rem,4vw,4rem)}
  .kzstartopis{grid-column:2;grid-row:1;max-width:none}
  .kzstartopis h1{font-size:var(--kzs4)}
  .kzdobor{grid-column:1;grid-row:1 / span 2}
  .kzstartbok{grid-column:2;grid-row:2}
}
.kzcytat{padding-top:3rem}
.kzcytat::before{top:-4.4rem;left:-.04em}
@media (min-width:58em){
  .kzprzesuniete{margin-left:0;margin-top:calc(2 * var(--kzkrok))}
}
.kzcytat::before{top:-5.6rem}
.kzpaszport dl + p{margin:1.25rem 0 0}
@media (max-width:57.99em){
  .kzstartopis h1{font-size:var(--kzs3)}
  .kzstartopis .kzlead{font-size:var(--kzs0)}
}
.kzportret img{object-position:50% 18%}

/* Final brand layer */
:root{--kztlo:#effbf7;--kzpowierzchnia:#fff;--kztekst:#102a43;--kzszary:#486581;--kzakcent:#ef5b3f;--kznaakcencie:#fff;--kzsygnal:#00a896;--kzmarker:#bdeee5;--kzrama:#102a43;--kzgrub:1px;--kzskos:0px;--kzskosmaly:0px}
body{background-color:var(--kztlo);background-image:linear-gradient(90deg,transparent 49.7%,rgba(16,42,67,.09) 50%,transparent 50.3%);background-size:7rem 100%}.kzglowka{background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(16,42,67,.22);box-shadow:0 8px 26px rgba(16,42,67,.08)}
.kzmenuprzycisk,.kzprzycisk{border-radius:999px}.kzstart{background:#102a43;color:#fff;border-radius:0 0 3.5rem 3.5rem;overflow:hidden}.kzstart h1,.kzstart a,.kzstart .kzlead{color:inherit}.kzstart::after{content:"";display:block;height:7px;background:repeating-linear-gradient(90deg,#bdeee5 0 28px,transparent 28px 48px);opacity:.9}
.kzskos{clip-path:none;border-radius:1.15rem;box-shadow:0 12px 28px rgba(16,42,67,.09)}.kzskos::before{clip-path:none;border-radius:calc(1.15rem - 2px)}.kznity::after{display:none}.kzusluga:nth-child(odd){transform:translateY(.9rem)}.kzkroknr{border-radius:50%;background:var(--kzmarker);color:var(--kztekst)}.kzfotoskos img{border-radius:2.5rem .6rem 2.5rem .6rem}
@media (max-width:48em){.kzusluga:nth-child(odd){transform:none}}
