@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("../fonty/source-serif-4-roman-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("../fonty/source-serif-4-roman-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("../fonty/inter-tight-roman-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("../fonty/inter-tight-roman-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* PROMESA — system Z002. Wszystkie zasoby lokalne; bez importów. */
:root {
  --paper: #F7F5F0; --inset: #EFEAE1; --ink: #111A19; --emerald: #0B5540;
  --copper: #9A7642; --copper-text: #6F5326; --oxblood: #8A2E22;
  --gray-100: #E6E7E0; --gray-200: #CCD0C8; --gray-400: #727D75;
  --gray-600: #53615B; --gray-800: #293631;
  --serif: 'Source Serif 4', Georgia, serif; --sans: 'Inter Tight', Arial, sans-serif;
  --container: 1200px; --gutter: 24px; --rail: 112px; --rail-gap: 32px;
}
*, *::before, *::after { box-sizing: border-box; }
html { background: var(--paper); color: var(--ink); scroll-padding-top: 24px; }
body { margin: 0; font: 400 20px/1.6 var(--serif); font-synthesis: none; -webkit-font-smoothing: antialiased; }
img, svg { max-width: 100%; height: auto; vertical-align: middle; }
a { color: var(--emerald); text-decoration-thickness: 1px; text-underline-offset: .22em; transition: color 160ms ease, background-color 160ms ease; }
a:hover { color: var(--ink); text-decoration-thickness: 2px; }
a:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--copper-text); outline-offset: 5px; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { font-weight: 400; text-wrap: balance; }
h1 { font-size: 76px; line-height: 1.05; letter-spacing: -.035em; }
h2 { font-size: 44px; line-height: 1.1; letter-spacing: -.025em; }
h3 { font-size: 26px; line-height: 1.2; letter-spacing: -.015em; }
strong { font-weight: 600; }
ul, ol { padding-left: 1.25em; }
.container { width: min(var(--container), calc(100% - 2 * var(--gutter))); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: absolute; z-index: 10; top: 8px; left: 16px; transform: translateY(-160%); padding: 12px 20px; color: var(--paper); background: var(--ink); font: 600 14px/1.5 var(--sans); }
.skip-link:focus { transform: none; outline-color: var(--paper); }
.eyebrow, .marginalia, .block-label { font: 600 11px/1.5 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--copper-text); }
.meta, .state-note { font: 400 12px/1.5 var(--sans); color: var(--gray-600); }
.disclaimer { padding-block: 11px; border-bottom: 1px solid var(--gray-200); font: 400 12px/1.5 var(--sans); color: var(--gray-600); }
.header-main { min-height: 98px; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.brand { display: inline-flex; align-items: center; gap: 13px; color: var(--ink); text-decoration: none; flex-shrink: 0; }
.brand img { width: 42px; height: 42px; }
.brand-name { font: 500 28px/1 var(--serif); letter-spacing: -.035em; }
.brand-name span { display: block; margin-top: 6px; font: 500 10px/1.3 var(--sans); letter-spacing: .18em; }
.menu ul { display: flex; gap: 32px; align-items: center; list-style: none; margin: 0; padding: 0; }
.menu a { display: block; padding-block: 14px; font: 500 14px/1.5 var(--sans); color: var(--ink); text-decoration: none; border-bottom: 1px solid transparent; }
.menu a:hover, .menu a[aria-current='page'] { color: var(--emerald); border-color: var(--emerald); }
.hero { padding-block: 58px 48px; border-top: 1px solid var(--ink); }
.hero-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 80px; align-items: center; }
.hero .eyebrow { margin-bottom: 25px; }
.hero h1 { max-width: 620px; }
.hero-lead { font-size: 23px; line-height: 1.45; max-width: 540px; margin-top: 28px; }
.text-link { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; font: 600 14px/1.5 var(--sans); }
.text-link::after { content: ''; width: 21px; height: 8px; border-bottom: 1px solid currentColor; border-right: 1px solid currentColor; transform: skewX(35deg) translateY(-4px); flex: 0 0 auto; }
.hero .text-link { margin-top: 25px; }
.hero-state { margin-top: 14px; }
.amount-card { position: relative; background: var(--emerald); color: var(--paper); padding: 34px 36px 29px; box-shadow: 0 5px 16px #111A1909; border: 1px solid var(--emerald); }
.amount-card::before { content: ''; position: absolute; inset: 10px; border: 1px solid var(--paper); opacity: .2; pointer-events: none; }
.amount-card .eyebrow, .amount-card .meta, .amount-card .state-note, .amount-card a { color: var(--paper); }
.amount-card .eyebrow { margin-bottom: 26px; letter-spacing: .1em; }
.card-context { font: 400 14px/1.5 var(--sans); margin-bottom: 12px; }
.amount-value { font: 400 88px/1 var(--serif); font-variant-numeric: lining-nums tabular-nums; letter-spacing: -.045em; white-space: nowrap; }
.amount-value small { font-size: 26px; letter-spacing: 0; margin-left: 0; }
.amount-caption { font: 400 14px/1.5 var(--sans); margin-top: 12px; }
.amount-components { padding-top: 22px; margin-top: 27px; border-top: 1px solid var(--copper); font: 400 13px/1.5 var(--sans); }
.amount-components div { display: flex; justify-content: space-between; gap: 16px; margin-top: 8px; }
.amount-components dt, .amount-components dd { margin: 0; }
.amount-components dd { font-variant-numeric: tabular-nums; white-space: nowrap; }
.amount-card .state-note { padding-top: 18px; margin-top: 22px; border-top: 1px dashed var(--copper); }
.amount-card a:focus-visible { outline-color: var(--paper); }
.status-bar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 0; border-block: 1px solid var(--gray-400); font: 400 14px/1.6 var(--sans); }
.status-title { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; }
.status-title strong { display: inline-flex; align-items: center; gap: 10px; }
.status-title strong::before { content: ''; width: 7px; height: 7px; border: 1px solid var(--oxblood); background: var(--oxblood); border-radius: 50%; }
.status-bar .state-note { text-align: right; flex-shrink: 0; }
.perforation { border: 0; height: 1px; background-image: url('../grafiki/perforacja.svg'); background-repeat: repeat-x; }
.section { display: grid; grid-template-columns: var(--rail) minmax(0, 1fr); gap: var(--rail-gap); padding-block: 72px; position: relative; }
.section + .section::before, .sources.section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: url('../grafiki/perforacja.svg') repeat-x; }
.marginalia { padding-top: 7px; }
.section-number { display: block; font-size: 17px; line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: .02em; margin-bottom: 17px; }
.marginalia-label { display: block; font-size: 10px; line-height: 1.6; letter-spacing: .1em; }
.section-content { min-width: 0; }
.section-content > h2 { max-width: 800px; margin-bottom: 30px; }
.prose > p, .prose > ul, .prose > ol, .prose > h3 { max-width: 68ch; }
.prose > p + p, .prose > p + ul, .prose > ul + p { margin-top: 20px; }
.prose > h3 { margin-block: 32px 14px; }
.prose li + li { margin-top: 9px; }
.prose > :first-child { margin-top: 0; }
.prose > :last-child { margin-bottom: 0; }
.prose .state-note { margin-block: 14px 22px; }
.prelude { padding: 38px 0 0 calc(var(--rail) + var(--rail-gap)); }
.block { margin-block: 30px; padding: 28px 32px; background: var(--inset); }
.block-label { margin-bottom: 16px; }
.block > :last-child { margin-bottom: 0; }
.block > ul { margin-block: 0; }
.block-skrocie { background: transparent; border-left: 1px solid var(--copper); margin: 0; padding: 8px 0 8px 28px; font: 400 15px/1.6 var(--sans); }
.block-skrocie ul { padding-left: 17px; }
.block-skrocie li + li { margin-top: 7px; }
.block-kwota { border-block: 1px solid var(--copper); background: var(--inset); }
.block-amount { font: 400 64px/1.05 var(--serif); color: var(--emerald); font-variant-numeric: lining-nums tabular-nums; letter-spacing: -.035em; margin-block: 8px 20px; white-space: nowrap; }
.block-amount small { font-size: .4em; }
.block-uwaga { border-left: 2px solid var(--oxblood); font-size: 19px; }
.block-uwaga .block-label { color: var(--oxblood); }
.block-warunki { border-left: 1px solid var(--copper); }
.condition-list { list-style: none; padding: 0; }
.condition-list li { display: grid; grid-template-columns: 90px 1fr; gap: 16px; }
.condition-label { font: 600 11px/1.5 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--emerald); padding-top: 6px; }
.condition-no { color: var(--oxblood); }
.block-krok { border-top: 1px solid var(--copper); background: transparent; padding-inline: 0; }
.block-krok h3 { margin-bottom: 18px; }
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 32px; }
.path-card { padding: 0 26px; border-left: 1px solid var(--copper); min-width: 0; }
.path-card:first-child { padding-left: 0; border-left: 0; }
.path-card:last-child { padding-right: 0; }
.path-card h3 { font-size: 28px; margin-bottom: 18px; }
.path-card p { font: 400 16px/1.65 var(--sans); }
.path-card p + p { margin-top: 18px; }
.path-card a { font-weight: 600; display: inline-flex; align-items: center; min-height: 44px; }
.cards-filary .path-card h3 { font-size: 25px; }
.figure { margin: 32px 0; }
.figure-frame { padding: 28px; background: var(--inset); border-top: 1px solid var(--copper); }
.figure svg { width: 100%; display: block; }
.figure .figure-mobile { display: none; }
.figure figcaption { display: grid; grid-template-columns: 64px 1fr; gap: 20px; padding-top: 16px; font: 400 13px/1.6 var(--sans); color: var(--gray-600); }
.figure-label { color: var(--copper-text); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; font-size: 10px; padding-top: 3px; }
.figure figcaption p + p { margin-top: 6px; }
.chart-text { font-family: var(--sans); fill: var(--ink); font-variant-numeric: tabular-nums; }
.chart-label { font-size: 12px; letter-spacing: 1px; }
.chart-number { font-size: 26px; font-weight: 500; letter-spacing: -.5px; }
.chart-note { font-size: 13px; fill: var(--gray-600); }
.table-wrap { margin-block: 28px; }
table { width: 100%; border-collapse: collapse; font: 400 15px/1.5 var(--sans); font-variant-numeric: tabular-nums; text-align: left; }
caption { text-align: left; font-size: 12px; color: var(--gray-600); padding-bottom: 14px; }
th, td { padding: 16px 14px; vertical-align: top; border-bottom: 1px solid var(--gray-200); }
thead th { color: var(--copper-text); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; border-block: 1px solid var(--copper); }
tr:nth-child(even) { background: var(--inset); }
tbody th { font-weight: 500; }
td.numeric, th.numeric { text-align: right; }
.article-hero { border-top: 1px solid var(--ink); padding-block: 38px 42px; }
.breadcrumbs { font: 400 12px/1.5 var(--sans); color: var(--gray-600); margin-bottom: 38px; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; padding: 0; margin: 0; }
.breadcrumbs li + li::before { content: '/'; margin-right: 12px; color: var(--copper-text); }
.article-hero h1 { max-width: 880px; font-size: 68px; line-height: 1.1; margin-top: 18px; }
.article-hero .hero-lead { max-width: 760px; }
.byline { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 28px; font: 400 12px/1.5 var(--sans); color: var(--gray-600); }
.article-intro { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 64px; padding-block: 42px 0; }
.article-intro .prelude { padding: 0; }
.toc { font: 400 14px/1.6 var(--sans); }
.toc .eyebrow { margin-bottom: 18px; }
.toc ol { list-style: none; padding: 0; margin: 0; }
.toc a { display: flex; gap: 12px; padding-block: 9px; text-decoration: none; }
.toc a:hover { text-decoration: underline; }
.toc-num { color: var(--copper-text); font-size: 11px; padding-top: 3px; font-variant-numeric: tabular-nums; }
.article .section-content > .prose > p, .article .section-content > .prose > ul { max-width: min(68ch, 720px); }
.article .section-content > h2 { max-width: 720px; }
.faq-list { border-top: 1px solid var(--gray-400); }
.faq-list details { border-bottom: 1px solid var(--gray-400); }
.faq-list summary { position: relative; cursor: pointer; list-style: none; padding: 22px 44px 22px 0; font: 400 24px/1.3 var(--serif); }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::before, .faq-list summary::after { content: ''; position: absolute; right: 8px; top: 36px; width: 15px; height: 1px; background: var(--emerald); }
.faq-list summary::after { transform: rotate(90deg); }
.faq-list details[open] summary::after { transform: none; }
.faq-list summary:hover { color: var(--emerald); }
.faq-answer { padding: 0 44px 24px 0; max-width: 720px; font-size: 19px; }
.faq-answer .state-note { margin-top: 12px; }
.sources-list { list-style: none; padding: 0; margin: 0; font: 400 13px/1.65 var(--sans); }
.sources-list li + li { margin-top: 18px; }
.sources-list a { text-decoration-thickness: 1px; }
.sources-list .meta { display: block; margin-top: 3px; }
.next-nav { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding: 30px 0 46px calc(var(--rail) + var(--rail-gap)); border-top: 1px solid var(--ink); }
.next-nav a { font: 400 30px/1.2 var(--serif); }
.site-footer { background: var(--ink); color: var(--paper); padding-block: 48px 32px; }
.footer-top { display: grid; grid-template-columns: 1fr 1.2fr; gap: 100px; padding-bottom: 40px; }
.site-footer .brand { color: var(--paper); }
.site-footer .brand img { filter: brightness(0) invert(1); }
.site-footer a { color: var(--paper); }
.site-footer a:focus-visible { outline-color: var(--paper); }
.footer-note { font: 400 13px/1.7 var(--sans); color: var(--gray-200); }
.footer-note p + p { margin-top: 15px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 20px; border-top: 1px solid var(--gray-400); font: 400 12px/1.5 var(--sans); color: var(--gray-200); }
@media (max-width: 1199px) {
  .figure .figure-desktop { display: none; }
  .figure .figure-mobile { display: block; max-width: 400px; margin-inline: auto; }
}
@media (min-width: 900px) and (max-width: 1199px) {
  .hero-grid { gap: 36px; grid-template-columns: 1.12fr 1fr; }
  .hero h1 { font-size: 60px; }
  .amount-card { padding-inline: 28px; }
  .amount-value { font-size: 72px; }
  .cards { gap: 0; }
  .path-card { padding-inline: 18px; }
}
@media (max-width: 899px) {
  .hero-grid { grid-template-columns: 1fr; gap: 36px; }
  .hero { padding-top: 36px; }
  .hero h1 { max-width: 650px; }
  .hero-lead { max-width: 640px; }
  .amount-card { width: 100%; max-width: 560px; }
  .section { grid-template-columns: 1fr; gap: 18px; padding-block: 56px; }
  .marginalia { display: flex; align-items: center; gap: 18px; padding: 0; }
  .section-number { margin: 0; font-size: 13px; }
  .prelude { padding-left: 0; }
  .next-nav { padding-left: 0; }
  .article-intro { grid-template-columns: 1fr; gap: 34px; }
  .toc ol { columns: 2; column-gap: 32px; }
  .toc li { break-inside: avoid; }
  .header-main { gap: 24px; }
  .menu ul { gap: 20px; }
  .footer-top { gap: 40px; }
}
@media (max-width: 599px) {
  :root { --gutter: 20px; }
  body { font-size: 19px; line-height: 1.6; }
  h1 { font-size: 46px; line-height: 1.05; }
  h2 { font-size: 34px; }
  h3 { font-size: 25px; }
  .disclaimer { font-size: 11px; line-height: 1.55; padding-block: 9px; }
  .header-main { min-height: 0; display: block; padding-top: 20px; }
  .brand-name { font-size: 26px; }
  .brand img { width: 38px; height: 38px; }
  .menu ul { justify-content: space-between; gap: 12px; margin-top: 18px; }
  .menu a { font-size: 12px; padding-block: 12px; }
  .hero { padding-block: 28px 30px; }
  .hero .eyebrow { margin-bottom: 18px; }
  .hero-lead { font-size: 21px; margin-top: 22px; }
  .hero .text-link { margin-top: 15px; }
  .hero-grid { gap: 26px; }
  .amount-card { padding: 28px 27px 25px; }
  .amount-card .eyebrow { margin-bottom: 22px; }
  .amount-value { font-size: 70px; }
  .amount-value small { font-size: 23px; margin-left: 0; }
  .amount-components { padding-top: 17px; margin-top: 22px; }
  .status-bar { display: block; font-size: 13px; padding-block: 17px; }
  .status-title { display: block; }
  .status-title > span { display: block; margin: 6px 0 0 17px; }
  .status-bar .state-note { text-align: left; margin: 10px 0 0 17px; }
  .prelude { padding-top: 28px; }
  .block-skrocie { padding-left: 20px; font-size: 14px; }
  .section { padding-block: 44px; gap: 18px; }
  .section-content > h2 { margin-bottom: 24px; }
  .cards { grid-template-columns: 1fr; gap: 28px; margin-top: 28px; }
  .path-card, .path-card:first-child, .path-card:last-child { padding: 0 0 24px; border: 0; border-bottom: 1px solid var(--gray-200); }
  .path-card:last-child { border-bottom: 0; padding-bottom: 0; }
  .path-card h3 { margin-bottom: 13px; }
  .path-card p { font-size: 16px; }
  .figure-frame { padding: 20px 14px; }
  .figure .figure-desktop { display: none; }
  .figure .figure-mobile { display: block; }
  .figure figcaption { grid-template-columns: 1fr; gap: 6px; }
  .block { padding: 24px 20px; }
  .block-skrocie { padding: 8px 0 8px 20px; }
  .block-amount { font-size: 54px; }
  .block-uwaga { font-size: 18px; }
  .condition-list li { grid-template-columns: 1fr; gap: 3px; }
  .responsive-table, .responsive-table caption, .responsive-table tbody { display: block; }
  .responsive-table { font-size: 16px; line-height: 1.5; }
  /* Column headers remain in the accessibility tree in their original order. */
  .responsive-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .responsive-table tbody { display: grid; gap: 16px; }
  .responsive-table tbody tr { display: block; padding: 20px 18px 14px; background: var(--inset); border-top: 1px solid var(--copper); border-bottom: 1px solid var(--gray-200); }
  .responsive-table tbody th { display: block; width: auto; padding: 0 0 14px; border-bottom: 1px solid var(--gray-200); font-size: 17px; line-height: 24px; font-weight: 500; text-align: left; }
  .responsive-table tbody td { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: baseline; padding: 10px 0; border: 0; text-align: right; }
  .responsive-table td::before { content: attr(data-label); content: attr(data-label) / ""; color: var(--gray-600); font-size: 14px; line-height: 21px; text-align: left; }
  .responsive-table .table-value { min-width: 0; font-size: 16px; line-height: 24px; }
  .article-hero { padding-block: 24px 30px; }
  .breadcrumbs { margin-bottom: 27px; font-size: 11px; }
  .article-hero h1 { font-size: 44px; line-height: 1.1; }
  .article-intro { padding-top: 30px; gap: 30px; }
  .article-intro .prelude { padding: 0; }
  .toc ol { columns: 1; }
  .toc a { min-height: 44px; align-items: baseline; }
  .byline { display: grid; gap: 7px; }
  .faq-list summary { font-size: 22px; padding-block: 20px; }
  .faq-answer { padding-right: 0; font-size: 18px; }
  .next-nav { display: block; padding-block: 26px 34px; }
  .next-nav a { font-size: 25px; margin-top: 15px; }
  .footer-top { grid-template-columns: 1fr; gap: 30px; padding-bottom: 30px; }
  .footer-bottom { display: block; }
  .footer-bottom p + p { margin-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
}

/* Z006 · kalkulator. Reguły ograniczone do komponentu; wersja bez JS to tabela. */
.kalk { padding-block: 48px; border-bottom: 1px solid var(--copper); }
.kalk [hidden], .kalk[hidden] { display: none; }
.kalk-heading { margin-bottom: 32px; }
.kalk-heading h2 { margin-block: 12px 16px; }
.kalk-heading > p:last-child { font: 400 16px/1.6 var(--sans); }
.kalk-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.kalk form, .kalk fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
.kalk-field { margin-bottom: 22px; }
.kalk label { display: block; margin-bottom: 8px; font: 600 15px/1.5 var(--sans); }
.kalk select, .kalk input { width: 100%; min-height: 48px; border: 1px solid var(--gray-400); border-radius: 0; padding: 11px 12px; color: var(--ink); background: var(--paper); font: 400 16px/1.5 var(--sans); font-variant-numeric: tabular-nums; }
.kalk select { padding-right: 24px; text-overflow: ellipsis; }
.kalk input[aria-invalid], .kalk select[aria-invalid] { border-color: var(--oxblood); border-width: 2px; }
.kalk-hint, .kalk-error { margin-top: 8px; font: 400 13px/1.55 var(--sans); }
.kalk-hint { color: var(--gray-600); }
.kalk-error { color: var(--oxblood); }
.kalk details { font: 400 14px/1.6 var(--sans); margin-bottom: 12px; }
.kalk summary { padding-block: 10px; min-height: 44px; cursor: pointer; color: var(--emerald); }
.kalk details ul { margin-block: 4px 18px; }
.kalk li + li { margin-top: 9px; }
.kalk-actions { display: flex; gap: 16px; margin-block: 26px 12px; flex-wrap: wrap; }
.kalk button { min-height: 48px; padding: 12px 24px; cursor: pointer; border: 1px solid var(--emerald); border-radius: 0; color: var(--paper); background: var(--emerald); font: 600 15px/1.5 var(--sans); }
.kalk button[type='reset'] { color: var(--emerald); background: var(--paper); }
.kalk button:hover { text-decoration: underline; text-underline-offset: .2em; }
.kalk :is(input, select, button):focus-visible { outline: 2px solid var(--copper-text); outline-offset: 4px; }
.kalk-result { min-width: 0; }
.kalk-result:focus { outline: 2px solid var(--copper-text); outline-offset: 5px; }
.kalk .amount-value { font-size: 64px; }
.kalk .amount-components { font-size: 14px; }
.kalk .amount-components dt { max-width: 65%; }
.kalk .amount-components div { margin-top: 12px; }
.kalk-notice { background: var(--inset); padding: 32px; border-top: 1px solid var(--copper); }
.kalk-notice h3 { margin-block: 18px; }
.kalk-notice > p:not(.eyebrow), .kalk-notice > a { font: 400 15px/1.6 var(--sans); }
.kalk-notice > p + p { margin-top: 14px; }
.kalk-rejected { border-top-color: var(--oxblood); }
.kalk-rejected h3 { color: var(--oxblood); }
.kalk-disclaimer { margin-block: 20px 12px; font: 500 14px/1.6 var(--sans); }
.kalk-conditions { border-top: 1px solid var(--gray-200); margin-top: 24px; padding-top: 24px; font: 400 14px/1.6 var(--sans); }
.kalk-conditions h3 { font: 600 15px/1.5 var(--sans); letter-spacing: 0; }
.kalk-conditions > p { color: var(--gray-600); }
@media (max-width: 1199px) { .kalk-grid { gap: 32px; } }
@media (max-width: 899px) { .kalk-grid { grid-template-columns: 1fr; gap: 32px; } }
@media (max-width: 599px) {
  .kalk { padding-block: 34px; }
  .kalk .amount-value { font-size: 54px; }
  .kalk-notice { padding: 24px 20px; }
  .kalk .amount-components div { gap: 10px; }
}

/* Pełna mapa PROMESA: natywne details, w przepływie, również bez JS. */
.calculator-link { font: 500 15px/1.5 var(--sans); padding-block: 12px; min-height: 44px; color: var(--ink); text-decoration: none; border-bottom: 1px solid transparent; }
.site-header [aria-current='page'] { color: var(--emerald); text-decoration: underline; text-underline-offset: 6px; }
.guide-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; padding-bottom: 18px; font: 400 15px/1.5 var(--sans); }
.guide-nav details { min-width: 0; }
.guide-nav summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; cursor: pointer; list-style: none; border-bottom: 1px solid var(--gray-200); }
.guide-nav summary::-webkit-details-marker { display: none; }
.guide-nav summary::after { content: ''; width: 7px; height: 7px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); flex-shrink: 0; margin-right: 4px; }
.guide-nav details[open] summary::after { transform: rotate(225deg); }
.guide-nav .current-group summary { color: var(--emerald); border-color: var(--emerald); }
.guide-nav ul { padding: 8px 0 0; margin: 0; list-style: none; }
.guide-nav a { display: flex; align-items: center; min-height: 44px; padding-block: 8px; color: var(--ink); text-decoration: none; }
.guide-nav a:hover, .guide-nav summary:hover, .calculator-link:hover { color: var(--emerald); text-decoration: underline; text-underline-offset: 5px; }
.next-nav { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 20px 32px; }
.next-nav > p { grid-column: 1 / -1; }
.next-nav a { min-width: 0; justify-content: space-between; }
.section-content, .prose, .figure figcaption > div, .table-value { min-width: 0; }
.prose, h1, h2, h3, .next-nav, .toc { overflow-wrap: anywhere; }
.responsive-table { table-layout: fixed; }
.responsive-table th, .responsive-table td { overflow-wrap: anywhere; }
.figure svg { font-variant-numeric: tabular-nums; }
.prose > details { border-bottom: 1px solid var(--gray-400); }
.prose > details > summary { font-size: 24px; line-height: 1.35; padding: 22px 26px 22px 0; cursor: pointer; }
.prose > details > summary:hover { color: var(--emerald); }
.prose > details .faq-answer { padding: 0 0 24px; }
.site-map { border-top: 1px solid var(--ink); padding-block: 44px; font: 400 15px/1.6 var(--sans); }
.site-map h2 { font-family: var(--serif); margin-bottom: 24px; }
.site-map > p { margin-bottom: 32px; }
.map-groups { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
.map-groups h3 { font: 600 15px/1.5 var(--sans); color: var(--copper-text); }
.map-groups ul { padding: 0; list-style: none; margin-top: 14px; }
.map-groups a { display: flex; align-items: center; min-height: 44px; }
.error-hero .text-link { margin-top: 30px; }
.error-hero .state-note { margin-top: 20px; }
@media (max-width: 1199px) {
  .guide-nav, .map-groups { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 599px) {
  .header-main { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding-block: 22px 12px; }
  .guide-nav, .map-groups { grid-template-columns: 1fr; gap: 0; }
  .guide-nav summary { font-size: 16px; line-height: 24px; min-height: 48px; }
  .guide-nav a { font-size: 15px; line-height: 24px; }
  .next-nav { grid-template-columns: 1fr; gap: 18px; }
  .next-nav a { margin-top: 0; }
  .prose > details > summary { font-size: 22px; }
  .map-groups { gap: 26px; }
}

/* Z008: układ wyłącznie statystyk, procedury i słownika. */
.page-wniosek .section-number, .page-wniosek .toc-num { display: none; }
.documents-list { margin-block: 28px; }
.documents-list dt { padding-top: 24px; margin-bottom: 10px; border-top: 1px solid var(--gray-200); font-weight: 600; }
.documents-list dd { margin: 0; padding-bottom: 24px; max-width: 720px; }
.documents-list + p { margin-top: 24px; }
.glossary-index { margin-top: 36px; padding-block: 24px; border-block: 1px solid var(--copper); }
.glossary-index .block-label { margin-bottom: 12px; }
.glossary-index ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.glossary-index li { margin: 0; }
.glossary-index a { display: grid; place-items: center; min-width: 44px; min-height: 44px; font-family: var(--sans); border: 1px solid var(--gray-200); text-decoration: none; }
.glossary-index a:hover { border-color: var(--emerald); }
.glossary-group { padding-top: 16px; scroll-margin-top: 24px; }
.glossary-group + .glossary-group { margin-top: 24px; border-top: 1px solid var(--copper); }
.glossary-group > .block-label { margin-bottom: 12px; }
.glossary-entry { padding-block: 16px; }
.glossary-entry + .glossary-entry { border-top: 1px solid var(--gray-200); }
.glossary-entry h3 { margin: 0 0 14px; }
.glossary-definition p + p { margin-top: 20px; }
.page-slownik .section-content > h2 { padding-bottom: 24px; border-bottom: 1px solid var(--copper); max-width: none; }
.stat-acquisition { position: relative; }
.stat-acquisition::before, .stat-acquisition + .section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: url('../grafiki/perforacja.svg') repeat-x; }
.page-statystyki .stat-comparison { margin-block: 24px 36px; border-block: 1px solid var(--gray-400); }
.page-statystyki .stat-comparison summary { padding: 18px 28px 18px 0; font: 400 16px/1.5 var(--sans); color: var(--emerald); cursor: pointer; }
.page-statystyki .stat-comparison .figure { margin-top: 16px; }
.page-statystyki .stat-comparison .state-note { margin-block: 16px; }
.page-statystyki .prose > h3 { margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--copper); }
@media (min-width: 1200px) {
  .page-statystyki .section { padding-block: 48px; }
  .stat-acquisition { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
  .stat-acquisition > .section { grid-template-columns: 32px minmax(0, 1fr); gap: 20px; }
  .stat-acquisition > .section::before { content: none; }
  .stat-acquisition .marginalia-label { display: none; }
  .stat-acquisition .section-content > h2 { min-height: 96.8px; }
  .stat-acquisition .prose > p:first-child { min-height: 128px; }
  .stat-acquisition .responsive-table th, .stat-acquisition .responsive-table td { padding-inline: 8px; }
  .stat-acquisition .responsive-table th:first-child { width: 36%; }
  .stat-acquisition .responsive-table thead th:nth-child(2) { width: 16%; }
  .stat-acquisition .responsive-table thead th:nth-child(3) { width: 48%; }
  .glossary-entry { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 48px; }
  .glossary-entry h3 { margin: 0; }
  .documents-list { display: grid; grid-template-columns: 240px minmax(0, 1fr); column-gap: 32px; }
  .documents-list dt, .documents-list dd { margin: 0; padding-block: 24px; border-top: 1px solid var(--gray-200); }
}
@media (max-width: 599px) {
  .page-statystyki .responsive-table tbody { gap: 10px; }
  .page-statystyki .responsive-table tbody tr { padding: 16px 14px 10px; }
  .page-statystyki .responsive-table tbody th { padding-bottom: 10px; }
  .page-statystyki .stat-amounts tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); column-gap: 16px; }
  .page-statystyki .stat-amounts tbody th { grid-column: 1 / -1; }
  .page-statystyki .stat-amounts tbody td { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
  .page-statystyki .stat-amounts tbody td:nth-child(2) { align-items: flex-start; }
  .page-statystyki .stat-amounts tbody td::before { content: 'Liczba'; content: 'Liczba' / ""; text-align: inherit; }
  .page-statystyki .stat-amounts tbody td:last-child::before { content: 'Kwota dofinansowania'; content: 'Kwota dofinansowania' / ""; }
  .page-statystyki .stat-amounts .table-value { white-space: nowrap; }
  .page-statystyki .stat-groups tbody tr { background: transparent; }
  .page-statystyki .stat-groups tbody td { padding-block: 7px; }
  .page-statystyki .stat-categories tbody tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 14px; }
  .page-statystyki .stat-categories tbody th { grid-column: 1 / -1; }
  .page-statystyki .stat-categories tbody td { display: flex; flex-direction: column; gap: 6px; }
  .glossary-index { margin-top: 28px; }
}
