/* =========================================================
   Krzysztof — psychoterapia i teksty
   Identyfikacja: "światło i cień"
   granit / mgła / świerk / khaki
   ========================================================= */

:root{
  /* kolory */
  --granit:      #15181A;   /* atrament, sekcje ciemne */
  --granit-80:   #2A2F31;   /* tekst ciągły */
  --swierk:      #26332C;   /* zieleń świerkowa – blok newslettera */
  --mgla:        #EAEBE7;   /* tło strony */
  --papier:      #F6F6F3;   /* karty, jaśniejsze pola */
  --kamien:      #6E7573;   /* tekst drugoplanowy */
  --khaki:       #B29566;   /* jedyny akcent – kreski, znaki */
  --linia:       rgba(21,24,26,.14);
  --linia-jasna: rgba(234,235,231,.20);

  /* typografia */
  --ff-display: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --ff-body:    "Newsreader", Georgia, "Times New Roman", serif;

  --fs-micro: .6875rem;
  --fs-small: .875rem;
  --fs-body:  1.0625rem;
  --fs-lead:  clamp(1.125rem, 1.6vw, 1.3125rem);
  --fs-h3:    clamp(1.25rem, 2vw, 1.5rem);
  --fs-h2:    clamp(1.875rem, 3.6vw, 2.875rem);
  --fs-h1:    clamp(2.375rem, 6vw, 4.5rem);
  --fs-pytanie: clamp(1.75rem, 4.4vw, 3.25rem);

  /* rytm */
  --sek:  clamp(4.5rem, 9vw, 8.5rem);
  --marg: clamp(1.25rem, 5vw, 4rem);
  --maks: 1180px;
}

*,*::before,*::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--mgla);
  color:var(--granit-80);
  font-family:var(--ff-body);
  font-size:var(--fs-body);
  line-height:1.68;
  font-synthesis-weight:none;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; height:auto; display:block; }

h1,h2,h3,h4{
  font-family:var(--ff-display);
  color:var(--granit);
  font-weight:600;
  letter-spacing:-.022em;
  line-height:1.06;
  margin:0;
  text-wrap:balance;
}
h3{ font-size:var(--fs-h3); line-height:1.18; }

p{ margin:0 0 1.15em; }
p:last-child{ margin-bottom:0; }

a{ color:inherit; }

::selection{ background:var(--khaki); color:#fff; }

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

/* ---------- elementy wspólne ---------- */

.kontener{
  width:100%;
  max-width:var(--maks);
  margin-inline:auto;
  padding-inline:var(--marg);
}

.pomin{
  position:absolute; left:-9999px; top:0;
  background:var(--granit); color:var(--mgla);
  padding:.75rem 1.25rem; z-index:200;
  font-family:var(--ff-display); font-size:var(--fs-small);
}
.pomin:focus{ left:1rem; top:1rem; }

/* etykieta sekcji + „cień” kreski (motyw przewodni) */
.etykieta{
  font-family:var(--ff-display);
  font-size:var(--fs-micro);
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--kamien);
  display:block;
  margin:0 0 1.5rem;
  padding-bottom:.9rem;
  position:relative;
}
.etykieta::before,
.etykieta::after{
  content:""; position:absolute; left:0; height:1px; width:34px;
}
.etykieta::before{ bottom:4px; background:var(--khaki); }
.etykieta::after{  bottom:0;   background:rgba(178,149,102,.32); }

.ciemno .etykieta{ color:rgba(234,235,231,.62); }

.lead{
  font-size:var(--fs-lead);
  line-height:1.55;
  color:var(--granit-80);
}

/* przyciski */
.btn{
  display:inline-block;
  font-family:var(--ff-display);
  font-size:var(--fs-small);
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase;
  text-decoration:none;
  padding:1.05em 1.9em;
  border:1px solid var(--granit);
  background:var(--granit);
  color:var(--mgla);
  cursor:pointer;
  transition:background .22s ease, color .22s ease, border-color .22s ease;
}
.btn:hover{ background:transparent; color:var(--granit); }

.btn--jasny{ background:var(--mgla); border-color:var(--mgla); color:var(--granit); }
.btn--jasny:hover{ background:transparent; color:var(--mgla); }

.btn--pusty{ background:transparent; color:var(--granit); }
.btn--pusty:hover{ background:var(--granit); color:var(--mgla); }

/* link tekstowy z podkreśleniem */
.link{
  font-family:var(--ff-display);
  font-size:var(--fs-small);
  font-weight:600;
  letter-spacing:.04em;
  text-decoration:none;
  color:var(--granit);
  border-bottom:1px solid var(--khaki);
  padding-bottom:2px;
  transition:border-color .2s ease, color .2s ease;
  display:inline-block;
}
.link:hover{ border-color:var(--granit); }
.ciemno .link{ color:var(--mgla); }
.ciemno .link:hover{ border-color:var(--mgla); }

/* ---------- nawigacja ---------- */

.gora{
  position:sticky; top:0; z-index:100;
  background:rgba(234,235,231,.86);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid transparent;
  transition:border-color .25s ease, background .25s ease;
}
.gora.przypieta{ border-bottom-color:var(--linia); }

.gora__in{
  display:flex; align-items:center; justify-content:space-between;
  gap:1.5rem; min-height:74px;
}

.znak{
  display:flex; align-items:baseline; gap:.6rem;
  text-decoration:none; color:var(--granit);
}
.znak__imie{
  font-family:var(--ff-display);
  font-weight:700; font-size:1.0625rem;
  letter-spacing:.16em; text-transform:uppercase;
}
.znak__opis{
  font-family:var(--ff-display);
  font-size:var(--fs-micro); letter-spacing:.14em;
  text-transform:uppercase; color:var(--kamien);
  border-left:1px solid var(--linia); padding-left:.6rem;
}

.menu{ display:flex; align-items:center; gap:2rem; }
.menu a{
  font-family:var(--ff-display);
  font-size:var(--fs-small); font-weight:500;
  letter-spacing:.02em; text-decoration:none; color:var(--granit-80);
  padding:.25rem 0; border-bottom:1px solid transparent;
  transition:border-color .2s ease, color .2s ease;
}
.menu a:hover{ color:var(--granit); border-bottom-color:var(--khaki); }
.menu a[aria-current="page"]{ color:var(--granit); border-bottom-color:var(--khaki); }
.menu a.btn{ padding:.75em 1.35em; border-bottom:1px solid var(--granit); color:var(--mgla); }
.menu a.btn:hover{ border-bottom-color:var(--granit); color:var(--granit); }

.burger{
  display:none; background:none; border:0; padding:.5rem; cursor:pointer;
  font-family:var(--ff-display); font-size:var(--fs-small);
  letter-spacing:.12em; text-transform:uppercase; color:var(--granit);
}

@media (max-width: 880px){
  .burger{ display:block; }
  .menu{
    position:fixed; inset:74px 0 auto 0;
    flex-direction:column; align-items:flex-start; gap:0;
    background:var(--mgla); border-bottom:1px solid var(--linia);
    padding:.5rem var(--marg) 2rem;
    display:none;
  }
  .menu.otwarte{ display:flex; }
  .menu a{ width:100%; padding:1rem 0; border-bottom:1px solid var(--linia); font-size:1.0625rem; }
  .menu .btn{ margin-top:1.5rem; width:100%; text-align:center; }
}

/* ---------- hero ---------- */

.hero{ padding:clamp(3rem,7vw,6rem) 0 var(--sek); }
.hero__grid{
  display:grid; gap:clamp(2.5rem,5vw,4.5rem);
  grid-template-columns:1fr;
  align-items:center;
}
@media (min-width: 900px){
  .hero__grid{ grid-template-columns:1.05fr .8fr; }
}

.hero h1{
  font-size:var(--fs-h1);
  font-weight:700;
  letter-spacing:-.035em;
  margin:0 0 1.5rem;
}
.hero h1 em{
  font-family:var(--ff-body);
  font-style:italic;
  font-weight:300;
  letter-spacing:-.01em;
  color:var(--granit-80);
  display:block;
  font-size:.62em;
  line-height:1.18;
  margin-top:.35em;
}
.hero__akcje{ display:flex; flex-wrap:wrap; gap:1rem 1.5rem; align-items:center; margin-top:2.25rem; }
.hero__lead{ max-width:46ch; }

.portret{ position:relative; }

/* ---------- sekcje ---------- */

.sekcja{ padding-block:var(--sek); }
.sekcja--kreska{ border-top:1px solid var(--linia); }

.ciemno{ background:var(--granit); color:rgba(234,235,231,.78); }
.ciemno h1,.ciemno h2,.ciemno h3{ color:var(--mgla); }
.ciemno .lead{ color:rgba(234,235,231,.78); }

.duet{
  display:grid; gap:clamp(2rem,5vw,4.5rem);
  grid-template-columns:1fr;
  align-items:start;
}
@media (min-width: 860px){
  .duet{ grid-template-columns:.85fr 1.15fr; }
  .duet--odwr{ grid-template-columns:1.15fr .85fr; }
}

.naglowek-sekcji{ max-width:22ch; margin-bottom:clamp(2rem,4vw,3.25rem); }

/* ---------- „pytanie” – element sygnaturowy ---------- */

.pytanie{
  background:var(--granit);
  color:var(--mgla);
  padding-block:clamp(3.5rem,8vw,7rem);
}
.pytanie__in{ max-width:24ch; }
.pytanie p{
  font-family:var(--ff-body);
  font-style:italic;
  font-weight:300;
  font-size:var(--fs-pytanie);
  line-height:1.14;
  letter-spacing:-.015em;
  color:var(--mgla);
  margin:0;
}
.pytanie .etykieta{ color:rgba(234,235,231,.55); }
.pytanie .etykieta::after{ background:rgba(178,149,102,.3); }

/* ---------- lista „czym się zajmuję” ---------- */

.oferta{ border-top:1px solid var(--linia); }
.oferta__poz{
  display:grid; gap:.75rem clamp(2rem,5vw,4rem);
  grid-template-columns:1fr;
  padding-block:clamp(2rem,4vw,3rem);
  border-bottom:1px solid var(--linia);
}
@media (min-width: 760px){
  .oferta__poz{ grid-template-columns:.7fr 1.3fr; }
}
.oferta__poz h3{ margin:0; }
.oferta__meta{
  font-family:var(--ff-display); font-size:var(--fs-micro);
  letter-spacing:.16em; text-transform:uppercase; color:var(--kamien);
  margin-bottom:.6rem; display:block;
}
.oferta__tresc p{ max-width:62ch; }
.oferta__tresc .link{ margin-top:.4rem; }

/* ---------- newsletter ---------- */

.newsletter{ background:var(--swierk); color:rgba(234,235,231,.8); padding-block:clamp(4rem,8vw,7.5rem); }
.newsletter h2{ color:var(--mgla); font-size:var(--fs-h2); max-width:16ch; }
.newsletter .etykieta{ color:rgba(234,235,231,.6); }
.newsletter__grid{
  display:grid; gap:clamp(2.5rem,5vw,5rem);
  grid-template-columns:1fr;
}
@media (min-width: 880px){ .newsletter__grid{ grid-template-columns:1fr 1fr; } }

.wpisy-listy{ list-style:none; margin:2rem 0 0; padding:0; }
.wpisy-listy li{
  padding:.85rem 0 .85rem 1.75rem;
  border-top:1px solid var(--linia-jasna);
  position:relative;
  font-size:var(--fs-body);
}
.wpisy-listy li::before{
  content:""; position:absolute; left:0; top:1.55em;
  width:12px; height:1px; background:var(--khaki);
}

.formularz{ margin-top:.5rem; }
.pole{ position:relative; margin-bottom:1.75rem; }
.pole label{
  display:block;
  font-family:var(--ff-display); font-size:var(--fs-micro);
  letter-spacing:.16em; text-transform:uppercase;
  color:rgba(234,235,231,.6); margin-bottom:.65rem;
}
.pole input[type="email"],
.pole input[type="text"]{
  width:100%;
  background:transparent;
  border:0; border-bottom:1px solid rgba(234,235,231,.34);
  color:var(--mgla);
  font-family:var(--ff-body); font-size:1.125rem;
  padding:.55rem 0 .8rem;
  transition:border-color .2s ease;
}
.pole input::placeholder{ color:rgba(234,235,231,.35); }
.pole input:focus{ outline:none; border-bottom-color:var(--khaki); }
.pole input:focus-visible{ outline:2px solid var(--khaki); outline-offset:6px; }

.zgoda{
  display:flex; gap:.85rem; align-items:flex-start;
  font-size:.9375rem; line-height:1.5; color:rgba(234,235,231,.66);
  margin-bottom:1.75rem;
}
.zgoda input{
  appearance:none; -webkit-appearance:none;
  flex:0 0 auto; width:18px; height:18px; margin-top:.28em;
  border:1px solid rgba(234,235,231,.45); background:transparent; cursor:pointer;
}
.zgoda input:checked{ background:var(--khaki); border-color:var(--khaki); }
.zgoda a{ color:rgba(234,235,231,.85); }

.drobne{ font-size:.875rem; color:rgba(234,235,231,.5); margin-top:1.25rem; }

.komunikat{
  display:none;
  border-left:2px solid var(--khaki);
  padding:1rem 0 1rem 1.25rem;
  color:var(--mgla);
  font-size:1.0625rem;
}
.komunikat.widoczny{ display:block; }

/* ---------- blog ---------- */

.wpisy{ list-style:none; margin:0; padding:0; border-top:1px solid var(--linia); }
.wpis{
  display:grid; gap:.5rem clamp(2rem,5vw,4rem);
  grid-template-columns:1fr;
  padding-block:clamp(1.75rem,3.5vw,2.5rem);
  border-bottom:1px solid var(--linia);
}
@media (min-width: 760px){
  .wpis{ grid-template-columns:.28fr 1fr; align-items:baseline; }
}
.wpis__meta{
  font-family:var(--ff-display); font-size:var(--fs-micro);
  letter-spacing:.14em; text-transform:uppercase; color:var(--kamien);
}
.wpis h3{ margin:0 0 .5rem; font-size:clamp(1.3rem,2.2vw,1.75rem); }
.wpis h3 a{
  text-decoration:none;
  background-image:linear-gradient(var(--khaki),var(--khaki));
  background-size:0% 1px; background-repeat:no-repeat; background-position:0 100%;
  transition:background-size .3s ease;
  padding-bottom:2px;
}
.wpis h3 a:hover{ background-size:100% 1px; }
.wpis p{ max-width:62ch; color:var(--kamien); }

/* ---------- artykuł ---------- */

.artykul{ max-width:660px; margin-inline:auto; }
.artykul h1{ font-size:clamp(2rem,4.6vw,3.25rem); margin-bottom:1.25rem; }
.artykul__meta{
  font-family:var(--ff-display); font-size:var(--fs-micro);
  letter-spacing:.16em; text-transform:uppercase; color:var(--kamien);
  margin-bottom:1.5rem;
}
.artykul__tresc{ font-size:1.1875rem; line-height:1.72; }
.artykul__tresc h2{ font-size:1.5rem; margin:2.5rem 0 1rem; letter-spacing:-.01em; }
.artykul__tresc blockquote{
  margin:2.5rem 0; padding-left:1.5rem;
  border-left:2px solid var(--khaki);
  font-size:1.375rem; font-style:italic; font-weight:300;
  line-height:1.4; color:var(--granit);
}
.artykul__tresc hr{
  border:0; border-top:1px solid var(--linia); margin:3rem 0;
}

/* ---------- stopka ---------- */

.stopka{ background:var(--granit); color:rgba(234,235,231,.62); padding-block:clamp(3.5rem,7vw,5.5rem); }
.stopka a{ color:rgba(234,235,231,.82); text-decoration:none; border-bottom:1px solid rgba(234,235,231,.22); }
.stopka a:hover{ border-bottom-color:var(--khaki); }
.stopka h2,.stopka h3{ color:var(--mgla); }
.stopka__grid{
  display:grid; gap:clamp(2rem,5vw,4rem);
  grid-template-columns:1fr;
}
@media (min-width: 760px){ .stopka__grid{ grid-template-columns:1.2fr .9fr .9fr; } }
.stopka__tytul{
  font-family:var(--ff-display); font-size:var(--fs-micro);
  letter-spacing:.18em; text-transform:uppercase;
  color:rgba(234,235,231,.5); margin:0 0 1rem;
}
.stopka ul{ list-style:none; margin:0; padding:0; }
.stopka li{ margin-bottom:.6rem; }
.stopka__dol{
  margin-top:clamp(2.5rem,5vw,4rem); padding-top:1.75rem;
  border-top:1px solid var(--linia-jasna);
  display:flex; flex-wrap:wrap; gap:1rem 2rem; justify-content:space-between;
  font-size:.8125rem; color:rgba(234,235,231,.45);
}

/* ---------- animacja wejścia ---------- */

.zjawia{ opacity:0; transform:translateY(16px); transition:opacity .7s ease, transform .7s ease; }
.zjawia.widac{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .zjawia{ opacity:1; transform:none; transition:none; }
}


/* =========================================================
   Newsletter jako główny cel: szybki zapis w hero
   ========================================================= */

.hero__zapis{
  margin-top:2.25rem; padding-top:1.75rem;
  border-top:1px solid var(--linia);
}
.hero__zapis .etykieta{ margin-bottom:1rem; padding-bottom:0; }
.hero__zapis .etykieta::before,
.hero__zapis .etykieta::after{ content:none; }

.szybki{
  display:flex; flex-wrap:wrap; gap:.75rem 1rem; align-items:stretch;
  max-width:520px;
}
.szybki input[type="email"]{
  flex:1 1 240px; min-width:0;
  background:var(--papier);
  border:1px solid rgba(21,24,26,.2);
  color:var(--granit);
  font-family:var(--ff-body); font-size:1.0625rem;
  padding:1em 1.1em;
  transition:border-color .2s ease;
}
.szybki input[type="email"]::placeholder{ color:var(--kamien); }
.szybki input[type="email"]:focus{ outline:none; border-color:var(--khaki); }
.szybki .btn{ flex:0 0 auto; }

.drobne--jasne{ color:var(--kamien); max-width:52ch; margin-top:1rem; }
.drobne--jasne a{ color:var(--granit); text-decoration:none; border-bottom:1px solid var(--khaki); }

.komunikat--jasny{ color:var(--granit); max-width:52ch; margin-top:1.25rem; }

/* =========================================================
   Pop-up newslettera
   ========================================================= */

.modal{
  position:fixed; inset:0; z-index:200;
  background:rgba(21,24,26,.55);
  display:flex; align-items:center; justify-content:center;
  padding:clamp(1rem,4vw,2.5rem);
}
.modal[hidden]{ display:none; }

.modal__box{
  position:relative;
  width:100%; max-width:480px;
  background:var(--swierk); color:rgba(234,235,231,.8);
  padding:clamp(1.75rem,4vw,2.75rem);
  box-shadow:0 30px 80px rgba(21,24,26,.45);
  max-height:88vh; overflow-y:auto;
  animation:modal-wejscie .32s ease both;
}
@keyframes modal-wejscie{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){ .modal__box{ animation:none; } }

.modal__box h2{ color:var(--mgla); font-size:clamp(1.375rem,3vw,1.75rem); line-height:1.12; margin:0 0 1rem; }
.modal__box .etykieta{ color:rgba(234,235,231,.6); }
.modal__box p{ font-size:1rem; line-height:1.6; }
.modal__box .pole label{ color:rgba(234,235,231,.6); }
.modal__btn{ width:100%; }

.modal__zamknij{
  position:absolute; top:.75rem; right:.9rem;
  background:none; border:0; cursor:pointer;
  color:rgba(234,235,231,.55);
  font-family:var(--ff-display); font-size:20px; line-height:1; padding:.4rem;
  transition:color .2s ease;
}
.modal__zamknij:hover{ color:var(--mgla); }

.modal__nie{
  display:block; margin:1.25rem auto 0;
  background:none; border:0; cursor:pointer;
  font-family:var(--ff-display); font-size:13px; letter-spacing:.04em;
  color:rgba(234,235,231,.5);
  transition:color .2s ease;
}
.modal__nie:hover{ color:var(--mgla); }

/* =========================================================
   Pasek zgody na cookies
   ========================================================= */

.cookies{
  position:fixed; left:0; right:0; bottom:0; z-index:150;
  background:var(--granit); color:rgba(234,235,231,.78);
  border-top:1px solid rgba(178,149,102,.5);
  box-shadow:0 -14px 40px rgba(21,24,26,.28);
}
.cookies[hidden]{ display:none; }
.cookies__in{ padding-block:clamp(1.25rem,2.5vw,1.75rem); }
.cookies .etykieta{ color:rgba(234,235,231,.55); margin-bottom:.7rem; padding-bottom:0; }
.cookies .etykieta::before,
.cookies .etykieta::after{ content:none; }
.cookies p{ margin:0; max-width:62ch; font-size:1rem; line-height:1.55; }
.cookies a{ color:var(--mgla); text-decoration:none; border-bottom:1px solid var(--khaki); }

.cookies__gora{
  display:flex; flex-wrap:wrap; gap:1.25rem 2.5rem;
  align-items:flex-start; justify-content:space-between;
}
.cookies__gora > div:first-child{ flex:1 1 320px; min-width:0; }
.cookies__akcje{ display:flex; flex-wrap:wrap; gap:.75rem 1rem; align-items:center; }
.cookies__akcje .btn{ padding:.9em 1.5em; font-size:13px; }

.cookies__link{
  background:none; border:0; cursor:pointer;
  font-family:var(--ff-display); font-size:13px; font-weight:600; letter-spacing:.04em;
  color:var(--mgla); border-bottom:1px solid var(--khaki); padding:0 0 2px;
  transition:border-color .2s ease;
}
.cookies__link:hover{ border-bottom-color:var(--mgla); }

.btn--obrys{ background:transparent; border-color:rgba(234,235,231,.4); color:var(--mgla); }
.btn--obrys:hover{ background:transparent; border-color:var(--mgla); }
.btn--khaki{ background:transparent; border-color:var(--khaki); color:var(--mgla); }
.btn--khaki:hover{ background:var(--khaki); color:var(--granit); }

.cookies__panel{
  margin-top:1.5rem; padding-top:1.25rem;
  border-top:1px solid var(--linia-jasna);
  display:flex; flex-wrap:wrap; gap:1rem 2.5rem;
  align-items:flex-end; justify-content:space-between;
}
.cookies__panel[hidden]{ display:none; }
.cookies__kategorie{ display:flex; flex-wrap:wrap; gap:.75rem 2.5rem; }
.cookies__kategorie label,
.cookies__stale{
  display:flex; gap:.7rem; align-items:center;
  font-size:.9375rem; cursor:pointer;
}
.cookies__stale{ color:rgba(234,235,231,.5); cursor:default; }
.cookies__stale i{
  width:18px; height:18px; flex:0 0 auto;
  border:1px solid rgba(234,235,231,.3); background:rgba(234,235,231,.25);
}
.cookies__kategorie input{
  appearance:none; -webkit-appearance:none;
  width:18px; height:18px; flex:0 0 auto; cursor:pointer;
  border:1px solid rgba(234,235,231,.45); background:transparent;
}
.cookies__kategorie input:checked{ background:var(--khaki); border-color:var(--khaki); }

/* stopka — linki prawne obok siebie */
.stopka__prawne{ display:flex; flex-wrap:wrap; gap:.5rem 1.25rem; }

/* =========================================================
   Dokumenty prawne (prywatnosc.html, cookies.html)
   ========================================================= */

.dok{ max-width:760px; margin-inline:auto; }
.dok h1{ font-size:clamp(2rem,4.6vw,3.25rem); margin-bottom:1.5rem; }
.dok h2{ font-size:var(--fs-h3); margin:3.25rem 0 1.25rem; padding-bottom:.7rem; border-bottom:1px solid var(--linia); }
.dok h3{ font-size:1.0625rem; margin:2.25rem 0 .75rem; letter-spacing:-.01em; }
.dok ul{ list-style:none; margin:0 0 1.15em; padding:0; }
.dok ul li{ padding:.6rem 0 .6rem 1.75rem; border-top:1px solid var(--linia); position:relative; }
.dok ul li:last-child{ border-bottom:1px solid var(--linia); }
.dok ul li::before{ content:""; position:absolute; left:0; top:1.4em; width:12px; height:1px; background:var(--khaki); }
.dok .toc{ background:var(--papier); padding:clamp(1.5rem,3vw,2rem); border-top:1px solid var(--linia); margin-top:2.5rem; }
.dok .toc strong{
  font-family:var(--ff-display); font-size:var(--fs-micro); font-weight:600;
  letter-spacing:.18em; text-transform:uppercase; color:var(--kamien);
  display:block; margin-bottom:1.1rem;
}
.dok .toc ul li,
.dok .toc ul li:last-child{ border:0; padding:.3rem 0 .3rem 1.75rem; }
.dok .box{ padding-block:clamp(1.75rem,3.5vw,2.25rem); border-bottom:1px solid var(--linia); }
.dok .box:first-of-type{ border-top:1px solid var(--linia); margin-top:2.5rem; }
.dok .box h2{ margin:0 0 .85rem; padding:0; border:0; }
.dok table{ border-collapse:collapse; width:100%; margin:1.5rem 0; }
.dok th{
  font-family:var(--ff-display); font-size:var(--fs-micro); font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--granit); background:var(--papier);
}
.dok th,.dok td{ border:1px solid var(--linia); padding:.7rem .9rem; text-align:left; font-size:15px; }
.dok a{ color:var(--granit); text-decoration:none; border-bottom:1px solid var(--khaki); }
.dok a:hover{ border-bottom-color:var(--granit); }
.dok .intro p:first-child{ font-size:var(--fs-lead); line-height:1.55; }
.dok .meta{
  margin-top:clamp(3rem,6vw,4.5rem); padding-top:1.75rem;
  border-top:1px solid var(--linia);
  font-family:var(--ff-display); font-size:13px; color:var(--kamien);
}
.dok .meta p{ margin:0 0 .35rem; }
.dok .btn{ margin-top:1.5rem; }


/* =========================================================
   Sekcja kontakt + stopka z zastrzeżeniami
   ========================================================= */

.kontakt__lista{ border-top:1px solid var(--linia); margin-top:2rem; }
.kontakt__lista p{
  margin:0; padding:1.1rem 0;
  border-bottom:1px solid var(--linia);
  display:flex; flex-wrap:wrap; gap:.5rem 1.5rem;
  justify-content:space-between; align-items:baseline;
}
.kontakt__lista span{
  font-family:var(--ff-display); font-size:var(--fs-micro);
  letter-spacing:.16em; text-transform:uppercase; color:var(--kamien);
}
.kontakt__lista a{
  font-size:1.125rem; color:var(--granit);
  text-decoration:none; border-bottom:1px solid var(--khaki);
}
.kontakt__lista a:hover{ border-bottom-color:var(--granit); }

.stopka__haslo{
  display:flex; flex-wrap:wrap; gap:1.5rem 4rem;
  justify-content:space-between; align-items:baseline;
}
.stopka__mail{
  font-size:1.125rem; color:rgba(234,235,231,.85);
  text-decoration:none; border-bottom:1px solid var(--khaki);
}
.stopka__mail:hover{ color:var(--mgla); }

.stopka__zastrzezenia{
  margin-top:clamp(2.5rem,5vw,4rem); padding-top:1.75rem;
  border-top:1px solid var(--linia-jasna);
}
.stopka__zastrzezenia > div,
.stopka__zastrzezenia--kol{
  display:grid; gap:.85rem; max-width:78ch;
  font-size:.875rem; line-height:1.6; color:rgba(234,235,231,.5);
}
.stopka__zastrzezenia--kol{ margin:0; padding:0; border:0; }
.stopka__zastrzezenia p{ margin:0; }
.stopka .stopka__dol{ margin-top:2rem; }


/* zgoda na jasnym tle (hero) + znak ✓ zamiast wypełnienia */
.zgoda--jasna{ color:var(--kamien); font-size:.875rem; line-height:1.55; max-width:52ch; margin-top:1.25rem; }
.zgoda--jasna a{ color:var(--granit); text-decoration:none; border-bottom:1px solid var(--khaki); }
.zgoda input[type="checkbox"]{
  appearance:none; -webkit-appearance:none;
  width:20px; height:20px; flex:0 0 auto; cursor:pointer;
  border:1px solid rgba(234,235,231,.45); background:transparent;
  display:grid; place-content:center;
  font-family:var(--ff-display); font-size:14px; font-weight:700; line-height:1; color:transparent;
}
.zgoda--jasna input[type="checkbox"]{ border-color:rgba(21,24,26,.35); }
.zgoda input[type="checkbox"]::before{ content:"✓"; }
.zgoda input[type="checkbox"]:checked{ border-color:var(--khaki); color:var(--khaki); }


/* hero: pola w rzędzie, zgoda pod nimi — wszystko wewnątrz <form> */
.szybki{ display:flex; flex-direction:column; gap:1.25rem; align-items:flex-start; max-width:560px; }
.szybki__pola{ display:flex; flex-wrap:wrap; gap:.75rem 1rem; align-items:stretch; width:100%; }
.szybki .zgoda--jasna{ margin-top:0; display:flex; gap:.85rem; align-items:flex-start; }


/* anchory: nagłówek sekcji nie chowa się pod przyklejonym paskiem */
html{ scroll-behavior:smooth; }
section[id], .stopka[id], .sekcja[id], .newsletter[id]{ scroll-margin-top:88px; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }


/* jedno zdanie zamiast kart w sekcji „Czym się zajmuję” */
.lead-in{
  font-family:var(--ff-display); color:var(--granit); font-weight:600;
  font-size:clamp(1.5rem,3.2vw,2.375rem); letter-spacing:-.022em; line-height:1.14;
  margin:0; max-width:34ch; text-wrap:balance;
}
.lead-in a{ color:inherit; text-decoration:none; border-bottom:2px solid var(--khaki); }
.lead-in a:hover{ border-bottom-color:var(--granit); }


/* wpis blogowy */
.wpis-tresc .post-meta{
  font-family:var(--ff-display); font-size:var(--fs-micro); font-weight:600;
  letter-spacing:.18em; text-transform:uppercase; color:var(--kamien);
  margin:0 0 1.5rem; padding-bottom:.9rem; position:relative;
}
.wpis-tresc .post-meta::before{ content:""; position:absolute; left:0; bottom:4px; width:34px; height:1px; background:var(--khaki); }
.wpis-tresc h1{ font-size:clamp(2rem,4.8vw,3.25rem); margin:0 0 2rem; }
.wpis-tresc h2{ font-size:clamp(1.375rem,2.4vw,1.75rem); margin:3rem 0 1.25rem; padding-bottom:.7rem; border-bottom:1px solid var(--linia); }
.wpis-tresc .wyrozniony{
  font-family:var(--ff-body); font-style:italic; font-weight:300;
  font-size:clamp(1.375rem,2.6vw,1.75rem); line-height:1.3; color:var(--granit);
  margin:2rem 0; padding-left:1.5rem; border-left:2px solid var(--khaki);
}
.wpis-tresc .wyrozniony--male{ font-size:1.25rem; margin:0; padding:0; border:0; }
.wpis-tresc .podsumowanie{ margin-top:2.5rem; padding-top:1.75rem; border-top:1px solid var(--linia); }
.wpis-tresc .cwiczenie{
  background:var(--papier); padding:clamp(1.75rem,3.5vw,2.5rem);
  margin-top:clamp(2.5rem,5vw,3.5rem); border-top:1px solid var(--linia);
}
.wpis-tresc .cwiczenie h2{ margin:0 0 1.25rem; padding:0; border:0; font-size:clamp(1.25rem,2vw,1.5rem); }
.wpis-tresc .cwiczenie ul{ list-style:none; margin:0 0 1.15em; padding:0; }
.wpis-tresc .cwiczenie li{ padding:.6rem 0 .6rem 1.75rem; border-top:1px solid var(--linia); position:relative; }
.wpis-tresc .cwiczenie li:last-child{ border-bottom:1px solid var(--linia); }
.wpis-tresc .cwiczenie li::before{ content:""; position:absolute; left:0; top:1.4em; width:12px; height:1px; background:var(--khaki); }
.newsletter .szybki input[type="email"]{ background:transparent; border:0; border-bottom:1px solid rgba(234,235,231,.34); color:var(--mgla); border-radius:0; }


/* obietnica e-booka przy zapisie */
.prezent{ border:1px solid rgba(178,149,102,.55); padding:clamp(1.25rem,2.5vw,1.75rem); margin-top:2rem; }
.prezent .etykieta{ color:var(--khaki); margin-bottom:.75rem; padding-bottom:0; }
.prezent .etykieta::before,
.prezent .etykieta::after{ content:none; }
.prezent p{ margin:0; color:var(--mgla); font-size:1.0625rem; line-height:1.5; }
.prezent em{ font-style:italic; }


/* domykająca kreska listy korzyści + pole e-mail nad zgodą */
.wpisy-listy li:last-child{ border-bottom:1px solid var(--linia-jasna); }
.szybki__mail{ width:100%; max-width:360px; }


/* hero: mniejsze pole e-mail; stopka bez powtórzonego hasła */
.szybki__mail{ width:100%; max-width:320px; font-size:1rem; padding:.7em .9em; }
.stopka .stopka__zastrzezenia{ margin-top:0; padding-top:0; border-top:0; }


/* hero: w kolumnowym formularzu flex-basis dotyczy wysokości — pole trzyma własny rozmiar */
.szybki > .szybki__mail{ flex:0 0 auto; height:auto; align-self:flex-start; }
.szybki__pola > .szybki__mail{ flex:1 1 240px; }
