/* Przykładowy Raport o działce - dokument na białym tle, projektowany pod druk.
   Tokeny dziedziczone z assets/styles.css (:root). Zasada: brak dużych plam
   tuszu, hierarchia budowana liniami włosowymi, skalą i wersalikami. */

body{background:#fff}
.rule{height:1px;background:var(--ink);opacity:.9}

/* pasek nawigacyjny (tylko ekran) */
.docbar{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line-2)}
.docbar-in{max-width:1180px;margin:0 auto;padding:11px var(--gut);display:flex;align-items:center;justify-content:space-between;gap:12px 22px;flex-wrap:wrap}
.docbar .brand{color:var(--ink)}
.docbar .brand .mark{border-color:var(--ink)}
.docbar .brand .mark::after{background:var(--ink)}
.docbar .back{font-weight:500;font-size:11.5px;color:var(--ink-4)}
.docbar .back:hover{color:var(--ink)}
.docbar-l{display:flex;align-items:center;gap:clamp(14px,3vw,28px);min-width:0;flex-wrap:wrap}
.docbar-r{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}
.dtitle{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,368px);gap:clamp(22px,4vw,54px);align-items:start}
.docnote{border:1px solid var(--ink);border-radius:var(--r-sm);padding:16px 18px 17px;margin-top:clamp(18px,3vw,30px)}
.docnote .nt{display:flex;align-items:flex-start;gap:9px;font-weight:700;font-size:12px;line-height:1.4;color:var(--ink);margin:0}
.docnote .st{flex:none;width:16px;height:16px;margin-top:1px;border:1px solid var(--ink);border-radius:50%;font-weight:800;font-size:10px;font-style:italic;display:grid;place-items:center;line-height:1}
.docnote .nd{font-size:11px;line-height:1.68;color:var(--ink-3);margin:9px 0 0;max-width:none}
.docnote .nd+.nd{padding-top:9px;border-top:1px solid var(--line-3)}
@media (max-width:800px){.dtitle{grid-template-columns:1fr}}
.docbar .pricetag{font-weight:600;font-size:11px;letter-spacing:.05em;color:var(--ink-4)}

.dwrap{max-width:1180px;margin:0 auto;padding:0 var(--gut)}

/* ── nagłówek dokumentu: strona tytułowa ───────────────────────────── */
.dhead{padding:clamp(30px,5vw,64px) 0 0}
.dhead .kicker{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;font-weight:600;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4)}
.dhead .kicker .tag{border:1px solid var(--ink);color:var(--ink);border-radius:999px;padding:4px 11px;letter-spacing:.12em}
.dhead h1{font-weight:800;font-size:clamp(34px,7.2vw,96px);line-height:.86;letter-spacing:-.05em;text-transform:uppercase;margin-top:clamp(18px,3vw,30px)}
.dtitle-rule{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:end;border-bottom:2px solid var(--ink);padding-bottom:14px;margin-top:clamp(18px,3vw,28px)}
.dhead .parcel{font-weight:600;font-size:clamp(14px,1.7vw,20px);line-height:1.3;letter-spacing:-.02em;max-width:32ch}
.dhead .pid{font-weight:800;font-size:clamp(28px,4vw,52px);line-height:.9;letter-spacing:-.045em;color:var(--faint);white-space:nowrap}
.dmeta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(16px,3vw,34px);margin-top:0}
.dmeta div{border-bottom:1px solid var(--line-2);padding:13px 0}
.dmeta .k{font-weight:600;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-4)}
.dmeta .v{font-weight:700;font-size:12.5px;letter-spacing:-.01em;margin-top:5px}
.disclaim{display:grid;grid-template-columns:auto 1fr;gap:16px;margin-top:22px;padding-left:0;font-size:11px;line-height:1.75;color:var(--ink-3);max-width:96ch}
.disclaim .st{font-weight:800;font-size:11px;letter-spacing:.1em;color:var(--ink);border:1px solid var(--line-2);border-radius:50%;width:26px;height:26px;display:grid;place-items:center;flex:none}
.disclaim b{color:var(--ink);font-weight:700}

.dhero{display:grid;grid-template-columns:1.45fr 1fr;gap:14px;margin-top:26px}
.dhero.one{grid-template-columns:1fr}
.dhero.one .fr{min-height:min(46vw,420px)}
.dhero .fr{position:relative;border:1px solid var(--line-2);border-radius:var(--r-sm);overflow:hidden;min-height:236px;background:#eceae6}
.dhero .fr .im{position:absolute;inset:0;background-size:cover;background-position:center}
.dhero .fr .sc{position:absolute;left:0;right:0;bottom:0;height:130px;background:linear-gradient(180deg,rgba(15,18,22,0),rgba(15,18,22,.84))}
.dhero .fr .cp{position:absolute;left:16px;right:16px;bottom:14px;font-weight:600;font-size:10.5px;line-height:1.45;color:#fff}
.dhero .fr .cp span{display:block;font-weight:600;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.66);margin-bottom:5px}

/* metryka działki: rejestr kluczy i wartości */
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:26px;border-top:2px solid var(--ink)}
.facts div{padding:14px 20px 15px 0;border-bottom:1px solid var(--line-2)}
.facts div+div{border-left:1px solid var(--line-2);padding-left:20px}
.facts div:nth-child(3n+1){border-left:0;padding-left:0}
.facts dt{font-weight:600;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-4)}
.facts dd{margin:6px 0 0;font-weight:600;font-size:12.5px;line-height:1.45}

/* ── układ dokumentu ───────────────────────────────────────────────── */
.doc{display:grid;grid-template-columns:212px minmax(0,1fr);gap:clamp(26px,5vw,72px);padding-top:clamp(40px,6vw,74px);align-items:start}
.toc{position:sticky;top:70px}
.toc .tt{font-weight:600;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);border-bottom:1px solid var(--ink);padding-bottom:9px}
.toc ol{list-style:none;margin:0;padding:0}
.toc li+li{border-top:1px solid var(--line-3)}
.toc a{display:grid;grid-template-columns:22px 1fr;gap:9px;padding:9px 0;font-weight:500;font-size:11.5px;line-height:1.35;color:var(--ink-3)}
.toc a i{font-style:normal;font-weight:700;font-size:9.5px;color:var(--faint);padding-top:2px}
.toc a:hover{color:var(--ink)}
.toc a[aria-current="true"]{font-weight:700;color:var(--ink)}
.toc a[aria-current="true"] i{color:var(--ink)}
.toc .print{margin-top:20px}

/* sekcje */
.body>section{scroll-margin-top:84px;padding-bottom:clamp(40px,5.4vw,70px)}
.body>section+section{padding-top:clamp(36px,4.6vw,58px)}
.sh{display:grid;grid-template-columns:auto 1fr;gap:clamp(14px,2.4vw,26px);align-items:start;border-top:2px solid var(--ink);padding-top:16px}
.sh .no{font-weight:800;font-size:clamp(26px,3.4vw,44px);line-height:.86;letter-spacing:-.05em;color:var(--faint)}
.body h2{font-weight:800;font-size:clamp(21px,2.6vw,32px);line-height:1.02;letter-spacing:-.035em;text-transform:uppercase;max-width:26ch;padding-top:2px}
.body h3{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:baseline;font-weight:700;font-size:14.5px;line-height:1.3;letter-spacing:-.015em;margin-top:clamp(26px,3.2vw,38px);border-bottom:1px solid var(--line-2);padding-bottom:9px}
.body h3 .hn{font-weight:800;font-size:10.5px;letter-spacing:.06em;color:var(--ink-4)}
.body h4{font-weight:600;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-4);margin-top:24px}
.body p{font-size:12.5px;line-height:1.78;color:var(--ink-2);margin-top:13px;max-width:72ch;text-wrap:pretty}
.body p.intro{font-weight:500;font-size:clamp(14px,1.6vw,17px);line-height:1.5;letter-spacing:-.02em;color:var(--ink);max-width:56ch;margin-top:18px}
.body .src{font-size:10.5px;line-height:1.65;color:var(--ink-4);margin-top:12px}

/* listy */
.body ul.bul{margin-top:16px;max-width:74ch}
.body ul.bul li{border-top:1px solid var(--line-3);padding:11px 0;font-size:12px;line-height:1.7;color:var(--ink-2)}
.body ol.num{margin:18px 0 0;padding:0;list-style:none;counter-reset:s;max-width:74ch;border-top:1px solid var(--ink)}
.body ol.num li{counter-increment:s;display:grid;grid-template-columns:34px 1fr;gap:16px;border-bottom:1px solid var(--line-3);padding:13px 0;font-size:12.5px;line-height:1.7;color:var(--ink-2)}
.body ol.num li::before{content:counter(s,decimal-leading-zero);font-weight:800;font-size:11px;color:var(--faint);padding-top:2px}

/* wniosek praktyczny i rekomendacja */
.take{border-left:3px solid var(--ink);padding:4px 0 4px 20px;margin-top:24px;max-width:72ch}
.take .k{font-weight:700;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.take p{font-weight:600;font-size:13.5px;line-height:1.55;letter-spacing:-.015em;color:var(--ink);margin-top:8px;max-width:none}
.reco{border-left:1px solid var(--line-2);padding:2px 0 2px 20px;margin-top:22px;max-width:72ch}
.reco .k{font-weight:600;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4)}
.reco p{margin-top:7px}

/* najważniejsze wnioski: rejestr */
.tldr{margin-top:20px;border-top:1px solid var(--ink)}
.tldr .c{display:grid;grid-template-columns:minmax(120px,.42fr) 1fr;gap:clamp(14px,3vw,32px);border-bottom:1px solid var(--line-3);padding:14px 0}
.tldr .c .k{font-weight:700;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);padding-top:3px}
.tldr .c p{font-size:12.5px;line-height:1.7;margin-top:0;max-width:64ch}

/* flagi */
.flags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:22px;border-top:1px solid var(--ink)}
.flag{padding:18px 26px 20px 0}
.flag+.flag{border-left:1px solid var(--line-2);padding-left:26px}
.flag .ft{display:flex;align-items:center;gap:10px;font-weight:700;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase}
.flag .dot{width:8px;height:8px;flex:none}
.flag.warn .dot{background:var(--ink)}
.flag.clear .dot{border:1px solid #b6b3ac}
.flag.clear .ft{color:var(--ink-4)}
.flag li{font-size:12px;line-height:1.7;color:var(--ink-2);border-top:1px solid var(--line-3);padding:11px 0 0;margin-top:13px}
.flag li b{font-weight:700;color:var(--ink)}
.flag>p{font-size:12px;line-height:1.7;color:var(--ink-3);margin-top:13px;max-width:none}

/* ── atrybucja źródeł ──────────────────────────────────────────────── */
.srefs{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:baseline}
.facts dd .srefs{margin-left:2px}
.facts dd .sref{font-size:8.5px;color:var(--ink-4)}
.dhero .cp .sref{color:rgba(255,255,255,.72);font-size:8.5px}
.dhero .cp .sref:hover{color:#fff}
.sref{font-weight:700;font-size:9px;letter-spacing:.03em;color:var(--ink-3);text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.sref::before{content:"["}
.sref::after{content:"]"}
.sref:hover,.sref:focus-visible{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.sref.own{font-style:italic}
.dtbl caption,.rmatrix caption{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:9px 18px}
.dtbl caption .ct,.rmatrix caption .ct{flex:1 1 22ch}
.dtbl th.srccol,.rmatrix th.srccol{white-space:nowrap}
.dtbl td.srccell,.rmatrix td.srccell{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink-4);font-size:11px}
.dtbl td.srccell .dt{margin-left:5px}
.rmatrix td.srccell{width:58px}
.srcbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:7px 18px;margin-top:11px;padding-top:9px;border-top:1px solid var(--line-3)}
.srcbar .lb{font-weight:600;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-4)}

/* podstawa i zakres opracowania, strona tytułowa */
.srcframe{border-top:2px solid var(--ink);margin-top:26px;padding-top:14px}
.srcframe .k{font-weight:700;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.srcframe .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:12px}
.srcframe .cols p{font-size:11px;line-height:1.7;color:var(--ink-3);padding:0 22px 0 0;margin:0}
.srcframe .cols p+p{border-left:1px solid var(--line-2);padding-left:22px}
.srcframe .cols p b{color:var(--ink);font-weight:700}

/* wykaz źródeł */
.srcreg{width:100%;border-collapse:collapse;margin-top:18px;border-top:2px solid var(--ink)}
.srcreg caption{text-align:left;font-weight:600;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);padding-bottom:10px}
.srcreg th{text-align:left;font-weight:600;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);padding:11px 12px 10px 0;border-bottom:1px solid var(--line-2)}
.srcreg td{font-size:11px;line-height:1.55;padding:11px 12px 11px 0;border-bottom:1px solid var(--line-3);vertical-align:top;color:var(--ink-2)}
.srcreg td:first-child{width:58px}
.srcreg td:nth-child(2){font-weight:600;color:var(--ink);width:26%}
.srcreg td:nth-child(3){width:19%}
.srcreg td:nth-child(4),.srcreg td:nth-child(5){font-size:10.5px;color:var(--ink-3)}
.srcreg td:last-child{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}
.srcreg .d1{display:block;font-weight:600;color:var(--ink)}
.srcreg .d2{display:block;font-size:9.5px;color:var(--ink-4);margin-top:3px}
.srcreg .cd{font-weight:700;font-size:9px;letter-spacing:.04em;color:var(--ink);border:1px solid var(--ink);border-radius:3px;padding:3px 6px;display:inline-block;line-height:1.1;white-space:nowrap;font-variant-numeric:tabular-nums}
.srcreg .ownrow .cd{border-style:dashed}
.srcreg tr:target{background:#f0eeea}
.srcreg tr:target .cd{background:var(--ink);color:#fff}

/* legenda oznaczeń */
.legend{margin-top:18px;border-top:1px solid var(--ink)}
.legend .lg{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:start;border-bottom:1px solid var(--line-3);padding:12px 0;font-size:11px;line-height:1.7;color:var(--ink-3);margin:0;max-width:none}
.legend .lg b{color:var(--ink);font-weight:700}
.legend .cd{font-weight:700;font-size:9px;letter-spacing:.04em;color:var(--ink);border:1px solid var(--ink);border-radius:3px;padding:3px 6px;display:inline-block;line-height:1.1;white-space:nowrap;justify-self:start}

/* zastrzeżenie w miejscu wniosków */
.clausebox{border:1px solid var(--ink);border-radius:var(--r-sm);padding:15px 18px;margin-top:22px;max-width:84ch}
.clausebox .k{font-weight:700;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:0}
.clausebox p+p{font-size:11px;line-height:1.72;color:var(--ink-2);margin-top:8px;max-width:none}
.clausebox b{font-weight:700;color:var(--ink)}

/* zastrzeżenia prawne */
.clauses{margin-top:20px;border-top:2px solid var(--ink);columns:2;column-gap:clamp(26px,4vw,56px)}
.clauses li{break-inside:avoid;border-bottom:1px solid var(--line-3);padding:13px 0;display:grid;grid-template-columns:28px 1fr;gap:12px;font-size:11.5px;line-height:1.7;color:var(--ink-2)}
.clauses li .cn{font-weight:800;font-size:10.5px;color:var(--faint);padding-top:2px;font-variant-numeric:tabular-nums}
.clauses li b{color:var(--ink);font-weight:700}
.clauses li .lgl{font-style:italic;color:var(--ink-4)}

/* macierz ryzyk */
.rmatrix{width:100%;border-collapse:collapse;margin-top:20px;border-top:2px solid var(--ink)}
.rmatrix caption{text-align:left;font-weight:600;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);padding-bottom:10px}
.rmatrix th{text-align:left;font-weight:600;font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);padding:11px 16px 10px 0;border-bottom:1px solid var(--line-2)}
.rmatrix th:last-child{text-align:right;padding-right:0;width:96px}
.rmatrix td{font-size:12.5px;line-height:1.5;padding:12px 16px 12px 0;border-bottom:1px solid var(--line-3);vertical-align:baseline;color:var(--ink-2)}
.rmatrix td:first-child{font-weight:700;color:var(--ink);width:34%}
.rmatrix td:last-child{text-align:right;padding-right:0}
.rmatrix .st{display:inline-grid;grid-template-columns:auto 1fr;gap:9px;align-items:baseline}
.rmatrix .st::before{content:"";width:7px;height:7px;margin-top:5px;border:1px solid var(--ink);border-radius:50%}
.rmatrix .st.none{color:var(--ink-4)}
.rmatrix .st.none::before{border-color:#c2bfb8}
.rmatrix .st.hit{font-weight:600;color:var(--ink)}
.rmatrix .st.hit::before{background:var(--ink)}
.rmatrix .st.chk::before{background:linear-gradient(90deg,var(--ink) 50%,#fff 50%)}
.lvl{display:inline-flex;gap:3px;justify-content:flex-end}
.lvl i{width:14px;height:5px;background:#e2e0db}
.lvl i:first-child{background:var(--ink)}
.lvl.l2 i:nth-child(2),.lvl.l3 i:nth-child(2),.lvl.l3 i:nth-child(3){background:var(--ink)}

/* tabele */
.dtbl{width:100%;border-collapse:collapse;margin-top:20px}
.dtbl caption{text-align:left;font-weight:600;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);padding-bottom:10px}
.dtbl th{text-align:left;font-weight:600;font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);padding:0 16px 10px 0;border-bottom:1px solid var(--ink)}
.dtbl td{font-size:12.5px;line-height:1.6;padding:12px 16px 12px 0;border-bottom:1px solid var(--line-3);vertical-align:top;color:var(--ink-2)}
.dtbl td:first-child{font-weight:700;color:var(--ink)}
.dtbl.two{border-top:1px solid var(--ink)}
.dtbl.two td:first-child{font-weight:600;font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);width:38%;padding-top:14px}
.dtbl.two td:last-child{font-weight:600;color:var(--ink)}

/* wskaźniki liczbowe i udziały */
.pricerow.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.pricerow.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.dtbl td.num,.rmatrix td.num{font-variant-numeric:tabular-nums}
.mb{display:grid;grid-template-columns:1fr 42px;gap:10px;align-items:center;max-width:190px}
.mb i{display:block;height:5px;background:#ded9d1;position:relative}
.mb i b{position:absolute;left:0;top:0;bottom:0;background:var(--ink)}
.mb span{font-variant-numeric:tabular-nums;font-weight:600;font-size:11px;text-align:right}
.note{font-size:11px;line-height:1.7;color:var(--ink-4);margin-top:12px;max-width:80ch}
.note b{color:var(--ink-2);font-weight:700}
.srcline{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px;font-weight:600;font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4)}
.dtbl.tight td{padding:9px 14px 9px 0}
.dtbl.tight caption{padding-bottom:8px}

/* figury */
.fig{margin-top:26px}
.fig .ph{position:relative;border:1px solid var(--line-2);border-radius:var(--r-sm);overflow:hidden;background:#eceae6;aspect-ratio:16/9}
.fig .ph .im{position:absolute;inset:0;background-size:cover;background-position:center}
.fig .ph .bd{position:absolute;left:14px;top:13px;font-weight:700;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);background:#fff;border-radius:3px;padding:5px 9px}
.fig figcaption{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:baseline;margin-top:11px;padding-top:9px;border-top:1px solid var(--line-3);font-size:11px;line-height:1.65;color:var(--ink-3)}
.fig figcaption b{font-weight:700;color:var(--ink)}
.fig figcaption .fs{font-weight:600;font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);white-space:nowrap}
.figs2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:26px}
.figs2 .fig{margin-top:0}

/* izochrony */
.iso{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:20px;border-top:1px solid var(--ink)}
.iso .c{padding:16px 22px 18px 0;border-bottom:1px solid var(--line-3)}
.iso .c+.c{border-left:1px solid var(--line-2);padding-left:22px}
.iso .c .t{font-weight:800;font-size:clamp(22px,2.6vw,30px);letter-spacing:-.04em}
.iso .c .k{font-weight:600;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-4);margin-top:6px}
.iso .c p{font-size:11.5px;line-height:1.6;margin-top:10px;color:var(--ink-3);max-width:none}

/* ceny */
.pricerow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:20px;border-top:1px solid var(--ink)}
.pricerow .c{padding:16px 22px 18px 0;border-bottom:1px solid var(--line-3)}
.pricerow .c+.c{border-left:1px solid var(--line-2);padding-left:22px}
.pricerow .v{font-weight:800;font-size:clamp(20px,2.5vw,29px);letter-spacing:-.04em}
.pricerow .k{font-weight:600;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-4);margin-top:7px}

/* aneks */
.annex{margin-top:22px;border-top:1px solid var(--ink)}
.annex li{border-bottom:1px solid var(--line-3);padding:13px 0;font-size:12px;line-height:1.7;color:var(--ink-2);display:grid;grid-template-columns:40px 1fr;gap:14px}
.annex li b{font-weight:800;font-size:11px;color:var(--faint)}

/* stopka dokumentu */
.docfoot{padding:clamp(30px,5vw,60px) var(--gut) clamp(34px,5vw,60px)}
.docfoot .in{max-width:1180px;margin:0 auto;border-top:2px solid var(--ink);padding-top:clamp(24px,3.4vw,40px)}
.docfoot .fh{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:start}
.docfoot h2{font-weight:800;font-size:clamp(24px,3.6vw,44px);line-height:1.02;letter-spacing:-.04em;text-transform:uppercase;max-width:20ch}
.docfoot .fs{font-size:12.5px;line-height:1.75;color:var(--ink-3);max-width:46ch;margin-top:14px}
.docfoot .pb{border-left:1px solid var(--line-2);padding-left:26px;min-width:190px}
.docfoot .pb .k{font-weight:600;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-4)}
.docfoot .pb .v{font-weight:800;font-size:clamp(30px,4vw,44px);letter-spacing:-.04em;margin-top:8px}
.docfoot .pb p{font-size:11px;line-height:1.6;color:var(--ink-3);margin-top:8px}
.docfoot .ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}

@media (max-width:1080px){
 .doc{grid-template-columns:minmax(0,1fr);gap:26px}
 .toc{position:static;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:18px 20px}
 .toc ol{columns:2;column-gap:28px}
 .toc li{break-inside:avoid}
 .toc li+li{border-top:0}
 .toc a{border-top:1px solid var(--line-3)}
 .docbar{position:static}
 .docbar-in{padding-top:9px;padding-bottom:9px;gap:8px 18px}
 .docbar .pricetag{display:none}
 .dhero{grid-template-columns:1fr}
 .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .facts div:nth-child(3n+1){border-left:1px solid var(--line-2);padding-left:20px}
 .facts div:nth-child(2n+1){border-left:0;padding-left:0}
 .dmeta{grid-template-columns:repeat(2,minmax(0,1fr))}
 .docfoot .fh{grid-template-columns:1fr}
 .docfoot .pb{border-left:0;border-top:1px solid var(--line-2);padding:20px 0 0}
}
@media (max-width:720px){
 .figs2,.iso,.pricerow,.flags{grid-template-columns:1fr}
 .docbar .back,.docbar .pricetag{display:none}
 .toc ol{columns:1}
 .dtitle-rule{grid-template-columns:1fr}
 .dhead .pid{font-size:30px}
 .dmeta{grid-template-columns:1fr}
 .facts{grid-template-columns:1fr}
 .facts div,.facts div:nth-child(3n+1){border-left:0;padding-left:0}
 .iso .c+.c,.pricerow .c+.c,.flag+.flag{border-left:0;padding-left:0}
 .tldr .c{grid-template-columns:1fr;gap:8px}
 .pricerow.four,.pricerow.two{grid-template-columns:1fr}
 .mb{max-width:none}
 .dtbl thead,.rmatrix thead{display:none}
 .rmatrix tr{display:grid;grid-template-columns:1fr auto;gap:4px 14px;padding:12px 0;border-bottom:1px solid var(--line-3)}
 .rmatrix td{display:block;border:0;padding:0;width:auto}
 .rmatrix td:first-child{width:auto}
 .rmatrix td:nth-child(2){grid-column:1;font-size:12px}
 .rmatrix td:last-child{grid-row:1;grid-column:2}
 .rmatrix td::before{content:""}
 .dtbl tr{display:block;border-bottom:1px solid var(--line-3);padding:11px 0}
 .dtbl td{display:block;border:0;padding:2px 0}
 .dtbl td::before{content:attr(data-k) " ";font-weight:600;font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);margin-right:6px}
 .dtbl td:first-child::before,.dtbl.two td::before{content:""}
 .dtbl.two td:first-child{width:auto;padding-top:9px}
 /* wykaz źródeł: sześć kolumn nie mieści się na telefonie, więc każdy
    wiersz staje się kartą. Etykiety biorą się z data-k, tak jak w .dtbl */
 .srcreg thead{display:none}
 .srcreg tr{display:block;border-bottom:1px solid var(--line-2);padding:12px 0}
 .srcreg td{display:block;border:0;padding:3px 0;width:auto;white-space:normal;text-align:left}
 .srcreg td:first-child,.srcreg td:nth-child(2),.srcreg td:nth-child(3){width:auto}
 .srcreg td::before{content:attr(data-k) " ";display:block;font-weight:600;font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);margin-bottom:2px}
 .srcreg td:first-child::before{content:""}
 .srcreg td:last-child{text-align:left}
 /* klauzule: dwie kolumny przy tej szerokości dają kilka słów w wierszu */
 .clauses{columns:1}
}

/* Odroczenie renderu sekcji dokumentu. Raport ma blisko 30 000 px wysokości i
   dziesięć map w tłach CSS, które bez tego pobierają się wszystkie na starcie.
   Wyłącznie @media screen: przy druku pominięta sekcja wyszłaby pustą stroną,
   a kopia do druku dzieli ten arkusz z wersją ekranową.
   2300 px to zaokrąglona średnia realnych wysokości dwunastu sekcji
   (od 893 do 3659 px). Im bliżej prawdy, tym mniej pełza pasek przewijania,
   zanim sekcje się wyrenderują. */
@media screen{
 .body>section{content-visibility:auto;contain-intrinsic-size:none auto 2300px}
}

/* ── druk ──────────────────────────────────────────────────────────── */
@page{margin:16mm 15mm 18mm}
@media print{
 *,*::before,*::after{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .sref{color:#444}
 .srcreg td{font-size:7.5pt}
 .legend .lg,.clauses li{font-size:8pt}
 .clauses{columns:2}
 .sref[href]{text-decoration:none}
 .docbar,.toc,.docfoot .ctas,.toc .print{display:none}
 html,body{background:#fff}
 body{font-size:10pt}
 .dwrap,.docfoot .in{max-width:none;padding:0}
 .dhead{padding-top:0}
 .doc{grid-template-columns:1fr;padding-top:10mm}
 .dhead h1{font-size:40pt}
 .dhead .pid{font-size:24pt;color:#bbb}
 .body h2{font-size:15pt}
 .sh .no{font-size:20pt}
 .body h3{font-size:11.5pt}
 .body p,.dtbl td,.tldr .c p,.flag li{font-size:9.5pt;line-height:1.6}
 .take p{font-size:10.5pt}
 .fig .ph{aspect-ratio:auto;height:78mm}
 .figs2 .ph{height:52mm}
 .dhero{grid-template-columns:1.45fr 1fr}
 .dhero .fr,.dhero.one .fr{min-height:0;height:74mm}
 .fig .ph .bd{border:1px solid #ddd}
 .body>section{break-before:page;padding-top:0}
 .body>section:first-child{break-before:auto}
 .docnote{break-inside:avoid}
 .fig,.figs2,.dtbl,.rmatrix tr,.srcreg tr,.legend .lg,.clauses li,.clausebox,.srcframe,.srcbar,.take,.reco,.flag,.tldr .c,.iso,.pricerow,.annex li,.body ol.num li{break-inside:avoid}
 .body h2,.body h3,.sh,.dtbl caption{break-after:avoid}
 .dhero{break-inside:avoid}
 .toc{position:static}
 .dhead{padding-top:0}
 .figs2{gap:12px}
 .clauses{columns:2;column-gap:12mm}
 a[href]{text-decoration:none;color:var(--ink)}
}
