
:root{
  --navy:#0f1c2a;          /* granat nocny */
  --navy-2:#16273a;
  --ink:#1d2a36;
  --ink-soft:#4a5a68;
  --ivory:#faf8f4;         /* kość słoniowa */
  --ivory-2:#f1ede5;
  --gold:#b08d4a;          /* złoto antyczne */
  --gold-soft:#cdb07a;
  --gold-line:#d9c9a3;
  --line:#e2dccd;
  --white:#ffffff;
  --max:1160px;
  --disp:'Cormorant Garamond',Georgia,serif;
  --sans:'IBM Plex Sans',system-ui,sans-serif;
  --mono:'IBM Plex Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{font-family:var(--sans);font-weight:400;color:var(--ink);background:var(--ivory);line-height:1.7;font-size:16.5px}
a{color:var(--gold)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 26px}
img,svg{max-width:100%}

/* ---------- Typografia wspólna ---------- */
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:38px;height:1px;background:var(--gold)}
h1,h2,h3{font-family:var(--disp);font-weight:500;line-height:1.12;letter-spacing:.005em}
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:500;font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding:15px 30px;border:1px solid var(--gold);transition:all .2s;cursor:pointer;font-family:var(--sans);background:transparent}
.btn.gold{background:var(--gold);color:var(--navy)}
.btn.gold:hover{background:var(--gold-soft);border-color:var(--gold-soft)}
.btn.line{color:var(--gold)}
.btn.line:hover{background:var(--gold);color:var(--navy)}
.btn.dark{border-color:var(--navy);color:var(--navy)}
.btn.dark:hover{background:var(--navy);color:var(--ivory)}

/* ---------- Pasek górny i nawigacja ---------- */
.topbar{background:var(--navy);color:#93a4b3;font-family:var(--mono);font-size:12px;letter-spacing:.05em;border-bottom:1px solid rgba(176,141,74,.25)}
.topbar .wrap{display:flex;justify-content:space-between;gap:14px;padding:8px 26px;flex-wrap:wrap}
.topbar a{color:#cfa75e;text-decoration:none}
.topbar a:hover{color:var(--gold-soft)}
header.site{position:sticky;top:0;z-index:60;background:rgba(250,248,244,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 26px;max-width:var(--max);margin:0 auto}
.brand{display:flex;align-items:center;gap:15px;text-decoration:none;color:var(--ink)}
.sygnet{width:50px;height:50px;flex:none;display:block;border-radius:8px;
  box-shadow:0 2px 10px rgba(15,28,42,.28),0 0 0 1px rgba(176,141,74,.35)}
.brand b{font-family:var(--disp);font-weight:600;font-size:21px;display:block;line-height:1.1;letter-spacing:.02em}
.brand span{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
nav.menu{display:flex;gap:30px;align-items:center}
nav.menu a{font-size:13.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--ink-soft);padding:6px 0;border-bottom:2px solid transparent}
nav.menu a:hover{color:var(--gold)}
nav.menu a.active{color:var(--navy);border-bottom-color:var(--gold)}
nav.menu a.cta{border:1px solid var(--gold);color:var(--gold);padding:10px 20px}
nav.menu a.cta:hover{background:var(--gold);color:var(--navy)}
.burger{display:none;background:none;border:1px solid var(--line);padding:9px 13px;font-size:18px;cursor:pointer;color:var(--ink)}

/* ---------- Strony (router) ---------- */
.page{display:none}
.page.visible{display:block;animation:fadeIn .35s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- Hero ---------- */
.hero{background:var(--navy);color:#c8d3dd;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(1100px 500px at 80% -10%,rgba(176,141,74,.14),transparent 60%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;padding-top:96px;padding-bottom:100px;align-items:center}
.hero h1{font-size:clamp(40px,5.4vw,64px);color:var(--white);margin:20px 0 24px}
.hero h1 em{font-style:italic;color:var(--gold-soft)}
.hero p.lead{font-size:18px;font-weight:300;max-width:52ch;color:#a8b8c6}
.hero-actions{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap}
.hero-grafika{display:flex;justify-content:center}
.hero-grafika svg{width:min(380px,100%);height:auto;filter:drop-shadow(0 18px 40px rgba(0,0,0,.35))}
.hero-pasek{position:relative;border-top:1px solid rgba(176,141,74,.3)}
.hero-pasek .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding:0 26px}
.hf{padding:26px 24px;border-left:1px solid rgba(176,141,74,.2)}
.hf:first-child{border-left:none;padding-left:0}
.hf .duze{font-family:var(--disp);font-size:34px;color:var(--gold-soft);line-height:1}
.hf .male{font-size:12.5px;margin-top:6px;color:#7e91a1;line-height:1.5}

/* ---------- Sekcje ---------- */
section.blok{padding:96px 0}
section.blok.ciemna{background:var(--navy);color:#b9c6d2}
section.blok.jasna2{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sekcja-head{max-width:720px;margin-bottom:54px}
.sekcja-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sekcja-head.center .eyebrow{justify-content:center}
.sekcja-head h2{font-size:clamp(32px,4vw,46px);margin:16px 0 16px;color:var(--navy)}
.ciemna .sekcja-head h2{color:var(--white)}
.sekcja-head p{color:var(--ink-soft);font-size:17px;font-weight:300}
.ciemna .sekcja-head p{color:#93a4b3}

/* Filary (3 wartości) */
.filary{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);background:var(--white)}
.filar{padding:44px 36px;border-left:1px solid var(--line)}
.filar:first-child{border-left:none}
.filar svg{width:46px;height:46px;margin-bottom:20px}
.filar h3{font-size:24px;color:var(--navy);margin-bottom:10px}
.filar p{font-size:15px;color:var(--ink-soft);font-weight:300}

/* Usługi */
.uslugi{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.usluga{background:var(--white);border:1px solid var(--line);padding:40px 36px;position:relative;transition:border-color .2s,box-shadow .25s}
.usluga:hover{border-color:var(--gold-line);box-shadow:0 18px 44px rgba(15,28,42,.09)}
.usluga .ikona{width:52px;height:52px;margin-bottom:20px}
.usluga h3{font-size:26px;color:var(--navy);margin-bottom:10px}
.usluga p{color:var(--ink-soft);font-size:15.5px;font-weight:300}
.usluga ul{margin:16px 0 0 0;list-style:none}
.usluga li{font-size:14.5px;color:var(--ink-soft);padding:7px 0 7px 24px;border-top:1px dashed var(--line);position:relative}
.usluga li::before{content:"—";position:absolute;left:0;color:var(--gold)}
.usluga .podstawa{display:inline-block;margin-top:22px;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:var(--gold);border:1px solid var(--gold-line);padding:5px 12px}
.usluga a.dalej{display:inline-block;margin-top:18px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;text-decoration:none}
.usluga a.dalej:hover{color:var(--navy)}

/* Cytat / pas zaufania */
.cytat{max-width:840px;margin:0 auto;text-align:center}
.cytat p.q{font-family:var(--disp);font-size:clamp(24px,3vw,34px);font-style:italic;color:var(--white);line-height:1.4}
.cytat .kto{margin-top:22px;font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft)}
.ornament{width:64px;height:18px;margin:0 auto 26px;display:block}

/* Proces */
.proces{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;counter-reset:krok}
.krok{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--gold);padding:30px 30px;counter-increment:krok}
.proces .krok:nth-child(2){border-top-color:var(--emerald)}
.proces .krok:nth-child(3){border-top-color:var(--steel)}
.krok::before{content:counter(krok,decimal-leading-zero);font-family:var(--disp);font-size:30px;color:var(--gold-line)}
.krok h3{font-size:22px;color:var(--navy);margin:10px 0 8px}
.krok p{font-size:14.5px;color:var(--ink-soft);font-weight:300}

/* ---------- Baza wiedzy ---------- */
.szukaj{display:flex;gap:0;max-width:560px;margin:0 0 44px;border:1px solid var(--line);background:var(--white)}
.szukaj input{flex:1;border:0;padding:15px 18px;font-family:var(--sans);font-size:15px;background:transparent;color:var(--ink)}
.szukaj input::placeholder{color:#9aa6b0}
.szukaj .lupa{display:flex;align-items:center;padding:0 18px;color:var(--gold)}
.dzial{margin-bottom:58px}
.dzial-head{display:flex;align-items:baseline;gap:18px;border-bottom:1px solid var(--navy);padding-bottom:12px;margin-bottom:6px}
.dzial-head .rzym{font-family:var(--disp);font-size:32px;font-style:italic;color:var(--gold);min-width:48px}
.dzial-head h3{font-size:27px;color:var(--navy)}
details.art{border-bottom:1px solid var(--line)}
details.art summary{list-style:none;cursor:pointer;display:flex;gap:18px;align-items:baseline;padding:21px 4px;font-family:var(--disp);font-size:21px;font-weight:500;line-height:1.3;color:var(--ink);transition:color .15s}
details.art summary::-webkit-details-marker{display:none}
details.art summary:hover{color:var(--gold)}
details.art summary .znak{font-family:var(--mono);font-size:12.5px;color:var(--gold);min-width:52px}
details.art summary .plus{margin-left:auto;font-family:var(--mono);font-size:20px;color:var(--gold);transition:transform .2s}
details.art[open] summary .plus{transform:rotate(45deg)}
details.art[open] summary{color:var(--gold)}
.tresc{padding:2px 4px 36px 74px;max-width:76ch}
.tresc h4{font-family:var(--disp);font-size:21px;font-weight:600;margin:26px 0 8px;color:var(--navy)}
.tresc p{margin-bottom:14px;color:#36454f;font-size:15.8px}
.tresc ul{margin:0 0 16px 22px}
.tresc li{margin-bottom:7px;color:#36454f}
.tresc .uwaga{border-left:2px solid var(--gold);background:#f6f1e6;padding:16px 20px;margin:20px 0;font-size:14.8px}
details.art.ukryty{display:none}
.brak-wynikow{display:none;padding:30px 0;color:var(--ink-soft);font-style:italic}
@media(max-width:720px){.tresc{padding-left:4px}}

/* ---------- O mnie ---------- */
.omnie{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
.portret{border:1px solid var(--gold-line);padding:14px;background:var(--white)}
.portret svg{display:block;width:100%;height:auto}
.omnie h2{font-size:clamp(30px,3.6vw,42px);color:var(--navy);margin:16px 0 18px}
.omnie p{color:var(--ink-soft);font-weight:300;margin-bottom:14px}
.atuty{margin-top:26px;border-top:1px solid var(--line)}
.atut{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline}
.atut .n{font-family:var(--mono);font-size:12px;color:var(--gold);min-width:30px}
.atut b{font-weight:600;color:var(--navy)}
.atut span{display:block;font-size:14.5px;color:var(--ink-soft);font-weight:300}

/* ---------- Kontakt ---------- */
.kontakt-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.dane{list-style:none;margin-top:30px}
.dane li{display:flex;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.ciemna .dane li{border-bottom-color:rgba(176,141,74,.2)}
.dane .etyk{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);min-width:90px;padding-top:3px}
.dane a{color:var(--navy);text-decoration:none}
.ciemna .dane a{color:var(--white)}
.dane a:hover{color:var(--gold)}
form.formularz{background:var(--white);border:1px solid var(--line);border-top:2px solid var(--gold);padding:42px}
.pole{margin-bottom:20px}
.pole label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:7px}
.pole input,.pole select,.pole textarea{width:100%;border:1px solid var(--line);background:var(--ivory);padding:13px 15px;font-family:var(--sans);font-size:15px;color:var(--ink)}
.pole textarea{min-height:130px;resize:vertical}
.pole.zgoda{display:flex;gap:12px;align-items:flex-start;font-size:13px;color:var(--ink-soft)}
.pole.zgoda input{width:auto;margin-top:4px}
.dwa{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-status{display:none;margin-top:16px;padding:13px 16px;font-size:14px;border:1px solid var(--gold-line);background:#f6f1e6;color:var(--navy)}

/* ---------- Stopka ---------- */
footer{background:#0a141f;color:#6e8090;font-size:13px;border-top:1px solid rgba(176,141,74,.25)}
footer .wrap{padding:30px 26px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{color:#9fb0bd;text-decoration:none}
footer a:hover{color:var(--gold-soft)}

/* ---------- Czat ---------- */
.czat-fab{position:fixed;right:24px;bottom:24px;z-index:90;width:60px;height:60px;border-radius:50%;background:var(--navy);border:1px solid var(--gold);color:var(--gold);font-size:24px;cursor:pointer;box-shadow:0 12px 30px rgba(10,20,31,.4);display:flex;align-items:center;justify-content:center;transition:transform .15s}
.czat-fab:hover{transform:scale(1.06)}
.czat{position:fixed;right:24px;bottom:96px;z-index:91;width:min(380px,calc(100vw - 32px));height:520px;max-height:calc(100vh - 130px);background:var(--white);border:1px solid var(--gold-line);box-shadow:0 24px 60px rgba(10,20,31,.3);display:none;flex-direction:column}
.czat.open{display:flex}
.czat-head{background:var(--navy);color:var(--white);padding:16px 18px;display:flex;align-items:center;gap:12px}
.czat-head .kropka{width:9px;height:9px;border-radius:50%;background:#69b376;flex:none}
.czat-head b{font-family:var(--disp);font-size:18px;font-weight:600}
.czat-head small{display:block;font-size:11px;color:#93a4b3;font-family:var(--mono);letter-spacing:.06em}
.czat-head button{margin-left:auto;background:none;border:0;color:#93a4b3;font-size:20px;cursor:pointer}
.czat-body{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px;background:var(--ivory)}
.msg{max-width:86%;padding:11px 14px;font-size:14px;line-height:1.55}
.msg.bot{background:var(--white);border:1px solid var(--line);align-self:flex-start}
.msg.user{background:var(--navy);color:#e7edf2;align-self:flex-end}
.msg.bot a{color:var(--gold)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:transparent;border:1px solid var(--gold-line);color:var(--navy);font-size:12.5px;padding:7px 12px;cursor:pointer;font-family:var(--sans)}
.chip:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.czat-input{display:flex;border-top:1px solid var(--line);background:var(--white)}
.czat-input input{flex:1;border:0;padding:14px 16px;font-family:var(--sans);font-size:14px;background:transparent}
.czat-input button{border:0;background:var(--navy);color:var(--gold);padding:0 20px;cursor:pointer;font-size:17px}
.czat-stopka{font-size:10.5px;color:#9aa6b0;text-align:center;padding:7px 12px;background:var(--white);border-top:1px solid var(--ivory-2)}


/* ── Rozszerzona paleta akcentów ── */
:root{--emerald:#1e5f54;--emerald-soft:#e3efeb;--wine:#7a2433;--wine-soft:#f5e7e9;--steel:#3e5c76;--steel-soft:#e7edf3;--gold-tint:#f3ead7}
.uslugi .usluga{border-top:3px solid var(--gold)}
.uslugi .usluga:nth-child(4n+2){border-top-color:var(--emerald)}
.uslugi .usluga:nth-child(4n+3){border-top-color:var(--steel)}
.uslugi .usluga:nth-child(4n+4){border-top-color:var(--wine)}
.ikona-kolo{width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 0 20px}
.tk-gold{background:var(--gold-tint)} .tk-emerald{background:var(--emerald-soft)} .tk-steel{background:var(--steel-soft)} .tk-wine{background:var(--wine-soft)}
.tk-gold svg{stroke:#8a6a2f} .tk-emerald svg{stroke:var(--emerald)} .tk-steel svg{stroke:var(--steel)} .tk-wine svg{stroke:var(--wine)}
/* ── Pas zaufania (badges) ── */
.badges{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.badge{background:var(--white);border:1px solid var(--line);padding:30px 22px 26px;text-align:center;position:relative;transition:transform .2s,box-shadow .25s}
.badge:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(15,28,42,.1)}
.badge::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gold)}
.badge:nth-child(2)::before{background:var(--emerald)} .badge:nth-child(3)::before{background:var(--steel)} .badge:nth-child(4)::before{background:var(--wine)}
.badge .bi{width:58px;height:58px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center}
.badge b{font-family:var(--disp);font-size:20px;font-weight:600;color:var(--navy);display:block;margin-bottom:4px}
.badge span{font-size:13.5px;color:var(--ink-soft);font-weight:300;line-height:1.5}
/* ── Hero: wzór giloszowy ── */
.hero-pattern{position:absolute;inset:0;pointer-events:none}
/* ── Proces z ilustracją ── */
.proces-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:54px;align-items:center}
.proces-art{background:var(--navy);border:1px solid var(--gold-line);padding:30px;display:flex;align-items:center;justify-content:center}
.proces-art svg{width:100%;height:auto}
/* ── Działy bazy wiedzy w kolorach ── */
#kompendium .dzial:nth-of-type(1) .dzial-head{border-bottom-color:var(--gold)}
#kompendium .dzial:nth-of-type(2) .dzial-head{border-bottom-color:var(--emerald)}
#kompendium .dzial:nth-of-type(2) .rzym{color:var(--emerald)}
#kompendium .dzial:nth-of-type(2) details.art summary .znak{color:var(--emerald)}
#kompendium .dzial:nth-of-type(3) .dzial-head{border-bottom-color:var(--wine)}
#kompendium .dzial:nth-of-type(3) .rzym{color:var(--wine)}
#kompendium .dzial:nth-of-type(3) details.art summary .znak{color:var(--wine)}
/* ── CTA pas na dole strony głównej ── */
.cta-pas{background:linear-gradient(120deg,var(--navy) 0%,#1a3046 60%,#23404f 100%);color:#c8d3dd;position:relative;overflow:hidden}
.cta-pas::after{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;border:1px solid rgba(176,141,74,.35)}
.cta-pas::before{content:"";position:absolute;right:-60px;top:-60px;width:380px;height:380px;border-radius:50%;border:1px solid rgba(176,141,74,.2)}
.cta-pas .wrap{display:flex;align-items:center;justify-content:space-between;gap:34px;padding-top:64px;padding-bottom:64px;flex-wrap:wrap;position:relative;z-index:1}
.cta-pas h2{font-size:clamp(28px,3.4vw,40px);color:var(--white);max-width:18ch}
.cta-pas h2 em{font-style:italic;color:var(--gold-soft)}
@media(max-width:1000px){.badges{grid-template-columns:repeat(2,1fr)}.proces-grid{grid-template-columns:1fr}}
@media(max-width:560px){.badges{grid-template-columns:1fr}}


/* ── Tabele porównawcze ── */
.tabela-wrap{overflow-x:auto;border:1px solid var(--line);background:var(--white);margin:0 0 18px}
table.por{width:100%;border-collapse:collapse;font-size:14px;min-width:780px}
.por th{background:var(--navy);color:#e7edf2;font-family:var(--mono);font-weight:500;font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;padding:14px;text-align:left;border-left:1px solid rgba(176,141,74,.25)}
.por th:first-child{border-left:none}
.por td{padding:13px 14px;border-bottom:1px solid var(--line);border-left:1px solid var(--ivory-2);vertical-align:top;color:#36454f;font-weight:300}
.por td:first-child{font-weight:600;color:var(--navy);background:var(--ivory);border-left:none;font-family:var(--sans)}
.por tbody tr:hover td{background:#fbf8f1}
.por tbody tr:hover td:first-child{background:#f3eee2}
.tak{color:var(--emerald);font-weight:600}.nie{color:var(--wine);font-weight:600}.czesc{color:#8a6a2f;font-weight:600}
.tabela-podpis{font-size:13px;color:var(--ink-soft);margin:10px 2px 0;font-weight:300}
/* ── Podnawigacja bazy wiedzy ── */
.podnav{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 46px}
.podnav button{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--gold-line);background:var(--white);padding:10px 16px;color:var(--navy);cursor:pointer;transition:all .15s}
.podnav button:hover{background:var(--gold);border-color:var(--gold)}
.pod-tytul{margin:64px 0 30px;display:flex;align-items:center;gap:16px}
.pod-tytul h3{font-size:clamp(24px,3vw,32px);color:var(--navy);white-space:nowrap}
.pod-tytul::after{content:"";flex:1;height:1px;background:var(--gold-line)}
/* ── Słownik pojęć ── */
.slownik{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.haslo{background:var(--white);border:1px solid var(--line);border-left:3px solid var(--gold);padding:20px 22px}
.haslo:nth-child(4n+2){border-left-color:var(--emerald)}
.haslo:nth-child(4n+3){border-left-color:var(--steel)}
.haslo:nth-child(4n+4){border-left-color:var(--wine)}
.haslo dt{font-family:var(--disp);font-size:20px;font-weight:600;color:var(--navy);margin-bottom:5px}
.haslo dd{font-size:14.3px;color:var(--ink-soft);font-weight:300;line-height:1.6}
@media(max-width:760px){.slownik{grid-template-columns:1fr}}


/* ── Narzędzia: ankieta i generator ── */
.narzedzie{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--gold);padding:42px;margin-bottom:46px}
.narzedzie.zielone{border-top-color:var(--emerald)}
.narzedzie h3{font-size:clamp(24px,3vw,32px);color:var(--navy);margin-bottom:8px}
.narzedzie .pod{color:var(--ink-soft);font-weight:300;font-size:15.5px;max-width:70ch;margin-bottom:26px}
.kreator-postep{display:flex;gap:8px;margin-bottom:26px}
.kreator-postep span{width:34px;height:4px;background:var(--ivory-2)}
.kreator-postep span.on{background:var(--gold)}
.kreator-pyt{font-family:var(--disp);font-size:24px;font-weight:600;color:var(--navy);margin-bottom:20px}
.kreator-odp{display:grid;gap:12px;max-width:560px}
.kreator-odp button{text-align:left;background:var(--ivory);border:1px solid var(--line);padding:15px 18px;font-family:var(--sans);font-size:15px;color:var(--ink);cursor:pointer;transition:all .15s}
.kreator-odp button:hover{border-color:var(--gold);background:var(--gold-tint)}
.kreator-wstecz{margin-top:18px;background:none;border:none;color:var(--ink-soft);font-size:13px;cursor:pointer;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}
.kreator-wstecz:hover{color:var(--gold)}
.wynik{border:1px solid var(--gold-line);background:var(--gold-tint);padding:28px;margin-top:6px}
.wynik h4{font-family:var(--disp);font-size:24px;font-weight:600;color:var(--navy);margin-bottom:10px}
.wynik p,.wynik li{font-size:15px;color:#36454f;margin-bottom:10px}
.wynik ul{margin:0 0 12px 20px}
.wynik .mala{font-size:12.5px;color:var(--ink-soft);border-top:1px dashed var(--gold-line);padding-top:12px;margin-top:14px}
/* generator */
.gen-form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:14px;align-items:end;margin-bottom:8px}
.gen-form .pole{margin-bottom:0}
.gen-flagi{display:flex;gap:22px;margin:10px 0 18px;flex-wrap:wrap}
.gen-flagi label{display:flex;gap:8px;align-items:center;font-size:13.5px;color:var(--ink-soft)}
table.gen{width:100%;border-collapse:collapse;font-size:14px;margin-top:10px}
.gen th{background:var(--navy);color:#e7edf2;font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.07em;text-transform:uppercase;padding:11px 12px;text-align:left}
.gen td{padding:10px 12px;border-bottom:1px solid var(--line);color:#36454f}
.gen td.kw{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.gen .usun{background:none;border:none;color:var(--wine);cursor:pointer;font-size:16px}
.gen-podsumowanie{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}
.gp{border:1px solid var(--line);background:var(--ivory);padding:16px 18px}
.gp .et{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.gp .w{font-family:var(--disp);font-size:26px;color:var(--navy);margin-top:4px}
.gp.ok .w{color:var(--emerald)} .gp.zle .w{color:var(--wine)}
.gen-akcje{display:flex;gap:14px;flex-wrap:wrap}
@media(max-width:860px){.gen-form{grid-template-columns:1fr 1fr}.gen-podsumowanie{grid-template-columns:1fr 1fr}}
/* wydruk */
#druk{display:none}
@media print{
  .topbar,header.site,footer,.czat,.czat-fab,.page{display:none!important}
  #druk{display:block!important;font-family:Georgia,serif;color:#000;padding:10mm}
  #druk h1{font-size:20px;margin-bottom:2px}
  #druk .sub{font-size:12px;color:#444;margin-bottom:16px}
  #druk table{width:100%;border-collapse:collapse;font-size:12px}
  #druk th,#druk td{border:1px solid #777;padding:6px 8px;text-align:left}
  #druk td.kw{text-align:right}
  #druk .suma{margin-top:12px;font-size:13px}
  #druk .podpis{margin-top:34mm;font-size:12px;display:flex;justify-content:space-between}
  #druk .podpis span{border-top:1px solid #000;padding-top:4px;width:60mm;text-align:center}
}


/* ── Skip link (czytniki ekranu / klawiatura) ── */
.skip{position:fixed;top:-60px;left:14px;z-index:200;background:var(--navy);color:#fff;border:2px solid var(--gold);padding:12px 18px;font-family:var(--sans);font-size:14px;cursor:pointer;transition:top .2s}
.skip:focus{top:12px}
/* ── Panel ułatwień dostępu ── */
.dost-fab{position:fixed;left:20px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:90;width:56px;height:56px;border-radius:50%;background:var(--white);border:2px solid var(--navy);color:var(--navy);cursor:pointer;box-shadow:0 12px 30px rgba(10,20,31,.25);display:flex;align-items:center;justify-content:center}
.dost-fab:hover{border-color:var(--gold);color:var(--gold)}
.dost-panel{position:fixed;left:20px;bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:91;width:min(300px,calc(100vw - 32px));background:var(--white);border:1px solid var(--gold-line);box-shadow:0 24px 60px rgba(10,20,31,.3);display:none;padding:18px}
.dost-panel.open{display:block}
.dost-panel h2{font-family:var(--disp);font-size:20px;font-weight:600;color:var(--navy);margin-bottom:12px}
.dost-panel button{display:block;width:100%;text-align:left;background:var(--ivory);border:1px solid var(--line);padding:11px 14px;margin-bottom:8px;font-family:var(--sans);font-size:14px;color:var(--ink);cursor:pointer;min-height:44px}
.dost-panel button:hover{border-color:var(--gold)}
.dost-panel button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.dost-panel button.on::after{content:" ✓";color:var(--gold-soft)}
.dost-panel .reset{background:transparent;border:1px dashed var(--line);color:var(--ink-soft)}
/* ── Tryby dostępności ── */
html.dost-f1{zoom:1.12}
html.dost-f2{zoom:1.28}
html.dost-anim *,html.dost-anim *::before,html.dost-anim *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.dost-linki a{text-decoration:underline!important;text-underline-offset:3px}
html.dost-font body,html.dost-font h1,html.dost-font h2,html.dost-font h3,html.dost-font h4,html.dost-font .kreator-pyt,html.dost-font .brand b{font-family:Arial,Helvetica,var(--sans)!important;font-style:normal!important;letter-spacing:0!important}
html.dost-odstepy body{line-height:2!important;letter-spacing:.04em;word-spacing:.1em}
html.dost-odstepy p{margin-bottom:1.3em!important}
html.dost-kontrast body, html.dost-kontrast *{background:#000!important;background-image:none!important;color:#ffe066!important;border-color:#ffe066!important;box-shadow:none!important;text-shadow:none!important}
html.dost-kontrast a,html.dost-kontrast .dalej{color:#5ad1ff!important}
html.dost-kontrast .btn,html.dost-kontrast .chip,html.dost-kontrast button{background:#000!important;color:#ffe066!important;border:2px solid #ffe066!important}
html.dost-kontrast input,html.dost-kontrast select,html.dost-kontrast textarea{background:#000!important;color:#fff!important;border:2px solid #ffe066!important}
html.dost-kontrast svg{filter:grayscale(1) brightness(2)}
html.dost-kontrast .msg.user{border:2px solid #5ad1ff!important}
.omnie-bez-foto{grid-template-columns:1fr;max-width:760px}
.omnie-bez-foto>div:first-child{display:none}
.dane-siatka{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);background:var(--white)}
.dana{padding:34px 26px;border-left:1px solid var(--line)}
.dana:first-child{border-left:none}
.dana .duza{font-family:var(--disp);font-size:clamp(30px,3.4vw,42px);line-height:1;color:var(--gold);font-weight:600}
.dana .mala{margin-top:10px;font-size:14px;line-height:1.55;color:var(--ink-soft)}
.dane-zrodlo{margin-top:20px;font-size:13.5px;color:var(--ink-soft);max-width:78ch}
@media(max-width:900px){.dane-siatka{grid-template-columns:1fr 1fr}
  .dana:nth-child(odd){border-left:none}
  .dana:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:520px){.dane-siatka{grid-template-columns:1fr}
  .dana{border-left:none;border-top:1px solid var(--line);padding:26px 20px}
  .dana:first-child{border-top:none}}
.aktualizacja{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink-soft);
  margin-top:14px;padding-left:14px;border-left:2px solid var(--gold-line)}
/* ── Responsywność: tablety ── */
@media(max-width:820px){
  body{font-size:16px}
  section.blok{padding:64px 0}
  .hero .wrap{padding-top:52px;padding-bottom:52px}
  .sekcja-head{margin-bottom:38px}
  .narzedzie{padding:30px 24px}
  table.por{min-width:680px}
}
/* ── Responsywność: telefony ── */
@media(max-width:520px){
  .wrap{padding:0 18px}
  .nav{padding:12px 18px}
  .topbar .wrap{justify-content:center;text-align:center;font-size:11px}
  .hero h1{font-size:clamp(32px,9vw,40px)}
  .hero p.lead{font-size:16.5px}
  .hero-actions{flex-direction:column}
  .hero-actions .btn,.cta-pas .btn{width:100%;justify-content:center;text-align:center}
  .hero-pasek .wrap{grid-template-columns:1fr 1fr}
  .hf .duze{font-size:26px}
  section.blok{padding:52px 0}
  .filar{padding:32px 24px}
  .usluga{padding:28px 22px}
  .formularz{padding:26px 18px}
  .narzedzie{padding:24px 16px}
  .gen-form{grid-template-columns:1fr}
  .gen-podsumowanie{grid-template-columns:1fr 1fr;gap:10px}
  .gp .w{font-size:20px}
  .gen-akcje .btn{width:100%;justify-content:center}
  .tresc{font-size:15.5px}
  .czat{right:10px;left:10px;width:auto;bottom:calc(86px + env(safe-area-inset-bottom,0px));height:min(540px,calc(100dvh - 150px))}
  .czat-fab{right:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px))}
  .dost-fab{left:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px))}
  .dost-panel{left:10px;bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .kontakt-grid,.omnie{gap:32px}
  footer .wrap{flex-direction:column;text-align:center;gap:8px}
  .pod-tytul h3{white-space:normal}
  .cta-pas h2{max-width:none}
  .hero .wrap{padding-top:38px;padding-bottom:44px;gap:28px}
  .hero-grafika svg{width:min(170px,46%)}
  .topbar .wrap{flex-direction:column;gap:2px;font-size:11.5px;padding-top:7px;padding-bottom:7px}
  .brand b{font-size:19px}
  .sekcja-head h2{font-size:clamp(25px,7vw,31px)}
  .usluga h3,.filar h3{font-size:20px}
  input,select,textarea{font-size:16px}
  .btn{min-height:48px}
}
/* ── Cele dotykowe: minimum 44 px na każdym łączu ── */
@media(max-width:820px){
  .topbar a,footer a,.usluga a,.narzedzie a,nav.menu a,.podnav button,
  .wiecej,.sekcja-head a,.slownik a{min-height:44px;display:inline-flex;align-items:center}
  .topbar .wrap a{min-height:40px}
  .burger{min-width:46px;min-height:46px}
}
/* ── Responsywność: małe telefony ── */
@media(max-width:380px){
  .brand b{font-size:18px}
  .brand span{font-size:9px;letter-spacing:.14em}
  .brand span span{white-space:nowrap}
  .brand .tail{display:none}
  .sygnet{width:42px;height:42px}
  .hero-pasek .wrap{grid-template-columns:1fr}
  .gen-podsumowanie{grid-template-columns:1fr}
  details.art summary{font-size:18px;gap:12px}
}
/* ── Duże ekrany ── */
@media(min-width:1700px){body{font-size:17.5px}}
/* ── Dotyk: większe cele, brak efektów hover ── */
@media(hover:none){
  .usluga:hover,.badge:hover{transform:none}
  nav.menu a,.chip,.podnav button{min-height:44px;display:inline-flex;align-items:center}
}
@media(orientation:landscape) and (max-height:520px){
  .czat{height:calc(100dvh - 110px);bottom:8px;right:8px}
  .czat-fab{display:none}
  .czat.open ~ .czat-fab{display:flex}
}

/* ---------- Responsywność ---------- */
@media(max-width:1000px){
  .hero .wrap{grid-template-columns:1fr;gap:34px;padding-top:52px;padding-bottom:52px}
  .hero-grafika{order:2}
  .hero-grafika svg{width:min(220px,58%)}
  .hero-pasek .wrap{grid-template-columns:repeat(2,1fr)}
  .hf{padding-left:0;border-left:none;border-top:1px solid rgba(176,141,74,.2)}
  .filary{grid-template-columns:1fr}
  .filar{border-left:none;border-top:1px solid var(--line)}
  .uslugi,.proces{grid-template-columns:1fr}
  .omnie,.kontakt-grid{grid-template-columns:1fr;gap:40px}
  .dwa{grid-template-columns:1fr}
  nav.menu{position:fixed;inset:73px 0 auto 0;background:var(--ivory);flex-direction:column;align-items:stretch;padding:20px 26px 28px;gap:18px;border-bottom:1px solid var(--line);display:none}
  nav.menu.open{display:flex}
  .burger{display:block}
}

/* ── przebudowa pod upadłość konsumencką ── */
.vouch-box{margin-top:42px;padding:30px 32px;border:1px solid var(--gold-line);border-radius:12px;
  background:linear-gradient(180deg,#fbf8f2,#f6f1e7);display:flex;gap:26px;align-items:center;
  justify-content:space-between;flex-wrap:wrap}
.vouch-box h3{margin:0 0 8px;font-family:var(--disp);font-size:1.28rem;color:var(--ink)}
.vouch-box p{margin:0;color:var(--ink-soft);font-size:.95rem;line-height:1.7;max-width:62ch}
.tabela-nota{margin-top:14px;font-size:.86rem;color:var(--ink-soft);line-height:1.7}
.usluga .podstawa{font-family:var(--mono);font-size:.76rem;color:var(--gold);margin:14px 0 10px}

/* ── WCAG 2.2 AA ── */
/* 2.4.11 Focus Not Obscured + 2.4.13 Focus Appearance — kontrast obwódki 4,9:1 */
a:focus-visible,button:focus-visible,summary:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid #1d5fd0;outline-offset:2px;border-radius:3px;
  scroll-margin-top:96px;scroll-margin-bottom:110px}
/* 2.5.8 Target Size (Minimum) — każdy cel co najmniej 24x24 px */
a,button,summary,label.klik{display:inline-flex;align-items:center;min-height:24px}
nav.menu a,footer a,.topbar a,.wiecej,.sekcja-head a{padding-top:5px;padding-bottom:5px}
button,summary,.usun,.chip,.dodaj{min-width:24px}
input[type="checkbox"],input[type="radio"]{width:24px;height:24px;min-width:24px;min-height:24px;
  accent-color:#8a6d33;flex:none}
/* elementy blokowe wracają do własnego układu */
a.btn,a.brand,a.usluga,a.narzedzie,a.art{display:inline-flex}
.omnie a,.kontakt-grid a{vertical-align:baseline}
/* ── siatka artykułów bazy wiedzy ── */
.arty-siatka{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.art-link{display:block;padding:26px 26px 22px;background:var(--white);border:1px solid var(--line);
  border-radius:12px;text-decoration:none;height:100%;transition:border-color .2s,box-shadow .2s}
.art-link:hover{border-color:var(--gold-line);box-shadow:0 6px 20px rgba(15,28,42,.07)}
.art-link .znak{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--gold)}
.art-link .tyt{display:block;font-family:var(--disp);font-size:22px;line-height:1.25;color:var(--ink);margin:8px 0 10px}
.art-link .opis{display:block;font-size:15px;line-height:1.6;color:var(--ink-soft)}
.art-link .wiecej{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:12px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
@media(max-width:820px){.arty-siatka{grid-template-columns:1fr}}
/* ── strona artykułu ── */
.artykul{max-width:none}
.okruszki{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:22px}
.okruszki a{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid var(--line)}
.okruszki a:hover{color:var(--gold);border-color:var(--gold-line)}
.art-head{border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:34px}
.art-head .znak{font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;color:var(--gold)}
.art-head h1{font-family:var(--disp);font-weight:500;font-size:clamp(30px,4vw,44px);line-height:1.14;margin:14px 0 0}
.art-head .lead{margin:18px 0 0;font-size:18px;line-height:1.65;color:var(--ink-soft);max-width:62ch}
.art-meta{margin-top:16px;font-family:var(--mono);font-size:12px;color:var(--ink-soft)}
.art-nawig{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:52px;
  border-top:1px solid var(--line);padding-top:26px}
.art-nawig a{display:block;padding:18px 20px;border:1px solid var(--line);border-radius:10px;
  text-decoration:none;background:var(--white)}
.art-nawig a:hover{border-color:var(--gold-line)}
.art-nawig .kier{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-soft)}
.art-nawig .tyt{display:block;font-family:var(--disp);font-size:19px;line-height:1.3;color:var(--ink);margin-top:6px}
.art-nawig .next{text-align:right}
@media(max-width:640px){.art-nawig{grid-template-columns:1fr}.art-nawig .next{text-align:left}}


/* ══════ CZYTELNOSC-2 — większy tekst, krótszy wiersz ══════ */
:root{--miara:66ch}
body{font-size:17.5px;line-height:1.72}
p,li{max-width:var(--miara)}
.tresc p,.tresc li{font-size:17.5px;line-height:1.78;max-width:var(--miara)}
.tresc h4{font-size:19.5px;line-height:1.3;margin:2rem 0 .7rem}
.tresc ul,.tresc ol{margin-left:1.3rem}
.tresc li{margin-bottom:.6rem}
.sekcja-head p{font-size:18px;line-height:1.7;max-width:var(--miara)}
.hero p.lead{font-size:19px;line-height:1.65;max-width:60ch}
.usluga p,.filar p,.krok p,.narzedzie .pod,.art-link .opis,.atut span span{
  font-size:16.5px;line-height:1.7;max-width:var(--miara)}
.dana .mala{font-size:15.5px;line-height:1.6}
.tabela-podpis,.dane-zrodlo{font-size:15px;line-height:1.65;max-width:var(--miara)}
.art-head .lead{font-size:19px;line-height:1.68;max-width:60ch}
table.por td,table.por th{font-size:15.5px;line-height:1.62}
.wynik p,.wynik li{font-size:16.5px;line-height:1.72;max-width:var(--miara)}
/* w tabelach i siatkach ograniczenie szerokości nie obowiązuje */
td p,th p,.gen p,.dana p{max-width:none}
@media(max-width:640px){
  body{font-size:17px}
  .tresc p,.tresc li{font-size:17px;line-height:1.75}
  .hero p.lead,.art-head .lead{font-size:17.5px}
  .sekcja-head p{font-size:17px}
}

/* kalibracja miary wiersza: ~70 znaków przy 17,5 px */
:root{--miara:58ch}
.tresc p,.tresc li{max-width:var(--miara)}
.art-head .lead,.hero p.lead{max-width:52ch}
footer .wrap span{font-size:14.5px;line-height:1.7}

/* ══════ waga pisma: koniec z cienkim tekstem ══════ */
/* przy 16–18 px grubość 300 jest męcząca, zwłaszcza dla czytelnika 50+ */
.hero p.lead,.sekcja-head p,.filar p,.usluga p,.krok p,.omnie p,.atut span,
.badge span,.narzedzie .pod,.tresc p,.tresc li,.art-link .opis,.wynik p,.wynik li{font-weight:400}
.omnie p,.filar p,.usluga p,.krok p,.atut span,.badge span{font-size:16.5px;line-height:1.7}
.hero p.lead{font-size:19px;color:#c2cfdb}

/* ── powiązane opracowania ── */
.powiazane{margin-top:46px;border-top:1px solid var(--line);padding-top:28px}
.powiazane h2{font-family:var(--disp);font-weight:500;font-size:23px;margin:0 0 18px}
.powiazane ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.powiazane a{display:block;padding:18px 18px 16px;border:1px solid var(--line);border-radius:10px;
  background:var(--white);text-decoration:none;height:100%}
.powiazane a:hover{border-color:var(--gold-line)}
.powiazane .t{display:block;font-family:var(--disp);font-size:18px;line-height:1.3;color:var(--ink)}
.powiazane .o{display:block;font-size:14.5px;line-height:1.6;color:var(--ink-soft);margin-top:8px}
@media(max-width:820px){.powiazane ul{grid-template-columns:1fr}}
