/* ============================================================
   JATIMO. DOM SPRAW.
   Kierunek wizualny z konceptu 02: jasny papier, fotografia
   w cieplej sepii, stare zloto jako akcent, ostre narozniki.
   Zero gradientow ozdobnych, zero cieni, zero licznikow,
   zero rozstrzelonych liter w tresci.
   ============================================================ */
:root{
  --ink:#14161A;
  --dark:#17191A;
  --paper:#FBF9F5;
  --paper-2:#F2EEE6;
  --paper-3:#FFFFFF;
  --gold:#9A7138;
  --gold-2:#B38B54;
  --gold-soft:#F4EBDA;
  --line:#D9D1C5;
  --line-2:#C6BCA8;
  --text:#14161A;
  --text-mid:#55524A;
  --text-dim:#6B665C;
  --on-ink:#F5F1E8;
  --on-ink-mid:#BDB6A7;
  --on-ink-dim:#9C958A;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --max:1440px;
  --pad:clamp(1.25rem,4vw,3rem);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
body,p,li,h1,h2,h3,h4,a,span,summary{overflow-wrap:break-word}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--text);
  font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.02em}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--gold);color:#fff}

.container{width:min(calc(100% - 2*var(--pad)),var(--max));margin-inline:auto}
.section{padding:clamp(3.5rem,6.5vw,6rem) 0;border-bottom:1px solid rgba(20,22,26,.09)}
.section--alt{background:var(--paper-2)}
.section--ink{background:var(--dark);color:var(--on-ink);border-bottom:1px solid #2a2a2a}
.section--ink h2,.section--ink h3{color:var(--on-ink)}

/* nadtytul: jedyne miejsce z lekkim trackingiem, jak w koncepcie */
.eyebrow{font-size:13.5px;font-weight:600;line-height:1.6;letter-spacing:.07em;text-transform:uppercase;color:#4A463E}
.section--ink .eyebrow{color:var(--gold-2)}
.rule-gold{width:42px;height:1px;background:var(--gold);margin-top:14px}

.h1{font-size:clamp(2.5rem,5vw,4.6rem);letter-spacing:-.028em}
.h2{font-size:clamp(2.1rem,3.7vw,3.7rem)}
.h3{font-size:clamp(1.45rem,2.2vw,1.95rem);letter-spacing:-.015em}
.lead{font-size:clamp(1.02rem,1.25vw,1.15rem);color:var(--text-mid);max-width:66ch;line-height:1.75}
.section--ink .lead{color:var(--on-ink-mid)}
.muted{color:var(--text-dim)}

.section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;
  gap:1rem 2rem;margin-bottom:clamp(2rem,3.5vw,3rem)}
.section-head>div:first-child{grid-column:1/-1;grid-row:1}
.section-head>.eyebrow{grid-column:1/-1;grid-row:1}
.section-head .h2{grid-column:1;grid-row:2;max-width:30ch}
.section-head>.btn{grid-column:2;grid-row:2;justify-self:end;white-space:nowrap}
@media (max-width:760px){
  .section-head{grid-template-columns:minmax(0,1fr);gap:.9rem}
  .section-head>.btn{grid-column:1;grid-row:3;justify-self:start;white-space:normal;
    text-align:left;line-height:1.4}
}

/* --------- przyciski, zlote jak w koncepcie --------- */
.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:0 1.75rem;border:1px solid var(--gold);border-radius:0;font-size:.94rem;font-weight:500;
  cursor:pointer;background:none;transition:background .18s,color .18s,border-color .18s}
.btn-primary{background:var(--gold);color:#fff}
.btn-primary:hover{background:#82602D;border-color:#82602D}
.btn-ghost{color:var(--gold);border-color:transparent;border-bottom:1px solid var(--gold);
  padding:0;min-height:auto;line-height:2}
.btn-ghost:hover{color:#6C4D27;border-color:#6C4D27}
.section--ink .btn-ghost{color:var(--gold-2);border-bottom-color:var(--gold-2)}
.arrow{width:1.05em;height:1.05em;flex:none}

/* ============================ NAGLOWEK ============================ */
header{position:sticky;top:0;z-index:40;background:rgba(251,249,245,.97);
  backdrop-filter:saturate(1.2) blur(6px);border-bottom:1px solid rgba(20,22,26,.09)}
.nav{display:flex;align-items:center;gap:1.5rem;min-height:86px;flex-wrap:nowrap}
.brand{display:flex;align-items:center;gap:.85rem;flex:none}
.brand-mark{width:44px;height:44px;flex:0 0 44px}
.brand-name{font-family:var(--serif);font-size:1.6rem;line-height:1;letter-spacing:.01em;display:block}
.brand-sub{font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-top:.35rem;
  color:var(--text-dim);display:block}
.menu{margin-left:auto;display:flex;gap:clamp(.85rem,1.5vw,1.6rem);font-family:var(--serif);
  font-size:.95rem;white-space:nowrap}
.menu a{position:relative;padding:.3rem 0}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--gold);transition:right .18s}
.menu a:hover::after{right:0}
.nav .btn{padding:0 1.35rem;min-height:44px}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line-2);
  padding:.6rem .75rem;cursor:pointer}
.burger span{display:block;width:20px;height:1px;background:var(--ink);margin:4px 0}
@media (max-width:1050px){
  .menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);
    border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:.5rem var(--pad) 1.5rem}
  .menu.is-open{display:flex}
  .menu a{padding:.9rem 0;border-bottom:1px solid var(--line)}
  .burger{display:block}
  .nav>.btn{display:none}
}

/* ============================ HERO ============================ */
.hero{border-bottom:1px solid var(--line);padding:clamp(2.8rem,5vw,4.6rem) 0 clamp(2.5rem,4vw,3.8rem)}
.hero-copy{width:min(calc(100% - 2*var(--pad)),var(--max));margin-inline:auto;
  display:flex;flex-direction:column;justify-content:center}
.hero h1{margin:1.3rem 0 1.5rem;max-width:32ch;font-size:clamp(2.2rem,5.2vw,4.5rem)}
.hero-copy>p{max-width:78ch;color:#454545;line-height:1.75}
.hero-sub+p{margin-top:1.1rem}
.hero-actions{display:flex;gap:1.6rem;align-items:center;flex-wrap:wrap;margin-top:2rem}
.hero-proof{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;margin-top:2.2rem;
  font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#6B665C}
.hero-proof span{position:relative;padding-left:1.1rem}
.hero-proof span::before{content:"";position:absolute;left:0;top:.5em;width:5px;height:5px;background:var(--gold)}
/* --------- slider hero: cztery sytuacje na jednym ekranie --------- */
.hero-slajdy{display:grid}
.hero-slajd{grid-area:1/1;min-width:0}
.hero-slajd[hidden]{display:none}
.hero-slajd.is-on{animation:slajd-wejscie .45s ease both}
@keyframes slajd-wejscie{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hero-slajd .h1{margin:1.3rem 0 1.5rem;max-width:32ch;font-size:clamp(2.2rem,5.2vw,4.5rem);
  font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.028em}
.hero-slajd>p:not(.eyebrow):not(.hero-sub):not(.h1){max-width:78ch;color:#454545;line-height:1.75;margin-top:1.1rem}

.hero-stopka{display:flex;flex-wrap:wrap;gap:1.2rem 2rem;align-items:center;
  justify-content:space-between;margin-top:2.4rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.hero-kropki{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem}
.hero-kropka{background:none;border:0;padding:.35rem 0;cursor:pointer;text-align:left;
  display:flex;align-items:baseline;gap:.55rem;color:var(--text-dim);
  border-bottom:1px solid transparent;transition:color .18s,border-color .18s}
.hero-kropka-n{font-family:var(--serif);font-size:.92rem;color:var(--line-2);transition:color .18s}
.hero-kropka-t{font-size:12px;text-transform:uppercase;letter-spacing:.07em}
.hero-kropka:hover{color:var(--text)}
.hero-kropka.is-on{color:var(--text);border-bottom-color:var(--gold)}
.hero-kropka.is-on .hero-kropka-n{color:var(--gold)}
.hero-kropka:focus-visible,.hero-strzalka:focus-visible,.hero-pauza:focus-visible{
  outline:2px solid var(--gold);outline-offset:3px}
.hero-sterowanie{display:flex;gap:.5rem;align-items:center}
.hero-strzalka,.hero-pauza{width:40px;height:40px;display:grid;place-items:center;cursor:pointer;
  background:none;border:1px solid var(--line-2);color:var(--text-mid);
  transition:border-color .18s,color .18s}
.hero-strzalka:hover,.hero-pauza:hover{border-color:var(--gold);color:var(--gold)}
.hero-strzalka svg{width:19px;height:19px}
.hero-pauza svg{width:15px;height:15px}
.hero-pauza .ikona-play{display:none}
.hero-pauza[aria-pressed="true"] .ikona-pauza{display:none}
.hero-pauza[aria-pressed="true"] .ikona-play{display:block}

/* kadry slajdow 2-4 wchodza jako tlo dopiero przy pierwszym pokazaniu slajdu,
   zeby hero nie pobieral czterech zdjec naraz */
@media (prefers-reduced-motion:reduce){
  .hero-slajd.is-on{animation:none}
  }

@media (max-width:1000px){
  .hero{grid-template-columns:1fr}
  .hero-copy{padding:clamp(2rem,6vw,3rem) var(--pad)}
    .hero-stopka{margin-top:2rem}
}
@media (max-width:620px){
  .hero-kropka-t{display:none}
  .hero-kropka{padding:.4rem .1rem;min-width:2.4rem;justify-content:center}
  .hero-kropka-n{font-size:1.02rem}
  .hero-stopka{gap:1rem}
}

/* ============================ STATEMENT ============================ */
.statement{padding:clamp(3rem,5vw,4.5rem) 0;background:#FCFAF6;border-bottom:1px solid rgba(20,22,26,.09)}
.statement-grid{display:grid;grid-template-columns:.9fr 1fr .9fr;align-items:center}
.statement-col{padding:0 clamp(1.5rem,2.6vw,2.6rem);min-height:170px;display:flex;flex-direction:column;justify-content:center}
.statement-col:first-child{padding-left:0}
.statement-col+.statement-col{border-left:1px solid var(--line)}
.statement h2{font-size:clamp(2rem,3.1vw,3.1rem);line-height:1.04}
.gold{color:var(--gold)}
.statement p{color:var(--text-mid);line-height:1.75}
.promise{display:grid;grid-template-columns:40px 1fr;gap:.9rem;align-items:start}
.promise+.promise{margin-top:1.3rem}
.promise-icon{width:38px;height:38px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold)}
.promise-icon svg{width:19px;height:19px}
.promise strong{font-weight:600}
.promise div{font-size:.95rem;color:var(--text-mid);line-height:1.6}
.promise strong{color:var(--text)}
@media (max-width:1000px){
  .statement-grid{grid-template-columns:1fr}
  .statement-col{padding:1.6rem 0;min-height:auto}
  .statement-col+.statement-col{border-left:0;border-top:1px solid var(--line)}
}

/* ============================ TRZY PROFILE Z FOTOGRAFIA ============================ */
.profiles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,2.4vw,2rem)}
.profile{border-top:1px solid var(--line);padding-top:.9rem}
.profile-img{aspect-ratio:2.4/1;overflow:hidden;background:var(--paper-2)}
.profile-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) sepia(.12)}
.profile-n{font-family:var(--serif);font-size:1.5rem;color:var(--gold);margin:1rem 0 .5rem}
.profile h3{font-size:1.6rem;line-height:1.22;margin-bottom:.7rem;font-weight:500;color:var(--text)}
.profile p{color:var(--text-mid);margin-bottom:1rem;line-height:1.7}
@media (max-width:950px){.profiles{grid-template-columns:1fr}.profile-img{aspect-ratio:3/1}}

/* ============================ PELNA LISTA SYTUACJI ============================ */
.cases{border-top:1px solid var(--line);margin-top:clamp(2.5rem,4vw,3.5rem)}
.case{display:grid;grid-template-columns:4rem minmax(0,1fr) minmax(0,1.2fr) 2.5rem;
  gap:clamp(1rem,2vw,2rem);align-items:start;padding:1.5rem 0;border-bottom:1px solid var(--line);
  transition:box-shadow .18s,color .18s}
.case-n{font-family:var(--serif);font-size:1.6rem;color:var(--line-2);line-height:1.2}
.case-t{font-family:var(--serif);font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.22}
.case-d{color:var(--text-mid);line-height:1.65;font-size:.98rem}
.case-go{justify-self:end;align-self:center;width:1.7rem;height:1.7rem;color:var(--line-2);transition:color .18s,transform .18s}
.case:hover{box-shadow:inset 0 -1px 0 0 var(--gold)}
.case:hover .case-n,.case:hover .case-t{color:var(--gold)}
.case:hover .case-go{color:var(--gold);transform:translateX(.35rem)}
@media (max-width:900px){
  .case{grid-template-columns:2.6rem minmax(0,1fr);gap:.5rem 1rem}
  .case-n{grid-column:1;grid-row:1;font-size:1.3rem}
  .case-t{grid-column:2;grid-row:1}
  .case-d{grid-column:2;grid-row:2}
  .case-go{grid-column:2;grid-row:3;justify-self:start;width:1.4rem;height:1.4rem;margin-top:.4rem}
}

/* ============================ WYJAZD INTERWENCYJNY ============================ */
.call{display:grid;grid-template-columns:1fr 1fr;min-height:460px}
.call-photo{position:relative;overflow:hidden;background:#101214;min-height:320px}
.call-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.75) sepia(.14) brightness(.85)}
.call-copy{padding:clamp(2.5rem,4.5vw,4.5rem) clamp(1.5rem,4vw,4rem);display:flex;flex-direction:column;justify-content:center}
.call-quote{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,1.9vw,1.55rem);
  line-height:1.5;color:var(--on-ink);border-left:2px solid var(--gold);padding-left:1.4rem;margin-bottom:1.8rem}
.call-copy p+p{margin-top:1.1rem}
@media (max-width:900px){.call{grid-template-columns:1fr}.call-photo{min-height:280px}
  #zagranica .call-photo{order:-1}}

/* ============================ DWIE DROGI ============================ */
.split{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.split-col{padding:clamp(2rem,3.4vw,3rem) clamp(1.5rem,2.4vw,2.4rem)}
.split{border-left:1px solid var(--line);border-right:1px solid var(--line)}
.split-a{background:var(--paper-3);border-right:1px solid var(--line)}
.split-b{background:var(--dark);color:var(--on-ink)}
.split-b h3{color:var(--on-ink)}
.split-col p{margin-top:1rem;line-height:1.78;max-width:52ch}
.split-a p{color:var(--text-mid)}
.split-b p{color:var(--on-ink-mid)}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.5rem}
.chip{font-size:.8rem;padding:.35rem .7rem;border:1px solid var(--line-2);color:var(--text-mid)}
.closing{margin-top:1.7rem;font-family:var(--serif);font-style:italic;font-size:1.1rem;line-height:1.5}
.split-b .closing{color:var(--gold-2)}
@media (max-width:900px){.split{grid-template-columns:1fr}.split-a{border-right:0;border-bottom:1px solid var(--line)}}

/* ============================ SIATKI ============================ */
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.cell{padding:clamp(1.4rem,2.2vw,2rem);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.grid-3 .cell:nth-child(3n+1),.grid-2 .cell:nth-child(2n+1){border-left:0}
.cell-n{font-family:var(--serif);font-size:1rem;color:var(--gold);margin-bottom:.6rem}
.cell h3{font-size:1.32rem;line-height:1.28;margin-bottom:.7rem;font-weight:500;color:var(--text)}
.cell p{color:var(--text-mid);line-height:1.7;font-size:.97rem}
.cell-why{margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--line);
  font-family:var(--serif);font-style:italic;font-size:1rem;line-height:1.55;color:var(--text)}
@media (max-width:980px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3 .cell:nth-child(3n+1){border-left:1px solid var(--line)}
  .grid-3 .cell:nth-child(2n+1){border-left:0}}
@media (max-width:660px){.grid-3,.grid-2{grid-template-columns:1fr}.cell{border-left:0!important}}

/* ============================ SZESC IKON ZAKRESU ============================ */
.services{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);
  background:linear-gradient(180deg,#F7F3EC,#FBF9F5)}
.service{min-height:230px;padding:2rem 1.2rem;text-align:center;border-right:1px solid var(--line)}
.service:last-child{border-right:0}
.service svg{width:34px;height:34px;color:var(--gold);margin:0 auto 1.1rem}
.service h3{font-size:1.14rem;line-height:1.3;margin-bottom:.7rem;font-weight:500;color:var(--text)}
.service p{font-size:.86rem;color:var(--text-dim);line-height:1.6}

/* kafelek zakresu jest odnosnikiem do wlasnej podstrony */
a.service{display:flex;flex-direction:column;align-items:center;
  transition:background .18s,color .18s}
a.service:hover{background:var(--paper-3)}
a.service:hover h3{color:var(--gold)}
a.service:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.service-go{margin-top:auto;padding-top:1.1rem;display:inline-flex;align-items:center;gap:.45rem;
  font-size:.82rem;color:var(--gold);opacity:0;transform:translateY(4px);
  transition:opacity .18s,transform .18s}
a.service:hover .service-go,a.service:focus-visible .service-go{opacity:1;transform:none}
@media (hover:none){.service-go{opacity:1;transform:none}}
@media (max-width:1200px){.services{grid-template-columns:repeat(3,1fr)}
  .service:nth-child(3n){border-right:0}
  .service:nth-child(-n+3){border-bottom:1px solid var(--line)}}
@media (max-width:640px){.services{grid-template-columns:1fr}
  .service{border-right:0;border-bottom:1px solid var(--line);min-height:auto}
  .service:last-child{border-bottom:0}}

/* ============================ MAPA ZAKRESU ============================ */
.map{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(215px,100%),1fr));gap:clamp(1.5rem,2.6vw,2.5rem)}
.map-col h2,.map-col h3{font-size:1.05rem;padding-bottom:.6rem;border-bottom:1px solid var(--gold);margin-bottom:.8rem}
.map-col li{padding:.4rem 0;color:var(--text-mid);font-size:.93rem;line-height:1.5}
.map-col h2 a,.map-col h3 a{border-bottom:1px solid transparent;transition:color .18s,border-color .18s}
.map-col h2 a:hover,.map-col h3 a:hover{color:var(--gold)}
.map-col li a{display:block;border-bottom:1px solid transparent;transition:color .18s,border-color .18s}
.map-col li a:hover{color:var(--text);border-bottom-color:var(--gold)}
.map-col li a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.map-note{margin-top:2rem;font-family:var(--serif);font-style:italic;font-size:1.08rem;
  color:var(--text);border-left:2px solid var(--gold);padding-left:1.3rem;max-width:70ch}

/* ============================ CYTATY ============================ */
.quotes{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
.quote{padding:clamp(1.4rem,2.3vw,1.9rem);border-bottom:1px solid var(--line);border-left:1px solid var(--line)}
.quote:nth-child(2n+1){border-left:0}
.quote p{font-family:var(--serif);font-size:clamp(1.05rem,1.5vw,1.22rem);line-height:1.5}
.quote span{display:block;margin-top:.8rem;font-size:.89rem;color:var(--gold)}
@media (max-width:760px){.quotes{grid-template-columns:1fr}.quote{border-left:0}}

/* ============================ TRZY PIETRA ============================ */
.change{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.5rem,3vw,3rem);
  padding:clamp(1.6rem,2.6vw,2.4rem) 0;border-top:1px solid var(--line)}
.change h3{font-size:clamp(1.4rem,2.2vw,1.95rem);max-width:24ch}
.change-fn{margin-top:.9rem;color:var(--text-mid)}
.change-scene{font-family:var(--serif);font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.6;
  border-left:2px solid var(--gold);padding-left:1.3rem}
.change-emo{margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid var(--line);color:var(--text-mid)}
@media (max-width:860px){.change{grid-template-columns:1fr}}

/* ============================ DLA KOGO ============================ */
.fit{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.fit-col{padding:clamp(1.7rem,2.8vw,2.4rem) clamp(1.25rem,2.2vw,2.2rem)}
.fit-yes{border-right:1px solid var(--line);background:var(--paper-3)}
.fit-no{background:var(--paper-2)}
.fit h3{font-size:1.3rem;margin-bottom:1.2rem}
.fit li{display:grid;grid-template-columns:1.3rem 1fr;gap:.6rem;padding:.7rem 0;
  border-top:1px solid var(--line);line-height:1.6;font-size:.97rem}
.fit li:first-of-type{border-top:0}
.mk{font-family:var(--serif);line-height:1.4}
.mk-y{color:var(--gold)}
.mk-n{color:var(--text-dim)}
@media (max-width:760px){.fit{grid-template-columns:1fr}.fit-yes{border-right:0;border-bottom:1px solid var(--line)}}

/* ============================ WSPOLPRACUJACY SPECJALISCI ============================ */
.wsp-lista{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  border-top:1px solid var(--line-2);margin-top:1.4rem}
.wsp-lista li{padding:1.25rem 2rem 1.4rem 0;border-bottom:1px solid var(--line);
  display:flex;flex-direction:column;gap:.45rem}
.wsp-t{font-family:var(--serif);font-size:1.36rem;font-weight:500;line-height:1.3;color:var(--text);
  padding-bottom:.55rem;border-bottom:1px solid var(--gold);align-self:start}
.wsp-d{font-size:.94rem;line-height:1.7;color:var(--text-mid);max-width:46ch;margin-top:.15rem}

/* ============================ CENNIK ============================ */
.price{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:baseline;
  padding:1.3rem 0;border-top:1px solid var(--line)}
.price-n{font-size:1.16rem;font-family:var(--serif);font-weight:500;line-height:1.35;color:var(--text)}
.price-d{display:block;font-family:var(--sans);font-size:.89rem;color:var(--text-dim);
  margin-top:.4rem;max-width:62ch;line-height:1.6}
.price-v{font-family:var(--serif);font-size:1.25rem;white-space:nowrap;color:var(--text)}
@media (max-width:620px){.price{grid-template-columns:1fr;gap:.4rem}.price-v{white-space:normal}}
.pledge{border:1px solid var(--gold);background:var(--gold-soft);padding:clamp(1.5rem,2.6vw,2.2rem);
  margin-top:clamp(2rem,3.5vw,3rem);display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(1.5rem,3vw,3rem)}
.pledge h3{font-size:clamp(1.4rem,2.2vw,1.9rem);margin-top:.5rem}
.pledge p{color:#4A4033;line-height:1.75}
.pledge+.pledge{margin-top:1.2rem}
@media (max-width:820px){.pledge{grid-template-columns:1fr}}
.flaw{margin-top:clamp(2rem,3.5vw,3rem);border-left:2px solid var(--gold);padding-left:1.4rem}
.flaw p{font-family:var(--serif);font-size:1.12rem;line-height:1.6}

/* ============================ OBIEKCJE ============================ */
.obj{display:grid;grid-template-columns:1fr 1fr}
.obj-i{padding:clamp(1.3rem,2.2vw,1.8rem);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.obj-i:nth-child(2n+1){border-left:0}
.obj-q{font-family:var(--serif);font-style:italic;font-size:1.12rem;line-height:1.4;margin-bottom:.6rem}
.obj-a{color:var(--text-mid);line-height:1.7;font-size:.97rem}
@media (max-width:760px){.obj{grid-template-columns:1fr}.obj-i{border-left:0}}

/* ============================ OBSZAR ============================ */
.area{display:grid;grid-template-columns:1fr 1fr;min-height:420px}
.area-photo{position:relative;overflow:hidden;background:var(--paper-2);min-height:320px}
.area-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.78) sepia(.14)}
.area-copy{padding:clamp(2.5rem,4.5vw,4.5rem) clamp(1.5rem,4vw,4rem);display:flex;flex-direction:column;justify-content:center}
.area-copy h2{font-size:clamp(1.8rem,2.8vw,2.7rem);margin:1rem 0 1.3rem}
.area-copy p{color:var(--text-mid);line-height:1.75;max-width:52ch}
.area-copy p+p{margin-top:1rem}
@media (max-width:900px){.area{grid-template-columns:1fr}.area-photo{min-height:280px}}

/* miejscowosci jako odnosniki do stron obszaru */
.miasta{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.3rem}
.miasto{font-size:.86rem;padding:.42rem .85rem;border:1px solid var(--line-2);color:var(--text-mid);
  transition:border-color .18s,color .18s,background .18s}
.miasto:hover{border-color:var(--gold);color:var(--gold);background:var(--paper-3)}
.miasto:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ============================ FAQ ============================ */
.faq details{border-top:1px solid var(--line)}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:1.25rem 3rem 1.25rem 0;position:relative;
  font-family:var(--serif);font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after,.faq summary::before{content:"";position:absolute;right:.4rem;top:50%;
  width:14px;height:1px;background:var(--gold)}
.faq summary::before{transform:rotate(90deg);transition:opacity .2s,transform .2s}
.faq details[open] summary::before{opacity:0;transform:rotate(0)}
.faq summary:hover{color:var(--gold)}
.faq-a{padding:0 3rem 1.5rem 0;color:var(--text-mid);line-height:1.75;max-width:74ch}

/* ============================ OSOBA ============================ */
.person{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,3.5vw,3.5rem);align-items:start}
.portrait{aspect-ratio:4/5;border:1px solid var(--line);
  background:repeating-linear-gradient(135deg,var(--paper-2) 0 12px,var(--paper-3) 12px 24px);
  display:flex;align-items:flex-end;padding:1.1rem}
.portrait span{font-family:var(--serif);font-style:italic;color:var(--text-dim);font-size:.92rem;
  background:var(--paper-3);padding:.4rem .7rem;border:1px solid var(--line)}
@media (max-width:860px){.person{grid-template-columns:1fr}}
/* dopoki nie ma zdjecia osoby prowadzacej, sekcja jest jednokolumnowa.
   Pusta ramka w tym miejscu czytala sie jak ogloszenie o wlasnej dziurze. */
.person--bez-foto{grid-template-columns:minmax(0,1fr);max-width:76ch}

/* ============================ FORMULARZ ============================ */
.form-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,4.5vw,4.5rem);align-items:start}
@media (max-width:900px){.form-grid{grid-template-columns:1fr}}
.field{margin-bottom:1.2rem}
.field label{display:block;font-size:.85rem;color:var(--text-mid);margin-bottom:.45rem}
.field input,.field select,.field textarea{width:100%;background:var(--paper-3);
  border:1px solid var(--line-2);padding:.85rem 1rem;font-size:1rem;border-radius:0;transition:border-color .16s}
.field textarea{min-height:8.5rem;resize:vertical;font-family:var(--sans)}
.field input::placeholder,.field textarea::placeholder{color:var(--text-dim)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
@media (max-width:620px){.field-row{grid-template-columns:1fr}}
.form-note{font-size:.89rem;color:var(--text-dim);margin-top:.9rem;max-width:52ch}
.form-ok{border:1px solid var(--gold);background:var(--gold-soft);padding:1.1rem;color:#4A4033;
  font-family:var(--serif);font-size:1.05rem;display:none;margin-top:1.1rem}
.form-ok.is-on{display:block}

/* ============================ CTA I STOPKA ============================ */
.cta{background:radial-gradient(circle at 72% 40%,rgba(154,113,56,.13),transparent 26%),var(--dark);
  color:#F7F2E8;padding:clamp(3rem,5vw,4.5rem) 0;border-bottom:1px solid #2a2a2a}
.cta-grid{display:grid;grid-template-columns:1fr 2fr auto;gap:clamp(1.5rem,3vw,2.6rem);align-items:center}
.cta-brand{font-family:var(--serif);font-size:1.6rem;line-height:1.1}
.cta-brand small{font-family:var(--sans);font-size:12px;text-transform:uppercase;letter-spacing:.06em;
  display:block;margin-top:.45rem;color:var(--on-ink-dim)}
.cta h2{font-size:clamp(1.8rem,2.9vw,2.8rem);line-height:1.08;color:#F7F2E8}
@media (max-width:900px){.cta-grid{grid-template-columns:1fr}}
footer{background:#111314;color:#9C978D;padding:2.2rem 0;font-size:.8rem}
.foot{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
footer a:hover{color:var(--gold-2)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--ink);color:var(--paper);padding:.8rem 1.2rem}

/* ============================================================
   PODSTRONY: huby, poradnik, artykuly.
   Ten sam jezyk wizualny co strona glowna: papier, zloto,
   ostre narozniki, zero cieni i gradientow.
   ============================================================ */

/* --------- okruchy --------- */
.okruchy{font-size:.88rem;color:var(--text-dim);padding:1.4rem 0 0}
.okruchy a{border-bottom:1px solid transparent}
.okruchy a:hover{border-bottom-color:var(--line-2)}
.okruchy span{margin:0 .45rem;color:var(--line-2)}

/* --------- naglowek podstrony --------- */
.pg-head{padding:clamp(2.2rem,4vw,3.4rem) 0 clamp(2.4rem,4.5vw,3.6rem);
  border-bottom:1px solid var(--line)}
.pg-head .h1{font-size:clamp(2rem,3.9vw,3.5rem);max-width:22ch}
.pg-head .lead{margin-top:1.6rem}
.pg-meta{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:1.8rem;font-size:.88rem;color:var(--text-dim)}

/* --------- hub: siatka tematow --------- */
.temat-siatka{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  border-top:1px solid var(--line)}
.temat{display:block;padding:1.5rem 1.6rem 1.7rem;border-bottom:1px solid var(--line);
  border-right:1px solid var(--line);transition:background .18s}
.temat:hover{background:var(--paper-2)}
.temat-n{font-family:var(--serif);font-size:.9rem;color:var(--gold);display:block}
.temat-t{display:block;font-family:var(--serif);font-size:1.18rem;line-height:1.3;margin-top:.5rem}
.temat-d{display:block;font-size:.88rem;color:var(--text-mid);margin-top:.6rem;line-height:1.6}
@media (max-width:760px){.temat{border-right:none}}

/* --------- hub: co przejmujemy --------- */
.punkty{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;
  border-top:1px solid var(--line)}
.punkty li{padding:1.15rem 1.4rem 1.15rem 0;border-bottom:1px solid var(--line);
  display:flex;gap:.9rem;align-items:flex-start;font-size:.95rem;color:var(--text-mid)}
.punkty li::before{content:"";flex:none;width:7px;height:7px;margin-top:.55rem;
  background:var(--gold)}

/* --------- artykul --------- */
.art{padding:clamp(2.5rem,5vw,4rem) 0 clamp(3rem,6vw,5rem);max-width:none}
.proza{max-width:70ch;font-size:1.04rem;line-height:1.78;color:var(--text-mid)}
.proza p{margin:0 0 1.15rem}
.proza h2{font-size:clamp(1.5rem,2.4vw,2.1rem);color:var(--text);
  margin:2.6rem 0 1rem;padding-top:1.8rem;border-top:1px solid var(--line)}
.proza h3{font-size:1.2rem;color:var(--text);margin:1.9rem 0 .7rem}
.proza strong{color:var(--text);font-weight:500}
.proza ul,.proza ol{margin:0 0 1.3rem}
.proza li{position:relative;padding-left:1.5rem;margin-bottom:.65rem}
.proza ul>li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;background:var(--gold)}
.proza ol{counter-reset:k}
.proza ol>li{counter-increment:k;padding-left:2.4rem}
.proza ol>li::before{content:counter(k,decimal-leading-zero);position:absolute;left:0;top:.02em;
  font-family:var(--serif);font-size:.95rem;color:var(--gold)}

/* odpowiedz w dwoch zdaniach: to czyta czlowiek i to cytuje wyszukiwarka */
.odpowiedz{background:var(--gold-soft);border-left:3px solid var(--gold);
  padding:1.5rem 1.7rem;margin:0 0 2.2rem;font-family:var(--serif);
  font-size:1.22rem;line-height:1.55;color:var(--text)}

.ramka{border:1px solid var(--line);padding:1.5rem 1.7rem;margin:2rem 0}
.ramka-tyt{font-family:var(--serif);font-size:1.12rem;color:var(--text);margin-bottom:.7rem}
.ramka--ink{background:var(--dark);border-color:var(--dark);color:var(--on-ink-mid)}
.ramka--ink .ramka-tyt{color:var(--on-ink)}
.ramka--ink a:not(.btn){color:var(--gold-2);border-bottom:1px solid var(--gold-2)}
.ramka--ink .btn-ghost{color:var(--gold-2);border-color:transparent;border-bottom-color:var(--gold-2)}

/* przycisk na ciemnym tle: jasniejsze zloto i ciemny napis, bo bialy napis
   na ciemnym zlocie gubil sie w tle ramki */
.ramka--ink .btn-primary,.section--ink .btn-primary,.cta .btn-primary,.split-b .btn-primary{
  background:var(--gold-2);border-color:var(--gold-2);color:#17191A}
.ramka--ink .btn-primary:hover,.section--ink .btn-primary:hover,.cta .btn-primary:hover,
.split-b .btn-primary:hover{background:#CDA469;border-color:#CDA469;color:#17191A}

/* --------- boczna kolumna --------- */
.bok{position:sticky;top:110px;font-size:.9rem}
@media (max-width:980px){.bok{position:static}}
.bok-blok{border-top:1px solid var(--line-2);padding-top:1rem;margin-bottom:2rem}
.bok-tyt{font-size:13.5px;letter-spacing:.07em;text-transform:uppercase;color:#77736C;margin-bottom:.9rem}
.bok-blok li{margin-bottom:.7rem;line-height:1.5}
.bok-blok a:not(.btn){color:var(--text-mid);border-bottom:1px solid transparent}
.bok-blok a:hover{color:var(--text);border-bottom-color:var(--gold)}
.bok .btn{width:100%}

/* --------- poradnik: spis --------- */
.filtry{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 2.5rem}
.filtr{border:1px solid var(--line-2);padding:.5rem 1rem;font-size:.86rem;color:var(--text-mid);
  cursor:pointer;background:none;transition:background .18s,color .18s,border-color .18s}
.filtr:hover{border-color:var(--gold)}
.filtr.is-on{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.szukaj{width:100%;max-width:520px;border:1px solid var(--line-2);background:var(--paper-3);
  padding:.85rem 1rem;margin-bottom:1.4rem;border-radius:0}
.szukaj:focus{outline:none;border-color:var(--gold)}
.spis{border-top:1px solid var(--line)}
.spis-poz{display:grid;grid-template-columns:3.2rem minmax(0,1fr) auto;gap:1.2rem;align-items:baseline;
  padding:1.15rem 0;border-bottom:1px solid var(--line);transition:background .18s}
.spis-poz:hover{background:var(--paper-2)}
.spis-n{font-family:var(--serif);font-size:.9rem;color:var(--gold)}
.spis-t{font-family:var(--serif);font-size:1.12rem;line-height:1.35}
.spis-h{font-size:.85rem;color:var(--text-dim);text-align:right;white-space:nowrap}
@media (max-width:700px){.spis-poz{grid-template-columns:2.6rem minmax(0,1fr)}.spis-h{display:none}}
.pusto{padding:2.5rem 0;color:var(--text-dim)}

/* --------- formularz na podstronie --------- */
.form-sekcja{background:var(--paper-2);border-top:1px solid var(--line);
  padding:clamp(3rem,5vw,4.5rem) 0}

/* ============================================================
   HUBY: uklad sekcji. Zasada: jedna kolumna tresci nigdy nie
   przekracza 70 znakow, siatki lamia sie po jednej kolumnie,
   marginesy pionowe biora sie z .section, nie z elementow.
   ============================================================ */
.container.waski{width:min(calc(100% - 2*var(--pad)),74ch)}

.pg-akcje{display:flex;flex-wrap:wrap;gap:1.5rem 2rem;align-items:center;margin-top:2.2rem}

/* dwie kolumny: nadtytul z lewej, tresc z prawej */
.dwa{display:block}
.dwa>div:first-child{margin-bottom:clamp(1.2rem,2vw,1.8rem)}
.dwa .proza{max-width:72ch;font-size:1.06rem}
.przejscie{font-family:var(--serif);font-size:1.2rem;line-height:1.5;color:var(--text);
  border-left:3px solid var(--gold);padding-left:1.2rem;margin-top:1.8rem}

/* fundament: nazwa + po co mi to */
.fund{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  border-top:1px solid var(--line-2)}
.fund li{padding:1.35rem 2rem 1.5rem 0;border-bottom:1px solid var(--line);
  display:flex;flex-direction:column;gap:.5rem}
.fund-t{font-family:var(--serif);font-size:1.1rem;line-height:1.35;color:var(--text)}
.fund-d{font-size:.92rem;line-height:1.65;color:var(--text-mid);max-width:46ch}
.fund-d::before{content:"";display:inline-block;width:16px;height:1px;background:var(--gold);
  vertical-align:middle;margin-right:.6rem}

/* kroki */
.kroki{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  gap:0;border-top:1px solid var(--line-2)}
.kroki li{padding:1.5rem 1.8rem 1.8rem 0;border-bottom:1px solid var(--line);
  display:flex;flex-direction:column;gap:.55rem}
.krok-n{font-family:var(--serif);font-size:1.05rem;color:var(--gold)}
.krok-t{font-family:var(--serif);font-size:1.22rem;line-height:1.3}
.krok-d{font-size:.93rem;line-height:1.65;color:var(--text-mid);max-width:40ch}

/* dla kogo / dla kogo nie */
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1.5rem,3vw,3.5rem)}
.duo-k{border-top:1px solid var(--line-2);padding-top:1.3rem}
.duo-t{font-family:var(--serif);font-size:1.28rem;margin-bottom:1.1rem;color:var(--text)}
.duo-l li{position:relative;padding-left:1.9rem;margin-bottom:.85rem;
  font-size:.98rem;line-height:1.6;color:var(--text-mid)}
.duo-tak li::before{content:"";position:absolute;left:0;top:.5em;width:11px;height:6px;
  border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.duo-nie li::before{content:"";position:absolute;left:.1rem;top:.62em;width:11px;height:1px;
  background:var(--line-2);box-shadow:0 0 0 0 transparent}

/* pytania rozwijane: obiekcje i FAQ */
.qa-lista{border-top:1px solid var(--line-2);margin-top:2.2rem}
.qa{border-bottom:1px solid var(--line)}
.qa summary{cursor:pointer;list-style:none;padding:1.15rem 2.5rem 1.15rem 0;position:relative;
  font-family:var(--serif);font-size:1.14rem;line-height:1.4;color:var(--text)}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";position:absolute;right:.35rem;top:1.6rem;width:11px;height:11px;
  border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);
  transform:rotate(45deg);transition:transform .18s}
.qa[open] summary::after{transform:rotate(225deg);top:1.85rem}
.qa summary:hover{color:var(--gold)}
.qa p{padding:0 3rem 1.4rem 0;color:var(--text-mid);line-height:1.75;max-width:66ch}

.ps{font-family:var(--serif);font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.6;
  color:var(--text);margin-top:1.4rem}

/* inne sytuacje */
.inne{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  border-top:1px solid var(--line)}
.inny{display:flex;gap:1rem;align-items:baseline;padding:1.2rem 1.4rem 1.2rem 0;
  border-bottom:1px solid var(--line);transition:background .18s}
.inny:hover{background:var(--paper-3)}
.section--alt .inny:hover{background:var(--paper)}
.inny-n{font-family:var(--serif);font-size:.9rem;color:var(--gold);flex:none}
.inny-t{font-family:var(--serif);font-size:1.1rem;line-height:1.35}

/* formularz na podstronach uzywa tej samej siatki co na stronie glownej */
.form-sekcja .form-grid{align-items:start}

/* --------- podtytul w hero --------- */
.hero-sub{font-family:var(--serif);font-size:clamp(1.12rem,1.7vw,1.5rem);line-height:1.5;
  color:var(--text-mid);margin-top:1.3rem;max-width:68ch}

/* --------- stopka rozbudowana --------- */
footer{background:var(--dark);color:var(--on-ink-mid);padding:clamp(3rem,5vw,4.5rem) 0 2rem;
  font-size:.9rem;line-height:1.7}
footer .foot{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));
  gap:clamp(1.8rem,3vw,3.5rem);align-items:start;text-align:left}
@media (max-width:900px){footer .foot{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}}
.foot-marka{font-family:var(--serif);font-size:1.45rem;color:var(--on-ink);margin-bottom:.9rem}
.foot-tyt{font-size:13.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--gold-2);
  margin-bottom:1rem}
footer .foot-kol li{margin-bottom:.55rem}
footer a{border-bottom:1px solid transparent;transition:border-color .18s,color .18s}
footer a:hover{color:var(--on-ink);border-bottom-color:var(--gold-2)}
.foot-mail{color:var(--gold-2);border-bottom:1px solid var(--gold-2)}
.foot-dol{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;
  margin-top:clamp(2.5rem,4vw,3.5rem);padding-top:1.5rem;border-top:1px solid #2a2a2a;
  font-size:.8rem;color:var(--on-ink-dim)}
.foot-dol + .foot-dol{margin-top:.9rem;padding-top:0;border-top:0}

/* pytania wewnatrz tekstu poradnika */
.qa-w-tekscie{margin:1.2rem 0 2rem;border-top:1px solid var(--line-2)}
.qa-w-tekscie summary{font-size:1.06rem;padding-right:2.2rem}
.qa-w-tekscie p{padding-right:2rem;font-size:1rem}
.proza .qa-w-tekscie li{padding-left:0}

/* komunikat awaryjny formularza: pokazuje sie razem z potwierdzeniem,
   bo bez backendu wyslanie zalezy od programu pocztowego po stronie klienta */
.form-blad{border:1px solid var(--line-2);background:var(--paper-3);padding:1.1rem;
  color:var(--text-mid);margin-top:.8rem;display:none;font-size:.93rem;line-height:1.6}
.form-blad.is-on{display:block}
.form-blad a:not(.btn){color:var(--gold);border-bottom:1px solid var(--gold)}

/* --------- artykul poradnika: jedna kolumna, wezwania do kontaktu w tresci --------- */
.art.proza{font-size:1.07rem}
.lead-pas{background:var(--paper-2);border-left:3px solid var(--gold);
  padding:1.6rem 1.8rem;margin:2.2rem 0 2.6rem}
.lead-pas-t{font-family:var(--serif);font-size:1.3rem;color:var(--text);margin-bottom:.5rem}
.lead-pas-d{font-size:.98rem;line-height:1.65;color:var(--text-mid);margin-bottom:1.3rem;max-width:56ch}
.art .ramka--ink{margin-top:2.8rem}
.art-hub{margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid var(--line);
  font-size:.96rem;color:var(--text-mid)}
.art-hub a:not(.btn){color:var(--gold);border-bottom:1px solid var(--gold)}

/* --------- pas zdjecia na stronie sytuacji --------- */
.hub-foto{width:100%;max-height:min(46vh,430px);overflow:hidden;
  border-bottom:1px solid var(--line);background:var(--paper-2)}
.hub-foto img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.pg-head--foto{border-bottom:none;padding-bottom:clamp(1.8rem,3.5vw,2.8rem)}

/* --------- numer telefonu w naglowku --------- */
.nav-tel{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--serif);
  font-size:1.12rem;color:var(--text);white-space:nowrap;margin-left:auto;padding:.3rem 0;flex:none}
.nav-tel+.btn{margin-left:1rem;flex:none}
.nav-tel svg{width:18px;height:18px;color:var(--gold);flex:none}
.nav-tel:hover{color:var(--gold)}
.menu+.nav-tel{margin-left:1.5rem}
.call-akcje{display:flex;flex-wrap:wrap;gap:1.4rem 2rem;align-items:center}
@media (max-width:1050px){
  .nav-tel{margin-left:auto;order:2}
  .burger{margin-left:1rem;order:3}
}
@media (max-width:520px){.nav-tel span{display:none}.nav-tel{padding:.6rem;min-height:40px}}

/* ============================================================
   WASKIE EKRANY: ostatnia linia obrony.
   Ponizej 420 px typografia naglowkow schodzi o stopien, dlugie
   wyrazy dziela sie z myslnikiem zamiast wychodzic poza ekran,
   a zaden element nie moze wypchnac strony w bok.
   ============================================================ */
h1,h2,h3,h4,.h1,.h2,.h3{hyphens:auto;-webkit-hyphens:auto}
.okruchy{display:flex;flex-wrap:wrap;align-items:baseline;row-gap:.2rem}
.chips,.hero-proof,.pg-meta,.foot-dol{min-width:0}

@media (max-width:520px){
  .h1{font-size:clamp(1.9rem,8.2vw,2.5rem)}
  .h2{font-size:clamp(1.7rem,7.4vw,2.1rem)}
  .hero-slajd .h1{font-size:clamp(1.85rem,8vw,2.15rem)}
  .pg-head .h1{font-size:clamp(1.75rem,7.6vw,2rem)}
  .statement h2,.cta h2,.area-copy h2{font-size:clamp(1.55rem,7vw,1.9rem)}
  .odpowiedz{font-size:1.08rem;padding:1.2rem 1.1rem}
  .lead-pas,.ramka{padding:1.2rem 1.1rem}
  .faq summary,.qa summary{padding-right:2.2rem}
  .faq-a,.qa p{padding-right:0}
  .proza ol>li{padding-left:2.1rem}
  .btn{padding:0 1.2rem;font-size:.9rem}
  .pg-akcje,.hero-actions,.call-akcje,.pg-akcje{gap:1rem 1.2rem}
}
@media (max-width:380px){
  .h1{font-size:1.75rem}
  .hero-slajd .h1,.pg-head .h1{font-size:1.7rem}
  .h2{font-size:1.55rem}
  .btn{width:100%}
  .hero-actions .btn-ghost,.pg-akcje .btn-ghost{width:auto}
}

/* zadna siatka ani obraz nie wypycha strony w poziomie */
html,body{max-width:100%;overflow-x:clip}

/* ============================================================
   SIATKI LIST: jeden wspolny rytm zamiast szesciu roznych.
   Trzy kolumny na szerokim ekranie daja rowne rzedy dla list
   szescio-, dziewiecio- i dwunastopozycyjnych, czyli dla
   wiekszosci list w serwisie. Wczesniej rozne minima dawaly
   cztery albo piec kolumn i drugi rzad konczyl sie w polowie.
   ============================================================ */
/* Siatka ma szesc sciezek, a pozycja zajmuje dwie, czyli trzy pozycje na rzad.
   Gdy liczba pozycji nie dzieli sie przez trzy, ostatni rzad domyka sie sam:
   jedna pozycja rozciaga sie na caly rzad, dwie na polowy. Bez tego ostatni rzad
   konczyl sie w polowie ekranu i cala sekcja wygladala na rozjechana. */
.fund>*,.kroki>*,.inne>*,.temat-siatka>*,.punkty>*,.wsp-lista>*{grid-column:span 2}

.fund>:first-child:nth-last-child(1),.kroki>:first-child:nth-last-child(1),
.inne>:first-child:nth-last-child(1),.temat-siatka>:first-child:nth-last-child(1),
.punkty>:first-child:nth-last-child(1),.wsp-lista>:first-child:nth-last-child(1),
.fund>:first-child:nth-last-child(3n+1)~:last-child,
.kroki>:first-child:nth-last-child(3n+1)~:last-child,
.inne>:first-child:nth-last-child(3n+1)~:last-child,
.temat-siatka>:first-child:nth-last-child(3n+1)~:last-child,
.punkty>:first-child:nth-last-child(3n+1)~:last-child,
.wsp-lista>:first-child:nth-last-child(3n+1)~:last-child{grid-column:span 6}

.fund>:first-child:nth-last-child(2),.fund>:first-child:nth-last-child(2)~*,
.kroki>:first-child:nth-last-child(2),.kroki>:first-child:nth-last-child(2)~*,
.inne>:first-child:nth-last-child(2),.inne>:first-child:nth-last-child(2)~*,
.temat-siatka>:first-child:nth-last-child(2),.temat-siatka>:first-child:nth-last-child(2)~*,
.punkty>:first-child:nth-last-child(2),.punkty>:first-child:nth-last-child(2)~*,
.wsp-lista>:first-child:nth-last-child(2),.wsp-lista>:first-child:nth-last-child(2)~*,
.fund>:first-child:nth-last-child(3n+2)~:nth-last-child(-n+2),
.kroki>:first-child:nth-last-child(3n+2)~:nth-last-child(-n+2),
.inne>:first-child:nth-last-child(3n+2)~:nth-last-child(-n+2),
.temat-siatka>:first-child:nth-last-child(3n+2)~:nth-last-child(-n+2),
.punkty>:first-child:nth-last-child(3n+2)~:nth-last-child(-n+2),
.wsp-lista>:first-child:nth-last-child(3n+2)~:nth-last-child(-n+2){grid-column:span 3}

/* dwie pozycje na rzad, potem jedna */
@media (max-width:1100px){
  .fund>*,.kroki>*,.inne>*,.temat-siatka>*,.punkty>*,.wsp-lista>*{grid-column:span 3}
  .fund>:nth-child(odd):last-child,.kroki>:nth-child(odd):last-child,
  .inne>:nth-child(odd):last-child,.temat-siatka>:nth-child(odd):last-child,
  .punkty>:nth-child(odd):last-child,.wsp-lista>:nth-child(odd):last-child{grid-column:span 6}
}
@media (max-width:720px){
  .fund>*,.kroki>*,.inne>*,.temat-siatka>*,.punkty>*,.wsp-lista>*{grid-column:span 6}
  .duo{grid-template-columns:minmax(0,1fr)}
}

/* ============================================================
   CZYTELNOSC NA TELEFONIE. Ponizej 620 px drobny tekst rosnie
   do rozmiaru, ktory da sie przeczytac bez powiekszania:
   stopka, znaczniki i dowody pod naglowkiem hero.
   ============================================================ */
@media (max-width:620px){
  footer{font-size:.92rem}
  .foot-dol{font-size:.86rem}
  .chip{font-size:.86rem;padding:.4rem .8rem}
  .hero-proof{font-size:12.5px;gap:.55rem 1.1rem}
  .brand-sub{font-size:12.5px}
  .muted,.form-note{font-size:.92rem}
  .price-d,.temat-d,.case-d{font-size:.93rem}
  .service p{font-size:.92rem}
  .spis-t{font-size:1.05rem}
}

/* ============================================================
   NAJWEZSZE TELEFONY. Zmierzone w przegladarce przy 320 px:
   pasek nawigacji nie miescil sie i przycisk menu wychodzil
   poza ekran o 44 px. Ponizej 400 px nazwa marki schodzi
   do samego znaku, a odstepy w pasku maleja.
   ============================================================ */
@media (max-width:400px){
  .nav{gap:.6rem;min-height:72px}
  .brand{gap:.5rem}
  .brand-mark{width:36px;height:36px;flex:0 0 36px}
  .brand-name{font-size:1.25rem}
  .brand-sub{display:none}
  .nav-tel{padding:.5rem .2rem;min-height:40px;align-items:center}
  .nav-tel+.btn,.menu+.nav-tel{margin-left:.4rem}
  .burger{padding:.55rem .6rem;margin-left:.4rem}
  .container,.hero-copy{--pad:1rem}
}

/* odnosnik w formie przycisku byl nizszy niz 36 px, czyli ponizej
   wielkosci wygodnej do trafienia palcem */
@media (max-width:900px){
  .btn-ghost{min-height:40px;line-height:1.5;display:inline-flex;align-items:center}
}

/* ---------------------------------------------------------------
   ZGODA NA CIASTECZKA
   Nie jest to sciana: strona dziala i czyta sie normalnie, gdy baner
   stoi. Oba przyciski maja TEN SAM ciezar wizualny, bo odmowa musi
   byc rownie latwa co zgoda. Kolor bierze z masy, nie z akcentu.
   --------------------------------------------------------------- */
.zgoda{position:fixed;left:0;right:0;bottom:0;z-index:120;padding:0 clamp(1rem,4vw,2rem) clamp(1rem,3vw,1.6rem);
  animation:zgoda-wjazd .28s ease-out both}
@keyframes zgoda-wjazd{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.zgoda{animation:none}}
.zgoda-box{max-width:1180px;margin:0 auto;background:var(--dark);color:var(--on-ink-mid);
  border:1px solid #2f3133;border-top:3px solid var(--gold);
  padding:clamp(1.1rem,2.4vw,1.6rem) clamp(1.1rem,2.6vw,1.9rem);
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.2rem clamp(1.5rem,3vw,2.5rem);align-items:center;
  box-shadow:0 -8px 40px rgba(0,0,0,.28)}
.zgoda-txt p{font-size:.92rem;line-height:1.6;margin:0}
.zgoda-tyt{font-family:var(--serif);font-size:1.16rem;color:var(--on-ink);margin-bottom:.4rem!important}
.zgoda-txt a:not(.btn){color:var(--gold-2);border-bottom:1px solid var(--gold-2)}
.zgoda-txt a:not(.btn):hover{color:var(--on-ink)}
.zgoda-btn{display:flex;gap:.7rem;flex-wrap:wrap}
.btn-zgoda{background:transparent;color:var(--on-ink);border:1px solid #4a4c4e;
  padding:.72rem 1.35rem;font-size:.9rem;font-family:inherit;cursor:pointer;
  transition:border-color .18s,background-color .18s}
.btn-zgoda:hover{border-color:var(--gold-2);background:rgba(179,139,84,.1)}
.btn-zgoda:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}
@media (max-width:900px){
  .zgoda-box{grid-template-columns:1fr}
  .zgoda-btn{width:100%}
  .btn-zgoda{flex:1 1 auto;min-width:0}
}

/* kontener tabeli: na waskim ekranie tabela przewija sie w sobie,
   zamiast rozpychac cala strone w bok */
.tabela-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0;max-width:100%}
.tab-ciast{border-collapse:collapse;width:100%;font-size:.86rem;text-align:left}
.tab-ciast th{font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.05em;
  text-transform:uppercase;padding:.6rem .8rem;border-bottom:1px solid var(--line-2);vertical-align:bottom}
.tab-ciast td{padding:.7rem .8rem;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.5}
.tab-ciast code{font-size:.85em;word-break:break-word}
.zgoda .tabela-scroll{margin:.8rem 0 .6rem;max-height:44vh;overflow-y:auto}
.zgoda .tab-ciast th{color:var(--gold-2);border-bottom-color:#3a3c3e}
.zgoda .tab-ciast td{border-bottom-color:#2a2c2e}
.zgoda-szcz{margin-top:.9rem}
.zgoda-szcz summary{cursor:pointer;font-size:.88rem;color:var(--gold-2);padding:.3rem 0}
.zgoda-szcz summary:hover{color:var(--on-ink)}
.zgoda-szcz summary:focus-visible{outline:2px solid var(--gold-2);outline-offset:2px}
.zgoda-drob{font-size:.85rem!important;color:var(--on-ink-dim);margin-top:.5rem!important}

/* Tabela ciasteczek na telefonie: wiersz zamienia sie w karte z etykietami,
   zamiast rozjezdzac sie na piec waskich kolumn. Zadnej sztywnej szerokosci. */
@media (max-width:700px){
  .tab-ciast thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tab-ciast tr{display:block;padding:.8rem 0;border-bottom:1px solid var(--line)}
  .tab-ciast td{display:grid;grid-template-columns:minmax(0,7.5rem) minmax(0,1fr);gap:.5rem 1rem;
    border:0;padding:.25rem 0}
  .tab-ciast td::before{content:attr(data-label);font-size:.74rem;letter-spacing:.05em;
    text-transform:uppercase;color:var(--text-mid);padding-top:.15rem}
  .zgoda .tab-ciast tr{border-bottom-color:#2a2c2e}
  .zgoda .tab-ciast td::before{color:var(--gold-2)}
}

/* Dwa akapity w sekcji o granicach kompetencji czytaja sie lepiej szersze,
   bo sa krotkie i stoja samotnie. Reszta serwisu zostaje przy 66 znakach,
   ktore sa wygodniejsze przy dluzszym czytaniu. */
.lead-szer{max-width:88ch}
