<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Archiwa Błędy wykonawcze - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/category/bledy-wykonawcze/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/category/bledy-wykonawcze/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Wed, 16 Sep 2026 21:12:56 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa Błędy wykonawcze - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/category/bledy-wykonawcze/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Najczęstsze błędy na budowie, które psują nawet najlepszy projekt ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 24 Apr 2026 07:40:41 +0000</pubDate>
				<category><![CDATA[Błędy wykonawcze]]></category>
		<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Energooszczędne ogrzewanie]]></category>
		<category><![CDATA[Koszty inwestycji]]></category>
		<category><![CDATA[Normy budowlane]]></category>
		<category><![CDATA[Normy techniczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Optymalizacja kosztów]]></category>
		<category><![CDATA[Oszczędności energii]]></category>
		<category><![CDATA[Oszczędzanie energii]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki inwestora]]></category>
		<category><![CDATA[błędy na budowie]]></category>
		<category><![CDATA[dylatacje podłogówki]]></category>
		<category><![CDATA[jastrych]]></category>
		<category><![CDATA[koszty budowy]]></category>
		<category><![CDATA[norma pn-en 1264]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[próba ciśnieniowa]]></category>
		<category><![CDATA[próba szczelności]]></category>
		<category><![CDATA[projekt instalacji]]></category>
		<category><![CDATA[projekt ozc]]></category>
		<category><![CDATA[rotametry]]></category>
		<category><![CDATA[rozdzielacz inox]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[styropian pod wylewkę]]></category>
		<category><![CDATA[taśma brzegowa]]></category>
		<category><![CDATA[usterki hydrauliczne]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4403</guid>

					<description><![CDATA[<p>Zdecydowałeś się na nowoczesną instalację płaszczyznową, zapłaciłeś za profesjonalne wyliczenia OZC i kupiłeś drogi rozdzielacz? To świetny start, ale niestety to za mało, aby spać spokojnie. Prawdziwy test dla Twojej inwestycji odbywa się w momencie zalewania rur betonem. To właśnie w tej fazie najczęściej dochodzi do kosztownych pomyłek z winy pośpiechu i brawury ekip. Pozorna oszczędność na taśmie dylatacyjnej, zalanie jastrychu bez odpowiedniego ciśnienia czy zignorowanie zaleceń dotyczących grubości izolacji to klasyczne przykłady na to, jak najczęstsze błędy na budowie, które psują nawet najlepszy projekt ogrzewania podłogowego, potrafią zrujnować Twój portfel. Skucie popękanej posadzki i naprawa wycieków kosztują kilkadziesiąt tysięcy złotych. Przeczytaj ten raport, zapisz naszą listę kontrolną i obroń swój budżet, zanim betoniarka wjedzie na plac budowy.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/">Najczęstsze błędy na budowie, które psują nawet najlepszy projekt ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-build-control {
    --rk-dark: #102536;
    --rk-navy: #14384d;
    --rk-blue: #078fbe;
    --rk-cyan: #28c9da;
    --rk-cyan-soft: #e9fbfe;
    --rk-orange: #ff6238;
    --rk-red: #d83c2f;
    --rk-red-soft: #fff0ed;
    --rk-green: #178265;
    --rk-green-soft: #eaf8f3;
    --rk-yellow: #f2b441;
    --rk-yellow-soft: #fff7e6;
    --rk-ink: #1d2c3a;
    --rk-text: #465a6b;
    --rk-muted: #687b89;
    --rk-line: #d7e6ed;
    --rk-soft: #f4f9fb;
    --rk-warm: #fff4ef;
    --rk-white: #ffffff;
    width: 100%;
    max-width: 1480px;
    margin: 32px auto 70px;
    color: var(--rk-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 18px;
    line-height: 1.78;
  }

  #rk-build-control,
  #rk-build-control * {
    box-sizing: border-box;
  }

  #rk-build-control img,
  #rk-build-control svg {
    max-width: 100%;
  }

  #rk-build-control button,
  #rk-build-control input,
  #rk-build-control a,
  #rk-build-control summary,
  #rk-build-control label {
    -webkit-tap-highlight-color: transparent;
  }

  #rk-build-control a {
    color: var(--rk-blue);
    font-weight: 780;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  #rk-build-control a:hover {
    color: var(--rk-red);
  }

  #rk-build-control h2,
  #rk-build-control h3,
  #rk-build-control h4 {
    margin-top: 0;
    color: var(--rk-dark);
    font-weight: 900;
    letter-spacing: -0.035em;
    line-height: 1.16;
  }

  #rk-build-control h2 {
    margin-bottom: 18px;
    font-size: clamp(1.65rem, 3.6vw, 2.65rem);
  }

  #rk-build-control h3 {
    margin-bottom: 12px;
    font-size: clamp(1.18rem, 2.5vw, 1.58rem);
  }

  #rk-build-control h4 {
    margin-bottom: 8px;
    font-size: 1.02rem;
    letter-spacing: -0.015em;
  }

  #rk-build-control h2::before,
  #rk-build-control h2::after,
  #rk-build-control h3::before,
  #rk-build-control h3::after,
  #rk-build-control h4::before,
  #rk-build-control h4::after {
    content: none !important;
    display: none !important;
  }

  #rk-build-control p {
    margin: 0 0 1.22em;
    color: var(--rk-text);
  }

  #rk-build-control strong {
    color: var(--rk-dark);
  }

  #rk-build-control section[id] {
    scroll-margin-top: 30px;
  }

  #rk-build-control .rk-build-shell {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 30px;
    background: var(--rk-white);
    box-shadow: 0 25px 70px rgba(16, 37, 54, 0.12);
  }

  #rk-build-control .rk-build-progress-track {
    position: sticky;
    z-index: 40;
    top: 0;
    width: 100%;
    height: 5px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.9);
  }

  #rk-build-control .rk-build-progress {
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--rk-cyan), var(--rk-blue), var(--rk-orange));
  }

  #rk-build-control .rk-build-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(38px, 6.5vw, 80px);
    color: var(--rk-white);
    background:
      radial-gradient(circle at 88% 14%, rgba(255, 98, 56, 0.34), transparent 28%),
      radial-gradient(circle at 73% 82%, rgba(40, 201, 218, 0.22), transparent 32%),
      linear-gradient(135deg, #0d2230 0%, #143b50 58%, #09647e 100%);
  }

  #rk-build-control .rk-build-hero::before,
  #rk-build-control .rk-build-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
  }

  #rk-build-control .rk-build-hero::before {
    right: -135px;
    bottom: -190px;
    width: 430px;
    height: 430px;
    border: 62px solid rgba(255, 255, 255, 0.055);
  }

  #rk-build-control .rk-build-hero::after {
    right: 145px;
    bottom: -135px;
    width: 245px;
    height: 245px;
    border: 35px solid rgba(255, 98, 56, 0.13);
  }

  #rk-build-control .rk-build-badge {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    margin: 0 0 24px;
    padding: 8px 15px;
    border: 1px solid rgba(255, 255, 255, 0.23);
    border-radius: 999px;
    color: var(--rk-white);
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.73rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-badge::before {
    content: "";
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border-radius: 50%;
    background: var(--rk-orange);
    box-shadow: 0 0 0 6px rgba(255, 98, 56, 0.18);
  }

  #rk-build-control .rk-build-hero h2 {
    max-width: 1080px;
    margin-bottom: 24px;
    color: var(--rk-white);
    font-size: clamp(2.05rem, 5.1vw, 3.9rem);
    letter-spacing: -0.055em;
  }

  #rk-build-control .rk-build-hero h2 span {
    color: #83edf5;
  }

  #rk-build-control .rk-build-hook {
    max-width: 930px;
    margin: 0 0 21px;
    padding: 20px 22px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-left: 5px solid var(--rk-orange);
    border-radius: 0 16px 16px 0;
    color: #eefbff;
    background: rgba(4, 23, 34, 0.28);
    font-size: clamp(1.02rem, 2vw, 1.22rem);
    font-weight: 760;
  }

  #rk-build-control .rk-build-hero-lead {
    max-width: 970px;
    margin-bottom: 25px;
    color: #d8e8ee;
    font-size: clamp(1rem, 1.8vw, 1.16rem);
  }

  #rk-build-control .rk-build-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 26px;
    color: #d8e8ee;
    font-size: 0.84rem;
    font-weight: 800;
  }

  #rk-build-control .rk-build-hero-meta span {
    display: inline-flex;
    gap: 8px;
    align-items: center;
  }

  #rk-build-control .rk-build-hero-meta span::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--rk-orange);
  }

  #rk-build-control .rk-build-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 18px clamp(20px, 4vw, 52px);
    border-bottom: 1px solid var(--rk-line);
    background: #f8fbfc;
  }

  #rk-build-control .rk-build-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 8px 14px;
    border: 1px solid #c9dce5;
    border-radius: 999px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: 0.8rem;
    font-weight: 850;
    line-height: 1.3;
    text-decoration: none;
  }

  #rk-build-control .rk-build-nav a:hover,
  #rk-build-control .rk-build-nav a:focus-visible {
    border-color: var(--rk-blue);
    color: var(--rk-white);
    background: var(--rk-blue);
    outline: none;
  }

  #rk-build-control .rk-build-content {
    padding: clamp(26px, 5.2vw, 72px);
  }

  #rk-build-control .rk-build-section {
    padding: clamp(24px, 4.2vw, 54px) 0;
    border-bottom: 1px solid var(--rk-line);
  }

  #rk-build-control .rk-build-section:last-child {
    border-bottom: 0;
  }

  #rk-build-control .rk-build-section-head {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    margin-bottom: 25px;
  }

  #rk-build-control .rk-build-section-no {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    border-radius: 18px;
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-blue), var(--rk-cyan));
    box-shadow: 0 12px 25px rgba(7, 143, 190, 0.18);
    font-size: 0.84rem;
    font-weight: 950;
    letter-spacing: 0.05em;
  }

  #rk-build-control .rk-build-section-head p {
    max-width: 930px;
    margin: 0;
  }

  #rk-build-control .rk-build-answer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(250px, 0.42fr);
    gap: 26px;
    align-items: stretch;
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid #bce8ef;
    border-radius: 24px;
    background: linear-gradient(135deg, #f2fdff, #ffffff 58%);
  }

  #rk-build-control .rk-build-answer h3 {
    font-size: clamp(1.35rem, 3vw, 2rem);
  }

  #rk-build-control .rk-build-answer p:last-child {
    margin-bottom: 0;
  }

  #rk-build-control .rk-build-answer-verdict {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px;
    border-radius: 20px;
    color: var(--rk-white);
    background: linear-gradient(145deg, var(--rk-dark), var(--rk-navy));
  }

  #rk-build-control .rk-build-answer-verdict span {
    display: block;
    margin-bottom: 8px;
    color: #83edf5;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-answer-verdict strong {
    color: var(--rk-white);
    font-size: clamp(1.22rem, 2.6vw, 1.7rem);
    line-height: 1.22;
  }

  #rk-build-control .rk-build-flow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 28px 0;
  }

  #rk-build-control .rk-build-flow-card {
    position: relative;
    min-height: 190px;
    padding: 26px;
    border: 1px solid var(--rk-line);
    border-radius: 22px;
    background: var(--rk-white);
  }

  #rk-build-control .rk-build-flow-card:not(:last-child)::after {
    content: "→";
    position: absolute;
    z-index: 3;
    top: 50%;
    right: -25px;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: var(--rk-white);
    background: var(--rk-orange);
    transform: translateY(-50%);
    font-weight: 950;
  }

  #rk-build-control .rk-build-flow-card span {
    display: inline-flex;
    margin-bottom: 15px;
    padding: 6px 10px;
    border-radius: 999px;
    color: var(--rk-blue);
    background: var(--rk-cyan-soft);
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-flow-card p:last-child {
    margin-bottom: 0;
  }

  #rk-build-control .rk-build-formulas {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 26px;
  }

  #rk-build-control .rk-build-formula {
    padding: 24px;
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: var(--rk-soft);
  }

  #rk-build-control .rk-build-formula code {
    display: block;
    margin: 12px 0 14px;
    padding: 14px 16px;
    border-radius: 12px;
    color: #eafcff;
    background: var(--rk-dark);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: clamp(0.95rem, 2vw, 1.12rem);
    font-weight: 800;
    line-height: 1.45;
    white-space: normal;
  }

  #rk-build-control .rk-build-formula p:last-child {
    margin-bottom: 0;
  }

  #rk-build-control .rk-build-note,
  #rk-build-control .rk-build-warning,
  #rk-build-control .rk-build-tip {
    margin: 25px 0;
    padding: 22px 24px;
    border-radius: 18px;
  }

  #rk-build-control .rk-build-note {
    border-left: 5px solid var(--rk-blue);
    background: var(--rk-cyan-soft);
  }

  #rk-build-control .rk-build-warning {
    border-left: 5px solid var(--rk-red);
    background: var(--rk-red-soft);
  }

  #rk-build-control .rk-build-tip {
    border-left: 5px solid var(--rk-green);
    background: var(--rk-green-soft);
  }

  #rk-build-control .rk-build-note p:last-child,
  #rk-build-control .rk-build-warning p:last-child,
  #rk-build-control .rk-build-tip p:last-child {
    margin-bottom: 0;
  }

  #rk-build-control .rk-build-table-wrap {
    margin: 28px 0;
    border: 1px solid var(--rk-line);
    border-radius: 22px;
    overflow: hidden;
  }

  #rk-build-control .rk-build-table {
    width: 100%;
    border: 0;
    border-collapse: collapse;
    table-layout: fixed;
    margin: 0;
    background: var(--rk-white);
  }

  #rk-build-control .rk-build-table th,
  #rk-build-control .rk-build-table td {
    padding: 17px 18px;
    border: 0;
    border-bottom: 1px solid var(--rk-line);
    vertical-align: top;
    text-align: left;
  }

  #rk-build-control .rk-build-table th {
    color: var(--rk-white);
    background: var(--rk-dark);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-table td {
    color: var(--rk-text);
    font-size: 0.9rem;
    line-height: 1.58;
  }

  #rk-build-control .rk-build-table tr:last-child td {
    border-bottom: 0;
  }

  #rk-build-control .rk-build-table tbody tr:nth-child(even) td {
    background: #f8fbfc;
  }

  #rk-build-control .rk-build-status {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1.25;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-status.is-red {
    color: #a52e22;
    background: #ffe2dc;
  }

  #rk-build-control .rk-build-status.is-orange {
    color: #8c5419;
    background: #fff0cd;
  }

  #rk-build-control .rk-build-status.is-green {
    color: #176f58;
    background: #dff4eb;
  }

  #rk-build-control .rk-build-responsibility {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin-top: 28px;
  }

  #rk-build-control .rk-build-responsibility-card {
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: var(--rk-white);
  }

  #rk-build-control .rk-build-responsibility-card > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 15px;
    border-radius: 13px;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: 0.74rem;
    font-weight: 950;
  }

  #rk-build-control .rk-build-responsibility-card p:last-child {
    margin-bottom: 0;
    font-size: 0.88rem;
    line-height: 1.62;
  }

  #rk-build-control .rk-build-audit {
    overflow: hidden;
    margin-top: 30px;
    border: 1px solid #b9dce6;
    border-radius: 26px;
    background: var(--rk-white);
    box-shadow: 0 18px 45px rgba(16, 37, 54, 0.09);
  }

  #rk-build-control .rk-build-audit-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 24px;
    align-items: center;
    padding: clamp(24px, 4vw, 40px);
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-dark), #14516a);
  }

  #rk-build-control .rk-build-audit-head h3 {
    margin-bottom: 10px;
    color: var(--rk-white);
  }

  #rk-build-control .rk-build-audit-head p {
    margin: 0;
    color: #d8e8ee;
  }

  #rk-build-control .rk-build-audit-score {
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 19px;
    background: rgba(255, 255, 255, 0.08);
  }

  #rk-build-control .rk-build-audit-score-label {
    display: block;
    color: #b9dce6;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-audit-score strong {
    display: block;
    margin: 4px 0 3px;
    color: var(--rk-white);
    font-size: clamp(2rem, 5vw, 3.1rem);
    line-height: 1;
  }

  #rk-build-control .rk-build-audit-score small {
    color: #d8e8ee;
    font-weight: 750;
  }

  #rk-build-control .rk-build-audit-bar {
    height: 12px;
    overflow: hidden;
    background: #dcebf0;
  }

  #rk-build-control .rk-build-audit-fill {
    width: 0;
    height: 100%;
    background: var(--rk-red);
    transition: width 0.24s ease, background 0.24s ease;
  }

  #rk-build-control .rk-build-audit-result {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 22px;
    align-items: center;
    padding: 24px clamp(22px, 4vw, 38px);
    border-bottom: 1px solid var(--rk-line);
    background: var(--rk-red-soft);
  }

  #rk-build-control .rk-build-audit-signal {
    display: grid;
    place-items: center;
    min-height: 76px;
    padding: 12px;
    border-radius: 16px;
    color: var(--rk-white);
    background: var(--rk-red);
    font-size: 1.18rem;
    font-weight: 950;
    line-height: 1.18;
    text-align: center;
  }

  #rk-build-control .rk-build-audit-result p {
    margin: 0;
    font-weight: 740;
  }

  #rk-build-control .rk-build-audit-body {
    padding: clamp(22px, 4vw, 38px);
  }

  #rk-build-control .rk-build-audit-stage-nav {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 26px;
  }

  #rk-build-control .rk-build-audit-stage-nav a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 78px;
    padding: 12px;
    border: 1px solid var(--rk-line);
    border-radius: 15px;
    color: var(--rk-dark);
    background: var(--rk-soft);
    text-align: center;
    text-decoration: none;
  }

  #rk-build-control .rk-build-audit-stage-nav a span {
    color: var(--rk-blue);
    font-size: 0.67rem;
    font-weight: 950;
    letter-spacing: 0.07em;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-audit-stage-nav a strong {
    font-size: 0.78rem;
    line-height: 1.35;
  }

  #rk-build-control .rk-build-audit-stage-nav a:hover,
  #rk-build-control .rk-build-audit-stage-nav a:focus-visible {
    border-color: var(--rk-blue);
    background: var(--rk-cyan-soft);
    outline: none;
  }

  #rk-build-control .rk-build-audit-groups {
    display: grid;
    gap: 18px;
  }

  #rk-build-control .rk-build-audit-group {
    scroll-margin-top: 30px;
    padding: 24px;
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: #fbfdfe;
  }

  #rk-build-control .rk-build-audit-group-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    margin-bottom: 16px;
  }

  #rk-build-control .rk-build-audit-group-head h4 {
    margin: 0;
  }

  #rk-build-control .rk-build-stage-count {
    flex: 0 0 auto;
    padding: 5px 9px;
    border-radius: 999px;
    color: var(--rk-blue);
    background: var(--rk-cyan-soft);
    font-size: 0.7rem;
    font-weight: 900;
  }

  #rk-build-control .rk-build-checks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  #rk-build-control .rk-build-check {
    position: relative;
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    min-height: 66px;
    margin: 0;
    padding: 14px;
    border: 1px solid #dbe7ec;
    border-radius: 14px;
    color: var(--rk-text);
    background: var(--rk-white);
    cursor: pointer;
    font-size: 0.84rem;
    font-weight: 690;
    line-height: 1.46;
  }

  #rk-build-control .rk-build-check:hover {
    border-color: #91cbd8;
    background: #f4fcfe;
  }

  #rk-build-control .rk-build-check input {
    width: 22px;
    height: 22px;
    margin: 1px 0 0;
    accent-color: var(--rk-green);
  }

  #rk-build-control .rk-build-check em {
    display: inline-flex;
    margin-left: 6px;
    padding: 2px 6px;
    border-radius: 999px;
    color: #a52e22;
    background: #ffe2dc;
    font-size: 0.61rem;
    font-style: normal;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-audit-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: space-between;
    align-items: center;
    margin-top: 22px;
  }

  #rk-build-control .rk-build-reset {
    min-height: 46px;
    padding: 10px 16px;
    border: 0;
    border-radius: 12px;
    color: var(--rk-white);
    background: var(--rk-dark);
    cursor: pointer;
    font: inherit;
    font-size: 0.78rem;
    font-weight: 900;
  }

  #rk-build-control .rk-build-reset:hover,
  #rk-build-control .rk-build-reset:focus-visible {
    background: var(--rk-blue);
    outline: 3px solid rgba(40, 201, 218, 0.24);
  }

  #rk-build-control .rk-build-missing {
    color: var(--rk-muted);
    font-size: 0.8rem;
    font-weight: 800;
  }

  #rk-build-control .rk-build-disclaimer {
    margin: 0 clamp(22px, 4vw, 38px) clamp(22px, 4vw, 38px);
    padding: 17px 19px;
    border-radius: 14px;
    color: var(--rk-text);
    background: var(--rk-yellow-soft);
    font-size: 0.79rem;
    line-height: 1.55;
  }

  #rk-build-control .rk-build-gates {
    display: grid;
    gap: 22px;
  }

  #rk-build-control .rk-build-gate {
    display: grid;
    grid-template-columns: 128px minmax(0, 1fr);
    gap: 24px;
    padding: 28px;
    border: 1px solid var(--rk-line);
    border-radius: 22px;
    background: var(--rk-white);
  }

  #rk-build-control .rk-build-gate-no {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 126px;
    padding: 16px;
    border-radius: 18px;
    color: var(--rk-white);
    background: linear-gradient(145deg, var(--rk-dark), var(--rk-navy));
    text-align: center;
  }

  #rk-build-control .rk-build-gate-no span {
    color: #83edf5;
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-gate-no strong {
    color: var(--rk-white);
    font-size: 2.5rem;
    line-height: 1;
  }

  #rk-build-control .rk-build-gate-content p:last-child {
    margin-bottom: 0;
  }

  #rk-build-control .rk-build-gate-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
  }

  #rk-build-control .rk-build-gate-box {
    padding: 18px;
    border-radius: 15px;
    background: var(--rk-soft);
  }

  #rk-build-control .rk-build-gate-box h4 {
    margin-bottom: 7px;
    font-size: 0.9rem;
  }

  #rk-build-control .rk-build-gate-box ul {
    margin: 0;
    padding-left: 20px;
    color: var(--rk-text);
  }

  #rk-build-control .rk-build-gate-box li {
    margin: 0 0 6px;
    padding: 0;
    font-size: 0.84rem;
    line-height: 1.5;
  }

  #rk-build-control .rk-build-gate-box li:last-child {
    margin-bottom: 0;
  }

  #rk-build-control .rk-build-stop-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 26px;
  }

  #rk-build-control .rk-build-stop-card {
    padding: 23px;
    border: 1px solid #ffd2ca;
    border-radius: 19px;
    background: var(--rk-red-soft);
  }

  #rk-build-control .rk-build-stop-card > span {
    display: inline-flex;
    margin-bottom: 12px;
    padding: 5px 9px;
    border-radius: 999px;
    color: var(--rk-white);
    background: var(--rk-red);
    font-size: 0.66rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-stop-card p:last-child {
    margin-bottom: 0;
    font-size: 0.86rem;
    line-height: 1.55;
  }

  #rk-build-control .rk-build-docs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 26px;
  }

  #rk-build-control .rk-build-doc {
    padding: 24px;
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: var(--rk-white);
  }

  #rk-build-control .rk-build-doc > span {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin-bottom: 15px;
    border-radius: 14px;
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-blue), var(--rk-cyan));
    font-size: 0.75rem;
    font-weight: 950;
  }

  #rk-build-control .rk-build-doc p:last-child {
    margin-bottom: 0;
    font-size: 0.87rem;
    line-height: 1.6;
  }

  #rk-build-control .rk-build-faq-list {
    display: grid;
    gap: 12px;
  }

  #rk-build-control .rk-build-faq {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
    background: var(--rk-white);
  }

  #rk-build-control .rk-build-faq summary {
    position: relative;
    display: block;
    padding: 18px 55px 18px 20px;
    color: var(--rk-dark);
    cursor: pointer;
    font-weight: 870;
    line-height: 1.45;
    list-style: none;
  }

  #rk-build-control .rk-build-faq summary::-webkit-details-marker {
    display: none;
  }

  #rk-build-control .rk-build-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 18px;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: var(--rk-white);
    background: var(--rk-blue);
    transform: translateY(-50%);
    font-size: 1.05rem;
    font-weight: 900;
  }

  #rk-build-control .rk-build-faq[open] summary::after {
    content: "−";
    background: var(--rk-orange);
  }

  #rk-build-control .rk-build-faq-answer {
    padding: 0 20px 20px;
  }

  #rk-build-control .rk-build-faq-answer p:last-child {
    margin-bottom: 0;
  }

  #rk-build-control .rk-build-sources {
    padding: 22px 24px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-soft);
  }

  #rk-build-control .rk-build-sources ul {
    margin: 0;
    padding-left: 22px;
  }

  #rk-build-control .rk-build-sources li {
    margin-bottom: 10px;
    color: var(--rk-text);
  }

  #rk-build-control .rk-build-sources li:last-child {
    margin-bottom: 0;
  }

  #rk-build-control .rk-build-small {
    margin-top: 15px;
    color: var(--rk-muted);
    font-size: 0.78rem;
    line-height: 1.55;
  }

  #rk-build-control .rk-build-cta {
    margin: clamp(30px, 5vw, 58px) 0;
    padding: clamp(28px, 5vw, 54px);
    border-radius: 26px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 90% 10%, rgba(255, 98, 56, 0.26), transparent 32%),
      linear-gradient(135deg, var(--rk-dark), #17485e);
    text-align: center;
  }

  #rk-build-control .rk-build-cta h3 {
    max-width: 920px;
    margin: 0 auto 15px;
    color: var(--rk-white);
    font-size: clamp(1.45rem, 3.4vw, 2.35rem);
  }

  #rk-build-control .rk-build-cta p {
    max-width: 930px;
    margin: 0 auto 24px;
    color: #d8e8ee;
  }

  #rk-build-control .rk-build-cta-link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 58px;
    padding: 14px 26px;
    border-radius: 15px;
    color: var(--rk-white) !important;
    background: linear-gradient(90deg, var(--rk-orange), #f04432);
    box-shadow: 0 14px 30px rgba(216, 60, 47, 0.25);
    font-weight: 950;
    line-height: 1.3;
    text-decoration: none !important;
  }

  #rk-build-control .rk-build-cta-link:hover,
  #rk-build-control .rk-build-cta-link:focus-visible {
    color: var(--rk-white) !important;
    background: linear-gradient(90deg, #f04432, var(--rk-orange));
    transform: translateY(-1px);
    outline: 3px solid rgba(255, 255, 255, 0.18);
  }

  #rk-build-control .rk-build-cta small {
    display: block;
    max-width: 850px;
    margin: 14px auto 0;
    color: #b9cbd4;
    font-size: 0.72rem;
    line-height: 1.45;
  }

  #rk-build-control .rk-build-author-box {
    overflow: hidden;
    border: 1px solid #cbdfe7;
    border-radius: 26px;
    background: var(--rk-white);
  }

  #rk-build-control .rk-build-author-head {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    padding: 28px clamp(24px, 4vw, 42px);
    border-bottom: 5px solid var(--rk-cyan);
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-dark), #17485e);
  }

  #rk-build-control .rk-build-author-head h3 {
    margin-bottom: 7px;
    color: var(--rk-white);
    font-size: clamp(1.55rem, 3.4vw, 2.35rem);
  }

  #rk-build-control .rk-build-author-head p {
    margin: 0;
    color: #d8e8ee;
  }

  #rk-build-control .rk-build-author-mark {
    flex: 0 0 auto;
    padding: 10px 16px;
    border: 1px solid rgba(40, 201, 218, 0.4);
    border-radius: 14px;
    color: #72eaf4;
    font-size: 0.75rem;
    font-weight: 950;
    letter-spacing: 0.1em;
  }

  #rk-build-control .rk-build-author-main {
    display: grid;
    grid-template-columns: 330px minmax(0, 1fr);
  }

  #rk-build-control .rk-build-author-profile {
    padding: 38px 28px;
    border-right: 1px solid var(--rk-line);
    background: #f3f8fa;
    text-align: center;
  }

  #rk-build-control .rk-build-author-profile img {
    width: 174px;
    height: 174px;
    margin: 0 auto 20px;
    border: 9px solid var(--rk-white);
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 16px 38px rgba(16, 37, 54, 0.14);
  }

  #rk-build-control .rk-build-author-profile h4 {
    margin-bottom: 8px;
    font-size: 1.3rem;
  }

  #rk-build-control .rk-build-author-role {
    display: block;
    color: var(--rk-blue);
    font-size: 0.74rem;
    font-weight: 950;
    letter-spacing: 0.07em;
    line-height: 1.55;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-author-content {
    padding: clamp(28px, 4vw, 46px);
  }

  #rk-build-control .rk-build-quote {
    position: relative;
    margin-bottom: 26px;
    padding: 26px 26px 26px 54px;
    border-radius: 19px;
    background: var(--rk-cyan-soft);
  }

  #rk-build-control .rk-build-quote::before {
    content: "“";
    position: absolute;
    top: 8px;
    left: 18px;
    color: var(--rk-cyan);
    font-family: Georgia, serif;
    font-size: 3.4rem;
    font-weight: 900;
    line-height: 1;
  }

  #rk-build-control .rk-build-quote blockquote {
    margin: 0;
    padding: 0;
    border: 0;
    color: var(--rk-dark);
    font-size: clamp(1.04rem, 2vw, 1.25rem);
    font-style: italic;
    font-weight: 820;
    line-height: 1.62;
  }

  #rk-build-control .rk-build-author-tabs {
    position: relative;
  }

  #rk-build-control .rk-build-author-radio {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    opacity: 0;
    overflow: hidden;
  }

  #rk-build-control .rk-build-author-labels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--rk-line);
    border-radius: 15px 15px 0 0;
    overflow: hidden;
    background: var(--rk-soft);
  }

  #rk-build-control .rk-build-author-labels label {
    display: grid;
    place-items: center;
    min-height: 60px;
    margin: 0;
    padding: 11px;
    border-right: 1px solid var(--rk-line);
    color: var(--rk-muted);
    cursor: pointer;
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.04em;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
  }

  #rk-build-control .rk-build-author-labels label:last-child {
    border-right: 0;
  }

  #rk-build-control .rk-build-author-labels label:hover {
    color: var(--rk-blue);
    background: #eefbfe;
  }

  #rk-build-control .rk-build-author-panels {
    min-height: 200px;
    padding: 25px;
    border: 1px solid var(--rk-line);
    border-top: 0;
    border-radius: 0 0 15px 15px;
  }

  #rk-build-control .rk-build-author-panel {
    display: none;
  }

  #rk-build-control .rk-build-author-panel p:last-child {
    margin-bottom: 0;
  }

  #rk-build-author-about:checked ~ .rk-build-author-labels label[for="rk-build-author-about"],
  #rk-build-author-exp:checked ~ .rk-build-author-labels label[for="rk-build-author-exp"],
  #rk-build-author-sites:checked ~ .rk-build-author-labels label[for="rk-build-author-sites"] {
    color: var(--rk-blue);
    background: var(--rk-white);
    box-shadow: inset 0 -5px 0 var(--rk-blue);
  }

  #rk-build-author-about:focus-visible ~ .rk-build-author-labels label[for="rk-build-author-about"],
  #rk-build-author-exp:focus-visible ~ .rk-build-author-labels label[for="rk-build-author-exp"],
  #rk-build-author-sites:focus-visible ~ .rk-build-author-labels label[for="rk-build-author-sites"] {
    outline: 3px solid rgba(40, 201, 218, 0.28);
    outline-offset: -3px;
  }

  #rk-build-author-about:checked ~ .rk-build-author-panels .rk-build-author-about,
  #rk-build-author-exp:checked ~ .rk-build-author-panels .rk-build-author-exp,
  #rk-build-author-sites:checked ~ .rk-build-author-panels .rk-build-author-sites {
    display: block;
  }

  #rk-build-control .rk-build-portals {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
  }

  #rk-build-control .rk-build-portals a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    padding: 9px 14px;
    border: 1px solid #c9dce5;
    border-radius: 999px;
    color: var(--rk-dark);
    background: var(--rk-white);
    text-decoration: none;
  }

  #rk-build-control .rk-build-portals a:hover,
  #rk-build-control .rk-build-portals a:focus-visible {
    border-color: var(--rk-blue);
    color: var(--rk-white);
    background: var(--rk-blue);
    outline: none;
  }

  @media (max-width: 1120px) {
    #rk-build-control .rk-build-responsibility {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #rk-build-control .rk-build-stop-grid,
    #rk-build-control .rk-build-docs {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-build-control .rk-build-author-main {
      grid-template-columns: 280px minmax(0, 1fr);
    }
  }

  @media (max-width: 860px) {
    #rk-build-control {
      font-size: 17px;
    }

    #rk-build-control .rk-build-answer,
    #rk-build-control .rk-build-audit-head,
    #rk-build-control .rk-build-audit-result,
    #rk-build-control .rk-build-author-main {
      grid-template-columns: 1fr;
    }

    #rk-build-control .rk-build-flow {
      grid-template-columns: 1fr;
    }

    #rk-build-control .rk-build-flow-card:not(:last-child)::after {
      top: auto;
      right: 50%;
      bottom: -25px;
      transform: translateX(50%) rotate(90deg);
    }

    #rk-build-control .rk-build-responsibility {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-build-control .rk-build-audit-stage-nav {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-build-control .rk-build-author-profile {
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
    }
  }

  @media (max-width: 720px) {
    #rk-build-control .rk-build-shell {
      border-radius: 22px;
    }

    #rk-build-control .rk-build-section-head {
      grid-template-columns: 48px minmax(0, 1fr);
      gap: 14px;
    }

    #rk-build-control .rk-build-section-no {
      width: 48px;
      height: 48px;
      border-radius: 14px;
      font-size: 0.72rem;
    }

    #rk-build-control .rk-build-formulas,
    #rk-build-control .rk-build-checks,
    #rk-build-control .rk-build-gate-grid,
    #rk-build-control .rk-build-stop-grid,
    #rk-build-control .rk-build-docs {
      grid-template-columns: 1fr;
    }

    #rk-build-control .rk-build-gate {
      grid-template-columns: 1fr;
    }

    #rk-build-control .rk-build-gate-no {
      min-height: 86px;
      flex-direction: row;
      gap: 10px;
    }

    #rk-build-control .rk-build-table-wrap {
      overflow: visible;
      border: 0;
      border-radius: 0;
    }

    #rk-build-control .rk-build-table,
    #rk-build-control .rk-build-table tbody,
    #rk-build-control .rk-build-table tr,
    #rk-build-control .rk-build-table td {
      display: block;
      width: 100%;
    }

    #rk-build-control .rk-build-table {
      background: transparent;
    }

    #rk-build-control .rk-build-table thead {
      position: absolute;
      width: 1px;
      height: 1px;
      margin: -1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      white-space: nowrap;
    }

    #rk-build-control .rk-build-table tr {
      margin-bottom: 14px;
      padding: 5px 18px;
      border: 1px solid var(--rk-line);
      border-radius: 18px;
      background: var(--rk-white);
      box-shadow: 0 9px 24px rgba(16, 37, 54, 0.05);
    }

    #rk-build-control .rk-build-table td,
    #rk-build-control .rk-build-table tbody tr:nth-child(even) td {
      padding: 13px 0;
      border-bottom: 1px solid var(--rk-line);
      background: transparent;
    }

    #rk-build-control .rk-build-table td:last-child {
      border-bottom: 0;
    }

    #rk-build-control .rk-build-table td::before {
      content: attr(data-label);
      display: block;
      margin-bottom: 5px;
      color: var(--rk-blue);
      font-size: 0.65rem;
      font-weight: 950;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }
  }

  @media (max-width: 560px) {
    #rk-build-control {
      margin-top: 18px;
      font-size: 16px;
    }

    #rk-build-control .rk-build-hero,
    #rk-build-control .rk-build-content {
      padding-left: 20px;
      padding-right: 20px;
    }

    #rk-build-control .rk-build-nav {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      padding-left: 16px;
      padding-right: 16px;
    }

    #rk-build-control .rk-build-nav a {
      justify-content: center;
      text-align: center;
    }

    #rk-build-control .rk-build-responsibility,
    #rk-build-control .rk-build-audit-stage-nav,
    #rk-build-control .rk-build-author-labels {
      grid-template-columns: 1fr;
    }

    #rk-build-control .rk-build-author-labels {
      border-radius: 15px 15px 0 0;
    }

    #rk-build-control .rk-build-author-labels label {
      min-height: 48px;
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
    }

    #rk-build-control .rk-build-author-labels label:last-child {
      border-bottom: 0;
    }

    #rk-build-control .rk-build-author-head {
      align-items: flex-start;
      flex-direction: column;
    }

    #rk-build-control .rk-build-author-mark {
      align-self: flex-start;
    }

    #rk-build-control .rk-build-author-panels {
      min-height: 0;
      padding: 20px;
    }

    #rk-build-control .rk-build-audit-result {
      padding: 20px;
    }

    #rk-build-control .rk-build-audit-signal {
      min-height: 60px;
    }

    #rk-build-control .rk-build-audit-actions {
      align-items: stretch;
      flex-direction: column;
    }

    #rk-build-control .rk-build-reset {
      width: 100%;
    }

    #rk-build-control .rk-build-portals {
      align-items: stretch;
      flex-direction: column;
    }

    #rk-build-control .rk-build-portals a {
      justify-content: center;
      text-align: center;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #rk-build-control *,
    #rk-build-control *::before,
    #rk-build-control *::after {
      scroll-behavior: auto !important;
      transition: none !important;
    }
  }
</style>

<article id="rk-build-control" itemscope="" itemtype="https://schema.org/TechArticle" aria-labelledby="rk-build-hero-title">
  <meta itemprop="inLanguage" content="pl-PL">
  <meta itemprop="datePublished" content="2026-04-24">
  <meta itemprop="dateModified" content="2026-08-25">
  <meta itemprop="mainEntityOfPage" content="https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/">

  <div class="rk-build-shell">
    <div class="rk-build-progress-track" aria-hidden="true"><div class="rk-build-progress"></div></div>

    <header class="rk-build-hero">
      <div class="rk-build-badge">Kontrola zgodności • 5 bramek odbiorowych</div>
      <h2 id="rk-build-hero-title" itemprop="headline">Projekt był dobry. <span>Budowa zmieniła dane wejściowe.</span></h2>
      <div class="rk-build-hook">Najgroźniejsze odstępstwo nie musi wyglądać jak fuszerka. Czasem jest nim przesunięcie rozdzielacza, zmiana okładziny, cieńsza izolacja albo inny układ ścian — decyzja podjęta już po wykonaniu obliczeń.</div>
      <p class="rk-build-hero-lead" itemprop="description">Najczęstsze błędy na budowie, które psują nawet najlepszy projekt ogrzewania podłogowego, powstają wtedy, gdy rzeczywisty budynek przestaje odpowiadać danym, dla których policzono moc, rozstaw rur, długości pętli, przepływy i temperaturę zasilania. Ten poradnik pokazuje, które zmiany wymagają ponownej kontroli oraz jak przeprowadzić odbiór w pięciu etapach.</p>
      <div class="rk-build-hero-meta">
        <span>Autor: Robert Kucharski</span>
        <span>Aktualizacja techniczna: 25 sierpnia 2026 r.</span>
        <span>Poziom: inwestor • wykonawca • kierownik budowy</span>
      </div>
    </header>

    <nav class="rk-build-nav" aria-label="Nawigacja po artykule">
      <a href="#rk-build-decision">Krótka odpowiedź</a>
      <a href="#rk-build-changes">Zmiany wymagające kontroli</a>
      <a href="#rk-build-audit">Kontrola 5 etapów</a>
      <a href="#rk-build-gates">Odbiory etapowe</a>
      <a href="#rk-build-stop">Kiedy powiedzieć STOP</a>
      <a href="#rk-build-faq">FAQ</a>
    </nav>

    <div class="rk-build-content">
      <section class="rk-build-section" id="rk-build-decision" aria-labelledby="rk-build-h2-1">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">01</div>
          <div>
            <h2 id="rk-build-h2-1">Czy dobry projekt ogrzewania podłogowego może zostać zepsuty na budowie?</h2>
            <p>Tak — jeżeli wykonanie albo sam budynek różnią się od danych przyjętych do obliczeń.</p>
          </div>
        </div>

        <div class="rk-build-answer">
          <div>
            <h3>Najkrótsza odpowiedź</h3>
            <p><strong>Projekt nie przestaje być poprawny tylko dlatego, że na budowie podjęto inną decyzję.</strong> Przestaje natomiast opisywać rzeczywisty układ. Jeżeli zmieniono izolację, stolarkę, temperaturę źródła, opór okładziny, powierzchnię aktywną, położenie rozdzielacza albo geometrię pomieszczeń, trzeba ocenić wpływ tej zmiany przed zakryciem instalacji.</p>
            <p>Najbezpieczniejsza zasada brzmi: <strong>najpierw zapis zmiany, potem decyzja projektowa, na końcu wykonanie</strong>. Kolejność odwrotna prowadzi do sytuacji, w której projekt i dokumentacja powykonawcza pokazują dwa różne budynki.</p>
          </div>
          <div class="rk-build-answer-verdict">
            <span>Zasada nadrzędna</span>
            <strong>Nie pytaj tylko: „czy rury są ułożone równo?”. Zapytaj: „czy wykonano układ, który został policzony?”.</strong>
          </div>
        </div>

        <div class="rk-build-note">
          <p><strong>Ważne rozróżnienie:</strong> szczegółowe usterki montażowe rur, rozdzielacza, dylatacji i hydrauliki omawia osobny poradnik o tym, <a href="https://projekt-ogrzewania.pl/jakie-bledy-najczesciej-popelniaja-instalatorzy-ogrzewania-podlogowego/">jakie błędy najczęściej popełniają instalatorzy ogrzewania podłogowego</a>. Ten artykuł koncentruje się na kontroli zmian między projektem a rzeczywistą budową.</p>
        </div>
      </section>

      <section class="rk-build-section" id="rk-build-logic" aria-labelledby="rk-build-h2-2">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">02</div>
          <div>
            <h2 id="rk-build-h2-2">Dlaczego drobna zmiana może naruszyć kilka obliczeń jednocześnie?</h2>
            <p>Parametry ogrzewania podłogowego tworzą system naczyń połączonych.</p>
          </div>
        </div>

        <p><a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">Profesjonalny projekt ogrzewania podłogowego</a> nie jest tylko rysunkiem przewodów. Łączy obciążenie cieplne pomieszczeń, aktywną powierzchnię podłogi, konstrukcję przegrody, opór cieplny okładziny, temperaturę wody, rozstaw rur, długość pętli, wymagany przepływ oraz stratę ciśnienia. Zmiana jednego wejścia może więc zmienić kilka wyników.</p>

        <div class="rk-build-flow" aria-label="Łańcuch wpływu zmiany budowlanej">
          <div class="rk-build-flow-card">
            <span>1. Dane projektu</span>
            <h3>Obciążenie i konstrukcja</h3>
            <p>Straty ciepła, temperatura pomieszczenia, aktywna powierzchnia, warstwy podłogi, okładzina, źródło ciepła i położenie rozdzielacza.</p>
          </div>
          <div class="rk-build-flow-card">
            <span>2. Zmiana na budowie</span>
            <h3>Inny budynek niż w obliczeniach</h3>
            <p>Przesunięta ściana, mniejsza izolacja, większe przeszklenie, dywan zamiast płytki, rozdzielacz w innym miejscu albo ograniczona powierzchnia grzejna.</p>
          </div>
          <div class="rk-build-flow-card">
            <span>3. Skutek</span>
            <h3>Inna moc i hydraulika</h3>
            <p>Może zmienić się wymagany strumień ciepła, rozstaw, temperatura zasilania, długość obiegu, przepływ, opór hydrauliczny oraz nastawa rozdzielacza.</p>
          </div>
        </div>

        <div class="rk-build-formulas">
          <div class="rk-build-formula">
            <h3>Wymagana moc z powierzchni aktywnej</h3>
            <code>q<sub>wym</sub> = Φ<sub>pom</sub> / A<sub>aktywna</sub></code>
            <p>Jeżeli zabudowa stała, wanna, wyspa lub zmiana układu pomieszczenia zmniejszy aktywną powierzchnię, na każdy pozostały metr kwadratowy przypada większe obciążenie. Nie oznacza to automatycznie, że wystarczy zagęścić rury — trzeba sprawdzić możliwości całej konstrukcji podłogi.</p>
          </div>
          <div class="rk-build-formula">
            <h3>Przepływ wynikający z mocy pętli</h3>
            <code>V̇ [m³/h] = Q [kW] / (1,163 × ΔT [K])</code>
            <p>Przepływ nie wynika z równego podziału między rotametry. Zależy od mocy przypisanej do pętli i projektowej różnicy temperatury. Po zmianie strefy lub przebiegu obiegu trzeba sprawdzić zarówno wymagany przepływ, jak i stratę ciśnienia.</p>
          </div>
        </div>

        <div class="rk-build-warning">
          <p><strong>Przykład zależności:</strong> przesunięcie rozdzielacza wydłuża odcinki przyłączeniowe kilku pętli. Nie musi zmienić zapotrzebowania pomieszczeń, ale może zmienić długości obiegów, ich opory i możliwość zrównoważenia. Dlatego sam zapis „rozdzielacz przesunięty o dwa metry” nie jest pełną odpowiedzią techniczną.</p>
        </div>
      </section>

      <section class="rk-build-section" id="rk-build-changes" aria-labelledby="rk-build-h2-3">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">03</div>
          <div>
            <h2 id="rk-build-h2-3">Które odstępstwa od projektu ogrzewania podłogowego wymagają kontroli?</h2>
            <p>Nie każda korekta oznacza przeprojektowanie całości, ale każda powinna zostać zgłoszona i oceniona przed wykonaniem.</p>
          </div>
        </div>

        <div class="rk-build-table-wrap">
          <table class="rk-build-table">
            <thead>
              <tr>
                <th style="width:22%">Zmiana na budowie</th>
                <th style="width:34%">Co może zmienić?</th>
                <th style="width:20%">Decyzja</th>
                <th style="width:24%">Co przekazać do weryfikacji?</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td data-label="Zmiana"><strong>Inna izolacja ścian, dachu lub podłogi</strong></td>
                <td data-label="Wpływ">Obciążenie cieplne pomieszczeń, straty do gruntu, wymaganą moc podłogi oraz temperaturę zasilania.</td>
                <td data-label="Decyzja"><span class="rk-build-status is-red">Sprawdzić przed rurami</span></td>
                <td data-label="Dane">Rodzaj materiału, rzeczywista grubość, deklarowana λ i przekrój warstw.</td>
              </tr>
              <tr>
                <td data-label="Zmiana"><strong>Zmiana okien, ich wymiaru albo liczby</strong></td>
                <td data-label="Wpływ">Straty przez przenikanie, infiltrację, lokalne obciążenie przy przeszkleniu i potrzebę strefy brzegowej.</td>
                <td data-label="Decyzja"><span class="rk-build-status is-red">Ponowna ocena mocy</span></td>
                <td data-label="Dane">Wymiar, współczynnik U, sposób montażu i aktualny rzut elewacji.</td>
              </tr>
              <tr>
                <td data-label="Zmiana"><strong>Przesunięcie ścian lub zmiana funkcji pomieszczenia</strong></td>
                <td data-label="Wpływ">Podział stref, temperaturę obliczeniową, powierzchnię aktywną, liczbę pętli i przypisanie sterowania.</td>
                <td data-label="Decyzja"><span class="rk-build-status is-red">Aktualizacja rzutu</span></td>
                <td data-label="Dane">Nowy rzut z wymiarami, przeznaczenie pomieszczeń i oczekiwana temperatura.</td>
              </tr>
              <tr>
                <td data-label="Zmiana"><strong>Inna okładzina podłogowa</strong></td>
                <td data-label="Wpływ">Opór cieplny nad rurą, temperaturę powierzchni, wymaganą temperaturę wody i osiągalną moc.</td>
                <td data-label="Decyzja"><span class="rk-build-status is-orange">Sprawdzić opór R</span></td>
                <td data-label="Dane">Rodzaj okładziny, grubość, podkład oraz deklarowany opór cieplny całego zestawu.</td>
              </tr>
              <tr>
                <td data-label="Zmiana"><strong>Przesunięcie rozdzielacza</strong></td>
                <td data-label="Wpływ">Długości przyłączy pętli, opory hydrauliczne, przebieg przewodów i możliwość odpowietrzania.</td>
                <td data-label="Decyzja"><span class="rk-build-status is-orange">Przeliczyć pętle</span></td>
                <td data-label="Dane">Nowa lokalizacja, odległości, wysokość montażu i dostęp serwisowy.</td>
              </tr>
              <tr>
                <td data-label="Zmiana"><strong>Inne źródło ciepła lub temperatura zasilania</strong></td>
                <td data-label="Wpływ">Dostępną moc podłogi, sprawność źródła, krzywą grzewczą, układ hydrauliczny oraz automatykę.</td>
                <td data-label="Decyzja"><span class="rk-build-status is-red">Weryfikacja całego układu</span></td>
                <td data-label="Dane">Model i parametry źródła, schemat hydrauliczny oraz projektowa temperatura zasilania i powrotu.</td>
              </tr>
              <tr>
                <td data-label="Zmiana"><strong>Inny rozstaw albo przebieg rur</strong></td>
                <td data-label="Wpływ">Moc powierzchniową, równomierność temperatury, długość obiegów, przepływy i opory.</td>
                <td data-label="Decyzja"><span class="rk-build-status is-red">Nie zmieniać „na oko”</span></td>
                <td data-label="Dane">Aktualny rzut, rzeczywista powierzchnia aktywna i przyczyna zmiany.</td>
              </tr>
              <tr>
                <td data-label="Zmiana"><strong>Inna grubość jastrychu lub poziom podłogi</strong></td>
                <td data-label="Wpływ">Położenie rury w warstwie, bezwładność, przekazywanie ciepła, dylatacje i współpracę z okładziną.</td>
                <td data-label="Decyzja"><span class="rk-build-status is-orange">Koordynacja branżowa</span></td>
                <td data-label="Dane">Rodzaj jastrychu, przekrój warstw, planowane poziomy oraz dokumentacja wykonawcza posadzki.</td>
              </tr>
              <tr>
                <td data-label="Zmiana"><strong>Większa zabudowa stała</strong></td>
                <td data-label="Wpływ">Aktywną powierzchnię oddawania ciepła, miejsca bez rur i lokalne obciążenie pozostałej podłogi.</td>
                <td data-label="Decyzja"><span class="rk-build-status is-orange">Sprawdzić powierzchnię</span></td>
                <td data-label="Dane">Rzut kuchni, szaf, wanien, kominka i innych elementów trwale związanych z podłogą.</td>
              </tr>
            </tbody>
          </table>
        </div>

        <p>Zmiana samej nazwy materiału nie zawsze ma znaczenie, ale zmiana jego parametrów — już tak. Przykładowo dwa produkty oznaczone jako styropian mogą mieć inną przewodność cieplną i wytrzymałość. Dlatego zamiast ogólnego zdania „będzie podobny materiał” potrzebne są dane z dokumentacji produktu i rzeczywisty przekrój podłogi.</p>

        <p>W przypadku okładziny warto sprawdzić nie tylko warstwę wierzchnią. <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">Wpływ okładziny na wydajność ogrzewania podłogowego</a> obejmuje także podkład, klej i sposób ułożenia. Suma oporów znajduje się nad systemem grzewczym i wpływa na warunki przekazywania ciepła.</p>
      </section>

      <section class="rk-build-section" id="rk-build-roles" aria-labelledby="rk-build-h2-4">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">04</div>
          <div>
            <h2 id="rk-build-h2-4">Kto powinien pilnować zgodności projektu z budową?</h2>
            <p>Kontrola nie może opierać się na założeniu, że „ktoś na pewno to sprawdził”.</p>
          </div>
        </div>

        <div class="rk-build-responsibility">
          <div class="rk-build-responsibility-card">
            <span>IN</span>
            <h3>Inwestor</h3>
            <p>Zgłasza zmiany funkcji, materiałów, okładzin i zabudowy. Pilnuje, aby wykonawcy pracowali na tej samej, aktualnej wersji dokumentacji.</p>
          </div>
          <div class="rk-build-responsibility-card">
            <span>PR</span>
            <h3>Projektant instalacji</h3>
            <p>Ocenia wpływ zmian na moc i hydraulikę, wskazuje potrzebne korekty oraz aktualizuje dane istotne dla wykonania i regulacji.</p>
          </div>
          <div class="rk-build-responsibility-card">
            <span>WY</span>
            <h3>Wykonawca instalacji</h3>
            <p>Porównuje warunki na budowie z projektem, nie wprowadza samowolnych zmian i zapisuje rzeczywiste długości, trasy oraz oznaczenia pętli.</p>
          </div>
          <div class="rk-build-responsibility-card">
            <span>JA</span>
            <h3>Wykonawca jastrychu</h3>
            <p>Realizuje uzgodnioną konstrukcję posadzki i pola dylatacyjne, chroni instalację oraz nie rozpoczyna pracy bez formalnego dopuszczenia do zakrycia.</p>
          </div>
          <div class="rk-build-responsibility-card">
            <span>KB</span>
            <h3>Kierownik budowy</h3>
            <p>Koordynuje kolejność robót i dokumentuje odbiory w zakresie wynikającym z inwestycji, projektu, umów oraz obowiązujących przepisów.</p>
          </div>
        </div>

        <div class="rk-build-note">
          <p><strong>Tabela ma charakter organizacyjny, a nie prawny.</strong> Formalny zakres obowiązków zależy od umów, dokumentacji inwestycji i przepisów. Technicznie najważniejsze jest jednak to, aby każda zmiana miała właściciela decyzji, datę, uzasadnienie i aktualny rysunek.</p>
        </div>
      </section>

      <section class="rk-build-section" id="rk-build-audit" aria-labelledby="rk-build-h2-5">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">05</div>
          <div>
            <h2 id="rk-build-h2-5">Interaktywna kontrola zgodności projektu z budową</h2>
            <p>Dwadzieścia potwierdzeń pogrupowanych według momentu, w którym można jeszcze bezpiecznie zatrzymać roboty.</p>
          </div>
        </div>

        <div class="rk-build-audit" data-rk-build-audit="">
          <div class="rk-build-audit-head">
            <div>
              <h3>Pięć bramek odbiorowych ogrzewania podłogowego</h3>
              <p>Zaznacz wyłącznie elementy faktycznie sprawdzone na budowie albo potwierdzone dokumentem. Punkty krytyczne blokują ocenę pozytywną.</p>
            </div>
            <div class="rk-build-audit-score">
              <span class="rk-build-audit-score-label">Stopień potwierdzenia</span>
              <strong id="rk-build-score">0%</strong>
              <small id="rk-build-count">0 z 20 punktów</small>
            </div>
          </div>

          <div class="rk-build-audit-bar" role="progressbar" aria-label="Postęp kontroli" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="rk-build-audit-fill" id="rk-build-fill"></div></div>

          <div class="rk-build-audit-result" id="rk-build-result">
            <div class="rk-build-audit-signal" id="rk-build-signal">STOP</div>
            <p id="rk-build-message" aria-live="polite">Nie potwierdzono punktów krytycznych. Nie traktuj instalacji jako gotowej do zakrycia.</p>
          </div>

          <div class="rk-build-audit-body">
            <div class="rk-build-audit-stage-nav" aria-label="Etapy checklisty">
              <a href="#rk-build-audit-stage-1"><span>Etap 1</span><strong>Zamrożenie danych</strong></a>
              <a href="#rk-build-audit-stage-2"><span>Etap 2</span><strong>Warstwy podłogi</strong></a>
              <a href="#rk-build-audit-stage-3"><span>Etap 3</span><strong>Ułożone pętle</strong></a>
              <a href="#rk-build-audit-stage-4"><span>Etap 4</span><strong>Przed jastrychem</strong></a>
              <a href="#rk-build-audit-stage-5"><span>Etap 5</span><strong>Odbiór końcowy</strong></a>
            </div>

            <div class="rk-build-audit-groups">
              <div class="rk-build-audit-group" id="rk-build-audit-stage-1" data-rk-build-stage-group="1">
                <div class="rk-build-audit-group-head"><h4>Etap 1 — dane projektu odpowiadają aktualnemu budynkowi</h4><span class="rk-build-stage-count" data-rk-build-stage-count="1">0/4</span></div>
                <div class="rk-build-checks">
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="1" data-critical="1"><span>Wszyscy wykonawcy mają tę samą, aktualną wersję rzutu i projektu.<em>krytyczne</em></span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="1" data-critical="1"><span>Potwierdzono rzeczywiste izolacje, okna, funkcje pomieszczeń i temperatury obliczeniowe.<em>krytyczne</em></span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="1"><span>Znane są finalne okładziny, podkłady i planowana zabudowa stała.</span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="1"><span>Źródło ciepła, temperatura projektowa i lokalizacja rozdzielacza nie zmieniły się albo zostały ponownie sprawdzone.</span></label>
                </div>
              </div>

              <div class="rk-build-audit-group" id="rk-build-audit-stage-2" data-rk-build-stage-group="2">
                <div class="rk-build-audit-group-head"><h4>Etap 2 — podłoże i warstwy są gotowe pod instalację</h4><span class="rk-build-stage-count" data-rk-build-stage-count="2">0/4</span></div>
                <div class="rk-build-checks">
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="2" data-critical="1"><span>Rzeczywista wysokość i układ warstw podłogi odpowiadają przekrojowi przyjętemu w projekcie.<em>krytyczne</em></span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="2"><span>Izolacja jest stabilna, ciągła i ułożona bez pustek powodujących ruch warstw.</span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="2"><span>Uzgodniono izolację brzegową, szczeliny i pola jastrychu z przejściami rur.</span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="2"><span>Przepusty, progi, piony i kolizje branżowe zostały rozwiązane przed rozwinięciem rur.</span></label>
                </div>
              </div>

              <div class="rk-build-audit-group" id="rk-build-audit-stage-3" data-rk-build-stage-group="3">
                <div class="rk-build-audit-group-head"><h4>Etap 3 — pętle można porównać z obliczeniami</h4><span class="rk-build-stage-count" data-rk-build-stage-count="3">0/4</span></div>
                <div class="rk-build-checks">
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="3" data-critical="1"><span>Rozstaw, przebieg, miejsca bez rur i strefy brzegowe odpowiadają aktualnemu rzutowi.<em>krytyczne</em></span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="3"><span>Każda pętla ma oznaczenie, pomieszczenie, rzeczywistą długość i właściwe przyłączenie do rozdzielacza.</span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="3" data-critical="1"><span>Nie ma nieudokumentowanych połączeń, załamań ani uszkodzeń przewodu w obszarze przyszłego jastrychu.<em>krytyczne</em></span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="3"><span>Wykonano zdjęcia całych pomieszczeń i detali z miarą lub stałymi punktami odniesienia.</span></label>
                </div>
              </div>

              <div class="rk-build-audit-group" id="rk-build-audit-stage-4" data-rk-build-stage-group="4">
                <div class="rk-build-audit-group-head"><h4>Etap 4 — instalacja jest formalnie dopuszczona do zakrycia</h4><span class="rk-build-stage-count" data-rk-build-stage-count="4">0/4</span></div>
                <div class="rk-build-checks">
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="4" data-critical="1"><span>Wykonano próbę szczelności według właściwej procedury i zapisano jej wynik.<em>krytyczne</em></span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="4"><span>Protokół zawiera medium, ciśnienie, czasy odczytów, temperaturę, wynik oraz osoby uczestniczące.</span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="4"><span>Rury są zabezpieczone w przejściach, przy rozdzielaczu i w miejscach komunikacji ekip.</span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="4" data-critical="1"><span>Podpisano decyzję o dopuszczeniu do jastrychu po usunięciu wszystkich zapisanych niezgodności.<em>krytyczne</em></span></label>
                </div>
              </div>

              <div class="rk-build-audit-group" id="rk-build-audit-stage-5" data-rk-build-stage-group="5">
                <div class="rk-build-audit-group-head"><h4>Etap 5 — uruchomienie i dokumentacja zamykają proces</h4><span class="rk-build-stage-count" data-rk-build-stage-count="5">0/4</span></div>
                <div class="rk-build-checks">
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="5"><span>Jastrych pielęgnowano i uruchomiono ogrzewanie według właściwej procedury dla zastosowanego materiału.</span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="5"><span>Przed okładziną sprawdzono warunki podłoża metodą właściwą dla jastrychu i systemu wykończeniowego.</span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="5"><span>Ustawiono projektowe przepływy, parametry pompy i sterowania oraz zapisano nastawy początkowe.</span></label>
                  <label class="rk-build-check"><input type="checkbox" data-rk-build-check="" data-stage="5"><span>Inwestor otrzymał projekt, rewizję powykonawczą, protokoły, zdjęcia, długości pętli i tabelę nastaw.</span></label>
                </div>
              </div>
            </div>

            <div class="rk-build-audit-actions">
              <button class="rk-build-reset" type="button" id="rk-build-reset">Wyczyść kontrolę</button>
              <div class="rk-build-missing" id="rk-build-missing">Brakuje 20 potwierdzeń, w tym 7 krytycznych.</div>
            </div>
          </div>

          <div class="rk-build-disclaimer"><strong>Zakres narzędzia:</strong> checklista porządkuje komunikację i dokumenty. Nie ogląda budowy, nie zna parametrów projektu i nie stanowi odbioru technicznego, opinii prawnej ani zgody na wykonanie jastrychu. Punkt należy zaznaczyć dopiero po rzeczywistym sprawdzeniu.</div>
        </div>
      </section>

      <section class="rk-build-section" id="rk-build-gates" aria-labelledby="rk-build-h2-6">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">06</div>
          <div>
            <h2 id="rk-build-h2-6">Pięć odbiorów etapowych — co dokładnie sprawdzić?</h2>
            <p>Każda bramka zamyka inne ryzyko. Odbiór dopiero po ułożeniu rur jest potrzebny, ale nie cofnie błędnej izolacji ani nieaktualnych danych wejściowych.</p>
          </div>
        </div>

        <div class="rk-build-gates">
          <div class="rk-build-gate">
            <div class="rk-build-gate-no"><span>Bramka</span><strong>01</strong></div>
            <div class="rk-build-gate-content">
              <h3>Przed zamówieniem materiałów: zamrożenie danych projektu</h3>
              <p>Projekt musi odpowiadać aktualnej architekturze i planowanym warstwom. Na tym etapie należy potwierdzić wymiary pomieszczeń, temperatury, izolacje, stolarkę, źródło ciepła, rozdzielacze oraz okładziny. Jeżeli od wykonania obliczeń zmieniła się dokumentacja budynku, nie powinno się wysyłać ekipie starego rzutu z dopiskiem „jakoś dopasujemy”.</p>
              <div class="rk-build-gate-grid">
                <div class="rk-build-gate-box">
                  <h4>Sprawdź</h4>
                  <ul><li>numer i datę rewizji projektu;</li><li>aktualny rzut architektury;</li><li>temperaturę źródła i schemat hydrauliczny;</li><li>finalne materiały przegród i podłogi.</li></ul>
                </div>
                <div class="rk-build-gate-box">
                  <h4>Zapisz</h4>
                  <ul><li>listę zmian od momentu obliczeń;</li><li>osobę akceptującą każdą zmianę;</li><li>aktualną tabelę pomieszczeń;</li><li>wersję przekazaną wykonawcy.</li></ul>
                </div>
              </div>
            </div>
          </div>

          <div class="rk-build-gate">
            <div class="rk-build-gate-no"><span>Bramka</span><strong>02</strong></div>
            <div class="rk-build-gate-content">
              <h3>Przed ułożeniem rur: odbiór podłoża i konstrukcji podłogi</h3>
              <p>Rury nie naprawią błędnej konstrukcji pod nimi. Trzeba skontrolować rzeczywistą grubość, typ i ciągłość izolacji, stabilność płyt, poziomy, izolację brzegową, przepusty oraz plan szczelin jastrychu. Zagadnienia te warto zestawić z poradnikami o <a href="https://projekt-ogrzewania.pl/jakie-sa-najlepsze-sposoby-izolacji-pod-ogrzewanie-podlogowe/">izolacji pod ogrzewaniem podłogowym</a> i o <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacji brzegowej oraz dylatacjach</a>.</p>
              <div class="rk-build-gate-grid">
                <div class="rk-build-gate-box">
                  <h4>Sprawdź</h4>
                  <ul><li>zgodność przekroju i poziomów;</li><li>brak pustek i ruchomych płyt;</li><li>ciągłość taśmy brzegowej;</li><li>przewężenia, progi i pola jastrychu.</li></ul>
                </div>
                <div class="rk-build-gate-box">
                  <h4>Nie akceptuj</h4>
                  <ul><li>izolacji opisanej tylko jako „podobna”;</li><li>kolizji odkładanych do dnia wylewki;</li><li>zmiany wysokości bez korekty przekroju;</li><li>braku uzgodnienia szczelin z trasami rur.</li></ul>
                </div>
              </div>
            </div>
          </div>

          <div class="rk-build-gate">
            <div class="rk-build-gate-no"><span>Bramka</span><strong>03</strong></div>
            <div class="rk-build-gate-content">
              <h3>Po ułożeniu rur: porównanie pętla po pętli</h3>
              <p>Odbiór powinien przejść od króćca zasilającego do powrotnego każdej pętli. Należy sprawdzić oznaczenie, obsługiwane pomieszczenie, rozstaw, trasę, rzeczywistą długość, miejsca bez rur, łuki, mocowanie, przejścia i stan przewodu. <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">Dopuszczalnej długości pętli</a> nie ocenia się jedną uniwersalną liczbą — znaczenie mają średnica wewnętrzna, przepływ, opór armatury i strata ciśnienia całego obiegu.</p>
              <div class="rk-build-gate-grid">
                <div class="rk-build-gate-box">
                  <h4>Sprawdź</h4>
                  <ul><li>zgodność z aktualnym rzutem;</li><li>czytelne oznaczenia na rozdzielaczu;</li><li>brak ukrytych połączeń i uszkodzeń;</li><li>rzeczywiste długości oraz kolejność obiegów.</li></ul>
                </div>
                <div class="rk-build-gate-box">
                  <h4>Udokumentuj</h4>
                  <ul><li>zdjęcie całego pomieszczenia;</li><li>detale przejść i zagęszczeń;</li><li>miarę albo stały punkt odniesienia;</li><li>zmiany naniesione na rzut powykonawczy.</li></ul>
                </div>
              </div>
            </div>
          </div>

          <div class="rk-build-gate">
            <div class="rk-build-gate-no"><span>Bramka</span><strong>04</strong></div>
            <div class="rk-build-gate-content">
              <h3>Przed wylewką: próba, protokół i dopuszczenie do zakrycia</h3>
              <p>Próba szczelności ma wykazać stan instalacji przed jej trwałym zakryciem. Nie należy kopiować jednej wartości ciśnienia i czasu z przypadkowego poradnika do każdego systemu. Medium, ciśnienie, kolejne odczyty, wpływ temperatury i kryterium oceny muszą wynikać z właściwej procedury, projektu oraz dokumentacji zastosowanego systemu. Szczegółowe omówienie znajduje się w artykule o <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próbie szczelności ogrzewania podłogowego</a>.</p>
              <div class="rk-build-gate-grid">
                <div class="rk-build-gate-box">
                  <h4>Protokół powinien identyfikować</h4>
                  <ul><li>instalację i badane obiegi;</li><li>medium oraz aparaturę pomiarową;</li><li>ciśnienie, czasy i temperatury;</li><li>wynik, uwagi i osoby uczestniczące.</li></ul>
                </div>
                <div class="rk-build-gate-box">
                  <h4>Przed pompą do jastrychu</h4>
                  <ul><li>usuń wszystkie niezgodności;</li><li>zabezpiecz przejścia i rozdzielacz;</li><li>ustal stan instalacji podczas prac;</li><li>podpisz odbiór przed zakryciem.</li></ul>
                </div>
              </div>
            </div>
          </div>

          <div class="rk-build-gate">
            <div class="rk-build-gate-no"><span>Bramka</span><strong>05</strong></div>
            <div class="rk-build-gate-content">
              <h3>Po wykonaniu jastrychu: uruchomienie, równoważenie i dokumentacja powykonawcza</h3>
              <p>Procedura pielęgnacji i pierwszego uruchomienia zależy od zastosowanego jastrychu oraz dokumentacji wykonawczej. Rozgrzewanie nie zastępuje pomiaru warunków podłoża przed ułożeniem okładziny. Po uruchomieniu trzeba ustawić przepływy wynikające z projektu, sprawdzić pracę pompy i automatyki oraz zapisać parametry początkowe. Informacje o konstrukcji warstwy znajdziesz w przewodniku o <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">wylewce na ogrzewaniu podłogowym</a>.</p>
              <div class="rk-build-gate-grid">
                <div class="rk-build-gate-box">
                  <h4>Odbiór eksploatacyjny</h4>
                  <ul><li>przepływy i nastawy poszczególnych pętli;</li><li>parametry pompy i sterowania;</li><li>temperaturę zasilania i powrotu;</li><li>reakcję pomieszczeń po stabilizacji.</li></ul>
                </div>
                <div class="rk-build-gate-box">
                  <h4>Pakiet dla inwestora</h4>
                  <ul><li>projekt i rewizja powykonawcza;</li><li>protokół próby oraz odbioru;</li><li>zdjęcia tras przed wylewką;</li><li>tabela pętli, przepływów i nastaw.</li></ul>
                </div>
              </div>
            </div>
          </div>
        </div>
      </section>

      <section class="rk-build-section" id="rk-build-stop" aria-labelledby="rk-build-h2-7">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">07</div>
          <div>
            <h2 id="rk-build-h2-7">Kiedy należy powiedzieć „STOP — nie wykonywać wylewki”?</h2>
            <p>Zakrycie rur usuwa możliwość prostego oglądu i wielokrotnie zwiększa koszt każdej późniejszej ingerencji.</p>
          </div>
        </div>

        <div class="rk-build-stop-grid">
          <div class="rk-build-stop-card"><span>STOP 01</span><h3>Nieaktualny projekt</h3><p>Rzut nie pokazuje rzeczywistych ścian, funkcji pomieszczeń, rozdzielacza albo zabudowy, a zmiany nie zostały ocenione.</p></div>
          <div class="rk-build-stop-card"><span>STOP 02</span><h3>Niezgodne warstwy</h3><p>Brakuje potwierdzenia rodzaju i grubości izolacji, poziomu podłogi, rodzaju jastrychu albo podziału pól.</p></div>
          <div class="rk-build-stop-card"><span>STOP 03</span><h3>Uszkodzona rura</h3><p>Widać nacięcie, załamanie, spłaszczenie lub połączenie, którego nie ma w dokumentacji i które nie zostało ocenione.</p></div>
          <div class="rk-build-stop-card"><span>STOP 04</span><h3>Brak próby i protokołu</h3><p>Nie wiadomo, według jakiej procedury instalację zbadano, jakie były odczyty ani kto potwierdził wynik.</p></div>
          <div class="rk-build-stop-card"><span>STOP 05</span><h3>Brak zgodności pętli</h3><p>Nie można przypisać obiegów do pomieszczeń, nie znamy długości albo rozstaw i trasy istotnie różnią się od projektu.</p></div>
          <div class="rk-build-stop-card"><span>STOP 06</span><h3>Brak dokumentacji zdjęciowej</h3><p>Nie wykonano zdjęć przed zakryciem, mimo że trasy zostały zmienione albo inwestor nie otrzymał rzutu powykonawczego.</p></div>
        </div>

        <div class="rk-build-warning">
          <p><strong>Pośpiech ekipy wylewkowej nie jest argumentem technicznym.</strong> Jeżeli niezgodność można ocenić za godzinę, ale po zalaniu jej sprawdzenie będzie wymagało diagnostyki albo odkrywek, rozsądniej zatrzymać pracę przed przyjazdem jastrychu niż negocjować przy pracującej pompie.</p>
        </div>
      </section>

      <section class="rk-build-section" id="rk-build-symptoms" aria-labelledby="rk-build-h2-8">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">08</div>
          <div>
            <h2 id="rk-build-h2-8">Objawy po zamieszkaniu a możliwe odstępstwa na budowie</h2>
            <p>Objaw nie jest diagnozą. Pokazuje jedynie, od których danych i pomiarów warto zacząć.</p>
          </div>
        </div>

        <div class="rk-build-table-wrap">
          <table class="rk-build-table">
            <thead>
              <tr>
                <th style="width:24%">Objaw</th>
                <th style="width:43%">Co mogło zmienić się względem projektu?</th>
                <th style="width:33%">Co sprawdzić najpierw?</th>
              </tr>
            </thead>
            <tbody>
              <tr><td data-label="Objaw"><strong>Jedno pomieszczenie stale nie osiąga temperatury</strong></td><td data-label="Możliwe odstępstwo">Inna okładzina, mniejsza powierzchnia aktywna, większe przeszklenie, zmieniony rozstaw, niski przepływ albo inna temperatura projektowa pomieszczenia.</td><td data-label="Pierwsza kontrola">Aktualny rzut, obciążenie cieplne, aktywna powierzchnia, przepływ i temperatury pętli po stabilizacji.</td></tr>
              <tr><td data-label="Objaw"><strong>Cały system wymaga wyższej temperatury wody</strong></td><td data-label="Możliwe odstępstwo">Gorsze przegrody, inna okładzina, większe straty wentylacyjne, mniejsza aktywna powierzchnia albo niezgodna konstrukcja podłogi.</td><td data-label="Pierwsza kontrola">Rzeczywiste materiały, ustawienia krzywej, przepływy, temperatura powierzchni oraz zgodność z bilansem cieplnym.</td></tr>
              <tr><td data-label="Objaw"><strong>Nie można ustawić wymaganych przepływów</strong></td><td data-label="Możliwe odstępstwo">Wydłużone pętle po przesunięciu rozdzielacza, zmieniona armatura, powietrze, zabrudzenie albo niewłaściwy punkt pracy pompy.</td><td data-label="Pierwsza kontrola">Rzeczywiste długości, odczyty rotametrów, stan filtrów, odpowietrzenie i dostępne ciśnienie różnicowe.</td></tr>
              <tr><td data-label="Objaw"><strong>Nierównomierny ślad cieplny podłogi</strong></td><td data-label="Możliwe odstępstwo">Inna trasa lub rozstaw, zmienna warstwa nad rurą, element zabudowy, powietrze albo chwilowe warunki pomiaru.</td><td data-label="Pierwsza kontrola">Zdjęcia przed wylewką, czas pracy, temperaturę wody, rodzaj okładziny i pomiary po ustabilizowaniu.</td></tr>
              <tr><td data-label="Objaw"><strong>Rysy albo odspojenie okładziny</strong></td><td data-label="Możliwe odstępstwo">Nieprawidłowy podział pól, warunki wykonania lub pielęgnacji jastrychu, brak właściwych szczelin, zbyt wczesne uruchomienie albo błąd systemu wykończeniowego.</td><td data-label="Pierwsza kontrola">Dokumentację jastrychu, przebieg szczelin, protokół uruchomienia, wilgotność i warunki montażu okładziny.</td></tr>
              <tr><td data-label="Objaw"><strong>Brak informacji, gdzie można wiercić</strong></td><td data-label="Możliwe odstępstwo">Nie wykonano zdjęć lub rzutu powykonawczego albo trasy różnią się od projektu.</td><td data-label="Pierwsza kontrola">Archiwum zdjęć, punkty odniesienia, rzut pętli i bezpieczną diagnostykę przed ingerencją.</td></tr>
            </tbody>
          </table>
        </div>

        <p>Nieprawidłowo działającego systemu nie należy diagnozować wyłącznie kamerą termowizyjną ani samymi rotametrami. Potrzebne jest zestawienie projektu, dokumentacji powykonawczej, przepływów, temperatur i warunków pracy. Inaczej łatwo pomylić błąd projektu, odstępstwo wykonawcze, niewłaściwą regulację i chwilowy stan układu.</p>
      </section>

      <section class="rk-build-section" id="rk-build-docs" aria-labelledby="rk-build-h2-9">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">09</div>
          <div>
            <h2 id="rk-build-h2-9">Dokumentacja powykonawcza podłogówki — co powinno zostać po budowie?</h2>
            <p>Dokumentacja ma pozwolić odtworzyć to, co zniknęło pod jastrychem, oraz uruchomić układ zgodnie z obliczeniami.</p>
          </div>
        </div>

        <div class="rk-build-docs">
          <div class="rk-build-doc"><span>01</span><h3>Aktualny projekt</h3><p>Rzut pętli, obliczenia pomieszczeń, parametry pracy, rozdzielacze i schemat hydrauliczny w wersji odpowiadającej wykonanemu budynkowi.</p></div>
          <div class="rk-build-doc"><span>02</span><h3>Rejestr zmian</h3><p>Data, opis, przyczyna, osoba zgłaszająca, decyzja projektowa oraz wskazanie rysunku lub tabeli, które zostały zaktualizowane.</p></div>
          <div class="rk-build-doc"><span>03</span><h3>Tabela pętli</h3><p>Nazwa obiegu, pomieszczenie, długość rzeczywista, średnica, projektowy przepływ, nastawa i ewentualna uwaga wykonawcza.</p></div>
          <div class="rk-build-doc"><span>04</span><h3>Zdjęcia tras</h3><p>Widoki całych pomieszczeń i detali z miarą, osiami ścian albo trwałymi punktami odniesienia umożliwiającymi późniejszą lokalizację.</p></div>
          <div class="rk-build-doc"><span>05</span><h3>Protokoły</h3><p>Próba szczelności, odbiór przed zakryciem, dokumenty dotyczące jastrychu, procedura pierwszego uruchomienia i ewentualne pomiary pod okładzinę.</p></div>
          <div class="rk-build-doc"><span>06</span><h3>Nastawy startowe</h3><p>Przepływy, parametry pompy, krzywa grzewcza, ograniczenia temperatur i podstawowe ustawienia automatyki zapisane przy uruchomieniu.</p></div>
        </div>

        <div class="rk-build-tip">
          <p><strong>Praktyczna zasada archiwizacji:</strong> komplet powinien istnieć co najmniej w dwóch miejscach i mieć jednoznaczną nazwę inwestycji oraz datę. Zdjęcia bez rzutu, miary i opisu są znacznie mniej przydatne niż krótki, uporządkowany pakiet powykonawczy.</p>
        </div>
      </section>

      <section class="rk-build-section" id="rk-build-prevention" aria-labelledby="rk-build-h2-10">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">10</div>
          <div>
            <h2 id="rk-build-h2-10">Jak ograniczyć błędy bez zamieniania budowy w biuro projektowe?</h2>
            <p>Nie potrzeba setek dokumentów. Potrzeba krótkiej procedury, której każda ekipa rzeczywiście przestrzega.</p>
          </div>
        </div>

        <div class="rk-build-flow">
          <div class="rk-build-flow-card"><span>Krok A</span><h3>Jedna wersja obowiązująca</h3><p>Na budowie jest jedna aktualna dokumentacja. Starsze rzuty pozostają w archiwum z wyraźnym oznaczeniem, że nie służą do wykonania.</p></div>
          <div class="rk-build-flow-card"><span>Krok B</span><h3>Zmiana w jednym formularzu</h3><p>Każda korekta otrzymuje opis, zdjęcie lub rysunek, datę, osobę zgłaszającą oraz decyzję: bez wpływu, korekta lokalna albo aktualizacja projektu.</p></div>
          <div class="rk-build-flow-card"><span>Krok C</span><h3>Zakrycie dopiero po odbiorze</h3><p>Jastrych rozpoczyna się po zamknięciu uwag, wykonaniu próby, zdjęć i podpisaniu dopuszczenia do zakrycia.</p></div>
        </div>

        <p>Najlepiej, gdy proces rozpoczyna się jeszcze przed wejściem instalatora. Im wcześniej przygotowano <a href="https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/">projekt ogrzewania podłogowego</a> i skoordynowano go z architekturą, tym mniej zmian trzeba rozstrzygać przy rozwiniętych rurach. Jeżeli jednak zmiana jest potrzebna, jej zgłoszenie nie oznacza porażki — błędem jest dopiero ukrycie jej pod wylewką bez sprawdzenia wpływu.</p>

        <div class="rk-build-note">
          <p><strong>Kontrola jakości nie polega na szukaniu winnego.</strong> Jej celem jest wykrycie rozbieżności w momencie, w którym można ją jeszcze poprawić bez niszczenia gotowych warstw. Dlatego dobry protokół opisuje fakt, decyzję i termin, a nie emocje między ekipami.</p>
        </div>
      </section>

      <section class="rk-build-section" id="rk-build-faq" aria-labelledby="rk-build-h2-11">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">11</div>
          <div>
            <h2 id="rk-build-h2-11">FAQ — błędy na budowie a projekt ogrzewania podłogowego</h2>
            <p>Odpowiedzi na pytania dotyczące odstępstw, odbioru przed wylewką i dokumentacji powykonawczej.</p>
          </div>
        </div>

        <div class="rk-build-faq-list">
          <details class="rk-build-faq"><summary>Jakie błędy na budowie najczęściej psują projekt ogrzewania podłogowego?</summary><div class="rk-build-faq-answer"><p>Najczęściej są to niezaktualizowane zmiany architektury, inne izolacje lub okna, zmiana okładziny, przesunięcie rozdzielacza, samowolna korekta rozstawu i przebiegu pętli, niezgodna konstrukcja podłogi, brak próby szczelności, brak odbioru przed jastrychem oraz brak dokumentacji powykonawczej.</p></div></details>
          <details class="rk-build-faq"><summary>Czy każda zmiana na budowie wymaga nowego projektu podłogówki?</summary><div class="rk-build-faq-answer"><p>Nie każda wymaga opracowania projektu od początku. Każda zmiana istotna dla obciążenia cieplnego, powierzchni aktywnej, temperatury wody, długości pętli, przepływów lub konstrukcji podłogi powinna jednak zostać oceniona. Wynikiem może być brak korekty, lokalna zmiana albo aktualizacja kilku części dokumentacji.</p></div></details>
          <details class="rk-build-faq"><summary>Czy można przesunąć rozdzielacz ogrzewania podłogowego po wykonaniu projektu?</summary><div class="rk-build-faq-answer"><p>Można po sprawdzeniu nowej lokalizacji. Przesunięcie zmienia długości przyłączy kilku pętli, ich przebieg, opory hydrauliczne i dostęp serwisowy. Trzeba zaktualizować długości oraz ocenić możliwość uzyskania wymaganych przepływów.</p></div></details>
          <details class="rk-build-faq"><summary>Czy można zmienić płytki na panele po wykonaniu projektu?</summary><div class="rk-build-faq-answer"><p>Zmianę należy sprawdzić na podstawie łącznego oporu cieplnego panelu, podkładu i sposobu montażu. Większy opór nad rurą może zmniejszyć osiągalną moc albo wymagać wyższej temperatury wody. Istotne są również ograniczenia temperatury podane dla wybranej okładziny.</p></div></details>
          <details class="rk-build-faq"><summary>Czy pętla dłuższa niż 100 metrów zawsze jest błędem?</summary><div class="rk-build-faq-answer"><p>Nie można oceniać pętli tylko jedną długością. Znaczenie mają średnica wewnętrzna przewodu, przepływ, wymagana moc, różnica temperatury, armatura, opór całej trasy i dostępne ciśnienie pompy. O poprawności decydują obliczenia konkretnego obiegu.</p></div></details>
          <details class="rk-build-faq"><summary>Jakie ciśnienie zastosować przy próbie szczelności podłogówki?</summary><div class="rk-build-faq-answer"><p>Nie należy przyjmować uniwersalnej wartości bez znajomości systemu. Medium, ciśnienie, czas stabilizacji, kolejne odczyty oraz kryterium wyniku powinny wynikać z właściwej procedury, projektu, dokumentacji zastosowanych elementów i warunków na budowie.</p></div></details>
          <details class="rk-build-faq"><summary>Czy przed wylewką trzeba ustawiać wszystkie rotametry?</summary><div class="rk-build-faq-answer"><p>Odbiór przed zakryciem powinien potwierdzić identyfikację obiegów, drożność oraz próbę zgodną z procedurą. Docelowe równoważenie wykonuje się w warunkach uruchomienia instalacji według projektowych przepływów. Jednakowe ustawienie wszystkich rotametrów nie jest zasadą projektową.</p></div></details>
          <details class="rk-build-faq"><summary>Co powinien zawierać protokół odbioru podłogówki przed wylewką?</summary><div class="rk-build-faq-answer"><p>Powinien identyfikować inwestycję i wersję projektu, potwierdzać zgodność tras i oznaczeń, wskazywać uwagi oraz ich usunięcie, zawierać wynik próby szczelności, datę, uczestników i jednoznaczną decyzję dotyczącą dopuszczenia instalacji do zakrycia.</p></div></details>
          <details class="rk-build-faq"><summary>Czy zdjęcia rur przed wylewką wystarczą jako dokumentacja?</summary><div class="rk-build-faq-answer"><p>Nie. Zdjęcia są jednym z elementów. Potrzebne są również aktualny rzut, identyfikacja pętli, ich rzeczywiste długości, protokół próby, zestawienie nastaw oraz opis zmian. Fotografie powinny zawierać miarę albo trwałe punkty odniesienia.</p></div></details>
          <details class="rk-build-faq"><summary>Kiedy trzeba ponownie przeliczyć ogrzewanie podłogowe?</summary><div class="rk-build-faq-answer"><p>Ponowna kontrola jest potrzebna szczególnie po zmianie przegród, okien, temperatur pomieszczeń, aktywnej powierzchni, okładziny, źródła ciepła, temperatury zasilania, położenia rozdzielacza, liczby i przebiegu pętli albo konstrukcji podłogi.</p></div></details>
          <details class="rk-build-faq"><summary>Kto zatwierdza zmianę rozstawu rur na budowie?</summary><div class="rk-build-faq-answer"><p>Rozstaw wynika z obciążenia pomieszczenia, konstrukcji podłogi i parametrów wody, dlatego jego zmianę powinien ocenić autor właściwej części projektu lub osoba posiadająca komplet danych do ponownego sprawdzenia. Nie powinien być korygowany wyłącznie na podstawie ilości pozostałej rury.</p></div></details>
          <details class="rk-build-faq"><summary>Co zrobić, gdy instalacja została już zalana bez dokumentacji?</summary><div class="rk-build-faq-answer"><p>Należy zebrać dostępne projekty, zdjęcia i informacje wykonawcy, zidentyfikować pętle, wykonać bezpieczne pomiary instalacji oraz uzupełnić dokumentację w zakresie możliwym bez odkrywek. Zakres diagnostyki zależy od objawów i nie powinien być zastępowany zgadywaniem przebiegu rur.</p></div></details>
        </div>
      </section>

      <section class="rk-build-section" id="rk-build-sources" aria-labelledby="rk-build-h2-12">
        <div class="rk-build-section-head">
          <div class="rk-build-section-no">12</div>
          <div>
            <h2 id="rk-build-h2-12">Podstawa techniczna i źródła</h2>
            <p>Neutralne źródła dotyczące projektowania i instalowania wbudowanych systemów ogrzewania powierzchniowego.</p>
          </div>
        </div>

        <div class="rk-build-sources">
          <ul>
            <li><a href="https://www.iso.org/standard/74683.html" target="_blank" rel="noopener nofollow">ISO 11855-2:2021</a> — zasady określania projektowej mocy ogrzewania i chłodzenia powierzchniowego.</li>
            <li><a href="https://www.iso.org/standard/74685.html" target="_blank" rel="noopener nofollow">ISO 11855-5:2021</a> — zagadnienia dotyczące instalowania wbudowanych systemów powierzchniowych.</li>
            <li><a href="https://www.iso.org/standard/64999.html" target="_blank" rel="noopener nofollow">ISO 11855-6:2018</a> — zagadnienia dotyczące sterowania wbudowanymi systemami ogrzewania i chłodzenia powierzchniowego.</li>
          </ul>
        </div>
        <p class="rk-build-small">Artykuł nie publikuje treści norm i nie zastępuje projektu, dokumentacji zastosowanego systemu, wymagań dotyczących konkretnego jastrychu ani oceny wykonania na budowie. Przed zastosowaniem procedury należy sprawdzić aktualne dokumenty właściwe dla inwestycji.</p>
      </section>

      <div class="rk-build-cta" aria-label="Projekt ogrzewania podłogowego">
        <h3>Chcesz przekazać wykonawcy dokumentację, z którą można porównać każdą pętlę przed wylewką?</h3>
        <p>Projekt określa obciążenie pomieszczeń, aktywne powierzchnie, rozstaw i przebieg rur, długości pętli, wymagane przepływy, opory hydrauliczne, temperaturę zasilania oraz nastawy rozdzielacza. Dzięki temu zmiana na budowie może zostać zauważona przed trwałym zakryciem instalacji.</p>
        <a class="rk-build-cta-link" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt instalacji ogrzewania podłogowego</a>
        <small>To jedyne CTA sprzedażowe w artykule. Odnośnik prowadzi do strony usługi Projekt-Ogrzewania.pl należącej do autora opracowania.</small>
      </div>

      <aside class="rk-build-author-box" aria-labelledby="rk-build-author-title" itemprop="author" itemscope="" itemtype="https://schema.org/Person">
        <meta itemprop="name" content="Robert Kucharski">
        <meta itemprop="url" content="https://projekt-ogrzewania.pl/">
        <div class="rk-build-author-head">
          <div><h3 id="rk-build-author-title">Autor opracowania</h3><p>Praktyka projektowa, wiedza techniczna i język zrozumiały dla inwestora.</p></div>
          <div class="rk-build-author-mark">E-E-A-T • HVAC</div>
        </div>
        <div class="rk-build-author-main">
          <div class="rk-build-author-profile">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski – specjalista systemów HVAC i ogrzewania podłogowego" width="174" height="174" loading="lazy" itemprop="image">
            <h4>Robert Kucharski</h4>
            <span class="rk-build-author-role" itemprop="jobTitle">CEO • specjalista systemów HVAC i ogrzewania podłogowego</span>
          </div>
          <div class="rk-build-author-content">
            <div class="rk-build-quote"><blockquote>„Projekt nie kończy się w chwili wysłania pliku. Musi jeszcze spotkać się z rzeczywistym budynkiem. Jeżeli na budowie zmieniają się izolacje, okładziny, ściany albo trasy pętli, trzeba ponownie połączyć wykonanie z obliczeniami — zanim rury znikną pod jastrychem.”</blockquote></div>

            <div class="rk-build-author-tabs">
              <input class="rk-build-author-radio" type="radio" name="rk-build-author-tabs" id="rk-build-author-about" checked="">
              <input class="rk-build-author-radio" type="radio" name="rk-build-author-tabs" id="rk-build-author-exp">
              <input class="rk-build-author-radio" type="radio" name="rk-build-author-tabs" id="rk-build-author-sites">

              <div class="rk-build-author-labels" role="tablist" aria-label="Informacje o autorze">
                <label for="rk-build-author-about" role="tab">O autorze</label>
                <label for="rk-build-author-exp" role="tab">Doświadczenie</label>
                <label for="rk-build-author-sites" role="tab">Portale</label>
              </div>

              <div class="rk-build-author-panels">
                <div class="rk-build-author-panel rk-build-author-about">
                  <p>Specjalizuję się w projektowaniu wodnego ogrzewania podłogowego, obliczeniach obciążenia cieplnego i hydraulice instalacji. Przygotowuję dokumentację, która łączy warunki źródła ciepła, konstrukcję podłogi, pętle, przepływy oraz nastawy w jeden możliwy do wykonania i skontrolowania układ.</p>
                </div>
                <div class="rk-build-author-panel rk-build-author-exp">
                  <p>W pracy projektowej zwracam szczególną uwagę na koordynację z rzeczywistą budową. Rozstaw rur, długości pętli i przepływy są poprawne tylko dla określonych danych wejściowych. Dlatego w opracowaniach oddzielam obliczenia od przyzwyczajeń wykonawczych i wskazuję punkty wymagające odbioru przed zakryciem instalacji.</p>
                </div>
                <div class="rk-build-author-panel rk-build-author-sites">
                  <p>Jestem właścicielem i autorem publikacji w trzech serwisach branżowych. Powiązanie portali podaję jawnie, aby czytelnik znał autorstwo i kontekst linkowania:</p>
                  <div class="rk-build-portals">
                    <a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a>
                    <a href="https://remont.biz.pl/" target="_blank" rel="noopener nofollow">Remont.biz.pl</a>
                    <a href="https://sobir.pl/" target="_blank" rel="noopener nofollow">Sobir.pl</a>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </aside>
    </div>
  </div>
</article>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#webpage",
      "url": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/",
      "name": "Najczęstsze błędy na budowie, które psują nawet najlepszy projekt ogrzewania podłogowego – kontrola 5 etapów",
      "description": "Najczęstsze błędy na budowie, które psują nawet najlepszy projekt ogrzewania podłogowego. Pięć etapów kontroli zmian, wykonania i dokumentacji przed zakryciem instalacji.",
      "inLanguage": "pl-PL",
      "isPartOf": { "@id": "https://projekt-ogrzewania.pl/#website" },
      "primaryImageOfPage": { "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#primaryimage" },
      "mainEntity": { "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#article" },
      "datePublished": "2026-04-24",
      "dateModified": "2026-08-25",
      "potentialAction": {
        "@type": "ReadAction",
        "target": ["https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/"]
      }
    },
    {
      "@type": ["TechArticle", "Article"],
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#article",
      "url": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/",
      "mainEntityOfPage": { "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#webpage" },
      "headline": "Najczęstsze błędy na budowie, które psują nawet najlepszy projekt ogrzewania podłogowego – kontrola 5 etapów",
      "alternativeHeadline": "Jak kontrolować odstępstwa od projektu podłogówki przed wylewką",
      "description": "Techniczny przewodnik po zmianach na budowie, które mogą naruszyć obliczenia ogrzewania podłogowego: dane wejściowe, warstwy podłogi, pętle, próba, jastrych, uruchomienie i dokumentacja powykonawcza.",
      "inLanguage": "pl-PL",
      "datePublished": "2026-04-24",
      "dateModified": "2026-08-25",
      "author": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" },
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "copyrightHolder": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" },
      "copyrightYear": 2026,
      "image": { "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#primaryimage" },
      "articleSection": [
        "Błędy na budowie",
        "Ogrzewanie podłogowe",
        "Kontrola zgodności projektu",
        "Odbiór przed wylewką",
        "Dokumentacja powykonawcza"
      ],
      "keywords": "najczęstsze błędy na budowie które psują nawet najlepszy projekt ogrzewania podłogowego, błędy na budowie podłogówki, odstępstwa od projektu ogrzewania podłogowego, kontrola ogrzewania podłogowego przed wylewką, odbiór podłogówki przed wylewką, przesunięcie rozdzielacza po projekcie, zmiana rozstawu rur na budowie, zmiana okładziny po projekcie podłogówki, dokumentacja powykonawcza ogrzewania podłogowego, protokół odbioru podłogówki, checklista podłogówki przed wylewką",
      "proficiencyLevel": "Expert",
      "educationalLevel": "Zaawansowany poradnik techniczny dla inwestora, wykonawcy i kierownika budowy",
      "isAccessibleForFree": true,
      "audience": [
        { "@type": "Audience", "audienceType": "Inwestorzy budujący dom" },
        { "@type": "Audience", "audienceType": "Wykonawcy instalacji ogrzewania podłogowego" },
        { "@type": "Audience", "audienceType": "Kierownicy budowy" }
      ],
      "about": [
        { "@type": "Thing", "name": "Ogrzewanie podłogowe" },
        { "@type": "Thing", "name": "Kontrola zgodności projektu z wykonaniem" },
        { "@type": "Thing", "name": "Odbiór instalacji przed wylewką" },
        { "@type": "Thing", "name": "Dokumentacja powykonawcza" }
      ],
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": ["#rk-build-h2-1", ".rk-build-answer", "#rk-build-stop", "#rk-build-faq"]
      },
      "hasPart": [
        { "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#change-list" },
        { "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#howto" },
        { "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#faq" },
        { "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#audit" }
      ],
      "citation": [
        "https://www.iso.org/standard/74683.html",
        "https://www.iso.org/standard/74685.html",
        "https://www.iso.org/standard/64999.html"
      ]
    },
    {
      "@type": "ImageObject",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#primaryimage",
      "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego.webp",
      "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego.webp",
      "width": 900,
      "height": 900,
      "caption": "Najczęstsze błędy na budowie, które psują nawet najlepszy projekt ogrzewania podłogowego"
    },
    {
      "@type": "ItemList",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#change-list",
      "name": "Zmiany na budowie wymagające kontroli projektu ogrzewania podłogowego",
      "description": "Lista zmian mogących wpłynąć na obciążenie cieplne, moc podłogi, długości pętli, przepływy i opory hydrauliczne.",
      "numberOfItems": 9,
      "itemListOrder": "https://schema.org/ItemListOrderAscending",
      "itemListElement": [
        { "@type": "ListItem", "position": 1, "item": { "@type": "Thing", "name": "Zmiana izolacji ścian, dachu lub podłogi" } },
        { "@type": "ListItem", "position": 2, "item": { "@type": "Thing", "name": "Zmiana okien, ich wymiaru albo liczby" } },
        { "@type": "ListItem", "position": 3, "item": { "@type": "Thing", "name": "Przesunięcie ścian lub zmiana funkcji pomieszczenia" } },
        { "@type": "ListItem", "position": 4, "item": { "@type": "Thing", "name": "Zmiana okładziny i jej oporu cieplnego" } },
        { "@type": "ListItem", "position": 5, "item": { "@type": "Thing", "name": "Przesunięcie rozdzielacza ogrzewania podłogowego" } },
        { "@type": "ListItem", "position": 6, "item": { "@type": "Thing", "name": "Zmiana źródła ciepła lub temperatury zasilania" } },
        { "@type": "ListItem", "position": 7, "item": { "@type": "Thing", "name": "Zmiana rozstawu albo przebiegu rur" } },
        { "@type": "ListItem", "position": 8, "item": { "@type": "Thing", "name": "Zmiana grubości jastrychu lub poziomu podłogi" } },
        { "@type": "ListItem", "position": 9, "item": { "@type": "Thing", "name": "Zmiana powierzchni zabudowy stałej" } }
      ]
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#howto",
      "name": "Jak kontrolować zgodność projektu ogrzewania podłogowego z budową w pięciu etapach",
      "description": "Pięć bramek odbiorowych od zamrożenia danych projektu do uruchomienia i przekazania dokumentacji powykonawczej.",
      "inLanguage": "pl-PL",
      "totalTime": "P1D",
      "tool": [
        { "@type": "HowToTool", "name": "Aktualny projekt ogrzewania podłogowego" },
        { "@type": "HowToTool", "name": "Aktualny rzut architektury" },
        { "@type": "HowToTool", "name": "Dokumentacja zastosowanych materiałów" },
        { "@type": "HowToTool", "name": "Wyposażenie do właściwej próby szczelności" },
        { "@type": "HowToTool", "name": "Miara i aparat fotograficzny" },
        { "@type": "HowToTool", "name": "Protokół odbioru przed zakryciem" }
      ],
      "step": [
        {
          "@type": "HowToStep",
          "position": 1,
          "name": "Zamroź dane projektu przed zamówieniem materiałów",
          "text": "Potwierdź aktualny rzut, funkcje pomieszczeń, izolacje, okna, źródło ciepła, temperatury, rozdzielacz, okładziny oraz wersję dokumentacji przekazaną wykonawcy.",
          "url": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#rk-build-gates"
        },
        {
          "@type": "HowToStep",
          "position": 2,
          "name": "Odbierz podłoże i konstrukcję podłogi przed ułożeniem rur",
          "text": "Sprawdź rzeczywistą izolację, poziomy, stabilność warstw, izolację brzegową, szczeliny jastrychu, przepusty oraz kolizje branżowe.",
          "url": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#rk-build-gates"
        },
        {
          "@type": "HowToStep",
          "position": 3,
          "name": "Porównaj ułożone pętle z aktualnym projektem",
          "text": "Skontroluj oznaczenia, rozstaw, trasy, długości, miejsca bez rur, mocowanie, przejścia i stan przewodów oraz wykonaj zdjęcia z punktami odniesienia.",
          "url": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#rk-build-gates"
        },
        {
          "@type": "HowToStep",
          "position": 4,
          "name": "Wykonaj próbę i podpisz dopuszczenie do jastrychu",
          "text": "Zastosuj właściwą procedurę próby szczelności, zapisz parametry i wynik, usuń niezgodności, zabezpiecz instalację oraz formalnie dopuść ją do zakrycia.",
          "url": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#rk-build-gates"
        },
        {
          "@type": "HowToStep",
          "position": 5,
          "name": "Uruchom układ i przekaż dokumentację powykonawczą",
          "text": "Zrealizuj właściwą procedurę dla jastrychu, sprawdź podłoże przed okładziną, ustaw projektowe przepływy i sterowanie oraz przekaż projekt, protokoły, zdjęcia i tabelę nastaw.",
          "url": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#rk-build-gates"
        }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#faq",
      "inLanguage": "pl-PL",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Jakie błędy na budowie najczęściej psują projekt ogrzewania podłogowego?",
          "acceptedAnswer": { "@type": "Answer", "text": "Najczęściej są to niezaktualizowane zmiany architektury, inne izolacje lub okna, zmiana okładziny, przesunięcie rozdzielacza, samowolna korekta rozstawu i przebiegu pętli, niezgodna konstrukcja podłogi, brak próby szczelności, brak odbioru przed jastrychem oraz brak dokumentacji powykonawczej." }
        },
        {
          "@type": "Question",
          "name": "Czy każda zmiana na budowie wymaga nowego projektu podłogówki?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie każda wymaga opracowania projektu od początku. Każda zmiana istotna dla obciążenia cieplnego, powierzchni aktywnej, temperatury wody, długości pętli, przepływów lub konstrukcji podłogi powinna jednak zostać oceniona. Wynikiem może być brak korekty, lokalna zmiana albo aktualizacja kilku części dokumentacji." }
        },
        {
          "@type": "Question",
          "name": "Czy można przesunąć rozdzielacz ogrzewania podłogowego po wykonaniu projektu?",
          "acceptedAnswer": { "@type": "Answer", "text": "Można po sprawdzeniu nowej lokalizacji. Przesunięcie zmienia długości przyłączy kilku pętli, ich przebieg, opory hydrauliczne i dostęp serwisowy. Trzeba zaktualizować długości oraz ocenić możliwość uzyskania wymaganych przepływów." }
        },
        {
          "@type": "Question",
          "name": "Czy można zmienić płytki na panele po wykonaniu projektu?",
          "acceptedAnswer": { "@type": "Answer", "text": "Zmianę należy sprawdzić na podstawie łącznego oporu cieplnego panelu, podkładu i sposobu montażu. Większy opór nad rurą może zmniejszyć osiągalną moc albo wymagać wyższej temperatury wody. Istotne są również ograniczenia temperatury podane dla wybranej okładziny." }
        },
        {
          "@type": "Question",
          "name": "Czy pętla dłuższa niż 100 metrów zawsze jest błędem?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie można oceniać pętli tylko jedną długością. Znaczenie mają średnica wewnętrzna przewodu, przepływ, wymagana moc, różnica temperatury, armatura, opór całej trasy i dostępne ciśnienie pompy. O poprawności decydują obliczenia konkretnego obiegu." }
        },
        {
          "@type": "Question",
          "name": "Jakie ciśnienie zastosować przy próbie szczelności podłogówki?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie należy przyjmować uniwersalnej wartości bez znajomości systemu. Medium, ciśnienie, czas stabilizacji, kolejne odczyty oraz kryterium wyniku powinny wynikać z właściwej procedury, projektu, dokumentacji zastosowanych elementów i warunków na budowie." }
        },
        {
          "@type": "Question",
          "name": "Czy przed wylewką trzeba ustawiać wszystkie rotametry?",
          "acceptedAnswer": { "@type": "Answer", "text": "Odbiór przed zakryciem powinien potwierdzić identyfikację obiegów, drożność oraz próbę zgodną z procedurą. Docelowe równoważenie wykonuje się w warunkach uruchomienia instalacji według projektowych przepływów. Jednakowe ustawienie wszystkich rotametrów nie jest zasadą projektową." }
        },
        {
          "@type": "Question",
          "name": "Co powinien zawierać protokół odbioru podłogówki przed wylewką?",
          "acceptedAnswer": { "@type": "Answer", "text": "Powinien identyfikować inwestycję i wersję projektu, potwierdzać zgodność tras i oznaczeń, wskazywać uwagi oraz ich usunięcie, zawierać wynik próby szczelności, datę, uczestników i jednoznaczną decyzję dotyczącą dopuszczenia instalacji do zakrycia." }
        },
        {
          "@type": "Question",
          "name": "Czy zdjęcia rur przed wylewką wystarczą jako dokumentacja?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie. Zdjęcia są jednym z elementów. Potrzebne są również aktualny rzut, identyfikacja pętli, ich rzeczywiste długości, protokół próby, zestawienie nastaw oraz opis zmian. Fotografie powinny zawierać miarę albo trwałe punkty odniesienia." }
        },
        {
          "@type": "Question",
          "name": "Kiedy trzeba ponownie przeliczyć ogrzewanie podłogowe?",
          "acceptedAnswer": { "@type": "Answer", "text": "Ponowna kontrola jest potrzebna szczególnie po zmianie przegród, okien, temperatur pomieszczeń, aktywnej powierzchni, okładziny, źródła ciepła, temperatury zasilania, położenia rozdzielacza, liczby i przebiegu pętli albo konstrukcji podłogi." }
        },
        {
          "@type": "Question",
          "name": "Kto zatwierdza zmianę rozstawu rur na budowie?",
          "acceptedAnswer": { "@type": "Answer", "text": "Rozstaw wynika z obciążenia pomieszczenia, konstrukcji podłogi i parametrów wody, dlatego jego zmianę powinien ocenić autor właściwej części projektu lub osoba posiadająca komplet danych do ponownego sprawdzenia. Nie powinien być korygowany wyłącznie na podstawie ilości pozostałej rury." }
        },
        {
          "@type": "Question",
          "name": "Co zrobić, gdy instalacja została już zalana bez dokumentacji?",
          "acceptedAnswer": { "@type": "Answer", "text": "Należy zebrać dostępne projekty, zdjęcia i informacje wykonawcy, zidentyfikować pętle, wykonać bezpieczne pomiary instalacji oraz uzupełnić dokumentację w zakresie możliwym bez odkrywek. Zakres diagnostyki zależy od objawów i nie powinien być zastępowany zgadywaniem przebiegu rur." }
        }
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#audit",
      "name": "Kontrola zgodności projektu ogrzewania podłogowego z budową — 5 etapów",
      "url": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#rk-build-audit",
      "description": "Interaktywna lista dwudziestu potwierdzeń pogrupowanych w pięć bramek odbiorowych, ze wskazaniem siedmiu punktów krytycznych przed zakryciem instalacji.",
      "applicationCategory": "EducationalApplication",
      "applicationSubCategory": "Interaktywna lista kontroli budowy ogrzewania podłogowego",
      "operatingSystem": "Dowolny system z nowoczesną przeglądarką internetową",
      "browserRequirements": "JavaScript",
      "inLanguage": "pl-PL",
      "isAccessibleForFree": true,
      "creator": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" },
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "featureList": [
        "Kontrola aktualności danych projektu",
        "Kontrola podłoża i konstrukcji podłogi",
        "Kontrola ułożonych pętli",
        "Kontrola próby oraz dopuszczenia do jastrychu",
        "Kontrola uruchomienia i dokumentacji powykonawczej",
        "Siedem punktów krytycznych blokujących ocenę pozytywną",
        "Dynamiczny wynik oraz status STOP, KONSULTACJA lub GO"
      ],
      "offers": { "@type": "Offer", "price": "0", "priceCurrency": "PLN" },
      "softwareHelp": { "@id": "https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/#article" }
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle": "Projektant instalacji sanitarnych i specjalista systemów HVAC oraz ogrzewania podłogowego",
      "description": "Projektant wodnego ogrzewania podłogowego, autor technicznych opracowań i właściciel serwisów Projekt-Ogrzewania.pl, Remont.biz.pl oraz Sobir.pl.",
      "knowsAbout": [
        "Ogrzewanie podłogowe",
        "Projektowanie instalacji sanitarnych",
        "Obciążenie cieplne budynków",
        "Hydraulika instalacji grzewczych",
        "Kontrola zgodności projektu z wykonaniem",
        "Rozdzielacze i regulacja przepływów",
        "Dokumentacja powykonawcza"
      ],
      "sameAs": [
        "https://projekt-ogrzewania.pl/",
        "https://remont.biz.pl/",
        "https://sobir.pl/",
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy"
      ],
      "affiliation": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "owns": [
        { "@id": "https://projekt-ogrzewania.pl/#website" },
        { "@id": "https://remont.biz.pl/#website" },
        { "@id": "https://sobir.pl/#website" }
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt Ogrzewania",
      "url": "https://projekt-ogrzewania.pl/",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Projekt-ogrzewania-logo-1.jpg",
        "width": 1024,
        "height": 1024
      },
      "founder": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" }
    },
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt Ogrzewania",
      "inLanguage": "pl-PL",
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "creator": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" },
      "copyrightHolder": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" }
    },
    {
      "@type": "WebSite",
      "@id": "https://remont.biz.pl/#website",
      "url": "https://remont.biz.pl/",
      "name": "Remont.biz.pl",
      "inLanguage": "pl-PL",
      "creator": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" },
      "copyrightHolder": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" }
    },
    {
      "@type": "WebSite",
      "@id": "https://sobir.pl/#website",
      "url": "https://sobir.pl/",
      "name": "Sobir.pl",
      "inLanguage": "pl-PL",
      "creator": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" },
      "copyrightHolder": { "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1" }
    }
  ]
}
</script>

<script>
(function () {
  "use strict";

  function bootBuildControl() {
    var root = document.getElementById("rk-build-control");
    if (!root) {
      return;
    }
    if (root.getAttribute("data-rk-build-ready") === "1") {
      return;
    }
    root.setAttribute("data-rk-build-ready", "1");

    function find(selector) {
      return root.querySelector(selector);
    }

    function findAll(selector) {
      return root.querySelectorAll(selector);
    }

    function setText(selector, value) {
      var element = find(selector);
      if (element) {
        element.textContent = value;
      }
    }

    var checks = findAll("[data-rk-build-check]");
    var fill = find("#rk-build-fill");
    var progressbar = find(".rk-build-audit-bar");
    var signal = find("#rk-build-signal");
    var result = find("#rk-build-result");

    function updateStageCounts() {
      var stage;
      for (stage = 1; stage <= 5; stage += 1) {
        var stageChecks = findAll('[data-rk-build-check][data-stage="' + stage + '"]');
        var stageChecked = 0;
        var index;
        for (index = 0; index < stageChecks.length; index += 1) {
          if (stageChecks[index].checked) {
            stageChecked += 1;
          }
        }
        setText('[data-rk-build-stage-count="' + stage + '"]', stageChecked + "/" + stageChecks.length);
      }
    }

    function updateAudit() {
      var checked = 0;
      var criticalTotal = 0;
      var criticalChecked = 0;
      var index;

      for (index = 0; index < checks.length; index += 1) {
        if (checks[index].checked) {
          checked += 1;
        }
        if (checks[index].getAttribute("data-critical") === "1") {
          criticalTotal += 1;
          if (checks[index].checked) {
            criticalChecked += 1;
          }
        }
      }

      var total = checks.length;
      var missing = total - checked;
      var criticalMissing = criticalTotal - criticalChecked;
      var percent = total > 0 ? checked / total * 100 : 0;
      var rounded = Math.round(percent);

      setText("#rk-build-score", rounded + "%");
      setText("#rk-build-count", checked + " z " + total + " punktów");
      setText("#rk-build-missing", "Brakuje " + missing + " potwierdzeń, w tym " + criticalMissing + " krytycznych.");

      if (fill) {
        fill.style.width = percent.toFixed(1) + "%";
      }
      if (progressbar) {
        progressbar.setAttribute("aria-valuenow", String(rounded));
      }

      if (criticalMissing > 0) {
        if (signal) {
          signal.textContent = "STOP";
          signal.style.background = "#d83c2f";
        }
        if (result) {
          result.style.background = "#fff0ed";
        }
        if (fill) {
          fill.style.background = "#d83c2f";
        }
        setText("#rk-build-message", "Ocena czerwona: brakuje " + criticalMissing + " punktów krytycznych. Nie traktuj instalacji jako gotowej do zakrycia przed ich rzeczywistym sprawdzeniem i udokumentowaniem.");
      } else if (missing > 0) {
        if (signal) {
          signal.textContent = "KONSULTACJA";
          signal.style.background = "#b66a16";
        }
        if (result) {
          result.style.background = "#fff7e6";
        }
        if (fill) {
          fill.style.background = "#f2b441";
        }
        setText("#rk-build-message", "Ocena pomarańczowa: punkty krytyczne są potwierdzone, ale odbiór nie jest kompletny. Uzupełnij " + missing + " brakujących elementów i skonsultuj rozbieżności przed kolejnym etapem robót.");
      } else {
        if (signal) {
          signal.textContent = "GO";
          signal.style.background = "#178265";
        }
        if (result) {
          result.style.background = "#eaf8f3";
        }
        if (fill) {
          fill.style.background = "#178265";
        }
        setText("#rk-build-message", "Ocena zielona: wszystkie 20 punktów zostało potwierdzonych. Zachowaj projekt, rewizję powykonawczą, protokoły i zdjęcia. Wynik checklisty nadal nie zastępuje odbioru technicznego na budowie.");
      }

      updateStageCounts();
    }

    root.addEventListener("change", function (event) {
      var target = event.target;
      if (!target) {
        return;
      }
      if (target.matches("[data-rk-build-check]")) {
        updateAudit();
      }
    });

    root.addEventListener("click", function (event) {
      var clicked = event.target;
      if (!clicked) {
        return;
      }

      var resetButton = clicked.closest("#rk-build-reset");
      if (resetButton) {
        if (root.contains(resetButton)) {
          event.preventDefault();
          var index;
          for (index = 0; index < checks.length; index += 1) {
            checks[index].checked = false;
          }
          updateAudit();
          var audit = find("#rk-build-audit");
          if (audit) {
            audit.scrollIntoView({ behavior: "smooth", block: "start" });
          }
          return;
        }
      }

      var anchor = clicked.closest('a[href^="#"]');
      if (!anchor) {
        return;
      }
      if (!root.contains(anchor)) {
        return;
      }
      var selector = anchor.getAttribute("href");
      if (!selector) {
        return;
      }
      if (selector === "#") {
        return;
      }
      var destination = find(selector);
      if (!destination) {
        return;
      }
      event.preventDefault();
      var motion = "smooth";
      if (window.matchMedia) {
        if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
          motion = "auto";
        }
      }
      destination.scrollIntoView({ behavior: motion, block: "start" });
    });

    var readingProgress = find(".rk-build-progress");
    var ticking = false;

    function updateReadingProgress() {
      if (!readingProgress) {
        ticking = false;
        return;
      }
      var rect = root.getBoundingClientRect();
      var viewport = window.innerHeight || document.documentElement.clientHeight;
      var total = Math.max(root.offsetHeight - viewport, 1);
      var passed = Math.min(Math.max(-rect.top, 0), total);
      var value = Math.min(100, Math.max(0, passed / total * 100));
      readingProgress.style.width = value.toFixed(2) + "%";
      ticking = false;
    }

    function requestReadingProgress() {
      if (ticking) {
        return;
      }
      ticking = true;
      if (window.requestAnimationFrame) {
        window.requestAnimationFrame(updateReadingProgress);
      } else {
        window.setTimeout(updateReadingProgress, 16);
      }
    }

    window.addEventListener("scroll", requestReadingProgress, { passive: true });
    window.addEventListener("resize", requestReadingProgress, { passive: true });
    updateAudit();
    updateReadingProgress();
  }

  function scheduleBuildControl() {
    bootBuildControl();
    window.setTimeout(bootBuildControl, 250);
    window.setTimeout(bootBuildControl, 900);
    window.setTimeout(bootBuildControl, 2200);
  }

  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", scheduleBuildControl);
  } else {
    scheduleBuildControl();
  }

  window.addEventListener("load", bootBuildControl);
  window.addEventListener("pageshow", bootBuildControl);
}());
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-na-budowie-ktore-psuja-nawet-najlepszy-projekt-ogrzewania-podlogowego/">Najczęstsze błędy na budowie, które psują nawet najlepszy projekt ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Wymiennik płytowy w ogrzewaniu podłogowym – jak działa i jak go dobrać?</title>
		<link>https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Thu, 23 Apr 2026 07:09:15 +0000</pubDate>
				<category><![CDATA[Błędy wykonawcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Modernizacja instalacji]]></category>
		<category><![CDATA[Modernizacja ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Wymiennik płytowy]]></category>
		<category><![CDATA[Zabezpieczenia instalacji]]></category>
		<category><![CDATA[awarie instalacji]]></category>
		<category><![CDATA[jastrych cementowy]]></category>
		<category><![CDATA[kocioł na paliwo stałe]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[opory hydrauliczne]]></category>
		<category><![CDATA[pex]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[pompa obiegowa]]></category>
		<category><![CDATA[przepływ przeciwprądowy]]></category>
		<category><![CDATA[rozdzielacz podłogowy]]></category>
		<category><![CDATA[separacja hydrauliczna]]></category>
		<category><![CDATA[sprzęgło hydrauliczne]]></category>
		<category><![CDATA[temperatura zasilania]]></category>
		<category><![CDATA[wymiennik płytowy]]></category>
		<category><![CDATA[zawór trójdrogowy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4369</guid>

					<description><![CDATA[<p>Zastanawiasz się, jak bezpiecznie połączyć nowoczesny system płaszczyznowy ze starszym kotłem stałopalnym lub gazowym, który generuje bardzo wysokie temperatury? Odpowiedzią na to wyzwanie inżynieryjne jest prawidłowo dobrany wymiennik płytowy w ogrzewaniu podłogowym. To stosunkowo niewielkie, ale absolutnie kluczowe urządzenie pełni funkcję głównego strażnika całej instalacji. Skutecznie obniża temperaturę wody zasilającej, chroniąc rury PEX przed przyspieszonym starzeniem oraz wylewkę przed pękaniem. W naszym najnowszym artykule dokładnie analizujemy, kiedy jego montaż jest konieczny, a w jakich sytuacjach (np. przy nowoczesnych pompach ciepła) można z niego zrezygnować. Poznaj zasady przepływu przeciwprądowego, naucz się samodzielnie obliczać opory hydrauliczne i zobacz na konkretnych przykładach, jak uniknąć krytycznych błędów, które mogą kosztować Cię nawet kilkadziesiąt tysięcy złotych za kucie zniszczonej posadzki.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/">Wymiennik płytowy w ogrzewaniu podłogowym – jak działa i jak go dobrać?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-phe {
    --rk-dark:#102536;
    --rk-navy:#15384d;
    --rk-blue:#078fbe;
    --rk-cyan:#25c7d8;
    --rk-cyan-soft:#e8fafd;
    --rk-orange:#ff6a3d;
    --rk-orange-soft:#fff0ea;
    --rk-green:#16836b;
    --rk-green-soft:#eaf8f3;
    --rk-yellow:#9a6900;
    --rk-yellow-soft:#fff7dc;
    --rk-red:#c7443a;
    --rk-red-soft:#fff0ee;
    --rk-purple:#6659c7;
    --rk-purple-soft:#f1efff;
    --rk-ink:#1c2d38;
    --rk-text:#465d6c;
    --rk-muted:#687f8d;
    --rk-line:#d6e5eb;
    --rk-soft:#f4f9fb;
    --rk-white:#fff;
    width:100%;
    color:var(--rk-ink);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:17px;
    line-height:1.72;
  }
  #rk-phe,
  #rk-phe *,
  #rk-phe *::before,
  #rk-phe *::after{box-sizing:border-box}
  #rk-phe [hidden]{display:none!important}
  #rk-phe img,
  #rk-phe svg{display:block;max-width:100%}
  #rk-phe button,
  #rk-phe input,
  #rk-phe select,
  #rk-phe summary{font:inherit}
  #rk-phe button{cursor:pointer;-webkit-tap-highlight-color:transparent}
  #rk-phe a{color:#007fae;font-weight:760;text-decoration-thickness:1.4px;text-underline-offset:3px}
  #rk-phe a:hover{color:#005d82}
  #rk-phe a:focus-visible,
  #rk-phe button:focus-visible,
  #rk-phe input:focus-visible,
  #rk-phe select:focus-visible,
  #rk-phe summary:focus-visible{outline:3px solid rgba(37,199,216,.5);outline-offset:3px}
  #rk-phe h2,
  #rk-phe h3,
  #rk-phe h4,
  #rk-phe p,
  #rk-phe ul,
  #rk-phe ol,
  #rk-phe blockquote{margin-top:0}
  #rk-phe h2,
  #rk-phe h3,
  #rk-phe h4{color:var(--rk-dark);line-height:1.18}
  #rk-phe h2{margin-bottom:18px;font-size:clamp(1.7rem,3.6vw,2.55rem);font-weight:920;letter-spacing:-.035em}
  #rk-phe h3{margin:28px 0 12px;font-size:clamp(1.16rem,2.2vw,1.46rem);font-weight:880;letter-spacing:-.02em}
  #rk-phe h4{margin:20px 0 8px;font-size:1.04rem}
  #rk-phe p{margin-bottom:18px;color:var(--rk-text)}
  #rk-phe strong{color:var(--rk-ink)}
  #rk-phe ul,
  #rk-phe ol{margin-bottom:22px;padding-left:1.3em;color:var(--rk-text)}
  #rk-phe li{margin-bottom:8px}
  #rk-phe section[id]{scroll-margin-top:24px}
  #rk-phe .rk-shell{width:min(100%,1280px);margin:0 auto;border:1px solid var(--rk-line);border-radius:28px;background:var(--rk-white);box-shadow:0 22px 70px rgba(16,37,54,.09)}

  #rk-phe .rk-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(36px,6vw,76px) clamp(24px,6vw,74px) clamp(30px,5vw,58px);border-radius:27px 27px 0 0;background:radial-gradient(circle at 8% 118%,rgba(255,106,61,.22),transparent 38%),linear-gradient(128deg,#102536 0%,#123d51 55%,#0c6971 100%)}
  #rk-phe .rk-hero::before,
  #rk-phe .rk-hero::after{position:absolute;z-index:-1;border:clamp(22px,4vw,48px) solid rgba(255,255,255,.055);border-radius:50%;content:"";pointer-events:none}
  #rk-phe .rk-hero::before{right:-115px;bottom:-185px;width:390px;height:390px}
  #rk-phe .rk-hero::after{right:125px;bottom:-238px;width:290px;height:290px}
  #rk-phe .rk-kicker,
  #rk-phe .rk-eyebrow{display:block;margin-bottom:13px;color:var(--rk-orange);font-size:.76rem;font-weight:900;letter-spacing:.13em;line-height:1.35;text-transform:uppercase}
  #rk-phe .rk-hero-title{max-width:1120px;margin:0 0 20px;color:#fff!important;font-size:clamp(2.05rem,5.1vw,4.35rem);font-weight:950;line-height:.99;letter-spacing:-.06em}
  #rk-phe .rk-hero-title span{color:#63e5f2!important}
  #rk-phe .rk-lead{max-width:1060px;margin-bottom:24px;color:#dceef2!important;font-size:clamp(1.03rem,2vw,1.31rem);line-height:1.62}
  #rk-phe .rk-tags,
  #rk-phe .rk-byline{display:flex;flex-wrap:wrap;gap:10px 12px}
  #rk-phe .rk-tag{display:inline-flex;align-items:center;min-height:36px;padding:6px 15px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.07);color:#fff!important;font-size:.78rem;font-weight:850}
  #rk-phe .rk-byline{margin-top:23px;color:#e2f1f4!important;font-size:.82rem;font-weight:760}
  #rk-phe .rk-byline span,
  #rk-phe .rk-byline strong,
  #rk-phe .rk-byline a{color:#fff!important}
  #rk-phe .rk-hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:34px}
  #rk-phe .rk-hero-metric{min-width:0;padding:22px;border:1px solid rgba(255,255,255,.19);border-radius:19px;background:rgba(255,255,255,.075);backdrop-filter:blur(3px)}
  #rk-phe .rk-hero-metric b{display:block;margin-bottom:7px;color:#fff!important;font-size:1rem;line-height:1.35}
  #rk-phe .rk-hero-metric span{display:block;color:#dceef2!important;font-size:.91rem;line-height:1.55}

  #rk-phe .rk-nav{padding:22px clamp(18px,4vw,48px) 24px;border-bottom:1px solid var(--rk-line);background:#f4fafc}
  #rk-phe .rk-nav-label{display:block;margin-bottom:11px;color:var(--rk-dark);font-size:.74rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
  #rk-phe .rk-nav-track{display:flex;flex-wrap:wrap;gap:8px;overflow:visible}
  #rk-phe .rk-nav a{display:inline-flex;align-items:center;min-height:34px;padding:6px 11px;border:1px solid #c9e0e8;border-radius:999px;background:#fff;color:#345264;font-size:.75rem;font-weight:820;line-height:1.25;text-decoration:none;white-space:normal}
  #rk-phe .rk-nav a:hover{border-color:#7fc8d8;background:var(--rk-cyan-soft);color:#075d78}

  #rk-phe .rk-section{padding:clamp(42px,7vw,78px) clamp(22px,6vw,72px);border-bottom:1px solid var(--rk-line)}
  #rk-phe .rk-section:last-child{border-bottom:0}
  #rk-phe .rk-section-soft{background:var(--rk-soft)}
  #rk-phe .rk-section-dark{background:var(--rk-dark)}
  #rk-phe .rk-section-dark h2,
  #rk-phe .rk-section-dark h3,
  #rk-phe .rk-section-dark p,
  #rk-phe .rk-section-dark li{color:#fff}
  #rk-phe .rk-intro{max-width:980px;font-size:1.06rem}
  #rk-phe .rk-answer{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:24px;align-items:stretch}
  #rk-phe .rk-answer-main{padding:28px;border:1px solid #b9e4eb;border-radius:22px;background:linear-gradient(135deg,#e7fbfd,#f7ffff)}
  #rk-phe .rk-answer-main p:last-child{margin-bottom:0}
  #rk-phe .rk-verdict{display:grid;gap:13px}
  #rk-phe .rk-verdict-item{padding:18px;border:1px solid var(--rk-line);border-radius:17px;background:#fff}
  #rk-phe .rk-verdict-item b{display:block;margin-bottom:5px}
  #rk-phe .rk-verdict-item span{display:block;color:var(--rk-text);font-size:.9rem;line-height:1.55}
  #rk-phe .rk-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  #rk-phe .rk-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  #rk-phe .rk-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  #rk-phe .rk-card{min-width:0;padding:23px;border:1px solid var(--rk-line);border-radius:20px;background:#fff}
  #rk-phe .rk-card h3,
  #rk-phe .rk-card h4{margin-top:0}
  #rk-phe .rk-card p:last-child,
  #rk-phe .rk-card ul:last-child{margin-bottom:0}
  #rk-phe .rk-card-accent{border-color:#bce6ed;background:var(--rk-cyan-soft)}
  #rk-phe .rk-card-warn{border-color:#f1d492;background:var(--rk-yellow-soft)}
  #rk-phe .rk-card-green{border-color:#bfe5d8;background:var(--rk-green-soft)}
  #rk-phe .rk-card-red{border-color:#e5b5ae;background:var(--rk-red-soft)}
  #rk-phe .rk-note{margin:24px 0;padding:20px 22px;border-left:5px solid var(--rk-cyan);border-radius:0 16px 16px 0;background:var(--rk-cyan-soft)}
  #rk-phe .rk-note.warn{border-color:#e0a12b;background:var(--rk-yellow-soft)}
  #rk-phe .rk-note.error{border-color:var(--rk-red);background:var(--rk-red-soft)}
  #rk-phe .rk-note p:last-child{margin-bottom:0}
  #rk-phe .rk-formula{margin:22px 0;padding:18px 22px;border:1px solid #bfdfe7;border-radius:16px;background:#f8fdff;color:var(--rk-dark);font-weight:830;text-align:center;overflow-wrap:anywhere}

  #rk-phe .rk-number-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;counter-reset:rkstep}
  #rk-phe .rk-number-card{display:flex;align-items:flex-start;gap:16px;min-width:0;padding:21px;border:1px solid var(--rk-line);border-radius:18px;background:#fff;counter-increment:rkstep}
  #rk-phe .rk-number{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;margin:0;padding:0;border-radius:50%;background:#d8f4f8;color:#135671;font-size:1rem;font-weight:950;line-height:1;text-align:center;transform:none}
  #rk-phe .rk-number::before{display:block;content:counter(rkstep);line-height:1}
  #rk-phe .rk-number-copy{min-width:0}
  #rk-phe .rk-number-copy h3{margin:2px 0 7px;font-size:1.02rem}
  #rk-phe .rk-number-copy p{margin:0;font-size:.91rem;line-height:1.58}

  #rk-phe .rk-tool{margin-top:28px;padding:clamp(20px,4vw,34px);border:1px solid #bedee8;border-radius:24px;background:#f8fcfd;box-shadow:0 14px 40px rgba(16,37,54,.06)}
  #rk-phe .rk-tool-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:25px}
  #rk-phe .rk-tool-head h3{margin:0 0 8px}
  #rk-phe .rk-tool-head p{margin:0;max-width:790px;font-size:.91rem}
  #rk-phe .rk-badge{display:inline-flex;align-items:center;min-height:32px;padding:5px 11px;border-radius:999px;background:var(--rk-cyan-soft);color:#09647e;font-size:.72rem;font-weight:900;white-space:nowrap}
  #rk-phe .rk-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  #rk-phe .rk-control{min-width:0}
  #rk-phe .rk-control label{display:block;margin-bottom:7px;color:var(--rk-dark);font-size:.82rem;font-weight:850;line-height:1.35}
  #rk-phe .rk-control small{display:block;margin-top:5px;color:var(--rk-muted);font-size:.72rem;line-height:1.42}
  #rk-phe .rk-input-wrap{display:flex;align-items:stretch;width:100%;border:1px solid #bdd5df;border-radius:12px;background:#fff;overflow:hidden}
  #rk-phe .rk-input-wrap:focus-within{border-color:var(--rk-blue);box-shadow:0 0 0 3px rgba(7,143,190,.12)}
  #rk-phe .rk-input-wrap input,
  #rk-phe .rk-input-wrap select{width:100%;min-width:0;padding:11px 12px;border:0;background:#fff;color:var(--rk-ink);font-weight:760;outline:0}
  #rk-phe .rk-input-wrap span{display:grid;place-items:center;flex:0 0 auto;padding:0 11px;border-left:1px solid var(--rk-line);background:#edf5f7;color:#536d7b;font-size:.76rem;font-weight:820;white-space:nowrap}
  #rk-phe .rk-subhead{grid-column:1/-1;margin:10px 0 -2px;padding-top:10px;border-top:1px solid var(--rk-line);color:var(--rk-dark);font-size:.78rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
  #rk-phe .rk-reset{align-self:flex-start;padding:8px 13px;border:1px solid #bfd6df;border-radius:999px;background:#fff;color:#345264;font-size:.75rem;font-weight:850}
  #rk-phe .rk-reset:hover{background:var(--rk-cyan-soft)}
  #rk-phe .rk-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}
  #rk-phe .rk-result{min-width:0;padding:18px;border:1px solid var(--rk-line);border-radius:17px;background:#fff}
  #rk-phe .rk-result b{display:block;margin-bottom:5px;color:var(--rk-dark);font-size:clamp(1.12rem,2.6vw,1.55rem);line-height:1.2;overflow-wrap:anywhere}
  #rk-phe .rk-result span{display:block;color:var(--rk-muted);font-size:.75rem;font-weight:760;line-height:1.42}
  #rk-phe .rk-result.primary{border-color:#7fd0dc;background:linear-gradient(135deg,#e8fbfd,#fff)}
  #rk-phe .rk-result.good{border-color:#a9dccb;background:var(--rk-green-soft)}
  #rk-phe .rk-result.warn{border-color:#efcf89;background:var(--rk-yellow-soft)}
  #rk-phe .rk-result.bad{border-color:#e5aaa5;background:var(--rk-red-soft)}
  #rk-phe .rk-result-wide{grid-column:span 2}
  #rk-phe .rk-driver{margin-top:16px;padding:18px 20px;border:1px solid #c6dde5;border-radius:17px;background:#fff}
  #rk-phe .rk-driver b{display:block;margin-bottom:6px}
  #rk-phe .rk-driver p{margin:0;font-size:.88rem;line-height:1.55}

  #rk-phe .rk-tabs{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 16px}
  #rk-phe .rk-tab{min-height:42px;padding:9px 15px;border:1px solid #bcd8e1;border-radius:12px;background:#fff;color:#28495b;font-size:.79rem;font-weight:880}
  #rk-phe .rk-tab[aria-pressed="true"]{border-color:var(--rk-blue);background:var(--rk-blue);color:#fff}
  #rk-phe .rk-flow-status{margin:0 0 20px;padding:14px 18px;border-radius:14px;background:#edf8fb;color:#315564;font-size:.9rem}
  #rk-phe .rk-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
  #rk-phe .rk-flow-card{position:relative;min-width:0;padding:18px 14px;border:1px solid var(--rk-line);border-radius:18px;background:#fff}
  #rk-phe .rk-flow-card:not(:last-child)::after{position:absolute;top:29px;right:-13px;z-index:2;width:24px;color:var(--rk-orange);font-size:1.35rem;font-weight:950;line-height:1;text-align:center;content:attr(data-arrow)}
  #rk-phe .rk-flow-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:13px;border-radius:50%;background:var(--rk-cyan-soft);color:#08769a;font-size:1.15rem;font-weight:950;line-height:1}
  #rk-phe .rk-flow-card h3{margin:0 0 8px;font-size:.98rem}
  #rk-phe .rk-flow-card p{margin:0;font-size:.78rem;line-height:1.52}
  #rk-phe .rk-flow-mini{display:block;margin-top:9px;padding:7px;border-radius:9px;background:#f2f7f9;color:#44606e;font-size:.72rem;line-height:1.4}
  #rk-phe .rk-pass-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
  #rk-phe .rk-pass-card{padding:19px;border:1px solid var(--rk-line);border-radius:17px;background:#fff}
  #rk-phe .rk-pass-card b{display:block;margin-bottom:7px}
  #rk-phe .rk-pass-card p{margin:0;font-size:.84rem;line-height:1.55}

  #rk-phe .rk-chart-card{margin-top:20px;padding:18px;border:1px solid var(--rk-line);border-radius:20px;background:#fff}
  #rk-phe .rk-chart-wrap{width:100%;min-height:360px;overflow:hidden}
  #rk-phe .rk-chart-wrap svg{width:100%;height:auto;min-height:330px}
  #rk-phe .rk-chart-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:12px;color:var(--rk-text);font-size:.78rem;font-weight:780}
  #rk-phe .rk-legend{display:inline-flex;align-items:center;gap:7px}
  #rk-phe .rk-legend::before{width:24px;height:4px;border-radius:9px;background:var(--rk-orange);content:""}
  #rk-phe .rk-legend.cold::before{background:var(--rk-blue)}
  #rk-phe .rk-legend.zero::before{height:2px;background:#8195a0}
  #rk-phe .rk-chart-note{margin:13px 0 0;font-size:.78rem;line-height:1.5}

  #rk-phe .rk-table-wrap{width:100%;margin:24px 0;border:1px solid var(--rk-line);border-radius:20px;overflow:hidden;background:#fff}
  #rk-phe table{width:100%;border-collapse:collapse;table-layout:fixed}
  #rk-phe th,
  #rk-phe td{padding:15px 16px;border-right:1px solid var(--rk-line);border-bottom:1px solid var(--rk-line);vertical-align:top;text-align:left;overflow-wrap:anywhere}
  #rk-phe th:last-child,
  #rk-phe td:last-child{border-right:0}
  #rk-phe tr:last-child td{border-bottom:0}
  #rk-phe thead th{background:var(--rk-navy);color:#fff;font-size:.82rem;font-weight:900}
  #rk-phe tbody td{color:var(--rk-text);font-size:.86rem;line-height:1.55}
  #rk-phe tbody tr:nth-child(even){background:#f7fafb}
  #rk-phe .rk-table-summary{width:100%;padding:15px 18px;border-bottom:1px solid var(--rk-line);background:#edf8fb;color:#294b5d;font-size:.83rem;font-weight:760;line-height:1.55}

  #rk-phe .rk-cta{position:relative;isolation:isolate;overflow:hidden;margin-top:30px;padding:clamp(27px,5vw,44px);border-radius:22px;background:linear-gradient(125deg,#102536,#174a5d 70%,#0a7077);color:#fff;box-shadow:0 18px 45px rgba(16,37,54,.16)}
  #rk-phe .rk-cta::after{position:absolute;z-index:-1;right:-70px;bottom:-110px;width:270px;height:270px;border:34px solid rgba(255,255,255,.06);border-radius:50%;content:""}
  #rk-phe .rk-cta .rk-eyebrow{color:#ff9a78}
  #rk-phe .rk-cta-title{max-width:920px;margin:0 0 12px;color:#fff!important;font-size:clamp(1.45rem,3.5vw,2.35rem);font-weight:930;line-height:1.13;letter-spacing:-.035em}
  #rk-phe .rk-cta p{max-width:950px;color:#dceef2!important}
  #rk-phe .rk-cta-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 20px;border-radius:12px;background:var(--rk-orange);color:#fff!important;font-size:.84rem;font-weight:900;text-align:center;text-decoration:none;box-shadow:0 8px 20px rgba(0,0,0,.16)}
  #rk-phe .rk-cta-button:hover{background:#e8572f;color:#fff!important}

  #rk-phe .rk-sources{margin-bottom:22px}
  #rk-phe .rk-sources li{margin-bottom:11px}
  #rk-phe .rk-responsibility{padding:20px 22px;border:1px solid var(--rk-line);border-radius:17px;background:#f8fbfc}
  #rk-phe .rk-responsibility p{margin-bottom:9px;font-size:.82rem;line-height:1.55}
  #rk-phe .rk-responsibility p:last-child{margin-bottom:0}
  #rk-phe .rk-faq{display:grid;gap:12px}
  #rk-phe .rk-faq details{border:1px solid var(--rk-line);border-radius:15px;background:#fff}
  #rk-phe .rk-faq summary{position:relative;padding:18px 52px 18px 19px;color:var(--rk-dark);font-weight:860;line-height:1.45;cursor:pointer;list-style:none}
  #rk-phe .rk-faq summary::-webkit-details-marker{display:none}
  #rk-phe .rk-faq summary::after{position:absolute;top:17px;right:18px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--rk-cyan-soft);color:#0a7695;font-size:1.1rem;font-weight:900;line-height:1;content:"+"}
  #rk-phe .rk-faq details[open] summary::after{content:"−"}
  #rk-phe .rk-faq-answer{padding:0 19px 18px}
  #rk-phe .rk-faq-answer p{margin:0;font-size:.91rem}

  #rk-phe .rk-author{overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:25px;background:linear-gradient(120deg,#102f42,#174e5d);color:#fff}
  #rk-phe .rk-author-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:34px 42px 29px;border-bottom:1px solid rgba(255,255,255,.13)}
  #rk-phe .rk-author-head .rk-eyebrow{color:#65e8f3}
  #rk-phe .rk-author-head h2{margin:0 0 10px;color:#fff!important}
  #rk-phe .rk-author-head p{max-width:810px;margin:0;color:#e0f0f3!important}
  #rk-phe .rk-author-mark{display:inline-flex;align-items:center;min-height:42px;padding:8px 14px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#fff;font-size:.72rem;font-weight:900;white-space:nowrap}
  #rk-phe .rk-author-layout{display:grid;grid-template-columns:310px minmax(0,1fr)}
  #rk-phe .rk-author-side{padding:38px 32px;border-right:1px solid rgba(255,255,255,.13);text-align:center}
  #rk-phe .rk-author-photo{width:144px;height:144px;margin:0 auto 19px;padding:7px;border-radius:50%;background:rgba(255,255,255,.14)}
  #rk-phe .rk-author-photo img{width:100%;height:100%;border-radius:50%;object-fit:cover}
  #rk-phe .rk-author-name{font-size:1.22rem;font-weight:920}
  #rk-phe .rk-author-name a{color:#fff;text-decoration:none}
  #rk-phe .rk-author-role{margin:8px 0 20px;color:#dceef2!important;font-size:.83rem;line-height:1.5}
  #rk-phe .rk-author-social-label,
  #rk-phe .rk-author-mini-label{margin-bottom:10px;color:#64e6f2;font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
  #rk-phe .rk-author-social{display:flex;justify-content:center;gap:10px}
  #rk-phe .rk-author-social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff}
  #rk-phe .rk-author-social svg{width:20px;height:20px;fill:currentColor}
  #rk-phe .rk-author-main{padding:38px 42px}
  #rk-phe .rk-author-quote{position:relative;margin:0 0 28px;padding:11px 0 0 57px;border:0}
  #rk-phe .rk-author-quote::before{position:absolute;top:-8px;left:0;color:#64e6f2;font-size:4rem;font-weight:950;line-height:1;content:"“"}
  #rk-phe .rk-author-quote p{margin:0;color:#fff!important;font-size:clamp(1.05rem,2vw,1.3rem);font-weight:830;font-style:italic;line-height:1.65}
  #rk-phe .rk-author-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  #rk-phe .rk-author-card{min-width:0;padding:20px;border-radius:16px;background:rgba(255,255,255,.085)}
  #rk-phe .rk-author-card b{display:block;margin-bottom:8px;color:#63e5f2;font-size:.81rem}
  #rk-phe .rk-author-card p{margin:0;color:#e0f0f3!important;font-size:.76rem;line-height:1.55}
  #rk-phe .rk-author-mini-label{margin-top:25px}
  #rk-phe .rk-portals{display:flex;flex-wrap:wrap;gap:10px}
  #rk-phe .rk-portals a{display:inline-flex;align-items:center;min-height:38px;padding:7px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#fff;font-size:.72rem;text-decoration:none}

  @media (max-width:980px){
    #rk-phe .rk-answer{grid-template-columns:1fr}
    #rk-phe .rk-grid-3,
    #rk-phe .rk-grid-4{grid-template-columns:1fr 1fr}
    #rk-phe .rk-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
    #rk-phe .rk-results{grid-template-columns:repeat(2,minmax(0,1fr))}
    #rk-phe .rk-flow{grid-template-columns:1fr}
    #rk-phe .rk-flow-card{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:13px;align-items:start}
    #rk-phe .rk-flow-icon{grid-row:1/4;margin:0}
    #rk-phe .rk-flow-card:not(:last-child)::after{top:auto;right:auto;bottom:-17px;left:25px;transform:rotate(90deg)}
    #rk-phe .rk-author-layout{grid-template-columns:250px minmax(0,1fr)}
    #rk-phe .rk-author-cards{grid-template-columns:1fr}
  }
  @media (max-width:760px){
    #rk-phe{font-size:16px}
    #rk-phe .rk-shell{border-radius:20px}
    #rk-phe .rk-hero{border-radius:19px 19px 0 0}
    #rk-phe .rk-hero-metrics,
    #rk-phe .rk-grid-2,
    #rk-phe .rk-grid-3,
    #rk-phe .rk-grid-4,
    #rk-phe .rk-number-grid,
    #rk-phe .rk-pass-grid{grid-template-columns:1fr}
    #rk-phe .rk-controls{grid-template-columns:1fr}
    #rk-phe .rk-results{grid-template-columns:1fr}
    #rk-phe .rk-result-wide{grid-column:auto}
    #rk-phe .rk-tool-head{display:block}
    #rk-phe .rk-tool-head .rk-reset{margin-top:14px}
    #rk-phe .rk-chart-wrap{min-height:290px}
    #rk-phe .rk-chart-wrap svg{min-height:270px}
    #rk-phe .rk-table-wrap{border:0;border-radius:0;background:transparent;overflow:visible}
    #rk-phe .rk-table-summary{margin-bottom:12px;border:1px solid var(--rk-line);border-radius:14px;background:#edf8fb}
    #rk-phe table,
    #rk-phe thead,
    #rk-phe tbody,
    #rk-phe tr,
    #rk-phe th,
    #rk-phe td{display:block;width:100%}
    #rk-phe thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
    #rk-phe tbody{display:grid;gap:12px}
    #rk-phe tbody tr{padding:9px 14px;border:1px solid var(--rk-line);border-radius:15px;background:#fff!important}
    #rk-phe tbody td{display:grid;grid-template-columns:minmax(110px,42%) minmax(0,1fr);gap:12px;padding:9px 0;border:0;border-bottom:1px dashed #dbe7eb;font-size:.82rem}
    #rk-phe tbody td:last-child{border-bottom:0}
    #rk-phe tbody td::before{content:attr(data-label);color:var(--rk-dark);font-size:.73rem;font-weight:900;line-height:1.45}
    #rk-phe .rk-author-head{display:block;padding:28px 24px}
    #rk-phe .rk-author-mark{margin-top:18px}
    #rk-phe .rk-author-layout{grid-template-columns:1fr}
    #rk-phe .rk-author-side{border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}
    #rk-phe .rk-author-main{padding:30px 24px}
    #rk-phe .rk-author-quote{padding-left:42px}
    #rk-phe .rk-cta-button{width:100%}
  }
  @media (max-width:460px){
    #rk-phe .rk-section{padding-left:17px;padding-right:17px}
    #rk-phe .rk-hero{padding-left:20px;padding-right:20px}
    #rk-phe .rk-nav{padding-left:15px;padding-right:15px}
    #rk-phe .rk-nav a{font-size:.69rem}
    #rk-phe .rk-number-card{gap:12px;padding:17px}
    #rk-phe .rk-number{flex-basis:42px;width:42px;height:42px}
    #rk-phe tbody td{grid-template-columns:1fr;gap:3px}
  }
  @media (prefers-reduced-motion:reduce){
    #rk-phe *,#rk-phe *::before,#rk-phe *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
  }
</style>

<div id="rk-phe">
  <article class="rk-shell" aria-label="Wymiennik płytowy w ogrzewaniu podłogowym — poradnik, grafika i kalkulatory">
    <header class="rk-hero">
      <span class="rk-kicker">Separacja obiegów bez upraszczania hydrauliki</span>
      <div class="rk-hero-title">Wymiennik płytowy w <span>ogrzewaniu podłogowym</span></div>
      <p class="rk-lead">Wymiennik przekazuje ciepło przez stalowe płyty i rozdziela dwa media, ale sam nie ustala temperatury zasilania podłogówki. Zobacz, kiedy separacja ma techniczne uzasadnienie, policz przepływy, LMTD i wymagane UA, a następnie sprawdź opory pomp oraz dodatkowy koszt pracy całego układu.</p>
      <div class="rk-tags" aria-label="Zakres poradnika">
        <span class="rk-tag">zasada działania</span>
        <span class="rk-tag">kalkulator LMTD</span>
        <span class="rk-tag">dwa obiegi</span>
        <span class="rk-tag">straty ciśnienia</span>
        <span class="rk-tag">koszt pomp</span>
      </div>
      <div class="rk-byline">
        <span>Autor: <a href="https://projekt-ogrzewania.pl/author/admin3399/">Robert Kucharski</a></span>
        <span>Czas czytania: około 27 minut</span>
        <span>Aktualizacja techniczna: 13 września 2026 r.</span>
      </div>
      <div class="rk-hero-metrics">
        <div class="rk-hero-metric"><b>Przekazuje energię</b><span>Ciepło przechodzi przez cienkie płyty, ale ciecze z obu stron nie powinny się mieszać.</span></div>
        <div class="rk-hero-metric"><b>Nie reguluje temperatury</b><span>Temperaturę wtórnego obiegu ustalają źródło, automatyka, przepływy lub osobny układ mieszający.</span></div>
        <div class="rk-hero-metric"><b>Wymaga dwóch bilansów</b><span>Każda strona ma własny przepływ, opory, pompę, zabezpieczenia i warunki pracy.</span></div>
      </div>
    </header>

    <nav class="rk-nav" aria-label="Na skróty">
      <span class="rk-nav-label">Na skróty — wszystkie części poradnika</span>
      <div class="rk-nav-track">
        <a href="#rk-phe-answer">Odpowiedź w skrócie</a>
        <a href="#rk-phe-operation">Zasada działania</a>
        <a href="#rk-phe-separation">Co jest rozdzielone?</a>
        <a href="#rk-phe-graphic">Grafika interaktywna</a>
        <a href="#rk-phe-limits">Czego nie reguluje?</a>
        <a href="#rk-phe-when">Kiedy może być potrzebny?</a>
        <a href="#rk-phe-when-not">Kiedy może przeszkadzać?</a>
        <a href="#rk-phe-comparison">Wymiennik czy inne urządzenie?</a>
        <a href="#rk-phe-inputs">Dane do doboru</a>
        <a href="#rk-phe-thermal-tool">Kalkulator cieplno-hydrauliczny</a>
        <a href="#rk-phe-reading">Jak czytać wynik?</a>
        <a href="#rk-phe-hydraulics">Przepływy i pompy</a>
        <a href="#rk-phe-control">Regulacja i zabezpieczenia</a>
        <a href="#rk-phe-heat-pump">Pompa ciepła</a>
        <a href="#rk-phe-solid-fuel">Kocioł na paliwo stałe</a>
        <a href="#rk-phe-cost-tool">Kalkulator kosztów</a>
        <a href="#rk-phe-maintenance">Zabrudzenie i serwis</a>
        <a href="#rk-phe-errors">Najczęstsze błędy</a>
        <a href="#rk-phe-commissioning">Uruchomienie instalacji</a>
        <a href="#rk-phe-conclusion">Wnioski</a>
        <a href="#rk-phe-sources">Źródła</a>
        <a href="#rk-phe-faq">FAQ</a>
        <a href="#rk-phe-author">Autor</a>
      </div>
    </nav>

    <section class="rk-section" id="rk-phe-answer">
      <span class="rk-eyebrow">Najkrótsza poprawna odpowiedź</span>
      <h2>Wymiennik płytowy w podłogówce — odpowiedź w skrócie</h2>
      <div class="rk-answer" id="rk-phe-direct-answer">
        <div class="rk-answer-main">
          <p><strong>Wymiennik płytowy przekazuje ciepło między dwoma oddzielonymi obiegami, nie dopuszczając w normalnych warunkach do mieszania ich mediów.</strong> Może rozdzielić instalację otwartą od zamkniętej, wodę od roztworu glikolu albo nową podłogówkę od starego, zanieczyszczonego obiegu.</p>
          <p>Nie jest jednak regulatorem temperatury. To, że po stronie pierwotnej płynie woda o temperaturze 70°C, a podłogówka ma pracować przy 35–40°C, nie oznacza, że dowolny wymiennik automatycznie wykona takie zadanie. Potrzebne są właściwe przepływy, powierzchnia wymiany, automatyka źródła lub układ mieszający oraz niezależne zabezpieczenie przed przekroczeniem dopuszczalnej temperatury.</p>
          <p>O potrzebie zastosowania wymiennika decyduje <strong>funkcja separacji</strong>, a nie sama wysoka temperatura źródła. Jeżeli oba obiegi mogą pracować z tym samym medium i ciśnieniem, czasem korzystniejszy jest układ bezpośredni, <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgło hydrauliczne</a>, <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufor ciepła</a> lub prawidłowo zaprojektowany <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">zawór mieszający</a>.</p>
        </div>
        <div class="rk-verdict" aria-label="Trzy najważniejsze wnioski">
          <div class="rk-verdict-item"><b>Tak — pełna separacja</b><span>Woda, glikol, ciśnienie i zanieczyszczenia pozostają po swoich stronach wymiennika.</span></div>
          <div class="rk-verdict-item"><b>Nie — automatyczna regulacja</b><span>Wymiennik nie jest zaworem i nie utrzymuje sam zadanej temperatury zasilania.</span></div>
          <div class="rk-verdict-item"><b>Dobór — dla konkretnego punktu</b><span>Moc z nazwy handlowej i liczba płyt nie zastępują temperatur, przepływów oraz strat ciśnienia.</span></div>
        </div>
      </div>
    </section>

    <section class="rk-section rk-section-soft" id="rk-phe-operation">
      <span class="rk-eyebrow">Ciepło przechodzi, media pozostają osobno</span>
      <h2>Jak działa wymiennik płytowy w ogrzewaniu podłogowym?</h2>
      <p class="rk-intro">W lutowanym wymienniku płytowym cienkie, profilowane płyty tworzą naprzemienne kanały. Medium strony pierwotnej przepływa co drugim kanałem, a medium strony wtórnej kanałami sąsiednimi. Ciepło przechodzi przez metalową przegrodę na drodze konwekcja–przewodzenie–konwekcja, lecz obie ciecze pozostają fizycznie rozdzielone.</p>
      <div class="rk-grid-3">
        <div class="rk-card"><h3>Strona pierwotna</h3><p>To obieg połączony ze źródłem ciepła lub istniejącą instalacją. Ma własny przepływ, ciśnienie robocze, medium, zabezpieczenia i zwykle własną pompę.</p></div>
        <div class="rk-card rk-card-accent"><h3>Pakiet płyt</h3><p>Profil płyt zwiększa powierzchnię kontaktu i intensyfikuje wymianę ciepła. Ten sam profil powoduje jednak opór hydrauliczny, który musi zostać odczytany dla konkretnego przepływu.</p></div>
        <div class="rk-card"><h3>Strona wtórna</h3><p>To zamknięty obieg rozdzielacza i <a href="https://projekt-ogrzewania.pl/petla-grzewcza/">pętli grzewczych</a>. Jego przepływ wynika z mocy oraz przyjętej różnicy między zasilaniem a powrotem.</p></div>
      </div>
      <div class="rk-formula">Q = U · A · ΔT<sub>lm</sub> &nbsp;&nbsp;oraz&nbsp;&nbsp; Q = ρ · V̇ · c<sub>p</sub> · ΔT</div>
      <p>Pierwsze równanie łączy przekazywaną moc z całkowitym współczynnikiem przenikania, powierzchnią płyt i średnią logarytmiczną różnicą temperatur. Drugie opisuje energię przenoszoną przez przepływ medium. W praktyce oba warunki muszą zostać spełnione jednocześnie. Pojęcie średniej logarytmicznej różnicy temperatur i bilans strumienia ciepła opisuje materiał dydaktyczny <a href="https://web.mit.edu/16.unified/www/FALL/thermodynamics/notes/node131.html" target="_blank" rel="nofollow noopener noreferrer">MIT — Heat Exchangers</a>.</p>
      <div class="rk-note"><p><strong>Dlaczego przeciwprąd?</strong> W typowym wymienniku oba media są prowadzone w przeciwnych kierunkach, dzięki czemu użyteczna różnica temperatur utrzymuje się na całej długości płyt. Nie oznacza to „100% odzysku” ani stałej przewagi procentowej — efekt zależy od UA, strumieni pojemności cieplnej i temperatur wejściowych.</p></div>
    </section>

    <section class="rk-section" id="rk-phe-separation">
      <span class="rk-eyebrow">Cztery różne funkcje instalacji</span>
      <h2>Co przechodzi przez wymiennik, a co pozostaje rozdzielone?</h2>
      <p>Określenie „separacja hydrauliczna” bywa mylone z regulacją temperatury. Wymiennik rzeczywiście tworzy dwa niezależne obiegi, ale nie wykonuje wszystkich zadań hydraulicznych i regulacyjnych za inne urządzenia.</p>
      <div class="rk-table-wrap">
        <div class="rk-table-summary">Najważniejsze rozróżnienie: przez nieuszkodzony wymiennik przechodzi energia cieplna, a nie medium robocze.</div>
        <table aria-label="Co przechodzi przez wymiennik płytowy">
          <thead><tr><th>Wielkość lub zjawisko</th><th>Czy przechodzi na drugą stronę?</th><th>Co to oznacza w instalacji?</th></tr></thead>
          <tbody>
            <tr><td data-label="Wielkość"><strong>Energia cieplna</strong></td><td data-label="Przechodzi?">Tak</td><td data-label="Znaczenie">Ciepło jest przekazywane przez metalowe płyty zgodnie z aktualną różnicą temperatur.</td></tr>
            <tr><td data-label="Wielkość"><strong>Woda lub glikol</strong></td><td data-label="Przechodzi?">Nie</td><td data-label="Znaczenie">Każda strona może mieć inne medium, o ile dopuszcza je konstrukcja i dobór urządzenia.</td></tr>
            <tr><td data-label="Wielkość"><strong>Ciśnienie statyczne</strong></td><td data-label="Przechodzi?">Nie</td><td data-label="Znaczenie">Każdy obieg wymaga własnego sposobu stabilizacji ciśnienia i zabezpieczenia.</td></tr>
            <tr><td data-label="Wielkość"><strong>Zanieczyszczenia i tlen</strong></td><td data-label="Przechodzi?">Nie przez płyty</td><td data-label="Znaczenie">Nowy obieg może zostać odseparowany od starego medium, lecz jego własna jakość wody nadal ma znaczenie.</td></tr>
            <tr><td data-label="Wielkość"><strong>Temperatura zadana</strong></td><td data-label="Przechodzi?">Nie jest kopiowana</td><td data-label="Znaczenie">Temperatury wyjściowe wynikają z bilansu, UA i przepływów; nie z samego istnienia wymiennika.</td></tr>
            <tr><td data-label="Wielkość"><strong>Przepływ objętościowy</strong></td><td data-label="Przechodzi?">Nie</td><td data-label="Znaczenie">Strony mogą mieć różne przepływy i różne ΔT, mimo przekazywania tej samej mocy.</td></tr>
          </tbody>
        </table>
      </div>
      <p>Jeżeli jedna strona jest układem otwartym, druga strona nie staje się przez to układem otwartym. Musi jednak otrzymać własne <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">naczynie wzbiorcze</a>, zawór bezpieczeństwa, odpowietrzenie, uzupełnianie medium i kontrolę ciśnienia odpowiednią dla zaprojektowanego obiegu.</p>
    </section>

    <section class="rk-section rk-section-soft" id="rk-phe-graphic">
      <span class="rk-eyebrow">Modułowa grafika edukacyjna</span>
      <h2>Interaktywna grafika: jeden obieg czy dwa obiegi z wymiennikiem?</h2>
      <p>Przełącz widok, aby zobaczyć, co zmienia dodanie wymiennika. Moduł pokazuje funkcje elementów, a nie schemat wykonawczy konkretnej kotłowni. Na telefonie wszystkie części ustawiają się pionowo, dlatego opisy i kierunki przepływu pozostają czytelne.</p>
      <div class="rk-tool" id="rk-phe-graphic-tool">
        <div class="rk-tool-head">
          <div><h3>Droga energii i granica między obiegami</h3><p>Każdy widok odpowiada na inne pytanie: gdzie płynie wspólne medium, gdzie następuje pełna separacja oraz dlaczego temperatury po obu stronach zmieniają się w przeciwprądzie.</p></div>
          <span class="rk-badge">grafika interaktywna</span>
        </div>
        <div class="rk-tabs" role="group" aria-label="Wybór widoku grafiki">
          <button type="button" class="rk-tab rk-flow-tab" data-mode="direct" aria-pressed="false">Jeden wspólny obieg</button>
          <button type="button" class="rk-tab rk-flow-tab" data-mode="separated" aria-pressed="true">Dwa obiegi z wymiennikiem</button>
          <button type="button" class="rk-tab rk-flow-tab" data-mode="counter" aria-pressed="false">Przeciwprąd i temperatury</button>
        </div>
        <p class="rk-flow-status" id="rk-phe-flow-status" aria-live="polite">Energia przechodzi przez płyty, ale obieg źródła i obieg podłogówki mają oddzielne media, ciśnienia oraz przepływy.</p>
        <div class="rk-flow" id="rk-phe-flow-cards">
          <div class="rk-flow-card" data-arrow="→"><span class="rk-flow-icon" id="rk-phe-flow-icon-1" aria-hidden="true">A</span><h3 id="rk-phe-flow-title-1">Źródło ciepła</h3><p id="rk-phe-flow-text-1">Wytwarza ciepło i pracuje w warunkach obiegu pierwotnego.</p><span class="rk-flow-mini" id="rk-phe-flow-mini-1">medium A · ciśnienie A</span></div>
          <div class="rk-flow-card" data-arrow="→"><span class="rk-flow-icon" id="rk-phe-flow-icon-2" aria-hidden="true">P1</span><h3 id="rk-phe-flow-title-2">Pompa pierwotna</h3><p id="rk-phe-flow-text-2">Zapewnia przepływ przez źródło, rurociągi i pierwszą stronę wymiennika.</p><span class="rk-flow-mini" id="rk-phe-flow-mini-2">V̇A z mocy i ΔTA</span></div>
          <div class="rk-flow-card" data-arrow="→"><span class="rk-flow-icon" id="rk-phe-flow-icon-3" aria-hidden="true">HX</span><h3 id="rk-phe-flow-title-3">Wymiennik płytowy</h3><p id="rk-phe-flow-text-3">Przekazuje energię przez płyty bez mieszania obu mediów.</p><span class="rk-flow-mini" id="rk-phe-flow-mini-3">granica obiegów</span></div>
          <div class="rk-flow-card" data-arrow="→"><span class="rk-flow-icon" id="rk-phe-flow-icon-4" aria-hidden="true">P2</span><h3 id="rk-phe-flow-title-4">Pompa i regulacja</h3><p id="rk-phe-flow-text-4">Budują przepływ wtórny i współpracują z regulacją temperatury.</p><span class="rk-flow-mini" id="rk-phe-flow-mini-4">V̇B z mocy i ΔTB</span></div>
          <div class="rk-flow-card"><span class="rk-flow-icon" id="rk-phe-flow-icon-5" aria-hidden="true">B</span><h3 id="rk-phe-flow-title-5">Podłogówka</h3><p id="rk-phe-flow-text-5">Rozdzielacz przekazuje wodę do pętli obiegu wtórnego.</p><span class="rk-flow-mini" id="rk-phe-flow-mini-5">medium B · ciśnienie B</span></div>
        </div>
        <div class="rk-pass-grid">
          <div class="rk-pass-card"><b>Co przechodzi?</b><p id="rk-phe-pass-yes">Energia cieplna — zależnie od różnicy temperatur, UA i przepływów.</p></div>
          <div class="rk-pass-card"><b>Co nie przechodzi?</b><p id="rk-phe-pass-no">Woda lub glikol, ciśnienie robocze, zanieczyszczenia oraz sam przepływ objętościowy.</p></div>
        </div>
      </div>
      <p>Wymiennik może więc ochronić nową instalację przed medium starego obiegu, ale nie zwalnia z zadbania o <a href="https://projekt-ogrzewania.pl/czym-napelnic-instalacje-ogrzewania-podlogowego/">prawidłowe napełnienie podłogówki</a>, odpowietrzenie ani uzdatnienie wody po stronie wtórnej.</p>
    </section>

    <section class="rk-section" id="rk-phe-limits">
      <span class="rk-eyebrow">Najważniejsze sprostowanie starego wpisu</span>
      <h2>Czego wymiennik płytowy nie reguluje i przed czym sam nie zabezpiecza?</h2>
      <div class="rk-grid-4">
        <div class="rk-card rk-card-warn"><h3>Temperatura zasilania</h3><p>Wymiennik nie ma wartości zadanej. Bez właściwego sterowania temperatura wtórna zmienia się wraz ze źródłem, przepływami i odbiorem ciepła.</p></div>
        <div class="rk-card"><h3>Przepływ w pętlach</h3><p>Nie równoważy rozdzielacza i nie ustawia <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrów</a>. Wymagane przepływy wynikają z obciążeń pomieszczeń i długości pętli.</p></div>
        <div class="rk-card"><h3>Minimalny przepływ źródła</h3><p>Nie gwarantuje warunków wymaganych przez kocioł albo pompę ciepła. Obieg pierwotny musi zostać obliczony niezależnie.</p></div>
        <div class="rk-card rk-card-red"><h3>Temperatura graniczna</h3><p>Do ochrony podłogi potrzebne są prawidłowa regulacja i niezależne zabezpieczenie reagujące na temperaturę, a nie sama metalowa przegroda.</p></div>
      </div>
      <p>Wysokotemperaturowe źródło można połączyć z niskotemperaturowym odbiornikiem również bez wymiennika, jeżeli układ jest zgodny pod względem medium i ciśnienia oraz ma poprawnie zaprojektowane mieszanie albo regulację źródła. Zasady ograniczania temperatury omawia osobny poradnik o <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">maksymalnej temperaturze zasilania podłogówki</a>.</p>
      <div class="rk-note error"><p><strong>Nie należy dobierać wymiennika jako „bezpiecznika na gorącą wodę”.</strong> Jeżeli automatyka lub zawór dopuści niewłaściwe warunki po stronie wtórnej, prawidłowo działający wymiennik nadal będzie przekazywał ciepło.</p></div>
    </section>

    <section class="rk-section rk-section-soft" id="rk-phe-when">
      <span class="rk-eyebrow">Najpierw funkcja, później urządzenie</span>
      <h2>Kiedy wymiennik płytowy może być potrzebny w podłogówce?</h2>
      <p>Wymiennik ma sens wtedy, gdy istnieje konkretna potrzeba oddzielenia obiegów. Nie należy zaczynać od pytania „ile płyt?”, lecz od ustalenia, dlaczego media nie mogą pracować we wspólnym układzie.</p>
      <div class="rk-grid-2">
        <div class="rk-card rk-card-accent"><h3>Instalacja otwarta i zamknięta</h3><p>W starszej kotłowni źródło może pracować w obiegu otwartym, a nowa podłogówka w zamkniętym. Wymiennik tworzy fizyczną granicę, ale oba obiegi nadal muszą mieć komplet własnych zabezpieczeń zgodnych z projektem oraz instrukcjami urządzeń.</p></div>
        <div class="rk-card"><h3>Dwa różne media</h3><p>Przykładem jest krótki obieg z roztworem niezamarzającym i oddzielny wodny obieg budynku. Trzeba uwzględnić rzeczywiste właściwości <a href="https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/">glikolu w instalacji</a>, ponieważ zmienia przepływ, opory i wymianę ciepła.</p></div>
        <div class="rk-card"><h3>Stara instalacja i nowy obieg</h3><p>Separacja może ograniczyć przenoszenie zanieczyszczeń ze starego zładu do nowych pętli. Nie zastępuje jednak płukania, filtracji ani <a href="https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/">separatora zanieczyszczeń i powietrza</a> po właściwej stronie.</p></div>
        <div class="rk-card"><h3>Wymóg konkretnego układu</h3><p>Producent źródła, administrator sieci lub dokumentacja modernizacji może wymagać fizycznego rozdzielenia mediów. Taki warunek trzeba sprawdzić dla konkretnego urządzenia — nie przenosić automatycznie na wszystkie instalacje.</p></div>
      </div>
      <p>Przy <a href="https://projekt-ogrzewania.pl/kotly-na-paliwa-stale-w-ogrzewaniu-podlogowym/">kotle na paliwo stałe i ogrzewaniu podłogowym</a> decyzja zależy m.in. od konstrukcji kotłowni, wymaganej ochrony powrotu, bufora, rodzaju zabezpieczenia źródła i dopuszczalnego układu pracy. Sama nazwa paliwa nie rozstrzyga jeszcze schematu.</p>
    </section>

    <section class="rk-section" id="rk-phe-when-not">
      <span class="rk-eyebrow">Każda przegroda ma cenę techniczną</span>
      <h2>Kiedy wymiennik może być zbędny albo pogarszać warunki pracy?</h2>
      <p>W nowej, czystej instalacji zamkniętej, w której źródło i podłogówka mogą pracować na tym samym medium oraz ciśnieniu, wymiennik często nie wnosi potrzebnej funkcji. Dodaje natomiast kolejne opory, drugi obieg pompowy i różnicę temperatur niezbędną do przekazywania ciepła.</p>
      <div class="rk-grid-3">
        <div class="rk-card rk-card-warn"><h3>Dodatkowe podejście temperaturowe</h3><p>Temperatura źródła musi być wyższa od wymaganej temperatury wtórnej. Im mniejsza różnica na końcu wymiennika, tym większego UA zwykle potrzeba.</p></div>
        <div class="rk-card"><h3>Dodatkowy opór</h3><p>Każda strona wymiennika ma charakterystykę Δp zależną od przepływu i właściwości medium. Opór musi znaleźć się w obliczeniach właściwej pompy.</p></div>
        <div class="rk-card"><h3>Więcej elementów</h3><p>Dochodzi druga pompa, armatura, odpowietrzenie, naczynie, sterowanie oraz miejsca wymagające uruchomienia i późniejszej kontroli.</p></div>
      </div>
      <p>Ma to szczególne znaczenie przy <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">projekcie podłogówki z pompą ciepła</a>. Jeżeli separacja wymusza podniesienie temperatury zasilania źródła, może zmienić jego sezonową efektywność. Skali tej zmiany nie wolno przyjmować jako jednego procentu dla wszystkich urządzeń — trzeba oprzeć ją na danych konkretnej pompy i punkcie pracy.</p>
      <div class="rk-note warn"><p><strong>Wymiennik nie jest urządzeniem obowiązkowym tylko dlatego, że źródło potrafi wytworzyć więcej niż 55°C.</strong> O temperaturze dostarczanej do podłogi decyduje cały układ regulacji, a o separacji — zgodność mediów, ciśnień i wymagań urządzeń.</p></div>
    </section>

    <section class="rk-section rk-section-soft" id="rk-phe-comparison">
      <span class="rk-eyebrow">Urządzenia nie są zamiennikami jednej funkcji</span>
      <h2>Wymiennik, sprzęgło, bufor czy zawór mieszający?</h2>
      <p>Te elementy mogą występować osobno albo razem, ale rozwiązują inne problemy. Najczęstszy błąd polega na traktowaniu każdego z nich jako sposobu „na obniżenie temperatury”.</p>
      <div class="rk-table-wrap">
        <div class="rk-table-summary">Wybierz funkcję, której faktycznie wymaga instalacja — nie nazwę najpopularniejszego elementu kotłowni.</div>
        <table aria-label="Porównanie wymiennika, sprzęgła, bufora i zaworu mieszającego">
          <thead><tr><th>Element</th><th>Oddziela media?</th><th>Rozdziela przepływy?</th><th>Magazynuje ciepło?</th><th>Reguluje temperaturę?</th></tr></thead>
          <tbody>
            <tr><td data-label="Element"><strong>Wymiennik płytowy</strong></td><td data-label="Media">Tak, fizycznie</td><td data-label="Przepływy">Tak — dwa obiegi</td><td data-label="Magazyn">Praktycznie nie</td><td data-label="Regulacja">Nie samodzielnie</td></tr>
            <tr><td data-label="Element"><strong>Sprzęgło hydrauliczne</strong></td><td data-label="Media">Nie</td><td data-label="Przepływy">Tak, przy wspólnym medium</td><td data-label="Magazyn">Nie jest jego główną funkcją</td><td data-label="Regulacja">Nie samodzielnie</td></tr>
            <tr><td data-label="Element"><strong>Bufor ciepła</strong></td><td data-label="Media">Zwykle nie</td><td data-label="Przepływy">Może, zależnie od wpięcia</td><td data-label="Tak</td><td data-label="Nie samodzielnie</td></tr>
            <tr><td data-label="Element"><strong>Zawór mieszający</strong></td><td data-label="Media">Nie</td><td data-label="Przepływy">Steruje podziałem i mieszaniem</td><td data-label="Nie</td><td data-label="Tak, z napędem i automatyką</td></tr>
          </tbody>
        </table>
      </div>
      <p><a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">Sprzęgło hydrauliczne w podłogówce</a> rozdziela hydraulicznie obiegi, ale zachowuje wspólne medium. <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">Bufor w ogrzewaniu podłogowym</a> dodaje zład i może pełnić funkcję rozdziału przepływów. Zawór mieszający reguluje temperaturę przez mieszanie, lecz nie oddziela wody ani ciśnienia.</p>
    </section>

    <section class="rk-section" id="rk-phe-inputs">
      <span class="rk-eyebrow">Dobór zaczyna się od danych</span>
      <h2>Jakie dane są potrzebne do doboru wymiennika płytowego?</h2>
      <p>Hasło „wymiennik 30 kW” nie opisuje jednego, niezmiennego punktu pracy. Ten sam model przeniesie inną moc przy 80/60–40/30°C, a inną przy 45/38–35/30°C. Do sprawdzenia konkretnego urządzenia potrzebny jest pełny zestaw danych dla obu stron.</p>
      <div class="rk-number-grid" aria-label="Osiem danych potrzebnych do doboru wymiennika">
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Projektowa moc</h3><p>Moc przekazywana w punkcie obliczeniowym, wynikająca z bilansu odbiorników i <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowego obciążenia cieplnego OZC</a>.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Temperatury strony A</h3><p>Temperatura wejściowa i wyjściowa obiegu źródła przy tej samej projektowej mocy.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Temperatury strony B</h3><p>Wymagane zasilanie i powrót podłogówki, ustalone na podstawie mocy, konstrukcji i okładziny.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Rodzaj obu mediów</h3><p>Woda, rodzaj oraz stężenie glikolu, zakres temperatur i dane właściwości cieplnych.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Wymagane przepływy</h3><p>Osobno dla każdej strony, ponieważ ich różnice temperatur i pojemności cieplne mogą być inne.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Dopuszczalne straty ciśnienia</h3><p>Budżet oporów dla wymiennika po stronie A i B, zgodny z dostępnym sprężem pomp.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Rezerwa na zabrudzenie</h3><p>Warunki jakości wody, filtracji i serwisu zamiast jednego stałego procentu doliczanego do mocy.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Ograniczenia urządzenia</h3><p>Dopuszczalne ciśnienie, temperatura, materiał płyt i lutu, króćce oraz wymagania producenta.</p></div></div>
      </div>
      <p>Projektowa moc nie powinna być automatycznie zwiększana o 15–20%. Jeżeli wymagana jest rezerwa, trzeba określić, co ma pokrywać i czy źródło, odbiorniki oraz hydraulika również mogą pracować w takim punkcie. Podstawą pozostają <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/">obliczenia strat ciepła budynku</a>, a nie powierzchnia domu pomnożona przez orientacyjny wskaźnik.</p>
    </section>

    <section class="rk-section rk-section-soft" id="rk-phe-thermal-tool">
      <span class="rk-eyebrow">Główne narzędzie techniczne</span>
      <h2>Kalkulator wymiennika: przepływy, LMTD, UA i opory obu obiegów</h2>
      <p>Wprowadź jeden spójny punkt pracy. Kalkulator oblicza przepływ potrzebny po każdej stronie, różnice końcowe, LMTD i wymagane UA. Po podaniu katalogowych oporów wybranego wymiennika oraz pozostałych oporów pokazuje również orientacyjną wysokość podnoszenia dla obu pomp.</p>
      <div class="rk-tool" id="rk-phe-thermal-calculator">
        <div class="rk-tool-head">
          <div><h3>Dane cieplne i hydrauliczne strony A oraz B</h3><p>Wartości początkowe są wyłącznie przykładem. Właściwości mieszanin glikolowych są orientacyjne — finalny dobór wykonaj na danych producenta dla rzeczywistego stężenia i temperatur.</p></div>
          <button type="button" class="rk-reset" id="rk-phe-thermal-reset">Przywróć przykład</button>
        </div>
        <div class="rk-controls">
          <div class="rk-subhead">Wspólna moc przekazywana</div>
          <div class="rk-control"><label for="rk-phe-power">Projektowa moc wymiennika</label><div class="rk-input-wrap"><input id="rk-phe-power" type="number" min="0.1" max="200" step="0.1" value="10" inputmode="decimal"><span>kW</span></div><small>Moc dla bieżącego punktu temperatur.</small></div>

          <div class="rk-subhead">Strona A — obieg gorący / pierwotny</div>
          <div class="rk-control"><label for="rk-phe-hot-in">Temperatura wejściowa A</label><div class="rk-input-wrap"><input id="rk-phe-hot-in" type="number" min="-20" max="150" step="0.5" value="70" inputmode="decimal"><span>°C</span></div><small>Gorące medium wpływające do wymiennika.</small></div>
          <div class="rk-control"><label for="rk-phe-hot-out">Temperatura wyjściowa A</label><div class="rk-input-wrap"><input id="rk-phe-hot-out" type="number" min="-20" max="150" step="0.5" value="55" inputmode="decimal"><span>°C</span></div><small>Musi być niższa od wejściowej dla trybu grzania.</small></div>
          <div class="rk-control"><label for="rk-phe-hot-fluid">Medium strony A</label><div class="rk-input-wrap"><select id="rk-phe-hot-fluid"><option value="1.163" selected>Woda</option><option value="1.070">Glikol propylenowy ok. 20%</option><option value="1.020">Glikol propylenowy ok. 30%</option><option value="0.970">Glikol propylenowy ok. 40%</option></select></div><small>Orientacyjna objętościowa pojemność cieplna.</small></div>
          <div class="rk-control"><label for="rk-phe-hot-hx-dp">Opór wymiennika A</label><div class="rk-input-wrap"><input id="rk-phe-hot-hx-dp" type="number" min="0" max="200" step="0.5" value="12" inputmode="decimal"><span>kPa</span></div><small>Z karty modelu przy obliczonym przepływie.</small></div>
          <div class="rk-control"><label for="rk-phe-hot-other-dp">Pozostałe opory obiegu A</label><div class="rk-input-wrap"><input id="rk-phe-hot-other-dp" type="number" min="0" max="300" step="0.5" value="8" inputmode="decimal"><span>kPa</span></div><small>Źródło, rury, armatura i zawory na drodze krytycznej.</small></div>

          <div class="rk-subhead">Strona B — obieg ogrzewania podłogowego</div>
          <div class="rk-control"><label for="rk-phe-cold-in">Temperatura wejściowa B</label><div class="rk-input-wrap"><input id="rk-phe-cold-in" type="number" min="-20" max="100" step="0.5" value="30" inputmode="decimal"><span>°C</span></div><small>Powrót podłogówki wpływający do wymiennika.</small></div>
          <div class="rk-control"><label for="rk-phe-cold-out">Temperatura wyjściowa B</label><div class="rk-input-wrap"><input id="rk-phe-cold-out" type="number" min="-20" max="100" step="0.5" value="38" inputmode="decimal"><span>°C</span></div><small>Zasilanie wychodzące w stronę rozdzielacza.</small></div>
          <div class="rk-control"><label for="rk-phe-cold-fluid">Medium strony B</label><div class="rk-input-wrap"><select id="rk-phe-cold-fluid"><option value="1.163" selected>Woda</option><option value="1.070">Glikol propylenowy ok. 20%</option><option value="1.020">Glikol propylenowy ok. 30%</option><option value="0.970">Glikol propylenowy ok. 40%</option></select></div><small>Do ostatecznego doboru użyj danych konkretnej mieszaniny.</small></div>
          <div class="rk-control"><label for="rk-phe-cold-hx-dp">Opór wymiennika B</label><div class="rk-input-wrap"><input id="rk-phe-cold-hx-dp" type="number" min="0" max="200" step="0.5" value="16" inputmode="decimal"><span>kPa</span></div><small>Z karty modelu przy obliczonym przepływie.</small></div>
          <div class="rk-control"><label for="rk-phe-cold-other-dp">Pozostałe opory obiegu B</label><div class="rk-input-wrap"><input id="rk-phe-cold-other-dp" type="number" min="0" max="300" step="0.5" value="25" inputmode="decimal"><span>kPa</span></div><small>Krytyczna pętla, rozdzielacz, rury i armatura.</small></div>
        </div>

        <div class="rk-results" aria-live="polite">
          <div class="rk-result"><b id="rk-phe-hot-flow">—</b><span>wymagany przepływ strony A</span></div>
          <div class="rk-result"><b id="rk-phe-cold-flow">—</b><span>wymagany przepływ strony B</span></div>
          <div class="rk-result"><b id="rk-phe-hot-approach">—</b><span>różnica na gorącym końcu: A wej. − B wyj.</span></div>
          <div class="rk-result"><b id="rk-phe-cold-approach">—</b><span>różnica na zimnym końcu: A wyj. − B wej.</span></div>
          <div class="rk-result primary"><b id="rk-phe-lmtd">—</b><span>średnia logarytmiczna różnica temperatur LMTD</span></div>
          <div class="rk-result primary"><b id="rk-phe-ua">—</b><span>minimalne wymagane UA dla wpisanego punktu</span></div>
          <div class="rk-result"><b id="rk-phe-hot-head">—</b><span>suma oporów i wysokość podnoszenia strony A</span></div>
          <div class="rk-result"><b id="rk-phe-cold-head">—</b><span>suma oporów i wysokość podnoszenia strony B</span></div>
        </div>
        <div class="rk-driver" id="rk-phe-thermal-driver"><b>Ocena wprowadzonego punktu</b><p id="rk-phe-thermal-message">—</p></div>

        <div class="rk-chart-card">
          <div class="rk-chart-wrap"><svg id="rk-phe-temperature-chart" viewBox="0 0 900 410" role="img" aria-labelledby="rk-phe-temp-title rk-phe-temp-desc"><title id="rk-phe-temp-title">Profile temperatur w przeciwprądowym wymienniku płytowym</title><desc id="rk-phe-temp-desc">Wykres aktualizuje temperatury strony gorącej i chłodniejszej po zmianie danych kalkulatora.</desc></svg></div>
          <div class="rk-chart-legend"><span class="rk-legend">Strona A — medium gorące, przepływ od lewej</span><span class="rk-legend cold">Strona B — medium ogrzewane, przepływ od prawej</span></div>
          <p class="rk-chart-note" id="rk-phe-temperature-note">Linie są edukacyjnym profilem między czterema temperaturami granicznymi. Rzeczywisty przebieg zależy od konstrukcji wymiennika i strumieni pojemności cieplnej.</p>
        </div>
      </div>
      <noscript><div class="rk-note warn"><p>Do działania kalkulatora i wykresu potrzebna jest obsługa JavaScript. Treść poradnika pozostaje dostępna bez skryptów.</p></div></noscript>
    </section>

    <section class="rk-section" id="rk-phe-reading">
      <span class="rk-eyebrow">Wynik to punkt doboru, nie nazwa produktu</span>
      <h2>Jak interpretować LMTD, podejście temperaturowe i wymagane UA?</h2>
      <div class="rk-grid-3">
        <div class="rk-card rk-card-accent"><h3>LMTD</h3><p>Średnia logarytmiczna różnica temperatur opisuje napęd cieplny na całej długości wymiennika. Nie jest ani sprawnością, ani temperaturą zasilania.</p></div>
        <div class="rk-card"><h3>Podejście temperaturowe</h3><p>To różnica temperatur między mediami na danym końcu. Bardzo mała wartość jest możliwa tylko przy odpowiednio dużym UA i właściwych przepływach.</p></div>
        <div class="rk-card"><h3>UA</h3><p>Iloczyn całkowitego współczynnika przenikania i powierzchni. Kalkulator wyznacza wymagane UA, ale nie zna geometrii ani rzeczywistego współczynnika konkretnego modelu.</p></div>
      </div>
      <h3>Dlaczego kalkulator nie podaje liczby płyt?</h3>
      <p>Dwie konstrukcje z taką samą liczbą płyt mogą mieć inną powierzchnię, profil kanałów, szerokość szczeliny, opory i dopuszczalne media. Dlatego liczba płyt bez oznaczenia modelu nie jest parametrem projektowym. Wynik trzeba przenieść do programu producenta albo tabel dla konkretnych temperatur, przepływów, mediów i dopuszczalnego Δp.</p>
      <div class="rk-note"><p><strong>Przykład interpretacji:</strong> jeżeli kalkulator pokazuje 1,08 m³/h po stronie podłogówki, nie oznacza to, że każda pętla ma otrzymać taki przepływ. Jest to suma dla obiegu wtórnego. Podział na rozdzielaczu wynika z mocy poszczególnych pomieszczeń, co szerzej wyjaśnia poradnik o <a href="https://projekt-ogrzewania.pl/obieg-grzewczy-w-wodnym-ogrzewaniu-podlogowym/">obiegu grzewczym w wodnej podłogówce</a>.</p></div>

      <div class="rk-cta">
        <span class="rk-eyebrow">Od wyniku kalkulatora do działającego układu</span>
        <div class="rk-cta-title">Wymiennik rozdziela obiegi. Projekt musi jeszcze połączyć temperatury, przepływy i pompy.</div>
        <p>Kalkulator pokazuje bilans cieplny, LMTD, wymagane przepływy, UA i orientacyjne opory. Nie wyznacza charakterystyki konkretnego wymiennika, pomp, zabezpieczeń, regulacji ani parametrów pętli. Te elementy trzeba policzyć razem dla źródła i całej podłogówki.</p>
        <a class="rk-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów indywidualny projekt ogrzewania podłogowego</a>
      </div>
    </section>

    <section class="rk-section rk-section-soft" id="rk-phe-hydraulics">
      <span class="rk-eyebrow">Dwa zamknięte bilanse przepływu</span>
      <h2>Przepływy, straty ciśnienia i dwie pompy obiegowe</h2>
      <p>Po dodaniu wymiennika przepływ strony pierwotnej nie przechodzi do podłogówki. Pompa A pokonuje opory swojego obiegu, a pompa B — opory wymiennika po stronie wtórnej, armatury, magistrali, rozdzielacza i krytycznej pętli. Obu wysokości podnoszenia nie dodaje się do jednej pompy.</p>
      <div class="rk-formula">V̇ [m³/h] = Q [kW] ÷ (C<sub>v</sub> [kWh/(m³·K)] · ΔT [K]) &nbsp;&nbsp; | &nbsp;&nbsp; H [m H₂O] ≈ Δp [kPa] ÷ 9,81</div>
      <div class="rk-table-wrap">
        <div class="rk-table-summary">Każda pompa pracuje w punkcie przecięcia własnej charakterystyki z charakterystyką własnego obiegu.</div>
        <table aria-label="Zakres oporów obu pomp obiegowych">
          <thead><tr><th>Obieg</th><th>Co wyznacza przepływ?</th><th>Jakie opory należy zsumować?</th><th>Czego nie należy robić?</th></tr></thead>
          <tbody>
            <tr><td data-label="Obieg"><strong>Strona A</strong></td><td data-label="Przepływ">Moc, ΔT strony A i właściwości jej medium</td><td data-label="Opory">Źródło, strona A wymiennika, rury i armatura zamkniętej drogi</td><td data-label="Błąd">Nie dodawać oporów pętli podłogowych</td></tr>
            <tr><td data-label="Obieg"><strong>Strona B</strong></td><td data-label="Przepływ">Suma mocy podłogówki, jej ΔT i medium strony B</td><td data-label="Opory">Strona B wymiennika, rury, armatura, rozdzielacz i krytyczna pętla</td><td data-label="Błąd">Nie mnożyć oporu jednej pętli przez liczbę pętli równoległych</td></tr>
          </tbody>
        </table>
      </div>
      <p>Oznaczenie „25-60” nie jest wynikiem doboru, lecz nazwą rodziny pomp o określonych możliwościach. Potrzebny jest punkt Q–H, dostępne tryby regulacji i sprawdzenie minimalnych przepływów. Zobacz osobno, jak działa <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompa obiegowa w ogrzewaniu podłogowym</a> oraz jak korzystać z <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">kalkulatora doboru pompy Q–H</a>.</p>
      <p>Straty wymiennika podane w karcie katalogowej trzeba odczytać przy przepływie i medium bliskim obliczeniowym. Jeżeli zmienisz wodę na glikol albo zwiększysz przepływ, Δp także się zmieni. Na wynik wpływają ponadto <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/">średnice rur w ogrzewaniu podłogowym</a> i średnica magistrali zasilającej rozdzielacze.</p>
    </section>

    <section class="rk-section" id="rk-phe-control">
      <span class="rk-eyebrow">Wymiana ciepła nie jest automatyką</span>
      <h2>Jak regulować i zabezpieczyć temperaturę za wymiennikiem?</h2>
      <p>Temperatura wtórna może być sterowana na kilka sposobów. Właściwy wariant zależy od źródła, zakresu jego modulacji, wymaganej temperatury powrotu, pojemności układu i sposobu pracy odbiorników. Nie istnieje jedna uniwersalna logika „poniżej 35°C otwórz, powyżej zamknij”.</p>
      <div class="rk-grid-3">
        <div class="rk-card"><h3>Regulacja źródła</h3><p>Jeżeli źródło może stabilnie pracować z temperaturą potrzebną przed wymiennikiem, automatyka pogodowa może korygować ją wraz z temperaturą zewnętrzną. Każdy kelwin podejścia wymiennika trzeba dodać do wymagania strony wtórnej.</p></div>
        <div class="rk-card rk-card-accent"><h3>Układ mieszający</h3><p>Przy źródle utrzymującym wyższe parametry zawór z siłownikiem może regulować temperaturę obiegu. Miejsce zaworu i czujników wynika ze schematu, a nie z zasady „zawsze za wymiennikiem”.</p></div>
        <div class="rk-card rk-card-warn"><h3>Niezależne ograniczenie</h3><p>Ogranicznik lub termostat bezpieczeństwa powinien zatrzymać dopływ energii albo pompę zgodnie z projektem, gdy regulacja podstawowa nie utrzyma dopuszczalnej temperatury.</p></div>
      </div>
      <p>Krzywa pogodowa powinna uwzględniać wymagania budynku, odbiorników i podejście wymiennika. Zobacz, jak działa <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/">krzywa grzewcza podłogówki</a> oraz czym różni się <a href="https://projekt-ogrzewania.pl/sterowanie-pogodowe-w-ogrzewaniu-podlogowym/">sterowanie pogodowe</a> od doraźnego zamykania stref.</p>
      <div class="rk-note warn"><p><strong>Czujnik musi mierzyć właściwe miejsce.</strong> Temperatura za wymiennikiem bez informacji o przepływie, temperaturze powrotu i stanie pomp nie opisuje całego procesu. Zabezpieczenie powinno działać także przy błędzie komunikacji lub awarii elementu wykonawczego.</p></div>
    </section>

    <section class="rk-section rk-section-soft" id="rk-phe-heat-pump">
      <span class="rk-eyebrow">Separacja ma wpływ na punkt pracy</span>
      <h2>Wymiennik płytowy z pompą ciepła — kiedy ma sens?</h2>
      <p>W typowej nowej instalacji zamkniętej <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompa ciepła</a> może często zasilać wodną podłogówkę bezpośrednio. Wymiennik warto rozważyć dopiero wtedy, gdy rozwiązuje konkretny problem: oddziela glikol, obieg zewnętrzny, instalację o innej jakości medium albo układy wymagające fizycznej separacji.</p>
      <div class="rk-grid-2">
        <div class="rk-card rk-card-green"><h3>Możliwe uzasadnienie</h3><ul><li>oddzielenie krótkiego obiegu niezamarzającego od wody w budynku,</li><li>ochrona nowego źródła przed medium starej instalacji,</li><li>wymóg producenta albo projektowanej topologii,</li><li>separacja obiegów o różnych dopuszczalnych ciśnieniach.</li></ul></div>
        <div class="rk-card rk-card-warn"><h3>Koszt techniczny</h3><ul><li>dodatkowa różnica temperatur między źródłem a podłogówką,</li><li>straty ciśnienia po obu stronach,</li><li>dodatkowa pompa i energia pomocnicza,</li><li>ryzyko zabrudzenia i potrzeba kontroli przepływu.</li></ul></div>
      </div>
      <p>Podłogówka korzysta z możliwości pracy przy niskiej temperaturze. Artykuł o <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/">niskiej temperaturze zasilania pompy ciepła</a> wyjaśnia, dlaczego nie należy bez potrzeby podnosić parametrów źródła. Kalkulator kosztów poniżej nie zakłada stałego spadku COP — pozwala wpisać osobny SCOP wariantu bez wymiennika i z wymiennikiem.</p>
    </section>

    <section class="rk-section" id="rk-phe-solid-fuel">
      <span class="rk-eyebrow">Modernizacja wymaga analizy całej kotłowni</span>
      <h2>Wymiennik przy kotle na paliwo stałe i starszej instalacji</h2>
      <p>W starszych instalacjach wymiennik jest często stosowany do połączenia chronionego obiegu źródła z nową instalacją zamkniętą. Nie wolno jednak sprowadzać projektu do samego wymiennika. Kocioł może wymagać ochrony temperatury powrotu, odpowiedniego zładu, bufora i określonego sposobu zabezpieczenia przed przegrzaniem.</p>
      <div class="rk-grid-3">
        <div class="rk-card"><h3>Strona kotłowa</h3><p>Należy sprawdzić dopuszczalny układ pracy kotła, wymagany przepływ, zabezpieczenia, ochronę powrotu i zachowanie przy braku zasilania elektrycznego.</p></div>
        <div class="rk-card rk-card-accent"><h3>Przeniesienie mocy</h3><p>Wymiennik musi przenieść projektową moc przy realnych temperaturach, również wtedy, gdy źródło i odbiorniki nie pracują w katalogowym punkcie.</p></div>
        <div class="rk-card"><h3>Strona podłogowa</h3><p>Potrzebuje własnej stabilizacji ciśnienia, zaworu bezpieczeństwa, pompy, odpowietrzenia, regulacji i zabezpieczenia temperatury.</p></div>
      </div>
      <p>Jeżeli kocioł ma współpracować z buforem, kolejność elementów i punkty włączenia pomp powinny wynikać ze schematu hydraulicznego. Większy <a href="https://projekt-ogrzewania.pl/wiekszy-czy-mniejszy-zlad-wody-w-ogrzewaniu-podlogowym/">zład wody w instalacji</a> może realizować inną funkcję niż wymiennik. Nie można więc uznać, że jeden element automatycznie zastępuje drugi.</p>
    </section>

    <section class="rk-section rk-section-soft" id="rk-phe-cost-tool">
      <span class="rk-eyebrow">Koszt wynika z całego dodatkowego obiegu</span>
      <h2>Kalkulator kosztów eksploatacji wymiennika i separacji obiegów</h2>
      <p>Sam wymiennik nie pobiera prądu i nie ma stałej „straty 5%”. Dodatkowy koszt może wynikać ze zmiany sprawności źródła, energii dwóch pomp, większych oporów, serwisu oraz nakładu na kompletny zespół separacji. Kalkulator porównuje układ bezpośredni z układem rozdzielonym przy tej samej ilości użytecznego ciepła.</p>
      <div class="rk-tool" id="rk-phe-cost-calculator">
        <div class="rk-tool-head">
          <div><h3>Dodatkowy koszt źródła, pomp i kompletnej separacji</h3><p>Wartości startowe są przykładem dla pompy ciepła. Wpisz własne ceny, rzeczywiste moce elektryczne pomp i sezonowe współczynniki dla porównywanych wariantów.</p></div>
          <button type="button" class="rk-reset" id="rk-phe-cost-reset">Przywróć przykład</button>
        </div>
        <div class="rk-controls">
          <div class="rk-subhead">Ciepło i źródło</div>
          <div class="rk-control"><label for="rk-phe-cost-heat">Użyteczne ciepło roczne</label><div class="rk-input-wrap"><input id="rk-phe-cost-heat" type="number" min="0" max="200000" step="100" value="12000" inputmode="decimal"><span>kWh/rok</span></div><small>Ta sama ilość oddana do budynku w obu wariantach.</small></div>
          <div class="rk-control"><label for="rk-phe-source-type">Rodzaj źródła</label><div class="rk-input-wrap"><select id="rk-phe-source-type"><option value="heatpump" selected>Pompa ciepła — współczynnik SCOP</option><option value="gas">Kocioł gazowy — sprawność sezonowa</option><option value="electric">Źródło elektryczne — sprawność</option><option value="solid">Kocioł na paliwo stałe — sprawność sezonowa</option></select></div><small>Wybór zmienia opis współczynnika, nie narzuca ceny paliwa.</small></div>
          <div class="rk-control"><label for="rk-phe-factor-direct" id="rk-phe-factor-direct-label">SCOP bez wymiennika</label><div class="rk-input-wrap"><input id="rk-phe-factor-direct" type="number" min="0.3" max="8" step="0.01" value="3.80" inputmode="decimal"><span id="rk-phe-factor-direct-unit">—</span></div><small id="rk-phe-factor-direct-help">Sezonowy współczynnik całego wariantu bez separacji.</small></div>
          <div class="rk-control"><label for="rk-phe-factor-separated" id="rk-phe-factor-separated-label">SCOP z wymiennikiem</label><div class="rk-input-wrap"><input id="rk-phe-factor-separated" type="number" min="0.3" max="8" step="0.01" value="3.60" inputmode="decimal"><span id="rk-phe-factor-separated-unit">—</span></div><small id="rk-phe-factor-separated-help">Wpisz wartość dla wyższej temperatury źródła i rzeczywistego sterowania.</small></div>
          <div class="rk-control"><label for="rk-phe-source-price">Cena energii źródła</label><div class="rk-input-wrap"><input id="rk-phe-source-price" type="number" min="0" max="10" step="0.01" value="1.00" inputmode="decimal"><span>zł/kWh</span></div><small>Dla prądu albo energii chemicznej paliwa — zgodnie z wpisanym współczynnikiem.</small></div>
          <div class="rk-control"><label for="rk-phe-electricity-price">Cena energii elektrycznej pomp</label><div class="rk-input-wrap"><input id="rk-phe-electricity-price" type="number" min="0" max="10" step="0.01" value="1.00" inputmode="decimal"><span>zł/kWh</span></div><small>Łączna zmienna stawka właściwa dla czasu pracy.</small></div>

          <div class="rk-subhead">Pompy obiegowe</div>
          <div class="rk-control"><label for="rk-phe-direct-pump">Pompa w układzie bezpośrednim</label><div class="rk-input-wrap"><input id="rk-phe-direct-pump" type="number" min="0" max="1000" step="1" value="35" inputmode="decimal"><span>W</span></div><small>Średni pobór w godzinach przyjętych do kalkulacji.</small></div>
          <div class="rk-control"><label for="rk-phe-primary-pump">Pompa strony A</label><div class="rk-input-wrap"><input id="rk-phe-primary-pump" type="number" min="0" max="1000" step="1" value="35" inputmode="decimal"><span>W</span></div><small>Nie moc maksymalna z tabliczki, jeśli pracuje modulacyjnie.</small></div>
          <div class="rk-control"><label for="rk-phe-secondary-pump">Pompa strony B</label><div class="rk-input-wrap"><input id="rk-phe-secondary-pump" type="number" min="0" max="1000" step="1" value="45" inputmode="decimal"><span>W</span></div><small>Średni pobór w analizowanym profilu pracy.</small></div>
          <div class="rk-control"><label for="rk-phe-pump-hours">Czas pracy pomp</label><div class="rk-input-wrap"><input id="rk-phe-pump-hours" type="number" min="0" max="8760" step="50" value="3500" inputmode="decimal"><span>h/rok</span></div><small>Wspólny czas dla uproszczonego porównania.</small></div>

          <div class="rk-subhead">Nakład, utrzymanie i okres</div>
          <div class="rk-control"><label for="rk-phe-separation-capex">Dodatkowy nakład na separację</label><div class="rk-input-wrap"><input id="rk-phe-separation-capex" type="number" min="0" max="200000" step="100" value="3500" inputmode="decimal"><span>zł</span></div><small>Wymiennik, pompa, armatura, zabezpieczenia, sterowanie i montaż ponad wariant bazowy.</small></div>
          <div class="rk-control"><label for="rk-phe-service-cost">Dodatkowe utrzymanie</label><div class="rk-input-wrap"><input id="rk-phe-service-cost" type="number" min="0" max="20000" step="10" value="150" inputmode="decimal"><span>zł/rok</span></div><small>Rezerwa na kontrolę, czyszczenie i elementy dodatkowego obiegu.</small></div>
          <div class="rk-control"><label for="rk-phe-cost-years">Okres analizy</label><div class="rk-input-wrap"><select id="rk-phe-cost-years"><option value="5">5 lat</option><option value="10">10 lat</option><option value="15" selected>15 lat</option><option value="20">20 lat</option><option value="25">25 lat</option></select></div><small>Wykres obejmuje nakład w roku 0 i koszty kolejnych lat.</small></div>
          <div class="rk-control"><label for="rk-phe-price-growth">Wzrost cen energii</label><div class="rk-input-wrap"><input id="rk-phe-price-growth" type="number" min="-10" max="20" step="0.1" value="2.0" inputmode="decimal"><span>%/rok</span></div><small>Edytowalny scenariusz, nie prognoza.</small></div>
        </div>

        <div class="rk-results" aria-live="polite">
          <div class="rk-result"><b id="rk-phe-source-direct-energy">—</b><span>energia źródła bez wymiennika / rok</span></div>
          <div class="rk-result"><b id="rk-phe-source-separated-energy">—</b><span>energia źródła z wymiennikiem / rok</span></div>
          <div class="rk-result"><b id="rk-phe-extra-pump-energy">—</b><span>różnica energii pomp / rok</span></div>
          <div class="rk-result"><b id="rk-phe-cost-direct-year">—</b><span>koszt energii wariantu bezpośredniego w 1. roku</span></div>
          <div class="rk-result"><b id="rk-phe-cost-separated-year">—</b><span>koszt energii i utrzymania separacji w 1. roku</span></div>
          <div class="rk-result primary"><b id="rk-phe-cost-difference-year">—</b><span>różnica kosztu eksploatacji w 1. roku</span></div>
          <div class="rk-result"><b id="rk-phe-tco-direct">—</b><span>koszt wariantu bazowego w okresie</span></div>
          <div class="rk-result primary"><b id="rk-phe-tco-separated">—</b><span>koszt wariantu z separacją wraz z dodatkowym nakładem</span></div>
          <div class="rk-result rk-result-wide"><b id="rk-phe-tco-difference">—</b><span>łączna różnica kosztu po wybranym okresie</span></div>
          <div class="rk-result rk-result-wide"><b id="rk-phe-cost-driver">—</b><span>największa składowa różnicy w pierwszym roku</span></div>
        </div>
        <div class="rk-driver"><b>Jak czytać porównanie?</b><p id="rk-phe-cost-message">—</p></div>

        <div class="rk-chart-card">
          <div class="rk-chart-wrap"><svg id="rk-phe-cost-chart" viewBox="0 0 900 410" role="img" aria-labelledby="rk-phe-cost-chart-title rk-phe-cost-chart-desc"><title id="rk-phe-cost-chart-title">Skumulowana różnica kosztu układu z wymiennikiem</title><desc id="rk-phe-cost-chart-desc">Wykres pokazuje dodatkowy albo niższy skumulowany koszt separacji w kolejnych latach.</desc></svg></div>
          <div class="rk-chart-legend"><span class="rk-legend">Skumulowana różnica: układ z wymiennikiem minus układ bezpośredni</span><span class="rk-legend zero">Poziom 0 zł</span></div>
          <p class="rk-chart-note" id="rk-phe-cost-chart-note">Wartość dodatnia oznacza wyższy koszt wariantu z separacją, a ujemna — niższy koszt przy wprowadzonych założeniach.</p>
        </div>

        <div class="rk-table-wrap">
          <div class="rk-table-summary" id="rk-phe-cost-table-summary">Koszt skumulowany obu wariantów i różnica w wybranych latach.</div>
          <table aria-label="Koszt skumulowany instalacji bez wymiennika i z wymiennikiem">
            <thead><tr><th>Rok</th><th>Bez wymiennika</th><th>Z wymiennikiem</th><th>Różnica</th></tr></thead>
            <tbody id="rk-phe-cost-table"></tbody>
          </table>
        </div>
      </div>
      <p>Wymagania dotyczące efektywności energetycznej pomp obiegowych i powiązanych metod wyznaczania EEI opisują materiały <a href="https://single-market-economy.ec.europa.eu/single-market/goods/european-standards/harmonised-standards/ecodesign-and-energy-labelling-circulators_en" target="_blank" rel="nofollow noopener noreferrer">Komisji Europejskiej dotyczące ekoprojektu pomp obiegowych</a>. Do kalkulatora należy jednak wpisać średni pobór rzeczywistego urządzenia w swoim punkcie pracy, a nie samą wartość EEI.</p>
      <noscript><div class="rk-note warn"><p>Do działania kalkulatora kosztów i wykresu potrzebna jest obsługa JavaScript. Założenia oraz ograniczenia narzędzia pozostają opisane w treści.</p></div></noscript>
    </section>

    <section class="rk-section" id="rk-phe-maintenance">
      <span class="rk-eyebrow">Spadek mocy często zaczyna się od oporu</span>
      <h2>Zabrudzenie wymiennika, jakość wody i konserwacja</h2>
      <p>Osad na płytach tworzy dodatkowy opór cieplny, a zwężenie kanałów zwiększa stratę ciśnienia. W efekcie ta sama pompa może zapewniać mniejszy przepływ, a wymiennik przekazywać mniejszą moc. Nie wolno wtedy automatycznie zwiększać biegu pompy bez ustalenia przyczyny.</p>
      <div class="rk-grid-3">
        <div class="rk-card"><h3>Objawy po stronie cieplnej</h3><p>Przy podobnych warunkach źródła temperatura wtórna jest niższa, rośnie wymagane podejście, a instalacja nie osiąga wcześniejszej mocy.</p></div>
        <div class="rk-card"><h3>Objawy po stronie hydraulicznej</h3><p>Maleje przepływ, rośnie różnica ciśnień, pompa pracuje bliżej ograniczenia albo pojawiają się hałas i problemy z równoważeniem.</p></div>
        <div class="rk-card rk-card-accent"><h3>Weryfikacja</h3><p>Porównuje się temperatury, przepływy i spadki ciśnienia po obu stronach z wartościami z uruchomienia oraz kartą konkretnego modelu.</p></div>
      </div>
      <h3>Czy wymiennik płytowy trzeba czyścić co kilka lat?</h3>
      <p>Nie ma jednego terminu odpowiedniego dla każdej instalacji. Częstotliwość zależy od jakości medium, uzupełniania wody, materiałów, temperatury, filtracji i zaleceń producenta. W obiegu zamkniętym napełnionym poprawnie warunki mogą być zupełnie inne niż w układzie często uzupełnianym twardą wodą.</p>
      <p>Wymiennik lutowany czyści się metodą dopuszczoną przez producenta i z użyciem środka zgodnego z materiałem płyt oraz lutu. Przed płukaniem trzeba potwierdzić, czy problemem rzeczywiście jest osad, a nie zapowietrzenie, zamknięty zawór albo niewłaściwy punkt pracy pompy. Pomocna może być diagnostyka <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">objawów zapowietrzenia podłogówki</a>.</p>
    </section>

    <section class="rk-section rk-section-soft" id="rk-phe-errors">
      <span class="rk-eyebrow">Błąd jednej strony zmienia cały punkt pracy</span>
      <h2>Najczęstsze błędy przy wymienniku płytowym do podłogówki</h2>
      <div class="rk-number-grid" aria-label="Najczęstsze błędy przy wymienniku płytowym">
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Dobór po liczbie płyt</h3><p>Bez geometrii, temperatur, mediów i przepływów liczba płyt nie mówi, czy urządzenie osiągnie wymagany punkt.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Dobór po „mocy maksymalnej”</h3><p>Moc katalogowa dotyczy określonych parametrów. Przy mniejszej różnicy temperatur rzeczywista zdolność przekazywania ciepła może być inna.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Brak kontroli temperatury</h3><p>Traktowanie wymiennika jak zaworu regulacyjnego pozostawia podłogówkę bez prawidłowej automatyki i ograniczenia.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Jedna pompa dla dwóch obiegów</h3><p>Po fizycznym rozdzieleniu mediów pompa jednej strony nie wymusza przepływu po drugiej stronie płyt.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Pominięcie oporu wymiennika</h3><p>Spadek ciśnienia musi zostać uwzględniony osobno dla każdej strony i dla rzeczywistego przepływu.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Zamiana przepływu sumarycznego na pętlę</h3><p>Przepływ obiegu B jest sumą pracujących gałęzi. Każda pętla wymaga własnej nastawy wynikającej z jej mocy.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Brak zabezpieczeń strony wtórnej</h3><p>Oddzielony obieg nie dziedziczy naczynia ani zaworu bezpieczeństwa strony pierwotnej.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Brak pomiarów przy uruchomieniu</h3><p>Bez temperatur, przepływów i ciśnień odniesienia trudno później odróżnić zabrudzenie od błędnej regulacji.</p></div></div>
      </div>
      <p>Do tej listy dochodzą typowe <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">błędy montażu ogrzewania podłogowego</a>: niewłaściwe długości pętli, przypadkowe rozstawy, źle dobrane średnice i brak próby szczelności. Wymiennik nie kompensuje takich problemów.</p>
    </section>

    <section class="rk-section" id="rk-phe-commissioning">
      <span class="rk-eyebrow">Pomiar zamiast oceny „rura jest ciepła”</span>
      <h2>Jak sprawdzić wymiennik i oba obiegi podczas uruchomienia?</h2>
      <p>Uruchomienie powinno potwierdzić założony punkt pracy, a nie tylko obecność ciepła. Wyniki warto zapisać, ponieważ tworzą bazę do późniejszego serwisu i oceny ewentualnego zabrudzenia.</p>
      <div class="rk-number-grid" aria-label="Procedura sprawdzenia wymiennika podczas uruchomienia">
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Sprawdź kierunki przepływu</h3><p>Potwierdź króćce, przeciwprąd i kierunek pracy obu pomp według dokumentacji urządzenia.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Napełnij obiegi oddzielnie</h3><p>Ustal właściwe medium, ciśnienie napełnienia, odpowietrzenie i działanie zabezpieczeń każdej strony.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Uruchom przepływy</h3><p>Zweryfikuj przepływ strony A oraz sumę przepływów strony B przy otwartych obiegach przewidzianych do testu.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Zmierz cztery temperatury</h3><p>Zapisz wejście i wyjście strony gorącej oraz wejście i wyjście strony wtórnej po ustabilizowaniu pracy.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Porównaj bilans mocy</h3><p>Oblicz moc z przepływu i ΔT po obu stronach. Niewielkie różnice pomiarowe są normalne, ale duża rozbieżność wymaga diagnostyki.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Sprawdź opory i pompy</h3><p>Porównaj punkt Q–H z nastawą pomp, zaworami oraz danymi wymiennika przy aktualnym medium.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Przetestuj regulację</h3><p>Zmień zapotrzebowanie i sprawdź reakcję źródła, mieszania, czujników oraz ograniczenia temperatury.</p></div></div>
        <div class="rk-number-card"><span class="rk-number" aria-hidden="true"></span><div class="rk-number-copy"><h3>Zapisz stan odniesienia</h3><p>Zachowaj temperatury, przepływy, ciśnienia, nastawy i pobór pomp do kolejnych przeglądów.</p></div></div>
      </div>
      <p>Przed przykryciem instalacji należy również wykonać właściwą <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próbę szczelności ogrzewania podłogowego</a>. Próba pętli nie zastępuje jednak osobnego sprawdzenia szczelności, ciśnienia i połączeń zespołu wymiennika.</p>
    </section>

    <section class="rk-section rk-section-soft" id="rk-phe-conclusion">
      <span class="rk-eyebrow">Wniosek projektowy</span>
      <h2>Czy warto stosować wymiennik płytowy w ogrzewaniu podłogowym?</h2>
      <div class="rk-answer" id="rk-phe-conclusion-answer">
        <div class="rk-answer-main">
          <p><strong>Tak — jeżeli instalacja rzeczywiście wymaga fizycznej separacji mediów, ciśnień albo starego i nowego obiegu.</strong> W takim przypadku prawidłowo dobrany wymiennik jest skutecznym elementem całego rozwiązania.</p>
          <p><strong>Nie — jeżeli ma jedynie „zbić temperaturę”, a oba obiegi mogą bezpiecznie pracować razem.</strong> Temperaturę należy regulować źródłem lub odpowiednim układem mieszającym. Dodanie wymiennika bez funkcjonalnej potrzeby zwiększa liczbę elementów, opory i koszt eksploatacji.</p>
          <p>Dobór powinien obejmować moc z obliczeń, cztery temperatury, oba media, przepływy, dopuszczalne straty ciśnienia, charakterystyki pomp i automatykę. Dopiero z takimi danymi można zweryfikować konkretny model urządzenia.</p>
        </div>
        <div class="rk-verdict">
          <div class="rk-verdict-item"><b>Najpierw OZC i odbiorniki</b><span>Ustal wymaganą moc oraz temperaturę podłogówki dla rzeczywistej powierzchni czynnej.</span></div>
          <div class="rk-verdict-item"><b>Potem punkt wymiennika</b><span>Sprawdź LMTD, UA, przepływy, media i Δp konkretnego modelu.</span></div>
          <div class="rk-verdict-item"><b>Na końcu cały układ</b><span>Dobierz pompy, zabezpieczenia, regulację, naczynia i nastawy rozdzielacza.</span></div>
        </div>
      </div>

      <div class="rk-cta">
        <span class="rk-eyebrow">Projekt zamiast doboru pojedynczego elementu</span>
        <div class="rk-cta-title">Podłogówka musi zadziałać jako jeden układ — od źródła po najdalszą pętlę.</div>
        <p>W projekcie łączymy obciążenie każdego pomieszczenia, powierzchnię czynną, temperaturę zasilania, rozstaw i długość pętli, przepływy, opory, rozdzielacze oraz źródło ciepła. Jeżeli wymiennik jest potrzebny, jego parametry i obie pompy muszą zostać włączone do tego samego bilansu.</p>
        <a class="rk-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt instalacji ogrzewania podłogowego</a>
      </div>
    </section>

    <section class="rk-section" id="rk-phe-sources">
      <span class="rk-eyebrow">Materiały publiczne i podstawa obliczeń</span>
      <h2>Źródła oficjalne i materiały techniczne</h2>
      <ul class="rk-sources">
        <li><a href="https://web.mit.edu/16.unified/www/FALL/thermodynamics/notes/node131.html" target="_blank" rel="nofollow noopener noreferrer">Massachusetts Institute of Technology — Heat Exchangers</a>: bilans energii, współczynnik przenikania, przeciwprąd i średnia logarytmiczna różnica temperatur.</li>
        <li><a href="https://single-market-economy.ec.europa.eu/single-market/goods/european-standards/harmonised-standards/ecodesign-and-energy-labelling-circulators_en" target="_blank" rel="nofollow noopener noreferrer">Komisja Europejska — Ecodesign and energy labelling: circulators</a>: przepisy i zestawienie norm dotyczących efektywności energetycznej pomp obiegowych.</li>
        <li><a href="https://eur-lex.europa.eu/legal-content/PL/TXT/?uri=CELEX:32009R0641" target="_blank" rel="nofollow noopener noreferrer">EUR-Lex — rozporządzenie Komisji (WE) nr 641/2009</a>: wymagania ekoprojektu dla pomp bezdławnicowych.</li>
        <li><a href="https://energy.ec.europa.eu/topics/energy-efficiency/heat-pumps_en" target="_blank" rel="nofollow noopener noreferrer">Komisja Europejska — Heat pumps</a>: zasada działania i rola efektywności pomp ciepła w ogrzewaniu budynków.</li>
      </ul>
      <p>W projekcie instalacji płaszczyznowej należy dodatkowo stosować właściwe wydania norm i dokumentacji technicznej, w tym zakres obliczeń obciążenia cieplnego, projektowania ogrzewania podłogowego, zabezpieczeń źródła oraz instrukcje producentów wymiennika, pomp i automatyki. Zobacz również omówienie <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">PN-EN 12831 dla obciążenia cieplnego</a> i <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">EN 1264 dla ogrzewania podłogowego</a>.</p>
      <div class="rk-responsibility">
        <p><strong>Stan źródeł:</strong> odnośniki sprawdzono 13 września 2026 r. Strony publiczne nie zastępują pełnej dokumentacji konkretnego urządzenia ani aktualnej treści norm.</p>
        <p><strong>Wartości początkowe:</strong> temperatury, ceny, SCOP, sprawności, opory, moce pomp i koszty w kalkulatorach są edytowalnymi przykładami, a nie zaleceniami dla dowolnego domu.</p>
        <p><strong>Odpowiedzialność:</strong> artykuł i narzędzia mają charakter edukacyjny. Nie są projektem wykonawczym, doborem handlowym, instrukcją zabezpieczenia kotła ani prognozą cen energii.</p>
      </div>
    </section>

    <section class="rk-section rk-section-soft" id="rk-phe-faq">
      <span class="rk-eyebrow">Najczęstsze pytania inwestorów i instalatorów</span>
      <h2>FAQ: wymiennik płytowy w ogrzewaniu podłogowym</h2>
      <div class="rk-faq">
        <details><summary>Czy wymiennik płytowy obniża temperaturę wody?</summary><div class="rk-faq-answer"><p>Wymiennik nie reguluje temperatury do zadanej wartości. Temperatury wyjściowe wynikają z temperatur wejściowych, przepływów, właściwości mediów i UA. Stabilną temperaturę podłogówki zapewnia odpowiednio zaprojektowana regulacja oraz zabezpieczenie.</p></div></details>
        <details><summary>Czy zawór mieszający może zastąpić wymiennik?</summary><div class="rk-faq-answer"><p>Tylko w funkcji regulowania temperatury, jeśli nie jest potrzebne fizyczne oddzielenie mediów i ciśnień. Zawór miesza przepływy we wspólnym obiegu, a wymiennik tworzy dwa osobne obiegi.</p></div></details>
        <details><summary>Jak dobrać moc wymiennika płytowego do podłogówki?</summary><div class="rk-faq-answer"><p>Trzeba znać projektową moc, cztery temperatury, oba media, wymagane przepływy i dopuszczalne straty ciśnienia. Moc z nazwy handlowej lub sama liczba płyt nie wystarczają do doboru konkretnego modelu.</p></div></details>
        <details><summary>Jaki przepływ powinien być przez wymiennik płytowy?</summary><div class="rk-faq-answer"><p>Przepływ każdej strony wynika z przekazywanej mocy, różnicy temperatur i objętościowej pojemności cieplnej medium. Strony mogą mieć różne przepływy, mimo że w stanie ustalonym przekazują zbliżoną moc.</p></div></details>
        <details><summary>Dlaczego przy wymienniku najczęściej potrzebne są dwie pompy?</summary><div class="rk-faq-answer"><p>Płyty fizycznie rozdzielają media, dlatego pompa strony pierwotnej nie wywołuje przepływu po stronie wtórnej. Każda pompa musi pokonać opory własnego, zamkniętego obiegu.</p></div></details>
        <details><summary>Jaka różnica temperatur na końcu wymiennika jest prawidłowa?</summary><div class="rk-faq-answer"><p>Nie ma jednej wartości dla wszystkich instalacji. Mniejsze podejście temperaturowe wymaga zwykle większego UA, a jego wykonalność trzeba sprawdzić dla konkretnego modelu, przepływów, mediów i dopuszczalnego spadku ciśnienia.</p></div></details>
        <details><summary>Czy wymiennik płytowy jest potrzebny przy pompie ciepła?</summary><div class="rk-faq-answer"><p>Nie automatycznie. Może być uzasadniony koniecznością oddzielenia glikolu, starej instalacji, innego ciśnienia lub wymaganiem producenta. W nowej wspólnej instalacji wodnej może niepotrzebnie zwiększać temperaturę źródła, opory i zużycie pomp.</p></div></details>
        <details><summary>Czy kocioł na paliwo stałe zawsze wymaga wymiennika?</summary><div class="rk-faq-answer"><p>Nie można odpowiedzieć wyłącznie na podstawie rodzaju paliwa. Trzeba sprawdzić konstrukcję kotłowni, układ otwarty lub zamknięty, wymagania producenta, zabezpieczenia, ochronę powrotu, bufor i sposób regulacji podłogówki.</p></div></details>
        <details><summary>Czy wymiennik lutowany wymaga regularnego czyszczenia?</summary><div class="rk-faq-answer"><p>Częstotliwość zależy od jakości medium, uzupełniania wody, filtracji, temperatury i zaleceń producenta. Czyszczenie powinno wynikać z pomiarów lub objawów, a użyta metoda musi być zgodna z materiałem płyt i lutu.</p></div></details>
        <details><summary>Czy kalkulatory dobierają gotowy wymiennik i pompy?</summary><div class="rk-faq-answer"><p>Nie. Kalkulator cieplno-hydrauliczny wyznacza punkt pracy, a kalkulator kosztów porównuje wpisane założenia. Konkretny wymiennik trzeba sprawdzić w danych producenta, a pompy dobrać z charakterystyk Q–H całych obiegów.</p></div></details>
      </div>
    </section>

    <section class="rk-section rk-section-dark" id="rk-phe-author" aria-labelledby="rk-phe-author-heading">
      <div class="rk-author">
        <div class="rk-author-head">
          <div>
            <span class="rk-eyebrow">E-E-A-T i odpowiedzialność za treść</span>
            <h2 id="rk-phe-author-heading">Autor i weryfikacja merytoryczna</h2>
            <p>Treść przygotowana z perspektywy projektowania cieplnego, hydrauliki obu obiegów i rzeczywistego uruchomienia wodnego ogrzewania podłogowego.</p>
          </div>
          <span class="rk-author-mark">Aktualizacja: 13.09.2026</span>
        </div>
        <div class="rk-author-layout">
          <aside class="rk-author-side">
            <div class="rk-author-photo"><img src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski — projektant instalacji grzewczych" width="132" height="132" loading="lazy" decoding="async"></div>
            <div class="rk-author-name"><a href="https://projekt-ogrzewania.pl/author/admin3399/">Robert Kucharski</a></div>
            <p class="rk-author-role">Projektant instalacji sanitarnych i specjalista HVAC</p>
            <div class="rk-author-social-label">Profile branżowe</div>
            <div class="rk-author-social" aria-label="Profile branżowe Roberta Kucharskiego">
              <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="nofollow noopener noreferrer" aria-label="LinkedIn Roberta Kucharskiego"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5.2 3.4A2.2 2.2 0 1 1 5.2 7.8a2.2 2.2 0 0 1 0-4.4ZM3.3 9h3.8v11.7H3.3V9Zm6.1 0h3.6v1.6h.1c.5-1 1.8-2.1 3.7-2.1 4 0 4.7 2.6 4.7 6v6.2h-3.8v-5.5c0-1.3 0-3-1.9-3s-2.2 1.4-2.2 2.9v5.6H9.8V9Z"/></svg></a>
              <a href="https://www.facebook.com/projektogrzewaniapl" target="_blank" rel="nofollow noopener noreferrer" aria-label="Facebook Projekt Ogrzewania"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M13.7 21v-8h2.7l.4-3.1h-3.1V8c0-.9.3-1.5 1.6-1.5H17V3.7c-.3 0-1.3-.1-2.5-.1-2.5 0-4.2 1.5-4.2 4.3v2H7.5V13h2.8v8h3.4Z"/></svg></a>
              <a href="https://x.com/Projekt_HVAC" target="_blank" rel="nofollow noopener noreferrer" aria-label="Profil X Projekt HVAC"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 3h4.6l4.2 5.6L17.8 3H20l-6.2 7.1L20.7 21h-4.6l-4.7-6.3L5.9 21H3.7l6.7-7.7L4 3Zm3.5 1.7 9.4 14.6h1.9L9.4 4.7H7.5Z"/></svg></a>
            </div>
          </aside>
          <div class="rk-author-main">
            <blockquote class="rk-author-quote"><p>Moim zdaniem wymiennika płytowego nie dobiera się po samej mocy ani liczbie płyt. Najpierw ustalam rzeczywiste temperatury, przepływy i dopuszczalne opory po obu stronach, a następnie sprawdzam konkretny model w danych producenta.</p></blockquote>
            <div class="rk-author-cards">
              <div class="rk-author-card"><b>Praktyka projektowa</b><p>Analiza OZC, powierzchni czynnej, temperatur, pętli, przepływów, rozdzielaczy, źródeł ciepła i automatyki.</p></div>
              <div class="rk-author-card"><b>Metoda</b><p>Oddzielny bilans strony pierwotnej i wtórnej, cztery temperatury, LMTD, wymagane UA, opory i charakterystyki pomp.</p></div>
              <div class="rk-author-card"><b>Zakres aktualizacji</b><p>Usunięto kategoryczne reguły, symulator degradacji i dobór po liczbie płyt; dodano grafikę, dwa kalkulatory, wykresy i ograniczenia.</p></div>
            </div>
            <div class="rk-author-mini-label">Portale autora</div>
            <div class="rk-portals">
              <a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a>
              <a href="https://remont.biz.pl/" target="_blank" rel="nofollow noopener noreferrer">Remont.biz.pl</a>
              <a href="https://sobir.pl/" target="_blank" rel="nofollow noopener noreferrer">Sobir.pl</a>
            </div>
          </div>
        </div>
      </div>
    </section>

  </article>
</div>

<script>
(function(){
  "use strict";

  var root = document.getElementById("rk-phe");
  if (!root) return;

  function byId(id){ return document.getElementById(id); }
  function readNumber(id){
    var el = byId(id);
    if (!el) return NaN;
    var value = parseFloat(String(el.value).replace(",","."));
    return Number.isFinite(value) ? value : NaN;
  }
  function write(id,value){
    var el = byId(id);
    if (el) el.textContent = value;
  }
  function clamp(value,min,max){ return Math.min(max,Math.max(min,value)); }
  function formatNumber(value,digits){
    if (!Number.isFinite(value)) return "—";
    return value.toLocaleString("pl-PL",{minimumFractionDigits:digits,maximumFractionDigits:digits});
  }
  function formatMoney(value){
    if (!Number.isFinite(value)) return "—";
    return Math.round(value).toLocaleString("pl-PL") + " zł";
  }
  function formatSignedMoney(value){
    if (!Number.isFinite(value)) return "—";
    if (Math.abs(value) < 0.5) return "0 zł";
    return (value > 0 ? "+" : "−") + Math.round(Math.abs(value)).toLocaleString("pl-PL") + " zł";
  }
  function setResultState(id,state){
    var output = byId(id);
    if (!output || !output.parentElement) return;
    output.parentElement.classList.remove("good","warn","bad");
    if (state) output.parentElement.classList.add(state);
  }
  function svgText(value){
    var encoder=document.createElement("span");
    encoder.textContent=String(value);
    return encoder.innerHTML;
  }

  /* Modułowa grafika edukacyjna */
  var flowModes = {
    direct:{
      status:"Źródło i podłogówka pracują ze wspólnym medium oraz wspólnym ciśnieniem statycznym. Regulacja temperatury nadal może wymagać automatyki lub mieszania.",
      yes:"Wspólne medium przenosi energię i przepływa przez elementy jednego obiegu.",
      no:"Nie ma fizycznej granicy oddzielającej jakość wody ani ciśnienie części źródłowej od odbiorczej.",
      arrows:["→","→","→","→"],
      cards:[
        ["Ź","Źródło ciepła","Wytwarza ciepło zgodnie ze swoją regulacją i ograniczeniami.","temperatura źródła"],
        ["P","Pompa obiegowa","Wymusza przepływ w zamkniętej drodze wspólnego obiegu.","jeden bilans Q–H"],
        ["H₂O","Wspólne medium","Ta sama woda znajduje się po stronie źródła i rozdzielacza.","wspólne ciśnienie"],
        ["R","Rozdzielacz","Dzieli przepływ pomiędzy równoległe pętle i umożliwia ich równoważenie.","suma przepływów pętli"],
        ["OP","Podłogówka","Oddaje ciepło do pomieszczeń przy parametrach wynikających z projektu.","powrót do źródła"]
      ]
    },
    separated:{
      status:"Energia przechodzi przez płyty, ale obieg źródła i obieg podłogówki mają oddzielne media, ciśnienia oraz przepływy.",
      yes:"Energia cieplna — zależnie od różnicy temperatur, UA i przepływów.",
      no:"Woda lub glikol, ciśnienie robocze, zanieczyszczenia oraz sam przepływ objętościowy.",
      arrows:["→","→","→","→"],
      cards:[
        ["A","Źródło ciepła","Wytwarza ciepło i pracuje w warunkach obiegu pierwotnego.","medium A · ciśnienie A"],
        ["P1","Pompa pierwotna","Zapewnia przepływ przez źródło, rurociągi i pierwszą stronę wymiennika.","V̇A z mocy i ΔTA"],
        ["HX","Wymiennik płytowy","Przekazuje energię przez płyty bez mieszania obu mediów.","granica obiegów"],
        ["P2","Pompa i regulacja","Budują przepływ wtórny i współpracują z regulacją temperatury.","V̇B z mocy i ΔTB"],
        ["B","Podłogówka","Rozdzielacz przekazuje wodę do pętli obiegu wtórnego.","medium B · ciśnienie B"]
      ]
    },
    counter:{
      status:"Na rysunku medium A płynie z lewej na prawą, a medium B z prawej na lewą. Profile temperatur trzeba porównywać na tych samych końcach wymiennika.",
      yes:"Ciepło płynie lokalnie od cieplejszej strony A do chłodniejszej strony B na całej długości płyt.",
      no:"Temperatura wejściowa jednej strony nie jest kopiowana jako temperatura wyjściowa drugiej strony.",
      arrows:["→","→","←","←"],
      cards:[
        ["70°","A wpływa","Gorące medium pierwotne wpływa przy przykładowej temperaturze 70°C.","kierunek A →"],
        ["55°","A wypływa","Po oddaniu mocy medium A wypływa chłodniejsze, przykładowo 55°C.","ΔTA = 15 K"],
        ["HX","Przekaz przez płyty","Lokalna różnica temperatur napędza przekazywanie energii.","Q = UA · LMTD"],
        ["38°","B wypływa","Ogrzane medium wtórne opuszcza wymiennik, przykładowo przy 38°C.","ΔTB = 8 K"],
        ["30°","B wpływa","Powrót podłogówki wpływa z przeciwnej strony przy przykładowej temperaturze 30°C.","kierunek B ←"]
      ]
    }
  };

  function renderFlow(mode){
    var data = flowModes[mode] || flowModes.separated;
    write("rk-phe-flow-status",data.status);
    write("rk-phe-pass-yes",data.yes);
    write("rk-phe-pass-no",data.no);
    var cards = root.querySelectorAll("#rk-phe-flow-cards .rk-flow-card");
    data.cards.forEach(function(card,index){
      write("rk-phe-flow-icon-"+(index+1),card[0]);
      write("rk-phe-flow-title-"+(index+1),card[1]);
      write("rk-phe-flow-text-"+(index+1),card[2]);
      write("rk-phe-flow-mini-"+(index+1),card[3]);
      if (cards[index]){
        if (index < 4) cards[index].setAttribute("data-arrow",data.arrows[index]);
      }
    });
    root.querySelectorAll(".rk-flow-tab").forEach(function(button){
      button.setAttribute("aria-pressed",button.getAttribute("data-mode") === mode ? "true" : "false");
    });
  }

  root.querySelectorAll(".rk-flow-tab").forEach(function(button){
    button.addEventListener("click",function(){ renderFlow(button.getAttribute("data-mode")); });
  });

  /* Kalkulator cieplno-hydrauliczny */
  var thermalDefaults = {
    "rk-phe-power":"10",
    "rk-phe-hot-in":"70",
    "rk-phe-hot-out":"55",
    "rk-phe-hot-fluid":"1.163",
    "rk-phe-hot-hx-dp":"12",
    "rk-phe-hot-other-dp":"8",
    "rk-phe-cold-in":"30",
    "rk-phe-cold-out":"38",
    "rk-phe-cold-fluid":"1.163",
    "rk-phe-cold-hx-dp":"16",
    "rk-phe-cold-other-dp":"25"
  };

  function clearThermalOutputs(){
    ["rk-phe-hot-flow","rk-phe-cold-flow","rk-phe-hot-approach","rk-phe-cold-approach","rk-phe-lmtd","rk-phe-ua","rk-phe-hot-head","rk-phe-cold-head"].forEach(function(id){ write(id,"—"); setResultState(id,""); });
  }

  function renderTemperatureChart(values){
    var svg = byId("rk-phe-temperature-chart");
    if (!svg) return;
    if (!values){
      svg.innerHTML = '<title id="rk-phe-temp-title">Profile temperatur w przeciwprądowym wymienniku płytowym</title><desc id="rk-phe-temp-desc">Nie można narysować wykresu dla niespójnych danych.</desc><rect x="0" y="0" width="900" height="410" rx="18" fill="#f8fcfd"/><text x="450" y="205" text-anchor="middle" fill="#c7443a" font-size="18" font-weight="800">Popraw temperatury, aby wyświetlić wykres</text>';
      return;
    }
    var w=900,h=410,left=76,right=36,top=36,bottom=62;
    var plotW=w-left-right,plotH=h-top-bottom;
    var minRaw=Math.min(values.hotIn,values.hotOut,values.coldIn,values.coldOut);
    var maxRaw=Math.max(values.hotIn,values.hotOut,values.coldIn,values.coldOut);
    var minT=Math.floor((minRaw-5)/5)*5;
    var maxT=Math.ceil((maxRaw+5)/5)*5;
    if (maxT-minT<10){ maxT=minT+10; }
    function x(t){ return left+t*plotW; }
    function y(temp){ return top+(maxT-temp)/(maxT-minT)*plotH; }
    var parts=[];
    parts.push('<title id="rk-phe-temp-title">Profile temperatur w przeciwprądowym wymienniku płytowym</title>');
    parts.push('<desc id="rk-phe-temp-desc">Strona A płynie od lewej do prawej, a strona B od prawej do lewej. Różnice końcowe wynoszą '+svgText(formatNumber(values.approachHot,1))+' i '+svgText(formatNumber(values.approachCold,1))+' kelwina.</desc>');
    parts.push('<rect x="0" y="0" width="900" height="410" rx="18" fill="#ffffff"/>');
    for(var i=0;i<=5;i++){
      var temp=minT+(maxT-minT)*i/5;
      var yy=y(temp);
      parts.push('<line x1="'+left+'" y1="'+yy+'" x2="'+(w-right)+'" y2="'+yy+'" stroke="#dce8ed" stroke-width="1"/>');
      parts.push('<text x="'+(left-12)+'" y="'+(yy+5)+'" text-anchor="end" fill="#607783" font-size="13">'+svgText(formatNumber(temp,0))+'°C</text>');
    }
    parts.push('<line x1="'+left+'" y1="'+top+'" x2="'+left+'" y2="'+(h-bottom)+'" stroke="#8ca1ab" stroke-width="1.5"/>');
    parts.push('<line x1="'+left+'" y1="'+(h-bottom)+'" x2="'+(w-right)+'" y2="'+(h-bottom)+'" stroke="#8ca1ab" stroke-width="1.5"/>');
    var hotPoints=[],coldPoints=[];
    for(var s=0;s<=20;s++){
      var t=s/20;
      var hot=values.hotIn+(values.hotOut-values.hotIn)*t;
      var cold=values.coldOut+(values.coldIn-values.coldOut)*t;
      hotPoints.push(x(t)+","+y(hot));
      coldPoints.push(x(t)+","+y(cold));
    }
    parts.push('<polyline points="'+hotPoints.join(" ")+'" fill="none" stroke="#ff6a3d" stroke-width="6" stroke-linecap="round" stroke-linejoin="round" vector-effect="non-scaling-stroke"/>');
    parts.push('<polyline points="'+coldPoints.join(" ")+'" fill="none" stroke="#078fbe" stroke-width="6" stroke-linecap="round" stroke-linejoin="round" vector-effect="non-scaling-stroke"/>');
    [[0,values.hotIn,"#ff6a3d"],[1,values.hotOut,"#ff6a3d"],[0,values.coldOut,"#078fbe"],[1,values.coldIn,"#078fbe"]].forEach(function(point){
      parts.push('<circle cx="'+x(point[0])+'" cy="'+y(point[1])+'" r="7" fill="'+point[2]+'" stroke="#fff" stroke-width="3" vector-effect="non-scaling-stroke"/>');
    });
    parts.push('<text x="'+(left+10)+'" y="'+(y(values.hotIn)-13)+'" fill="#b83f1d" font-size="14" font-weight="800">A wej. '+svgText(formatNumber(values.hotIn,1))+'°C</text>');
    parts.push('<text x="'+(w-right-10)+'" y="'+(y(values.hotOut)-13)+'" text-anchor="end" fill="#b83f1d" font-size="14" font-weight="800">A wyj. '+svgText(formatNumber(values.hotOut,1))+'°C</text>');
    parts.push('<text x="'+(left+10)+'" y="'+(y(values.coldOut)+25)+'" fill="#006e99" font-size="14" font-weight="800">B wyj. '+svgText(formatNumber(values.coldOut,1))+'°C</text>');
    parts.push('<text x="'+(w-right-10)+'" y="'+(y(values.coldIn)+25)+'" text-anchor="end" fill="#006e99" font-size="14" font-weight="800">B wej. '+svgText(formatNumber(values.coldIn,1))+'°C</text>');
    parts.push('<text x="'+left+'" y="'+(h-24)+'" fill="#607783" font-size="13">gorący koniec · ΔT '+svgText(formatNumber(values.approachHot,1))+' K</text>');
    parts.push('<text x="'+(w-right)+'" y="'+(h-24)+'" text-anchor="end" fill="#607783" font-size="13">zimny koniec · ΔT '+svgText(formatNumber(values.approachCold,1))+' K</text>');
    parts.push('<text x="'+(w/2)+'" y="'+(h-24)+'" text-anchor="middle" fill="#102536" font-size="14" font-weight="900">LMTD '+svgText(formatNumber(values.lmtd,1))+' K</text>');
    svg.innerHTML=parts.join("");
  }

  function calculateThermal(){
    var q=readNumber("rk-phe-power");
    var hotIn=readNumber("rk-phe-hot-in");
    var hotOut=readNumber("rk-phe-hot-out");
    var coldIn=readNumber("rk-phe-cold-in");
    var coldOut=readNumber("rk-phe-cold-out");
    var hotCv=readNumber("rk-phe-hot-fluid");
    var coldCv=readNumber("rk-phe-cold-fluid");
    var hotHxDp=readNumber("rk-phe-hot-hx-dp");
    var hotOtherDp=readNumber("rk-phe-hot-other-dp");
    var coldHxDp=readNumber("rk-phe-cold-hx-dp");
    var coldOtherDp=readNumber("rk-phe-cold-other-dp");
    var dHot=hotIn-hotOut;
    var dCold=coldOut-coldIn;
    var approachHot=hotIn-coldOut;
    var approachCold=hotOut-coldIn;
    var values=[q,hotIn,hotOut,coldIn,coldOut,hotCv,coldCv,hotHxDp,hotOtherDp,coldHxDp,coldOtherDp];
    var thermalChecks=[
      values.every(Number.isFinite),
      q>0,
      hotCv>0,
      coldCv>0,
      dHot>0,
      dCold>0,
      approachHot>0,
      approachCold>0,
      hotHxDp>=0,
      hotOtherDp>=0,
      coldHxDp>=0,
      coldOtherDp>=0
    ];
    var valid=thermalChecks.every(function(check){return check;});
    if(!valid){
      clearThermalOutputs();
      write("rk-phe-thermal-message","Dla trybu grzania temperatura A musi maleć, temperatura B rosnąć, a strona A musi być cieplejsza od strony B na obu końcach wymiennika. Uzupełnij również nieujemne opory.");
      renderTemperatureChart(null);
      return;
    }
    var lmtd;
    if(Math.abs(approachHot-approachCold)<0.000001){ lmtd=approachHot; }
    else { lmtd=(approachHot-approachCold)/Math.log(approachHot/approachCold); }
    if(!Number.isFinite(lmtd) || lmtd<=0){
      clearThermalOutputs();
      write("rk-phe-thermal-message","Nie można obliczyć dodatniego LMTD dla podanych temperatur. Sprawdź kierunki i cztery wartości graniczne.");
      renderTemperatureChart(null);
      return;
    }
    var hotFlow=q/(hotCv*dHot);
    var coldFlow=q/(coldCv*dCold);
    var ua=q*1000/lmtd;
    var hotDp=hotHxDp+hotOtherDp;
    var coldDp=coldHxDp+coldOtherDp;
    var hotHead=hotDp/9.80665;
    var coldHead=coldDp/9.80665;
    write("rk-phe-hot-flow",formatNumber(hotFlow,2)+" m³/h");
    write("rk-phe-cold-flow",formatNumber(coldFlow,2)+" m³/h");
    write("rk-phe-hot-approach",formatNumber(approachHot,1)+" K");
    write("rk-phe-cold-approach",formatNumber(approachCold,1)+" K");
    write("rk-phe-lmtd",formatNumber(lmtd,1)+" K");
    write("rk-phe-ua",formatNumber(ua,0)+" W/K");
    write("rk-phe-hot-head",formatNumber(hotDp,1)+" kPa · "+formatNumber(hotHead,2)+" m");
    write("rk-phe-cold-head",formatNumber(coldDp,1)+" kPa · "+formatNumber(coldHead,2)+" m");
    var minApproach=Math.min(approachHot,approachCold);
    var state="good";
    var message="Temperatury tworzą możliwy do obliczenia punkt przeciwprądowy. Przekaż producentowi moc, cztery temperatury, przepływy, media, wymagane UA i dopuszczalne opory — nie samą liczbę płyt.";
    if(minApproach<2){
      state="bad";
      message="Najmniejsze podejście jest mniejsze niż 2 K. Taki punkt może wymagać bardzo dużego UA i dokładnego sprawdzenia w programie producenta; nie zakładaj, że standardowy model go osiągnie.";
    }else if(minApproach<5){
      state="warn";
      message="Najmniejsze podejście jest poniżej 5 K. Punkt może być wykonalny, ale dobór będzie wrażliwy na powierzchnię, przepływy, zabrudzenie i dopuszczalny spadek ciśnienia.";
    }
    ["rk-phe-hot-approach","rk-phe-cold-approach","rk-phe-lmtd","rk-phe-ua"].forEach(function(id){ setResultState(id,state); });
    write("rk-phe-thermal-message",message);
    renderTemperatureChart({hotIn:hotIn,hotOut:hotOut,coldIn:coldIn,coldOut:coldOut,approachHot:approachHot,approachCold:approachCold,lmtd:lmtd});
  }

  Object.keys(thermalDefaults).forEach(function(id){
    var el=byId(id);
    if(el){ el.addEventListener("input",calculateThermal); el.addEventListener("change",calculateThermal); }
  });
  var thermalReset=byId("rk-phe-thermal-reset");
  if(thermalReset){
    thermalReset.addEventListener("click",function(){
      Object.keys(thermalDefaults).forEach(function(id){ if(byId(id)) byId(id).value=thermalDefaults[id]; });
      calculateThermal();
    });
  }

  /* Kalkulator kosztów dodatkowej separacji */
  var costDefaults = {
    "rk-phe-cost-heat":"12000",
    "rk-phe-source-type":"heatpump",
    "rk-phe-factor-direct":"3.80",
    "rk-phe-factor-separated":"3.60",
    "rk-phe-source-price":"1.00",
    "rk-phe-electricity-price":"1.00",
    "rk-phe-direct-pump":"35",
    "rk-phe-primary-pump":"35",
    "rk-phe-secondary-pump":"45",
    "rk-phe-pump-hours":"3500",
    "rk-phe-separation-capex":"3500",
    "rk-phe-service-cost":"150",
    "rk-phe-cost-years":"15",
    "rk-phe-price-growth":"2.0"
  };
  var factorPresets={
    heatpump:{direct:"3.80",separated:"3.60",name:"SCOP",helpDirect:"Sezonowy współczynnik całego wariantu bez separacji.",helpSeparated:"Wpisz SCOP dla wyższej temperatury źródła i rzeczywistego sterowania."},
    gas:{direct:"0.94",separated:"0.92",name:"Sprawność sezonowa",helpDirect:"Wpisz sprawność jako liczbę dziesiętną, np. 0,94.",helpSeparated:"Uwzględnij temperatury, powrót, taktowanie i energię pomocniczą zgodnie z przyjętą granicą bilansu."},
    electric:{direct:"0.99",separated:"0.98",name:"Sprawność sezonowa",helpDirect:"Wpisz sprawność przekazania energii do obiegu jako liczbę dziesiętną.",helpSeparated:"Nie odejmuj drugi raz energii pomp — jest liczona w osobnych polach."},
    solid:{direct:"0.82",separated:"0.80",name:"Sprawność sezonowa",helpDirect:"Wpisz sezonową sprawność źródła i całej przyjętej granicy bilansu.",helpSeparated:"Uwzględnij rzeczywisty sposób pracy kotła, bufora i temperatury powrotu."}
  };

  function updateFactorLabels(usePreset){
    var type=byId("rk-phe-source-type") ? byId("rk-phe-source-type").value : "heatpump";
    var preset=factorPresets[type] || factorPresets.heatpump;
    write("rk-phe-factor-direct-label",preset.name+" bez wymiennika");
    write("rk-phe-factor-separated-label",preset.name+" z wymiennikiem");
    write("rk-phe-factor-direct-help",preset.helpDirect);
    write("rk-phe-factor-separated-help",preset.helpSeparated);
    if(usePreset){
      byId("rk-phe-factor-direct").value=preset.direct;
      byId("rk-phe-factor-separated").value=preset.separated;
    }
  }

  function niceStep(span){
    if(!Number.isFinite(span) || span<=0) return 1;
    var raw=span/5;
    var power=Math.pow(10,Math.floor(Math.log10(raw)));
    var value=raw/power;
    var nice=value<=1 ? 1 : value<=2 ? 2 : value<=5 ? 5 : 10;
    return nice*power;
  }

  function renderCostChart(data){
    var svg=byId("rk-phe-cost-chart");
    if(!svg) return;
    if(!data || !data.length){
      svg.innerHTML='<title id="rk-phe-cost-chart-title">Skumulowana różnica kosztu układu z wymiennikiem</title><desc id="rk-phe-cost-chart-desc">Nie można narysować wykresu.</desc><rect width="900" height="410" rx="18" fill="#fff"/><text x="450" y="205" text-anchor="middle" fill="#c7443a" font-size="18" font-weight="800">Uzupełnij poprawne dane kosztowe</text>';
      return;
    }
    var w=900,h=410,left=90,right=34,top=34,bottom=60;
    var plotW=w-left-right,plotH=h-top-bottom;
    var vals=data.map(function(d){return d.diff;}); vals.push(0);
    var min=Math.min.apply(null,vals),max=Math.max.apply(null,vals);
    if(min===max){ min-=1000; max+=1000; }
    var step=niceStep(max-min);
    min=Math.floor(min/step)*step;
    max=Math.ceil(max/step)*step;
    if(min===max) max=min+step;
    function x(year){ return left+(year/data[data.length-1].year)*plotW; }
    function y(value){ return top+(max-value)/(max-min)*plotH; }
    var parts=[];
    parts.push('<title id="rk-phe-cost-chart-title">Skumulowana różnica kosztu układu z wymiennikiem</title>');
    parts.push('<desc id="rk-phe-cost-chart-desc">Wartość dodatnia oznacza wyższy koszt wariantu z wymiennikiem, a ujemna niższy koszt.</desc>');
    parts.push('<rect width="900" height="410" rx="18" fill="#fff"/>');
    for(var i=0;i<=5;i++){
      var val=min+(max-min)*i/5,yy=y(val);
      parts.push('<line x1="'+left+'" y1="'+yy+'" x2="'+(w-right)+'" y2="'+yy+'" stroke="#dce8ed" stroke-width="1"/>');
      parts.push('<text x="'+(left-12)+'" y="'+(yy+5)+'" text-anchor="end" fill="#607783" font-size="12">'+svgText(Math.round(val).toLocaleString("pl-PL"))+' zł</text>');
    }
    var zeroY=y(0);
    parts.push('<line x1="'+left+'" y1="'+zeroY+'" x2="'+(w-right)+'" y2="'+zeroY+'" stroke="#8195a0" stroke-width="2" stroke-dasharray="8 7" vector-effect="non-scaling-stroke"/>');
    var pts=data.map(function(d){return x(d.year)+","+y(d.diff);});
    var areaPts=[x(0)+","+zeroY].concat(pts).concat([x(data[data.length-1].year)+","+zeroY]);
    parts.push('<polygon points="'+areaPts.join(" ")+'" fill="rgba(255,106,61,.10)"/>');
    parts.push('<polyline points="'+pts.join(" ")+'" fill="none" stroke="#ff6a3d" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" vector-effect="non-scaling-stroke"/>');
    data.forEach(function(d,index){
      if(index===0 || index===data.length-1 || d.year%5===0){
        parts.push('<circle cx="'+x(d.year)+'" cy="'+y(d.diff)+'" r="5" fill="#ff6a3d" stroke="#fff" stroke-width="2" vector-effect="non-scaling-stroke"/>');
        parts.push('<text x="'+x(d.year)+'" y="'+(h-26)+'" text-anchor="middle" fill="#607783" font-size="12">'+d.year+'</text>');
      }
    });
    parts.push('<text x="'+left+'" y="18" fill="#102536" font-size="13" font-weight="900">różnica skumulowana</text>');
    parts.push('<text x="'+(w-right)+'" y="'+(h-26)+'" text-anchor="end" fill="#607783" font-size="12">rok</text>');
    svg.innerHTML=parts.join("");
  }

  function renderCostTable(rows,years){
    var tbody=byId("rk-phe-cost-table");
    if(!tbody) return;
    var picks=[0,1,5,10,15,20,25].filter(function(y){return y<=years;});
    if(picks.indexOf(years)===-1) picks.push(years);
    picks.sort(function(a,b){return a-b;});
    tbody.innerHTML=picks.map(function(year){
      var row=rows[year];
      return '<tr><td data-label="Rok"><strong>'+year+'</strong></td><td data-label="Bez wymiennika">'+svgText(formatMoney(row.direct))+'</td><td data-label="Z wymiennikiem">'+svgText(formatMoney(row.separated))+'</td><td data-label="Różnica">'+svgText(formatSignedMoney(row.diff))+'</td></tr>';
    }).join("");
  }

  function clearCostOutputs(){
    ["rk-phe-source-direct-energy","rk-phe-source-separated-energy","rk-phe-extra-pump-energy","rk-phe-cost-direct-year","rk-phe-cost-separated-year","rk-phe-cost-difference-year","rk-phe-tco-direct","rk-phe-tco-separated","rk-phe-tco-difference","rk-phe-cost-driver"].forEach(function(id){write(id,"—");setResultState(id,"");});
    write("rk-phe-cost-message","Uzupełnij dodatnie współczynniki źródła, nieujemne koszty oraz prawidłowy okres analizy.");
    var tbody=byId("rk-phe-cost-table"); if(tbody) tbody.innerHTML="";
    renderCostChart(null);
  }

  function calculateCosts(){
    var heat=readNumber("rk-phe-cost-heat");
    var factorDirect=readNumber("rk-phe-factor-direct");
    var factorSeparated=readNumber("rk-phe-factor-separated");
    var sourcePrice=readNumber("rk-phe-source-price");
    var electricityPrice=readNumber("rk-phe-electricity-price");
    var directPump=readNumber("rk-phe-direct-pump");
    var primaryPump=readNumber("rk-phe-primary-pump");
    var secondaryPump=readNumber("rk-phe-secondary-pump");
    var hours=readNumber("rk-phe-pump-hours");
    var capex=readNumber("rk-phe-separation-capex");
    var service=readNumber("rk-phe-service-cost");
    var years=Math.round(readNumber("rk-phe-cost-years"));
    var growth=readNumber("rk-phe-price-growth")/100;
    var inputs=[heat,factorDirect,factorSeparated,sourcePrice,electricityPrice,directPump,primaryPump,secondaryPump,hours,capex,service,years,growth];
    var costChecks=[
      inputs.every(Number.isFinite),
      heat>=0,
      factorDirect>0,
      factorSeparated>0,
      sourcePrice>=0,
      electricityPrice>=0,
      directPump>=0,
      primaryPump>=0,
      secondaryPump>=0,
      hours>=0,
      hours<=8760,
      capex>=0,
      service>=0,
      years>=1,
      years<=50,
      growth>-1
    ];
    var valid=costChecks.every(function(check){return check;});
    if(!valid){ clearCostOutputs(); return; }
    var sourceDirectEnergy=heat/factorDirect;
    var sourceSeparatedEnergy=heat/factorSeparated;
    var directPumpEnergy=directPump*hours/1000;
    var separatedPumpEnergy=(primaryPump+secondaryPump)*hours/1000;
    var extraPumpEnergy=separatedPumpEnergy-directPumpEnergy;
    var sourceDirectCost1=sourceDirectEnergy*sourcePrice;
    var sourceSeparatedCost1=sourceSeparatedEnergy*sourcePrice;
    var pumpDirectCost1=directPumpEnergy*electricityPrice;
    var pumpSeparatedCost1=separatedPumpEnergy*electricityPrice;
    var directYear1=sourceDirectCost1+pumpDirectCost1;
    var separatedYear1=sourceSeparatedCost1+pumpSeparatedCost1+service;
    var diffYear1=separatedYear1-directYear1;
    var rows=[{year:0,direct:0,separated:capex,diff:capex}];
    var directTotal=0,separatedTotal=capex;
    for(var year=1;year<=years;year++){
      var priceFactor=Math.pow(1+growth,year-1);
      var directAnnual=(sourceDirectCost1+pumpDirectCost1)*priceFactor;
      var separatedAnnual=(sourceSeparatedCost1+pumpSeparatedCost1)*priceFactor+service;
      directTotal+=directAnnual;
      separatedTotal+=separatedAnnual;
      rows.push({year:year,direct:directTotal,separated:separatedTotal,diff:separatedTotal-directTotal});
    }
    var totalDiff=separatedTotal-directTotal;
    var sourceComponent=sourceSeparatedCost1-sourceDirectCost1;
    var pumpComponent=pumpSeparatedCost1-pumpDirectCost1;
    var components=[{name:"zmiana energii źródła",value:sourceComponent},{name:"różnica energii pomp",value:pumpComponent},{name:"dodatkowe utrzymanie",value:service}];
    components.sort(function(a,b){return Math.abs(b.value)-Math.abs(a.value);});
    write("rk-phe-source-direct-energy",formatNumber(sourceDirectEnergy,0)+" kWh");
    write("rk-phe-source-separated-energy",formatNumber(sourceSeparatedEnergy,0)+" kWh");
    write("rk-phe-extra-pump-energy",(extraPumpEnergy>=0?"+":"−")+formatNumber(Math.abs(extraPumpEnergy),0)+" kWh");
    write("rk-phe-cost-direct-year",formatMoney(directYear1));
    write("rk-phe-cost-separated-year",formatMoney(separatedYear1));
    write("rk-phe-cost-difference-year",formatSignedMoney(diffYear1));
    write("rk-phe-tco-direct",formatMoney(directTotal));
    write("rk-phe-tco-separated",formatMoney(separatedTotal));
    write("rk-phe-tco-difference",formatSignedMoney(totalDiff));
    write("rk-phe-cost-driver",components[0].name+": "+formatSignedMoney(components[0].value)+" / rok");
    var state=totalDiff>0.5?"warn":totalDiff<-0.5?"good":"";
    setResultState("rk-phe-cost-difference-year",diffYear1>0.5?"warn":diffYear1<-0.5?"good":"");
    setResultState("rk-phe-tco-difference",state);
    var message;
    if(totalDiff>0.5){
      message="Przy wpisanych założeniach układ z wymiennikiem kosztuje po "+years+" latach o "+formatMoney(totalDiff)+" więcej. To nie dowodzi, że separacja jest zbędna — pokazuje cenę funkcji, jeśli jest technicznie wymagana.";
    }else if(totalDiff<-0.5){
      message="Przy wpisanych założeniach układ z wymiennikiem kosztuje po "+years+" latach o "+formatMoney(Math.abs(totalDiff))+" mniej. Sprawdź, z czego wynika poprawa współczynnika źródła lub poboru pomp; sam wymiennik nie tworzy oszczędności energii.";
    }else{
      message="Przy wpisanych założeniach różnica kosztu po "+years+" latach jest pomijalna. Warto sprawdzić kilka scenariuszy sprawności, godzin pracy i cen energii.";
    }
    write("rk-phe-cost-message",message);
    renderCostChart(rows.map(function(r){return {year:r.year,diff:r.diff};}));
    renderCostTable(rows,years);
    write("rk-phe-cost-table-summary","Koszt skumulowany przez "+years+" lat; wariant z wymiennikiem obejmuje dodatkowy nakład "+formatMoney(capex)+" w roku 0.");
  }

  Object.keys(costDefaults).forEach(function(id){
    var el=byId(id);
    if(!el) return;
    if(id==="rk-phe-source-type"){
      el.addEventListener("change",function(){updateFactorLabels(true);calculateCosts();});
    }else{
      el.addEventListener("input",calculateCosts);
      el.addEventListener("change",calculateCosts);
    }
  });
  var costReset=byId("rk-phe-cost-reset");
  if(costReset){
    costReset.addEventListener("click",function(){
      Object.keys(costDefaults).forEach(function(id){if(byId(id))byId(id).value=costDefaults[id];});
      updateFactorLabels(false);
      calculateCosts();
    });
  }

  renderFlow("separated");
  calculateThermal();
  updateFactorLabels(false);
  calculateCosts();
})();
</script>

<script type="application/ld+json">
{
  "@context":"https://schema.org",
  "@graph":[
    {
      "@type":"WebSite",
      "@id":"https://projekt-ogrzewania.pl/#website",
      "url":"https://projekt-ogrzewania.pl/",
      "name":"Projekt Ogrzewania",
      "inLanguage":"pl-PL",
      "publisher":{"@id":"https://projekt-ogrzewania.pl/#organization"},
      "potentialAction":{
        "@type":"SearchAction",
        "target":{"@type":"EntryPoint","urlTemplate":"https://projekt-ogrzewania.pl/?s={search_term_string}"},
        "query-input":"required name=search_term_string"
      }
    },
    {
      "@type":"Organization",
      "@id":"https://projekt-ogrzewania.pl/#organization",
      "name":"Projekt Ogrzewania",
      "url":"https://projekt-ogrzewania.pl/",
      "logo":{"@id":"https://projekt-ogrzewania.pl/#logo"},
      "founder":{"@id":"https://projekt-ogrzewania.pl/#robert-kucharski"},
      "sameAs":[
        "https://www.facebook.com/projektogrzewaniapl",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type":"Organization",
      "@id":"https://remont.biz.pl/#organization",
      "name":"Remont.biz.pl",
      "url":"https://remont.biz.pl/",
      "founder":{"@id":"https://projekt-ogrzewania.pl/#robert-kucharski"}
    },
    {
      "@type":"Organization",
      "@id":"https://sobir.pl/#organization",
      "name":"Sobir.pl",
      "url":"https://sobir.pl/",
      "founder":{"@id":"https://projekt-ogrzewania.pl/#robert-kucharski"}
    },
    {
      "@type":"ImageObject",
      "@id":"https://projekt-ogrzewania.pl/#logo",
      "url":"https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Projekt-ogrzewania-logo-1.jpg",
      "contentUrl":"https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Projekt-ogrzewania-logo-1.jpg",
      "width":1024,
      "height":1024,
      "caption":"Projekt Ogrzewania"
    },
    {
      "@type":"ImageObject",
      "@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#primaryimage",
      "url":"https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym.webp",
      "contentUrl":"https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym.webp",
      "width":900,
      "height":900,
      "encodingFormat":"image/webp",
      "caption":"Wymiennik płytowy w ogrzewaniu podłogowym — zasada działania, dobór i koszty"
    },
    {
      "@type":"Person",
      "@id":"https://projekt-ogrzewania.pl/#robert-kucharski",
      "name":"Robert Kucharski",
      "url":"https://projekt-ogrzewania.pl/author/admin3399/",
      "image":"https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle":"Projektant instalacji sanitarnych i specjalista HVAC",
      "worksFor":{"@id":"https://projekt-ogrzewania.pl/#organization"},
      "affiliation":[
        {"@id":"https://remont.biz.pl/#organization"},
        {"@id":"https://sobir.pl/#organization"}
      ],
      "knowsAbout":[
        "ogrzewanie podłogowe",
        "wymienniki płytowe",
        "hydraulika instalacji",
        "pompy obiegowe",
        "obliczenia OZC",
        "średnia logarytmiczna różnica temperatur LMTD",
        "dobór źródeł ciepła",
        "automatyka ogrzewania",
        "pompy ciepła",
        "kotły na paliwo stałe"
      ],
      "sameAs":[
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type":"BreadcrumbList",
      "@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#breadcrumb",
      "itemListElement":[
        {"@type":"ListItem","position":1,"name":"Strona główna","item":"https://projekt-ogrzewania.pl/"},
        {"@type":"ListItem","position":2,"name":"Blog","item":"https://projekt-ogrzewania.pl/blog/"},
        {"@type":"ListItem","position":3,"name":"Wymiennik płytowy w ogrzewaniu podłogowym","item":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/"}
      ]
    },
    {
      "@type":"WebPage",
      "@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#webpage",
      "url":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/",
      "name":"Wymiennik płytowy w ogrzewaniu podłogowym – jak działa i jak go dobrać?",
      "description":"Jak działa wymiennik płytowy do podłogówki? Policz przepływy, LMTD, opory i koszty pracy pomp. Sprawdź, kiedy rzeczywiście potrzebna jest separacja obiegów.",
      "inLanguage":"pl-PL",
      "isPartOf":{"@id":"https://projekt-ogrzewania.pl/#website"},
      "breadcrumb":{"@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#breadcrumb"},
      "primaryImageOfPage":{"@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#primaryimage"},
      "datePublished":"2026-04-23T07:09:15+00:00",
      "dateModified":"2026-09-13T00:00:00+00:00",
      "author":{"@id":"https://projekt-ogrzewania.pl/#robert-kucharski"},
      "reviewedBy":{"@id":"https://projekt-ogrzewania.pl/#robert-kucharski"},
      "mainEntity":{"@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#article"},
      "speakable":{"@type":"SpeakableSpecification","cssSelector":["#rk-phe-direct-answer","#rk-phe-conclusion-answer"]}
    },
    {
      "@type":"TechArticle",
      "@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#article",
      "headline":"Wymiennik płytowy w ogrzewaniu podłogowym – jak działa i jak go dobrać?",
      "alternativeHeadline":"Wymiennik płytowy do podłogówki — zasada działania, LMTD, przepływy, opory i koszt separacji",
      "description":"Techniczne wyjaśnienie działania i doboru wymiennika płytowego wraz z grafiką dwóch obiegów, kalkulatorem LMTD i UA, wykresem temperatur oraz kalkulatorem kosztów separacji.",
      "image":{"@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#primaryimage"},
      "mainEntityOfPage":{"@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#webpage"},
      "author":{"@id":"https://projekt-ogrzewania.pl/#robert-kucharski"},
      "publisher":{"@id":"https://projekt-ogrzewania.pl/#organization"},
      "datePublished":"2026-04-23T07:09:15+00:00",
      "dateModified":"2026-09-13T00:00:00+00:00",
      "inLanguage":"pl-PL",
      "articleSection":[
        "Wymienniki płytowe",
        "Ogrzewanie podłogowe",
        "Instalacje hydrauliczne",
        "Pompy obiegowe",
        "Modernizacja ogrzewania",
        "Kalkulatory"
      ],
      "keywords":[
        "wymiennik płytowy w ogrzewaniu podłogowym",
        "jak działa wymiennik płytowy do podłogówki",
        "jak dobrać wymiennik płytowy do ogrzewania podłogowego",
        "wymiennik płytowy do podłogówki jaka moc",
        "jaki przepływ przez wymiennik płytowy",
        "spadek ciśnienia na wymienniku płytowym",
        "LMTD wymiennika płytowego kalkulator",
        "czy wymiennik płytowy obniża temperaturę",
        "wymiennik płytowy a zawór mieszający",
        "wymiennik płytowy a sprzęgło hydrauliczne",
        "wymiennik płytowy z pompą ciepła",
        "wymiennik płytowy do kotła na paliwo stałe",
        "koszt eksploatacji wymiennika płytowego"
      ],
      "about":[
        {"@type":"Thing","name":"Wymiennik płytowy"},
        {"@type":"Thing","name":"Ogrzewanie podłogowe"},
        {"@type":"Thing","name":"Separacja hydrauliczna"},
        {"@type":"Thing","name":"Pompa obiegowa"},
        {"@type":"Thing","name":"Przeciwprąd"}
      ],
      "mentions":[
        {"@type":"DefinedTerm","name":"LMTD","description":"Średnia logarytmiczna różnica temperatur w wymienniku"},
        {"@type":"DefinedTerm","name":"UA","description":"Iloczyn całkowitego współczynnika przenikania ciepła i powierzchni wymiany"},
        {"@type":"DefinedTerm","name":"Podejście temperaturowe","description":"Różnica temperatur pomiędzy mediami na określonym końcu wymiennika"},
        {"@type":"DefinedTerm","name":"Strona pierwotna","description":"Obieg źródła ciepła po jednej stronie wymiennika"},
        {"@type":"DefinedTerm","name":"Strona wtórna","description":"Oddzielony obieg ogrzewania podłogowego"}
      ],
      "hasPart":[
        {"@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#thermal-calculator"},
        {"@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#cost-calculator"},
        {"@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#interactive-graphic"},
        {"@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#howto"},
        {"@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#selection-inputs"},
        {"@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#faq-schema"}
      ],
      "citation":[
        "https://web.mit.edu/16.unified/www/FALL/thermodynamics/notes/node131.html",
        "https://single-market-economy.ec.europa.eu/single-market/goods/european-standards/harmonised-standards/ecodesign-and-energy-labelling-circulators_en",
        "https://eur-lex.europa.eu/legal-content/PL/TXT/?uri=CELEX:32009R0641",
        "https://energy.ec.europa.eu/topics/energy-efficiency/heat-pumps_en"
      ]
    },
    {
      "@type":"WebApplication",
      "@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#thermal-calculator",
      "name":"Kalkulator wymiennika płytowego: przepływy, LMTD, UA i opory",
      "url":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#rk-phe-thermal-calculator",
      "description":"Oblicza przepływy strony pierwotnej i wtórnej, różnice końcowe, LMTD, wymagane UA, sumy oporów oraz orientacyjne wysokości podnoszenia obu pomp.",
      "applicationCategory":"UtilitiesApplication",
      "applicationSubCategory":"Plate heat exchanger thermal and hydraulic calculator",
      "operatingSystem":"Any",
      "browserRequirements":"JavaScript",
      "isAccessibleForFree":true,
      "inLanguage":"pl-PL",
      "creator":{"@id":"https://projekt-ogrzewania.pl/#robert-kucharski"},
      "offers":{"@type":"Offer","price":"0","priceCurrency":"PLN"},
      "featureList":[
        "projektowa moc wymiennika",
        "cztery temperatury graniczne",
        "woda i orientacyjne mieszaniny glikolu",
        "przepływ strony A i B",
        "podejście temperaturowe na obu końcach",
        "średnia logarytmiczna różnica temperatur LMTD",
        "wymagane UA",
        "opory wymiennika i pozostałej instalacji",
        "wysokość podnoszenia każdej pompy",
        "walidacja niemożliwych temperatur",
        "interaktywny wykres profili temperatur"
      ]
    },
    {
      "@type":"WebApplication",
      "@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#cost-calculator",
      "name":"Kalkulator dodatkowych kosztów wymiennika i separacji obiegów",
      "url":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#rk-phe-cost-calculator",
      "description":"Porównuje energię źródła, energię pomp, koszt pierwszego roku i koszt skumulowany instalacji bez wymiennika oraz z kompletnym zespołem separacji.",
      "applicationCategory":"FinanceApplication",
      "applicationSubCategory":"Heating system operating cost calculator",
      "operatingSystem":"Any",
      "browserRequirements":"JavaScript",
      "isAccessibleForFree":true,
      "inLanguage":"pl-PL",
      "creator":{"@id":"https://projekt-ogrzewania.pl/#robert-kucharski"},
      "offers":{"@type":"Offer","price":"0","priceCurrency":"PLN"},
      "featureList":[
        "wspólne użyteczne ciepło obu wariantów",
        "SCOP lub sprawność sezonowa źródła",
        "cena energii źródła i pomp",
        "średnia moc pomp obiegowych",
        "czas pracy pomp",
        "dodatkowy nakład inwestycyjny",
        "dodatkowe utrzymanie",
        "scenariusz wzrostu cen energii",
        "koszt skumulowany od 5 do 25 lat",
        "wykres i tabela różnicy kosztów",
        "identyfikacja największej składowej różnicy"
      ]
    },
    {
      "@type":"LearningResource",
      "@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#interactive-graphic",
      "name":"Interaktywna grafika działania wymiennika płytowego",
      "url":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#rk-phe-graphic-tool",
      "description":"Porównuje wspólny obieg, dwa obiegi oddzielone wymiennikiem oraz kierunki i temperatury w przepływie przeciwprądowym.",
      "learningResourceType":"Interactive graphic",
      "educationalUse":"Explanation and comparison",
      "interactivityType":"active",
      "isAccessibleForFree":true,
      "inLanguage":"pl-PL",
      "author":{"@id":"https://projekt-ogrzewania.pl/#robert-kucharski"},
      "about":{"@type":"Thing","name":"Plate heat exchanger"}
    },
    {
      "@type":"HowTo",
      "@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#howto",
      "name":"Jak sprawdzić wymiennik płytowy i oba obiegi podczas uruchomienia",
      "description":"Osiem kroków od sprawdzenia kierunków i napełnienia obu obiegów po pomiary temperatur, przepływów, pomp, regulacji i zapis stanu odniesienia.",
      "totalTime":"PT90M",
      "supply":[
        {"@type":"HowToSupply","name":"Dokumentacja wymiennika i źródła ciepła"},
        {"@type":"HowToSupply","name":"Projekt hydrauliczny obu obiegów"},
        {"@type":"HowToSupply","name":"Właściwe media robocze"},
        {"@type":"HowToSupply","name":"Protokół uruchomienia"}
      ],
      "tool":[
        {"@type":"HowToTool","name":"Pomiar temperatur na czterech króćcach"},
        {"@type":"HowToTool","name":"Pomiar lub odczyt przepływów"},
        {"@type":"HowToTool","name":"Pomiar ciśnienia i danych pracy pomp"},
        {"@type":"HowToTool","name":"Kalkulator cieplno-hydrauliczny w artykule"}
      ],
      "step":[
        {"@type":"HowToStep","position":1,"name":"Sprawdź kierunki przepływu","text":"Potwierdź króćce, przeciwprąd i kierunek pracy obu pomp według dokumentacji urządzenia."},
        {"@type":"HowToStep","position":2,"name":"Napełnij obiegi oddzielnie","text":"Ustal właściwe medium, ciśnienie napełnienia, odpowietrzenie i działanie zabezpieczeń każdej strony."},
        {"@type":"HowToStep","position":3,"name":"Uruchom przepływy","text":"Zweryfikuj przepływ strony A oraz sumę przepływów strony B przy otwartych obiegach przewidzianych do testu."},
        {"@type":"HowToStep","position":4,"name":"Zmierz cztery temperatury","text":"Zapisz wejście i wyjście strony gorącej oraz wejście i wyjście strony wtórnej po ustabilizowaniu pracy."},
        {"@type":"HowToStep","position":5,"name":"Porównaj bilans mocy","text":"Oblicz moc z przepływu i różnicy temperatur po obu stronach i wyjaśnij większe rozbieżności."},
        {"@type":"HowToStep","position":6,"name":"Sprawdź opory i pompy","text":"Porównaj punkt Q–H z nastawą pomp, zaworami i danymi wymiennika dla aktualnego medium."},
        {"@type":"HowToStep","position":7,"name":"Przetestuj regulację","text":"Zmień zapotrzebowanie i sprawdź reakcję źródła, mieszania, czujników oraz ograniczenia temperatury."},
        {"@type":"HowToStep","position":8,"name":"Zapisz stan odniesienia","text":"Zachowaj temperatury, przepływy, ciśnienia, nastawy i pobór pomp do kolejnych przeglądów."}
      ]
    },
    {
      "@type":"ItemList",
      "@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#selection-inputs",
      "name":"Dane potrzebne do doboru wymiennika płytowego",
      "numberOfItems":8,
      "itemListOrder":"https://schema.org/ItemListOrderAscending",
      "itemListElement":[
        {"@type":"ListItem","position":1,"name":"Projektowa moc"},
        {"@type":"ListItem","position":2,"name":"Temperatury strony A"},
        {"@type":"ListItem","position":3,"name":"Temperatury strony B"},
        {"@type":"ListItem","position":4,"name":"Rodzaj obu mediów"},
        {"@type":"ListItem","position":5,"name":"Wymagane przepływy"},
        {"@type":"ListItem","position":6,"name":"Dopuszczalne straty ciśnienia"},
        {"@type":"ListItem","position":7,"name":"Warunki zabrudzenia i jakości medium"},
        {"@type":"ListItem","position":8,"name":"Ograniczenia konkretnego urządzenia"}
      ]
    },
    {
      "@type":"FAQPage",
      "@id":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#faq-schema",
      "url":"https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/#rk-phe-faq",
      "inLanguage":"pl-PL",
      "mainEntity":[
        {"@type":"Question","name":"Czy wymiennik płytowy obniża temperaturę wody?","acceptedAnswer":{"@type":"Answer","text":"Wymiennik nie reguluje temperatury do zadanej wartości. Temperatury wyjściowe wynikają z temperatur wejściowych, przepływów, właściwości mediów i UA. Stabilną temperaturę podłogówki zapewnia odpowiednio zaprojektowana regulacja oraz zabezpieczenie."}},
        {"@type":"Question","name":"Czy zawór mieszający może zastąpić wymiennik?","acceptedAnswer":{"@type":"Answer","text":"Tylko w funkcji regulowania temperatury, jeśli nie jest potrzebne fizyczne oddzielenie mediów i ciśnień. Zawór miesza przepływy we wspólnym obiegu, a wymiennik tworzy dwa osobne obiegi."}},
        {"@type":"Question","name":"Jak dobrać moc wymiennika płytowego do podłogówki?","acceptedAnswer":{"@type":"Answer","text":"Trzeba znać projektową moc, cztery temperatury, oba media, wymagane przepływy i dopuszczalne straty ciśnienia. Moc z nazwy handlowej lub sama liczba płyt nie wystarczają do doboru konkretnego modelu."}},
        {"@type":"Question","name":"Jaki przepływ powinien być przez wymiennik płytowy?","acceptedAnswer":{"@type":"Answer","text":"Przepływ każdej strony wynika z przekazywanej mocy, różnicy temperatur i objętościowej pojemności cieplnej medium. Strony mogą mieć różne przepływy, mimo że w stanie ustalonym przekazują zbliżoną moc."}},
        {"@type":"Question","name":"Dlaczego przy wymienniku najczęściej potrzebne są dwie pompy?","acceptedAnswer":{"@type":"Answer","text":"Płyty fizycznie rozdzielają media, dlatego pompa strony pierwotnej nie wywołuje przepływu po stronie wtórnej. Każda pompa musi pokonać opory własnego, zamkniętego obiegu."}},
        {"@type":"Question","name":"Jaka różnica temperatur na końcu wymiennika jest prawidłowa?","acceptedAnswer":{"@type":"Answer","text":"Nie ma jednej wartości dla wszystkich instalacji. Mniejsze podejście temperaturowe wymaga zwykle większego UA, a jego wykonalność trzeba sprawdzić dla konkretnego modelu, przepływów, mediów i dopuszczalnego spadku ciśnienia."}},
        {"@type":"Question","name":"Czy wymiennik płytowy jest potrzebny przy pompie ciepła?","acceptedAnswer":{"@type":"Answer","text":"Nie automatycznie. Może być uzasadniony koniecznością oddzielenia glikolu, starej instalacji, innego ciśnienia lub wymaganiem producenta. W nowej wspólnej instalacji wodnej może niepotrzebnie zwiększać temperaturę źródła, opory i zużycie pomp."}},
        {"@type":"Question","name":"Czy kocioł na paliwo stałe zawsze wymaga wymiennika?","acceptedAnswer":{"@type":"Answer","text":"Nie można odpowiedzieć wyłącznie na podstawie rodzaju paliwa. Trzeba sprawdzić konstrukcję kotłowni, układ otwarty lub zamknięty, wymagania producenta, zabezpieczenia, ochronę powrotu, bufor i sposób regulacji podłogówki."}},
        {"@type":"Question","name":"Czy wymiennik lutowany wymaga regularnego czyszczenia?","acceptedAnswer":{"@type":"Answer","text":"Częstotliwość zależy od jakości medium, uzupełniania wody, filtracji, temperatury i zaleceń producenta. Czyszczenie powinno wynikać z pomiarów lub objawów, a użyta metoda musi być zgodna z materiałem płyt i lutu."}},
        {"@type":"Question","name":"Czy kalkulatory dobierają gotowy wymiennik i pompy?","acceptedAnswer":{"@type":"Answer","text":"Nie. Kalkulator cieplno-hydrauliczny wyznacza punkt pracy, a kalkulator kosztów porównuje wpisane założenia. Konkretny wymiennik trzeba sprawdzić w danych producenta, a pompy dobrać z charakterystyk Q–H całych obiegów."}}
      ]
    }
  ]
}
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/">Wymiennik płytowy w ogrzewaniu podłogowym – jak działa i jak go dobrać?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Czy ogrzewanie podłogowe można podłączyć do grzejników?</title>
		<link>https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 04 Apr 2026 06:13:10 +0000</pubDate>
				<category><![CDATA[Błędy instalacyjne]]></category>
		<category><![CDATA[Błędy wykonawcze]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Modernizacja budynków]]></category>
		<category><![CDATA[Modernizacja domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[błędy instalatorów]]></category>
		<category><![CDATA[grupa pompowa]]></category>
		<category><![CDATA[instalacja mieszana]]></category>
		<category><![CDATA[modernizacja ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[opór cieplny]]></category>
		<category><![CDATA[podłogówka i grzejniki]]></category>
		<category><![CDATA[pompa obiegowa]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rozdzielacz podłogówki]]></category>
		<category><![CDATA[sprzęgło hydrauliczne]]></category>
		<category><![CDATA[temperatura zasilania]]></category>
		<category><![CDATA[zapotrzebowanie na ciepło]]></category>
		<category><![CDATA[zawór mieszający]]></category>
		<category><![CDATA[zawór trójdrogowy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4089</guid>

					<description><![CDATA[<p>Wielu inwestorów planujących modernizację starego domu lub budowę nowego, w którym część pomieszczeń ma być ogrzewana tradycyjnie, zastanawia się, czy ogrzewanie podłogowe można podłączyć do grzejników. Rozwiązanie to jest jak najbardziej wykonalne, jednak wymaga ogromnej precyzji, odpowiedniego projektu oraz zastosowania układów mieszających. Bezpośrednie wpięcie podłogówki w obieg grzejnikowy to najszybsza droga do zniszczenia posadzki i przegrzania pomieszczeń. Dowiedz się, jak krok po kroku zaprojektować bezpieczną i wydajną instalację mieszaną, unikając najdroższych błędów montażowych.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/">Czy ogrzewanie podłogowe można podłączyć do grzejników?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-heat-guide {
    --rk-dark: #102536;
    --rk-navy: #15384d;
    --rk-blue: #078fbe;
    --rk-cyan: #25c7d8;
    --rk-cyan-soft: #e9fbfe;
    --rk-orange: #ff6a3d;
    --rk-orange-soft: #fff1eb;
    --rk-green: #16836b;
    --rk-green-soft: #eaf8f3;
    --rk-yellow: #d69a16;
    --rk-yellow-soft: #fff8df;
    --rk-red: #d94b3d;
    --rk-red-soft: #fff0ee;
    --rk-purple: #695ac9;
    --rk-purple-soft: #f1efff;
    --rk-ink: #1f2c37;
    --rk-text: #475967;
    --rk-muted: #6b7e8a;
    --rk-line: #d5e4eb;
    --rk-soft: #f4f9fb;
    --rk-white: #ffffff;
    width: 100%;
    max-width: 1180px;
    margin: 34px auto 72px;
    color: var(--rk-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 18px;
    line-height: 1.75;
  }
  #rk-heat-guide,
  #rk-heat-guide * { box-sizing: border-box; }
  #rk-heat-guide img,
  #rk-heat-guide svg { max-width: 100%; }
  #rk-heat-guide button,
  #rk-heat-guide input,
  #rk-heat-guide select,
  #rk-heat-guide label,
  #rk-heat-guide summary,
  #rk-heat-guide a { font: inherit; -webkit-tap-highlight-color: transparent; }
  #rk-heat-guide a {
    color: var(--rk-blue);
    font-weight: 780;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }
  #rk-heat-guide a:hover,
  #rk-heat-guide a:focus-visible { color: var(--rk-red); }
  #rk-heat-guide p,
  #rk-heat-guide ul,
  #rk-heat-guide ol { margin-top: 0; margin-bottom: 1.08em; }
  #rk-heat-guide h2,
  #rk-heat-guide h3,
  #rk-heat-guide h4 {
    margin-top: 0;
    color: var(--rk-dark);
    font-weight: 920;
    letter-spacing: -.035em;
    line-height: 1.15;
  }
  #rk-heat-guide h2 { margin-bottom: 18px; font-size: clamp(1.72rem, 4vw, 2.68rem); }
  #rk-heat-guide h3 { margin-bottom: 11px; font-size: clamp(1.12rem, 2.35vw, 1.46rem); }
  #rk-heat-guide h4 { margin-bottom: 8px; font-size: 1.02rem; }
  #rk-heat-guide strong { color: var(--rk-dark); }
  #rk-heat-guide [hidden] { display: none !important; }

  #rk-heat-guide .rk-heat-shell {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 26px;
    background: var(--rk-white);
    box-shadow: 0 24px 70px rgba(16, 37, 54, .11);
  }
  #rk-heat-guide .rk-heat-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(38px, 7vw, 78px) clamp(25px, 6vw, 76px) 42px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 91% 4%, rgba(37, 199, 216, .31), transparent 28%),
      radial-gradient(circle at 8% 100%, rgba(255, 106, 61, .24), transparent 30%),
      linear-gradient(135deg, #0d2332 0%, #143e53 55%, #175b62 100%);
  }
  #rk-heat-guide .rk-heat-hero::after {
    position: absolute;
    right: -55px;
    bottom: -120px;
    width: 350px;
    height: 350px;
    border: 46px solid rgba(255, 255, 255, .05);
    border-radius: 50%;
    content: "";
  }
  #rk-heat-guide .rk-heat-kicker {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
    color: #78efff;
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .09em;
    line-height: 1.2;
    text-transform: uppercase;
  }
  #rk-heat-guide .rk-heat-kicker::before {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--rk-orange);
    box-shadow: 0 0 0 6px rgba(255, 106, 61, .14);
    content: "";
  }
  #rk-heat-guide .rk-heat-hero-title {
    position: relative;
    z-index: 1;
    max-width: 980px;
    margin: 0 0 19px;
    color: var(--rk-white);
    font-size: clamp(2.05rem, 5.4vw, 4.35rem);
    font-weight: 950;
    letter-spacing: -.055em;
    line-height: 1.01;
  }
  #rk-heat-guide .rk-heat-hero-title span { color: #78efff; }
  #rk-heat-guide .rk-heat-lead {
    position: relative;
    z-index: 1;
    max-width: 920px;
    margin-bottom: 25px;
    color: #d5e9f1;
    font-size: clamp(1rem, 2.15vw, 1.24rem);
    line-height: 1.65;
  }
  #rk-heat-guide .rk-heat-hero-tags,
  #rk-heat-guide .rk-heat-byline {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
  }
  #rk-heat-guide .rk-heat-hero-tags { margin-bottom: 22px; }
  #rk-heat-guide .rk-heat-hero-tag {
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    color: #e8f7fb;
    background: rgba(255, 255, 255, .07);
    font-size: .68rem;
    font-weight: 850;
  }
  #rk-heat-guide .rk-heat-byline {
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, .15);
    color: #bdd6df;
    font-size: .68rem;
  }
  #rk-heat-guide .rk-heat-byline strong { color: var(--rk-white); }
  #rk-heat-guide .rk-heat-hero-metrics {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 27px;
  }
  #rk-heat-guide .rk-heat-hero-metric {
    padding: 16px 17px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 15px;
    background: rgba(7, 27, 40, .34);
  }
  #rk-heat-guide .rk-heat-hero-metric b {
    display: block;
    margin-bottom: 4px;
    color: #78efff;
    font-size: .78rem;
  }
  #rk-heat-guide .rk-heat-hero-metric span {
    display: block;
    color: #d5e9f1;
    font-size: .68rem;
    line-height: 1.5;
  }

  #rk-heat-guide .rk-heat-nav {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 18px clamp(20px, 4vw, 46px);
    border-bottom: 1px solid var(--rk-line);
    background: var(--rk-white);
  }
  #rk-heat-guide .rk-heat-nav-label {
    padding-top: 8px;
    color: var(--rk-dark);
    font-size: .62rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
  }
  #rk-heat-guide .rk-heat-nav-track {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    min-width: 0;
  }
  #rk-heat-guide .rk-heat-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 12px;
    border-radius: 999px;
    color: var(--rk-dark);
    background: #f0f6f8;
    font-size: .64rem;
    font-weight: 900;
    line-height: 1.2;
    text-decoration: none;
  }
  #rk-heat-guide .rk-heat-nav a:hover,
  #rk-heat-guide .rk-heat-nav a:focus-visible {
    color: var(--rk-white);
    background: var(--rk-blue);
  }

  #rk-heat-guide .rk-heat-content { padding: 0 clamp(20px, 5.4vw, 64px) 64px; }
  #rk-heat-guide .rk-heat-section {
    padding: clamp(42px, 7vw, 76px) 0;
    border-bottom: 1px solid var(--rk-line);
    scroll-margin-top: 18px;
  }
  #rk-heat-guide .rk-heat-section:last-of-type { border-bottom: 0; }
  #rk-heat-guide .rk-heat-eyebrow {
    display: block;
    margin-bottom: 10px;
    color: var(--rk-blue);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .075em;
    text-transform: uppercase;
  }
  #rk-heat-guide .rk-heat-intro {
    max-width: 940px;
    color: var(--rk-text);
    font-size: 1.08rem;
  }
  #rk-heat-guide .rk-heat-answer,
  #rk-heat-guide .rk-heat-note,
  #rk-heat-guide .rk-heat-warning,
  #rk-heat-guide .rk-heat-success {
    margin: 25px 0;
    padding: 22px 23px;
    border-radius: 16px;
  }
  #rk-heat-guide .rk-heat-answer {
    border-left: 5px solid var(--rk-cyan);
    background: var(--rk-cyan-soft);
  }
  #rk-heat-guide .rk-heat-note {
    border-left: 5px solid var(--rk-blue);
    background: var(--rk-soft);
  }
  #rk-heat-guide .rk-heat-warning {
    border-left: 5px solid var(--rk-orange);
    background: var(--rk-orange-soft);
  }
  #rk-heat-guide .rk-heat-success {
    border-left: 5px solid var(--rk-green);
    background: var(--rk-green-soft);
  }
  #rk-heat-guide .rk-heat-answer p:last-child,
  #rk-heat-guide .rk-heat-note p:last-child,
  #rk-heat-guide .rk-heat-warning p:last-child,
  #rk-heat-guide .rk-heat-success p:last-child { margin-bottom: 0; }
  #rk-heat-guide .rk-heat-grid-2,
  #rk-heat-guide .rk-heat-grid-3,
  #rk-heat-guide .rk-heat-grid-4 {
    display: grid;
    gap: 15px;
    margin: 25px 0;
  }
  #rk-heat-guide .rk-heat-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #rk-heat-guide .rk-heat-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #rk-heat-guide .rk-heat-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #rk-heat-guide .rk-heat-card {
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: var(--rk-white);
    box-shadow: 0 10px 30px rgba(16, 37, 54, .055);
  }
  #rk-heat-guide .rk-heat-card p:last-child { margin-bottom: 0; }
  #rk-heat-guide .rk-heat-card-icon,
  #rk-heat-guide .rk-heat-number {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin-bottom: 14px;
    border-radius: 12px;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: .82rem;
    font-weight: 950;
  }
  #rk-heat-guide .rk-heat-card.is-orange .rk-heat-card-icon { background: var(--rk-orange); }
  #rk-heat-guide .rk-heat-card.is-green .rk-heat-card-icon { background: var(--rk-green); }
  #rk-heat-guide .rk-heat-card.is-purple .rk-heat-card-icon { background: var(--rk-purple); }
  #rk-heat-guide .rk-heat-formula {
    margin: 25px 0;
    padding: 24px;
    border: 1px solid #b9e4ec;
    border-radius: 17px;
    text-align: center;
    background: linear-gradient(135deg, #f7fdff, #ecfafc);
  }
  #rk-heat-guide .rk-heat-formula strong {
    display: block;
    margin-bottom: 7px;
    color: var(--rk-dark);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 3vw, 1.8rem);
  }
  #rk-heat-guide .rk-heat-formula span { color: var(--rk-muted); font-size: .78rem; }
  #rk-heat-guide .rk-heat-list {
    display: grid;
    gap: 10px;
    padding: 0;
    list-style: none;
  }
  #rk-heat-guide .rk-heat-list li {
    position: relative;
    margin: 0;
    padding: 12px 14px 12px 43px;
    border: 1px solid var(--rk-line);
    border-radius: 12px;
    background: var(--rk-white);
  }
  #rk-heat-guide .rk-heat-list li::before {
    position: absolute;
    top: 13px;
    left: 14px;
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    color: var(--rk-white);
    background: var(--rk-green);
    content: "✓";
    font-size: .62rem;
    font-weight: 950;
  }

  #rk-heat-guide .rk-heat-table-wrap {
    overflow: hidden;
    margin: 24px 0;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
  }
  #rk-heat-guide table {
    width: 100%;
    border-collapse: collapse;
    color: var(--rk-text);
    font-size: .82rem;
  }
  #rk-heat-guide th,
  #rk-heat-guide td {
    padding: 15px 16px;
    border-right: 1px solid var(--rk-line);
    border-bottom: 1px solid var(--rk-line);
    vertical-align: top;
    text-align: left;
  }
  #rk-heat-guide th:last-child,
  #rk-heat-guide td:last-child { border-right: 0; }
  #rk-heat-guide tr:last-child td { border-bottom: 0; }
  #rk-heat-guide th {
    color: var(--rk-white);
    background: var(--rk-navy);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .025em;
  }

  #rk-heat-guide .rk-heat-tool {
    overflow: hidden;
    margin: 29px 0;
    border-radius: 22px;
    color: #e7f4f8;
    background: var(--rk-dark);
    box-shadow: 0 20px 55px rgba(16, 37, 54, .2);
  }
  #rk-heat-guide .rk-heat-tool-head {
    padding: clamp(25px, 5vw, 42px);
    background:
      radial-gradient(circle at 90% 0, rgba(37, 199, 216, .2), transparent 32%),
      linear-gradient(135deg, #15384d, #173344);
  }
  #rk-heat-guide .rk-heat-tool-head h3 {
    margin-bottom: 8px;
    color: var(--rk-white);
    font-size: clamp(1.45rem, 3.8vw, 2.45rem);
  }
  #rk-heat-guide .rk-heat-tool-head p { margin-bottom: 0; color: #c9e0e8; }
  #rk-heat-guide .rk-heat-tool-body { padding: clamp(20px, 4vw, 34px); }
  #rk-heat-guide .rk-heat-step {
    margin-bottom: 23px;
    padding: 22px;
    border: 1px solid rgba(136, 202, 220, .25);
    border-radius: 17px;
    background: rgba(255, 255, 255, .035);
  }
  #rk-heat-guide .rk-heat-step:last-child { margin-bottom: 0; }
  #rk-heat-guide .rk-heat-step-title {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 18px;
  }
  #rk-heat-guide .rk-heat-step-title b {
    display: grid;
    flex: 0 0 36px;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 11px;
    color: var(--rk-dark);
    background: var(--rk-cyan);
  }
  #rk-heat-guide .rk-heat-step-title h4 { margin: 0; color: var(--rk-white); font-size: 1.16rem; }
  #rk-heat-guide .rk-heat-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }
  #rk-heat-guide .rk-heat-candidates {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
  #rk-heat-guide .rk-heat-candidate {
    min-width: 0;
    padding: 20px;
    border: 1px solid rgba(37, 199, 216, .32);
    border-radius: 16px;
    background: rgba(10, 34, 48, .56);
  }
  #rk-heat-guide .rk-heat-candidate.is-b { border-color: rgba(255, 106, 61, .38); }
  #rk-heat-guide .rk-heat-candidate h4 {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--rk-white);
  }
  #rk-heat-guide .rk-heat-candidate-legend {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0 7px;
    color: var(--rk-white);
    font-size: 1.02rem;
    font-weight: 920;
  }
  #rk-heat-guide .rk-heat-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--rk-cyan);
    box-shadow: 0 0 0 5px rgba(37, 199, 216, .12);
  }
  #rk-heat-guide .rk-heat-candidate.is-b .rk-heat-dot {
    background: var(--rk-orange);
    box-shadow: 0 0 0 5px rgba(255, 106, 61, .12);
  }
  #rk-heat-guide .rk-heat-candidate-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  #rk-heat-guide .rk-heat-field { min-width: 0; }
  #rk-heat-guide .rk-heat-field.is-wide { grid-column: 1 / -1; }
  #rk-heat-guide .rk-heat-field label {
    display: block;
    margin-bottom: 5px;
    color: #dff3f8;
    font-size: .67rem;
    font-weight: 850;
    line-height: 1.35;
  }
  #rk-heat-guide .rk-heat-field input,
  #rk-heat-guide .rk-heat-field select {
    width: 100%;
    min-height: 45px;
    padding: 10px 12px;
    border: 1px solid #b8cbd3;
    border-radius: 10px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: .77rem;
    font-weight: 700;
  }
  #rk-heat-guide .rk-heat-field small {
    display: block;
    margin-top: 5px;
    color: #8fb6c5;
    font-size: .59rem;
    line-height: 1.42;
  }
  #rk-heat-guide .rk-heat-field input:focus,
  #rk-heat-guide .rk-heat-field select:focus {
    outline: 3px solid rgba(37, 199, 216, .25);
    border-color: var(--rk-cyan);
  }
  #rk-heat-guide .rk-heat-tool-button {
    width: 100%;
    margin-top: 18px;
    padding: 14px 18px;
    border: 0;
    border-radius: 12px;
    color: var(--rk-dark);
    background: linear-gradient(135deg, #61e7f3, #25c7d8);
    cursor: pointer;
    font-size: .84rem;
    font-weight: 950;
  }
  #rk-heat-guide .rk-heat-tool-button:hover,
  #rk-heat-guide .rk-heat-tool-button:focus-visible { filter: brightness(1.06); }
  #rk-heat-guide .rk-heat-result-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: start;
    margin-bottom: 18px;
  }
  #rk-heat-guide .rk-heat-result-head h4 { margin-bottom: 5px; color: var(--rk-white); }
  #rk-heat-guide .rk-heat-result-head p { margin-bottom: 0; color: #bcd7e1; font-size: .74rem; }
  #rk-heat-guide .rk-heat-result-badge {
    display: inline-flex;
    padding: 8px 11px;
    border-radius: 999px;
    color: var(--rk-dark);
    background: var(--rk-cyan);
    font-size: .62rem;
    font-weight: 950;
    white-space: nowrap;
  }
  #rk-heat-guide .rk-heat-result-badge.is-warning { color: #4f3300; background: #ffd568; }
  #rk-heat-guide .rk-heat-result-badge.is-bad { color: #59150f; background: #ff9f91; }
  #rk-heat-guide .rk-heat-result-badge.is-neutral { color: #29205d; background: #c8c1ff; }
  #rk-heat-guide .rk-heat-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
  }
  #rk-heat-guide .rk-heat-result-card {
    min-width: 0;
    padding: 18px;
    border: 1px solid rgba(136, 202, 220, .25);
    border-radius: 15px;
    background: rgba(255, 255, 255, .035);
  }
  #rk-heat-guide .rk-heat-result-card h4 { color: var(--rk-white); }
  #rk-heat-guide .rk-heat-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin: 15px 0;
  }
  #rk-heat-guide .rk-heat-metric {
    padding: 12px;
    border-radius: 11px;
    background: rgba(255, 255, 255, .06);
  }
  #rk-heat-guide .rk-heat-metric span {
    display: block;
    color: #93bac7;
    font-size: .56rem;
    font-weight: 850;
    letter-spacing: .035em;
    text-transform: uppercase;
  }
  #rk-heat-guide .rk-heat-metric strong {
    display: block;
    margin-top: 3px;
    color: var(--rk-white);
    font-size: .96rem;
  }
  #rk-heat-guide .rk-heat-bar {
    position: relative;
    overflow: hidden;
    height: 15px;
    margin: 10px 0 7px;
    border-radius: 999px;
    background: #264b5e;
  }
  #rk-heat-guide .rk-heat-bar span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--rk-cyan), #66e5ef);
    transition: width .3s ease;
  }
  #rk-heat-guide .rk-heat-result-card.is-b .rk-heat-bar span {
    background: linear-gradient(90deg, var(--rk-orange), #ff9b78);
  }
  #rk-heat-guide .rk-heat-layer-stack {
    display: grid;
    gap: 6px;
    margin-top: 15px;
  }
  #rk-heat-guide .rk-heat-layer {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 9px;
    color: var(--rk-dark);
    background: #dff8fb;
    font-size: .65rem;
    font-weight: 850;
  }
  #rk-heat-guide .rk-heat-layer.is-install { background: #ffe0d4; }
  #rk-heat-guide .rk-heat-layer.is-screed { color: #eef8fb; background: #466575; }
  #rk-heat-guide .rk-heat-diagnostics {
    display: grid;
    gap: 8px;
    margin-top: 14px;
  }
  #rk-heat-guide .rk-heat-diagnostic {
    padding: 10px 12px;
    border-left: 4px solid var(--rk-yellow);
    border-radius: 8px;
    color: #f5e9c5;
    background: rgba(214, 154, 22, .12);
    font-size: .67rem;
    line-height: 1.48;
  }
  #rk-heat-guide .rk-heat-diagnostic.is-good {
    border-color: #4cd7ac;
    color: #d8fff1;
    background: rgba(22, 131, 107, .16);
  }
  #rk-heat-guide .rk-heat-diagnostic.is-bad {
    border-color: #ff786b;
    color: #ffe1dc;
    background: rgba(217, 75, 61, .15);
  }
  #rk-heat-guide .rk-heat-questions {
    margin: 14px 0 0;
    padding-left: 19px;
    color: #d9eaf0;
    font-size: .68rem;
  }
  #rk-heat-guide .rk-heat-questions li { margin-bottom: 6px; }

  #rk-heat-guide .rk-heat-chart-card {
    margin-top: 16px;
    padding: 20px;
    border: 1px solid rgba(136, 202, 220, .25);
    border-radius: 16px;
    background: rgba(255, 255, 255, .035);
  }
  #rk-heat-guide .rk-heat-chart-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: start;
    margin-bottom: 13px;
  }
  #rk-heat-guide .rk-heat-chart-head h4 { margin-bottom: 5px; color: var(--rk-white); }
  #rk-heat-guide .rk-heat-chart-head p { margin: 0; color: #bcd7e1; font-size: .68rem; }
  #rk-heat-guide .rk-heat-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    justify-content: flex-end;
    color: #d9eaf0;
    font-size: .62rem;
    font-weight: 800;
  }
  #rk-heat-guide .rk-heat-chart-key {
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  #rk-heat-guide .rk-heat-chart-key::before {
    width: 18px;
    height: 4px;
    border-radius: 999px;
    background: var(--rk-cyan);
    content: "";
  }
  #rk-heat-guide .rk-heat-chart-key.is-b::before { background: var(--rk-orange); }
  #rk-heat-guide .rk-heat-chart-key.is-demand::before {
    height: 2px;
    background: #ffd568;
  }
  #rk-heat-guide .rk-heat-chart-wrap {
    overflow: hidden;
    width: 100%;
    min-height: 350px;
    border-radius: 13px;
    background: #f8fcfd;
  }
  #rk-heat-guide .rk-heat-chart-wrap canvas {
    display: block;
    width: 100%;
    height: 350px;
  }
  #rk-heat-guide .rk-heat-chart-summary {
    margin: 11px 0 0;
    color: #a9c8d3;
    font-size: .63rem;
    line-height: 1.55;
  }
  #rk-heat-guide .rk-heat-result-status {
    display: inline-flex;
    margin-top: 8px;
    padding: 7px 10px;
    border-radius: 999px;
    color: #d8fff1;
    background: rgba(22, 131, 107, .22);
    font-size: .61rem;
    font-weight: 950;
  }
  #rk-heat-guide .rk-heat-result-status.is-warning {
    color: #fff2c9;
    background: rgba(214, 154, 22, .22);
  }
  #rk-heat-guide .rk-heat-result-status.is-bad {
    color: #ffe1dc;
    background: rgba(217, 75, 61, .22);
  }
  #rk-heat-guide .rk-heat-stack-scale {
    display: grid;
    gap: 6px;
    margin-top: 15px;
  }
  #rk-heat-guide .rk-heat-stack-segment {
    position: relative;
    overflow: hidden;
    min-height: 34px;
    padding: 8px 11px;
    border-radius: 9px;
    color: var(--rk-dark);
    background: #dff8fb;
    font-size: .63rem;
    font-weight: 850;
  }
  #rk-heat-guide .rk-heat-stack-segment.is-install { background: #ffe0d4; }
  #rk-heat-guide .rk-heat-stack-segment.is-extra { background: #e9e5ff; }
  #rk-heat-guide .rk-heat-stack-segment span { float: right; }
  #rk-heat-guide .rk-heat-data-note {
    margin-top: 12px;
    padding: 11px 13px;
    border-left: 4px solid var(--rk-cyan);
    border-radius: 9px;
    color: #d8eef4;
    background: rgba(37, 199, 216, .08);
    font-size: .64rem;
  }

  #rk-heat-guide .rk-heat-question-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  #rk-heat-guide .rk-heat-question {
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(136, 202, 220, .24);
    border-radius: 13px;
    background: rgba(255, 255, 255, .035);
  }
  #rk-heat-guide .rk-heat-question.is-critical {
    border-left: 4px solid var(--rk-orange);
  }
  #rk-heat-guide .rk-heat-question label {
    display: block;
    min-height: 45px;
    margin-bottom: 8px;
    color: #dff3f8;
    font-size: .68rem;
    font-weight: 850;
    line-height: 1.45;
  }
  #rk-heat-guide .rk-heat-question select {
    width: 100%;
    min-height: 45px;
    padding: 10px 12px;
    border: 1px solid #b8cbd3;
    border-radius: 10px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: .76rem;
    font-weight: 700;
  }
  #rk-heat-guide .rk-heat-question select:focus {
    outline: 3px solid rgba(37, 199, 216, .25);
    border-color: var(--rk-cyan);
  }
  #rk-heat-guide .rk-heat-critical-note {
    margin: 0 0 16px;
    padding: 12px 14px;
    border-left: 4px solid var(--rk-orange);
    border-radius: 10px;
    color: var(--rk-text);
    background: rgba(255, 106, 61, .1);
    font-size: .65rem;
  }
  #rk-heat-guide .rk-heat-stage-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 11px;
    margin-top: 15px;
  }
  #rk-heat-guide .rk-heat-stage-card {
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(136, 202, 220, .25);
    border-radius: 13px;
    background: rgba(255, 255, 255, .04);
  }
  #rk-heat-guide .rk-heat-stage-card.is-ready { border-color: rgba(76, 215, 172, .46); }
  #rk-heat-guide .rk-heat-stage-card.is-warning { border-color: rgba(255, 213, 104, .55); }
  #rk-heat-guide .rk-heat-stage-card.is-blocked { border-color: rgba(255, 120, 107, .58); }
  #rk-heat-guide .rk-heat-stage-number {
    display: inline-grid;
    place-items: center;
    width: 31px;
    height: 31px;
    margin-bottom: 10px;
    border-radius: 9px;
    color: var(--rk-dark);
    background: var(--rk-cyan);
    font-size: .67rem;
    font-weight: 950;
  }
  #rk-heat-guide .rk-heat-stage-card.is-warning .rk-heat-stage-number { background: #ffd568; }
  #rk-heat-guide .rk-heat-stage-card.is-blocked .rk-heat-stage-number { background: #ff9f91; }
  #rk-heat-guide .rk-heat-stage-card h4 { margin-bottom: 6px; color: var(--rk-white); font-size: .84rem; }
  #rk-heat-guide .rk-heat-stage-card p { margin-bottom: 10px; color: #bcd7e1; font-size: .64rem; line-height: 1.5; }
  #rk-heat-guide .rk-heat-stage-status {
    display: inline-flex;
    padding: 6px 9px;
    border-radius: 999px;
    color: #d8fff1;
    background: rgba(22, 131, 107, .24);
    font-size: .57rem;
    font-weight: 950;
  }
  #rk-heat-guide .rk-heat-stage-card.is-warning .rk-heat-stage-status {
    color: #fff2c9;
    background: rgba(214, 154, 22, .22);
  }
  #rk-heat-guide .rk-heat-stage-card.is-blocked .rk-heat-stage-status {
    color: #ffe1dc;
    background: rgba(217, 75, 61, .24);
  }
  #rk-heat-guide .rk-heat-output-stack {
    display: grid;
    gap: 12px;
    margin-top: 16px;
  }
  #rk-heat-guide .rk-heat-output-card {
    padding: 17px;
    border: 1px solid rgba(136, 202, 220, .25);
    border-radius: 14px;
    background: rgba(255, 255, 255, .035);
  }
  #rk-heat-guide .rk-heat-output-card h4 { margin-bottom: 10px; color: var(--rk-white); }
  #rk-heat-guide .rk-heat-output-card.is-warning { border-left: 4px solid #ffd568; }
  #rk-heat-guide .rk-heat-output-card.is-blocked { border-left: 4px solid #ff786b; }
  #rk-heat-guide .rk-heat-output-card.is-ready { border-left: 4px solid #4cd7ac; }
  #rk-heat-guide .rk-heat-output-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  #rk-heat-guide .rk-heat-output-list li {
    position: relative;
    margin: 0;
    padding: 10px 11px 10px 34px;
    border-radius: 9px;
    color: #d9eaf0;
    background: rgba(255, 255, 255, .045);
    font-size: .65rem;
    line-height: 1.45;
  }
  #rk-heat-guide .rk-heat-output-list li::before {
    position: absolute;
    top: 10px;
    left: 11px;
    color: var(--rk-cyan);
    content: "✓";
    font-weight: 950;
  }
  #rk-heat-guide .rk-heat-output-card.is-warning .rk-heat-output-list li::before { color: #ffd568; content: "!"; }
  #rk-heat-guide .rk-heat-output-card.is-blocked .rk-heat-output-list li::before { color: #ff8b7f; content: "×"; }
  #rk-heat-guide .rk-heat-empty-result {
    margin: 0;
    color: #a9c8d3;
    font-size: .66rem;
  }

  #rk-heat-guide .rk-heat-sales-cta {
    margin: 36px 0;
    padding: clamp(25px, 5vw, 42px);
    border-radius: 20px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 90% 0, rgba(37, 199, 216, .22), transparent 30%),
      linear-gradient(135deg, #102536, #17445a);
  }
  #rk-heat-guide .rk-heat-sales-cta h3 { color: var(--rk-white); font-size: clamp(1.35rem, 3vw, 2rem); }
  #rk-heat-guide .rk-heat-sales-cta p { max-width: 920px; color: #d0e4eb; }
  #rk-heat-guide .rk-heat-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 20px;
    border-radius: 12px;
    color: var(--rk-dark) !important;
    background: linear-gradient(135deg, #63e6f1, #28c9d9);
    font-size: .79rem;
    font-weight: 950 !important;
    text-decoration: none !important;
  }
  #rk-heat-guide .rk-heat-cta-button:hover,
  #rk-heat-guide .rk-heat-cta-button:focus-visible { filter: brightness(1.07); }

  #rk-heat-guide .rk-heat-checklist {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 24px 0;
    padding: 0;
    list-style: none;
  }
  #rk-heat-guide .rk-heat-checklist li {
    position: relative;
    margin: 0;
    padding: 14px 14px 14px 45px;
    border: 1px solid var(--rk-line);
    border-radius: 13px;
    background: var(--rk-soft);
  }
  #rk-heat-guide .rk-heat-checklist li::before {
    position: absolute;
    top: 14px;
    left: 14px;
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border: 2px solid var(--rk-cyan);
    border-radius: 7px;
    color: var(--rk-blue);
    content: "✓";
    font-size: .65rem;
    font-weight: 950;
  }
  #rk-heat-guide .rk-heat-faq {
    display: grid;
    gap: 11px;
    margin-top: 24px;
  }
  #rk-heat-guide .rk-heat-faq details {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    background: var(--rk-white);
  }
  #rk-heat-guide .rk-heat-faq summary {
    position: relative;
    padding: 17px 48px 17px 18px;
    color: var(--rk-dark);
    cursor: pointer;
    font-weight: 880;
    list-style: none;
  }
  #rk-heat-guide .rk-heat-faq summary::-webkit-details-marker { display: none; }
  #rk-heat-guide .rk-heat-faq summary::after {
    position: absolute;
    top: 15px;
    right: 16px;
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    border-radius: 8px;
    color: var(--rk-white);
    background: var(--rk-blue);
    content: "+";
  }
  #rk-heat-guide .rk-heat-faq details[open] summary::after { content: "−"; }
  #rk-heat-guide .rk-heat-faq-answer {
    padding: 0 18px 17px;
    color: var(--rk-text);
  }
  #rk-heat-guide .rk-heat-faq-answer p:last-child { margin-bottom: 0; }
  #rk-heat-guide .rk-heat-sources {
    display: grid;
    gap: 11px;
    margin-top: 24px;
  }
  #rk-heat-guide .rk-heat-source {
    padding: 18px;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    background: var(--rk-soft);
  }
  #rk-heat-guide .rk-heat-source p { margin: 6px 0 0; color: var(--rk-muted); font-size: .77rem; }

  #rk-heat-guide .rk-heat-author {
    overflow: hidden;
    margin-top: 48px;
    border: 1px solid var(--rk-line);
    border-radius: 22px;
    background: var(--rk-soft);
    scroll-margin-top: 18px;
  }
  #rk-heat-guide .rk-heat-author > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }
  #rk-heat-guide .rk-heat-author-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: end;
    padding: 28px 32px 22px;
    border-bottom: 1px solid var(--rk-line);
  }
  #rk-heat-guide .rk-heat-author-head h2 { margin-bottom: 6px; font-size: clamp(1.55rem, 3vw, 2.2rem); }
  #rk-heat-guide .rk-heat-author-head p { margin: 0; color: var(--rk-muted); }
  #rk-heat-guide .rk-heat-author-mark {
    max-width: 380px;
    color: var(--rk-blue);
    font-size: .61rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-align: right;
  }
  #rk-heat-guide .rk-heat-author-layout {
    display: grid;
    grid-template-columns: 255px minmax(0, 1fr);
  }
  #rk-heat-guide .rk-heat-author-side {
    padding: 30px 24px;
    color: var(--rk-white);
    text-align: center;
    background: var(--rk-dark);
  }
  #rk-heat-guide .rk-heat-author-photo {
    overflow: hidden;
    width: 145px;
    height: 145px;
    margin: 0 auto 18px;
    border: 6px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    background: var(--rk-white);
  }
  #rk-heat-guide .rk-heat-author-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #rk-heat-guide .rk-heat-author-name { margin-bottom: 5px; font-size: 1.08rem; font-weight: 950; }
  #rk-heat-guide .rk-heat-author-role { color: #bdd4de; font-size: .68rem; line-height: 1.55; }
  #rk-heat-guide .rk-heat-author-social-label {
    margin-top: 24px;
    color: #8ca8b5;
    font-size: .58rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
  }
  #rk-heat-guide .rk-heat-author-social {
    display: flex;
    justify-content: center;
    gap: 9px;
    margin-top: 10px;
  }
  #rk-heat-guide .rk-heat-author-social a {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid #507080;
    border-radius: 50%;
    color: var(--rk-white);
  }
  #rk-heat-guide .rk-heat-author-social a:hover { border-color: var(--rk-cyan); color: var(--rk-cyan); }
  #rk-heat-guide .rk-heat-author-social svg { width: 18px; height: 18px; fill: currentColor; }
  #rk-heat-guide .rk-heat-author-main { padding: 30px 34px; }
  #rk-heat-guide .rk-heat-author-quote {
    position: relative;
    margin: 0 0 23px;
    padding: 22px 22px 22px 64px;
    border: 1px solid var(--rk-line);
    border-radius: 15px;
    background: var(--rk-white);
  }
  #rk-heat-guide .rk-heat-author-quote::before {
    position: absolute;
    top: 12px;
    left: 23px;
    color: var(--rk-cyan);
    content: "“";
    font-family: Georgia, serif;
    font-size: 3.7rem;
    font-weight: 900;
    line-height: 1;
  }
  #rk-heat-guide .rk-heat-author-quote p { margin: 0; color: var(--rk-dark); font-weight: 780; }
  #rk-heat-guide .rk-heat-author-tabs { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 20px; }
  #rk-heat-guide .rk-heat-author-tab {
    padding: 8px 13px;
    border-radius: 999px;
    color: var(--rk-muted);
    background: #e2edf1;
    cursor: pointer;
    font-size: .67rem;
    font-weight: 900;
  }
  #rk-heat-guide .rk-heat-author-panel { display: none; color: var(--rk-text); }
  #rk-heat-guide #rk-heat-author-about:checked ~ .rk-heat-author-layout .rk-heat-author-panel-about,
  #rk-heat-guide #rk-heat-author-exp:checked ~ .rk-heat-author-layout .rk-heat-author-panel-exp,
  #rk-heat-guide #rk-heat-author-method:checked ~ .rk-heat-author-layout .rk-heat-author-panel-method { display: block; }
  #rk-heat-guide #rk-heat-author-about:checked ~ .rk-heat-author-layout label[for="rk-heat-author-about"],
  #rk-heat-guide #rk-heat-author-exp:checked ~ .rk-heat-author-layout label[for="rk-heat-author-exp"],
  #rk-heat-guide #rk-heat-author-method:checked ~ .rk-heat-author-layout label[for="rk-heat-author-method"] {
    color: var(--rk-white);
    background: var(--rk-blue);
  }
  #rk-heat-guide .rk-heat-mini-label {
    margin: 21px 0 8px;
    color: var(--rk-muted);
    font-size: .58rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
  }
  #rk-heat-guide .rk-heat-portals { display: flex; flex-wrap: wrap; gap: 8px; }
  #rk-heat-guide .rk-heat-portals a {
    padding: 7px 11px;
    border: 1px solid var(--rk-line);
    border-radius: 999px;
    background: var(--rk-white);
    font-size: .65rem;
    text-decoration: none;
  }

  @media (max-width: 900px) {
    #rk-heat-guide .rk-heat-hero-metrics,
    #rk-heat-guide .rk-heat-grid-3,
    #rk-heat-guide .rk-heat-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-heat-guide .rk-heat-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-heat-guide .rk-heat-author-layout { grid-template-columns: 225px minmax(0, 1fr); }
    #rk-heat-guide .rk-heat-stage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 720px) {
    #rk-heat-guide { margin-top: 18px; font-size: 16px; }
    #rk-heat-guide .rk-heat-shell { border-radius: 18px; }
    #rk-heat-guide .rk-heat-nav { grid-template-columns: 1fr; gap: 5px; }
    #rk-heat-guide .rk-heat-nav-label { padding: 0 0 4px 2px; }
    #rk-heat-guide .rk-heat-nav-track { width: 100%; }
    #rk-heat-guide .rk-heat-candidates,
    #rk-heat-guide .rk-heat-result-grid,
    #rk-heat-guide .rk-heat-grid-2,
    #rk-heat-guide .rk-heat-checklist { grid-template-columns: 1fr; }
    #rk-heat-guide .rk-heat-result-head { grid-template-columns: 1fr; }
    #rk-heat-guide .rk-heat-chart-head { display: block; }
    #rk-heat-guide .rk-heat-chart-legend { justify-content: flex-start; margin-top: 10px; }
    #rk-heat-guide .rk-heat-author-head { display: block; }
    #rk-heat-guide .rk-heat-author-mark { margin-top: 12px; text-align: left; }
    #rk-heat-guide .rk-heat-author-layout { grid-template-columns: 1fr; }
    #rk-heat-guide .rk-heat-question-grid,
    #rk-heat-guide .rk-heat-stage-grid,
    #rk-heat-guide .rk-heat-output-list { grid-template-columns: 1fr; }
    #rk-heat-guide .rk-heat-table-wrap { overflow: visible; border: 0; }
    #rk-heat-guide table,
    #rk-heat-guide thead,
    #rk-heat-guide tbody,
    #rk-heat-guide tr,
    #rk-heat-guide th,
    #rk-heat-guide td { display: block; width: 100%; }
    #rk-heat-guide thead {
      position: absolute;
      overflow: hidden;
      width: 1px;
      height: 1px;
      clip: rect(0 0 0 0);
      white-space: nowrap;
    }
    #rk-heat-guide tr {
      overflow: hidden;
      margin-bottom: 13px;
      border: 1px solid var(--rk-line);
      border-radius: 14px;
      background: var(--rk-white);
    }
    #rk-heat-guide td {
      position: relative;
      padding: 39px 15px 14px;
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
    }
    #rk-heat-guide td::before {
      position: absolute;
      top: 11px;
      left: 15px;
      color: var(--rk-blue);
      content: attr(data-label);
      font-size: .58rem;
      font-weight: 950;
      letter-spacing: .045em;
      text-transform: uppercase;
    }
  }
  @media (max-width: 500px) {
    #rk-heat-guide .rk-heat-hero { padding-left: 21px; padding-right: 21px; }
    #rk-heat-guide .rk-heat-hero-metrics,
    #rk-heat-guide .rk-heat-grid-3,
    #rk-heat-guide .rk-heat-grid-4,
    #rk-heat-guide .rk-heat-fields,
    #rk-heat-guide .rk-heat-candidate-fields,
    #rk-heat-guide .rk-heat-metrics { grid-template-columns: 1fr; }
    #rk-heat-guide .rk-heat-content { padding-left: 16px; padding-right: 16px; }
    #rk-heat-guide .rk-heat-nav { padding-left: 15px; padding-right: 15px; }
    #rk-heat-guide .rk-heat-nav a { font-size: .61rem; }
    #rk-heat-guide .rk-heat-author-main { padding: 24px 18px; }
    #rk-heat-guide .rk-heat-author-quote { padding-left: 58px; }
    #rk-heat-guide .rk-heat-chart-wrap,
    #rk-heat-guide .rk-heat-chart-wrap canvas { min-height: 300px; height: 300px; }
  }
  @media (prefers-reduced-motion: reduce) {
    #rk-heat-guide *,
    #rk-heat-guide *::before,
    #rk-heat-guide *::after {
      scroll-behavior: auto !important;
      transition: none !important;
      animation: none !important;
    }
  }

  /* Laboratorium jednego pomieszczenia: pełna szerokość i układ sekwencyjny. */
  #rk-heat-guide .rk-heat-lab-group {
    margin-bottom: 17px;
    padding: 19px;
    border: 1px solid rgba(136, 202, 220, .24);
    border-radius: 15px;
    background: rgba(255, 255, 255, .035);
  }
  #rk-heat-guide .rk-heat-lab-group:last-child { margin-bottom: 0; }
  #rk-heat-guide .rk-heat-lab-group h4 { color: var(--rk-white); }
  #rk-heat-guide .rk-heat-lab-group > p { color: #bcd7e1; font-size: .7rem; }
  #rk-heat-guide .rk-heat-lab-fields {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
  }
  #rk-heat-guide .rk-heat-result-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 18px;
  }
  #rk-heat-guide .rk-heat-result-tile {
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(136, 202, 220, .25);
    border-radius: 12px;
    background: rgba(255, 255, 255, .055);
  }
  #rk-heat-guide .rk-heat-result-tile span {
    display: block;
    color: #96bdca;
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
  }
  #rk-heat-guide .rk-heat-result-tile strong {
    display: block;
    margin-top: 4px;
    color: var(--rk-white);
    font-size: 1.12rem;
    line-height: 1.22;
  }
  #rk-heat-guide .rk-heat-chart-list {
    display: grid;
    gap: 11px;
    margin: 18px 0 0;
  }
  #rk-heat-guide .rk-heat-chart-row {
    display: grid;
    grid-template-columns: minmax(110px, 1.05fr) minmax(170px, 3fr) minmax(92px, .85fr);
    gap: 11px;
    align-items: center;
  }
  #rk-heat-guide .rk-heat-chart-label { color: #d8edf3; font-size: .66rem; font-weight: 850; }
  #rk-heat-guide .rk-heat-chart-track {
    overflow: hidden;
    height: 16px;
    border-radius: 999px;
    background: #27495a;
  }
  #rk-heat-guide .rk-heat-chart-fill {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--rk-cyan), #64e4ef);
    transition: width .28s ease;
  }
  #rk-heat-guide .rk-heat-chart-row:nth-child(2) .rk-heat-chart-fill { background: linear-gradient(90deg, #ff6a3d, #ff9b76); }
  #rk-heat-guide .rk-heat-chart-row:nth-child(3) .rk-heat-chart-fill { background: linear-gradient(90deg, #16836b, #43c69f); }
  #rk-heat-guide .rk-heat-chart-row:nth-child(4) .rk-heat-chart-fill { background: linear-gradient(90deg, #695ac9, #9c8ff3); }
  #rk-heat-guide .rk-heat-chart-row:nth-child(5) .rk-heat-chart-fill { background: linear-gradient(90deg, #d69a16, #ffd062); }
  #rk-heat-guide .rk-heat-chart-row:nth-child(6) .rk-heat-chart-fill { background: linear-gradient(90deg, #078fbe, #43caef); }
  #rk-heat-guide .rk-heat-chart-value { color: var(--rk-white); font-size: .66rem; font-weight: 900; text-align: right; }
  #rk-heat-guide .rk-heat-formula-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 19px 0 13px;
  }
  #rk-heat-guide .rk-heat-formula-tab {
    padding: 8px 11px;
    border: 1px solid rgba(136, 202, 220, .31);
    border-radius: 999px;
    color: #d9edf3;
    background: rgba(255, 255, 255, .045);
    cursor: pointer;
    font-size: .63rem;
    font-weight: 900;
  }
  #rk-heat-guide .rk-heat-formula-tab[aria-pressed="true"] {
    border-color: var(--rk-cyan);
    color: var(--rk-dark);
    background: var(--rk-cyan);
  }
  #rk-heat-guide .rk-heat-live-formula {
    padding: 18px;
    border: 1px solid rgba(37, 199, 216, .28);
    border-radius: 13px;
    background: rgba(7, 143, 190, .1);
  }
  #rk-heat-guide .rk-heat-live-formula strong { display: block; color: var(--rk-white); font-size: 1rem; }
  #rk-heat-guide .rk-heat-live-formula code {
    display: block;
    overflow-wrap: anywhere;
    margin: 8px 0;
    padding: 11px 13px;
    border: 1px solid rgba(126, 239, 255, .38);
    border-left: 4px solid var(--rk-cyan);
    border-radius: 9px;
    color: #f2fdff !important;
    background: #0b2d3f !important;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .73rem;
    font-weight: 800;
    line-height: 1.55;
    white-space: normal;
  }
  #rk-heat-guide .rk-heat-live-formula span { color: #bcd7e1; font-size: .68rem; }
  #rk-heat-guide .rk-heat-example-flow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 24px 0;
  }
  #rk-heat-guide .rk-heat-example-step {
    padding: 17px;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    background: var(--rk-soft);
  }
  #rk-heat-guide .rk-heat-example-step b { display: block; margin-bottom: 5px; color: var(--rk-blue); }
  #rk-heat-guide .rk-heat-example-step p { margin: 0; font-size: .78rem; }
  #rk-heat-guide .rk-heat-inline-code {
    padding: .12em .35em;
    border-radius: 5px;
    color: var(--rk-dark);
    background: #e9f1f4;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .88em;
  }
  #rk-heat-guide .rk-heat-source a { overflow-wrap: anywhere; }

  @media (max-width: 900px) {
    #rk-heat-guide .rk-heat-lab-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-heat-guide .rk-heat-result-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  }
  @media (max-width: 620px) {
    #rk-heat-guide .rk-heat-lab-fields,
    #rk-heat-guide .rk-heat-result-strip,
    #rk-heat-guide .rk-heat-example-flow { grid-template-columns: 1fr; }
    #rk-heat-guide .rk-heat-chart-row { grid-template-columns: 1fr; gap: 5px; }
    #rk-heat-guide .rk-heat-chart-value { text-align: left; }
  }

  /* Analizator źródło–odbiornik: sekwencyjnie, bez wysokich niezależnych kolumn. */
  #rk-heat-guide .rk-hp-equation {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin: 22px 0;
  }
  #rk-heat-guide .rk-hp-equation > div {
    padding: 17px;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    background: var(--rk-soft);
  }
  #rk-heat-guide .rk-hp-equation code {
    display: block;
    margin-bottom: 7px;
    color: var(--rk-dark);
    font-size: .88rem;
    font-weight: 900;
    white-space: normal;
  }
  #rk-heat-guide .rk-hp-equation span { color: var(--rk-muted); font-size: .72rem; }
  #rk-heat-guide .rk-hp-status-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-bottom: 18px;
  }
  #rk-heat-guide .rk-hp-status-card {
    min-width: 0;
    padding: 18px;
    border: 1px solid rgba(136, 202, 220, .25);
    border-radius: 15px;
    background: rgba(255, 255, 255, .04);
  }
  #rk-heat-guide .rk-hp-status-card h4 { color: var(--rk-white); }
  #rk-heat-guide .rk-hp-status-card p { margin: 7px 0 0; color: #bcd7e1; font-size: .69rem; }
  #rk-heat-guide .rk-hp-meter {
    overflow: hidden;
    height: 14px;
    margin: 12px 0 7px;
    border-radius: 999px;
    background: #27495a;
  }
  #rk-heat-guide .rk-hp-meter span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--rk-cyan), #64e4ef);
    transition: width .28s ease;
  }
  #rk-heat-guide .rk-hp-meter.is-floor span { background: linear-gradient(90deg, var(--rk-orange), #ff9b76); }
  #rk-heat-guide .rk-hp-coverage {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    color: #d8edf3;
    font-size: .66rem;
    font-weight: 850;
  }
  #rk-heat-guide .rk-hp-chart-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
  }
  #rk-heat-guide .rk-hp-chart-tab {
    padding: 8px 12px;
    border: 1px solid rgba(136, 202, 220, .35);
    border-radius: 999px;
    color: #d9edf3;
    background: rgba(255, 255, 255, .045);
    cursor: pointer;
    font-size: .65rem;
    font-weight: 900;
  }
  #rk-heat-guide .rk-hp-chart-tab[aria-pressed="true"] {
    border-color: var(--rk-cyan);
    color: var(--rk-dark);
    background: var(--rk-cyan);
  }
  #rk-heat-guide .rk-hp-method-note {
    margin-top: 15px;
    padding: 13px 15px;
    border-left: 4px solid var(--rk-yellow);
    border-radius: 10px;
    color: #fff0c4;
    background: rgba(214, 154, 22, .13);
    font-size: .67rem;
    line-height: 1.5;
  }
  #rk-heat-guide .rk-hp-result-message {
    margin: 16px 0 0;
    padding: 15px 17px;
    border-left: 5px solid #4cd7ac;
    border-radius: 11px;
    color: #dcfff3;
    background: rgba(22, 131, 107, .17);
    font-size: .75rem;
    font-weight: 780;
  }
  #rk-heat-guide .rk-hp-result-message.is-warning {
    border-color: #ffd568;
    color: #fff1c3;
    background: rgba(214, 154, 22, .14);
  }
  #rk-heat-guide .rk-hp-result-message.is-bad {
    border-color: #ff8b7f;
    color: #ffe1dc;
    background: rgba(217, 75, 61, .15);
  }
  #rk-heat-guide .rk-hp-small { color: var(--rk-muted); font-size: .72rem; }
  #rk-heat-guide .rk-hp-cta-limits {
    margin-bottom: 20px;
    padding: 15px 17px;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 13px;
    color: #e8f6fa;
    background: rgba(255, 255, 255, .055);
  }
  #rk-heat-guide .rk-hp-cta-limits strong { color: var(--rk-white); }

  @media (max-width: 720px) {
    #rk-heat-guide .rk-hp-equation,
    #rk-heat-guide .rk-hp-status-grid { grid-template-columns: 1fr; }
    #rk-heat-guide .rk-hp-coverage { display: block; }
    #rk-heat-guide .rk-hp-coverage span { display: block; margin-top: 3px; }
  }
</style>


<style>
  /* Analizator instalacji mieszanej: pełna szerokość i jeden przebieg pionowy. */
  #rk-heat-guide .rk-mix-control-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
  }
  #rk-heat-guide .rk-mix-control {
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(136, 202, 220, .25);
    border-radius: 14px;
    background: rgba(255, 255, 255, .04);
  }
  #rk-heat-guide .rk-mix-control.is-critical { border-left: 4px solid var(--rk-orange); }
  #rk-heat-guide .rk-mix-control label {
    display: block;
    min-height: 48px;
    margin-bottom: 8px;
    color: #e8f6fa;
    font-size: .68rem;
    font-weight: 880;
    line-height: 1.42;
  }
  #rk-heat-guide .rk-mix-control select {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #b8cbd3;
    border-radius: 10px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: .75rem;
    font-weight: 740;
  }
  #rk-heat-guide .rk-mix-control select:focus {
    outline: 3px solid rgba(37, 199, 216, .25);
    border-color: var(--rk-cyan);
  }
  #rk-heat-guide .rk-mix-map {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
    margin: 18px 0;
  }
  #rk-heat-guide .rk-mix-route {
    position: relative;
    min-width: 0;
    padding: 17px;
    border: 1px solid rgba(136, 202, 220, .24);
    border-radius: 14px;
    opacity: .62;
    background: rgba(255, 255, 255, .035);
    transition: opacity .25s ease, border-color .25s ease, transform .25s ease;
  }
  #rk-heat-guide .rk-mix-route::before {
    display: block;
    width: 42px;
    height: 7px;
    margin-bottom: 13px;
    border-radius: 999px;
    background: #5e7f8e;
    content: "";
  }
  #rk-heat-guide .rk-mix-route.is-active {
    border-color: var(--rk-cyan);
    opacity: 1;
    background: rgba(37, 199, 216, .09);
    transform: translateY(-3px);
  }
  #rk-heat-guide .rk-mix-route.is-active::before { background: var(--rk-cyan); }
  #rk-heat-guide .rk-mix-route.is-warning.is-active {
    border-color: #ffd568;
    background: rgba(214, 154, 22, .11);
  }
  #rk-heat-guide .rk-mix-route.is-warning.is-active::before { background: #ffd568; }
  #rk-heat-guide .rk-mix-route b { display: block; color: var(--rk-white); font-size: .73rem; }
  #rk-heat-guide .rk-mix-route span { display: block; margin-top: 6px; color: #bcd7e1; font-size: .61rem; line-height: 1.46; }
  #rk-heat-guide .rk-mix-result {
    padding: 21px;
    border: 1px solid rgba(136, 202, 220, .27);
    border-radius: 16px;
    background: rgba(255, 255, 255, .045);
  }
  #rk-heat-guide .rk-mix-result-kicker {
    display: block;
    margin-bottom: 6px;
    color: #78efff;
    font-size: .59rem;
    font-weight: 950;
    letter-spacing: .065em;
    text-transform: uppercase;
  }
  #rk-heat-guide .rk-mix-result h4 { margin-bottom: 8px; color: var(--rk-white); font-size: 1.23rem; }
  #rk-heat-guide .rk-mix-result > p { color: #d3e7ed; font-size: .73rem; }
  #rk-heat-guide .rk-mix-schematic {
    display: grid;
    grid-template-columns: minmax(120px, .8fr) 40px minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
    margin: 17px 0;
  }
  #rk-heat-guide .rk-mix-source-box,
  #rk-heat-guide .rk-mix-branch-box {
    display: grid;
    place-items: center;
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(136, 202, 220, .3);
    border-radius: 13px;
    color: var(--rk-white);
    text-align: center;
    background: #17384a;
    font-size: .68rem;
    font-weight: 900;
  }
  #rk-heat-guide .rk-mix-arrow {
    display: grid;
    place-items: center;
    color: var(--rk-cyan);
    font-size: 1.5rem;
    font-weight: 950;
  }
  #rk-heat-guide .rk-mix-branches {
    display: grid;
    gap: 9px;
  }
  #rk-heat-guide .rk-mix-branch-box.is-radiator { border-left: 5px solid var(--rk-orange); }
  #rk-heat-guide .rk-mix-branch-box.is-floor { border-left: 5px solid var(--rk-cyan); }
  #rk-heat-guide .rk-mix-output-stack {
    display: grid;
    gap: 11px;
    margin-top: 16px;
  }
  #rk-heat-guide .rk-mix-output {
    padding: 16px;
    border: 1px solid rgba(136, 202, 220, .24);
    border-radius: 13px;
    background: rgba(255, 255, 255, .035);
  }
  #rk-heat-guide .rk-mix-output h4 { margin-bottom: 8px; color: var(--rk-white); font-size: .82rem; }
  #rk-heat-guide .rk-mix-output ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
  #rk-heat-guide .rk-mix-output li {
    position: relative;
    margin: 0;
    padding: 8px 9px 8px 31px;
    border-radius: 8px;
    color: #d9eaf0;
    background: rgba(255, 255, 255, .04);
    font-size: .64rem;
    line-height: 1.45;
  }
  #rk-heat-guide .rk-mix-output li::before {
    position: absolute;
    top: 8px;
    left: 10px;
    color: var(--rk-cyan);
    content: "✓";
    font-weight: 950;
  }
  #rk-heat-guide .rk-mix-output.is-check li::before { color: #ffd568; content: "!"; }
  #rk-heat-guide .rk-mix-tool-note {
    margin: 16px 0 0;
    padding: 13px 15px;
    border-left: 4px solid #ffd568;
    border-radius: 10px;
    color: #fff0c4;
    background: rgba(214, 154, 22, .13);
    font-size: .66rem;
    line-height: 1.5;
  }
  #rk-heat-guide .rk-mix-tool-note strong { color: #fff7dd; }
  #rk-heat-guide .rk-mix-variant-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
    margin: 25px 0;
  }
  #rk-heat-guide .rk-mix-variant {
    min-width: 0;
    padding: 19px;
    border: 1px solid var(--rk-line);
    border-top: 6px solid var(--rk-cyan);
    border-radius: 15px;
    background: var(--rk-white);
  }
  #rk-heat-guide .rk-mix-variant:nth-child(2) { border-top-color: var(--rk-orange); }
  #rk-heat-guide .rk-mix-variant:nth-child(3) { border-top-color: var(--rk-green); }
  #rk-heat-guide .rk-mix-variant:nth-child(4) { border-top-color: var(--rk-purple); }
  #rk-heat-guide .rk-mix-variant h3 { font-size: 1rem; }
  #rk-heat-guide .rk-mix-variant p { margin: 0; color: var(--rk-text); font-size: .74rem; }
  #rk-heat-guide .rk-mix-decision-flow {
    counter-reset: rk-mix-step;
    display: grid;
    gap: 10px;
    margin: 24px 0;
    padding: 0;
    list-style: none;
  }
  #rk-heat-guide .rk-mix-decision-flow li {
    position: relative;
    min-height: 64px;
    margin: 0;
    padding: 15px 16px 15px 65px;
    border: 1px solid var(--rk-line);
    border-radius: 13px;
    background: var(--rk-soft);
  }
  #rk-heat-guide .rk-mix-decision-flow li::before {
    position: absolute;
    top: 13px;
    left: 15px;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    color: var(--rk-white);
    background: var(--rk-blue);
    counter-increment: rk-mix-step;
    content: counter(rk-mix-step);
    font-size: .72rem;
    font-weight: 950;
  }
  @media (max-width: 900px) {
    #rk-heat-guide .rk-mix-control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-heat-guide .rk-mix-map,
    #rk-heat-guide .rk-mix-variant-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 720px) {
    #rk-heat-guide .rk-mix-control-grid,
    #rk-heat-guide .rk-mix-map,
    #rk-heat-guide .rk-mix-variant-grid { grid-template-columns: 1fr; }
    #rk-heat-guide .rk-mix-schematic { grid-template-columns: 1fr; }
    #rk-heat-guide .rk-mix-arrow { transform: rotate(90deg); }
    #rk-heat-guide .rk-mix-control label { min-height: 0; }
    #rk-heat-guide .rk-mix-route.is-active { transform: none; }
  }
</style>

<div id="rk-heat-guide">
  <article class="rk-heat-shell">
    <header class="rk-heat-hero">
      <span class="rk-heat-kicker">Instalacja mieszana • podłogówka i grzejniki • aktualizacja 2026</span>
      <p class="rk-heat-hero-title">Podłogówka i grzejniki mogą pracować razem — <span>ale nie zawsze według tego samego schematu</span></p>
      <p class="rk-heat-lead">Najpierw trzeba sprawdzić, czy oba rodzaje odbiorników pokryją obciążenia przy tej samej temperaturze wody. Dopiero potem wybiera się wspólny obieg, grupę pompowo-mieszającą, lokalne RTL albo uzasadnione rozdzielenie hydrauliczne.</p>
      <div class="rk-heat-hero-tags" aria-label="Zakres artykułu">
        <span class="rk-heat-hero-tag">wspólny niski parametr</span>
        <span class="rk-heat-hero-tag">dwa obiegi temperaturowe</span>
        <span class="rk-heat-hero-tag">RTL</span>
        <span class="rk-heat-hero-tag">mieszacz i pompy</span>
        <span class="rk-heat-hero-tag">sprzęgło lub bufor</span>
      </div>
      <div class="rk-heat-byline">
        <span>Autor: <strong>Robert Kucharski</strong></span>
        <span>Czas czytania: około 27 minut</span>
        <span>Aktualizacja techniczna: 7 września 2026 r.</span>
      </div>
      <div class="rk-heat-hero-metrics" aria-label="Trzy pytania przed wyborem schematu">
        <div class="rk-heat-hero-metric"><b>Czy wystarczy jedna temperatura?</b><span>Jeżeli grzejniki pokrywają straty przy parametrze podłogi, mieszanie może być zbędne.</span></div>
        <div class="rk-heat-hero-metric"><b>Jaka jest skala podłogówki?</b><span>Jedna mała pętla w łazience wymaga innego podejścia niż cały rozdzielacz na kondygnacji.</span></div>
        <div class="rk-heat-hero-metric"><b>Jak zachowuje się źródło?</b><span>Minimalny przepływ, ochrona powrotu i regulacja decydują o potrzebie dodatkowych elementów.</span></div>
      </div>
    </header>

    <nav class="rk-heat-nav" aria-label="Nawigacja po wszystkich rozdziałach artykułu">
      <span class="rk-heat-nav-label">Na skróty</span>
      <div class="rk-heat-nav-track">
        <a href="#rk-mix-szybka">Szybka odpowiedź</a>
        <a href="#rk-mix-rozroznienie">Co naprawdę łączymy?</a>
        <a href="#rk-mix-warianty">Cztery warianty</a>
        <a href="#rk-mix-wspolny">Wspólny obieg</a>
        <a href="#rk-mix-dwa-obiegi">Dwa parametry</a>
        <a href="#rk-mix-rtl">Pętla z RTL</a>
        <a href="#rk-mix-rozdzielenie">Sprzęgło i bufor</a>
        <a href="#rk-mix-temperatury">Moc grzejników</a>
        <a href="#rk-mix-podloga">Moc podłogi</a>
        <a href="#rk-mix-hydraulika">Przepływy</a>
        <a href="#rk-mix-pompy">Pompy obiegowe</a>
        <a href="#rk-mix-zawor">Zawór mieszający</a>
        <a href="#rk-mix-zrodla">Źródła ciepła</a>
        <a href="#rk-mix-sterowanie">Sterowanie</a>
        <a href="#rk-mix-analizator">Analizator schematu</a>
        <a href="#rk-mix-scenariusze">Przykłady</a>
        <a href="#rk-mix-projekt">Zakres projektu</a>
        <a href="#rk-mix-bledy">Błędy</a>
        <a href="#rk-mix-checklista">Checklista</a>
        <a href="#rk-mix-faq">FAQ</a>
        <a href="#rk-mix-zrodla-oficjalne">Źródła</a>
        <a href="#rk-heat-autor">Autor</a>
      </div>
    </nav>

    <div class="rk-heat-content">
      <section class="rk-heat-section" id="rk-mix-szybka">
        <span class="rk-heat-eyebrow">Odpowiedź w 30 sekund</span>
        <h2>Czy ogrzewanie podłogowe można podłączyć do grzejników?</h2>
        <div class="rk-heat-answer">
          <p><strong>Tak — podłogówka i grzejniki mogą pracować w jednej instalacji oraz z jednym źródłem ciepła.</strong> Nie oznacza to jednak, że rurę podłogową wolno zawsze wpiąć szeregowo w powrót dowolnego grzejnika. Poprawny schemat zależy przede wszystkim od wymaganych temperatur, mocy odbiorników, przepływów i sposobu regulacji.</p>
        </div>
        <p>Jeżeli grzejniki pokrywają obciążenie pomieszczeń przy tym samym niskim parametrze co podłoga, możliwy jest wspólny obieg bez mieszacza. Jeżeli wymagają wyższej temperatury, podłogówka otrzymuje własny obieg z kontrolą temperatury. Pojedyncza mała pętla może czasem pracować z RTL, ale nie jest to zamiennik pełnego rozdzielacza.</p>
        <p>Szczególnym przypadkiem jest <a href="https://projekt-ogrzewania.pl/pompa-ciepla-podlogowka-i-grzejniki/">połączenie pompy ciepła, podłogówki i grzejników</a>. W takim układzie najpierw warto sprawdzić możliwość obniżenia parametrów grzejników, zamiast automatycznie produkować gorętszą wodę i później ją mieszać.</p>
        <div class="rk-heat-warning"><p><strong>Najważniejsze:</strong> „w jednej instalacji” nie znaczy „jeden za drugim”. Podłogówka i grzejniki są zwykle odbiornikami równoległymi, którym trzeba zapewnić właściwą temperaturę i przepływ.</p></div>
      </section>

      <section class="rk-heat-section" id="rk-mix-rozroznienie">
        <span class="rk-heat-eyebrow">Najpierw precyzyjne pytanie</span>
        <h2>Wspólne źródło, wspólna temperatura czy połączenie szeregowe?</h2>
        <p class="rk-heat-intro">Pod jednym pytaniem inwestorzy rozumieją trzy zupełnie różne rozwiązania. Bez ich rozdzielenia każda krótka odpowiedź będzie myląca.</p>
        <div class="rk-heat-table-wrap">
          <table>
            <thead><tr><th>Co inwestor chce zrobić?</th><th>Czy jest to możliwe?</th><th>Co trzeba sprawdzić?</th></tr></thead>
            <tbody>
              <tr><td data-label="Zamiar">Jedno źródło dla podłogówki i grzejników</td><td data-label="Ocena">Tak, to typowa instalacja mieszana.</td><td data-label="Warunki">Moce odbiorników, temperatury, przepływy, regulację i wymagania źródła.</td></tr>
              <tr><td data-label="Zamiar">Jedna temperatura dla obu rodzajów odbiorników</td><td data-label="Ocena">Tak, jeżeli grzejniki są wystarczające przy niskim parametrze.</td><td data-label="Warunki">Ich rzeczywistą moc przy projektowym zasilaniu i powrocie.</td></tr>
              <tr><td data-label="Zamiar">Osobna temperatura grzejników i podłogi</td><td data-label="Ocena">Tak, przez odpowiednio zaprojektowane obiegi.</td><td data-label="Warunki">Mieszanie, pompy, hydraulikę i sterowanie każdą gałęzią.</td></tr>
              <tr><td data-label="Zamiar">Pętla podłogówki szeregowo za grzejnikiem</td><td data-label="Ocena">Tylko jako ściśle ograniczony wariant lokalny, nie dowolny schemat domu.</td><td data-label="Warunki">Moc, długość, przepływ, kontrolę temperatury i zachowanie grzejnika.</td></tr>
            </tbody>
          </table>
        </div>
        <p>W instalacji wodnej każdy <a href="https://projekt-ogrzewania.pl/obieg-grzewczy-w-wodnym-ogrzewaniu-podlogowym/">obieg grzewczy</a> musi otrzymać przepływ odpowiadający przenoszonej mocy. Samo połączenie trójnikami nie gwarantuje, że woda podzieli się zgodnie z zapotrzebowaniem.</p>
      </section>

      <section class="rk-heat-section" id="rk-mix-warianty">
        <span class="rk-heat-eyebrow">Nie jeden obowiązkowy schemat</span>
        <h2>Cztery warianty połączenia podłogówki z grzejnikami</h2>
        <div class="rk-mix-variant-grid">
          <div class="rk-mix-variant"><h3>Wspólny niski parametr</h3><p>Podłoga i odpowiednio dobrane grzejniki pracują równolegle przy tej samej temperaturze zasilania.</p></div>
          <div class="rk-mix-variant"><h3>Dwa obiegi temperaturowe</h3><p>Grzejniki otrzymują wyższy parametr, a grupa mieszająca przygotowuje chłodniejszą wodę dla podłogi.</p></div>
          <div class="rk-mix-variant"><h3>Mała pętla z RTL</h3><p>Lokalne rozwiązanie modernizacyjne, w którym ograniczana jest temperatura powrotu pojedynczej pętli.</p></div>
          <div class="rk-mix-variant"><h3>Rozdzielenie hydrauliczne</h3><p>Sprzęgło, bufor albo wymiennik pojawia się z konkretnego powodu, a nie z samego faktu użycia dwóch odbiorników.</p></div>
        </div>
        <p>Wybór powinien wynikać z obliczeń i schematu całej instalacji. <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">Profesjonalny projekt ogrzewania podłogowego</a> pokazuje nie tylko przebieg rur, ale również parametry obu obiegów, przepływy, opory i logikę sterowania.</p>
        <ol class="rk-mix-decision-flow">
          <li><strong>Policz obciążenia pomieszczeń.</strong> Bez nich nie wiadomo, jakiej mocy potrzebują podłoga i grzejniki.</li>
          <li><strong>Sprawdź odbiorniki przy wspólnym niskim parametrze.</strong> Jeżeli wystarczają, nie twórz drugiej temperatury bez potrzeby.</li>
          <li><strong>Jeżeli temperatury muszą się różnić, rozdziel funkcje obiegów.</strong> Dobierz mieszanie i przepływy do rzeczywistych wartości.</li>
          <li><strong>Dopiero na końcu oceń sprzęgło, bufor lub wymiennik.</strong> Każdy z tych elementów rozwiązuje inny problem.</li>
        </ol>
      </section>

      <section class="rk-heat-section" id="rk-mix-wspolny">
        <span class="rk-heat-eyebrow">Najprostszy układ bywa najlepszy</span>
        <h2>Kiedy podłogówka i grzejniki mogą pracować na jednej temperaturze?</h2>
        <p>Wspólny parametr jest możliwy, gdy oba typy odbiorników pokrywają projektowe obciążenie pomieszczeń przy tej samej temperaturze zasilania i powrotu. Grzejniki mogą być większe, przewymiarowane względem dawnego kotła albo specjalnie dobrane do pracy niskotemperaturowej.</p>
        <div class="rk-hp-equation">
          <div><code>Φ<sub>grzejnika</sub>(T<sub>z</sub>/T<sub>p</sub>/T<sub>i</sub>) ≥ Φ<sub>pomieszczenia</sub></code><span>Grzejnik musi pokryć stratę pokoju przy rzeczywistych parametrach projektu.</span></div>
          <div><code>q<sub>podłogi</sub> × A<sub>czynna</sub> ≥ Φ<sub>pomieszczenia</sub></code><span>Podłoga musi przekazać wymaganą moc z aktywnej powierzchni.</span></div>
        </div>
        <p>Takie podejście szczególnie dobrze współpracuje z <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/">niskotemperaturowym źródłem ciepła</a>. Jedna krzywa grzewcza, brak zbędnego mieszania i mniejsza liczba pomp upraszczają instalację, ale tylko wtedy, gdy moc wszystkich odbiorników została potwierdzona.</p>
        <h3>Czy potrzebna jest jedna pompa?</h3>
        <p>Może wystarczyć jedna pompa, jeżeli jej punkt pracy obejmuje wymagany przepływ całej instalacji i opór najbardziej wymagającej drogi. O liczbie pomp nie decyduje sama obecność grzejników oraz podłogówki, lecz architektura hydrauliczna i sposób sterowania.</p>
        <div class="rk-heat-success"><p><strong>Najpierw sprawdź możliwość wspólnego parametru.</strong> Dodawanie mieszacza tylko dlatego, że w budynku są dwa rodzaje odbiorników, może niepotrzebnie skomplikować układ.</p></div>
      </section>

      <section class="rk-heat-section" id="rk-mix-dwa-obiegi">
        <span class="rk-heat-eyebrow">Gdy odbiorniki wymagają innych warunków</span>
        <h2>Dwa obiegi temperaturowe z grupą pompowo-mieszającą</h2>
        <p class="rk-heat-intro">Jeżeli grzejniki potrzebują wyższej temperatury niż podłoga, źródło może zasilać obieg grzejnikowy bezpośrednio, a chłodniejszy parametr dla podłogówki przygotowuje obieg mieszany.</p>
        <div class="rk-heat-grid-3">
          <div class="rk-heat-card"><span class="rk-heat-card-icon">G</span><h3>Obieg grzejnikowy</h3><p>Pracuje przy temperaturze wynikającej z mocy grzejników i obciążeń obsługiwanych pomieszczeń.</p></div>
          <div class="rk-heat-card is-orange"><span class="rk-heat-card-icon">M</span><h3>Układ mieszający</h3><p>Łączy gorący strumień ze źródła z chłodniejszym powrotem podłogi, aby uzyskać zadane zasilanie.</p></div>
          <div class="rk-heat-card is-green"><span class="rk-heat-card-icon">P</span><h3>Obieg podłogowy</h3><p>Ma własny projektowy przepływ, opory i regulację odpowiednią dla bezwładnej powierzchni grzewczej.</p></div>
        </div>
        <p>Pełną funkcję i warianty włączenia omawia poradnik o <a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">zaworze mieszającym w ogrzewaniu podłogowym</a>. Sam zawór nie rozwiązuje jednak hydrauliki: trzeba jeszcze określić kierunek przepływu, miejsce pompy, zachowanie zaworu przy zamkniętych strefach oraz dostępne ciśnienia po obu stronach.</p>
        <div class="rk-heat-warning"><p><strong>Dwa parametry nie oznaczają dwóch dowolnych nastaw.</strong> Obie krzywe powinny wynikać z mocy odbiorników przy zmiennej temperaturze zewnętrznej.</p></div>
      </section>

      <section class="rk-heat-section" id="rk-mix-rtl">
        <span class="rk-heat-eyebrow">Rozwiązanie lokalne, nie uniwersalne</span>
        <h2>Czy małą pętlę podłogówki można podłączyć przez RTL?</h2>
        <p>Ogranicznik temperatury powrotu może być rozważany dla pojedynczej, niewielkiej pętli — często w modernizowanej łazience. RTL reaguje na temperaturę wody opuszczającej pętlę. Nie utrzymuje wprost stałej temperatury zasilania i nie działa jak zawór mieszający z osobną pompą.</p>
        <div class="rk-heat-table-wrap">
          <table>
            <thead><tr><th>Warunek</th><th>Dlaczego ma znaczenie</th><th>Czerwona flaga</th></tr></thead>
            <tbody>
              <tr><td data-label="Warunek">Mała, jednoznaczna powierzchnia</td><td data-label="Znaczenie">Ułatwia kontrolę mocy i długości pojedynczej pętli.</td><td data-label="Czerwona flaga">Kilka pomieszczeń lub cały rozdzielacz na RTL.</td></tr>
              <tr><td data-label="Warunek">Policzone obciążenie</td><td data-label="Znaczenie">Pozwala sprawdzić, czy podłoga pokryje wymaganą moc.</td><td data-label="Czerwona flaga">Dobór wyłącznie według metrów kwadratowych.</td></tr>
              <tr><td data-label="Warunek">Kontrolowana temperatura</td><td data-label="Znaczenie">Chroni komfort, okładzinę i konstrukcję podłogi.</td><td data-label="Czerwona flaga">Wysoka temperatura źródła bez żadnego ograniczenia.</td></tr>
              <tr><td data-label="Warunek">Dostępny przepływ</td><td data-label="Znaczenie">Pętla i grzejnik wpływają na siebie hydraulicznie.</td><td data-label="Czerwona flaga">Założenie, że pompa „jakoś przepchnie” wodę.</td></tr>
            </tbody>
          </table>
        </div>
        <p>Granice temperatury trzeba sprawdzić tak samo jak w pełnym systemie. Pomocny jest poradnik o <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">maksymalnej temperaturze zasilania podłogówki</a>, lecz właściwa wartość nadal zależy od projektu i ograniczeń okładziny.</p>
        <div class="rk-heat-note"><p><strong>RTL nie jest z definicji błędem.</strong> Błędem jest użycie go bez sprawdzenia mocy, długości, przepływu i temperatury albo traktowanie jako zamiennika dużej instalacji rozdzielaczowej.</p></div>
      </section>

      <section class="rk-heat-section" id="rk-mix-rozdzielenie">
        <span class="rk-heat-eyebrow">Element musi mieć określoną funkcję</span>
        <h2>Sprzęgło, bufor i wymiennik płytowy nie są tym samym</h2>
        <p class="rk-heat-intro">Obecność dwóch rodzajów odbiorników nie jest jeszcze argumentem za automatycznym rozdzieleniem hydraulicznym. Najpierw trzeba wskazać problem, który dodatkowy element ma rozwiązać.</p>
        <div class="rk-heat-grid-3">
          <div class="rk-heat-card"><span class="rk-heat-card-icon">S</span><h3>Sprzęgło hydrauliczne</h3><p>Rozdziela ciśnieniowo obieg źródła i obiegi instalacji. Wymaga zbilansowania przepływów oraz oceny wpływu temperatury mieszania.</p></div>
          <div class="rk-heat-card is-orange"><span class="rk-heat-card-icon">B</span><h3>Bufor</h3><p>Może zwiększać objętość, stabilizować przepływ lub magazynować energię, ale jego funkcję trzeba nazwać przed doborem.</p></div>
          <div class="rk-heat-card is-green"><span class="rk-heat-card-icon">W</span><h3>Wymiennik płytowy</h3><p>Oddziela obiegi także pod względem medium i ciśnienia, wprowadzając własny opór oraz różnicę temperatur.</p></div>
        </div>
        <p>Szczegółowe zasady omawiamy osobno dla <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgła hydraulicznego</a>, <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufora ciepła</a> oraz <a href="https://projekt-ogrzewania.pl/zasada-dzialania-wymiennika-plytowego-w-ogrzewaniu-podlogowym/">wymiennika płytowego</a>. Żaden z tych elementów nie powinien być dopisywany do schematu wyłącznie „na wszelki wypadek”.</p>
        <h3>Kiedy rozdzielenie jest uzasadnione?</h3>
        <ul class="rk-heat-list">
          <li>Obieg źródła i instalacji wymagają niezależnych przepływów.</li>
          <li>Źródło potrzebuje minimalnego przepływu, którego strefy odbiorcze nie gwarantują.</li>
          <li>Trzeba chronić źródło przed niewłaściwą temperaturą powrotu.</li>
          <li>Po obu stronach występują różne media, ciśnienia albo wymagania formalne.</li>
          <li>Układ ma wiele obiegów o odmiennych trybach pracy i sterowaniu.</li>
        </ul>
      </section>

      <section class="rk-heat-section" id="rk-mix-temperatury">
        <span class="rk-heat-eyebrow">Grzejnik nie ma jednej stałej mocy</span>
        <h2>Jak zmienia się moc grzejników po obniżeniu temperatury?</h2>
        <p>Moc katalogowa dotyczy określonych temperatur zasilania, powrotu i pomieszczenia. Po obniżeniu parametrów spada średnia różnica temperatur między grzejnikiem a wnętrzem, dlatego ten sam odbiornik oddaje mniej ciepła. Nie wolno jednak przyjmować jednego spadku procentowego dla wszystkich modeli.</p>
        <div class="rk-heat-formula"><strong>Φ = Φ<sub>N</sub> × (Δθ / Δθ<sub>N</sub>)<sup>n</sup></strong><span>Przeliczenie wymaga mocy nominalnej, średniej różnicy temperatur oraz wykładnika n właściwego dla danego grzejnika.</span></div>
        <p>Wykładnik i warunki nominalne powinny pochodzić z wiarygodnych danych konkretnego odbiornika. Jeżeli ich nie ma, można wykonać analizę wariantową, ale wynik trzeba opisać jako założenie.</p>
        <div class="rk-heat-table-wrap">
          <table>
            <thead><tr><th>Pytanie projektowe</th><th>Dana potrzebna do odpowiedzi</th><th>Czego nie robić</th></tr></thead>
            <tbody>
              <tr><td data-label="Pytanie">Czy grzejnik wystarczy?</td><td data-label="Potrzebna dana">Obciążenie pokoju i moc przy projektowym parametrze.</td><td data-label="Nie rób">Nie oceniaj po długości lub wysokości samego grzejnika.</td></tr>
              <tr><td data-label="Pytanie">Czy można obniżyć zasilanie?</td><td data-label="Potrzebna dana">Charakterystyka odbiornika i zapas względem straty ciepła.</td><td data-label="Nie rób">Nie przyjmuj automatycznie spadku 20%, 50% ani 80%.</td></tr>
              <tr><td data-label="Pytanie">Czy wystarczy wspólna krzywa?</td><td data-label="Potrzebna dana">Zachowanie grzejników i podłogi w całym zakresie pogody.</td><td data-label="Nie rób">Nie porównuj tylko jednego łagodnego dnia.</td></tr>
            </tbody>
          </table>
        </div>
        <p>Temperatura powinna wynikać z bilansu, a nie z przyzwyczajenia. Osobno wyjaśniamy, jaka jest <a href="https://projekt-ogrzewania.pl/jaka-jest-optymalna-temperatura-ogrzewania-podlogowego/">optymalna temperatura ogrzewania podłogowego</a> i dlaczego jej nie wybiera się wyłącznie z nazwy źródła.</p>
      </section>

      <section class="rk-heat-section" id="rk-mix-podloga">
        <span class="rk-heat-eyebrow">Drugi odbiornik też wymaga obliczeń</span>
        <h2>Podłogówka musi pokryć obciążenie bez przegrzewania powierzchni</h2>
        <p class="rk-heat-intro">To, że podłoga jest „niskotemperaturowa”, nie mówi jeszcze, ile watów odda w konkretnym pokoju. Potrzebne są obciążenie, aktywna powierzchnia i parametry całej konstrukcji.</p>
        <div class="rk-heat-formula"><strong>q<sub>wym</sub> = Q<sub>pomieszczenia</sub> / A<sub>czynna</sub></strong><span>wymagana moc jednostkowa [W/m²] wynika z projektowej straty i rzeczywiście ogrzewanej powierzchni</span></div>
        <p>Na możliwą moc wpływają między innymi temperatura wody, rozstaw rur, warstwy nad rurą, opór okładziny oraz dopuszczalna temperatura powierzchni. Metodykę omawia poradnik o <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">obliczeniach ogrzewania podłogowego według EN 1264</a>.</p>
        <div class="rk-heat-grid-2">
          <div class="rk-heat-card"><span class="rk-heat-card-icon">A</span><h3>Duża powierzchnia czynna</h3><p>Ta sama moc rozkłada się na więcej metrów kwadratowych, więc wymaganie jednostkowe jest mniejsze.</p></div>
          <div class="rk-heat-card is-orange"><span class="rk-heat-card-icon">q</span><h3>Mała powierzchnia czynna</h3><p>Stała zabudowa może podnieść wymaganie tak mocno, że sama podłoga nie wystarczy.</p></div>
        </div>
        <p>Jeżeli wydajność podłogi jest niewystarczająca, grzejnik może pełnić funkcję odbiornika uzupełniającego. Jego moc i sposób regulacji trzeba jednak uwzględnić w bilansie tego samego pomieszczenia.</p>
      </section>

      <section class="rk-heat-section" id="rk-mix-hydraulika">
        <span class="rk-heat-eyebrow">Moc trzeba przenieść wodą</span>
        <h2>Przepływy i różnica temperatur w instalacji mieszanej</h2>
        <p>Dla wody orientacyjny przepływ można wyznaczyć z mocy i różnicy temperatur. Poprawne jednostki są kluczowe — dla pętli o mocy 1200 W i ΔT równej 10 K wynik wynosi około 103 l/h, czyli 1,72 l/min, a nie 1,03 m³/h.</p>
        <div class="rk-heat-formula"><strong>V̇ [l/h] ≈ Q [W] / (1,163 × ΔT [K])</strong><span>1200 / (1,163 × 10) ≈ 103 l/h = 0,103 m³/h</span></div>
        <p>Projektowa <a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/">różnica między temperaturą zasilania i powrotu</a> może być inna dla obiegu grzejnikowego i podłogowego. Nie należy automatycznie przypisywać każdej podłogówce ΔT = 10 K.</p>
        <h3>Równoległe gałęzie nie dzielą przepływu po równo</h3>
        <p>Woda wybiera drogi zgodnie z ich oporami. Każda pętla i każdy grzejnik wymagają właściwego równoważenia. Na rozdzielaczu wartości ustawia się według obliczonej mocy obwodów, a nie przez podzielenie przepływu całkowitego przez ich liczbę. Służy temu między innymi prawidłowa regulacja <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrów ogrzewania podłogowego</a>.</p>
        <div class="rk-heat-warning"><p><strong>Przepływ źródła, przepływ grzejników i przepływ podłogówki nie zawsze są tą samą wartością.</strong> Przy mieszaniu oraz rozdzieleniu hydraulicznym trzeba rozpisać bilans każdego fragmentu.</p></div>
      </section>

      <section class="rk-heat-section" id="rk-mix-pompy">
        <span class="rk-heat-eyebrow">Q i H zamiast symbolu 25-40</span>
        <h2>Czy do grzejników i podłogówki potrzebne są dwie pompy?</h2>
        <p class="rk-heat-intro">Czasem tak, czasem nie. Liczba pomp wynika ze schematu, wymaganych przepływów, oporów oraz sposobu regulacji — nie z samego występowania dwóch rodzajów odbiorników.</p>
        <div class="rk-heat-grid-2">
          <div class="rk-heat-card"><span class="rk-heat-card-icon">1</span><h3>Jedna pompa</h3><p>Może obsłużyć wspólny niskotemperaturowy układ, jeżeli zapewnia projektowy przepływ i pokonuje opór drogi krytycznej.</p></div>
          <div class="rk-heat-card is-orange"><span class="rk-heat-card-icon">2</span><h3>Osobne pompy obiegów</h3><p>Są typowe przy aktywnym mieszaniu lub rozdzieleniu hydraulicznym, gdy obie gałęzie wymagają niezależnych przepływów.</p></div>
        </div>
        <p>Podstawy wyjaśnia poradnik o <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompie obiegowej w podłogówce</a>. Punkt pracy można edukacyjnie sprawdzić w <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">kalkulatorze doboru pompy obiegowej</a>, ale finalny dobór musi korzystać z oporów konkretnego układu.</p>
        <h3>Obwód krytyczny, a nie suma wszystkich pętli</h3>
        <p>Pompa obsługująca równoległe obwody musi pokonać stratę ciśnienia najbardziej wymagającej czynnej drogi przy całkowitym przepływie swojej części instalacji. Nie sumuje się strat wszystkich pętli jedna za drugą.</p>
        <p>Po zsumowaniu przepływów trzeba także sprawdzić <a href="https://projekt-ogrzewania.pl/jaka-srednica-rury-zasilajacej-rozdzielacz-w-ukladzie-ogrzewania-podlogowego-kalkulator/">średnicę przewodu zasilającego rozdzielacz</a>, prędkość wody i opory wspólnej magistrali.</p>
      </section>

      <section class="rk-heat-section" id="rk-mix-zawor">
        <span class="rk-heat-eyebrow">Bilans temperatur to nie położenie trzpienia</span>
        <h2>Jak dobiera się zawór mieszający i współczynnik Kv?</h2>
        <p>Z bilansu energii można wyznaczyć teoretyczny udział gorącego strumienia potrzebny do uzyskania temperatury mieszanej. Nie oznacza to jednak, że wynik 25% odpowiada dokładnie 25% skali siłownika.</p>
        <div class="rk-hp-equation">
          <div><code>x = (T<sub>m</sub> − T<sub>p</sub>) / (T<sub>g</sub> − T<sub>p</sub>)</code><span>Teoretyczny udział gorącego strumienia w idealnym bilansie temperatur.</span></div>
          <div><code>Kv = V̇ / √Δp</code><span>Uproszczona relacja dla wody; przepływ w m³/h i spadek na zaworze w barach.</span></div>
        </div>
        <p>Rzeczywista pozycja zaworu zależy od jego charakterystyki, autorytetu, różnic ciśnienia i zachowania obu gałęzi. Dlatego Kv nie powinno być wybierane jako „10–20% więcej od przepływu”. Należy przyjąć projektowy przepływ, zaplanować spadek ciśnienia na zaworze i sprawdzić jakość regulacji.</p>
        <ul class="rk-heat-list">
          <li>Zbyt mały zawór zwiększa opór i może ograniczyć przepływ.</li>
          <li>Zbyt duży zawór może pracować na niewielkim zakresie skoku i utrudniać stabilną regulację.</li>
          <li>Charakterystyka siłownika i zaworu musi pasować do regulatora.</li>
          <li>Czujnik temperatury powinien mierzyć parametr reprezentatywny dla obiegu podłogowego.</li>
        </ul>
        <div class="rk-heat-note"><p><strong>Nie istnieje uniwersalny „najstabilniejszy” zakres otwarcia 20–40%.</strong> Poprawna pozycja jest wynikiem konkretnego zaworu, przepływów i warunków pracy.</p></div>
      </section>

      <section class="rk-heat-section" id="rk-mix-zrodla">
        <span class="rk-heat-eyebrow">Ten sam odbiornik, inne wymagania źródła</span>
        <h2>Kocioł gazowy, pellet i pompa ciepła — jak zmienia się schemat?</h2>
        <div class="rk-heat-grid-2">
          <div class="rk-heat-card"><span class="rk-heat-card-icon">G</span><h3>Kocioł kondensacyjny</h3><p>Może zasilać wspólny niski parametr albo dwa obiegi. Niska temperatura powrotu sprzyja kondensacji, ale minimalna moc kotła i przepływ nadal wymagają sprawdzenia.</p></div>
          <div class="rk-heat-card is-orange"><span class="rk-heat-card-icon">P</span><h3>Kocioł na pellet lub paliwo stałe</h3><p>Źródło może wymagać ochrony temperatury powrotu, stabilnej pracy i sposobu odbioru nadmiaru energii. Rozwiązanie zależy od konkretnego kotła.</p></div>
          <div class="rk-heat-card is-green"><span class="rk-heat-card-icon">PC</span><h3>Pompa ciepła</h3><p>Najpierw dąży się do wspólnego, możliwie niskiego parametru. Trzeba zachować minimalny przepływ, objętość i warunki odszraniania.</p></div>
          <div class="rk-heat-card is-purple"><span class="rk-heat-card-icon">S</span><h3>Sieć lub inne źródło</h3><p>Wymiennik, dopuszczalne temperatury i ciśnienia oraz warunki dostawcy mogą narzucać osobną architekturę.</p></div>
        </div>
        <p>Osobne opracowania pokazują wymagania dla <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">kotła gazowego</a>, <a href="https://projekt-ogrzewania.pl/kociol-na-pellet/">kotła na pellet</a>, <a href="https://projekt-ogrzewania.pl/kotly-na-paliwa-stale-w-ogrzewaniu-podlogowym/">kotłów na paliwa stałe z podłogówką</a> oraz <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a>. W każdym przypadku ostateczny schemat musi odpowiadać aktualnej dokumentacji urządzenia.</p>
        <div class="rk-heat-warning"><p><strong>Nie projektuj odbiorników pod błędnie założony parametr źródła.</strong> Najpierw policz wymaganą moc grzejników i podłogi, a później sprawdź, czy źródło zapewni ją w warunkach projektowych.</p></div>
      </section>

      <section class="rk-heat-section" id="rk-mix-sterowanie">
        <span class="rk-heat-eyebrow">Dwie bezwładności i możliwe dwie krzywe</span>
        <h2>Jak sterować grzejnikami i ogrzewaniem podłogowym?</h2>
        <p>Podłoga reaguje wolniej niż grzejnik, dlatego oba odbiorniki nie powinny być traktowane identycznie tylko dlatego, że korzystają z jednego źródła. Regulacja ma utrzymywać możliwie niską temperaturę wody, zapewniając jednocześnie wymaganą moc.</p>
        <p>Podstawą jest odpowiednio ustawiona <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/">krzywa grzewcza</a>. W układzie z dwoma parametrami regulator może prowadzić oddzielne krzywe obiegów, korzystając nawet z jednego prawidłowo umieszczonego czujnika zewnętrznego. Więcej wyjaśnia poradnik o <a href="https://projekt-ogrzewania.pl/sterowanie-pogodowe-w-ogrzewaniu-podlogowym/">sterowaniu pogodowym podłogówki</a>.</p>
        <div class="rk-heat-grid-3">
          <div class="rk-heat-card"><span class="rk-heat-card-icon">K</span><h3>Krzywa źródła</h3><p>Wyznacza temperaturę wymaganą przez obieg bezpośredni albo najwyższy parametr instalacji.</p></div>
          <div class="rk-heat-card is-orange"><span class="rk-heat-card-icon">M</span><h3>Regulacja mieszacza</h3><p>Przygotowuje parametr podłogi zgodnie z jej własną krzywą i ograniczeniami temperatury.</p></div>
          <div class="rk-heat-card is-green"><span class="rk-heat-card-icon">Z</span><h3>Strefy pomieszczeń</h3><p>Korygują zyski i harmonogramy, ale nie mogą odbierać źródłu wymaganego przepływu.</p></div>
        </div>
        <p>Przed masowym zamykaniem obwodów warto sprawdzić zasady <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">sterowania strefowego</a> i sposób pracy <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/">siłowników termoelektrycznych na rozdzielaczu</a>. Przy pompie ciepła oraz kotle o małej modulacji układ musi zachować wymagany przepływ także wtedy, gdy część pomieszczeń osiągnie temperaturę.</p>
      </section>

      <section class="rk-heat-section" id="rk-mix-analizator">
        <span class="rk-heat-eyebrow">Narzędzie do wyboru kierunku, nie projekt</span>
        <h2>Interaktywny analizator schematu podłogówki i grzejników</h2>
        <p class="rk-heat-intro">Odpowiedz na sześć pytań. Narzędzie wskaże najbardziej prawdopodobny kierunek koncepcji oraz obliczenia, których nadal nie wolno pominąć.</p>

        <div class="rk-heat-tool" id="rk-mix-tool">
          <div class="rk-heat-tool-head">
            <h3>Wspólna temperatura, mieszanie, RTL czy rozdzielenie?</h3>
            <p>Wybór jest edukacyjny. Nie zastępuje obliczeń mocy odbiorników, hydrauliki ani weryfikacji konkretnego źródła.</p>
          </div>
          <div class="rk-heat-tool-body">
            <div class="rk-heat-step">
              <div class="rk-heat-step-title"><b>1</b><h4>Warunki odbiorników</h4></div>
              <div class="rk-mix-control-grid">
                <div class="rk-mix-control is-critical">
                  <label for="rk-mix-radiator-check">Czy moc grzejników została sprawdzona przy planowanej niskiej temperaturze?</label>
                  <select id="rk-mix-radiator-check">
                    <option value="unknown" selected="">Nie wiem / nie sprawdzono</option>
                    <option value="yes">Tak, pokrywają obciążenia</option>
                    <option value="no">Tak, ale są za słabe</option>
                  </select>
                </div>
                <div class="rk-mix-control is-critical">
                  <label for="rk-mix-temperature-relation">Jak wyglądają wymagane temperatury obu odbiorników?</label>
                  <select id="rk-mix-temperature-relation">
                    <option value="unknown" selected="">Jeszcze nie ustalono</option>
                    <option value="same">Mogą pracować na tym samym parametrze</option>
                    <option value="different">Grzejniki potrzebują wyższej temperatury</option>
                  </select>
                </div>
                <div class="rk-mix-control">
                  <label for="rk-mix-floor-scope">Jaki jest zakres planowanej podłogówki?</label>
                  <select id="rk-mix-floor-scope">
                    <option value="single">Jedna mała pętla / jedno pomieszczenie</option>
                    <option value="manifold" selected="">Rozdzielacz i kilka pętli</option>
                    <option value="whole">Większość budynku lub cała kondygnacja</option>
                  </select>
                </div>
              </div>
            </div>

            <div class="rk-heat-step">
              <div class="rk-heat-step-title"><b>2</b><h4>Źródło i sposób pracy</h4></div>
              <div class="rk-mix-control-grid">
                <div class="rk-mix-control">
                  <label for="rk-mix-source">Jakie źródło zasila instalację?</label>
                  <select id="rk-mix-source">
                    <option value="heatpump">Pompa ciepła</option>
                    <option value="condensing" selected="">Kocioł kondensacyjny</option>
                    <option value="solid">Pellet / inne paliwo stałe</option>
                    <option value="district">Sieć ciepłownicza / wymiennik</option>
                    <option value="other">Inne lub jeszcze nie wybrane</option>
                  </select>
                </div>
                <div class="rk-mix-control">
                  <label for="rk-mix-zones">Czy grzejniki i podłoga mają pracować jako niezależne strefy?</label>
                  <select id="rk-mix-zones">
                    <option value="yes" selected="">Tak, niezależne temperatury lub harmonogramy</option>
                    <option value="no">Nie, wspólna regulacja</option>
                    <option value="unknown">Jeszcze nie ustalono</option>
                  </select>
                </div>
                <div class="rk-mix-control is-critical">
                  <label for="rk-mix-source-requirements">Czy znasz minimalny przepływ, ochronę powrotu i wymagania źródła?</label>
                  <select id="rk-mix-source-requirements">
                    <option value="known">Tak, są sprawdzone</option>
                    <option value="unknown" selected="">Nie / wymagają sprawdzenia</option>
                  </select>
                </div>
              </div>
              <button class="rk-heat-tool-button" type="button" id="rk-mix-run">Pokaż kierunek schematu</button>
            </div>

            <div class="rk-mix-map" aria-label="Cztery możliwe kierunki schematu">
              <div class="rk-mix-route" id="rk-mix-route-calculate"><b>Najpierw obliczenia</b><span>Nie znamy jeszcze parametrów, więc wybór urządzeń byłby zgadywaniem.</span></div>
              <div class="rk-mix-route" id="rk-mix-route-direct"><b>Wspólny niski parametr</b><span>Równoległe odbiorniki bez niepotrzebnego obniżania temperatury.</span></div>
              <div class="rk-mix-route" id="rk-mix-route-mixed"><b>Osobny obieg mieszany</b><span>Wyższy parametr grzejników i kontrolowane zasilanie podłogi.</span></div>
              <div class="rk-mix-route is-warning" id="rk-mix-route-special"><b>RTL lub rozdzielenie</b><span>Wariant lokalny albo rozwiązanie wymagające dodatkowej funkcji hydraulicznej.</span></div>
            </div>

            <div class="rk-mix-result" aria-live="polite">
              <span class="rk-mix-result-kicker">Najbardziej prawdopodobny kierunek</span>
              <h4 id="rk-mix-result-title">Najpierw sprawdź moc odbiorników</h4>
              <p id="rk-mix-result-text">Bez mocy grzejników przy planowanej temperaturze i bez obciążeń pomieszczeń nie można odpowiedzialnie wybrać schematu.</p>

              <div class="rk-mix-schematic" aria-label="Dynamiczny schemat koncepcyjny">
                <div class="rk-mix-source-box" id="rk-mix-source-box">Źródło ciepła</div>
                <div class="rk-mix-arrow" aria-hidden="true">→</div>
                <div class="rk-mix-branches">
                  <div class="rk-mix-branch-box is-radiator" id="rk-mix-radiator-box">Obieg grzejnikowy — parametr do obliczenia</div>
                  <div class="rk-mix-branch-box is-floor" id="rk-mix-floor-box">Obieg podłogowy — parametr do obliczenia</div>
                </div>
              </div>

              <div class="rk-mix-output-stack">
                <div class="rk-mix-output"><h4>Dlaczego ten kierunek?</h4><ul id="rk-mix-reasons"><li>Brakuje danych do porównania odbiorników.</li></ul></div>
                <div class="rk-mix-output is-check"><h4>Co nadal trzeba policzyć lub potwierdzić?</h4><ul id="rk-mix-checks"><li>Obciążenia cieplne pomieszczeń.</li></ul></div>
              </div>
              <p class="rk-mix-tool-note"><strong>Ważne:</strong> analizator nie wyznacza Kv zaworu, punktu pracy pomp, średnic, mocy grzejników, wydajności podłogi, pojemności bufora ani nastaw rozdzielacza. Nie jest schematem wykonawczym.</p>
            </div>
          </div>
        </div>
      </section>

      <aside class="rk-heat-sales-cta" aria-label="Zaproszenie do zamówienia projektu po analizatorze">
        <div class="rk-hp-cta-limits"><strong>Analizator wskazał najbardziej prawdopodobny kierunek schematu, ale nie zna obciążeń pomieszczeń, charakterystyki grzejników, długości pętli, przepływów ani oporów instalacji.</strong> Dopiero ich obliczenie pokaże, czy wystarczy wspólna niska temperatura, czy podłogówka wymaga osobnego obiegu z mieszaniem i dodatkową pompą.</div>
        <h3>Połącz oba rodzaje ogrzewania w jednym policzonym projekcie</h3>
        <p>Dokumentacja może uwzględnić moc odbiorników, rozstawy i pętle podłogówki, przepływy, opory, nastawy oraz schemat współpracy ze źródłem.</p>
        <a class="rk-heat-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt instalacji podłogówki i grzejników</a>
      </aside>

      <section class="rk-heat-section" id="rk-mix-scenariusze">
        <span class="rk-heat-eyebrow">Trzy sytuacje, trzy różne decyzje</span>
        <h2>Przykłady połączenia podłogówki i grzejników</h2>
        <div class="rk-heat-grid-3">
          <div class="rk-heat-card"><span class="rk-heat-card-icon">A</span><h3>Nowy dom z pompą ciepła</h3><p>Grzejniki w łazienkach dobieramy do wspólnego niskiego parametru. Najpierw sprawdzamy wariant bez mieszacza i dodatkowej pompy.</p></div>
          <div class="rk-heat-card is-orange"><span class="rk-heat-card-icon">B</span><h3>Modernizacja z kotłem</h3><p>Istniejące grzejniki wymagają wyższej temperatury, a nowa podłogówka zajmuje całą kondygnację. Rozważamy osobny obieg mieszany.</p></div>
          <div class="rk-heat-card is-green"><span class="rk-heat-card-icon">C</span><h3>Jedna łazienka w starym domu</h3><p>Mała pętla może być kandydatem do RTL, ale dopiero po sprawdzeniu obciążenia, długości, przepływu i temperatury powierzchni.</p></div>
        </div>
        <p>Przy przebudowie warto zacząć od ograniczeń istniejącego obiektu. Poradnik o <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-remontowanym-budynku-czy-warto/">ogrzewaniu podłogowym w remontowanym budynku</a> pokazuje, dlaczego wysokość podłogi, stan przegród i dostępne trasy mogą zmienić wybór systemu.</p>
        <div class="rk-heat-note"><p><strong>Przykłady są kierunkowe.</strong> Dwa domy z takim samym źródłem mogą wymagać innych schematów z powodu mocy grzejników, powierzchni czynnej, średnic i sposobu strefowania.</p></div>
      </section>

      <section class="rk-heat-section" id="rk-mix-projekt">
        <span class="rk-heat-eyebrow">Od straty ciepła do nastawy</span>
        <h2>Co powinien zawierać projekt instalacji mieszanej?</h2>
        <p class="rk-heat-intro">Rysunek z trójnikami i symbolem mieszacza nie jest jeszcze projektem. Dokumentacja powinna umożliwić wykonanie, uruchomienie i kontrolę obu obiegów.</p>
        <ol class="rk-mix-decision-flow">
          <li><strong>Bilans cieplny.</strong> Obciążenie całego budynku oraz każdego pomieszczenia osobno.</li>
          <li><strong>Sprawdzenie grzejników.</strong> Moc przy projektowych temperaturach zasilania, powrotu i wnętrza.</li>
          <li><strong>Projekt podłogi.</strong> Powierzchnia czynna, rozstawy, długości pętli, okładziny i temperatury powierzchni.</li>
          <li><strong>Schemat hydrauliczny.</strong> Rozdział obiegów, kierunki przepływu, zawory, pompy i ewentualne rozdzielenie.</li>
          <li><strong>Obliczenia przepływowo-oporowe.</strong> Przepływy, obwody krytyczne, średnice, Kv i punkty pracy pomp.</li>
          <li><strong>Automatyka.</strong> Krzywe grzewcze, czujniki, siłowniki, priorytety i stan przy zamknięciu stref.</li>
        </ol>
        <p>Punktem wyjścia jest <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne OZC</a>. Jeżeli chcesz zrozumieć jego składniki, zobacz również, <a href="https://projekt-ogrzewania.pl/jak-oblicza-sie-straty-cieplne-w-budynkach/">jak oblicza się straty ciepła w budynku</a>.</p>
        <div class="rk-heat-table-wrap">
          <table>
            <thead><tr><th>Na rzucie i schemacie</th><th>W tabeli obliczeniowej</th><th>W opisie regulacji</th></tr></thead>
            <tbody>
              <tr><td data-label="Rzut">Pętle, grzejniki, rozdzielacze, źródło, armatura i trasy.</td><td data-label="Tabela">Moce, temperatury, przepływy, długości i opory.</td><td data-label="Regulacja">Nastawy, krzywe, strefy i ograniczenia temperatury.</td></tr>
              <tr><td data-label="Rzut">Oznaczenia obwodów i miejsca pomiaru.</td><td data-label="Tabela">Obwód krytyczny, Kv oraz wymagany punkt pracy pomp.</td><td data-label="Regulacja">Zachowanie układu przy częściowym obciążeniu.</td></tr>
            </tbody>
          </table>
        </div>
      </section>

      <section class="rk-heat-section" id="rk-mix-bledy">
        <span class="rk-heat-eyebrow">Czerwone flagi techniczne</span>
        <h2>Najczęstsze błędy przy łączeniu podłogówki z grzejnikami</h2>
        <div class="rk-heat-grid-2">
          <div class="rk-heat-card"><span class="rk-heat-card-icon">1</span><h3>„Sprzęgło zawsze”</h3><p>Element pojawia się bez bilansu przepływów i bez wskazania funkcji, którą ma pełnić.</p></div>
          <div class="rk-heat-card is-orange"><span class="rk-heat-card-icon">2</span><h3>„Pompa 25-60 uciągnie”</h3><p>Dobór odbywa się bez całkowitego przepływu, oporu drogi krytycznej i charakterystyki urządzenia.</p></div>
          <div class="rk-heat-card is-green"><span class="rk-heat-card-icon">3</span><h3>„Zawór jeden cal pasuje”</h3><p>Średnica przyłącza zastępuje obliczenie Kv, spadku ciśnienia i autorytetu zaworu.</p></div>
          <div class="rk-heat-card is-purple"><span class="rk-heat-card-icon">4</span><h3>„Każda pętla maksymalnie 120 m”</h3><p>Jedna długość zastępuje analizę średnicy, przepływu, oporów dodatkowych i dostępnego podnoszenia.</p></div>
        </div>
        <p>Nie ma jednej maksymalnej długości właściwej dla każdej instalacji. Wyjaśnia to szczegółowo poradnik o <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">maksymalnej długości pętli podłogówki</a>.</p>
        <ul class="rk-heat-list">
          <li>Wpięcie pętli bez kontroli temperatury i bez sprawdzenia przepływu.</li>
          <li>Obniżenie temperatury całego układu bez przeliczenia mocy grzejników.</li>
          <li>Mieszanie mimo możliwości pracy wszystkich odbiorników na wspólnym parametrze.</li>
          <li>Identyczne nastawy pętli i grzejników niezależnie od ich mocy.</li>
          <li>Brak analizy minimalnego przepływu źródła po zamknięciu stref.</li>
          <li>Przyjęcie położenia zaworu jako równego udziałowi gorącej wody.</li>
          <li>Brak aktualizacji obliczeń po zmianie grzejników, okładziny lub lokalizacji rozdzielacza.</li>
        </ul>
      </section>

      <section class="rk-heat-section" id="rk-mix-checklista">
        <span class="rk-heat-eyebrow">Przed zakupem armatury</span>
        <h2>Checklista instalacji podłogowej i grzejnikowej</h2>
        <ul class="rk-heat-checklist">
          <li>Znamy obciążenie cieplne każdego pomieszczenia.</li>
          <li>Grzejniki są przeliczone dla planowanej temperatury wody.</li>
          <li>Podłoga pokrywa swoją część mocy z powierzchni czynnej.</li>
          <li>Ustalono, czy odbiorniki mogą pracować na wspólnym parametrze.</li>
          <li>Wiadomo, czy RTL obsługuje tylko jedną odpowiednią pętlę.</li>
          <li>Mieszacz ma obliczony przepływ, spadek ciśnienia i Kv.</li>
          <li>Każda pompa ma określony punkt Q/H i obsługiwaną drogę.</li>
          <li>Magistrale są sprawdzone pod względem średnicy, prędkości i oporów.</li>
          <li>Sprzęgło, bufor lub wymiennik ma jasno opisaną funkcję.</li>
          <li>Zweryfikowano minimalny przepływ i wymagania źródła.</li>
          <li>Regulator obsługuje potrzebną liczbę obiegów i krzywych.</li>
          <li>Zamykane strefy nie destabilizują źródła ani pozostałych odbiorników.</li>
          <li>Rzut, schemat hydrauliczny i tabela nastaw używają tych samych oznaczeń.</li>
          <li>Zmiany wykonawcze są nanoszone przed zakryciem rur.</li>
        </ul>
        <div class="rk-heat-success"><p><strong>Jeżeli nie znamy jeszcze wymaganych temperatur odbiorników, nie zamawiamy w ciemno grupy mieszającej ani sprzęgła.</strong> Najpierw obliczenia, później armatura.</p></div>
      </section>

      <section class="rk-heat-section" id="rk-mix-faq">
        <span class="rk-heat-eyebrow">Pytania inwestorów</span>
        <h2>FAQ: podłogówka i grzejniki w jednej instalacji</h2>
        <div class="rk-heat-faq">
          <details><summary>Czy podłogówka i grzejniki mogą działać z jedną pompą?</summary><div class="rk-heat-faq-answer"><p>Tak, jeżeli pracują w odpowiednio zaprojektowanym wspólnym obiegu, a pompa zapewnia całkowity przepływ i pokonuje opór drogi krytycznej. Przy aktywnym mieszaniu lub rozdzieleniu hydraulicznym mogą być potrzebne osobne pompy.</p></div></details>
          <details><summary>Czy zawsze potrzebny jest zawór trójdrogowy?</summary><div class="rk-heat-faq-answer"><p>Nie. Jeżeli grzejniki i podłoga pokrywają obciążenia przy tej samej temperaturze, mieszanie może być zbędne. Zawór jest potrzebny wtedy, gdy obieg podłogowy rzeczywiście wymaga niższego parametru.</p></div></details>
          <details><summary>Czy można zasilić podłogówkę z powrotu grzejnika?</summary><div class="rk-heat-faq-answer"><p>Można rozważyć ograniczony wariant z RTL dla pojedynczej małej pętli, ale nie jest to uniwersalny sposób zasilania całej podłogówki. Trzeba policzyć moc, długość, przepływ i temperaturę powierzchni.</p></div></details>
          <details><summary>Czy RTL obniża temperaturę zasilania podłogówki?</summary><div class="rk-heat-faq-answer"><p>Nie bezpośrednio. RTL ogranicza temperaturę wody powracającej z pętli. Nie działa tak samo jak zawór mieszający utrzymujący zadany parametr zasilania za pomocą dwóch strumieni.</p></div></details>
          <details><summary>Czy instalacja mieszana zawsze wymaga sprzęgła?</summary><div class="rk-heat-faq-answer"><p>Nie. Sprzęgło stosuje się, gdy potrzebne jest rozdzielenie hydrauliczne obiegu źródła i odbiorników. Jego zasadność wynika z przepływów, oporów, pomp i wymagań źródła, a nie z samej obecności grzejników.</p></div></details>
          <details><summary>Czy pompa ciepła może zasilać podłogówkę i grzejniki?</summary><div class="rk-heat-faq-answer"><p>Tak. Najkorzystniej, gdy grzejniki są wystarczające przy możliwie niskiej temperaturze wspólnej z podłogą. Jeżeli wymagają wyższego parametru, trzeba ocenić wpływ na moc i efektywność pompy oraz zaprojektować hydraulikę.</p></div></details>
          <details><summary>Jak policzyć przepływ pętli o mocy 1200 W?</summary><div class="rk-heat-faq-answer"><p>Dla wody i różnicy temperatur 10 K orientacyjny przepływ wynosi 1200 podzielone przez 11,63, czyli około 103 l/h albo 1,72 l/min. Rzeczywista projektowa różnica temperatur nie musi jednak wynosić 10 K.</p></div></details>
          <details><summary>Czy grzejnik przy 45°C zawsze traci 70–80% mocy?</summary><div class="rk-heat-faq-answer"><p>Nie. Wynik zależy od jego mocy nominalnej, temperatur zasilania, powrotu i pomieszczenia oraz wykładnika charakterystyki. Każdy model i pomieszczenie trzeba sprawdzić dla konkretnego punktu pracy.</p></div></details>
          <details><summary>Czy zawór mieszający dobiera się o 10–20% większy od przepływu?</summary><div class="rk-heat-faq-answer"><p>Nie jest to poprawna uniwersalna reguła. Kv dobiera się z przepływu i założonego spadku ciśnienia, a następnie sprawdza autorytet oraz charakterystykę regulacyjną zaworu.</p></div></details>
          <details><summary>Czy wynik analizatora jest projektem hydraulicznym?</summary><div class="rk-heat-faq-answer"><p>Nie. Narzędzie wskazuje kierunek koncepcji na podstawie deklarowanych odpowiedzi. Nie liczy mocy odbiorników, przepływów, oporów, Kv, średnic, punktu pracy pomp ani nastaw rozdzielacza.</p></div></details>
        </div>
      </section>

      <section class="rk-heat-section" id="rk-mix-zrodla-oficjalne">
        <span class="rk-heat-eyebrow">Dokumenty instytucjonalne</span>
        <h2>Źródła wykorzystane do aktualizacji technicznej</h2>
        <p>Odnośniki zewnętrzne prowadzą wyłącznie do instytucji publicznych i organizacji normalizacyjnej. Dane urządzeń i odbiorników trzeba dodatkowo sprawdzić w aktualnej dokumentacji konkretnego modelu, bez kierowania artykułu do producentów lub sklepów.</p>
        <div class="rk-heat-sources">
          <div class="rk-heat-source"><strong><a href="https://www.iso.org/standard/74683.html" target="_blank" rel="nofollow noopener noreferrer">ISO 11855-2:2021 — wyznaczanie projektowej mocy systemów powierzchniowych</a></strong><p>Zakres obejmuje zależność wydajności powierzchni grzewczej od temperatur, konstrukcji i warunków projektowych.</p></div>
          <div class="rk-heat-source"><strong><a href="https://assets.publishing.service.gov.uk/media/662a2e3e55e1582b6ca7e592/Approved_Document_L__Conservation_of_fuel_and_power__Volume_1_Dwellings__2021_edition_incorporating_2023_amendments.pdf" target="_blank" rel="nofollow noopener noreferrer">GOV.UK — Approved Document L, Volume 1</a></strong><p>Rządowy dokument omawia projektowanie niskotemperaturowych instalacji wodnych, wymagania regulacji ogrzewania podłogowego i ograniczanie strat dystrybucji.</p></div>
          <div class="rk-heat-source"><strong><a href="https://assets.publishing.service.gov.uk/media/606c39c38fa8f515b4067b08/beis-dhds-final-report__1_.pdf" target="_blank" rel="nofollow noopener noreferrer">BEIS — Domestic Heat Distribution Systems: Evidence Gathering</a></strong><p>Raport analizuje możliwość pracy istniejących instalacji grzejnikowych przy niższych temperaturach oraz znaczenie obciążeń i wielkości odbiorników.</p></div>
          <div class="rk-heat-source"><strong><a href="https://single-market-economy.ec.europa.eu/single-market/goods/european-standards/harmonised-standards/ecodesign-and-energy-labelling-space-heaters_en" target="_blank" rel="nofollow noopener noreferrer">Komisja Europejska — ekoprojekt i etykietowanie ogrzewaczy pomieszczeń</a></strong><p>Oficjalna strona zawiera ramy oraz odniesienia do wymagań dotyczących urządzeń grzewczych i informacji energetycznych.</p></div>
        </div>
      </section>

      <section class="rk-heat-author" id="rk-heat-autor" aria-label="Autor opracowania">
        <input type="radio" name="rk-heat-author-tabs" id="rk-heat-author-about" checked="">
        <input type="radio" name="rk-heat-author-tabs" id="rk-heat-author-exp">
        <input type="radio" name="rk-heat-author-tabs" id="rk-heat-author-method">
        <header class="rk-heat-author-head">
          <div><span class="rk-heat-eyebrow">Autor i odpowiedzialność merytoryczna</span><h2>Robert Kucharski</h2><p>Projektant instalacji sanitarnych, specjalista HVAC i ogrzewania podłogowego.</p></div>
          <span class="rk-heat-author-mark">OZC • OGRZEWANIE PŁASZCZYZNOWE • GRZEJNIKI • HYDRAULIKA</span>
        </header>
        <div class="rk-heat-author-layout">
          <aside class="rk-heat-author-side">
            <div class="rk-heat-author-photo"><img src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski — projektant instalacji grzewczych i ogrzewania podłogowego" width="600" height="600" loading="lazy" decoding="async"></div>
            <div class="rk-heat-author-name"><a href="https://projekt-ogrzewania.pl/author/admin3399/" style="color:#fff;text-decoration:none">Robert Kucharski</a></div>
            <div class="rk-heat-author-role">Projektant instalacji sanitarnych<br>Specjalista HVAC i ogrzewania podłogowego</div>
            <div class="rk-heat-author-social-label">Profile autora</div>
            <div class="rk-heat-author-social" aria-label="Profile Roberta Kucharskiego w mediach społecznościowych">
              <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="nofollow noopener noreferrer" aria-label="LinkedIn Roberta Kucharskiego"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4.98 3.5C4.98 4.88 3.87 6 2.5 6S.02 4.88.02 3.5 1.13 1 2.5 1s2.48 1.12 2.48 2.5zM.34 8h4.32v14H.34V8zm7.02 0h4.14v1.91h.06c.58-1.1 1.99-2.26 4.1-2.26 4.38 0 5.19 2.9 5.19 6.66V22h-4.31v-6.82c0-1.63-.03-3.72-2.26-3.72-2.27 0-2.62 1.78-2.62 3.6V22H7.36V8z"></path></svg></a>
              <a href="https://www.facebook.com/projektogrzewaniapl" target="_blank" rel="nofollow noopener noreferrer" aria-label="Facebook Projekt Ogrzewania"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M24 12.07C24 5.4 18.63 0 12 0S0 5.4 0 12.07C0 18.1 4.39 23.1 10.13 24v-8.44H7.08v-3.49h3.05V9.41c0-3.03 1.79-4.7 4.53-4.7 1.31 0 2.68.24 2.68.24v2.96h-1.51c-1.49 0-1.96.93-1.96 1.89v2.27h3.33l-.53 3.49h-2.8V24C19.61 23.1 24 18.1 24 12.07z"></path></svg></a>
              <a href="https://x.com/Projekt_HVAC" target="_blank" rel="nofollow noopener noreferrer" aria-label="Profil Projekt HVAC w serwisie X"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M18.24 2H21.9l-8 9.14L23.31 22h-7.37l-5.77-7.55L3.56 22H-.11l8.39-9.59L-.75 2h7.56l5.22 6.9L18.24 2zm-1.28 18.09h2.03L5.7 3.81H3.52l13.44 16.28z"></path></svg></a>
            </div>
          </aside>
          <div class="rk-heat-author-main">
            <blockquote class="rk-heat-author-quote"><p>„Najlepszy schemat instalacji mieszanej nie zaczyna się od sprzęgła ani zaworu. Zaczyna się od pytania, jakiej mocy i temperatury naprawdę potrzebują oba rodzaje odbiorników.”</p></blockquote>
            <div class="rk-heat-author-tabs" role="tablist" aria-label="Informacje o autorze">
              <label class="rk-heat-author-tab" for="rk-heat-author-about">O autorze</label>
              <label class="rk-heat-author-tab" for="rk-heat-author-exp">Doświadczenie</label>
              <label class="rk-heat-author-tab" for="rk-heat-author-method">Metodyka pracy</label>
            </div>
            <div class="rk-heat-author-panel rk-heat-author-panel-about">
              <p>Robert Kucharski opracowuje projekty instalacji grzewczych dla budynków nowych i modernizowanych. Łączy obliczenia strat ciepła, dobór powierzchni grzewczych, analizę grzejników i hydraulikę obiegów, aby każdy element pracował przy parametrach wynikających z rzeczywistego obciążenia.</p>
              <p>Specjalizuje się w ogrzewaniu podłogowym, instalacjach niskotemperaturowych oraz układach współpracujących z pompami ciepła, kotłami kondensacyjnymi i źródłami wymagającymi ochrony powrotu. Przygotowuje układy pętli, przepływy, straty ciśnienia, nastawy rozdzielaczy i schematy współpracy obiegów.</p>
            </div>
            <div class="rk-heat-author-panel rk-heat-author-panel-exp">
              <p>W instalacjach mieszanych najwięcej problemów powstaje na styku dwóch różnych charakterystyk: szybszych grzejników i bezwładnej podłogi. Przewymiarowana pompa nie naprawi źle dobranego zaworu, a sprzęgło nie zwiększy mocy zbyt małego grzejnika.</p>
              <p>Doświadczenie projektowe obejmuje ocenę modernizowanych instalacji, dobór wspólnych parametrów niskotemperaturowych, rozdzielenie obiegów o różnych temperaturach oraz analizę działania przy częściowym zamknięciu stref.</p>
            </div>
            <div class="rk-heat-author-panel rk-heat-author-panel-method">
              <p>Metodyka zaczyna się od obciążeń cieplnych pomieszczeń. Następnie sprawdzana jest moc grzejników i podłogi przy wspólnym parametrze. Dopiero gdy taki wariant nie pokrywa potrzeb, projekt przechodzi do mieszania, dodatkowych pomp lub uzasadnionego rozdzielenia hydraulicznego.</p>
              <p>Każde narzędzie na portalu ma charakter edukacyjny. Pomaga porządkować decyzje i wykrywać brakujące dane, ale nie zastępuje obliczeń wykonawczych ani aktualnej dokumentacji urządzeń.</p>
            </div>
            <div class="rk-heat-mini-label">Portale autora</div>
            <div class="rk-heat-portals">
              <a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a>
              <a href="https://remont.biz.pl/" target="_blank" rel="nofollow noopener noreferrer">Remont.biz.pl</a>
              <a href="https://sobir.pl/" target="_blank" rel="nofollow noopener noreferrer">Sobir.pl</a>
            </div>
          </div>
        </div>
      </section>

      <aside class="rk-heat-sales-cta" aria-label="Końcowe zaproszenie do zamówienia projektu">
        <h3>Nie dobieraj mieszacza i pomp przed obliczeniem odbiorników</h3>
        <p>Projekt może połączyć obciążenia pomieszczeń, moc grzejników, układ pętli, temperatury, przepływy, opory, nastawy oraz schemat współpracy z jednym źródłem ciepła.</p>
        <a class="rk-heat-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt ogrzewania podłogowego</a>
      </aside>
    </div>
  </article>
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt Ogrzewania",
      "inLanguage": "pl-PL",
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" }
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt Ogrzewania",
      "url": "https://projekt-ogrzewania.pl/",
      "founder": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" }
    },
    {
      "@type": "Organization",
      "@id": "https://remont.biz.pl/#organization",
      "name": "Remont.biz.pl",
      "url": "https://remont.biz.pl/",
      "founder": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" }
    },
    {
      "@type": "Organization",
      "@id": "https://sobir.pl/#organization",
      "name": "Sobir.pl",
      "url": "https://sobir.pl/",
      "founder": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" }
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#robert-kucharski",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/author/admin3399/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle": "Projektant instalacji sanitarnych i specjalista HVAC",
      "knowsAbout": [
        "ogrzewanie podłogowe",
        "instalacje mieszane podłogowe i grzejnikowe",
        "obliczenia cieplne",
        "hydraulika instalacji grzewczych",
        "dobór pomp obiegowych",
        "równoważenie hydrauliczne"
      ],
      "sameAs": [
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Strona główna",
          "item": "https://projekt-ogrzewania.pl/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Blog",
          "item": "https://projekt-ogrzewania.pl/blog/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Czy ogrzewanie podłogowe można podłączyć do grzejników?",
          "item": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/"
        }
      ]
    },
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#webpage",
      "url": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/",
      "name": "Czy ogrzewanie podłogowe można podłączyć do grzejników? Schemat instalacji mieszanej",
      "description": "Czy podłogówkę można połączyć z grzejnikami? Porównaj wspólny obieg, grupę mieszającą, RTL i sprzęgło. Sprawdź temperatury, przepływy i sterowanie.",
      "isPartOf": { "@id": "https://projekt-ogrzewania.pl/#website" },
      "breadcrumb": { "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#breadcrumb" },
      "primaryImageOfPage": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp"
      },
      "inLanguage": "pl-PL",
      "dateModified": "2026-09-07"
    },
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#article",
      "url": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/",
      "mainEntityOfPage": { "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#webpage" },
      "headline": "Czy ogrzewanie podłogowe można podłączyć do grzejników? Schemat instalacji mieszanej",
      "description": "Techniczny przewodnik po łączeniu ogrzewania podłogowego z grzejnikami: wspólny niski parametr, obieg mieszany, RTL, hydraulika, sterowanie i wymagania źródła.",
      "author": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" },
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "dateModified": "2026-09-07",
      "inLanguage": "pl-PL",
      "proficiencyLevel": "Intermediate",
      "about": [
        "ogrzewanie podłogowe i grzejniki w jednej instalacji",
        "instalacja mieszana",
        "grupa pompowo-mieszająca",
        "zawór RTL",
        "równoważenie hydrauliczne"
      ],
      "hasPart": [
        { "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#analizator" },
        { "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#howto" },
        { "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#faq" }
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#analizator",
      "name": "Interaktywny analizator schematu podłogówki i grzejników",
      "url": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#rk-mix-analizator",
      "applicationCategory": "EducationalApplication",
      "operatingSystem": "Dowolny system z przeglądarką internetową",
      "browserRequirements": "JavaScript",
      "isAccessibleForFree": true,
      "description": "Edukacyjne narzędzie porównujące kierunki koncepcji: wspólny niski parametr, obieg mieszany, lokalne RTL oraz potrzebę dalszych obliczeń.",
      "author": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" },
      "inLanguage": "pl-PL"
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#howto",
      "name": "Jak wybrać schemat połączenia podłogówki z grzejnikami",
      "description": "Kolejność sprawdzeń potrzebna przed wyborem wspólnego obiegu, mieszania, RTL albo rozdzielenia hydraulicznego.",
      "totalTime": "PT1H",
      "step": [
        { "@type": "HowToStep", "position": 1, "name": "Oblicz obciążenia cieplne", "text": "Wyznacz obciążenie cieplne całego budynku i każdego pomieszczenia osobno." },
        { "@type": "HowToStep", "position": 2, "name": "Sprawdź moc grzejników", "text": "Przelicz moc grzejników dla planowanych temperatur zasilania, powrotu i wnętrza." },
        { "@type": "HowToStep", "position": 3, "name": "Sprawdź wydajność podłogi", "text": "Zweryfikuj powierzchnię czynną, konstrukcję, okładzinę, temperaturę powierzchni i wymaganą moc podłogi." },
        { "@type": "HowToStep", "position": 4, "name": "Porównaj temperatury projektowe", "text": "Ustal, czy oba rodzaje odbiorników mogą pokryć obciążenia przy tej samej temperaturze wody." },
        { "@type": "HowToStep", "position": 5, "name": "Policz hydraulikę i wybierz schemat", "text": "Wyznacz przepływy, opory, średnice, Kv i punkty pracy pomp, a następnie wybierz wspólny obieg, mieszanie, RTL lub uzasadnione rozdzielenie." },
        { "@type": "HowToStep", "position": 6, "name": "Skonfiguruj sterowanie", "text": "Ustal krzywe grzewcze, strefy, ograniczenia temperatury oraz zachowanie instalacji przy częściowym obciążeniu." }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#faq",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Czy podłogówka i grzejniki mogą działać z jedną pompą?",
          "acceptedAnswer": { "@type": "Answer", "text": "Tak, jeżeli pracują w odpowiednio zaprojektowanym wspólnym obiegu, a pompa zapewnia całkowity przepływ i pokonuje opór drogi krytycznej. Przy aktywnym mieszaniu lub rozdzieleniu hydraulicznym mogą być potrzebne osobne pompy." }
        },
        {
          "@type": "Question",
          "name": "Czy zawsze potrzebny jest zawór trójdrogowy?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie. Jeżeli grzejniki i podłoga pokrywają obciążenia przy tej samej temperaturze, mieszanie może być zbędne. Zawór jest potrzebny wtedy, gdy obieg podłogowy rzeczywiście wymaga niższego parametru." }
        },
        {
          "@type": "Question",
          "name": "Czy można zasilić podłogówkę z powrotu grzejnika?",
          "acceptedAnswer": { "@type": "Answer", "text": "Można rozważyć ograniczony wariant z RTL dla pojedynczej małej pętli, ale nie jest to uniwersalny sposób zasilania całej podłogówki. Trzeba policzyć moc, długość, przepływ i temperaturę powierzchni." }
        },
        {
          "@type": "Question",
          "name": "Czy RTL obniża temperaturę zasilania podłogówki?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie bezpośrednio. RTL ogranicza temperaturę wody powracającej z pętli. Nie działa tak samo jak zawór mieszający utrzymujący zadany parametr zasilania za pomocą dwóch strumieni." }
        },
        {
          "@type": "Question",
          "name": "Czy instalacja mieszana zawsze wymaga sprzęgła?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie. Sprzęgło stosuje się, gdy potrzebne jest rozdzielenie hydrauliczne obiegu źródła i odbiorników. Jego zasadność wynika z przepływów, oporów, pomp i wymagań źródła, a nie z samej obecności grzejników." }
        },
        {
          "@type": "Question",
          "name": "Czy pompa ciepła może zasilać podłogówkę i grzejniki?",
          "acceptedAnswer": { "@type": "Answer", "text": "Tak. Najkorzystniej, gdy grzejniki są wystarczające przy możliwie niskiej temperaturze wspólnej z podłogą. Jeżeli wymagają wyższego parametru, trzeba ocenić wpływ na moc i efektywność pompy oraz zaprojektować hydraulikę." }
        },
        {
          "@type": "Question",
          "name": "Jak policzyć przepływ pętli o mocy 1200 W?",
          "acceptedAnswer": { "@type": "Answer", "text": "Dla wody i różnicy temperatur 10 K orientacyjny przepływ wynosi 1200 podzielone przez 11,63, czyli około 103 l/h albo 1,72 l/min. Rzeczywista projektowa różnica temperatur nie musi jednak wynosić 10 K." }
        },
        {
          "@type": "Question",
          "name": "Czy grzejnik przy 45°C zawsze traci 70–80% mocy?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie. Wynik zależy od jego mocy nominalnej, temperatur zasilania, powrotu i pomieszczenia oraz wykładnika charakterystyki. Każdy model i pomieszczenie trzeba sprawdzić dla konkretnego punktu pracy." }
        },
        {
          "@type": "Question",
          "name": "Czy zawór mieszający dobiera się o 10–20% większy od przepływu?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie jest to poprawna uniwersalna reguła. Kv dobiera się z przepływu i założonego spadku ciśnienia, a następnie sprawdza autorytet oraz charakterystykę regulacyjną zaworu." }
        },
        {
          "@type": "Question",
          "name": "Czy wynik analizatora jest projektem hydraulicznym?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie. Narzędzie wskazuje kierunek koncepcji na podstawie deklarowanych odpowiedzi. Nie liczy mocy odbiorników, przepływów, oporów, Kv, średnic, punktu pracy pomp ani nastaw rozdzielacza." }
        }
      ]
    }
  ]
}
</script>

<script>
(function () {
  "use strict";

  var root = document.getElementById("rk-mix-tool");
  if (!root) { return; }

  var controlIds = [
    "rk-mix-radiator-check",
    "rk-mix-temperature-relation",
    "rk-mix-floor-scope",
    "rk-mix-source",
    "rk-mix-zones",
    "rk-mix-source-requirements"
  ];
  var routeIds = {
    calculate: "rk-mix-route-calculate",
    direct: "rk-mix-route-direct",
    mixed: "rk-mix-route-mixed",
    special: "rk-mix-route-special"
  };
  var sourceNames = {
    heatpump: "Pompa ciepła",
    condensing: "Kocioł kondensacyjny",
    solid: "Kocioł na pellet / paliwo stałe",
    district: "Sieć ciepłownicza / wymiennik",
    other: "Źródło do potwierdzenia"
  };

  function getValue(id) {
    var field = document.getElementById(id);
    if (!field) { return "unknown"; }
    return field.value;
  }

  function writeList(id, items) {
    var list = document.getElementById(id);
    var i;
    if (!list) { return; }
    while (list.firstChild) { list.removeChild(list.firstChild); }
    for (i = 0; i < items.length; i += 1) {
      var item = document.createElement("li");
      item.textContent = items[i];
      list.appendChild(item);
    }
  }

  function activateRoute(route) {
    var key;
    for (key in routeIds) {
      if (Object.prototype.hasOwnProperty.call(routeIds, key)) {
        var card = document.getElementById(routeIds[key]);
        if (card) { card.classList.remove("is-active"); }
      }
    }
    var selected = document.getElementById(routeIds[route]);
    if (selected) { selected.classList.add("is-active"); }
  }

  function updateAnalyzer() {
    var radiatorCheck = getValue("rk-mix-radiator-check");
    var temperatureRelation = getValue("rk-mix-temperature-relation");
    var floorScope = getValue("rk-mix-floor-scope");
    var source = getValue("rk-mix-source");
    var zones = getValue("rk-mix-zones");
    var sourceRequirements = getValue("rk-mix-source-requirements");
    var route = "calculate";
    var title = "Najpierw sprawdź moc odbiorników";
    var text = "Bez mocy grzejników przy planowanej temperaturze i bez obciążeń pomieszczeń nie można odpowiedzialnie wybrać schematu.";
    var radiatorLabel = "Obieg grzejnikowy — parametr do obliczenia";
    var floorLabel = "Obieg podłogowy — parametr do obliczenia";
    var reasons = [];
    var checks = [];

    if (radiatorCheck === "unknown") {
      reasons.push("Nie sprawdzono mocy grzejników przy planowanej temperaturze wody.");
    }
    if (temperatureRelation === "unknown") {
      reasons.push("Nie ustalono, czy oba rodzaje odbiorników mogą pracować na jednym parametrze.");
    }

    if (radiatorCheck !== "unknown") {
      if (temperatureRelation !== "unknown") {
        if (temperatureRelation === "same") {
          if (radiatorCheck === "yes") {
            route = "direct";
            title = "Najpierw rozważ wspólny niski parametr";
            text = "Jeżeli obliczenia potwierdzają moc obu odbiorników przy tej samej temperaturze, osobne mieszanie nie jest potrzebne tylko dlatego, że część pomieszczeń ma grzejniki.";
            radiatorLabel = "Grzejniki — wspólna niska temperatura";
            floorLabel = "Podłogówka — wspólna niska temperatura";
            reasons.push("Grzejniki pokrywają obciążenia przy parametrze akceptowalnym dla podłogi.");
            reasons.push("Odbiorniki mogą być połączone równolegle i zrównoważone hydraulicznie.");
          } else {
            route = "calculate";
            title = "Założenia są ze sobą sprzeczne — wróć do doboru odbiorników";
            text = "Jeżeli grzejniki są za słabe przy wspólnej temperaturze, nie można uznać wspólnego parametru za potwierdzony. Trzeba zwiększyć ich moc albo przejść do dwóch temperatur.";
            radiatorLabel = "Grzejniki — za mała moc przy niskim parametrze";
            floorLabel = "Podłogówka — temperatura do weryfikacji";
            reasons.push("Deklarowana wspólna temperatura nie zapewnia wymaganej mocy grzejników.");
          }
        } else {
          if (floorScope === "single") {
            route = "special";
            title = "Mała pętla może być kandydatem do ograniczenia RTL";
            text = "Przy jednej małej pętli można przeanalizować lokalne RTL. To nie jest automatyczna zgoda na wpięcie podłogówki w powrót grzejnika i nie zastępuje obliczeń.";
            radiatorLabel = "Obieg grzejnikowy — wyższa temperatura";
            floorLabel = "Jedna mała pętla — wariant RTL do sprawdzenia";
            reasons.push("Odbiorniki wymagają różnych temperatur, ale zakres podłogówki jest lokalny.");
            reasons.push("RTL może ograniczać temperaturę powrotu pojedynczej odpowiedniej pętli.");
          } else {
            route = "mixed";
            title = "Rozważ osobny obieg podłogowy z kontrolą temperatury";
            text = "Jeżeli grzejniki potrzebują wyższego parametru, a podłogówka obejmuje kilka pętli, typowym kierunkiem jest równoległy obieg z mieszaniem i hydrauliką dobraną obliczeniowo.";
            radiatorLabel = "Obieg grzejnikowy — wyższa temperatura";
            floorLabel = "Obieg podłogowy — mieszanie i własny przepływ";
            reasons.push("Wymagane temperatury grzejników i podłogi są różne.");
            reasons.push("Zakres podłogówki jest zbyt duży, aby traktować go jak pojedynczą lokalną pętlę.");
          }
        }
      }
    }

    checks.push("Obciążenia cieplne pomieszczeń i moc każdego odbiornika w punkcie projektowym.");
    checks.push("Przepływy, opory dróg krytycznych, średnice oraz równoważenie obu gałęzi.");
    checks.push("Temperaturę powierzchni podłogi, długości pętli i nastawy rozdzielacza.");

    if (route === "mixed") {
      checks.push("Kv i autorytet zaworu mieszającego oraz punkt pracy pompy obiegu podłogowego.");
    }
    if (route === "special") {
      checks.push("Dopuszczalny zakres RTL, temperaturę powrotu, przepływ i moc pojedynczej pętli.");
    }
    if (route === "direct") {
      checks.push("Czy wspólna pompa zapewnia wymagany przepływ i pokonuje opór drogi krytycznej.");
    }

    if (source === "heatpump") {
      checks.push("Minimalny przepływ, wymaganą objętość układu i warunki odszraniania pompy ciepła.");
    } else if (source === "condensing") {
      checks.push("Minimalną moc kotła, zakres modulacji i wymagany przepływ przez wymiennik.");
    } else if (source === "solid") {
      reasons.push("Źródło na paliwo stałe może wymagać ochrony powrotu i stabilizacji odbioru ciepła.");
      checks.push("Ochronę temperatury powrotu, pojemność wodną oraz ewentualną funkcję bufora.");
    } else if (source === "district") {
      reasons.push("Warunki dostawcy lub wymiennika mogą narzucać odrębne temperatury, ciśnienia i separację.");
      checks.push("Parametry przyłącza, wymiennik oraz dopuszczalne temperatury i ciśnienia po obu stronach.");
    } else {
      checks.push("Pełne wymagania wybranego źródła i jego dokumentację techniczną.");
    }

    if (zones === "yes") {
      checks.push("Logikę niezależnych stref i zachowanie źródła po zamknięciu części odbiorników.");
    } else if (zones === "unknown") {
      checks.push("Zakres stref, harmonogramów i siłowników przed wyborem automatyki.");
    }
    if (sourceRequirements === "unknown") {
      checks.push("Minimalny przepływ, ochronę powrotu i pozostałe warunki producenta lub dostawcy źródła.");
    }
    if (reasons.length === 0) {
      reasons.push("Wybrany kierunek wynika z relacji wymaganych temperatur i skali podłogówki.");
    }

    var titleNode = document.getElementById("rk-mix-result-title");
    var textNode = document.getElementById("rk-mix-result-text");
    var sourceNode = document.getElementById("rk-mix-source-box");
    var radiatorNode = document.getElementById("rk-mix-radiator-box");
    var floorNode = document.getElementById("rk-mix-floor-box");
    if (titleNode) { titleNode.textContent = title; }
    if (textNode) { textNode.textContent = text; }
    if (sourceNode) { sourceNode.textContent = sourceNames[source] || sourceNames.other; }
    if (radiatorNode) { radiatorNode.textContent = radiatorLabel; }
    if (floorNode) { floorNode.textContent = floorLabel; }
    writeList("rk-mix-reasons", reasons);
    writeList("rk-mix-checks", checks);
    activateRoute(route);
  }

  var i;
  for (i = 0; i < controlIds.length; i += 1) {
    var control = document.getElementById(controlIds[i]);
    if (control) { control.addEventListener("change", updateAnalyzer); }
  }
  var button = document.getElementById("rk-mix-run");
  if (button) { button.addEventListener("click", updateAnalyzer); }
  updateAnalyzer();
}());
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/">Czy ogrzewanie podłogowe można podłączyć do grzejników?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Grubość wylewki betonowej na ogrzewanie podłogowe.</title>
		<link>https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 14 Mar 2026 14:21:33 +0000</pubDate>
				<category><![CDATA[Błędy wykonawcze]]></category>
		<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Kalkulatory budowlane]]></category>
		<category><![CDATA[Materiały budowlane]]></category>
		<category><![CDATA[Narzędzia i kalkulatory]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Posadzki i wylewki]]></category>
		<category><![CDATA[bezwładność cieplna]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[dylatacje]]></category>
		<category><![CDATA[grubość wylewki]]></category>
		<category><![CDATA[jastrych cementowy]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[opór cieplny]]></category>
		<category><![CDATA[plastyfikator do betonu]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[posadzki]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[wylewka anhydrytowa]]></category>
		<category><![CDATA[wylewka betonowa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3831</guid>

					<description><![CDATA[<p>Decyzja o montażu „podłogówki” to zaledwie początek wyzwań, z jakimi musisz się zmierzyć podczas budowy lub remontu domu. Jednym z kluczowych parametrów, który bezpośrednio wpłynie na sprawność instalacji, wysokość rachunków za energię oraz trwałość samej posadzki, jest odpowiednia grubość wylewki betonowej na ogrzewanie podłogowe. Zbyt cienka warstwa to ogromne ryzyko pęknięć i nierównomiernego rozkładu temperatur (tzw. efekt „zebry”). Z kolei zbyt masywny jastrych drastycznie zwiększy bezwładność cieplną systemu, sprawiając, że dom będzie nagrzewał się wolno, a koszty eksploatacji niepotrzebnie wzrosną. W tym artykule rozkładamy na czynniki pierwsze fizykę przenikania ciepła, tłumaczymy obowiązujące normy i podpowiadamy, jak uniknąć kosztownych błędów wykonawczych.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/">Grubość wylewki betonowej na ogrzewanie podłogowe.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-screed-guide {
    --rk-dark: #102536;
    --rk-navy: #14384d;
    --rk-blue: #078fbe;
    --rk-cyan: #28c9da;
    --rk-cyan-soft: #eafcff;
    --rk-orange: #ff6238;
    --rk-red: #d83c2f;
    --rk-green: #178265;
    --rk-green-soft: #ebf8f3;
    --rk-yellow: #f2b441;
    --rk-ink: #1d2c3a;
    --rk-text: #465a6b;
    --rk-muted: #687b89;
    --rk-line: #d9e7ed;
    --rk-soft: #f5f9fb;
    --rk-warm: #fff4ef;
    --rk-white: #ffffff;
    width: 100%;
    max-width: 1480px;
    margin: 32px auto 70px;
    color: var(--rk-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 18px;
    line-height: 1.78;
  }

  #rk-screed-guide,
  #rk-screed-guide * {
    box-sizing: border-box;
  }

  #rk-screed-guide img,
  #rk-screed-guide svg {
    max-width: 100%;
  }

  #rk-screed-guide button,
  #rk-screed-guide input,
  #rk-screed-guide a,
  #rk-screed-guide summary {
    -webkit-tap-highlight-color: transparent;
  }

  #rk-screed-guide a {
    color: var(--rk-blue);
    font-weight: 780;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  #rk-screed-guide a:hover {
    color: var(--rk-red);
  }

  #rk-screed-guide h2,
  #rk-screed-guide h3,
  #rk-screed-guide h4 {
    margin-top: 0;
    color: var(--rk-dark);
    font-weight: 900;
    letter-spacing: -0.035em;
    line-height: 1.16;
  }

  #rk-screed-guide h2 {
    margin-bottom: 18px;
    font-size: clamp(1.65rem, 3.6vw, 2.65rem);
  }

  #rk-screed-guide h3 {
    margin-bottom: 12px;
    font-size: clamp(1.18rem, 2.5vw, 1.58rem);
  }

  #rk-screed-guide h4 {
    margin-bottom: 8px;
    font-size: 1.02rem;
    letter-spacing: -0.015em;
  }

  #rk-screed-guide h2::before,
  #rk-screed-guide h2::after,
  #rk-screed-guide h3::before,
  #rk-screed-guide h3::after,
  #rk-screed-guide h4::before,
  #rk-screed-guide h4::after {
    content: none !important;
    display: none !important;
  }

  #rk-screed-guide p {
    margin: 0 0 1.22em;
    color: var(--rk-text);
  }

  #rk-screed-guide strong {
    color: var(--rk-dark);
  }

  #rk-screed-guide section[id] {
    scroll-margin-top: 28px;
  }

  #rk-screed-guide .rk-screed-shell {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 30px;
    background: var(--rk-white);
    box-shadow: 0 25px 70px rgba(16, 37, 54, 0.12);
  }

  #rk-screed-guide .rk-screed-progress-track {
    position: sticky;
    z-index: 40;
    top: 0;
    width: 100%;
    height: 5px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.88);
  }

  #rk-screed-guide .rk-screed-progress {
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--rk-cyan), var(--rk-blue), var(--rk-orange));
  }

  #rk-screed-guide .rk-screed-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(38px, 6.5vw, 78px);
    color: var(--rk-white);
    background:
      radial-gradient(circle at 88% 13%, rgba(255, 98, 56, 0.31), transparent 28%),
      radial-gradient(circle at 78% 78%, rgba(40, 201, 218, 0.22), transparent 33%),
      linear-gradient(135deg, #0d2230 0%, #143b50 58%, #09647e 100%);
  }

  #rk-screed-guide .rk-screed-hero::before,
  #rk-screed-guide .rk-screed-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
  }

  #rk-screed-guide .rk-screed-hero::before {
    right: -120px;
    bottom: -175px;
    width: 400px;
    height: 400px;
    border: 58px solid rgba(255, 255, 255, 0.055);
  }

  #rk-screed-guide .rk-screed-hero::after {
    right: 145px;
    bottom: -125px;
    width: 235px;
    height: 235px;
    border: 34px solid rgba(255, 98, 56, 0.12);
  }

  #rk-screed-guide .rk-screed-badge {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    margin: 0 0 24px;
    padding: 8px 15px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    color: var(--rk-white);
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.73rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.35;
    text-transform: uppercase;
  }

  #rk-screed-guide .rk-screed-badge::before {
    content: "";
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border-radius: 50%;
    background: var(--rk-orange);
    box-shadow: 0 0 0 6px rgba(255, 98, 56, 0.18);
  }

  #rk-screed-guide .rk-screed-hero h2 {
    max-width: 1040px;
    margin-bottom: 24px;
    color: var(--rk-white);
    font-size: clamp(2rem, 5.05vw, 3.85rem);
    letter-spacing: -0.055em;
  }

  #rk-screed-guide .rk-screed-hero h2 span {
    color: #83edf5;
  }

  #rk-screed-guide .rk-screed-hook {
    max-width: 930px;
    margin: 0 0 21px;
    padding: 19px 21px;
    border-left: 5px solid var(--rk-orange);
    border-radius: 0 15px 15px 0;
    background: rgba(255, 255, 255, 0.09);
  }

  #rk-screed-guide .rk-screed-hook p,
  #rk-screed-guide .rk-screed-hook strong,
  #rk-screed-guide .rk-screed-hero-lead {
    color: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-hook p {
    margin: 0;
    font-size: clamp(1rem, 2vw, 1.16rem);
    line-height: 1.67;
  }

  #rk-screed-guide .rk-screed-hero-lead {
    max-width: 930px;
    font-size: 1.03rem;
  }

  #rk-screed-guide .rk-screed-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 24px;
    color: #cde0e7;
    font-size: 0.72rem;
    font-weight: 770;
  }

  #rk-screed-guide .rk-screed-hero-meta span::before {
    content: "•";
    margin-right: 8px;
    color: var(--rk-orange);
  }

  #rk-screed-guide .rk-screed-author-strip {
    display: flex;
    gap: 13px;
    align-items: center;
    margin-top: 26px;
  }

  #rk-screed-guide .rk-screed-author-strip img {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    border: 3px solid rgba(255, 255, 255, 0.85);
    border-radius: 50%;
    object-fit: cover;
  }

  #rk-screed-guide .rk-screed-author-strip b,
  #rk-screed-guide .rk-screed-author-strip small {
    display: block;
  }

  #rk-screed-guide .rk-screed-author-strip b {
    color: var(--rk-white);
    font-size: 0.88rem;
  }

  #rk-screed-guide .rk-screed-author-strip small {
    color: #cde0e7;
    font-size: 0.7rem;
    line-height: 1.45;
  }

  #rk-screed-guide .rk-screed-content {
    padding: clamp(30px, 5.7vw, 72px);
  }

  #rk-screed-guide .rk-screed-learn {
    margin-bottom: 36px;
  }

  #rk-screed-guide .rk-screed-learn > strong {
    display: block;
    margin-bottom: 16px;
    font-size: 1.12rem;
  }

  #rk-screed-guide .rk-screed-learn-grid,
  #rk-screed-guide .rk-screed-card-grid,
  #rk-screed-guide .rk-screed-error-grid,
  #rk-screed-guide .rk-screed-check-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  #rk-screed-guide .rk-screed-learn-card,
  #rk-screed-guide .rk-screed-card,
  #rk-screed-guide .rk-screed-error,
  #rk-screed-guide .rk-screed-check {
    min-width: 0;
    padding: 21px;
    border: 1px solid var(--rk-line);
    border-radius: 19px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-learn-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
  }

  #rk-screed-guide .rk-screed-no,
  #rk-screed-guide .rk-screed-card-icon,
  #rk-screed-guide .rk-screed-error-no,
  #rk-screed-guide .rk-screed-check-no {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border-radius: 14px;
    color: var(--rk-white);
    background: var(--rk-dark);
    font-size: 0.72rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-learn-card h4,
  #rk-screed-guide .rk-screed-learn-card p,
  #rk-screed-guide .rk-screed-card h4,
  #rk-screed-guide .rk-screed-card p,
  #rk-screed-guide .rk-screed-error h4,
  #rk-screed-guide .rk-screed-error p,
  #rk-screed-guide .rk-screed-check h4,
  #rk-screed-guide .rk-screed-check p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-learn-card p,
  #rk-screed-guide .rk-screed-card p,
  #rk-screed-guide .rk-screed-error p,
  #rk-screed-guide .rk-screed-check p {
    margin-top: 6px;
    font-size: 0.84rem;
    line-height: 1.58;
  }

  #rk-screed-guide .rk-screed-nav {
    margin-bottom: 46px;
    padding: 22px;
    border: 1px solid #cce4ec;
    border-radius: 19px;
    background: var(--rk-cyan-soft);
  }

  #rk-screed-guide .rk-screed-nav > strong {
    display: block;
    margin-bottom: 12px;
  }

  #rk-screed-guide .rk-screed-nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  #rk-screed-guide .rk-screed-nav a {
    padding: 7px 11px;
    border: 1px solid #bfdbe5;
    border-radius: 999px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: 0.72rem;
    text-decoration: none;
  }

  #rk-screed-guide .rk-screed-nav a:hover {
    color: var(--rk-white);
    border-color: var(--rk-blue);
    background: var(--rk-blue);
  }

  #rk-screed-guide .rk-screed-section {
    margin-top: 64px;
  }

  #rk-screed-guide .rk-screed-section-head {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 17px;
    align-items: start;
    margin-bottom: 25px;
  }

  #rk-screed-guide .rk-screed-section-head h2,
  #rk-screed-guide .rk-screed-section-head p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-section-head p {
    margin-top: 8px;
    font-size: 0.88rem;
  }

  #rk-screed-guide .rk-screed-section-no {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 16px;
    color: var(--rk-white);
    background: linear-gradient(145deg, var(--rk-orange), var(--rk-red));
    font-size: 0.78rem;
    font-weight: 900;
    box-shadow: 0 11px 23px rgba(216, 60, 47, 0.2);
  }

  #rk-screed-guide .rk-screed-answer,
  #rk-screed-guide .rk-screed-truth,
  #rk-screed-guide .rk-screed-warning,
  #rk-screed-guide .rk-screed-note,
  #rk-screed-guide .rk-screed-formula {
    margin: 24px 0;
    padding: 24px;
    border-radius: 20px;
  }

  #rk-screed-guide .rk-screed-answer {
    border: 1px solid #bde3eb;
    border-left: 6px solid var(--rk-cyan);
    background: var(--rk-cyan-soft);
  }

  #rk-screed-guide .rk-screed-truth {
    border: 1px solid #f2c5b6;
    border-left: 6px solid var(--rk-orange);
    background: var(--rk-warm);
  }

  #rk-screed-guide .rk-screed-warning {
    border: 1px solid #f0cfd0;
    border-left: 6px solid var(--rk-red);
    background: #fff5f5;
  }

  #rk-screed-guide .rk-screed-note {
    border: 1px solid #cbe6da;
    border-left: 6px solid var(--rk-green);
    background: var(--rk-green-soft);
  }

  #rk-screed-guide .rk-screed-answer p,
  #rk-screed-guide .rk-screed-truth p,
  #rk-screed-guide .rk-screed-warning p,
  #rk-screed-guide .rk-screed-note p,
  #rk-screed-guide .rk-screed-formula p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-card-grid.three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #rk-screed-guide .rk-screed-card-grid.four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #rk-screed-guide .rk-screed-card {
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-card-icon {
    margin-bottom: 15px;
    background: linear-gradient(145deg, var(--rk-blue), var(--rk-cyan));
  }

  #rk-screed-guide .rk-screed-list {
    margin: 18px 0 24px;
    padding: 0;
    list-style: none;
  }

  #rk-screed-guide .rk-screed-list li {
    position: relative;
    margin: 9px 0;
    padding-left: 31px;
    color: var(--rk-text);
  }

  #rk-screed-guide .rk-screed-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0.08em;
    display: grid;
    width: 20px;
    height: 20px;
    place-items: center;
    border-radius: 50%;
    color: var(--rk-white);
    background: var(--rk-green);
    font-size: 0.66rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-table-wrap {
    margin: 24px 0;
  }

  #rk-screed-guide .rk-screed-table {
    width: 100%;
    border-spacing: 0;
    border-collapse: separate;
    table-layout: fixed;
    border: 1px solid var(--rk-line);
    border-radius: 19px;
    overflow: hidden;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-table th,
  #rk-screed-guide .rk-screed-table td {
    overflow-wrap: anywhere;
    padding: 15px 16px;
    border-right: 1px solid var(--rk-line);
    border-bottom: 1px solid var(--rk-line);
    text-align: left;
    vertical-align: top;
  }

  #rk-screed-guide .rk-screed-table th:last-child,
  #rk-screed-guide .rk-screed-table td:last-child {
    border-right: 0;
  }

  #rk-screed-guide .rk-screed-table tr:last-child td {
    border-bottom: 0;
  }

  #rk-screed-guide .rk-screed-table th {
    color: var(--rk-white);
    background: var(--rk-dark);
    font-size: 0.76rem;
    line-height: 1.4;
  }

  #rk-screed-guide .rk-screed-table td {
    color: var(--rk-text);
    font-size: 0.8rem;
    line-height: 1.55;
  }

  #rk-screed-guide .rk-screed-table tbody tr:nth-child(even) td {
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-flow {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 9px;
    margin: 25px 0 18px;
  }

  #rk-screed-guide .rk-screed-flow-step {
    min-width: 0;
    padding: 16px 12px;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font: inherit;
    font-size: 0.74rem;
    font-weight: 850;
    line-height: 1.4;
    cursor: pointer;
  }

  #rk-screed-guide .rk-screed-flow-step:hover,
  #rk-screed-guide .rk-screed-flow-step.is-active {
    color: var(--rk-white);
    border-color: var(--rk-blue);
    background: var(--rk-blue);
  }

  #rk-screed-guide .rk-screed-flow-detail {
    min-height: 150px;
    padding: 23px;
    border: 1px solid #cde5ec;
    border-radius: 19px;
    background: var(--rk-cyan-soft);
  }

  #rk-screed-guide .rk-screed-flow-detail h3,
  #rk-screed-guide .rk-screed-flow-detail p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-flow-detail p {
    margin-top: 9px;
  }

  #rk-screed-guide .rk-screed-formula {
    border: 1px solid #c6dce5;
    background: var(--rk-dark);
  }

  #rk-screed-guide .rk-screed-formula strong,
  #rk-screed-guide .rk-screed-formula p,
  #rk-screed-guide .rk-screed-formula code {
    color: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-formula code {
    display: block;
    margin: 13px 0;
    padding: 15px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.07);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.82rem;
    line-height: 1.65;
    white-space: normal;
  }

  #rk-screed-guide .rk-screed-architectures {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
    margin: 25px 0;
  }

  #rk-screed-guide .rk-screed-architecture {
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-radius: 20px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-architecture > span {
    display: inline-flex;
    margin-bottom: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    color: var(--rk-white);
    background: var(--rk-orange);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }

  #rk-screed-guide .rk-screed-nodes {
    display: grid;
    gap: 8px;
    margin: 17px 0;
  }

  #rk-screed-guide .rk-screed-node {
    position: relative;
    padding: 12px;
    border: 1px solid #cbdde5;
    border-radius: 12px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: 0.76rem;
    font-weight: 820;
    text-align: center;
  }

  #rk-screed-guide .rk-screed-node + .rk-screed-node::before {
    content: "↓";
    position: absolute;
    top: -16px;
    left: 50%;
    color: var(--rk-orange);
    font-size: 1rem;
    transform: translateX(-50%);
  }

  #rk-screed-guide .rk-screed-architecture p {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.58;
  }

  #rk-screed-guide .rk-screed-lab {
    overflow: hidden;
    margin: 28px 0;
    border: 1px solid #c9e1e9;
    border-radius: 25px;
    background: var(--rk-white);
    box-shadow: 0 18px 45px rgba(16, 37, 54, 0.1);
  }

  #rk-screed-guide .rk-screed-lab-head {
    padding: 25px;
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-dark), var(--rk-navy));
  }

  #rk-screed-guide .rk-screed-lab-head h3,
  #rk-screed-guide .rk-screed-lab-head p {
    margin: 0;
    color: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-lab-head p {
    margin-top: 8px;
    color: #cfe2e8;
    font-size: 0.87rem;
  }

  #rk-screed-guide .rk-screed-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 17px;
  }

  #rk-screed-guide .rk-screed-preset {
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 999px;
    color: var(--rk-white);
    background: rgba(255, 255, 255, 0.08);
    font: inherit;
    font-size: 0.7rem;
    font-weight: 850;
    cursor: pointer;
  }

  #rk-screed-guide .rk-screed-preset:hover,
  #rk-screed-guide .rk-screed-preset.is-active {
    color: var(--rk-dark);
    border-color: var(--rk-cyan);
    background: var(--rk-cyan);
  }

  #rk-screed-guide .rk-screed-lab-grid {
    display: grid;
    grid-template-columns: minmax(280px, 0.92fr) minmax(0, 1.35fr);
    gap: 0;
  }

  #rk-screed-guide .rk-screed-controls {
    padding: 25px;
    border-right: 1px solid var(--rk-line);
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-control {
    margin-bottom: 19px;
  }

  #rk-screed-guide .rk-screed-control:last-child {
    margin-bottom: 0;
  }

  #rk-screed-guide .rk-screed-control label {
    display: flex;
    gap: 10px;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    color: var(--rk-dark);
    font-size: 0.76rem;
    font-weight: 850;
    line-height: 1.35;
  }

  #rk-screed-guide .rk-screed-control output {
    flex: 0 0 auto;
    padding: 4px 8px;
    border-radius: 8px;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: 0.7rem;
  }

  #rk-screed-guide .rk-screed-control input[type="range"] {
    width: 100%;
    margin: 0;
    accent-color: var(--rk-orange);
    cursor: pointer;
  }

  #rk-screed-guide .rk-screed-visual {
    min-width: 0;
    padding: 25px;
  }

  #rk-screed-guide .rk-screed-results {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 16px;
  }

  #rk-screed-guide .rk-screed-result {
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-result span,
  #rk-screed-guide .rk-screed-result strong {
    display: block;
  }

  #rk-screed-guide .rk-screed-result span {
    color: var(--rk-muted);
    font-size: 0.66rem;
    font-weight: 760;
    line-height: 1.35;
  }

  #rk-screed-guide .rk-screed-result strong {
    margin-top: 5px;
    color: var(--rk-dark);
    font-size: 1.28rem;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  #rk-screed-guide .rk-screed-chart {
    width: 100%;
    min-height: 330px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: linear-gradient(180deg, #fbfeff, #f3f8fa);
  }

  #rk-screed-guide .rk-screed-chart .rk-grid-line {
    stroke: #d9e6ec;
    stroke-width: 1;
  }

  #rk-screed-guide .rk-screed-chart .rk-axis {
    stroke: #8194a1;
    stroke-width: 1.4;
  }

  #rk-screed-guide .rk-screed-chart .rk-axis-label,
  #rk-screed-guide .rk-screed-chart .rk-tick {
    fill: #5f7381;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 11px;
  }

  #rk-screed-guide .rk-screed-chart .rk-curve {
    fill: none;
    stroke: var(--rk-blue);
    stroke-width: 5;
    stroke-linecap: round;
  }

  #rk-screed-guide .rk-screed-chart .rk-dot {
    fill: var(--rk-orange);
    stroke: var(--rk-white);
    stroke-width: 4;
  }

  #rk-screed-guide .rk-screed-chart .rk-guide {
    stroke: var(--rk-orange);
    stroke-width: 1.5;
    stroke-dasharray: 5 5;
  }

  #rk-screed-guide .rk-screed-status {
    margin-top: 14px;
    padding: 15px;
    border-radius: 13px;
    color: var(--rk-dark);
    background: var(--rk-cyan-soft);
    font-size: 0.78rem;
    font-weight: 760;
    line-height: 1.55;
  }

  #rk-screed-guide .rk-screed-status.is-ok {
    color: #07553f;
    background: #e7f8f1;
  }

  #rk-screed-guide .rk-screed-status.is-warning {
    color: #71330d;
    background: #fff1e5;
  }

  #rk-screed-guide .rk-screed-disclaimer {
    padding: 0 25px 24px;
    color: var(--rk-muted);
    font-size: 0.72rem;
    line-height: 1.55;
  }

  #rk-screed-guide .rk-screed-number-input {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #bfd3dc;
    border-radius: 11px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font: inherit;
    font-size: 0.82rem;
    font-weight: 760;
  }

  #rk-screed-guide .rk-screed-number-input:focus-visible,
  #rk-screed-guide button:focus-visible,
  #rk-screed-guide a:focus-visible,
  #rk-screed-guide summary:focus-visible {
    outline: 3px solid rgba(40, 201, 218, 0.42);
    outline-offset: 3px;
  }

  #rk-screed-guide .rk-screed-plan-wrap {
    padding: 14px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: linear-gradient(180deg, #fbfeff, #f1f7fa);
  }

  #rk-screed-guide .rk-screed-plan {
    display: block;
    width: 100%;
    min-height: 330px;
    border-radius: 12px;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-plan .rk-screed-room {
    fill: #f7fbfd;
    stroke: var(--rk-dark);
    stroke-width: 3;
  }

  #rk-screed-guide .rk-screed-plan .rk-screed-zone {
    fill: rgba(255, 98, 56, 0.19);
    stroke: var(--rk-orange);
    stroke-width: 2;
    stroke-dasharray: 7 5;
  }

  #rk-screed-guide .rk-screed-plan .rk-screed-glazing {
    stroke: var(--rk-blue);
    stroke-width: 9;
    stroke-linecap: round;
  }

  #rk-screed-guide .rk-screed-plan .rk-screed-pipe-zone {
    fill: none;
    stroke: var(--rk-orange);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  #rk-screed-guide .rk-screed-plan .rk-screed-pipe-main {
    fill: none;
    stroke: var(--rk-cyan);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  #rk-screed-guide .rk-screed-plan text {
    fill: var(--rk-dark);
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 13px;
    font-weight: 800;
  }

  #rk-screed-guide .rk-screed-plan-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 12px;
    color: var(--rk-muted);
    font-size: 0.7rem;
    font-weight: 780;
  }

  #rk-screed-guide .rk-screed-plan-legend span {
    display: inline-flex;
    gap: 7px;
    align-items: center;
  }

  #rk-screed-guide .rk-screed-plan-legend i {
    display: inline-block;
    width: 23px;
    height: 5px;
    border-radius: 999px;
    background: var(--rk-cyan);
  }

  #rk-screed-guide .rk-screed-plan-legend .zone i {
    background: var(--rk-orange);
  }

  #rk-screed-guide .rk-screed-plan-legend .glass i {
    background: var(--rk-blue);
  }

  #rk-screed-guide .rk-screed-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 16px;
  }

  #rk-screed-guide .rk-screed-metric {
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-metric span,
  #rk-screed-guide .rk-screed-metric strong {
    display: block;
  }

  #rk-screed-guide .rk-screed-metric span {
    color: var(--rk-muted);
    font-size: 0.63rem;
    font-weight: 780;
    line-height: 1.35;
  }

  #rk-screed-guide .rk-screed-metric strong {
    margin-top: 5px;
    color: var(--rk-dark);
    font-size: 1.05rem;
    line-height: 1.2;
  }

  #rk-screed-guide .rk-screed-status.is-warning {
    color: #7c321d;
    background: var(--rk-warm);
  }

  #rk-screed-guide .rk-screed-small {
    color: var(--rk-muted);
    font-size: 0.78rem;
    line-height: 1.62;
  }

  #rk-screed-guide .rk-screed-howto {
    display: grid;
    gap: 12px;
    margin: 25px 0;
    padding: 0;
    list-style: none;
  }

  #rk-screed-guide .rk-screed-howto-step {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 20px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-howto-step > span {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 16px;
    color: var(--rk-white);
    background: var(--rk-dark);
    font-size: 0.8rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-howto-step h3,
  #rk-screed-guide .rk-screed-howto-step p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-howto-step p {
    margin-top: 7px;
    font-size: 0.87rem;
  }

  #rk-screed-guide .rk-screed-faq-list {
    display: grid;
    gap: 10px;
  }

  #rk-screed-guide .rk-screed-faq {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 16px;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-faq summary {
    position: relative;
    padding: 19px 52px 19px 20px;
    color: var(--rk-dark);
    font-weight: 850;
    line-height: 1.45;
    cursor: pointer;
    list-style: none;
  }

  #rk-screed-guide .rk-screed-faq summary::-webkit-details-marker {
    display: none;
  }

  #rk-screed-guide .rk-screed-faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 18px;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    color: var(--rk-white);
    background: var(--rk-blue);
    transform: translateY(-50%);
  }

  #rk-screed-guide .rk-screed-faq[open] summary::after {
    content: "−";
  }

  #rk-screed-guide .rk-screed-faq-answer {
    padding: 0 20px 19px;
  }

  #rk-screed-guide .rk-screed-faq-answer p {
    margin: 0;
    font-size: 0.88rem;
  }

  #rk-screed-guide .rk-screed-sources {
    margin-top: 28px;
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    color: var(--rk-muted);
    background: var(--rk-soft);
    font-size: 0.76rem;
    line-height: 1.7;
  }

  #rk-screed-guide .rk-screed-sources > strong {
    display: block;
    margin-bottom: 8px;
  }

  #rk-screed-guide .rk-screed-cta {
    margin-top: 58px;
    padding: clamp(28px, 5vw, 48px);
    border-radius: 26px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 92% 12%, rgba(255, 98, 56, 0.3), transparent 33%),
      linear-gradient(135deg, #102536, #174155);
    box-shadow: 0 20px 45px rgba(16, 37, 54, 0.16);
  }

  #rk-screed-guide .rk-screed-cta h3,
  #rk-screed-guide .rk-screed-cta p,
  #rk-screed-guide .rk-screed-cta strong {
    color: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-cta p {
    max-width: 880px;
  }

  #rk-screed-guide .rk-screed-cta-kicker {
    display: block;
    margin-bottom: 10px;
    color: #7af0ff;
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #rk-screed-guide .rk-screed-cta h2,
  #rk-screed-guide .rk-screed-cta h3 {
    color: #ffffff !important;
  }

  #rk-screed-guide .rk-screed-cta-link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 56px;
    margin-top: 7px;
    padding: 15px 24px;
    border-radius: 14px;
    color: var(--rk-white) !important;
    background: linear-gradient(90deg, var(--rk-orange), #f04432);
    box-shadow: 0 14px 28px rgba(216, 60, 47, 0.24);
    font-size: 0.88rem;
    font-weight: 900;
    text-align: center;
    text-decoration: none !important;
  }

  #rk-screed-guide .rk-screed-cta-link:hover {
    color: var(--rk-white) !important;
    filter: brightness(1.06);
    transform: translateY(-1px);
  }

  #rk-screed-guide .rk-screed-cta small {
    display: block;
    margin-top: 14px;
    color: #bdd1da;
    font-size: 0.7rem;
    line-height: 1.5;
  }

  #rk-screed-guide .rk-screed-author-box {
    overflow: hidden;
    margin-top: 30px;
    border: 1px solid var(--rk-line);
    border-radius: 26px;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-author-head {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    align-items: center;
    padding: 28px;
    color: var(--rk-white);
    border-bottom: 5px solid var(--rk-cyan);
    background: var(--rk-dark);
  }

  #rk-screed-guide .rk-screed-author-head h3,
  #rk-screed-guide .rk-screed-author-head p {
    margin: 0;
    color: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-author-head p {
    margin-top: 6px;
    color: #cde0e7;
    font-size: 0.82rem;
  }

  #rk-screed-guide .rk-screed-author-mark {
    flex: 0 0 auto;
    padding: 10px 15px;
    border: 1px solid rgba(40, 201, 218, 0.35);
    border-radius: 13px;
    color: #84edf5;
    background: rgba(40, 201, 218, 0.08);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
  }

  #rk-screed-guide .rk-screed-author-main {
    display: grid;
    grid-template-columns: 310px minmax(0, 1fr);
  }

  #rk-screed-guide .rk-screed-author-profile {
    padding: 32px;
    border-right: 1px solid var(--rk-line);
    background: var(--rk-soft);
    text-align: center;
  }

  #rk-screed-guide .rk-screed-author-profile img {
    width: 174px;
    height: 174px;
    border: 8px solid var(--rk-white);
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 16px 34px rgba(16, 37, 54, 0.14);
  }

  #rk-screed-guide .rk-screed-author-profile h4 {
    margin: 18px 0 7px;
    font-size: 1.36rem;
  }

  #rk-screed-guide .rk-screed-author-role {
    display: block;
    color: var(--rk-blue);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    line-height: 1.6;
    text-transform: uppercase;
  }

  #rk-screed-guide .rk-screed-author-social-label {
    margin-top: 24px;
    color: var(--rk-muted);
    font-size: 0.66rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }

  #rk-screed-guide .rk-screed-author-social {
    display: flex;
    justify-content: center;
    gap: 9px;
    margin-top: 10px;
  }

  #rk-screed-guide .rk-screed-author-social a {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid var(--rk-line);
    border-radius: 50%;
    color: var(--rk-dark);
    background: var(--rk-white);
    text-decoration: none;
    transition: transform .2s ease, border-color .2s ease, color .2s ease;
  }

  #rk-screed-guide .rk-screed-author-social a:hover {
    color: var(--rk-blue);
    border-color: var(--rk-cyan);
    transform: translateY(-2px);
  }

  #rk-screed-guide .rk-screed-author-social svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
  }

  #rk-screed-guide .rk-screed-author-content {
    min-width: 0;
    padding: 32px;
  }

  #rk-screed-guide .rk-screed-quote {
    position: relative;
    margin-bottom: 22px;
    padding: 23px 23px 23px 61px;
    border-radius: 18px;
    background: var(--rk-cyan-soft);
  }

  #rk-screed-guide .rk-screed-quote::before {
    content: "“";
    position: absolute;
    top: 3px;
    left: 18px;
    color: var(--rk-cyan);
    font-family: Georgia, serif;
    font-size: 4rem;
    line-height: 1;
  }

  #rk-screed-guide .rk-screed-quote blockquote {
    margin: 0;
    color: var(--rk-dark);
    font-size: 1.03rem;
    font-style: italic;
    font-weight: 790;
    line-height: 1.7;
  }

  #rk-screed-guide .rk-screed-tab-buttons {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--rk-line);
    border-radius: 14px 14px 0 0;
    overflow: hidden;
  }

  #rk-screed-guide .rk-screed-tab-button {
    min-width: 0;
    padding: 13px 10px;
    border: 0;
    border-right: 1px solid var(--rk-line);
    color: var(--rk-muted);
    background: var(--rk-soft);
    font: inherit;
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
    cursor: pointer;
  }

  #rk-screed-guide .rk-screed-tab-button:last-child {
    border-right: 0;
  }

  #rk-screed-guide .rk-screed-tab-button.is-active {
    color: var(--rk-blue);
    background: var(--rk-white);
    box-shadow: inset 0 -4px 0 var(--rk-blue);
  }

  #rk-screed-guide .rk-screed-tab-panel {
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-top: 0;
    border-radius: 0 0 14px 14px;
  }

  #rk-screed-guide .rk-screed-tab-panel[hidden] {
    display: none !important;
  }

  #rk-screed-guide .rk-screed-tab-panel p {
    margin: 0;
    font-size: 0.86rem;
  }

  #rk-screed-guide .rk-screed-portals {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 14px;
  }

  #rk-screed-guide .rk-screed-portals a {
    padding: 8px 12px;
    border: 1px solid #c8dbe4;
    border-radius: 999px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: 0.75rem;
    text-decoration: none;
  }

  #rk-screed-guide .rk-screed-portals a:hover {
    color: var(--rk-white);
    border-color: var(--rk-blue);
    background: var(--rk-blue);
  }

  @media (max-width: 1120px) {
    #rk-screed-guide .rk-screed-card-grid.four {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-screed-guide .rk-screed-architectures,
    #rk-screed-guide .rk-screed-card-grid.three {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-author-main {
      grid-template-columns: 260px minmax(0, 1fr);
    }
  }

  @media (max-width: 880px) {
    #rk-screed-guide {
      font-size: 17px;
    }

    #rk-screed-guide .rk-screed-lab-grid,
    #rk-screed-guide .rk-screed-author-main {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-controls,
    #rk-screed-guide .rk-screed-author-profile {
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
    }

    #rk-screed-guide .rk-screed-flow {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-screed-guide .rk-screed-flow-step:last-child {
      grid-column: 1 / -1;
    }

    #rk-screed-guide .rk-screed-metrics {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 720px) {
    #rk-screed-guide {
      margin: 18px auto 50px;
      font-size: 16px;
    }

    #rk-screed-guide .rk-screed-shell {
      border-radius: 20px;
    }

    #rk-screed-guide .rk-screed-hero,
    #rk-screed-guide .rk-screed-content {
      padding: 25px 18px;
    }

    #rk-screed-guide .rk-screed-learn-grid,
    #rk-screed-guide .rk-screed-card-grid,
    #rk-screed-guide .rk-screed-card-grid.four,
    #rk-screed-guide .rk-screed-error-grid,
    #rk-screed-guide .rk-screed-check-grid,
    #rk-screed-guide .rk-screed-results {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-section {
      margin-top: 48px;
    }

    #rk-screed-guide .rk-screed-section-head {
      grid-template-columns: 44px minmax(0, 1fr);
      gap: 12px;
    }

    #rk-screed-guide .rk-screed-section-no {
      width: 42px;
      height: 42px;
      border-radius: 13px;
    }

    #rk-screed-guide .rk-screed-table,
    #rk-screed-guide .rk-screed-table tbody,
    #rk-screed-guide .rk-screed-table tr,
    #rk-screed-guide .rk-screed-table td {
      display: block;
      width: 100%;
    }

    #rk-screed-guide .rk-screed-table {
      border: 0;
      background: transparent;
    }

    #rk-screed-guide .rk-screed-table thead {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      white-space: nowrap;
    }

    #rk-screed-guide .rk-screed-table tr {
      margin-bottom: 13px;
      border: 1px solid var(--rk-line);
      border-radius: 16px;
      overflow: hidden;
      background: var(--rk-white);
    }

    #rk-screed-guide .rk-screed-table td,
    #rk-screed-guide .rk-screed-table tr:last-child td {
      display: grid;
      grid-template-columns: minmax(105px, 0.42fr) minmax(0, 0.58fr);
      gap: 10px;
      padding: 13px;
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
      background: var(--rk-white) !important;
    }

    #rk-screed-guide .rk-screed-table td:last-child {
      border-bottom: 0;
    }

    #rk-screed-guide .rk-screed-table td::before {
      content: attr(data-label);
      color: var(--rk-dark);
      font-weight: 900;
    }

    #rk-screed-guide .rk-screed-chart {
      min-height: 265px;
    }

    #rk-screed-guide .rk-screed-plan {
      min-height: 265px;
    }

    #rk-screed-guide .rk-screed-metrics {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-howto-step {
      grid-template-columns: 44px minmax(0, 1fr);
      gap: 12px;
      padding: 16px;
    }

    #rk-screed-guide .rk-screed-howto-step > span {
      width: 42px;
      height: 42px;
      border-radius: 13px;
    }

    #rk-screed-guide .rk-screed-author-head {
      align-items: flex-start;
      flex-direction: column;
      padding: 22px;
    }

    #rk-screed-guide .rk-screed-author-content,
    #rk-screed-guide .rk-screed-author-profile {
      padding: 22px;
    }

    #rk-screed-guide .rk-screed-tab-buttons {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-tab-button {
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
    }

    #rk-screed-guide .rk-screed-tab-button:last-child {
      border-bottom: 0;
    }

    #rk-screed-guide .rk-screed-cta-link {
      width: 100%;
    }
  }

  #rk-screed-guide .rk-screed-program-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
  }

  #rk-screed-guide .rk-screed-program-button {
    min-height: 52px;
    padding: 12px 15px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 13px;
    color: var(--rk-white);
    background: rgba(255, 255, 255, 0.08);
    font: inherit;
    font-size: 0.76rem;
    font-weight: 900;
    line-height: 1.35;
    cursor: pointer;
  }

  #rk-screed-guide .rk-screed-program-button:hover,
  #rk-screed-guide .rk-screed-program-button.is-active {
    color: var(--rk-dark);
    border-color: var(--rk-cyan);
    background: var(--rk-cyan);
  }

  #rk-screed-guide .rk-screed-program-panel[hidden] {
    display: none !important;
  }

  #rk-screed-guide .rk-screed-program-title {
    margin: 0 0 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--rk-line);
    color: var(--rk-dark);
    font-size: 0.88rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-select {
    width: 100%;
    min-height: 46px;
    padding: 10px 38px 10px 12px;
    border: 1px solid #bfd3dc;
    border-radius: 11px;
    color: var(--rk-dark);
    background-color: var(--rk-white);
    font: inherit;
    font-size: 0.8rem;
    font-weight: 760;
    cursor: pointer;
  }

  #rk-screed-guide .rk-screed-control-note {
    display: block;
    margin-top: 6px;
    color: var(--rk-muted);
    font-size: 0.66rem;
    line-height: 1.5;
  }

  #rk-screed-guide .rk-screed-estimate {
    position: relative;
    overflow: hidden;
    margin-bottom: 16px;
    padding: 25px;
    border-radius: 19px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 95% 0%, rgba(255, 98, 56, 0.31), transparent 36%),
      linear-gradient(135deg, var(--rk-dark), var(--rk-navy));
  }

  #rk-screed-guide .rk-screed-estimate span,
  #rk-screed-guide .rk-screed-estimate strong,
  #rk-screed-guide .rk-screed-estimate small {
    display: block;
    color: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-estimate span {
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }

  #rk-screed-guide .rk-screed-estimate strong {
    margin-top: 7px;
    font-size: clamp(2rem, 5vw, 3.45rem);
    line-height: 1;
  }

  #rk-screed-guide .rk-screed-estimate small {
    max-width: 620px;
    margin-top: 12px;
    color: #cde0e7;
    font-size: 0.72rem;
    line-height: 1.55;
  }

  #rk-screed-guide .rk-screed-limit-bar {
    height: 12px;
    margin: 18px 0 8px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
  }

  #rk-screed-guide .rk-screed-limit-fill {
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--rk-cyan), var(--rk-orange));
    transition: width 220ms ease;
  }

  #rk-screed-guide .rk-screed-result-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
  }

  #rk-screed-guide .rk-screed-result-card {
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-result-card span,
  #rk-screed-guide .rk-screed-result-card strong {
    display: block;
  }

  #rk-screed-guide .rk-screed-result-card span {
    color: var(--rk-muted);
    font-size: 0.65rem;
    font-weight: 760;
    line-height: 1.4;
  }

  #rk-screed-guide .rk-screed-result-card strong {
    margin-top: 5px;
    color: var(--rk-dark);
    font-size: 1.05rem;
    line-height: 1.3;
  }

  #rk-screed-guide .rk-screed-status-list {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  #rk-screed-guide .rk-screed-status-list li {
    position: relative;
    margin: 7px 0;
    padding-left: 24px;
    color: var(--rk-text);
    font-size: 0.76rem;
    line-height: 1.55;
  }

  #rk-screed-guide .rk-screed-status-list li::before {
    content: "i";
    position: absolute;
    left: 0;
    top: 0.2em;
    display: grid;
    width: 16px;
    height: 16px;
    place-items: center;
    border-radius: 50%;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: 0.58rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-status-list li.is-alert::before {
    content: "!";
    background: var(--rk-orange);
  }

  #rk-screed-guide .rk-screed-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0;
  }

  #rk-screed-guide .rk-screed-chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid #c6dce5;
    border-radius: 999px;
    color: var(--rk-dark);
    background: var(--rk-white);
    font-size: 0.68rem;
    font-weight: 850;
    line-height: 1.35;
  }

  #rk-screed-guide .rk-screed-example-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0;
  }

  #rk-screed-guide .rk-screed-example {
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--rk-line);
    border-top: 5px solid var(--rk-cyan);
    border-radius: 18px;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-example:nth-child(2) {
    border-top-color: var(--rk-orange);
  }

  #rk-screed-guide .rk-screed-example:nth-child(3) {
    border-top-color: var(--rk-blue);
  }

  #rk-screed-guide .rk-screed-example h3,
  #rk-screed-guide .rk-screed-example p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-example p {
    margin-top: 8px;
    font-size: 0.8rem;
    line-height: 1.6;
  }

  #rk-screed-guide .rk-screed-example code {
    display: block;
    margin-top: 14px;
    padding: 13px;
    border-radius: 11px;
    color: var(--rk-white);
    background: var(--rk-dark);
    font-size: 0.75rem;
    line-height: 1.6;
    white-space: normal;
  }

  #rk-screed-guide .rk-screed-verdict {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(220px, 0.75fr);
    gap: 22px;
    align-items: center;
    margin: 26px 0;
    padding: 26px;
    border: 1px solid #f0c7b8;
    border-radius: 22px;
    background: var(--rk-warm);
  }

  #rk-screed-guide .rk-screed-verdict h3,
  #rk-screed-guide .rk-screed-verdict p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-verdict p {
    margin-top: 8px;
  }

  #rk-screed-guide .rk-screed-verdict-mark {
    padding: 22px;
    border-radius: 17px;
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-orange), var(--rk-red));
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
  }

  @media (max-width: 980px) {
    #rk-screed-guide .rk-screed-example-grid,
    #rk-screed-guide .rk-screed-verdict {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 720px) {
    #rk-screed-guide .rk-screed-program-switch,
    #rk-screed-guide .rk-screed-result-grid {
      grid-template-columns: 1fr;
    }
  }

  /* Elementy charakterystyczne dla opracowania o jastrychu grzejnym */
  #rk-screed-guide .rk-screed-term-grid,
  #rk-screed-guide .rk-screed-phase-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0;
  }

  #rk-screed-guide .rk-screed-term,
  #rk-screed-guide .rk-screed-phase {
    min-width: 0;
    padding: 21px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-white);
  }

  #rk-screed-guide .rk-screed-term b,
  #rk-screed-guide .rk-screed-phase b {
    display: block;
    margin-bottom: 7px;
    color: var(--rk-dark);
    font-size: 0.96rem;
  }

  #rk-screed-guide .rk-screed-term p,
  #rk-screed-guide .rk-screed-phase p {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.62;
  }

  #rk-screed-guide .rk-screed-phase {
    position: relative;
    padding-top: 55px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-phase::before {
    content: attr(data-step);
    position: absolute;
    top: 17px;
    left: 20px;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 9px;
    color: var(--rk-white);
    background: var(--rk-orange);
    font-size: 0.7rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-lab-grid {
    grid-template-columns: minmax(300px, 0.88fr) minmax(0, 1.5fr);
  }

  #rk-screed-guide .rk-screed-input-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
  }

  #rk-screed-guide .rk-screed-input-grid .rk-screed-control {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-cross-wrap {
    display: grid;
    grid-template-columns: minmax(240px, 0.9fr) minmax(0, 1.1fr);
    gap: 16px;
    margin-top: 17px;
  }

  #rk-screed-guide .rk-screed-cross-card,
  #rk-screed-guide .rk-screed-energy-card {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: linear-gradient(180deg, #fbfeff, #f2f8fa);
  }

  #rk-screed-guide .rk-screed-cross-title,
  #rk-screed-guide .rk-screed-energy-title {
    display: block;
    margin-bottom: 11px;
    color: var(--rk-dark);
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1.4;
  }

  #rk-screed-guide .rk-screed-cross {
    display: block;
    width: 100%;
    min-height: 250px;
    border-radius: 12px;
    background: #fff;
  }

  #rk-screed-guide .rk-screed-cross text,
  #rk-screed-guide .rk-screed-energy-chart text {
    fill: #506777;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 11px;
    font-weight: 760;
  }

  #rk-screed-guide .rk-screed-cross .rk-screed-layer-floor {
    fill: #d9e3e7;
  }

  #rk-screed-guide .rk-screed-cross .rk-screed-layer-screed {
    fill: #c6d0d5;
  }

  #rk-screed-guide .rk-screed-cross .rk-screed-layer-insulation {
    fill: #eafcff;
    stroke: #28c9da;
    stroke-width: 1.5;
  }

  #rk-screed-guide .rk-screed-cross .rk-screed-pipe {
    fill: #ff6238;
    stroke: #ffffff;
    stroke-width: 4;
  }

  #rk-screed-guide .rk-screed-cross .rk-screed-dimension {
    stroke: #078fbe;
    stroke-width: 2;
    marker-start: url(#rk-screed-arrow-start);
    marker-end: url(#rk-screed-arrow-end);
  }

  #rk-screed-guide .rk-screed-energy-chart {
    display: block;
    width: 100%;
    min-height: 250px;
    border-radius: 12px;
    background: #fff;
  }

  #rk-screed-guide .rk-screed-energy-chart .rk-screed-bar {
    fill: url(#rk-screed-bar-gradient);
  }

  #rk-screed-guide .rk-screed-energy-chart .rk-screed-axis-line {
    stroke: #c8d9e1;
    stroke-width: 1;
  }

  #rk-screed-guide .rk-screed-results {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  #rk-screed-guide .rk-screed-result.is-accent {
    border-color: #b6e9ef;
    background: var(--rk-cyan-soft);
  }

  #rk-screed-guide .rk-screed-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 14px;
    margin-top: 12px;
    color: var(--rk-muted);
    font-size: 0.67rem;
    font-weight: 760;
  }

  #rk-screed-guide .rk-screed-legend span {
    display: inline-flex;
    gap: 7px;
    align-items: center;
  }

  #rk-screed-guide .rk-screed-legend i {
    display: inline-block;
    width: 20px;
    height: 7px;
    border-radius: 999px;
    background: #c6d0d5;
  }

  #rk-screed-guide .rk-screed-legend .pipe i {
    background: var(--rk-orange);
  }

  #rk-screed-guide .rk-screed-legend .insulation i {
    background: var(--rk-cyan);
  }

  #rk-screed-guide .rk-screed-protocol {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 24px 0;
  }

  #rk-screed-guide .rk-screed-protocol-step {
    min-width: 0;
    padding: 19px;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    background: var(--rk-soft);
  }

  #rk-screed-guide .rk-screed-protocol-step span {
    display: inline-flex;
    margin-bottom: 11px;
    padding: 5px 9px;
    border-radius: 999px;
    color: var(--rk-white);
    background: var(--rk-dark);
    font-size: 0.66rem;
    font-weight: 900;
  }

  #rk-screed-guide .rk-screed-protocol-step h3,
  #rk-screed-guide .rk-screed-protocol-step p {
    margin: 0;
  }

  #rk-screed-guide .rk-screed-protocol-step p {
    margin-top: 7px;
    font-size: 0.8rem;
  }

  @media (max-width: 1120px) {
    #rk-screed-guide .rk-screed-term-grid,
    #rk-screed-guide .rk-screed-phase-grid,
    #rk-screed-guide .rk-screed-protocol {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #rk-screed-guide .rk-screed-cross-wrap {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 880px) {
    #rk-screed-guide .rk-screed-lab-grid {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-results {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 720px) {
    #rk-screed-guide .rk-screed-term-grid,
    #rk-screed-guide .rk-screed-phase-grid,
    #rk-screed-guide .rk-screed-protocol,
    #rk-screed-guide .rk-screed-input-grid,
    #rk-screed-guide .rk-screed-results {
      grid-template-columns: 1fr;
    }

    #rk-screed-guide .rk-screed-cross,
    #rk-screed-guide .rk-screed-energy-chart {
      min-height: 215px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #rk-screed-guide *,
    #rk-screed-guide *::before,
    #rk-screed-guide *::after {
      scroll-behavior: auto !important;
      transition: none !important;
      animation: none !important;
    }
  }
</style>

<article id="rk-screed-guide" itemscope itemtype="https://schema.org/TechArticle">
  <div class="rk-screed-shell">
    <div class="rk-screed-progress-track" aria-hidden="true"><div class="rk-screed-progress"></div></div>

    <header class="rk-screed-hero">
      <div class="rk-screed-badge">Grubość jastrychu • aktualizacja 29 sierpnia 2026 r.</div>
      <h2 itemprop="headline">Grubość wylewki betonowej na ogrzewanie podłogowe — <span>ile cm nad rurą 16 mm?</span></h2>
      <div class="rk-screed-hook">
        <p><strong>Przy rurze 16 mm warstwa o grubości całkowitej 60 mm daje 44 mm jastrychu nad górną krawędzią rury — nie 30 mm.</strong> To poprawna geometria, ale jeszcze nie potwierdzenie, że układ spełnia wymagania wybranego produktu i konstrukcji podłogi.</p>
      </div>
      <p class="rk-screed-hero-lead" itemprop="description">Przewodnik rozdziela grubość całkowitą od otuliny nad rurą, pokazuje obliczenia dla 6, 6,5, 7 i 8 cm oraz wyjaśnia, dlaczego minimum trzeba odczytać z dokumentacji konkretnego jastrychu. Interaktywny analizator sprawdza geometrię, objętość, masę i pojemność cieplną warstwy.</p>
      <div class="rk-screed-hero-meta">
        <span>Autor: Robert Kucharski</span>
        <span>ISO 11855 • EN 13813 • dokumentacja systemu</span>
        <span>Rura 16 mm: obliczenia bez błędu 60 − 16</span>
      </div>
      <div class="rk-screed-author-strip" itemprop="author" itemscope itemtype="https://schema.org/Person">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski – projektant instalacji sanitarnych" width="54" height="54" loading="eager" itemprop="image">
        <div>
          <b itemprop="name">Robert Kucharski</b>
          <small itemprop="jobTitle">Projektant instalacji sanitarnych • specjalista HVAC i ogrzewania podłogowego</small>
        </div>
      </div>
    </header>

    <div class="rk-screed-content">
      <div class="rk-screed-warning">
        <p><strong>Najważniejsze zastrzeżenie techniczne:</strong> artykuł i analizator kontrolują geometrię oraz skutki masowe przyjętej grubości. Nie potwierdzają nośności ani zgodności całej podłogi. Ostateczną wartość ustala się z dokumentacji konkretnego jastrychu, obciążeń, klasy, ściśliwości izolacji i układu pól.</p>
      </div>

      <div class="rk-screed-learn" aria-label="Zakres artykułu">
        <strong>Po lekturze będziesz wiedzieć:</strong>
        <div class="rk-screed-learn-grid">
          <div class="rk-screed-learn-card"><div class="rk-screed-no">01</div><div><h4>Jak policzyć otulinę rury</h4><p>Dlaczego trzeba uwzględnić średnicę przewodu oraz jego rzeczywiste podniesienie nad warstwą odniesienia.</p></div></div>
          <div class="rk-screed-learn-card"><div class="rk-screed-no">02</div><div><h4>Co oznacza 6, 7 i 8 cm</h4><p>Ile materiału pozostaje nad rurą 16 mm oraz jak zmieniają się masa i pojemność cieplna.</p></div></div>
          <div class="rk-screed-learn-card"><div class="rk-screed-no">03</div><div><h4>Skąd wziąć minimum</h4><p>Jak odróżnić przykład producenta od uniwersalnej normy i czego szukać w karcie systemu.</p></div></div>
          <div class="rk-screed-learn-card"><div class="rk-screed-no">04</div><div><h4>Co sprawdzić przed wylaniem</h4><p>Poziomy, obciążenia, dylatacje, zamocowanie rur i próbę szczelności przed zakryciem instalacji.</p></div></div>
        </div>
      </div>

      <nav class="rk-screed-nav" aria-label="Nawigacja po artykule">
        <strong>Przejdź do sekcji</strong>
        <div class="rk-screed-nav-links">
          <a href="#rk-screed-odpowiedz">Szybka odpowiedź</a>
          <a href="#rk-screed-pojecia">Jastrych czy beton?</a>
          <a href="#rk-screed-grubosc">Grubość</a>
          <a href="#rk-screed-kalkulator">Analizator</a>
          <a href="#rk-screed-material">CT czy CA?</a>
          <a href="#rk-screed-klasy">Klasy i λ</a>
          <a href="#rk-screed-zbrojenie">Zbrojenie</a>
          <a href="#rk-screed-dylatacje">Dylatacje</a>
          <a href="#rk-screed-przed">Przed wylaniem</a>
          <a href="#rk-screed-wykonanie">Wykonanie</a>
          <a href="#rk-screed-wygrzewanie">Wygrzewanie</a>
          <a href="#rk-screed-posadzka">Okładzina</a>
          <a href="#rk-screed-bledy">Błędy</a>
          <a href="#rk-screed-kroki">Krok po kroku</a>
          <a href="#rk-screed-faq">FAQ</a>
        </div>
      </nav>

      <section class="rk-screed-section" id="rk-screed-odpowiedz" aria-labelledby="rk-screed-h2-1">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">01</div>
          <div><h2 id="rk-screed-h2-1">Ile powinna mieć wylewka na ogrzewanie podłogowe?</h2><p>Najpierw oddziel grubość całkowitą od warstwy nad rurą.</p></div>
        </div>

        <div class="rk-screed-answer">
          <p><strong>Nie ma jednej wartości poprawnej dla każdego jastrychu.</strong> Jeżeli rura 16 mm leży bezpośrednio na warstwie odniesienia, 60 mm grubości całkowitej oznacza 44 mm nad rurą, 65 mm — 49 mm, 70 mm — 54 mm, a 80 mm — 64 mm. Jeśli systemowa listwa, mata albo klips podnosi rurę, to podniesienie trzeba dodatkowo odjąć.</p>
        </div>

        <div class="rk-screed-card-grid three">
          <div class="rk-screed-card"><div class="rk-screed-card-icon">1</div><h4>Najpierw produkt</h4><p>Wymaganą otulinę i grubość odczytaj z aktualnej dokumentacji wybranego jastrychu oraz systemu podłogi.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">2</div><h4>Potem geometria</h4><p>Policz średnicę rury, jej podniesienie oraz warstwę nad najwyższym punktem przewodu.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">3</div><h4>Na końcu poziomy</h4><p>Sprawdź całą wysokość podłogi: izolację, jastrych, klej, okładzinę, progi i skrzydła drzwi.</p></div>
        </div>

        <div class="rk-screed-verdict">
          <div><h3>Wzór, który trzeba stosować na budowie</h3><p><strong>Otulina = grubość całkowita − średnica zewnętrzna rury − podniesienie spodu rury.</strong> Pomiar wykonuje się od tej samej warstwy odniesienia. Deklaracja „mamy 6 cm” nic nie mówi, jeśli nie wiadomo, od którego poziomu ją zmierzono.</p></div>
          <div class="rk-screed-verdict-mark">60 − 16 = 44 mm, nie 30 mm</div>
        </div>
      </section>

      <section class="rk-screed-section" id="rk-screed-pojecia" aria-labelledby="rk-screed-h2-2">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">02</div>
          <div><h2 id="rk-screed-h2-2">Beton, jastrych cementowy CT i jastrych anhydrytowy CA – co jest czym?</h2><p>Precyzyjna nazwa ułatwia zamówienie właściwego materiału i ocenę dokumentów.</p></div>
        </div>

        <p>Fraza <strong>wylewka betonowa na ogrzewanie podłogowe</strong> jest powszechnie używana przez inwestorów, lecz technicznie najczęściej opisuje <strong>jastrych cementowy</strong>, oznaczany skrótem CT. To warstwa podkładowa wykonywana na izolacji i oddzielona od konstrukcji budynku taśmą brzegową. Nie jest automatycznie tym samym co beton konstrukcyjny przeznaczony na strop, fundament albo płytę.</p>

        <div class="rk-screed-term-grid">
          <div class="rk-screed-term"><b>Jastrych cementowy – CT</b><p>Podkład na spoiwie cementowym. Może mieć konsystencję półsuchą albo płynną. Odmiana, skład i deklarowane parametry wpływają na skurcz, grubość, pielęgnację i termin nagrzewania.</p></div>
          <div class="rk-screed-term"><b>Jastrych na bazie siarczanu wapnia – CA</b><p>Potocznie nazywany anhydrytowym. Zwykle dobrze otacza rury i może ograniczać liczbę szczelin, ale nie jest rozwiązaniem automatycznie najlepszym dla każdego pomieszczenia.</p></div>
          <div class="rk-screed-term"><b>Beton konstrukcyjny</b><p>Materiał projektowany do elementów nośnych. Jego receptura, kruszywo i sposób wbudowania nie muszą odpowiadać wymaganiom cienkiej, pływającej i ogrzewanej warstwy podłogowej.</p></div>
        </div>

        <p>Jastrych grzejny działa jako płyta pływająca na warstwie izolacyjnej. Przenosi obciążenia, chroni przewody, rozprowadza energię między rurami i tworzy podłoże pod okładzinę. Jego duża masa zwiększa bezwładność: stabilizuje temperaturę, lecz spowalnia reakcję na zmianę nastaw. Dlatego strategia sterowania powinna uwzględniać budynek, źródło ciepła i <a href="https://projekt-ogrzewania.pl/sterownik-regulator-pogodowy/">regulację pogodową</a>, a nie opierać się na gwałtownym włączaniu i wyłączaniu obiegów.</p>

        <div class="rk-screed-truth"><p><strong>Ważne:</strong> folia leżąca bezpośrednio pod jastrychem nie działa jak „lustro ciepła” w taki sposób jak warstwa refleksyjna przy szczelinie powietrznej. W systemie mokrym może pełnić funkcję warstwy rozdzielającej, poślizgowej, przeciwwilgociowej albo nadruku montażowego. O ograniczeniu strat w dół decyduje przede wszystkim właściwa <a href="https://projekt-ogrzewania.pl/jakie-sa-najlepsze-sposoby-izolacji-pod-ogrzewanie-podlogowe/">izolacja pod ogrzewaniem podłogowym</a>.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-grubosc" aria-labelledby="rk-screed-h2-3">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">03</div>
          <div><h2 id="rk-screed-h2-3">Grubość 6, 6,5, 7 i 8 cm przy rurze 16 mm</h2><p>Prosta tabela ujawnia częsty błąd w odejmowaniu średnicy przewodu.</p></div>
        </div>

        <div class="rk-screed-formula">
          <p><strong>Podstawowa zależność geometryczna:</strong></p>
          <code>c = h − d − e</code>
          <p>gdzie: <strong>c</strong> — warstwa nad rurą, <strong>h</strong> — grubość całkowita mierzona od przyjętej warstwy odniesienia, <strong>d</strong> — średnica zewnętrzna rury, <strong>e</strong> — odległość spodu rury od tej warstwy. Gdy rura 16 mm leży bezpośrednio na niej, dla 60 mm jastrychu: <strong>c = 60 − 16 − 0 = 44 mm</strong>.</p>
        </div>

        <div class="rk-screed-table-wrap">
          <table class="rk-screed-table">
            <thead><tr><th>Grubość całkowita</th><th>Rura</th><th>Podniesienie spodu rury</th><th>Warstwa nad rurą</th><th>Orientacyjna masa przy 2100 kg/m³</th></tr></thead>
            <tbody>
              <tr><td data-label="Grubość"><strong>60 mm</strong></td><td data-label="Rura">16 mm</td><td data-label="Podniesienie">0 mm</td><td data-label="Nad rurą"><strong>44 mm</strong></td><td data-label="Masa">około 126 kg/m²</td></tr>
              <tr><td data-label="Grubość"><strong>65 mm</strong></td><td data-label="Rura">16 mm</td><td data-label="Podniesienie">0 mm</td><td data-label="Nad rurą"><strong>49 mm</strong></td><td data-label="Masa">około 137 kg/m²</td></tr>
              <tr><td data-label="Grubość"><strong>70 mm</strong></td><td data-label="Rura">16 mm</td><td data-label="Podniesienie">0 mm</td><td data-label="Nad rurą"><strong>54 mm</strong></td><td data-label="Masa">około 147 kg/m²</td></tr>
              <tr><td data-label="Grubość"><strong>80 mm</strong></td><td data-label="Rura">16 mm</td><td data-label="Podniesienie">0 mm</td><td data-label="Nad rurą"><strong>64 mm</strong></td><td data-label="Masa">około 168 kg/m²</td></tr>
            </tbody>
          </table>
        </div>

        <div class="rk-screed-note"><p><strong>Uwaga na maty i listwy:</strong> jeżeli spód rury znajduje się 5 mm nad warstwą, od każdego wyniku w kolumnie „nad rurą” odejmij kolejne 5 mm. Mierz rzeczywisty najwyższy punkt rury, a nie tylko wysokość reperu przy ścianie.</p></div>

        <h3>Co rzeczywiście wpływa na wymaganą grubość?</h3>
        <div class="rk-screed-card-grid four">
          <div class="rk-screed-card"><div class="rk-screed-card-icon">F</div><h4>Wytrzymałość na zginanie</h4><p>Klasa F opisuje odporność na naprężenia zginające, lecz sama nie wyznacza całej konstrukcji.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">Q</div><h4>Obciążenia użytkowe</h4><p>Inaczej analizuje się sypialnię, garaż, spiżarnię z regałami i przestrzeń z ciężkim urządzeniem.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">Δ</div><h4>Ściśliwość izolacji</h4><p>Podłoże podatne ugina się pod jastrychem. Liczy się nie tylko deklaracja samej płyty, ale cały układ warstw.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">G</div><h4>Geometria i szczeliny</h4><p>Długie, wąskie lub nieregularne pola generują inne naprężenia niż zwarty prostokąt.</p></div>
        </div>

        <p>Sam gęstszy <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">rozstaw rur 10 albo 15 cm</a> nie jest powodem, aby lokalnie pogrubiać jastrych. Rozstaw zmienia moc powierzchniową, długość przewodów i rozkład temperatur, natomiast grubość płyty ustala się według mechaniki oraz dokumentacji systemu.</p>

        <h3>Dlaczego nie podajemy jednego „minimum z normy”?</h3>
        <p>EN 13813 klasyfikuje właściwości materiałów na podkłady, lecz nie nadaje każdemu ogrzewanemu podkładowi jednej uniwersalnej grubości. Wymaganie trzeba odczytać dla wybranego wyrobu i konstrukcji. Przykładowo dokumentacja systemu <a href="https://www.uponor.com/getmedia/6acb6e75-f915-4729-bfa5-6fa8222d4164/uponor-tacker-technical-information-05-2014?disposition=attachment&amp;sitename=UponorInternational" target="_blank" rel="noopener nofollow">Uponor Tacker</a> pokazuje warianty obliczeniowe z 45 mm jastrychu cementowego nad rurą, natomiast aktualna karta <a href="https://knauf.com/api/download-center/v1/assets/ab2bf54d-e6b6-4af6-a615-8423f521a9c1?country=pl&amp;download=true" target="_blank" rel="noopener nofollow">Knauf FE 50 Largo</a> wymaga co najmniej 35 mm nad elementem grzejnym. To dwa przykłady systemowe, a nie wartości, które wolno przenosić na dowolny materiał.</p>
      </section>

      <section class="rk-screed-section" id="rk-screed-kalkulator" aria-labelledby="rk-screed-h2-4">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">04</div>
          <div><h2 id="rk-screed-h2-4">Interaktywny analizator przekroju jastrychu</h2><p>Sprawdź rzeczywistą warstwę nad rurą, wymaganą wysokość, masę i pojemność cieplną.</p></div>
        </div>

        <div class="rk-screed-lab" data-rk-screed-lab>
          <div class="rk-screed-lab-head">
            <h3>Analizator grubości i masy wylewki</h3>
            <p>Wartość minimalnej otuliny przepisz z aktualnej karty wybranego produktu. Narzędzie ocenia wyłącznie geometrię względem wpisanej wartości — nie wydaje oceny konstrukcyjnej.</p>
            <div class="rk-screed-presets" aria-label="Przykładowe grubości całkowite">
              <button class="rk-screed-preset" type="button" data-screed-preset="six">6 cm</button>
              <button class="rk-screed-preset is-active" type="button" data-screed-preset="standard">6,5 cm</button>
              <button class="rk-screed-preset" type="button" data-screed-preset="seven">7 cm</button>
              <button class="rk-screed-preset" type="button" data-screed-preset="eight">8 cm</button>
            </div>
          </div>

          <div class="rk-screed-lab-grid">
            <div class="rk-screed-controls">
              <div class="rk-screed-input-grid">
                <div class="rk-screed-control"><label for="rk-screed-total">Grubość całkowita <output id="rk-screed-total-out">65 mm</output></label><input id="rk-screed-total" type="range" min="35" max="100" step="1" value="65"></div>
                <div class="rk-screed-control"><label for="rk-screed-diameter">Średnica zewnętrzna rury <output id="rk-screed-diameter-out">16 mm</output></label><input id="rk-screed-diameter" type="range" min="10" max="25" step="1" value="16"></div>
                <div class="rk-screed-control"><label for="rk-screed-elevation">Podniesienie spodu rury <output id="rk-screed-elevation-out">0 mm</output></label><input id="rk-screed-elevation" type="range" min="0" max="20" step="1" value="0"></div>
                <div class="rk-screed-control"><label for="rk-screed-required">Minimum nad rurą z karty produktu <output id="rk-screed-required-out">45 mm</output></label><input id="rk-screed-required" type="range" min="15" max="70" step="1" value="45"></div>
                <div class="rk-screed-control"><label for="rk-screed-area">Analizowana powierzchnia <output id="rk-screed-area-out">100 m²</output></label><input id="rk-screed-area" type="range" min="5" max="300" step="1" value="100"></div>
                <div class="rk-screed-control"><label for="rk-screed-density">Gęstość wyrobu <output id="rk-screed-density-out">2100 kg/m³</output></label><input id="rk-screed-density" type="range" min="1600" max="2400" step="10" value="2100"></div>
                <div class="rk-screed-control"><label for="rk-screed-cp">Ciepło właściwe <output id="rk-screed-cp-out">0,88 kJ/kgK</output></label><input id="rk-screed-cp" type="range" min="0.70" max="1.10" step="0.01" value="0.88"></div>
                <div class="rk-screed-control"><label for="rk-screed-lambda">Przewodność λ <output id="rk-screed-lambda-out">1,40 W/mK</output></label><input id="rk-screed-lambda" type="range" min="0.60" max="2.20" step="0.05" value="1.40"></div>
              </div>
              <div class="rk-screed-status is-ok" id="rk-screed-lab-warning" role="status" aria-live="polite">Geometrycznie pozostaje 4 mm zapasu ponad wpisane minimum produktu.</div>
            </div>

            <div class="rk-screed-visual">
              <div class="rk-screed-results">
                <div class="rk-screed-result is-accent"><span>Rzeczywista warstwa nad rurą</span><strong id="rk-screed-cover-result">49 mm</strong></div>
                <div class="rk-screed-result"><span>Wymagana grubość całkowita</span><strong id="rk-screed-required-total-result">61 mm</strong></div>
                <div class="rk-screed-result"><span>Różnica względem wpisanego minimum</span><strong id="rk-screed-margin-result">+4 mm</strong></div>
                <div class="rk-screed-result"><span>Objętość brutto</span><strong id="rk-screed-volume-result">6,50 m³</strong></div>
                <div class="rk-screed-result"><span>Masa na 1 m²</span><strong id="rk-screed-load-result">137 kg/m²</strong></div>
                <div class="rk-screed-result"><span>Masa całkowita</span><strong id="rk-screed-mass-result">13,7 t</strong></div>
                <div class="rk-screed-result"><span>Pojemność na 1 K</span><strong id="rk-screed-capacity-result">3,3 kWh/K</strong></div>
                <div class="rk-screed-result"><span>Opór 1D samej warstwy</span><strong id="rk-screed-resistance-result">0,046 m²K/W</strong></div>
              </div>

              <div class="rk-screed-cross-wrap">
                <div class="rk-screed-cross-card">
                  <span class="rk-screed-cross-title">Dynamiczny przekrój — geometria poglądowa</span>
                  <svg class="rk-screed-cross" id="rk-screed-cross" viewBox="0 0 360 250" role="img" aria-labelledby="rk-screed-cross-svg-title rk-screed-cross-svg-desc">
                    <title id="rk-screed-cross-svg-title">Przekrój jastrychu z rurą ogrzewania podłogowego</title>
                    <desc id="rk-screed-cross-svg-desc">Schemat pokazuje grubość całkowitą, położenie rury i warstwę nad jej górną krawędzią.</desc>
                    <defs>
                      <marker id="rk-screed-arrow-start" markerWidth="8" markerHeight="8" refX="4" refY="4" orient="auto"><path d="M8,0 L0,4 L8,8 Z" fill="#078fbe"></path></marker>
                      <marker id="rk-screed-arrow-end" markerWidth="8" markerHeight="8" refX="4" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8 Z" fill="#078fbe"></path></marker>
                    </defs>
                    <rect class="rk-screed-layer-floor" x="28" y="22" width="304" height="20" rx="4"></rect>
                    <rect class="rk-screed-layer-screed" id="rk-screed-svg-screed" x="28" y="42" width="304" height="148"></rect>
                    <rect class="rk-screed-layer-insulation" x="28" y="190" width="304" height="38"></rect>
                    <circle class="rk-screed-pipe" id="rk-screed-svg-pipe" cx="170" cy="161" r="18"></circle>
                    <line class="rk-screed-dimension" id="rk-screed-svg-cover-line" x1="277" y1="47" x2="277" y2="140"></line>
                    <text id="rk-screed-svg-cover-text" x="286" y="98">49 mm nad rurą</text>
                    <line class="rk-screed-dimension" id="rk-screed-svg-total-line" x1="56" y1="45" x2="56" y2="187"></line>
                    <text id="rk-screed-svg-total-text" x="65" y="118">65 mm łącznie</text>
                    <text x="38" y="36">okładzina</text><text x="38" y="73">jastrych</text><text x="38" y="215">warstwa odniesienia</text>
                  </svg>
                  <div class="rk-screed-legend"><span><i></i>jastrych</span><span class="pipe"><i></i>rura</span><span class="insulation"><i></i>warstwa odniesienia</span></div>
                </div>

                <div class="rk-screed-energy-card">
                  <span class="rk-screed-energy-title">Masa i pojemność cieplna przy zmianie grubości</span>
                  <svg class="rk-screed-energy-chart" id="rk-screed-energy-chart" viewBox="0 0 420 250" role="img" aria-labelledby="rk-screed-chart-title rk-screed-chart-desc">
                    <title id="rk-screed-chart-title">Wpływ grubości na masę jastrychu</title>
                    <desc id="rk-screed-chart-desc">Wykres pokazuje masę na metr kwadratowy dla warstw 50, 60, 70 i 80 milimetrów.</desc>
                    <defs><linearGradient id="rk-screed-bar-gradient" x1="0" y1="1" x2="0" y2="0"><stop offset="0" stop-color="#078fbe"></stop><stop offset="1" stop-color="#28c9da"></stop></linearGradient></defs>
                    <line class="rk-screed-axis-line" x1="46" y1="205" x2="396" y2="205"></line>
                    <line class="rk-screed-axis-line" x1="46" y1="30" x2="46" y2="205"></line>
                    <g id="rk-screed-bars"></g>
                    <text x="8" y="23">kg/m²</text>
                  </svg>
                </div>
              </div>
            </div>
          </div>
          <div class="rk-screed-disclaimer"><strong>Co oznacza wynik:</strong> komunikat „geometrycznie spełnia” odnosi się tylko do minimalnej warstwy nad rurą wpisanej przez użytkownika. Narzędzie nie zna klasy jastrychu, obciążeń, ściśliwości izolacji, lokalnych przewężeń, tolerancji wykonawczych, układu szczelin ani nośności stropu. Objętość jest wartością brutto bez potrącania rur i bez rezerwy technologicznej.</div>
        </div>

        <div class="rk-screed-formula">
          <p><strong>Wzory użyte w analizatorze:</strong></p>
          <code>c = h − d − e &nbsp; • &nbsp; hₘᵢₙ = d + e + cₘᵢₙ &nbsp; • &nbsp; V = A × h &nbsp; • &nbsp; m = ρ × V &nbsp; • &nbsp; C = m × cₚ / 3600 &nbsp; • &nbsp; R = h / λ</code>
          <p>Parametry ρ, cₚ i λ należy przepisać z dokumentacji wybranego wyrobu. Opór R jest prostym porównaniem jednowymiarowym samej warstwy, a nie pełnym obliczeniem wydajności podłogi według ISO 11855.</p>
        </div>

        <aside class="rk-screed-cta" aria-label="Projekt przed wykonaniem jastrychu">
          <span class="rk-screed-cta-kicker">Wynik analizatora kończy geometrię, ale nie projekt</span>
          <h3>Przed wylaniem trzeba skoordynować całą podłogę</h3>
          <p>Analizator nie zna obciążeń, ściśliwości izolacji, podziału na pola, temperatury powierzchni, oporu okładziny ani rzeczywistego przebiegu rur. Jeżeli wysokości są na granicy albo dokumentacja instalacji nie określa parametrów dla każdego pomieszczenia, korektę trzeba wykonać przed przyjazdem ekipy jastrychowej.</p>
          <a class="rk-screed-cta-link rk-screed-sales-cta" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt przed wykonaniem jastrychu</a>
          <small>Odnośnik prowadzi do strony sprzedażowej Projekt-Ogrzewania.pl — serwisu należącego do autora artykułu.</small>
        </aside>
      </section>

      <section class="rk-screed-section" id="rk-screed-material" aria-labelledby="rk-screed-h2-5">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">05</div>
          <div><h2 id="rk-screed-h2-5">Wylewka cementowa czy anhydrytowa na ogrzewanie podłogowe?</h2><p>Nie ma zwycięzcy niezależnego od warunków budowy i pomieszczenia.</p></div>
        </div>

        <div class="rk-screed-table-wrap">
          <table class="rk-screed-table">
            <thead><tr><th>Kryterium</th><th>Jastrych cementowy CT</th><th>Jastrych na bazie siarczanu wapnia CA</th><th>Decyzja projektowa</th></tr></thead>
            <tbody>
              <tr><td data-label="Kryterium"><strong>Spoiwo</strong></td><td data-label="CT">Cement; dostępne są mieszanki półsuche, płynne i modyfikowane.</td><td data-label="CA">Siarczan wapnia; często występuje w konsystencji płynnej.</td><td data-label="Decyzja">Nie porównuj wyłącznie nazw. Sprawdź deklarację konkretnego wyrobu.</td></tr>
              <tr><td data-label="Kryterium"><strong>Skurcz i pola</strong></td><td data-label="CT">Zwykle większa wrażliwość na skurcz wysychania; ważne są pielęgnacja i układ szczelin.</td><td data-label="CA">Zwykle mniejszy skurcz i możliwość większych pól, ale granice nadal określa system i geometria.</td><td data-label="Decyzja">Plan szczelin powinien istnieć przed układaniem rur.</td></tr>
              <tr><td data-label="Kryterium"><strong>Otoczenie rur</strong></td><td data-label="CT">Zależy od konsystencji i zagęszczenia. Półsuchy materiał wymaga starannego wbudowania wokół przewodów.</td><td data-label="CA">Płynna konsystencja zwykle dobrze otacza przewody i ogranicza pustki.</td><td data-label="Decyzja">Sposób wykonania musi odpowiadać konsystencji, a nie przyzwyczajeniu ekipy.</td></tr>
              <tr><td data-label="Kryterium"><strong>Wilgoć</strong></td><td data-label="CT">Dobrze sprawdza się także w pomieszczeniach mokrych, przy poprawnej hydroizolacji i okładzinie.</td><td data-label="CA">Wymaga ścisłego przestrzegania zakresu zastosowania i ochrony przed trwałym zawilgoceniem.</td><td data-label="Decyzja">Łazienka nie zwalnia z hydroizolacji podpłytkowej niezależnie od spoiwa.</td></tr>
              <tr><td data-label="Kryterium"><strong>Przewodność cieplna λ</strong></td><td data-label="CT">Zależy od receptury, gęstości, kruszywa i wilgotności.</td><td data-label="CA">Również zależy od konkretnego produktu; nie zawsze automatycznie przewyższa każdy CT.</td><td data-label="Decyzja">Do obliczeń wpisuj wartość deklarowaną, a nie zakres znaleziony w reklamie.</td></tr>
              <tr><td data-label="Kryterium"><strong>Wygrzewanie</strong></td><td data-label="CT">Dla standardowego cementowego jastrychu PN-EN 1264-4 przewiduje rozpoczęcie nagrzewania po okresie wiązania, zwykle nie wcześniej niż po 21 dniach.</td><td data-label="CA">Dla standardowego CA norma wskazuje zwykle co najmniej 7 dni.</td><td data-label="Decyzja">Mieszanki specjalne mogą mieć inny harmonogram i zawsze wymagają instrukcji wyrobu.</td></tr>
            </tbody>
          </table>
        </div>

        <div class="rk-screed-note"><p><strong>„Anhydryt jest zawsze najlepszy” to zbyt mocne zdanie.</strong> Może być bardzo dobrym rozwiązaniem w suchym wnętrzu i przy dobrze zorganizowanej budowie. Cementowy CT może być lepszy przy innym harmonogramie, wilgotności, obciążeniu albo dostępności wykonawców. Szersze porównanie materiałów, wykonania i dojrzewania znajdziesz w osobnym <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">przewodniku po wylewce na ogrzewanie podłogowe</a>; tutaj pozostajemy przy grubości i geometrii.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-klasy" aria-labelledby="rk-screed-h2-6">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">06</div>
          <div><h2 id="rk-screed-h2-6">Co oznacza CT-C20-F4, CA-C25-F5 i przewodność cieplna λ?</h2><p>Oznaczenie klasy jest punktem wyjścia, a nie kompletnym projektem warstwy.</p></div>
        </div>

        <p>Norma PN-EN 13813 klasyfikuje materiały na podkłady podłogowe. W oznaczeniu <strong>CT-C20-F4</strong> litery CT informują o spoiwie cementowym, C20 oznacza klasę wytrzymałości na ściskanie, a F4 klasę wytrzymałości na zginanie. W zapisie <strong>CA-C25-F5</strong> CA wskazuje jastrych na bazie siarczanu wapnia. Liczby nie mówią jednak, jaka grubość jest bezpieczna na konkretnej izolacji ani jak mają przebiegać szczeliny.</p>

        <div class="rk-screed-card-grid three">
          <div class="rk-screed-card"><div class="rk-screed-card-icon">C</div><h4>Ściskanie</h4><p>Wartość C opisuje wytrzymałość próbki na ściskanie w warunkach badania. Nie zastępuje analizy płyty pływającej.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">F</div><h4>Zginanie</h4><p>Klasa F jest szczególnie ważna, gdy podłoże jest podatne, występują obciążenia punktowe lub ogranicza się grubość.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">λ</div><h4>Przewodzenie ciepła</h4><p>λ [W/(m·K)] opisuje przepływ ciepła przez materiał. Do modelu podłogi należy przyjąć wartość wiarygodnie zadeklarowaną dla produktu.</p></div>
        </div>

        <div class="rk-screed-formula">
          <p><strong>Opór cieplny samego jastrychu:</strong></p>
          <code>R<sub>jastrychu</sub> = h / λ</code>
          <p>Dla 61 mm i λ = 1,40 W/(m·K) opór wynosi około 0,044 m²K/W. Nie jest to opór całej podłogi: trzeba dodać klej, okładzinę i pozostałe warstwy znajdujące się nad rurami.</p>
        </div>

        <p>Wysoka λ może poprawić przekazywanie ciepła, ale nie „usuwa” bezwładności wynikającej z masy. Dwa jastrychy o podobnej przewodności mogą inaczej reagować, jeśli różnią się grubością i gęstością. Moc podłogi należy obliczać razem z temperaturą wody, rozstawem rur i oporem okładziny. Właśnie dlatego <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">profesjonalny projekt ogrzewania podłogowego</a> powinien znać docelową konstrukcję posadzki.</p>
      </section>

      <section class="rk-screed-section" id="rk-screed-zbrojenie" aria-labelledby="rk-screed-h2-7">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">07</div>
          <div><h2 id="rk-screed-h2-7">Czy wylewkę cementową na podłogówkę trzeba zbroić?</h2><p>Odpowiedź „zawsze siatka” jest tak samo błędna jak „włókna zawsze wystarczą”.</p></div>
        </div>

        <p>Zbrojenie nie powstrzymuje skurczu chemicznego ani termicznego. Może ograniczać szerokość rys, zwiększać zdolność do przenoszenia naprężeń i pomagać utrzymać spójność pola po zarysowaniu. Skuteczność zależy od materiału, ilości, zakotwienia i przede wszystkim położenia. Siatka leżąca na izolacji pod rurami nie spełnia tej samej funkcji co zbrojenie umieszczone w zaprojektowanej strefie jastrychu.</p>

        <div class="rk-screed-table-wrap">
          <table class="rk-screed-table">
            <thead><tr><th>Rozwiązanie</th><th>Co może robić?</th><th>Czego nie załatwia?</th><th>Co sprawdzić?</th></tr></thead>
            <tbody>
              <tr><td data-label="Rozwiązanie"><strong>Siatka stalowa</strong></td><td data-label="Funkcja">Może kontrolować rozwój rys i współpracować z płytą po zarysowaniu.</td><td data-label="Ograniczenie">Położona przypadkowo albo dociśnięta do izolacji nie działa zgodnie z założeniem.</td><td data-label="Sprawdź">Średnicę, oczko, zakłady, dystanse, otulinę i kolizje z rurami.</td></tr>
              <tr><td data-label="Rozwiązanie"><strong>Włókna polimerowe</strong></td><td data-label="Funkcja">Mikrowłókna mogą ograniczać rysy skurczu plastycznego; inne włókna mogą mieć szerszą funkcję zadeklarowaną przez system.</td><td data-label="Ograniczenie">Nie każdy dodatek z worka zastępuje konstrukcyjną siatkę albo właściwy podział na pola.</td><td data-label="Sprawdź">Rodzaj włókna, dawkę i deklarowaną funkcję w recepturze jastrychu.</td></tr>
              <tr><td data-label="Rozwiązanie"><strong>Włókna stalowe lub makro</strong></td><td data-label="Funkcja">W zaprojektowanym systemie mogą zwiększyć ciągliwość i nośność po zarysowaniu.</td><td data-label="Ograniczenie">Nie wolno dobierać ich wyłącznie na podstawie podobieństwa nazwy.</td><td data-label="Sprawdź">Obliczenia, dokumentację wyrobu, dawkowanie i zgodność z posadzką.</td></tr>
              <tr><td data-label="Rozwiązanie"><strong>Brak dodatkowego zbrojenia</strong></td><td data-label="Funkcja">Możliwy w systemie, który dopuszcza taki układ przy właściwej klasie, grubości i geometrii.</td><td data-label="Ograniczenie">Nie zwalnia z pielęgnacji, szczelin i sprawdzenia obciążeń.</td><td data-label="Sprawdź">Jednoznaczny zapis w dokumentacji systemowej lub projekcie.</td></tr>
            </tbody>
          </table>
        </div>

        <div class="rk-screed-warning"><p><strong>Nie dodawaj przypadkowo wody do mieszanki, aby „lepiej się rozlała”.</strong> Zmiana wskaźnika woda–spoiwo może zwiększyć skurcz, porowatość i osłabić parametry. Plastyfikator, włókna i woda muszą należeć do kontrolowanej receptury, a nie do improwizacji na budowie.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-dylatacje" aria-labelledby="rk-screed-h2-8">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">08</div>
          <div><h2 id="rk-screed-h2-8">Dylatacje w wylewce na ogrzewaniu podłogowym</h2><p>Szczeliny należy skoordynować z geometrią pól i przebiegiem obwodów przed montażem rur.</p></div>
        </div>

        <div class="rk-screed-card-grid four">
          <div class="rk-screed-card"><div class="rk-screed-card-icon">O</div><h4>Obwodowa</h4><p>Taśma oddziela ogrzewaną płytę od ścian, słupów, progów i innych elementów pionowych.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">K</div><h4>Konstrukcyjna</h4><p>Szczelina istniejąca w konstrukcji budynku powinna być przeniesiona przez kolejne warstwy zgodnie z projektem.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">P</div><h4>Podziałowa</h4><p>Dzieli jastrych na pola o geometrii i wielkości dopuszczonej przez materiał oraz warunki pracy.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">R</div><h4>Robocza lub kontrolna</h4><p>Wynika z etapowania i technologii. Jej funkcji nie należy mylić z pełną szczeliną ruchową.</p></div>
        </div>

        <p>Popularna zasada „dylatacja powyżej 40 m² albo przy boku dłuższym niż 8 m” nie jest przepisem działającym dla każdego jastrychu. Ważne są proporcje pola, przewężenia, kształt litery L, przejścia drzwiowe, różne temperatury, sąsiednie strefy oraz dokumentacja produktu. Długi korytarz może wymagać innego podziału niż zwarty salon o podobnej powierzchni.</p>

        <div class="rk-screed-truth"><p><strong>Pętle nie powinny przechodzić przez szczeliny ruchowe.</strong> Jeżeli przez zaprojektowaną szczelinę muszą przejść przewody przyłączeniowe, prowadzi się je w odpowiednio długich tulejach ochronnych i ogranicza liczbę takich przejść. Rozwiązanie trzeba pokazać na rzucie. Szersze omówienie zawiera poradnik o <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacji brzegowej i dylatacjach podłogówki</a>.</p></div>

        <h3>Co dzieje się z okładziną nad szczeliną?</h3>
        <p>Szczelinę ruchową jastrychu co do zasady odwzorowuje się w okładzinie. Przykrycie jej sztywną płytką i klejem może przenieść naprężenie na gotową podłogę. Profile, elastyczne uszczelnienia i układ fug dobiera się wspólnie z wykonawcą posadzki. Nie każda nacięta rysa w jastrychu jest natomiast szczeliną konstrukcyjną; naprawa zależy od przyczyny i aktywności pęknięcia.</p>
      </section>

      <section class="rk-screed-section" id="rk-screed-przed" aria-labelledby="rk-screed-h2-9">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">09</div>
          <div><h2 id="rk-screed-h2-9">Co sprawdzić przed wylaniem jastrychu?</h2><p>Po zakryciu rur poprawka zwykle oznacza kucie albo trwały kompromis.</p></div>
        </div>

        <div class="rk-screed-check-grid">
          <div class="rk-screed-check"><div class="rk-screed-check-no">01</div><h4>Równość i nośność podłoża</h4><p>Izolacja musi leżeć stabilnie, bez pustek i klinowania. Instalacje pod nią powinny być wyrównane warstwą, a nie przykryte przypadkowo łamiącymi się płytami.</p></div>
          <div class="rk-screed-check"><div class="rk-screed-check-no">02</div><h4>Izolacja brzegowa</h4><p>Taśma ma tworzyć ciągłe oddzielenie także przy słupach, ościeżach, podejściach i innych elementach pionowych.</p></div>
          <div class="rk-screed-check"><div class="rk-screed-check-no">03</div><h4>Mocowanie i przebieg rur</h4><p>Przewody nie mogą wypływać ani zmieniać rozstawu. Trasy powinny odpowiadać projektowi i pozostawać z dala od przyszłych mocowań.</p></div>
          <div class="rk-screed-check"><div class="rk-screed-check-no">04</div><h4>Szczeliny i tuleje</h4><p>Podział pól oraz przejścia przyłączeń przez dylatacje muszą być przygotowane przed rozpoczęciem podawania mieszanki.</p></div>
          <div class="rk-screed-check"><div class="rk-screed-check-no">05</div><h4>Próba szczelności</h4><p>Obwody trzeba napełnić, odpowietrzyć, sprawdzić i udokumentować zgodnie z PN-EN 1264-4 oraz instrukcją systemu.</p></div>
          <div class="rk-screed-check"><div class="rk-screed-check-no">06</div><h4>Repery wysokościowe</h4><p>Poziomy powinny uwzględniać wszystkie pomieszczenia, progi, schody, odpływy i różne grubości docelowych okładzin.</p></div>
        </div>

        <h3>Jak rozumieć próbę ciśnieniową?</h3>
        <p>W typowym układzie wodnym próbę wykonuje się wodą przed przykryciem rur, przy ciśnieniu równym dwukrotności ciśnienia roboczego, nie mniejszym niż 6 bar, jeżeli dokumentacja systemu nie określa inaczej. Wynik i warunki zapisuje się w protokole. Podczas wykonywania jastrychu rury pozostawia się pod ciśnieniem, aby ograniczyć ryzyko zgniecenia i umożliwić zauważenie uszkodzenia, lecz nie oznacza to automatycznie utrzymywania pełnego ciśnienia próbnego przez cały okres dojrzewania. Szczegółowy przebieg opisuje materiał o <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próbie szczelności ogrzewania podłogowego</a>.</p>

        <div class="rk-screed-warning"><p><strong>Ryzyko zamarznięcia:</strong> jeśli budynek zimą nie jest ogrzewany, próba wodna wymaga zabezpieczenia instalacji. Środek przeciwzamrożeniowy, płukanie i późniejsze napełnienie muszą być zgodne z materiałami instalacji oraz źródłem ciepła. Nie wolno zostawić wody w przewodach i liczyć, że jastrych je ochroni.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-wykonanie" aria-labelledby="rk-screed-h2-10">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">10</div>
          <div><h2 id="rk-screed-h2-10">Wykonanie i pielęgnacja wylewki na podłogówce</h2><p>Konsystencja mieszanki narzuca technologię wbudowania.</p></div>
        </div>

        <div class="rk-screed-phase-grid">
          <div class="rk-screed-phase" data-step="01"><b>Przyjęcie mieszanki</b><p>Sprawdza się zamówiony typ, klasę, czas od przygotowania, warunki otoczenia i zgodność dodatków. Niedozwolona jest korekta wodą „na oko”.</p></div>
          <div class="rk-screed-phase" data-step="02"><b>Wbudowanie</b><p>Półsuchy CT rozkłada się i zagęszcza inaczej niż płynny CT albo CA. Wałek odpowietrzający nie jest uniwersalnym narzędziem dla każdego jastrychu.</p></div>
          <div class="rk-screed-phase" data-step="03"><b>Kontrola wysokości</b><p>Grubość sprawdza się w wielu punktach. Lokalna górka nad rurą i niedobór w sąsiedztwie mogą zmienić pracę pola oraz poziomy okładzin.</p></div>
          <div class="rk-screed-phase" data-step="04"><b>Ochrona świeżej powierzchni</b><p>Przeciąg, słońce i szybkie odparowanie sprzyjają naprężeniom. Warunki pielęgnacji zależą od spoiwa i karty produktu.</p></div>
          <div class="rk-screed-phase" data-step="05"><b>Ruch i obciążanie</b><p>Termin wejścia, składowania materiałów i wykonywania ścianek nie wynika wyłącznie z tego, że powierzchnia jest twarda w dotyku.</p></div>
          <div class="rk-screed-phase" data-step="06"><b>Dokumentacja</b><p>Zachowuje się deklarację, numer partii, datę wykonania, temperaturę, protokół próby, grubości i plan pól. To materiał do odbioru i ewentualnej diagnostyki.</p></div>
        </div>

        <p>W przypadku cementowego jastrychu półsuchego kluczowe jest równomierne zagęszczenie wokół rury. Pustka powietrzna pogarsza przekazywanie ciepła i tworzy lokalnie słabszą strefę. Płynna mieszanka ma inne ryzyka: nieszczelna warstwa rozdzielająca może dopuścić do ucieczki materiału, a wypływ rur zmieni ich położenie. Prace powinny być skoordynowane z instalatorem, wykonawcą jastrychu i osobą odpowiadającą za późniejszą posadzkę.</p>

        <div class="rk-screed-note"><p><strong>28 dni nie oznacza automatycznie „suche”.</strong> Jest to charakterystyczny punkt odniesienia dla dojrzewania wielu materiałów cementowych, ale czas osiągnięcia wilgotności wymaganej pod posadzkę zależy od grubości, receptury, temperatury, wilgotności powietrza i wentylacji.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-wygrzewanie" aria-labelledby="rk-screed-h2-11">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">11</div>
          <div><h2 id="rk-screed-h2-11">Wygrzewanie wylewki na ogrzewaniu podłogowym – prawidłowa kolejność</h2><p>Należy rozdzielić cztery procesy, które często wrzuca się do jednego worka.</p></div>
        </div>

        <div class="rk-screed-protocol">
          <div class="rk-screed-protocol-step"><span>ETAP 1</span><h3>Wiązanie i pielęgnacja</h3><p>Świeży materiał osiąga wytrzymałość w warunkach określonych przez producenta. Ogrzewanie nie służy do przyspieszania pierwszej fazy.</p></div>
          <div class="rk-screed-protocol-step"><span>ETAP 2</span><h3>Nagrzewanie funkcjonalne</h3><p>Sprawdza zachowanie jastrychu grzejnego i instalacji w cyklu temperatur zgodnym z normą oraz instrukcją wyrobu.</p></div>
          <div class="rk-screed-protocol-step"><span>ETAP 3</span><h3>Suszenie do okładziny</h3><p>Wymaga wentylacji i kontroli warunków. Sam ukończony protokół funkcjonalny nie dowodzi gotowości pod parkiet albo płytki.</p></div>
          <div class="rk-screed-protocol-step"><span>ETAP 4</span><h3>Pomiar CM i odbiór</h3><p>Wilgotność sprawdza się w oznaczonych miejscach bez rur i porównuje z wymaganiem systemu posadzkowego.</p></div>
        </div>

        <h3>Modelowy protokół według PN-EN 1264-4</h3>
        <p>Dla typowego jastrychu cementowego rozpoczęcie nagrzewania funkcjonalnego następuje po co najmniej 21 dniach, a dla jastrychu na bazie siarczanu wapnia po co najmniej 7 dniach, chyba że producent wyrobu jednoznacznie dopuszcza inny termin. Procedurę zaczyna się temperaturą zasilania około 25°C utrzymywaną przez 3 dni, następnie stosuje maksymalną projektową temperaturę zasilania przez co najmniej 4 dni. Nie jest to nakaz podnoszenia temperatury zawsze o 5°C na dobę ani pozwolenie na ustawienie arbitralnych 45°C. Maksimum wynika z projektu instalacji i ograniczeń materiału.</p>

        <div class="rk-screed-table-wrap">
          <table class="rk-screed-table">
            <thead><tr><th>Pytanie kontrolne</th><th>Prawidłowa odpowiedź</th><th>Błędny skrót</th></tr></thead>
            <tbody>
              <tr><td data-label="Pytanie"><strong>Kiedy zacząć?</strong></td><td data-label="Prawidłowo">Po minimalnym czasie wiązania właściwym dla materiału i po potwierdzeniu wykonawcy.</td><td data-label="Błędnie">„Gdy można już chodzić”.</td></tr>
              <tr><td data-label="Pytanie"><strong>Do jakiej temperatury?</strong></td><td data-label="Prawidłowo">Do maksymalnej projektowej temperatury zasilania, w granicach wyrobu i instalacji.</td><td data-label="Błędnie">„Każdą wylewkę grzejemy do 45–55°C”.</td></tr>
              <tr><td data-label="Pytanie"><strong>Czy po protokole jest sucho?</strong></td><td data-label="Prawidłowo">Nie wiadomo bez pomiaru wilgotności i kryterium docelowej posadzki.</td><td data-label="Błędnie">„Wygrzane znaczy gotowe do klejenia”.</td></tr>
              <tr><td data-label="Pytanie"><strong>Ile schnie?</strong></td><td data-label="Prawidłowo">Zależy od wyrobu, grubości i klimatu; kontroluje się pomiarem.</td><td data-label="Błędnie">„Zawsze 1 mm na dobę”.</td></tr>
            </tbody>
          </table>
        </div>

        <p>Przed uruchomieniem należy otworzyć wszystkie projektowane obwody, zapewnić przepływy i kontrolować temperaturę zasilania. Samo nagrzanie rozdzielacza bez przepływu przez część pętli nie jest pełnym protokołem. Warto zapisać datę, temperatury i czas każdego etapu, a po zakończeniu pozostawić dokument wykonawcy posadzki.</p>
      </section>

      <section class="rk-screed-section" id="rk-screed-posadzka" aria-labelledby="rk-screed-h2-12">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">12</div>
          <div><h2 id="rk-screed-h2-12">Wilgotność wylewki i wybór posadzki</h2><p>Najdroższe błędy często wychodzą dopiero po ułożeniu drewna, paneli albo płytek.</p></div>
        </div>

        <p>Nie istnieje jeden próg wilgotności właściwy dla każdego jastrychu i każdej okładziny. Kryterium zależy między innymi od spoiwa, ogrzewania, metody pomiaru, kleju, hydroizolacji i producenta posadzki. Wynik CM powinien być zapisany wraz z miejscem pobrania próbki. W projekcie instalacji warto wcześniej oznaczyć bezpieczne punkty pomiarowe, aby nie przewiercić rury.</p>

        <div class="rk-screed-card-grid three">
          <div class="rk-screed-card"><div class="rk-screed-card-icon">CM</div><h4>Pomiar, nie kalendarz</h4><p>Data wykonania nie potwierdza gotowości. Należy zmierzyć wilgotność metodą wymaganą przez system posadzkowy.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">R</div><h4>Opór okładziny</h4><p>Gruba deska, podkład i warstwa kleju zwiększają opór nad rurą oraz wymaganą temperaturę wody.</p></div>
          <div class="rk-screed-card"><div class="rk-screed-card-icon">J</div><h4>Szczeliny w wykończeniu</h4><p>Dylatacje ruchowe jastrychu trzeba skoordynować z fugami, profilami i kierunkiem ułożenia okładziny.</p></div>
        </div>

        <p>Podłogi drewniane i laminowane wymagają sprawdzenia dopuszczenia na ogrzewanie podłogowe, maksymalnej temperatury powierzchni i łącznego oporu cieplnego. Porównanie systemów znajduje się w analizie <a href="https://projekt-ogrzewania.pl/podlogi-drewniane-vs-panele-laminowane-co-wybrac-przy-ogrzewaniu-podlogowym/">podłogi drewniane a panele laminowane na podłogówce</a>. Przy płytkach liczy się również zgodność kleju i zaprawy do spoinowania z podłożem ogrzewanym oraz przeniesienie zaprojektowanych szczelin.</p>

        <div class="rk-screed-note"><p><strong>Nie wierć „na pamięć”.</strong> Dokumentacja fotograficzna i rzut rur nie dają stuprocentowej pewności po zmianie skali lub punktów odniesienia. Przed wykonaniem mocowania w podłodze instalację należy zlokalizować odpowiednią metodą.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-bledy" aria-labelledby="rk-screed-h2-13">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">13</div>
          <div><h2 id="rk-screed-h2-13">Pęknięcia, odspojenia i nierówne grzanie – najczęstsze przyczyny</h2><p>Rysa jest objawem; naprawę dobiera się dopiero po rozpoznaniu mechanizmu.</p></div>
        </div>

        <div class="rk-screed-error-grid">
          <div class="rk-screed-error"><div class="rk-screed-error-no">01</div><h4>Za dużo wody</h4><p>Ułatwia rozprowadzanie, lecz może zwiększyć skurcz, segregację, porowatość i spadek wytrzymałości.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">02</div><h4>Przypadkowa grubość</h4><p>Różnice poziomu tworzą miejsca o innej sztywności, masie i czasie reakcji cieplnej.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">03</div><h4>Brak ciągłej taśmy</h4><p>Kontakt ze ścianą lub słupem blokuje swobodną pracę pola i tworzy mostek akustyczny.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">04</div><h4>Zły podział pól</h4><p>Przewężenia, naroża wewnętrzne i długie kształty bez zaplanowanej szczeliny sprzyjają rysom.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">05</div><h4>Pusta przestrzeń przy rurze</h4><p>Niedostateczne otulenie pogarsza kontakt cieplny i może osłabić miejscowo jastrych.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">06</div><h4>Zbyt szybkie wysychanie</h4><p>Przeciąg, słońce lub przedwczesne grzanie tworzą gradient wilgotności i naprężenia.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">07</div><h4>Siatka na izolacji</h4><p>Zbrojenie bez właściwego położenia nie realizuje funkcji przyjętej w projekcie.</p></div>
          <div class="rk-screed-error"><div class="rk-screed-error-no">08</div><h4>Okładzina bez pomiaru</h4><p>Zamknięcie wilgoci może powodować odspojenie, przebarwienia, deformacje lub rozwój pleśni w warstwach.</p></div>
        </div>

        <h3>Czy każdą rysę trzeba rozkuwać?</h3>
        <p>Nie. Najpierw ocenia się szerokość, głębokość, aktywność, przebieg względem szczelin i rur, różnicę wysokości krawędzi oraz nośność podłoża. Rysa skurczowa stabilna wymaga innego postępowania niż pracująca szczelina nad przewężeniem albo pęknięcie wynikające z osiadania izolacji. Zanim zastosuje się zszywanie, żywicę, matę odprężającą albo lokalną wymianę, należy znaleźć przyczynę.</p>

        <div class="rk-screed-truth"><p><strong>Nierówna temperatura powierzchni nie musi oznaczać złej wylewki.</strong> Przyczyną może być brak przepływu, zapowietrzenie, inny rozstaw, grubsza okładzina, strefa bez rury albo błąd nastaw. Diagnostykę zaczyna się od projektu, przepływów i obrazu termicznego, nie od kucia podłogi.</p></div>
      </section>

      <section class="rk-screed-section" id="rk-screed-kroki" aria-labelledby="rk-screed-h2-14">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">14</div>
          <div><h2 id="rk-screed-h2-14">Jak wykonać wylewkę na ogrzewanie podłogowe – kolejność prac</h2><p>Dziesięć etapów od projektu do odbioru posadzki.</p></div>
        </div>

        <ol class="rk-screed-howto">
          <li class="rk-screed-howto-step" id="rk-screed-step-1"><span>01</span><div><h3>Ustal konstrukcję podłogi</h3><p>Wybierz jastrych, klasę, grubość, izolację, okładzinę, obciążenia i wysokości. Sprawdź nośność stropu oraz ściśliwość warstw.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-2"><span>02</span><div><h3>Zaprojektuj ogrzewanie</h3><p>Oblicz obciążenie pomieszczeń, rozstaw, temperaturę zasilania, długości pętli, przepływy i przebieg bez kolizji ze szczelinami.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-3"><span>03</span><div><h3>Przygotuj równe podłoże i izolację</h3><p>Usuń luźne elementy, wyrównaj instalacje, ułóż warstwy bez pustek i wykonaj ciągłą izolację brzegową.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-4"><span>04</span><div><h3>Ułóż i zamocuj rury</h3><p>Zachowaj projektowany rozstaw, promienie gięcia i strefy bez mocowań. Oznacz przejścia, dylatacje i punkty pomiarowe.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-5"><span>05</span><div><h3>Wykonaj próbę szczelności</h3><p>Napełnij, odpowietrz i sprawdź obwody zgodnie z normą oraz systemem. Sporządź protokół i pozostaw instalację pod właściwym ciśnieniem podczas prac.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-6"><span>06</span><div><h3>Zbuduj podział na pola</h3><p>Wykonaj szczeliny, profile i tuleje ochronne zgodnie z planem. Skoordynuj je z progami oraz przyszłą okładziną.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-7"><span>07</span><div><h3>Wbuduj mieszankę</h3><p>Kontroluj recepturę, czas, konsystencję, zagęszczenie i poziomy. Nie dolewaj wody bez zgody technologicznej.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-8"><span>08</span><div><h3>Pielęgnuj i chroń</h3><p>Ogranicz przeciąg, słońce, mróz i przedwczesne obciążenie. Realizuj wymagania właściwe dla spoiwa i produktu.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-9"><span>09</span><div><h3>Przeprowadź nagrzewanie funkcjonalne</h3><p>Po wymaganym czasie uruchom wszystkie obwody, zapisz temperatury i zachowaj maksymalną temperaturę projektową przez wymagany okres.</p></div></li>
          <li class="rk-screed-howto-step" id="rk-screed-step-10"><span>10</span><div><h3>Zmierz wilgotność i odbierz podłoże</h3><p>Wykonaj pomiar w bezpiecznych punktach, oceń rysy, równość i wytrzymałość powierzchni, a następnie przekaż protokoły wykonawcy posadzki.</p></div></li>
        </ol>
      </section>

      <section class="rk-screed-section" id="rk-screed-faq" aria-labelledby="rk-screed-h2-15">
        <div class="rk-screed-section-head">
          <div class="rk-screed-section-no">15</div>
          <div><h2 id="rk-screed-h2-15">FAQ – wylewka betonowa na ogrzewanie podłogowe</h2><p>Odpowiedzi na najczęstsze pytania inwestorów i wykonawców.</p></div>
        </div>

        <div class="rk-screed-faq-list">
          <details class="rk-screed-faq"><summary>Ile centymetrów wylewki powinno być nad rurą ogrzewania podłogowego?</summary><div class="rk-screed-faq-answer"><p>Nie ma jednej wartości właściwej dla wszystkich produktów i podłóg. Warstwę nad rurą ustala się na podstawie typu i klasy jastrychu, obciążenia, podatności izolacji, średnicy przewodu, geometrii pól i dokumentacji systemu. Popularne 4,5 cm jest przykładem spotykanym w części rozwiązań, a nie uniwersalną normą.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy całkowita grubość 6 cm wystarczy przy rurze 16 mm?</summary><div class="rk-screed-faq-answer"><p>Przy 60 mm całkowitej grubości nad rurą 16 mm pozostaje 44 mm. Geometrycznie można to policzyć, ale bezpieczeństwa nie da się potwierdzić bez klasy materiału, obciążenia, rodzaju izolacji, układu szczelin i instrukcji konkretnego jastrychu.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy jastrych cementowy musi mieć siatkę?</summary><div class="rk-screed-faq-answer"><p>Nie zawsze. Dopuszczalne rozwiązanie powinno wynikać z projektu lub dokumentacji systemu. Siatka, włókna i brak dodatkowego zbrojenia mają różne warunki stosowania. Siatka położona bez dystansów na izolacji nie zastępuje prawidłowo zaprojektowanego zbrojenia.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy włókna zastępują siatkę w wylewce?</summary><div class="rk-screed-faq-answer"><p>Tylko wtedy, gdy rodzaj i dawka włókien mają taką funkcję w dokumentacji systemu. Mikrowłókna ograniczające skurcz plastyczny nie są automatycznie zamiennikiem siatki konstrukcyjnej. Nie wolno oceniać wszystkich włókien jako jednego materiału.</p></div></details>
          <details class="rk-screed-faq"><summary>Co jest lepsze na podłogówkę: cement czy anhydryt?</summary><div class="rk-screed-faq-answer"><p>Oba rozwiązania mogą działać bardzo dobrze. CT jest odporny na różne warunki wilgotnościowe i dostępny w wielu odmianach. CA zwykle dobrze otacza rury i ma mniejszy skurcz. Decyzję podejmuje się według pomieszczenia, produktu, harmonogramu, obciążeń, okładziny i jakości wykonawstwa.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy anhydryt ma zawsze lepszą przewodność cieplną?</summary><div class="rk-screed-faq-answer"><p>Nie należy tego zakładać na podstawie samej nazwy spoiwa. Przewodność zależy od receptury, gęstości i wilgotności. Do obliczeń trzeba przyjąć wartość λ deklarowaną dla konkretnego wyrobu w warunkach właściwych dla projektu.</p></div></details>
          <details class="rk-screed-faq"><summary>Po ilu dniach można włączyć ogrzewanie podłogowe?</summary><div class="rk-screed-faq-answer"><p>Dla standardowego jastrychu cementowego nagrzewanie funkcjonalne według PN-EN 1264-4 rozpoczyna się zwykle nie wcześniej niż po 21 dniach, a dla jastrychu na bazie siarczanu wapnia po co najmniej 7 dniach. Produkt specjalny może mieć inny harmonogram zapisany przez producenta.</p></div></details>
          <details class="rk-screed-faq"><summary>Jak wygląda pierwsze wygrzewanie wylewki?</summary><div class="rk-screed-faq-answer"><p>Modelowo stosuje się około 25°C temperatury zasilania przez 3 dni, a następnie maksymalną projektową temperaturę zasilania przez co najmniej 4 dni. Dokładny protokół musi uwzględniać rodzaj jastrychu, instrukcję produktu i parametry instalacji.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy wygrzanie oznacza, że można układać panele lub drewno?</summary><div class="rk-screed-faq-answer"><p>Nie. Wygrzewanie funkcjonalne nie jest dowodem osiągnięcia wilgotności wymaganej przez posadzkę. Gotowość potwierdza pomiar, najczęściej metodą CM, oraz kryterium producenta jastrychu, kleju i okładziny.</p></div></details>
          <details class="rk-screed-faq"><summary>Ile schnie wylewka o grubości 6 cm?</summary><div class="rk-screed-faq-answer"><p>Nie da się wiarygodnie odpowiedzieć regułą „1 mm na dobę”. Czas zależy od receptury, spoiwa, grubości, temperatury, wilgotności i wymiany powietrza. Należy śledzić warunki, przeprowadzić wymagany protokół i zmierzyć wilgotność.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy rury mogą przechodzić przez dylatację?</summary><div class="rk-screed-faq-answer"><p>Pętla grzewcza nie powinna przechodzić z pola do pola przez szczelinę ruchową. Jeśli muszą przejść przewody przyłączeniowe, prowadzi się je w odpowiednich tulejach ochronnych zgodnie z projektem i ogranicza liczbę przejść.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy trzeba utrzymywać 6–8 bar przez cały czas schnięcia?</summary><div class="rk-screed-faq-answer"><p>Nie należy stosować takiej uniwersalnej zasady. Próbę wykonuje się przed zakryciem rur według PN-EN 1264-4 i systemu. Podczas wylewania przewody pozostają pod ciśnieniem, lecz wartość oraz czas utrzymania po pracy powinny wynikać z instrukcji i protokołu, a nie z przypadkowej liczby.</p></div></details>
          <details class="rk-screed-faq"><summary>Czy grubsza wylewka daje cieplejszą podłogę?</summary><div class="rk-screed-faq-answer"><p>Nie automatycznie. Większa masa magazynuje więcej energii i wolniej reaguje, ale moc ustalają także temperatura wody, rozstaw rur, przepływ, opór okładziny i straty pomieszczenia. Nadmierna grubość nie naprawi źle zaprojektowanej instalacji.</p></div></details>
          <details class="rk-screed-faq"><summary>Skąd wiadomo, gdzie później można wiercić?</summary><div class="rk-screed-faq-answer"><p>Trzeba zachować projekt, zdjęcia z punktami odniesienia i dokumentację powykonawczą, a przed wierceniem zlokalizować rury. Samo zdjęcie lub rzut może być niedokładny po zmianie skali, tynkach i przesunięciu osi pomieszczenia.</p></div></details>
        </div>

        <div class="rk-screed-sources">
          <strong>Podstawa techniczna i data weryfikacji</strong>
          Opracowanie zaktualizowano 29 sierpnia 2026 r. Podstawę stanowią oficjalne karty
          <a href="https://www.iso.org/standard/74685.html" target="_blank" rel="noopener nofollow">ISO 11855-5:2021 — wykonanie</a>,
          <a href="https://www.iso.org/standard/74683.html" target="_blank" rel="noopener nofollow">ISO 11855-2:2021 — obliczanie mocy</a>, zakres EN 13813 oraz dokumentacja wskazanych systemów Uponor i Knauf.
          Normy i przykłady producentów nie zastępują deklaracji, instrukcji i projektu konkretnego układu podłogi.
        </div>
      </section>

      <aside class="rk-screed-author-box" aria-label="Informacje o autorze" itemprop="author" itemscope itemtype="https://schema.org/Person">
        <div class="rk-screed-author-head">
          <div><h3>Autor opracowania</h3><p>Praktyka projektowa, wiedza techniczna i język zrozumiały dla inwestora.</p></div>
          <div class="rk-screed-author-mark">E-E-A-T • HVAC</div>
        </div>
        <div class="rk-screed-author-main">
          <div class="rk-screed-author-profile">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski – autor opracowania" width="174" height="174" loading="lazy" itemprop="image">
            <h4 itemprop="name">Robert Kucharski</h4>
            <span class="rk-screed-author-role" itemprop="jobTitle">Projektant instalacji sanitarnych • specjalista systemów HVAC i ogrzewania podłogowego</span>
            <div class="rk-screed-author-social-label">Znajdziesz mnie również:</div>
            <div class="rk-screed-author-social" aria-label="Profile Roberta Kucharskiego w mediach społecznościowych">
              <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener nofollow me" aria-label="Robert Kucharski na LinkedIn" title="LinkedIn"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M5.2 7.7H1.6V22h3.6V7.7ZM3.4 2A2.1 2.1 0 1 0 3.4 6.2 2.1 2.1 0 0 0 3.4 2ZM22.4 13.8c0-4.3-2.3-6.3-5.4-6.3a4.7 4.7 0 0 0-4.2 2.3V7.7H9.2V22h3.6v-7.1c0-1.9.4-3.7 2.7-3.7 2.3 0 2.3 2.1 2.3 3.8v7h3.6l1-8.2Z"/></svg></a>
              <a href="https://www.facebook.com/projektogrzewaniapl" target="_blank" rel="noopener nofollow me" aria-label="Projekt-Ogrzewania.pl na Facebooku" title="Facebook"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M14.2 22v-9h3l.5-3.5h-3.5V7.3c0-1 .3-1.7 1.8-1.7h1.9V2.5c-.3 0-1.5-.1-2.8-.1-2.8 0-4.7 1.7-4.7 4.8v2.3H7.2V13h3.2v9h3.8Z"/></svg></a>
              <a href="https://x.com/Projekt_HVAC" target="_blank" rel="noopener nofollow me" aria-label="Projekt HVAC w serwisie X" title="X"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M18.9 2H22l-6.8 7.8L23.2 22H17l-4.9-6.4L6.5 22H3.3l7.3-8.4L2.8 2h6.4l4.4 5.8L18.9 2Zm-1.1 17.8h1.7L8.3 4.1H6.5l11.3 15.7Z"/></svg></a>
            </div>
          </div>
          <div class="rk-screed-author-content">
            <div class="rk-screed-quote"><blockquote>„Wylewka nie naprawi źle zaprojektowanej podłogówki. Może jedynie dobrze albo źle przenieść do pomieszczenia ciepło, które wcześniej trzeba policzyć.”</blockquote></div>
            <div class="rk-screed-tab-buttons" role="tablist" aria-label="Informacje o autorze">
              <button class="rk-screed-tab-button is-active" type="button" role="tab" aria-selected="true" aria-controls="rk-screed-author-about" id="rk-screed-author-about-tab" data-screed-author-tab="about">O autorze</button>
              <button class="rk-screed-tab-button" type="button" role="tab" aria-selected="false" aria-controls="rk-screed-author-experience" id="rk-screed-author-experience-tab" data-screed-author-tab="experience">Doświadczenie</button>
              <button class="rk-screed-tab-button" type="button" role="tab" aria-selected="false" aria-controls="rk-screed-author-portals" id="rk-screed-author-portals-tab" data-screed-author-tab="portals">Portale</button>
            </div>
            <div class="rk-screed-tab-panel" id="rk-screed-author-about" role="tabpanel" aria-labelledby="rk-screed-author-about-tab" data-screed-author-panel="about">
              <p itemprop="description">Specjalizuję się w projektowaniu wodnego ogrzewania podłogowego, obliczeniach obciążenia cieplnego i hydraulice instalacji. Łączę parametry źródła ciepła, rozstaw rur, przepływy i konstrukcję podłogi w jeden możliwy do wykonania układ.</p>
            </div>
            <div class="rk-screed-tab-panel" id="rk-screed-author-experience" role="tabpanel" aria-labelledby="rk-screed-author-experience-tab" data-screed-author-panel="experience" hidden>
              <p>Wieloletnią praktykę projektową uzupełniam tworzeniem technicznych publikacji dla inwestorów i wykonawców. Analizuję zależności między stratami budynku, temperaturą zasilania, mocą powierzchniową, rozstawem, długością pętli, przepływem, oporem hydraulicznym i bezwładnością jastrychu. W poradnikach oddzielam wymagania normowe od zwyczajów wykonawczych i materiałów sprzedażowych.</p>
            </div>
            <div class="rk-screed-tab-panel" id="rk-screed-author-portals" role="tabpanel" aria-labelledby="rk-screed-author-portals-tab" data-screed-author-panel="portals" hidden>
              <p>Jestem właścicielem trzech serwisów branżowych. Powiązanie podaję jawnie, aby czytelnik znał autorstwo i kontekst linkowania.</p>
              <div class="rk-screed-portals">
                <a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a>
                <a href="https://remont.biz.pl/" target="_blank" rel="noopener nofollow">Remont.biz.pl</a>
                <a href="https://sobir.pl/" target="_blank" rel="noopener nofollow">Sobir.pl</a>
              </div>
            </div>
          </div>
        </div>
      </aside>

      <section class="rk-screed-cta" aria-label="Końcowe zamówienie projektu ogrzewania podłogowego">
        <span class="rk-screed-cta-kicker">Zamknij wysokości przed wykonaniem podłogi</span>
        <h3>Otrzymaj projekt skoordynowany z jastrychem i okładziną</h3>
        <p>Dokumentacja określa obciążenie cieplne każdego pomieszczenia, rozstaw i przebieg rur, długości pętli, temperaturę zasilania, przepływy oraz nastawy rozdzielacza. Dzięki temu grubość podłogi, dylatacje i strefy bez rur można uzgodnić przed zakryciem instalacji.</p>
        <a class="rk-screed-cta-link rk-screed-sales-cta" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt ogrzewania podłogowego</a>
        <small>Odnośnik prowadzi do strony sprzedażowej Projekt-Ogrzewania.pl — serwisu należącego do autora artykułu.</small>
      </section>
    </div>
  </div>
</article>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webpage",
      "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/",
      "name": "Grubość wylewki betonowej na ogrzewanie podłogowe — ile cm nad rurą 16 mm?",
      "description": "Jak policzyć grubość całkowitą i warstwę nad rurą 16 mm, sprawdzić masę jastrychu oraz odczytać wymaganie z dokumentacji produktu.",
      "inLanguage": "pl-PL",
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/#website"
      },
      "about": [
        {
          "@type": "Thing",
          "name": "Grubość jastrychu na ogrzewaniu podłogowym"
        },
        {
          "@type": "Thing",
          "name": "Warstwa jastrychu nad rurą 16 mm"
        },
        {
          "@type": "Thing",
          "name": "Masa i pojemność cieplna jastrychu"
        }
      ],
      "mainEntity": {
        "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#article"
      },
      "dateModified": "2026-08-29T12:00:00+02:00",
      "breadcrumb": {
        "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#breadcrumb"
      }
    },
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#article",
      "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/",
      "headline": "Grubość wylewki betonowej na ogrzewanie podłogowe — ile cm nad rurą 16 mm?",
      "alternativeHeadline": "Grubość całkowita i otulina nad rurą ogrzewania podłogowego",
      "description": "Techniczny przewodnik po grubości jastrychu: obliczenia dla rury 16 mm, wpływ położenia przewodu, masa warstwy, wymagania produktu i kontrola przed wylaniem.",
      "inLanguage": "pl-PL",
      "dateModified": "2026-08-29T12:00:00+02:00",
      "author": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "publisher": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "copyrightHolder": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "copyrightYear": 2026,
      "isPartOf": {
        "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webpage"
      },
      "mainEntityOfPage": {
        "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#webpage"
      },
      "wordCount": 4476,
      "proficiencyLevel": "Expert",
      "genre": [
        "poradnik techniczny",
        "ogrzewanie podłogowe",
        "budownictwo"
      ],
      "keywords": [
        "grubość wylewki betonowej na ogrzewanie podłogowe",
        "ile wylewki nad rurą 16 mm",
        "wylewka na podłogówkę 6 cm",
        "jastrych ogrzewany grubość",
        "masa wylewki na m2",
        "otulina rury ogrzewania podłogowego"
      ],
      "about": [
        {
          "@type": "DefinedTerm",
          "name": "Jastrych grzejny",
          "description": "Podkład podłogowy zawierający przewody wodnego ogrzewania powierzchniowego."
        },
        {
          "@type": "DefinedTerm",
          "name": "CT-C20-F4",
          "description": "Przykładowe oznaczenie jastrychu cementowego z klasą wytrzymałości na ściskanie C20 i na zginanie F4."
        },
        {
          "@type": "DefinedTerm",
          "name": "Nagrzewanie funkcjonalne",
          "description": "Kontrolowany cykl temperatur wykonywany po minimalnym okresie wiązania jastrychu grzejnego."
        }
      ],
      "mentions": [
        {
          "@type": "TechArticle",
          "name": "PN-EN 1264-4 – Wodne płaszczyznowe systemy ogrzewania i chłodzenia – Instalowanie"
        },
        {
          "@type": "TechArticle",
          "name": "PN-EN 13813 – Podkłady podłogowe oraz materiały do ich wykonania"
        },
        {
          "@type": "TechArticle",
          "name": "ISO 11855-5:2021 – Installation",
          "url": "https://www.iso.org/standard/74685.html"
        }
      ],
      "citation": [
        "PN-EN 1264-4: Wodne płaszczyznowe systemy ogrzewania i chłodzenia – Część 4: Instalowanie",
        "PN-EN 13813: Podkłady podłogowe oraz materiały do ich wykonania – Materiały – Właściwości i wymagania",
        "https://www.iso.org/standard/74685.html",
        "https://www.iso.org/standard/83785.html"
      ],
      "hasPart": [
        {
          "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#analyzer"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#howto"
        },
        {
          "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#faq"
        }
      ],
      "audience": {
        "@type": "Audience",
        "audienceType": "Inwestorzy, projektanci i wykonawcy ogrzewania podłogowego"
      }
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#analyzer",
      "name": "Interaktywny analizator przekroju jastrychu",
      "description": "Narzędzie oblicza warstwę jastrychu nad rurą, wymaganą grubość całkowitą, różnicę względem wartości z karty produktu, objętość, masę, pojemność cieplną i opór jednowymiarowy.",
      "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-kalkulator",
      "applicationCategory": "EngineeringApplication",
      "applicationSubCategory": "Analizator techniczny",
      "operatingSystem": "Any",
      "browserRequirements": "JavaScript",
      "isAccessibleForFree": true,
      "inLanguage": "pl-PL",
      "creator": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "featureList": [
        "Obliczanie rzeczywistej warstwy nad rurą",
        "Uwzględnienie podniesienia spodu rury",
        "Porównanie z minimum wpisanym z karty produktu",
        "Objętość i masa jastrychu",
        "Pojemność cieplna i opór jednowymiarowy",
        "Dynamiczny przekrój i wykres masy"
      ],
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "PLN"
      }
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#howto",
      "name": "Jak przygotować podłogę i wykonać jastrych nad ogrzewaniem podłogowym",
      "description": "Dziesięć etapów od ustalenia konstrukcji podłogi do odbioru podłoża pod okładzinę.",
      "inLanguage": "pl-PL",
      "supply": [
        {
          "@type": "HowToSupply",
          "name": "Jastrych o zaprojektowanej klasie"
        },
        {
          "@type": "HowToSupply",
          "name": "Izolacja termiczna i brzegowa"
        },
        {
          "@type": "HowToSupply",
          "name": "Rury ogrzewania podłogowego"
        },
        {
          "@type": "HowToSupply",
          "name": "Profile dylatacyjne i tuleje ochronne"
        }
      ],
      "tool": [
        {
          "@type": "HowToTool",
          "name": "Narzędzia do kontroli poziomu i grubości"
        },
        {
          "@type": "HowToTool",
          "name": "Zestaw do próby ciśnieniowej"
        },
        {
          "@type": "HowToTool",
          "name": "Aparat CM do pomiaru wilgotności"
        }
      ],
      "step": [
        {
          "@type": "HowToStep",
          "position": 1,
          "name": "Ustal konstrukcję podłogi",
          "text": "Wybierz jastrych, klasę, grubość, izolację, okładzinę, obciążenia i wysokości. Sprawdź nośność stropu oraz ściśliwość warstw.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-1"
        },
        {
          "@type": "HowToStep",
          "position": 2,
          "name": "Zaprojektuj ogrzewanie",
          "text": "Oblicz obciążenie pomieszczeń, rozstaw, temperaturę zasilania, długości pętli, przepływy i przebieg bez kolizji ze szczelinami.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-2"
        },
        {
          "@type": "HowToStep",
          "position": 3,
          "name": "Przygotuj równe podłoże i izolację",
          "text": "Usuń luźne elementy, wyrównaj instalacje, ułóż warstwy bez pustek i wykonaj ciągłą izolację brzegową.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-3"
        },
        {
          "@type": "HowToStep",
          "position": 4,
          "name": "Ułóż i zamocuj rury",
          "text": "Zachowaj projektowany rozstaw, promienie gięcia i strefy bez mocowań. Oznacz przejścia, dylatacje i punkty pomiarowe.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-4"
        },
        {
          "@type": "HowToStep",
          "position": 5,
          "name": "Wykonaj próbę szczelności",
          "text": "Napełnij, odpowietrz i sprawdź obwody zgodnie z normą oraz systemem. Sporządź protokół i pozostaw instalację pod właściwym ciśnieniem podczas prac.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-5"
        },
        {
          "@type": "HowToStep",
          "position": 6,
          "name": "Zbuduj podział na pola",
          "text": "Wykonaj szczeliny, profile i tuleje ochronne zgodnie z planem. Skoordynuj je z progami oraz przyszłą okładziną.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-6"
        },
        {
          "@type": "HowToStep",
          "position": 7,
          "name": "Wbuduj mieszankę",
          "text": "Kontroluj recepturę, czas, konsystencję, zagęszczenie i poziomy. Nie dolewaj wody bez zgody technologicznej.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-7"
        },
        {
          "@type": "HowToStep",
          "position": 8,
          "name": "Pielęgnuj i chroń",
          "text": "Ogranicz przeciąg, słońce, mróz i przedwczesne obciążenie. Realizuj wymagania właściwe dla spoiwa i produktu.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-8"
        },
        {
          "@type": "HowToStep",
          "position": 9,
          "name": "Przeprowadź nagrzewanie funkcjonalne",
          "text": "Po wymaganym czasie uruchom wszystkie obwody, zapisz temperatury i zachowaj maksymalną temperaturę projektową przez wymagany okres.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-9"
        },
        {
          "@type": "HowToStep",
          "position": 10,
          "name": "Zmierz wilgotność i odbierz podłoże",
          "text": "Wykonaj pomiar w bezpiecznych punktach, oceń rysy, równość i wytrzymałość powierzchni, a następnie przekaż protokoły wykonawcy posadzki.",
          "url": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#rk-screed-step-10"
        }
      ]
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Projekt-Ogrzewania.pl",
          "item": "https://projekt-ogrzewania.pl/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Ogrzewanie podłogowe",
          "item": "https://projekt-ogrzewania.pl/category/ogrzewanie-podlogowe/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Grubość wylewki betonowej",
          "item": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/"
        }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#faq",
      "inLanguage": "pl-PL",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Ile centymetrów wylewki powinno być nad rurą ogrzewania podłogowego?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie ma jednej wartości właściwej dla wszystkich produktów i podłóg. Warstwę nad rurą ustala się na podstawie typu i klasy jastrychu, obciążenia, podatności izolacji, średnicy przewodu, geometrii pól i dokumentacji systemu. Popularne 4,5 cm jest przykładem spotykanym w części rozwiązań, a nie uniwersalną normą."
          }
        },
        {
          "@type": "Question",
          "name": "Czy całkowita grubość 6 cm wystarczy przy rurze 16 mm?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Przy 60 mm całkowitej grubości nad rurą 16 mm pozostaje 44 mm. Geometrycznie można to policzyć, ale bezpieczeństwa nie da się potwierdzić bez klasy materiału, obciążenia, rodzaju izolacji, układu szczelin i instrukcji konkretnego jastrychu."
          }
        },
        {
          "@type": "Question",
          "name": "Czy jastrych cementowy musi mieć siatkę?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie zawsze. Dopuszczalne rozwiązanie powinno wynikać z projektu lub dokumentacji systemu. Siatka, włókna i brak dodatkowego zbrojenia mają różne warunki stosowania. Siatka położona bez dystansów na izolacji nie zastępuje prawidłowo zaprojektowanego zbrojenia."
          }
        },
        {
          "@type": "Question",
          "name": "Czy włókna zastępują siatkę w wylewce?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Tylko wtedy, gdy rodzaj i dawka włókien mają taką funkcję w dokumentacji systemu. Mikrowłókna ograniczające skurcz plastyczny nie są automatycznie zamiennikiem siatki konstrukcyjnej. Nie wolno oceniać wszystkich włókien jako jednego materiału."
          }
        },
        {
          "@type": "Question",
          "name": "Co jest lepsze na podłogówkę: cement czy anhydryt?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Oba rozwiązania mogą działać bardzo dobrze. CT jest odporny na różne warunki wilgotnościowe i dostępny w wielu odmianach. CA zwykle dobrze otacza rury i ma mniejszy skurcz. Decyzję podejmuje się według pomieszczenia, produktu, harmonogramu, obciążeń, okładziny i jakości wykonawstwa."
          }
        },
        {
          "@type": "Question",
          "name": "Czy anhydryt ma zawsze lepszą przewodność cieplną?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie należy tego zakładać na podstawie samej nazwy spoiwa. Przewodność zależy od receptury, gęstości i wilgotności. Do obliczeń trzeba przyjąć wartość λ deklarowaną dla konkretnego wyrobu w warunkach właściwych dla projektu."
          }
        },
        {
          "@type": "Question",
          "name": "Po ilu dniach można włączyć ogrzewanie podłogowe?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Dla standardowego jastrychu cementowego nagrzewanie funkcjonalne według PN-EN 1264-4 rozpoczyna się zwykle nie wcześniej niż po 21 dniach, a dla jastrychu na bazie siarczanu wapnia po co najmniej 7 dniach. Produkt specjalny może mieć inny harmonogram zapisany przez producenta."
          }
        },
        {
          "@type": "Question",
          "name": "Jak wygląda pierwsze wygrzewanie wylewki?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Modelowo stosuje się około 25°C temperatury zasilania przez 3 dni, a następnie maksymalną projektową temperaturę zasilania przez co najmniej 4 dni. Dokładny protokół musi uwzględniać rodzaj jastrychu, instrukcję produktu i parametry instalacji."
          }
        },
        {
          "@type": "Question",
          "name": "Czy wygrzanie oznacza, że można układać panele lub drewno?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie. Wygrzewanie funkcjonalne nie jest dowodem osiągnięcia wilgotności wymaganej przez posadzkę. Gotowość potwierdza pomiar, najczęściej metodą CM, oraz kryterium producenta jastrychu, kleju i okładziny."
          }
        },
        {
          "@type": "Question",
          "name": "Ile schnie wylewka o grubości 6 cm?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie da się wiarygodnie odpowiedzieć regułą „1 mm na dobę”. Czas zależy od receptury, spoiwa, grubości, temperatury, wilgotności i wymiany powietrza. Należy śledzić warunki, przeprowadzić wymagany protokół i zmierzyć wilgotność."
          }
        },
        {
          "@type": "Question",
          "name": "Czy rury mogą przechodzić przez dylatację?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Pętla grzewcza nie powinna przechodzić z pola do pola przez szczelinę ruchową. Jeśli muszą przejść przewody przyłączeniowe, prowadzi się je w odpowiednich tulejach ochronnych zgodnie z projektem i ogranicza liczbę przejść."
          }
        },
        {
          "@type": "Question",
          "name": "Czy trzeba utrzymywać 6–8 bar przez cały czas schnięcia?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie należy stosować takiej uniwersalnej zasady. Próbę wykonuje się przed zakryciem rur według PN-EN 1264-4 i systemu. Podczas wylewania przewody pozostają pod ciśnieniem, lecz wartość oraz czas utrzymania po pracy powinny wynikać z instrukcji i protokołu, a nie z przypadkowej liczby."
          }
        },
        {
          "@type": "Question",
          "name": "Czy grubsza wylewka daje cieplejszą podłogę?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Nie automatycznie. Większa masa magazynuje więcej energii i wolniej reaguje, ale moc ustalają także temperatura wody, rozstaw rur, przepływ, opór okładziny i straty pomieszczenia. Nadmierna grubość nie naprawi źle zaprojektowanej instalacji."
          }
        },
        {
          "@type": "Question",
          "name": "Skąd wiadomo, gdzie później można wiercić?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Trzeba zachować projekt, zdjęcia z punktami odniesienia i dokumentację powykonawczą, a przed wierceniem zlokalizować rury. Samo zdjęcie lub rzut może być niedokładny po zmianie skali, tynkach i przesunięciu osi pomieszczenia."
          }
        }
      ]
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle": "Projektant instalacji sanitarnych i specjalista HVAC",
      "description": "Projektant wodnego ogrzewania podłogowego, autor technicznych opracowań i właściciel serwisów Projekt-Ogrzewania.pl, Remont.biz.pl oraz Sobir.pl.",
      "knowsAbout": [
        "Ogrzewanie podłogowe",
        "Jastrychy grzejne",
        "Projektowanie instalacji sanitarnych",
        "Hydraulika instalacji grzewczych",
        "Obciążenie cieplne budynków",
        "Pompy ciepła",
        "Efektywność energetyczna budynków"
      ],
      "sameAs": [
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ],
      "affiliation": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "owns": [
        {
          "@id": "https://projekt-ogrzewania.pl/#website"
        },
        {
          "@id": "https://remont.biz.pl/#website"
        },
        {
          "@id": "https://sobir.pl/#website"
        }
      ],
      "worksFor": [
        {
          "@id": "https://projekt-ogrzewania.pl/#organization"
        },
        {
          "@id": "https://remont.biz.pl/#organization"
        },
        {
          "@id": "https://sobir.pl/#organization"
        }
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt-Ogrzewania.pl",
      "url": "https://projekt-ogrzewania.pl/",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Projekt-Ogrzewania-Logo.webp"
      },
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt-Ogrzewania.pl",
      "inLanguage": "pl-PL",
      "publisher": {
        "@id": "https://projekt-ogrzewania.pl/#organization"
      },
      "creator": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      },
      "copyrightHolder": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      }
    },
    {
      "@type": "Organization",
      "@id": "https://remont.biz.pl/#organization",
      "name": "Remont.biz.pl",
      "url": "https://remont.biz.pl/",
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      }
    },
    {
      "@type": "Organization",
      "@id": "https://sobir.pl/#organization",
      "name": "Sobir.pl",
      "url": "https://sobir.pl/",
      "founder": {
        "@id": "https://projekt-ogrzewania.pl/#/schema/person/8f64aaec51c6581f1ab55e3d7f3a82d1"
      }
    }
  ]
}
</script>

<script>
(function () {
  "use strict";

  function initScreedGuide() {
    var root = document.getElementById("rk-screed-guide");
    if (!root) {
      return;
    }
    if (root.getAttribute("data-rk-screed-ready") === "1") {
      return;
    }
    root.setAttribute("data-rk-screed-ready", "1");

    function one(selector) {
      return root.querySelector(selector);
    }

    function many(selector) {
      return Array.prototype.slice.call(root.querySelectorAll(selector));
    }

    function valueOf(element, fallback) {
      if (!element) {
        return fallback;
      }
      var value = Number.parseFloat(element.value);
      if (Number.isFinite(value)) {
        return value;
      }
      return fallback;
    }

    function format(value, digits) {
      return value.toLocaleString("pl-PL", {
        minimumFractionDigits: digits,
        maximumFractionDigits: digits
      });
    }

    function setText(selector, content) {
      var element = one(selector);
      if (element) {
        element.textContent = content;
      }
    }

    function svgElement(name, attributes, content) {
      var element = document.createElementNS("http://www.w3.org/2000/svg", name);
      Object.keys(attributes).forEach(function (key) {
        element.setAttribute(key, String(attributes[key]));
      });
      if (typeof content === "string") {
        element.textContent = content;
      }
      return element;
    }

    var fields = {
      total: one("#rk-screed-total"),
      diameter: one("#rk-screed-diameter"),
      elevation: one("#rk-screed-elevation"),
      required: one("#rk-screed-required"),
      area: one("#rk-screed-area"),
      density: one("#rk-screed-density"),
      cp: one("#rk-screed-cp"),
      lambda: one("#rk-screed-lambda")
    };

    var presets = {
      six: { total: 60 },
      standard: { total: 65 },
      seven: { total: 70 },
      eight: { total: 80 }
    };

    function updateCrossSection(total, diameter, elevation, cover) {
      var screed = one("#rk-screed-svg-screed");
      var pipe = one("#rk-screed-svg-pipe");
      var coverLine = one("#rk-screed-svg-cover-line");
      var totalLine = one("#rk-screed-svg-total-line");
      var coverText = one("#rk-screed-svg-cover-text");
      var totalText = one("#rk-screed-svg-total-text");
      if (!screed) {
        return;
      }

      var bottom = 190;
      var height = 92 + (total - 35) / 65 * 64;
      height = Math.min(Math.max(height, 92), 156);
      var top = bottom - height;
      var scale = height / total;
      var radius = Math.max(diameter / 2 * scale, 5);
      var pipeBottom = bottom - elevation * scale;
      var pipeCenter = pipeBottom - radius;
      var pipeTop = pipeCenter - radius;

      screed.setAttribute("y", top.toFixed(1));
      screed.setAttribute("height", height.toFixed(1));
      if (pipe) {
        pipe.setAttribute("cy", pipeCenter.toFixed(1));
        pipe.setAttribute("r", radius.toFixed(1));
      }
      if (coverLine) {
        coverLine.setAttribute("y1", (top + 5).toFixed(1));
        coverLine.setAttribute("y2", Math.max(pipeTop - 5, top + 6).toFixed(1));
      }
      if (totalLine) {
        totalLine.setAttribute("y1", (top + 4).toFixed(1));
        totalLine.setAttribute("y2", (bottom - 4).toFixed(1));
      }
      if (coverText) {
        coverText.setAttribute("y", (top + Math.max(cover, 0) * scale / 2 + 4).toFixed(1));
        coverText.textContent = format(cover, 0) + " mm nad rurą";
      }
      if (totalText) {
        totalText.setAttribute("y", (top + height / 2 + 4).toFixed(1));
        totalText.textContent = format(total, 0) + " mm łącznie";
      }
    }

    function updateMassChart(density, cp) {
      var group = one("#rk-screed-bars");
      var chart = one("#rk-screed-energy-chart");
      if (!group) {
        return;
      }
      while (group.firstChild) {
        group.removeChild(group.firstChild);
      }

      var thicknesses = [50, 60, 70, 80];
      var masses = thicknesses.map(function (thickness) {
        return thickness / 1000 * density;
      });
      var maxValue = Math.max.apply(null, masses) * 1.15;

      thicknesses.forEach(function (thickness, index) {
        var mass = masses[index];
        var x = 72 + index * 82;
        var barHeight = mass / maxValue * 145;
        var y = 205 - barHeight;
        group.appendChild(svgElement("rect", {
          x: x,
          y: y.toFixed(1),
          width: 48,
          height: barHeight.toFixed(1),
          rx: 8,
          "class": "rk-screed-bar"
        }));
        group.appendChild(svgElement("text", {
          x: x + 24,
          y: y - 8,
          "text-anchor": "middle"
        }, format(mass, 0)));
        group.appendChild(svgElement("text", {
          x: x + 24,
          y: 225,
          "text-anchor": "middle"
        }, thickness + " mm"));
      });

      if (chart) {
        var capacity80 = masses[3] * cp / 3600;
        chart.setAttribute("aria-label", "Masa od " + format(masses[0], 0) + " do " + format(masses[3], 0) + " kilogramów na metr kwadratowy. Warstwa 80 milimetrów magazynuje około " + format(capacity80, 3) + " kilowatogodziny na metr kwadratowy i kelwin.");
      }
    }

    function renderAnalyzer() {
      var total = valueOf(fields.total, 65);
      var diameter = valueOf(fields.diameter, 16);
      var elevation = valueOf(fields.elevation, 0);
      var required = valueOf(fields.required, 45);
      var area = valueOf(fields.area, 100);
      var density = valueOf(fields.density, 2100);
      var cp = valueOf(fields.cp, 0.88);
      var lambda = valueOf(fields.lambda, 1.40);

      var cover = total - diameter - elevation;
      var requiredTotal = diameter + elevation + required;
      var margin = cover - required;
      var heightMetres = total / 1000;
      var volume = area * heightMetres;
      var massPerArea = heightMetres * density;
      var mass = volume * density;
      var capacity = mass * cp / 3600;
      var resistance = heightMetres / lambda;

      setText("#rk-screed-total-out", format(total, 0) + " mm");
      setText("#rk-screed-diameter-out", format(diameter, 0) + " mm");
      setText("#rk-screed-elevation-out", format(elevation, 0) + " mm");
      setText("#rk-screed-required-out", format(required, 0) + " mm");
      setText("#rk-screed-area-out", format(area, 0) + " m²");
      setText("#rk-screed-density-out", format(density, 0) + " kg/m³");
      setText("#rk-screed-cp-out", format(cp, 2) + " kJ/kgK");
      setText("#rk-screed-lambda-out", format(lambda, 2) + " W/mK");

      setText("#rk-screed-cover-result", format(cover, 0) + " mm");
      setText("#rk-screed-required-total-result", format(requiredTotal, 0) + " mm");
      setText("#rk-screed-margin-result", (margin > 0 ? "+" : "") + format(margin, 0) + " mm");
      setText("#rk-screed-volume-result", format(volume, 2) + " m³");
      setText("#rk-screed-load-result", format(massPerArea, 0) + " kg/m²");
      setText("#rk-screed-mass-result", mass >= 1000 ? format(mass / 1000, 1) + " t" : format(mass, 0) + " kg");
      setText("#rk-screed-capacity-result", format(capacity, 1) + " kWh/K");
      setText("#rk-screed-resistance-result", format(resistance, 3) + " m²K/W");

      var status = one("#rk-screed-lab-warning");
      if (status) {
        status.classList.remove("is-ok");
        status.classList.remove("is-warning");
        if (cover < 0) {
          status.textContent = "Błąd geometrii: rura z podniesieniem nie mieści się w podanej grubości całkowitej.";
          status.classList.add("is-warning");
        } else if (margin < 0) {
          status.textContent = "Geometrycznie brakuje " + format(Math.abs(margin), 0) + " mm do minimum nad rurą wpisanego z karty produktu.";
          status.classList.add("is-warning");
        } else if (massPerArea > 170) {
          status.textContent = "Wpisane minimum jest geometrycznie zachowane, ale masa przekracza 170 kg/m². Zweryfikuj nośność stropu i warstw pod jastrychem.";
          status.classList.add("is-warning");
        } else {
          status.textContent = "Geometrycznie pozostaje " + format(margin, 0) + " mm zapasu ponad wpisane minimum produktu. To nie jest ocena nośności całej podłogi.";
          status.classList.add("is-ok");
        }
      }

      updateCrossSection(total, diameter, elevation, cover);
      updateMassChart(density, cp);
    }

    Object.keys(fields).forEach(function (key) {
      var field = fields[key];
      if (!field) {
        return;
      }
      field.addEventListener("input", renderAnalyzer);
      field.addEventListener("change", renderAnalyzer);
    });

    many("[data-screed-preset]").forEach(function (button) {
      button.addEventListener("click", function () {
        var key = button.getAttribute("data-screed-preset");
        var preset = presets[key];
        if (!preset) {
          return;
        }
        Object.keys(preset).forEach(function (fieldKey) {
          if (fields[fieldKey]) {
            fields[fieldKey].value = String(preset[fieldKey]);
          }
        });
        many("[data-screed-preset]").forEach(function (item) {
          item.classList.toggle("is-active", item === button);
        });
        renderAnalyzer();
      });
    });

    many(".rk-screed-nav a").forEach(function (link) {
      link.addEventListener("click", function (event) {
        var selector = link.getAttribute("href");
        if (!selector) {
          return;
        }
        var target = root.querySelector(selector);
        if (target) {
          event.preventDefault();
          target.scrollIntoView({ behavior: "smooth", block: "start" });
        }
      });
    });

    var tabButtons = many("[data-screed-author-tab]");
    var tabPanels = many("[data-screed-author-panel]");

    function activateAuthorTab(key) {
      tabButtons.forEach(function (button) {
        var active = button.getAttribute("data-screed-author-tab") === key;
        button.classList.toggle("is-active", active);
        button.setAttribute("aria-selected", active ? "true" : "false");
        button.tabIndex = active ? 0 : -1;
      });
      tabPanels.forEach(function (panel) {
        var active = panel.getAttribute("data-screed-author-panel") === key;
        panel.hidden = !active;
      });
    }

    tabButtons.forEach(function (button, index) {
      button.addEventListener("click", function () {
        activateAuthorTab(button.getAttribute("data-screed-author-tab"));
      });
      button.addEventListener("keydown", function (event) {
        if (event.key !== "ArrowRight") {
          if (event.key !== "ArrowLeft") {
            return;
          }
        }
        event.preventDefault();
        var movement = event.key === "ArrowRight" ? 1 : -1;
        var nextIndex = (index + movement + tabButtons.length) % tabButtons.length;
        var nextButton = tabButtons[nextIndex];
        activateAuthorTab(nextButton.getAttribute("data-screed-author-tab"));
        nextButton.focus();
      });
    });

    var progress = one(".rk-screed-progress");

    function updateProgress() {
      if (!progress) {
        return;
      }
      var articleTop = root.getBoundingClientRect().top + window.scrollY;
      var articleHeight = root.offsetHeight - window.innerHeight;
      var travelled = window.scrollY - articleTop;
      var percentage = articleHeight > 0 ? travelled / articleHeight * 100 : 0;
      percentage = Math.min(Math.max(percentage, 0), 100);
      progress.style.width = percentage.toFixed(2) + "%";
    }

    window.addEventListener("scroll", updateProgress, { passive: true });
    window.addEventListener("resize", updateProgress);
    renderAnalyzer();
    activateAuthorTab("about");
    updateProgress();
  }

  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", initScreedGuide);
  } else {
    initScreedGuide();
  }
  window.setTimeout(initScreedGuide, 500);
}());
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/">Grubość wylewki betonowej na ogrzewanie podłogowe.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Naczynie wzbiorcze – dobór, ciśnienie i kalkulator pojemności.</title>
		<link>https://projekt-ogrzewania.pl/naczynie-wzbiorcze/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Tue, 20 Jan 2026 10:25:49 +0000</pubDate>
				<category><![CDATA[Bezpieczeństwo instalacji]]></category>
		<category><![CDATA[Bezpieczeństwo systemów grzewczych]]></category>
		<category><![CDATA[Bezpieczeństwo w instalacjach]]></category>
		<category><![CDATA[Błędy wykonawcze]]></category>
		<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[Technika instalacyjna]]></category>
		<category><![CDATA[bezpieczeństwo instalacji]]></category>
		<category><![CDATA[ciśnienie w instalacji]]></category>
		<category><![CDATA[dobór naczynia]]></category>
		<category><![CDATA[hydraulika]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[naczynie przeponowe]]></category>
		<category><![CDATA[naczynie wzbiorcze]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[zawór bezpieczeństwa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3237</guid>

					<description><![CDATA[<p>Naczynie wzbiorcze: Niezbędny strażnik bezpieczeństwa Twojego ogrzewania podłogowego to temat, który zbyt często bywa bagatelizowany – aż do momentu pierwszych problemów z ciśnieniem, zaworem bezpieczeństwa lub zalaniem kotłowni. W artykule pokazujemy, dlaczego naczynie wzbiorcze nie jest dodatkiem, lecz fundamentem bezpiecznej instalacji. Wyjaśniamy jego działanie, różnice między typami, zasady prawidłowego doboru, typowe błędy montażowe oraz znaczenie właściwego ciśnienia wstępnego – szczególnie w systemach ogrzewania podłogowego o dużej pojemności wodnej.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">Naczynie wzbiorcze – dobór, ciśnienie i kalkulator pojemności.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-vessel-guide {
    --rk-dark: #102536;
    --rk-navy: #15384d;
    --rk-navy-2: #1d4a60;
    --rk-cyan: #25c7d8;
    --rk-cyan-dark: #078eae;
    --rk-cyan-soft: #e7f9fb;
    --rk-orange: #ff6846;
    --rk-orange-dark: #df4c2f;
    --rk-orange-soft: #fff0eb;
    --rk-green: #16836b;
    --rk-green-soft: #eaf8f3;
    --rk-yellow: #9a6900;
    --rk-yellow-soft: #fff7dc;
    --rk-red: #bb4138;
    --rk-red-soft: #fff0ee;
    --rk-ink: #152d3d;
    --rk-copy: #466071;
    --rk-muted: #6c8290;
    --rk-line: #d4e3e9;
    --rk-bg: #f3f8fa;
    --rk-white: #ffffff;
    color: var(--rk-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 17px;
    line-height: 1.7;
    margin: 0 auto;
    max-width: 1360px;
    overflow-wrap: anywhere;
    width: 100%;
  }

  #rk-vessel-guide,
  #rk-vessel-guide *,
  #rk-vessel-guide *::before,
  #rk-vessel-guide *::after { box-sizing: border-box; min-width: 0; }
  #rk-vessel-guide [hidden] { display: none !important; }
  #rk-vessel-guide img,
  #rk-vessel-guide svg { display: block; height: auto; max-width: 100%; }
  #rk-vessel-guide button,
  #rk-vessel-guide input,
  #rk-vessel-guide select,
  #rk-vessel-guide summary { font: inherit; }
  #rk-vessel-guide button { cursor: pointer; }
  #rk-vessel-guide a {
    color: var(--rk-cyan-dark);
    font-weight: 760;
    text-decoration-thickness: 1.3px;
    text-underline-offset: 3px;
  }
  #rk-vessel-guide a:hover { color: var(--rk-orange-dark); }
  #rk-vessel-guide a:focus-visible,
  #rk-vessel-guide button:focus-visible,
  #rk-vessel-guide input:focus-visible,
  #rk-vessel-guide select:focus-visible,
  #rk-vessel-guide summary:focus-visible {
    outline: 3px solid rgba(37, 199, 216, .48);
    outline-offset: 3px;
  }
  #rk-vessel-guide h2,
  #rk-vessel-guide h3,
  #rk-vessel-guide h4,
  #rk-vessel-guide p,
  #rk-vessel-guide ul,
  #rk-vessel-guide ol,
  #rk-vessel-guide blockquote { margin-top: 0; }
  #rk-vessel-guide h2,
  #rk-vessel-guide h3,
  #rk-vessel-guide h4 { color: var(--rk-dark); line-height: 1.18; }
  #rk-vessel-guide h3 { font-size: 1.18rem; margin: 0 0 10px; }
  #rk-vessel-guide h4 { font-size: 1rem; margin: 0 0 8px; }
  #rk-vessel-guide p { color: var(--rk-copy); margin-bottom: 18px; }
  #rk-vessel-guide strong { color: var(--rk-ink); }
  #rk-vessel-guide ul,
  #rk-vessel-guide ol { color: var(--rk-copy); margin-bottom: 22px; padding-left: 1.25em; }
  #rk-vessel-guide li + li { margin-top: 8px; }
  #rk-vessel-guide section[id] { scroll-margin-top: 24px; }

  #rk-vessel-guide .rk-vessel-shell {
    background: var(--rk-white);
    border: 1px solid var(--rk-line);
    border-radius: 28px;
    box-shadow: 0 22px 70px rgba(16, 37, 54, .1);
    overflow: hidden;
  }

  #rk-vessel-guide .rk-vessel-hero {
    background:
      radial-gradient(circle at 91% 118%, rgba(37, 199, 216, .24) 0, rgba(37, 199, 216, .24) 18%, transparent 18.2%),
      linear-gradient(125deg, #0e2637 0%, #153e52 60%, #0c6977 100%);
    color: var(--rk-white);
    overflow: hidden;
    padding: clamp(48px, 7vw, 82px) clamp(24px, 6vw, 74px) clamp(42px, 6vw, 66px);
    position: relative;
  }
  #rk-vessel-guide .rk-vessel-hero::before {
    background: var(--rk-orange);
    border-radius: 50%;
    box-shadow: 0 0 0 9px rgba(255, 104, 70, .15);
    content: "";
    height: 12px;
    left: clamp(24px, 6vw, 74px);
    position: absolute;
    top: 38px;
    width: 12px;
  }
  #rk-vessel-guide .rk-vessel-kicker,
  #rk-vessel-guide .rk-vessel-eyebrow {
    color: var(--rk-orange);
    display: block;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .13em;
    line-height: 1.4;
    margin-bottom: 13px;
    text-transform: uppercase;
  }
  #rk-vessel-guide .rk-vessel-kicker { color: #6ce7f1; margin-left: 28px; }
  #rk-vessel-guide .rk-vessel-hero-title,
  #rk-vessel-guide .rk-vessel-section-title,
  #rk-vessel-guide .rk-vessel-cta-title,
  #rk-vessel-guide .rk-vessel-author-title {
    font-weight: 950;
    letter-spacing: -.045em;
    line-height: 1.06;
  }
  #rk-vessel-guide .rk-vessel-hero-title {
    color: #ffffff !important;
    font-size: clamp(2.35rem, 6vw, 5rem);
    margin: 0;
    max-width: 1180px;
  }
  #rk-vessel-guide .rk-vessel-hero-title span { color: #67e6f2 !important; }
  #rk-vessel-guide .rk-vessel-hero-lead {
    color: #e1eff3;
    font-size: clamp(1.05rem, 2vw, 1.4rem);
    line-height: 1.58;
    margin: 26px 0 0;
    max-width: 1100px;
  }
  #rk-vessel-guide .rk-vessel-tags,
  #rk-vessel-guide .rk-vessel-meta { display: flex; flex-wrap: wrap; gap: 10px 12px; }
  #rk-vessel-guide .rk-vessel-tags { margin-top: 28px; }
  #rk-vessel-guide .rk-vessel-tags span {
    background: rgba(255, 255, 255, .075);
    border: 1px solid rgba(255, 255, 255, .23);
    border-radius: 999px;
    color: #ffffff;
    font-size: .79rem;
    font-weight: 820;
    padding: 7px 13px;
  }
  #rk-vessel-guide .rk-vessel-meta {
    color: #c9dce2;
    font-size: .82rem;
    font-weight: 720;
    margin-top: 30px;
  }
  #rk-vessel-guide .rk-vessel-meta strong { color: #ffffff; }

  #rk-vessel-guide .rk-vessel-nav {
    background: #f4fafc;
    border-bottom: 1px solid var(--rk-line);
    padding: 21px clamp(18px, 4vw, 46px) 23px;
  }
  #rk-vessel-guide .rk-vessel-nav-label {
    color: var(--rk-dark);
    display: block;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .11em;
    margin-bottom: 10px;
    text-transform: uppercase;
  }
  #rk-vessel-guide .rk-vessel-nav-track { display: flex; flex-wrap: wrap; gap: 8px; }
  #rk-vessel-guide .rk-vessel-nav a {
    background: #ffffff;
    border: 1px solid #c8e0e8;
    border-radius: 999px;
    color: #345264;
    font-size: .75rem;
    font-weight: 820;
    line-height: 1.25;
    padding: 7px 11px;
    text-decoration: none;
  }
  #rk-vessel-guide .rk-vessel-nav a:hover {
    background: var(--rk-cyan-soft);
    border-color: #91dde6;
    color: #075f78;
  }

  #rk-vessel-guide .rk-vessel-section { padding: clamp(46px, 6vw, 72px) clamp(20px, 6vw, 66px); }
  #rk-vessel-guide .rk-vessel-section + .rk-vessel-section { border-top: 1px solid var(--rk-line); }
  #rk-vessel-guide .rk-vessel-section-soft { background: var(--rk-bg); }
  #rk-vessel-guide .rk-vessel-section-dark { background: var(--rk-dark); color: #ffffff; }
  #rk-vessel-guide .rk-vessel-section-title,
  #rk-vessel-guide .rk-vessel-author-title {
    color: var(--rk-dark);
    font-size: clamp(1.9rem, 4vw, 3.45rem);
    margin: 0;
    max-width: 1080px;
  }
  #rk-vessel-guide .rk-vessel-section-dark .rk-vessel-section-title { color: #ffffff; }
  #rk-vessel-guide .rk-vessel-lead {
    color: var(--rk-copy);
    font-size: clamp(1.03rem, 1.7vw, 1.23rem);
    line-height: 1.68;
    margin: 20px 0 0;
    max-width: 1120px;
  }
  #rk-vessel-guide .rk-vessel-section-dark .rk-vessel-lead,
  #rk-vessel-guide .rk-vessel-section-dark > p { color: #c5d9e0; }
  #rk-vessel-guide .rk-vessel-section-dark strong { color: #ffffff; }

  #rk-vessel-guide .rk-vessel-answer {
    background: linear-gradient(135deg, #e6fafd 0%, #fbfdfe 100%);
    border: 1px solid #98dfe8;
    border-left: 7px solid var(--rk-cyan);
    border-radius: 18px;
    margin-top: 28px;
    padding: 26px 28px;
  }
  #rk-vessel-guide .rk-vessel-answer strong { display: block; font-size: 1.2rem; line-height: 1.45; }
  #rk-vessel-guide .rk-vessel-answer p { margin: 9px 0 0; }

  #rk-vessel-guide .rk-vessel-grid-2,
  #rk-vessel-guide .rk-vessel-grid-3,
  #rk-vessel-guide .rk-vessel-grid-4,
  #rk-vessel-guide .rk-vessel-author-cards { display: grid; gap: 18px; margin-top: 28px; }
  #rk-vessel-guide .rk-vessel-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #rk-vessel-guide .rk-vessel-grid-3,
  #rk-vessel-guide .rk-vessel-author-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #rk-vessel-guide .rk-vessel-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #rk-vessel-guide .rk-vessel-card {
    background: #ffffff;
    border: 1px solid var(--rk-line);
    border-radius: 17px;
    padding: 23px;
  }
  #rk-vessel-guide .rk-vessel-card p,
  #rk-vessel-guide .rk-vessel-card ul { margin-bottom: 0; }
  #rk-vessel-guide .rk-vessel-section-soft .rk-vessel-card { background: rgba(255, 255, 255, .9); }
  #rk-vessel-guide .rk-vessel-card-label,
  #rk-vessel-guide .rk-vessel-card-no {
    align-items: center;
    background: var(--rk-cyan-soft);
    border-radius: 10px;
    color: #076c85;
    display: inline-flex;
    font-size: .76rem;
    font-weight: 950;
    justify-content: center;
    margin-bottom: 13px;
    min-height: 36px;
    min-width: 36px;
    padding: 6px 10px;
    text-align: center;
  }
  #rk-vessel-guide .rk-vessel-card-no.is-orange { background: var(--rk-orange-soft); color: #a74029; }
  #rk-vessel-guide .rk-vessel-card-no.is-green { background: var(--rk-green-soft); color: var(--rk-green); }
  #rk-vessel-guide .rk-vessel-card-no.is-yellow { background: var(--rk-yellow-soft); color: var(--rk-yellow); }
  #rk-vessel-guide .rk-vessel-card-no.is-red { background: var(--rk-red-soft); color: var(--rk-red); }

  #rk-vessel-guide .rk-vessel-note {
    background: var(--rk-yellow-soft);
    border-left: 6px solid #e4a516;
    border-radius: 14px;
    color: #624c16;
    margin-top: 25px;
    padding: 18px 21px;
  }
  #rk-vessel-guide .rk-vessel-note p { color: inherit; margin: 0; }
  #rk-vessel-guide .rk-vessel-note.is-good { background: var(--rk-green-soft); border-left-color: #2fcda1; color: #145e4d; }
  #rk-vessel-guide .rk-vessel-note.is-stop { background: var(--rk-red-soft); border-left-color: var(--rk-red); color: #71332d; }

  #rk-vessel-guide .rk-vessel-table-wrap { margin-top: 29px; overflow-x: auto; }
  #rk-vessel-guide table { border-collapse: separate; border-spacing: 0; min-width: 760px; width: 100%; }
  #rk-vessel-guide th {
    background: var(--rk-dark);
    color: #ffffff;
    font-size: .76rem;
    letter-spacing: .045em;
    padding: 14px 15px;
    text-align: left;
    text-transform: uppercase;
  }
  #rk-vessel-guide th:first-child { border-radius: 14px 0 0; }
  #rk-vessel-guide th:last-child { border-radius: 0 14px 0 0; }
  #rk-vessel-guide td {
    background: #ffffff;
    border-bottom: 1px solid var(--rk-line);
    color: var(--rk-copy);
    padding: 15px;
    vertical-align: top;
  }
  #rk-vessel-guide tbody tr td:first-child { border-left: 1px solid var(--rk-line); }
  #rk-vessel-guide tbody tr td:last-child { border-right: 1px solid var(--rk-line); }
  #rk-vessel-guide tbody tr:last-child td:first-child { border-radius: 0 0 0 14px; }
  #rk-vessel-guide tbody tr:last-child td:last-child { border-radius: 0 0 14px; }
  #rk-vessel-guide td strong { color: var(--rk-ink); }

  #rk-vessel-guide .rk-vessel-formula {
    background: #edf8fa;
    border: 1px solid #b4e1e7;
    border-radius: 13px;
    color: #086b82;
    font-family: Consolas, Monaco, monospace;
    font-size: .95rem;
    font-weight: 800;
    margin-top: 19px;
    padding: 15px 18px;
  }

  #rk-vessel-guide .rk-vessel-pressure-module {
    background: var(--rk-dark);
    border-radius: 22px;
    margin-top: 30px;
    padding: 27px;
  }
  #rk-vessel-guide .rk-vessel-pressure-intro { color: #c3d9e0; margin-bottom: 20px; }
  #rk-vessel-guide .rk-vessel-pressure-tabs {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  #rk-vessel-guide .rk-vessel-pressure-tab {
    background: #173e51;
    border: 1px solid #356178;
    border-radius: 13px;
    color: #ffffff;
    font-weight: 900;
    line-height: 1.3;
    min-height: 68px;
    padding: 11px 13px;
    text-align: left;
  }
  #rk-vessel-guide .rk-vessel-pressure-tab small { color: #aecaD5; display: block; font-size: .72rem; font-weight: 650; margin-top: 3px; }
  #rk-vessel-guide .rk-vessel-pressure-tab[aria-selected="true"] { background: var(--rk-cyan); border-color: var(--rk-cyan); color: #072838; }
  #rk-vessel-guide .rk-vessel-pressure-tab[aria-selected="true"] small { color: #17485b; }
  #rk-vessel-guide .rk-vessel-pressure-panel {
    background: #17394b;
    border: 1px solid #356178;
    border-radius: 18px;
    margin-top: 18px;
    padding: 24px;
  }
  #rk-vessel-guide .rk-vessel-pressure-panel-label { color: #71e6ef; display: block; font-size: .72rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
  #rk-vessel-guide .rk-vessel-pressure-panel h3 { color: #ffffff; font-size: 1.5rem; margin: 7px 0 8px; }
  #rk-vessel-guide .rk-vessel-pressure-panel > p { color: #c8dce3; margin-bottom: 0; }
  #rk-vessel-guide .rk-vessel-pressure-facts { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 20px; }
  #rk-vessel-guide .rk-vessel-pressure-fact { background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.13); border-radius: 13px; padding: 15px; }
  #rk-vessel-guide .rk-vessel-pressure-fact b { color: #71e6ef; display: block; font-size: .71rem; letter-spacing: .06em; margin-bottom: 5px; text-transform: uppercase; }
  #rk-vessel-guide .rk-vessel-pressure-fact span { color: #ffffff; font-size: .88rem; }

  #rk-vessel-guide .rk-vessel-calculator {
    background: #102f42;
    border: 1px solid #315a70;
    border-radius: 23px;
    margin-top: 31px;
    padding: 29px;
  }
  #rk-vessel-guide .rk-vessel-calculator-head { border-bottom: 1px solid #315a70; margin-bottom: 24px; padding-bottom: 20px; }
  #rk-vessel-guide .rk-vessel-calculator-head h3 { color: #ffffff; font-size: clamp(1.45rem, 3vw, 2.25rem); margin: 0; }
  #rk-vessel-guide .rk-vessel-calculator-head p { color: #bad3dc; margin: 8px 0 0; }
  #rk-vessel-guide .rk-vessel-stage {
    background: #17394b;
    border: 1px solid #376177;
    border-radius: 17px;
    margin-top: 17px;
    padding: 22px;
  }
  #rk-vessel-guide .rk-vessel-stage-head { align-items: flex-start; display: flex; gap: 13px; margin-bottom: 17px; }
  #rk-vessel-guide .rk-vessel-stage-no {
    align-items: center;
    background: var(--rk-cyan);
    border-radius: 10px;
    color: #082c3c;
    display: inline-flex;
    flex: 0 0 39px;
    font-weight: 950;
    height: 39px;
    justify-content: center;
  }
  #rk-vessel-guide .rk-vessel-stage-head h4 { color: #ffffff; font-size: 1.12rem; margin: 0; }
  #rk-vessel-guide .rk-vessel-stage-head p { color: #aecad5; font-size: .85rem; margin: 4px 0 0; }
  #rk-vessel-guide .rk-vessel-fields { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #rk-vessel-guide .rk-vessel-fields.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #rk-vessel-guide .rk-vessel-field { display: block; }
  #rk-vessel-guide .rk-vessel-field > span { color: #edf7f9; display: block; font-size: .77rem; font-weight: 830; line-height: 1.35; margin-bottom: 7px; }
  #rk-vessel-guide .rk-vessel-field input,
  #rk-vessel-guide .rk-vessel-field select {
    background: #ffffff;
    border: 1px solid #b7cbd4;
    border-radius: 10px;
    color: var(--rk-ink);
    min-height: 48px;
    padding: 10px 12px;
    width: 100%;
  }
  #rk-vessel-guide .rk-vessel-field small { color: #aecaD5; display: block; font-size: .72rem; line-height: 1.45; margin-top: 6px; }
  #rk-vessel-guide .rk-vessel-field-wide { grid-column: 1 / -1; }
  #rk-vessel-guide .rk-vessel-mode-box { background: rgba(255,255,255,.04); border: 1px solid #41697d; border-radius: 14px; margin-top: 15px; padding: 17px; }
  #rk-vessel-guide .rk-vessel-mode-box > p { color: #c5d9df; font-size: .83rem; margin: 0 0 14px; }
  #rk-vessel-guide .rk-vessel-helper-total { background: #0f2a3a; border: 1px solid #3d6477; border-radius: 12px; color: #ffffff; font-weight: 850; margin-top: 15px; padding: 14px 16px; }
  #rk-vessel-guide .rk-vessel-helper-total span { color: #79eaf3; }
  #rk-vessel-guide .rk-vessel-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 20px; }
  #rk-vessel-guide .rk-vessel-run,
  #rk-vessel-guide .rk-vessel-reset { border-radius: 11px; font-weight: 950; min-height: 49px; padding: 11px 18px; }
  #rk-vessel-guide .rk-vessel-run { background: var(--rk-orange); border: 1px solid var(--rk-orange); color: #ffffff; }
  #rk-vessel-guide .rk-vessel-run:hover { background: var(--rk-orange-dark); }
  #rk-vessel-guide .rk-vessel-reset { background: transparent; border: 1px solid #5d7c8d; color: #ffffff; }

  #rk-vessel-guide .rk-vessel-result {
    background: #ffffff;
    border-left: 7px solid #e2a91d;
    border-radius: 18px;
    margin-top: 22px;
    padding: 24px;
  }
  #rk-vessel-guide .rk-vessel-result.is-good { border-left-color: #2fcda1; }
  #rk-vessel-guide .rk-vessel-result.is-stop { border-left-color: var(--rk-orange); }
  #rk-vessel-guide .rk-vessel-result-status { color: var(--rk-ink) !important; font-size: clamp(1.3rem, 2.6vw, 1.95rem); font-weight: 950; line-height: 1.25; margin: 0 !important; }
  #rk-vessel-guide .rk-vessel-result-intro { color: var(--rk-copy) !important; margin: 8px 0 0 !important; }
  #rk-vessel-guide .rk-vessel-result-grid { display: grid; gap: 13px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 19px; }
  #rk-vessel-guide .rk-vessel-result-metric { background: #f3f8fa; border: 1px solid var(--rk-line); border-radius: 13px; padding: 15px; }
  #rk-vessel-guide .rk-vessel-result-metric b { color: var(--rk-muted); display: block; font-size: .7rem; letter-spacing: .045em; line-height: 1.35; margin-bottom: 5px; text-transform: uppercase; }
  #rk-vessel-guide .rk-vessel-result-metric strong { color: var(--rk-ink) !important; display: block; font-size: 1.18rem; line-height: 1.3; }
  #rk-vessel-guide .rk-vessel-pressure-scale { background: #f4f8fa; border: 1px solid var(--rk-line); border-radius: 14px; margin-top: 18px; padding: 17px; }
  #rk-vessel-guide .rk-vessel-pressure-scale-title { color: var(--rk-ink); font-size: .81rem; font-weight: 900; margin-bottom: 12px; }
  #rk-vessel-guide .rk-vessel-pressure-track { background: #dce8ed; border-radius: 999px; height: 14px; overflow: hidden; position: relative; }
  #rk-vessel-guide .rk-vessel-pressure-track span { display: block; height: 100%; }
  #rk-vessel-guide .rk-vessel-pressure-fill { background: linear-gradient(90deg, #28c8d8 0%, #f2b526 70%, #ff6846 100%); width: 0; }
  #rk-vessel-guide .rk-vessel-pressure-values { display: grid; gap: 7px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 11px; }
  #rk-vessel-guide .rk-vessel-pressure-values span { color: var(--rk-copy); font-size: .72rem; }
  #rk-vessel-guide .rk-vessel-pressure-values b { color: var(--rk-ink); display: block; }
  #rk-vessel-guide .rk-vessel-result-lists { display: grid; gap: 13px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 18px; }
  #rk-vessel-guide .rk-vessel-result-list { border: 1px solid var(--rk-line); border-radius: 13px; padding: 16px; }
  #rk-vessel-guide .rk-vessel-result-list h4 { font-size: .82rem; letter-spacing: .05em; margin-bottom: 9px; text-transform: uppercase; }
  #rk-vessel-guide .rk-vessel-result-list.is-check h4 { color: var(--rk-yellow); }
  #rk-vessel-guide .rk-vessel-result-list.is-stop h4 { color: var(--rk-red); }
  #rk-vessel-guide .rk-vessel-result-list ul { font-size: .86rem; margin: 0; padding-left: 18px; }
  #rk-vessel-guide .rk-vessel-disclaimer { color: #6b8190 !important; font-size: .76rem; margin: 15px 0 0 !important; }

  #rk-vessel-guide .rk-vessel-cta {
    background:
      radial-gradient(circle at 93% 120%, rgba(37, 199, 216, .22) 0, rgba(37, 199, 216, .22) 19%, transparent 19.2%),
      linear-gradient(125deg, #0e2637 0%, #153e52 62%, #0d6272 100%);
    border-radius: 21px;
    color: #ffffff;
    margin-top: 33px;
    overflow: hidden;
    padding: 35px;
  }
  #rk-vessel-guide .rk-vessel-cta-title { color: #ffffff; font-size: clamp(1.65rem, 3.3vw, 2.7rem); margin: 0; max-width: 980px; }
  #rk-vessel-guide .rk-vessel-cta p { color: #cee0e6; margin: 13px 0 0; max-width: 990px; }
  #rk-vessel-guide .rk-vessel-cta-button {
    background: var(--rk-orange);
    border-radius: 12px;
    box-shadow: 0 12px 25px rgba(255, 104, 70, .24);
    color: #ffffff;
    display: inline-block;
    font-weight: 950;
    margin-top: 21px;
    padding: 13px 19px;
    text-decoration: none;
  }
  #rk-vessel-guide .rk-vessel-cta-button:hover { background: #ffffff; color: var(--rk-orange-dark); }
  #rk-vessel-guide .rk-vessel-link-disclosure { color: #abc6cf; display: block; font-size: .74rem; margin-top: 11px; }

  #rk-vessel-guide .rk-vessel-sources { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 28px; }
  #rk-vessel-guide .rk-vessel-source { background: #f2f7f9; border: 1px solid #cfe0e7; border-radius: 15px; padding: 19px; }
  #rk-vessel-guide .rk-vessel-source a { font-weight: 900; }
  #rk-vessel-guide .rk-vessel-source p { font-size: .88rem; margin: 7px 0 0; }
  #rk-vessel-guide .rk-vessel-responsibility { background: var(--rk-orange-soft); border-left: 6px solid var(--rk-orange); border-radius: 14px; color: #613427; margin-top: 25px; padding: 18px 21px; }
  #rk-vessel-guide .rk-vessel-responsibility p { color: inherit; margin: 0; }

  #rk-vessel-guide .rk-vessel-faq { display: grid; gap: 12px; margin-top: 28px; }
  #rk-vessel-guide .rk-vessel-faq details { background: #ffffff; border: 1px solid var(--rk-line); border-radius: 14px; overflow: hidden; }
  #rk-vessel-guide .rk-vessel-faq summary { color: var(--rk-ink); cursor: pointer; font-weight: 900; list-style: none; padding: 18px 52px 18px 20px; position: relative; }
  #rk-vessel-guide .rk-vessel-faq summary::-webkit-details-marker { display: none; }
  #rk-vessel-guide .rk-vessel-faq summary::after { color: var(--rk-cyan-dark); content: "+"; font-size: 1.5rem; position: absolute; right: 20px; top: 10px; }
  #rk-vessel-guide .rk-vessel-faq details[open] summary::after { content: "−"; }
  #rk-vessel-guide .rk-vessel-faq-answer { border-top: 1px solid var(--rk-line); color: var(--rk-copy); padding: 17px 20px; }
  #rk-vessel-guide .rk-vessel-faq-answer p { margin: 0; }

  #rk-vessel-guide .rk-vessel-author { background: var(--rk-dark); border-radius: 22px; color: #ffffff; overflow: hidden; }
  #rk-vessel-guide .rk-vessel-author-head {
    align-items: center;
    background: linear-gradient(120deg, #102536 0%, #16465b 100%);
    border-bottom: 1px solid rgba(255,255,255,.12);
    display: flex;
    justify-content: space-between;
    padding: 34px 38px;
  }
  #rk-vessel-guide .rk-vessel-author-head .rk-vessel-eyebrow { color: #6ce7f1; }
  #rk-vessel-guide .rk-vessel-author-title { color: #ffffff; }
  #rk-vessel-guide .rk-vessel-author-head p { color: #c9dce2; margin: 12px 0 0; }
  #rk-vessel-guide .rk-vessel-author-mark { border: 1px solid #42697c; border-radius: 999px; color: #eaf5f7; flex: 0 0 auto; font-size: .75rem; font-weight: 850; margin-left: 20px; padding: 9px 13px; }
  #rk-vessel-guide .rk-vessel-author-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); }
  #rk-vessel-guide .rk-vessel-author-side { align-items: center; border-right: 1px solid rgba(255,255,255,.12); display: flex; flex-direction: column; padding: 36px 25px; text-align: center; }
  #rk-vessel-guide .rk-vessel-author-photo { border: 6px solid rgba(255,255,255,.2); border-radius: 50%; overflow: hidden; width: 158px; }
  #rk-vessel-guide .rk-vessel-author-name { font-size: 1.25rem; font-weight: 950; margin-top: 19px; }
  #rk-vessel-guide .rk-vessel-author-name a { color: #ffffff; text-decoration: none; }
  #rk-vessel-guide .rk-vessel-author-role { color: #bcd2db; font-size: .82rem; margin: 7px 0 0; }
  #rk-vessel-guide .rk-vessel-author-social-label,
  #rk-vessel-guide .rk-vessel-author-mini-label { color: #6ce7f1; font-size: .69rem; font-weight: 900; letter-spacing: .08em; margin-top: 19px; text-transform: uppercase; }
  #rk-vessel-guide .rk-vessel-author-social { display: flex; gap: 9px; margin-top: 10px; }
  #rk-vessel-guide .rk-vessel-author-social a { align-items: center; border: 1px solid #497185; border-radius: 50%; color: #d8e9ee; display: inline-flex; height: 42px; justify-content: center; text-decoration: none; width: 42px; }
  #rk-vessel-guide .rk-vessel-author-social svg { fill: currentColor; height: 19px; width: 19px; }
  #rk-vessel-guide .rk-vessel-author-main { padding: 35px 38px; }
  #rk-vessel-guide .rk-vessel-author-quote { background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.14); border-left: 6px solid var(--rk-cyan); border-radius: 14px; font-size: 1rem; font-style: italic; font-weight: 750; line-height: 1.68; margin: 0; padding: 19px 21px; }
  #rk-vessel-guide .rk-vessel-author-quote p { color: #ffffff; margin: 0; }
  #rk-vessel-guide .rk-vessel-author-card { background: #214c60; border: 1px solid #37677c; border-radius: 13px; padding: 15px; }
  #rk-vessel-guide .rk-vessel-author-card b { color: #8beff7; display: block; font-size: .72rem; margin-bottom: 5px; }
  #rk-vessel-guide .rk-vessel-author-card p { color: #d8e9ed; font-size: .82rem; margin: 0; }
  #rk-vessel-guide .rk-vessel-portals { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 10px; }
  #rk-vessel-guide .rk-vessel-portals a { border: 1px solid #42697c; border-radius: 999px; color: #ffffff; font-size: .78rem; padding: 7px 12px; text-decoration: none; }

  @media (max-width: 1050px) {
    #rk-vessel-guide .rk-vessel-grid-4,
    #rk-vessel-guide .rk-vessel-result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-vessel-guide .rk-vessel-pressure-facts { grid-template-columns: 1fr; }
    #rk-vessel-guide .rk-vessel-author-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 820px) {
    #rk-vessel-guide { font-size: 16px; }
    #rk-vessel-guide .rk-vessel-grid-3,
    #rk-vessel-guide .rk-vessel-pressure-tabs,
    #rk-vessel-guide .rk-vessel-fields.is-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #rk-vessel-guide .rk-vessel-author-layout { grid-template-columns: 1fr; }
    #rk-vessel-guide .rk-vessel-author-side { border-bottom: 1px solid rgba(255,255,255,.12); border-right: 0; }
  }
  @media (max-width: 660px) {
    #rk-vessel-guide .rk-vessel-shell { border-radius: 18px; }
    #rk-vessel-guide .rk-vessel-grid-2,
    #rk-vessel-guide .rk-vessel-grid-3,
    #rk-vessel-guide .rk-vessel-grid-4,
    #rk-vessel-guide .rk-vessel-fields,
    #rk-vessel-guide .rk-vessel-fields.is-three,
    #rk-vessel-guide .rk-vessel-pressure-tabs,
    #rk-vessel-guide .rk-vessel-sources,
    #rk-vessel-guide .rk-vessel-result-grid,
    #rk-vessel-guide .rk-vessel-result-lists,
    #rk-vessel-guide .rk-vessel-pressure-values,
    #rk-vessel-guide .rk-vessel-author-cards { grid-template-columns: 1fr; }
    #rk-vessel-guide .rk-vessel-pressure-module,
    #rk-vessel-guide .rk-vessel-calculator,
    #rk-vessel-guide .rk-vessel-cta { border-radius: 17px; padding: 20px; }
    #rk-vessel-guide .rk-vessel-stage,
    #rk-vessel-guide .rk-vessel-result,
    #rk-vessel-guide .rk-vessel-pressure-panel { padding: 18px; }
    #rk-vessel-guide .rk-vessel-actions { display: grid; grid-template-columns: 1fr; }
    #rk-vessel-guide .rk-vessel-run,
    #rk-vessel-guide .rk-vessel-reset,
    #rk-vessel-guide .rk-vessel-cta-button { text-align: center; width: 100%; }
    #rk-vessel-guide .rk-vessel-table-wrap { overflow: visible; }
    #rk-vessel-guide table,
    #rk-vessel-guide thead,
    #rk-vessel-guide tbody,
    #rk-vessel-guide tr,
    #rk-vessel-guide th,
    #rk-vessel-guide td { display: block; min-width: 0; width: 100%; }
    #rk-vessel-guide thead { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
    #rk-vessel-guide tbody { display: grid; gap: 14px; }
    #rk-vessel-guide tbody tr { background: #ffffff; border: 1px solid var(--rk-line); border-radius: 14px; overflow: hidden; }
    #rk-vessel-guide td,
    #rk-vessel-guide tbody tr td:first-child,
    #rk-vessel-guide tbody tr td:last-child { border: 0; border-bottom: 1px solid #e1ebef; border-radius: 0; padding: 13px 15px; }
    #rk-vessel-guide td:last-child { border-bottom: 0; }
    #rk-vessel-guide td::before { color: var(--rk-cyan-dark); content: attr(data-label); display: block; font-size: .69rem; font-weight: 900; letter-spacing: .07em; margin-bottom: 4px; text-transform: uppercase; }
    #rk-vessel-guide .rk-vessel-author-head { align-items: start; display: block; padding: 27px 20px; }
    #rk-vessel-guide .rk-vessel-author-mark { display: inline-block; margin: 14px 0 0; }
    #rk-vessel-guide .rk-vessel-author-main { padding: 25px 20px; }
  }
  @media (max-width: 430px) {
    #rk-vessel-guide .rk-vessel-hero-title { font-size: 2.18rem; }
    #rk-vessel-guide .rk-vessel-section-title { font-size: 1.85rem; }
    #rk-vessel-guide .rk-vessel-nav a { flex: 1 1 calc(50% - 8px); text-align: center; }
    #rk-vessel-guide .rk-vessel-field-wide { grid-column: auto; }
  }
  @media (prefers-reduced-motion: reduce) {
    #rk-vessel-guide *,
    #rk-vessel-guide *::before,
    #rk-vessel-guide *::after { scroll-behavior: auto; transition-duration: .01ms; }
  }
</style>

<article id="rk-vessel-guide" aria-labelledby="rk-vessel-visual-title">
  <div class="rk-vessel-shell">
    <header class="rk-vessel-hero">
      <span class="rk-vessel-kicker">Bezpieczeństwo ciśnieniowe · aktualizacja techniczna 2026</span>
      <div class="rk-vessel-hero-title" id="rk-vessel-visual-title">Naczynie wzbiorcze: <span>dobierz pojemność i ciśnienia, nie sam kolor zbiornika</span></div>
      <p class="rk-vessel-hero-lead">Naczynie nie jest pojemnikiem „na zapas wody”. Ma przyjąć rozszerzający się czynnik, zachować rezerwę przy zimnej instalacji i utrzymać ciśnienie pomiędzy wymaganym minimum a bezpiecznym maksimum. Ten poradnik prowadzi od zładu i temperatury do pojemności nominalnej oraz prawidłowej konfiguracji.</p>
      <div class="rk-vessel-tags" aria-label="Zakres poradnika">
        <span>kalkulator pojemności</span>
        <span>zład instalacji</span>
        <span>ciśnienie wstępne</span>
        <span>rezerwa wodna</span>
        <span>zawór bezpieczeństwa</span>
      </div>
      <div class="rk-vessel-meta">
        <span>Autor: <strong>Robert Kucharski</strong></span>
        <span>Czas czytania: <strong>około 25 minut</strong></span>
        <span>Aktualizacja techniczna: <strong>16 września 2026 r.</strong></span>
      </div>
    </header>

    <nav class="rk-vessel-nav" aria-label="Na skróty — wszystkie sekcje artykułu">
      <span class="rk-vessel-nav-label">Na skróty</span>
      <div class="rk-vessel-nav-track">
        <a href="#rk-vessel-answer">Szybka odpowiedź</a>
        <a href="#rk-vessel-types">Rodzaje naczyń</a>
        <a href="#rk-vessel-expansion">Rozszerzalność</a>
        <a href="#rk-vessel-pressures">Sześć wartości</a>
        <a href="#rk-vessel-volume">Objętość instalacji</a>
        <a href="#rk-vessel-calculator-section">Kalkulator</a>
        <a href="#rk-vessel-built-in">Naczynie w urządzeniu</a>
        <a href="#rk-vessel-location">Miejsce podłączenia</a>
        <a href="#rk-vessel-safety">Zabezpieczenia</a>
        <a href="#rk-vessel-service">Kontrola i objawy</a>
        <a href="#rk-vessel-errors">Błędy</a>
        <a href="#rk-vessel-final">Podsumowanie</a>
        <a href="#rk-vessel-sources">Źródła</a>
        <a href="#rk-vessel-faq">FAQ</a>
        <a href="#rk-vessel-author">Autor</a>
      </div>
    </nav>

    <section class="rk-vessel-section" id="rk-vessel-answer">
      <span class="rk-vessel-eyebrow">Odpowiedź w 60 sekund</span>
      <h2 class="rk-vessel-section-title">Jak dobrać naczynie wzbiorcze do instalacji grzewczej?</h2>
      <p class="rk-vessel-lead"><strong>Nie dobiera się go wyłącznie do mocy pompy ciepła, powierzchni domu ani liczby pętli.</strong> Potrzebna pojemność zależy od całkowitej ilości czynnika, jego przyrostu objętości, wysokości instalacji oraz ciśnienia wstępnego i końcowego.</p>
      <div class="rk-vessel-answer">
        <strong>Najpierw oblicz zład i rozszerzalność, następnie wyznacz dopuszczalny zakres ciśnienia, dodaj rezerwę wodną i dopiero wtedy dobierz większą dostępną pojemność nominalną.</strong>
        <p>Fabryczne ciśnienie gazu nie musi pasować do Twojego budynku. Również naczynie zamontowane wewnątrz pompy ciepła albo kotła nie jest automatycznie wystarczające dla podłogówki, bufora i całej instalacji.</p>
      </div>
      <div class="rk-vessel-grid-3">
        <article class="rk-vessel-card"><span class="rk-vessel-card-no">1</span><h3>Policz wodę w całym układzie</h3><p>Uwzględnij rury, źródło, przewody rozdzielcze, rozdzielacze, grzejniki, bufor, sprzęgło i wszystkie obiegi połączone hydraulicznie.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no">2</span><h3>Rozdziel poziomy ciśnienia</h3><p>Ciśnienie statyczne, wstępne, napełnienia, końcowe i nastawa zaworu bezpieczeństwa pełnią różne funkcje.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no">3</span><h3>Sprawdź rzeczywisty produkt</h3><p>Pojemność nominalna to nie wszystko. Liczą się dopuszczalne ciśnienie, temperatura membrany, medium, orientacja i instrukcja montażu.</p></article>
      </div>
      <p class="rk-vessel-lead">Naczynie współpracuje z całą hydrauliką, dlatego warto rozumieć również, czym jest <a href="https://projekt-ogrzewania.pl/obieg-grzewczy-w-wodnym-ogrzewaniu-podlogowym/">obieg grzewczy</a> i jak działa <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompa obiegowa w podłogówce</a>.</p>
    </section>

    <section class="rk-vessel-section rk-vessel-section-soft" id="rk-vessel-types">
      <span class="rk-vessel-eyebrow">Najpierw właściwe zastosowanie</span>
      <h2 class="rk-vessel-section-title">Naczynie do ogrzewania, CWU, instalacji otwartej i solarnej to nie to samo</h2>
      <p class="rk-vessel-lead">Wspólna nazwa prowadzi do błędnych zakupów. Kalkulator w tym artykule dotyczy przeponowego naczynia w zamkniętej, wodnej instalacji grzewczej.</p>
      <div class="rk-vessel-table-wrap">
        <table>
          <thead><tr><th>Rodzaj układu</th><th>Rola naczynia</th><th>Co jest charakterystyczne</th><th>Czy obejmuje go kalkulator?</th></tr></thead>
          <tbody>
            <tr><td data-label="Rodzaj układu"><strong>Zamknięta instalacja grzewcza</strong></td><td data-label="Rola naczynia">Przejmuje rozszerzalność czynnika i stabilizuje ciśnienie.</td><td data-label="Co jest charakterystyczne">Membrana, komora gazowa, ciśnienie wstępne i współpraca z zaworem bezpieczeństwa.</td><td data-label="Czy obejmuje go kalkulator?"><strong>Tak</strong> — to podstawowy zakres narzędzia.</td></tr>
            <tr><td data-label="Rodzaj układu"><strong>Instalacja otwarta</strong></td><td data-label="Rola naczynia">Zapewnia kontakt układu z atmosferą i przejmuje wzrost objętości.</td><td data-label="Co jest charakterystyczne">Naczynie otwarte, rury bezpieczeństwa i przelewowa; inna metoda projektowania.</td><td data-label="Czy obejmuje go kalkulator?">Nie.</td></tr>
            <tr><td data-label="Rodzaj układu"><strong>Ciepła woda użytkowa</strong></td><td data-label="Rola naczynia">Przejmuje wzrost objętości wody użytkowej ogrzewanej w zasobniku.</td><td data-label="Co jest charakterystyczne">Wymagania higieniczne, ciśnienie sieci, reduktor i zawór bezpieczeństwa zasobnika.</td><td data-label="Czy obejmuje go kalkulator?">Nie — wymaga osobnego doboru.</td></tr>
            <tr><td data-label="Rodzaj układu"><strong>Instalacja solarna</strong></td><td data-label="Rola naczynia">Przejmuje rozszerzalność i skutki możliwego odparowania czynnika.</td><td data-label="Co jest charakterystyczne">Glikol, wysokie temperatury, stagnacja i szczególna pojemność rezerwowa.</td><td data-label="Czy obejmuje go kalkulator?">Nie.</td></tr>
          </tbody>
        </table>
      </div>
      <div class="rk-vessel-note"><p><strong>Kolor płaszcza nie jest specyfikacją techniczną.</strong> O zastosowaniu decydują dokumenty konkretnego wyrobu: dopuszczalna temperatura i ciśnienie, materiał membrany, medium, sposób montażu i wymagane dopuszczenia.</p></div>
    </section>

    <section class="rk-vessel-section" id="rk-vessel-expansion">
      <span class="rk-vessel-eyebrow">Fizyka przed katalogiem</span>
      <h2 class="rk-vessel-section-title">Dlaczego wzrost temperatury podnosi ciśnienie?</h2>
      <p class="rk-vessel-lead">Woda prawie nie daje się sprężyć, ale jej objętość rośnie podczas ogrzewania. W zamkniętej instalacji dodatkowa objętość musi przemieścić membranę i sprężyć gaz po drugiej stronie naczynia.</p>
      <div class="rk-vessel-grid-4">
        <article class="rk-vessel-card"><span class="rk-vessel-card-no">V</span><h3>Zład instalacji</h3><p>Im więcej wody w rurach, źródle i buforze, tym większa bezwzględna objętość rozszerzającego się czynnika.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no is-orange">T</span><h3>Zakres temperatur</h3><p>Liczy się różnica pomiędzy stanem napełnienia a maksymalną temperaturą przyjętą dla danego układu.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no is-green">e</span><h3>Współczynnik rozszerzalności</h3><p>Dla wody zależy od temperatur. Dla glikolu trzeba użyć danych dokładnej mieszaniny i stężenia.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no is-yellow">p</span><h3>Zakres ciśnienia</h3><p>Ta sama nominalna pojemność przy niekorzystnym ustawieniu ciśnień ma znacznie mniejszą pojemność użytkową.</p></article>
      </div>
      <div class="rk-vessel-formula">objętość rozszerzenia Vₑ = objętość instalacji Vsystem × przyrost objętości e</div>
      <p class="rk-vessel-lead">Podłogówka nie musi mieć większego zładu niż każdy układ grzejnikowy. Decydują długości i światło rur, pojemność przewodów głównych, źródła oraz elementów takich jak <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufor ciepła</a> albo <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgło hydrauliczne</a>.</p>
      <div class="rk-vessel-note is-good"><p><strong>Temperatury nie wybieramy „na wszelki wypadek” bez związku ze schematem.</strong> Powinna odpowiadać maksymalnemu stanowi, jaki może wystąpić w chronionej części instalacji z uwzględnieniem źródła, automatyki i zabezpieczeń.</p></div>
    </section>

    <section class="rk-vessel-section rk-vessel-section-soft" id="rk-vessel-pressures">
      <span class="rk-vessel-eyebrow">Moduł edukacyjny</span>
      <h2 class="rk-vessel-section-title">Sześć wartości, których nie wolno ze sobą mylić</h2>
      <p class="rk-vessel-lead">Kliknij kafel. Każdy parametr jest mierzony lub wyznaczany w innym stanie instalacji. Prawidłowy dobór polega na zachowaniu między nimi logicznej kolejności.</p>
      <div class="rk-vessel-pressure-module">
        <p class="rk-vessel-pressure-intro"><strong>Najważniejsza relacja:</strong> zimna instalacja musi zachować dodatnie ciśnienie w najwyższym punkcie, naczynie musi zawierać rezerwę wody, a ciśnienie gorącego układu musi pozostać poniżej nastawy zaworu bezpieczeństwa.</p>
        <div class="rk-vessel-pressure-tabs" role="tablist" aria-label="Parametry ciśnienia instalacji">
          <button class="rk-vessel-pressure-tab" type="button" role="tab" aria-selected="true" data-rk-pressure="height">1. Wysokość statyczna<small>różnica poziomów [m]</small></button>
          <button class="rk-vessel-pressure-tab" type="button" role="tab" aria-selected="false" data-rk-pressure="static">2. Ciśnienie statyczne<small>słup czynnika [bar]</small></button>
          <button class="rk-vessel-pressure-tab" type="button" role="tab" aria-selected="false" data-rk-pressure="precharge">3. Ciśnienie wstępne p₀<small>gaz, strona wodna 0 bar</small></button>
          <button class="rk-vessel-pressure-tab" type="button" role="tab" aria-selected="false" data-rk-pressure="fill">4. Ciśnienie napełnienia pₐ<small>zimny układ [bar]</small></button>
          <button class="rk-vessel-pressure-tab" type="button" role="tab" aria-selected="false" data-rk-pressure="final">5. Ciśnienie końcowe pₑ<small>maksymalna temperatura [bar]</small></button>
          <button class="rk-vessel-pressure-tab" type="button" role="tab" aria-selected="false" data-rk-pressure="safety">6. Zawór bezpieczeństwa pₛᵥ<small>nastawa urządzenia [bar]</small></button>
        </div>
        <div class="rk-vessel-pressure-panel" role="tabpanel" aria-live="polite">
          <span class="rk-vessel-pressure-panel-label" id="rk-vessel-pressure-label">Wysokość statyczna</span>
          <h3 id="rk-vessel-pressure-title">Od przyłącza naczynia do najwyższego punktu</h3>
          <p id="rk-vessel-pressure-summary">Mierzymy pionową różnicę poziomów, a nie długość rur. To ona tworzy ciśnienie hydrostatyczne w punkcie podłączenia naczynia.</p>
          <div class="rk-vessel-pressure-facts">
            <div class="rk-vessel-pressure-fact"><b>Jak wyznaczyć</b><span id="rk-vessel-pressure-how">Zmierz wysokość pomiędzy króćcem naczynia a najwyżej położonym elementem instalacji.</span></div>
            <div class="rk-vessel-pressure-fact"><b>Do czego służy</b><span id="rk-vessel-pressure-use">Do ustalenia minimalnego ciśnienia i kontroli zabezpieczenia przed zasysaniem powietrza.</span></div>
            <div class="rk-vessel-pressure-fact"><b>Typowy błąd</b><span id="rk-vessel-pressure-error">Liczenie długości przewodów albo liczby kondygnacji bez zmierzenia rzeczywistej różnicy poziomów.</span></div>
          </div>
        </div>
      </div>
    </section>

    <section class="rk-vessel-section" id="rk-vessel-volume">
      <span class="rk-vessel-eyebrow">Najczęściej pomijane dane wejściowe</span>
      <h2 class="rk-vessel-section-title">Jak obliczyć całkowitą objętość instalacji?</h2>
      <p class="rk-vessel-lead">Najlepiej zsumować pojemności z projektu i dokumentacji elementów. Gdy nie masz kompletnej listy, możesz oszacować część rurową z geometrii, ale nie wolno na tym zakończyć obliczeń.</p>
      <div class="rk-vessel-table-wrap">
        <table>
          <thead><tr><th>Rura</th><th>Uproszczone światło</th><th>Objętość geometryczna</th><th>Przykład dla 100 m</th></tr></thead>
          <tbody>
            <tr><td data-label="Rura"><strong>16 × 2,0 mm</strong></td><td data-label="Uproszczone światło">około 12 mm</td><td data-label="Objętość geometryczna">około 0,113 l/m</td><td data-label="Przykład dla 100 m">około 11,3 l</td></tr>
            <tr><td data-label="Rura"><strong>17 × 2,0 mm</strong></td><td data-label="Uproszczone światło">około 13 mm</td><td data-label="Objętość geometryczna">około 0,133 l/m</td><td data-label="Przykład dla 100 m">około 13,3 l</td></tr>
            <tr><td data-label="Rura"><strong>20 × 2,0 mm</strong></td><td data-label="Uproszczone światło">około 16 mm</td><td data-label="Objętość geometryczna">około 0,201 l/m</td><td data-label="Przykład dla 100 m">około 20,1 l</td></tr>
          </tbody>
        </table>
      </div>
      <div class="rk-vessel-grid-3">
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">ŹRÓDŁO</span><h3>Wymiennik i moduł hydrauliczny</h3><p>Sprawdź pojemność pompy ciepła, kotła, jednostki wewnętrznej oraz przewodów między urządzeniem i rozdziałem instalacji.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">MAGAZYN</span><h3>Bufor albo sprzęgło</h3><p>Ich pojemność może być większa niż objętość wielu pętli razem. Pominięcie bufora potrafi całkowicie zmienić dobór.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">ODBIORNIKI</span><h3>Pętle, grzejniki i przewody</h3><p>Uwzględnij wszystkie obiegi połączone z naczyniem, również dobiegi, piony, rozdzielacze i część grzejnikową.</p></article>
      </div>
      <p class="rk-vessel-lead">Jeżeli nie znasz długości przewodów, pomocny będzie <a href="https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/">kalkulator ilości rury do podłogówki</a>. Ilość wody w konkretnym wymiarze wyjaśnia osobny poradnik <a href="https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/">ile wody mieści się w rurze 16 mm</a>.</p>
    </section>

    <section class="rk-vessel-section rk-vessel-section-dark" id="rk-vessel-calculator-section">
      <span class="rk-vessel-eyebrow">Narzędzie główne</span>
      <h2 class="rk-vessel-section-title">Kalkulator pojemności naczynia wzbiorczego</h2>
      <p class="rk-vessel-lead">Narzędzie przeprowadza obliczenie dla zamkniętej instalacji grzewczej. Przyjmuje ciśnienia manometryczne, a we wzorze automatycznie uwzględnia ciśnienie atmosferyczne. Wynik jest pomocą projektową, nie zatwierdzeniem konkretnego produktu.</p>

      <div class="rk-vessel-calculator" id="rk-vessel-calculator">
        <div class="rk-vessel-calculator-head">
          <h3>Od zładu do najbliższej większej pojemności nominalnej</h3>
          <p>Uzupełnij dane układu. Pola mają wartości przykładowe, które trzeba zastąpić parametrami rzeczywistej instalacji.</p>
        </div>

        <div class="rk-vessel-stage">
          <div class="rk-vessel-stage-head"><span class="rk-vessel-stage-no">1</span><div><h4>Całkowita objętość instalacji</h4><p>Wpisz znany zład albo oszacuj go z rur i pozostałych elementów. Nie stosuj obu metod jednocześnie.</p></div></div>
          <div class="rk-vessel-fields">
            <label class="rk-vessel-field rk-vessel-field-wide"><span>Metoda określenia zładu</span><select id="rk-vessel-volume-mode"><option value="known">Znam całkowitą objętość instalacji</option><option value="helper">Oszacuj z rur i elementów</option></select></label>
          </div>
          <div class="rk-vessel-mode-box" id="rk-vessel-known-box">
            <div class="rk-vessel-fields">
              <label class="rk-vessel-field"><span>Całkowita objętość instalacji [l]</span><input id="rk-vessel-known-volume" type="number" min="1" max="50000" step="1" value="200" inputmode="decimal"><small>Rury, źródło, bufor, grzejniki, rozdzielacze i przewody główne.</small></label>
              <label class="rk-vessel-field"><span>Istniejące naczynie [l] — opcjonalnie</span><input id="rk-vessel-existing" type="number" min="0" max="5000" step="1" value="0" inputmode="decimal"><small>Porównanie ma sens tylko przy zgodnym p₀, medium i połączeniu hydraulicznym.</small></label>
            </div>
          </div>
          <div class="rk-vessel-mode-box" id="rk-vessel-helper-box" hidden="">
            <p>Podane pojemności rur są obliczeniem geometrycznym. Dla konkretnego produktu pierwszeństwo ma jego rzeczywista średnica wewnętrzna.</p>
            <div class="rk-vessel-fields is-three">
              <label class="rk-vessel-field"><span>Rura 16 × 2 mm [m]</span><input id="rk-vessel-pipe16" type="number" min="0" max="50000" step="1" value="800" inputmode="decimal"></label>
              <label class="rk-vessel-field"><span>Rura 17 × 2 mm [m]</span><input id="rk-vessel-pipe17" type="number" min="0" max="50000" step="1" value="0" inputmode="decimal"></label>
              <label class="rk-vessel-field"><span>Rura 20 × 2 mm [m]</span><input id="rk-vessel-pipe20" type="number" min="0" max="50000" step="1" value="0" inputmode="decimal"></label>
              <label class="rk-vessel-field"><span>Źródło i moduł hydrauliczny [l]</span><input id="rk-vessel-source-volume" type="number" min="0" max="5000" step="0.1" value="8" inputmode="decimal"></label>
              <label class="rk-vessel-field"><span>Bufor lub sprzęgło [l]</span><input id="rk-vessel-buffer-volume" type="number" min="0" max="20000" step="1" value="80" inputmode="decimal"></label>
              <label class="rk-vessel-field"><span>Przewody, grzejniki i pozostałe [l]</span><input id="rk-vessel-other-volume" type="number" min="0" max="20000" step="0.1" value="20" inputmode="decimal"></label>
              <label class="rk-vessel-field"><span>Istniejące naczynie [l] — opcjonalnie</span><input id="rk-vessel-existing-helper" type="number" min="0" max="5000" step="1" value="0" inputmode="decimal"></label>
            </div>
            <div class="rk-vessel-helper-total">Oszacowany zład: <span id="rk-vessel-helper-total">198,4 l</span></div>
          </div>
        </div>

        <div class="rk-vessel-stage">
          <div class="rk-vessel-stage-head"><span class="rk-vessel-stage-no">2</span><div><h4>Czynnik i zakres temperatury</h4><p>Dla wody kalkulator obliczy przyrost z tabeli gęstości. Dla innego medium podaj współczynnik z jego dokumentacji.</p></div></div>
          <div class="rk-vessel-fields">
            <label class="rk-vessel-field"><span>Czynnik grzewczy</span><select id="rk-vessel-fluid"><option value="water">Woda instalacyjna</option><option value="custom">Glikol lub inny czynnik — własny współczynnik</option></select></label>
            <label class="rk-vessel-field" id="rk-vessel-custom-field" hidden=""><span>Przyrost objętości czynnika [%]</span><input id="rk-vessel-custom-expansion" type="number" min="0.1" max="20" step="0.01" value="2.00" inputmode="decimal"><small>Wartość pomiędzy temperaturą napełnienia i maksymalną — z dokumentacji mieszaniny.</small></label>
            <label class="rk-vessel-field"><span>Temperatura napełnienia [°C]</span><input id="rk-vessel-fill-temp" type="number" min="4" max="50" step="1" value="10" inputmode="decimal"></label>
            <label class="rk-vessel-field"><span>Maksymalna temperatura projektowa [°C]</span><input id="rk-vessel-max-temp" type="number" min="10" max="100" step="1" value="55" inputmode="decimal"><small>Temperatura chronionej części układu, nie przypadkowa wartość katalogowa.</small></label>
          </div>
        </div>

        <div class="rk-vessel-stage">
          <div class="rk-vessel-stage-head"><span class="rk-vessel-stage-no">3</span><div><h4>Wysokość i ciśnienia</h4><p>Wartości wpisuj w barach manometrycznych. Ciśnienie końcowe zostanie wyznaczone z nastawy zaworu i wymaganej rezerwy.</p></div></div>
          <div class="rk-vessel-fields is-three">
            <label class="rk-vessel-field"><span>Wysokość statyczna [m]</span><input id="rk-vessel-height" type="number" min="0" max="100" step="0.1" value="5" inputmode="decimal"><small>Od przyłącza naczynia do najwyższego punktu.</small></label>
            <label class="rk-vessel-field"><span>Ciśnienie wstępne p₀ [bar]</span><input id="rk-vessel-precharge" type="number" min="0.1" max="20" step="0.1" value="0.7" inputmode="decimal"><small>Mierzone przy zerowym ciśnieniu po stronie wodnej.</small></label>
            <label class="rk-vessel-field"><span>Nastawa zaworu pₛᵥ [bar]</span><input id="rk-vessel-safety-pressure" type="number" min="0.5" max="40" step="0.1" value="3" inputmode="decimal"></label>
            <label class="rk-vessel-field"><span>Rezerwa przed zadziałaniem zaworu [bar]</span><input id="rk-vessel-safety-margin" type="number" min="0.1" max="5" step="0.1" value="0.3" inputmode="decimal"><small>Domyślnie 10% nastawy 3 bar; zweryfikuj wymagania projektu.</small></label>
          </div>
        </div>

        <div class="rk-vessel-actions">
          <button class="rk-vessel-run" id="rk-vessel-run" type="button">Oblicz pojemność naczynia</button>
          <button class="rk-vessel-reset" id="rk-vessel-reset" type="button">Przywróć przykład</button>
        </div>

        <div class="rk-vessel-result" id="rk-vessel-result" aria-live="polite">
          <p class="rk-vessel-result-status" id="rk-vessel-result-status">Przykład jest gotowy do obliczenia</p>
          <p class="rk-vessel-result-intro" id="rk-vessel-result-intro">Kliknij przycisk, aby zobaczyć pojemność, rezerwę i kontrolę ciśnień.</p>
          <div class="rk-vessel-result-grid">
            <div class="rk-vessel-result-metric"><b>Zład instalacji</b><strong id="rk-vessel-out-system">—</strong></div>
            <div class="rk-vessel-result-metric"><b>Przyrost objętości</b><strong id="rk-vessel-out-expansion-pct">—</strong></div>
            <div class="rk-vessel-result-metric"><b>Objętość rozszerzenia Vₑ</b><strong id="rk-vessel-out-expansion-volume">—</strong></div>
            <div class="rk-vessel-result-metric"><b>Rezerwa wodna VWR</b><strong id="rk-vessel-out-reserve">—</strong></div>
            <div class="rk-vessel-result-metric"><b>Minimum obliczeniowe</b><strong id="rk-vessel-out-minimum">—</strong></div>
            <div class="rk-vessel-result-metric"><b>Dobór nominalny</b><strong id="rk-vessel-out-selected">—</strong></div>
            <div class="rk-vessel-result-metric"><b>Min. napełnienie zimne</b><strong id="rk-vessel-out-fill-pressure">—</strong></div>
            <div class="rk-vessel-result-metric"><b>Ocena istniejącego naczynia</b><strong id="rk-vessel-out-existing">—</strong></div>
          </div>
          <div class="rk-vessel-pressure-scale">
            <div class="rk-vessel-pressure-scale-title">Relacja ciśnień — skala do nastawy zaworu bezpieczeństwa</div>
            <div class="rk-vessel-pressure-track" aria-hidden="true"><span class="rk-vessel-pressure-fill" id="rk-vessel-pressure-fill"></span></div>
            <div class="rk-vessel-pressure-values">
              <span>Statyczne<b id="rk-vessel-out-static">—</b></span>
              <span>Wstępne p₀<b id="rk-vessel-out-precharge">—</b></span>
              <span>Końcowe pₑ<b id="rk-vessel-out-final">—</b></span>
              <span>Zawór pₛᵥ<b id="rk-vessel-out-safety">—</b></span>
            </div>
          </div>
          <div class="rk-vessel-result-lists">
            <div class="rk-vessel-result-list is-check"><h4>Do potwierdzenia</h4><ul id="rk-vessel-check-list"><li>Dokumentacja konkretnego naczynia i rzeczywista objętość instalacji.</li></ul></div>
            <div class="rk-vessel-result-list is-stop"><h4>Ostrzeżenia</h4><ul id="rk-vessel-warning-list"><li>Brak obliczenia nie oznacza akceptacji danych.</li></ul></div>
          </div>
          <p class="rk-vessel-disclaimer">Kalkulator stosuje model edukacyjny oparty na zależnościach dla przeponowego naczynia w zamkniętej instalacji grzewczej. Nie zastępuje projektu, aktualnej normy, dokumentacji źródła i naczynia ani sprawdzenia zabezpieczeń na budowie.</p>
        </div>
      </div>

      <aside class="rk-vessel-cta" aria-label="Projekt ogrzewania podłogowego">
        <div class="rk-vessel-cta-title">Kalkulator podał pojemność. Schemat musi jeszcze określić, gdzie i jak naczynie będzie pracowało</div>
        <p>Wynik w litrach nie wyznacza punktu wpięcia, średnicy przewodu przyłączeniowego, położenia względem pompy, zabezpieczenia źródła ani współpracy z buforem i oddzielonymi obiegami. W projekcie te elementy są dobierane jako jeden układ hydrauliczny.</p>
        <a class="rk-vessel-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Sprawdź zakres indywidualnego projektu podłogówki</a>
        <small class="rk-vessel-link-disclosure">Odnośnik prowadzi do płatnej usługi projektowej autora poradnika.</small>
      </aside>
    </section>

    <section class="rk-vessel-section" id="rk-vessel-built-in">
      <span class="rk-vessel-eyebrow">Częste pytanie przy pompie ciepła i kotle</span>
      <h2 class="rk-vessel-section-title">Czy naczynie wbudowane w urządzenie wystarczy?</h2>
      <p class="rk-vessel-lead">Może wystarczyć, ale nie dlatego, że zostało fabrycznie zamontowane. Trzeba sprawdzić, dla jakiego zładu i zakresu ciśnień przewidziano urządzenie oraz co dołączono po stronie instalacji.</p>
      <div class="rk-vessel-grid-3">
        <article class="rk-vessel-card"><span class="rk-vessel-card-no">A</span><h3>Nominalna pojemność</h3><p>Odczytaj ją z dokumentacji urządzenia. Nie zakładaj jej na podstawie wymiarów obudowy ani typowej konfiguracji innego modelu.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no is-orange">B</span><h3>Ciśnienie fabryczne</h3><p>Może nie odpowiadać wysokości Twojego budynku. Bez prawidłowego ustawienia część objętości naczynia jest niewykorzystana.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no is-green">C</span><h3>Dodatkowy zład</h3><p>Bufor, długie magistrale, grzejniki i kolejne obiegi zwiększają ilość czynnika, której urządzenie mogło nie uwzględniać.</p></article>
      </div>
      <div class="rk-vessel-note"><p><strong>Dwóch naczyń nie ocenia się wyłącznie przez dodanie liczb z tabliczek.</strong> Muszą być połączone z chronioną częścią układu, mieć właściwe parametry i prawidłowo ustawione ciśnienie wstępne. Naczynie odcięte zaworem albo znajdujące się po drugiej stronie zamkniętej armatury nie chroni całej instalacji.</p></div>
      <p class="rk-vessel-lead">Przy układach ze źródłem niskotemperaturowym zobacz również <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">projekt ogrzewania podłogowego z pompą ciepła</a>. Szerszy kontekst całej kotłowni opisuje <a href="https://projekt-ogrzewania.pl/projekt-instalacji-grzewczej-domu-jednorodzinnego-kompletny-przewodnik-inzynieryjny-koszty-i-obliczenia-ozc/">projekt instalacji grzewczej domu jednorodzinnego</a>.</p>
    </section>

    <section class="rk-vessel-section rk-vessel-section-soft" id="rk-vessel-location">
      <span class="rk-vessel-eyebrow">Pojemność to dopiero połowa zadania</span>
      <h2 class="rk-vessel-section-title">Gdzie podłączyć naczynie wzbiorcze?</h2>
      <p class="rk-vessel-lead">Punkt wpięcia wpływa na rozkład ciśnienia w instalacji. Naczynie tworzy punkt odniesienia, względem którego pompa podnosi lub obniża ciśnienie w poszczególnych częściach obiegu.</p>
      <div class="rk-vessel-grid-2">
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">ZASADA</span><h3>Punkt stałego ciśnienia</h3><p>Naczynie podłącza się w miejscu wynikającym ze schematu hydraulicznego, często po stronie ssawnej pompy obiegowej. Nie sprowadza się to wyłącznie do hasła „zawsze na powrocie”.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">TEMPERATURA</span><h3>Ochrona membrany</h3><p>Położenie powinno ograniczać niekorzystne oddziaływanie temperatury na membranę. Jeżeli nie można spełnić jej dopuszczalnych warunków, projekt wymaga dodatkowych środków ochrony.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">DROŻNOŚĆ</span><h3>Przewód bez przypadkowej blokady</h3><p>Połączenie musi pozostawać drożne w każdej konfiguracji pracy chronionego układu. Armatura serwisowa wymaga zabezpieczenia przed niezamierzonym zamknięciem.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">SERWIS</span><h3>Dostęp do manometru i wentyla</h3><p>Naczynie powinno dać się bezpiecznie odizolować, opróżnić po stronie wodnej i sprawdzić bez demontażu połowy kotłowni.</p></article>
      </div>
      <p class="rk-vessel-lead">Przy kilku pompach, buforze lub sprzęgle położenie wymaga analizy stanów pracy. Samo wskazanie „przed pompą” jest niepełne, dopóki nie wiadomo, o którą pompę i który obieg chodzi. Rozdział przepływów warto zestawić z budową <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacza podłogówki</a>.</p>
    </section>

    <section class="rk-vessel-section" id="rk-vessel-safety">
      <span class="rk-vessel-eyebrow">Oddzielne funkcje zabezpieczeń</span>
      <h2 class="rk-vessel-section-title">Naczynie nie zastępuje zaworu bezpieczeństwa</h2>
      <p class="rk-vessel-lead">Naczynie stabilizuje ciśnienie podczas normalnych zmian objętości. Zawór bezpieczeństwa chroni przed przekroczeniem dopuszczalnego ciśnienia. Jedno urządzenie nie przejmuje funkcji drugiego.</p>
      <div class="rk-vessel-grid-3">
        <article class="rk-vessel-card"><span class="rk-vessel-card-no is-green">01</span><h3>Naczynie przeponowe</h3><p>Przyjmuje rozszerzający się czynnik i oddaje go przy chłodzeniu, utrzymując ciśnienie w zaprojektowanym zakresie.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no is-orange">02</span><h3>Zawór bezpieczeństwa</h3><p>Otwiera drogę zrzutu przy przekroczeniu nastawy. Nie służy do odpowietrzania, okresowego spuszczania ani regulacji ciśnienia.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no is-yellow">03</span><h3>Manometr i ograniczniki</h3><p>Pozwalają kontrolować stan układu, a zabezpieczenia temperatury i ciśnienia reagują na nieprawidłową pracę źródła.</p></article>
      </div>
      <div class="rk-vessel-note is-stop"><p><strong>Nie montuj zwykłego zaworu, który może odciąć naczynie podczas pracy.</strong> Jeżeli potrzebna jest armatura serwisowa, musi być przeznaczona do tego zastosowania i zabezpieczona przed niezamierzonym zamknięciem. Droga między źródłem i jego urządzeniami bezpieczeństwa również nie może zależeć od przypadkowego położenia armatury.</p></div>
      <p class="rk-vessel-lead">Dopuszczalne ciśnienie końcowe musi pozostawać poniżej nastawy zaworu o wymaganą różnicę. Dlatego w kalkulatorze nie utożsamiamy <strong>pₑ</strong> z <strong>pₛᵥ</strong>. Równie ważna jest właściwa <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/">maksymalna temperatura zasilania podłogówki</a>.</p>
    </section>

    <section class="rk-vessel-section rk-vessel-section-soft" id="rk-vessel-service">
      <span class="rk-vessel-eyebrow">Diagnoza bez zgadywania</span>
      <h2 class="rk-vessel-section-title">Jak sprawdzić naczynie i rozpoznać usterkę?</h2>
      <p class="rk-vessel-lead">Odczyt manometru instalacji nie jest pomiarem ciśnienia wstępnego. Gaz sprawdza się po bezpiecznym odizolowaniu naczynia i sprowadzeniu ciśnienia po jego stronie wodnej do zera.</p>
      <div class="rk-vessel-grid-4">
        <article class="rk-vessel-card"><span class="rk-vessel-card-no">1</span><h3>Schłodź i wyłącz układ</h3><p>Zabezpiecz źródło i pompę zgodnie z procedurą serwisową. Nie pracuj na gorącej instalacji pod ciśnieniem.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no">2</span><h3>Odizoluj naczynie</h3><p>Użyj właściwej armatury serwisowej i zabezpiecz układ. Nie pozostaw instalacji w trybie pracy bez czynnego zabezpieczenia.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no">3</span><h3>Zredukuj stronę wodną do 0 bar</h3><p>Dopiero wtedy manometr po stronie gazowej pokazuje ciśnienie wstępne, które można porównać z projektem.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-no">4</span><h3>Przywróć rezerwę i napełnienie</h3><p>Po korekcie p₀ napełnij zimny układ do wyliczonego ciśnienia, odpowietrz i sprawdź szczelność oraz zakres pracy.</p></article>
      </div>
      <div class="rk-vessel-table-wrap">
        <table>
          <thead><tr><th>Objaw</th><th>Możliwa przyczyna</th><th>Co sprawdzić</th><th>Czego nie zakładać</th></tr></thead>
          <tbody>
            <tr><td data-label="Objaw"><strong>Duża różnica zimne–gorące</strong></td><td data-label="Możliwa przyczyna">Brak gazu, zbyt małe naczynie, błędne p₀ albo odcięte połączenie.</td><td data-label="Co sprawdzić">Zład, p₀ przy 0 bar po stronie wodnej, drożność i wynik doboru.</td><td data-label="Czego nie zakładać">Że samo dopuszczenie wody naprawi problem.</td></tr>
            <tr><td data-label="Objaw"><strong>Zrzut z zaworu bezpieczeństwa</strong></td><td data-label="Możliwa przyczyna">Brak pojemności użytkowej, przepełnienie, usterka zaworu lub nieprawidłowa praca źródła.</td><td data-label="Co sprawdzić">Ciśnienia, temperaturę, naczynie, zawór i zabezpieczenia źródła.</td><td data-label="Czego nie zakładać">Że każdy zrzut oznacza wyłącznie pękniętą membranę.</td></tr>
            <tr><td data-label="Objaw"><strong>Spadek ciśnienia po ostygnięciu</strong></td><td data-label="Możliwa przyczyna">Brak rezerwy, wyciek, odpowietrzanie, nieszczelny zawór lub błędna konfiguracja.</td><td data-label="Co sprawdzić">Szczelność, historię uzupełniania, naczynie i odpływ zaworu.</td><td data-label="Czego nie zakładać">Że układ zawsze trzeba ponownie napełnić.</td></tr>
            <tr><td data-label="Objaw"><strong>Woda po stronie gazowej</strong></td><td data-label="Możliwa przyczyna">Uszkodzona membrana albo niewłaściwie wykonany test.</td><td data-label="Co sprawdzić">Stan naczynia bez niekontrolowanego naciskania wentyla w gorącym układzie.</td><td data-label="Czego nie zakładać">Że wystarczy ponownie dopompować gaz.</td></tr>
          </tbody>
        </table>
      </div>
      <p class="rk-vessel-lead">Częste uzupełnianie świeżej wody zwiększa ilość tlenu i składników mogących pogarszać stan instalacji. Kryteria medium opisuje poradnik <a href="https://projekt-ogrzewania.pl/czym-napelnic-instalacje-ogrzewania-podlogowego/">czym napełnić instalację podłogówki</a>, a zagadnienie jakości wody rozwija materiał o <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">wodzie demineralizowanej z inhibitorem</a>.</p>
    </section>

    <section class="rk-vessel-section" id="rk-vessel-errors">
      <span class="rk-vessel-eyebrow">Błędy projektowe i wykonawcze</span>
      <h2 class="rk-vessel-section-title">Najczęstsze błędy przy doborze naczynia wzbiorczego</h2>
      <div class="rk-vessel-grid-3">
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">BŁĄD 1</span><h3>Stały procent zładu</h3><p>Nie uwzględnia zakresu ciśnień, temperatury, czynnika ani rezerwy. Może dać przypadkowo poprawny wynik, ale nie wyjaśnia dlaczego.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">BŁĄD 2</span><h3>Pominięcie bufora</h3><p>Duży zbiornik może zawierać więcej wody niż cała podłogówka. Nie wolno liczyć wyłącznie metrów rur.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">BŁĄD 3</span><h3>p₀ z fabrycznej naklejki</h3><p>Wartość dostawy trzeba porównać z wysokością i wymaganym ciśnieniem konkretnego układu.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">BŁĄD 4</span><h3>pₑ równe nastawie zaworu</h3><p>Brak rezerwy powoduje pracę zbyt blisko punktu zadziałania urządzenia bezpieczeństwa.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">BŁĄD 5</span><h3>Pomiar gazu przy ciśnieniu wody</h3><p>Odczyt nie pokazuje wtedy rzeczywistego ciśnienia wstępnego i prowadzi do błędnej korekty.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">BŁĄD 6</span><h3>Zwykły zawór odcinający</h3><p>Jedno przypadkowe zamknięcie pozbawia układ kompensacji rozszerzalności i może doprowadzić do zrzutu.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">BŁĄD 7</span><h3>Jedno naczynie przez zamkniętą armaturę</h3><p>Każdy stan pracy trzeba przeanalizować. Odseparowany fragment nie korzysta z naczynia pozostawionego po drugiej stronie zaworu.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">BŁĄD 8</span><h3>Glikol liczony jak woda</h3><p>Inny czynnik ma inną rozszerzalność i może wymagać innego materiału membrany oraz większej pojemności.</p></article>
        <article class="rk-vessel-card"><span class="rk-vessel-card-label">BŁĄD 9</span><h3>„Większe rozwiąże wszystko”</h3><p>Duża pojemność nie naprawia niewłaściwego p₀, zablokowanego przewodu, błędnego miejsca wpięcia ani uszkodzonego zaworu.</p></article>
      </div>
      <p class="rk-vessel-lead">Przed napełnieniem i uruchomieniem trzeba również wykonać właściwą <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">próbę szczelności ogrzewania podłogowego</a> oraz zapewnić skuteczne usuwanie powietrza i zanieczyszczeń. Temu służy poprawnie dobrany <a href="https://projekt-ogrzewania.pl/separator-zanieczyszczen-i-powietrza-w-ogrzewaniu-podlogowym-dobor-schemat-montazu-spadek-cisnienia-i-normy/">separator zanieczyszczeń i powietrza</a>.</p>
    </section>

    <section class="rk-vessel-section rk-vessel-section-soft" id="rk-vessel-final">
      <span class="rk-vessel-eyebrow">Wniosek projektowy</span>
      <h2 class="rk-vessel-section-title">Naczynie dobiera się do całego układu, nie do jednego urządzenia</h2>
      <p class="rk-vessel-lead">Prawidłowy wynik łączy zład, czynnik, temperaturę, wysokość, ciśnienie wstępne, rezerwę wodną, ciśnienie napełnienia oraz dopuszczalne ciśnienie końcowe. Następnie trzeba wskazać bezpieczne miejsce podłączenia i warunki serwisu.</p>
      <div class="rk-vessel-cta">
        <div class="rk-vessel-cta-title">Projekt łączy naczynie, pompę, źródło i odbiorniki w jeden sprawdzony schemat</div>
        <p>W dokumentacji określamy pojemności, przepływy, opory, nastawy i zależności pomiędzy obiegami. Dzięki temu naczynie nie jest przypadkowym dodatkiem do kotłowni, lecz elementem dopasowanym do rzeczywistego układu.</p>
        <a class="rk-vessel-cta-button" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt ogrzewania podłogowego</a>
        <small class="rk-vessel-link-disclosure">Odnośnik prowadzi do płatnej usługi projektowej autora poradnika.</small>
      </div>
    </section>

    <section class="rk-vessel-section" id="rk-vessel-sources">
      <span class="rk-vessel-eyebrow">Podstawa techniczna</span>
      <h2 class="rk-vessel-section-title">Źródła oficjalne i zakres obliczeń</h2>
      <p class="rk-vessel-lead">Źródła dotyczą projektowania wodnych instalacji grzewczych, wymagań dla przeponowych naczyń wzbiorczych i urządzeń ciśnieniowych. Pełne zastosowanie wymaga dostępu do aktualnych dokumentów oraz danych konkretnego wyrobu.</p>
      <div class="rk-vessel-sources">
        <article class="rk-vessel-source"><a href="https://www.dinmedia.de/en/standard/din-en-12828/203258170" target="_blank" rel="nofollow noopener noreferrer">DIN EN 12828:2014-07 — projektowanie wodnych instalacji grzewczych</a><p>Oficjalna karta normy obejmującej kryteria projektowe, zabezpieczenia i wytyczne wymiarowania przeponowych naczyń w instalacjach zamkniętych.</p></article>
        <article class="rk-vessel-source"><a href="https://knowledge.bsigroup.com/products/heating-systems-in-buildings-design-for-water-based-heating-systems" target="_blank" rel="nofollow noopener noreferrer">BS EN 12828:2012+A1:2014 — BSI Knowledge</a><p>Oficjalna karta europejskiej normy dotyczącej źródeł, dystrybucji, odbiorników, regulacji i zabezpieczeń wodnych systemów grzewczych.</p></article>
        <article class="rk-vessel-source"><a href="https://knowledge.bsigroup.com/products/closed-expansion-vessels-with-built-in-diaphragm-for-installation-in-water" target="_blank" rel="nofollow noopener noreferrer">BS EN 13831:2007 — zamknięte naczynia z wbudowaną membraną</a><p>Oficjalna karta wymagań dotyczących projektowania, wytwarzania i badań zamkniętych naczyń przeponowych instalowanych w układach wodnych.</p></article>
        <article class="rk-vessel-source"><a href="https://eur-lex.europa.eu/legal-content/PL/TXT/?uri=CELEX:32014L0068" target="_blank" rel="nofollow noopener noreferrer">Dyrektywa 2014/68/UE — urządzenia ciśnieniowe</a><p>Oficjalny tekst wymagań dotyczących udostępniania na rynku urządzeń i zespołów ciśnieniowych.</p></article>
        <article class="rk-vessel-source"><a href="https://single-market-economy.ec.europa.eu/single-market/goods/european-standards/harmonised-standards/pressure-equipment_en" target="_blank" rel="nofollow noopener noreferrer">Komisja Europejska — normy zharmonizowane dla urządzeń ciśnieniowych</a><p>Oficjalne zestawienie odniesień do norm związanych z dyrektywą dotyczącą urządzeń ciśnieniowych.</p></article>
      </div>
      <div class="rk-vessel-responsibility"><p><strong>Zakres odpowiedzialności:</strong> kalkulator porządkuje dane i wykonuje obliczenie edukacyjne dla zamkniętej instalacji grzewczej. Nie projektuje układu otwartego, CWU, instalacji solarnej ani zabezpieczenia kotła na paliwo stałe. Nie potwierdza zgodności konkretnego naczynia, zaworu, źródła lub sposobu montażu.</p></div>
    </section>

    <section class="rk-vessel-section rk-vessel-section-soft" id="rk-vessel-faq">
      <span class="rk-vessel-eyebrow">Pytania inwestorów i wykonawców</span>
      <h2 class="rk-vessel-section-title">FAQ — naczynie wzbiorcze i ciśnienie instalacji</h2>
      <div class="rk-vessel-faq">
        <details><summary>Jaką pojemność naczynia wzbiorczego wybrać do podłogówki?</summary><div class="rk-vessel-faq-answer"><p>Nie da się jej wiarygodnie podać wyłącznie z powierzchni domu. Potrzebne są całkowita objętość czynnika, zakres temperatury, wysokość statyczna, ciśnienie wstępne, dopuszczalne ciśnienie końcowe i rezerwa wodna. Wynik zaokrągla się do większej dostępnej pojemności nominalnej.</p></div></details>
        <details><summary>Czy naczynie 8 lub 10 l w pompie ciepła wystarczy?</summary><div class="rk-vessel-faq-answer"><p>Tylko wtedy, gdy jego pojemność użytkowa przy właściwym ciśnieniu wstępnym wystarcza dla całego połączonego zładu. Bufor, długie przewody, grzejniki i pętle mogą wymagać dodatkowego naczynia.</p></div></details>
        <details><summary>Ile procent objętości instalacji powinno mieć naczynie?</summary><div class="rk-vessel-faq-answer"><p>Stały procent jest co najwyżej bardzo wstępnym oszacowaniem. Pojemność użytkowa zależy silnie od relacji ciśnienia wstępnego i końcowego, dlatego dwa budynki z takim samym zładem mogą wymagać innych naczyń.</p></div></details>
        <details><summary>Jak ustawić ciśnienie wstępne p₀?</summary><div class="rk-vessel-faq-answer"><p>Wyznacza się je z ciśnienia statycznego i wymaganego zapasu nad najwyższym punktem instalacji. Kontrolę wykonuje się przy zerowym ciśnieniu po stronie wodnej naczynia. Fabryczna wartość jest ustawieniem dostawy, a nie projektem Twojego budynku.</p></div></details>
        <details><summary>Czy ciśnienie napełnienia powinno być równe p₀?</summary><div class="rk-vessel-faq-answer"><p>Nie. Zimna instalacja powinna wprowadzić do naczynia wymaganą rezerwę wody, dlatego ciśnienie napełnienia musi być odpowiednio wyższe od ciśnienia gazu. Kalkulator pokazuje minimalną wartość dla dobranej pojemności.</p></div></details>
        <details><summary>Czy przy zaworze bezpieczeństwa 3 bar można przyjąć pₑ = 3 bar?</summary><div class="rk-vessel-faq-answer"><p>Nie należy utożsamiać dopuszczalnego ciśnienia końcowego z nastawą zaworu. Projekt musi pozostawić właściwą różnicę, aby normalne nagrzanie instalacji nie powodowało zrzutu.</p></div></details>
        <details><summary>Gdzie zamontować naczynie względem pompy obiegowej?</summary><div class="rk-vessel-faq-answer"><p>Miejsce wynika ze schematu i oczekiwanego rozkładu ciśnienia. Często naczynie łączy się po stronie ssawnej pompy, w punkcie stałego ciśnienia. Przy kilku pompach, buforze lub sprzęgle nie wolno wybierać miejsca tylko na podstawie hasła „na powrocie”.</p></div></details>
        <details><summary>Czy można zamontować zawór odcinający przed naczyniem?</summary><div class="rk-vessel-faq-answer"><p>Zwykła armatura umożliwiająca przypadkowe odcięcie jest niebezpieczna. Do serwisu stosuje się rozwiązanie przeznaczone do tego celu i zabezpieczone przed niezamierzonym zamknięciem, zgodnie z projektem oraz wymaganiami instalacji.</p></div></details>
        <details><summary>Dlaczego ciśnienie rośnie prawie do 3 bar po nagrzaniu?</summary><div class="rk-vessel-faq-answer"><p>Możliwe przyczyny to zbyt mała pojemność użytkowa naczynia, utrata gazu, zbyt wysokie lub niskie p₀, przepełnienie zimnej instalacji, pęknięta membrana albo odcięte połączenie. Trzeba sprawdzić cały układ, nie tylko dopompować naczynie.</p></div></details>
        <details><summary>Jak zmierzyć ciśnienie gazu w naczyniu?</summary><div class="rk-vessel-faq-answer"><p>Po bezpiecznym odizolowaniu naczynia i sprowadzeniu jego strony wodnej do 0 bar. Pomiar przy ciśnieniu instalacji pokazuje stan równowagi z wodą, a nie rzeczywiste ciśnienie wstępne.</p></div></details>
        <details><summary>Czy naczynie z wymienną membraną jest zawsze lepsze?</summary><div class="rk-vessel-faq-answer"><p>Nie zawsze. Ułatwia określony zakres napraw, ale liczą się również dopuszczalne parametry, jakość membrany, zgodność z medium, przestrzeń montażowa, dostęp serwisowy i ekonomika wymiany całego urządzenia.</p></div></details>
        <details><summary>Czy do glikolu można użyć wyniku obliczonego dla wody?</summary><div class="rk-vessel-faq-answer"><p>Nie bez weryfikacji. Mieszaniny mają inną rozszerzalność, zależną od rodzaju, stężenia i temperatury, a materiał membrany musi być z nimi zgodny. W kalkulatorze trzeba wpisać współczynnik z dokumentacji konkretnego czynnika.</p></div></details>
        <details><summary>Czy większe naczynie może zaszkodzić instalacji?</summary><div class="rk-vessel-faq-answer"><p>Prawidłowo dobrane większe naczynie zwykle nie tworzy problemu bezpieczeństwa, ale zajmuje miejsce i zwiększa koszt. Nie naprawia błędnego p₀, niedrożnego przewodu, niewłaściwego miejsca podłączenia ani źle dobranego zaworu bezpieczeństwa.</p></div></details>
        <details><summary>Czy kalkulator zastępuje projekt?</summary><div class="rk-vessel-faq-answer"><p>Nie. Oblicza pojemność dla podanych danych i wskazuje niespójności. Projekt musi jeszcze potwierdzić objętość instalacji, stany pracy, miejsce wpięcia, przewód przyłączeniowy, zabezpieczenia źródła oraz parametry konkretnego naczynia.</p></div></details>
      </div>
    </section>

    <section class="rk-vessel-section" id="rk-vessel-author" aria-labelledby="rk-vessel-author-heading">
      <div class="rk-vessel-author">
        <div class="rk-vessel-author-head">
          <div>
            <span class="rk-vessel-eyebrow">E-E-A-T i odpowiedzialność za treść</span>
            <h2 class="rk-vessel-author-title" id="rk-vessel-author-heading">Autor i weryfikacja merytoryczna</h2>
            <p>Treść przygotowana z perspektywy projektowania instalacji, stabilności ciśnienia, bezpieczeństwa źródła i późniejszego serwisu.</p>
          </div>
          <span class="rk-vessel-author-mark">Aktualizacja: 16.09.2026</span>
        </div>
        <div class="rk-vessel-author-layout">
          <aside class="rk-vessel-author-side">
            <div class="rk-vessel-author-photo"><img src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski — projektant instalacji sanitarnych" width="400" height="400" loading="lazy" decoding="async"></div>
            <div class="rk-vessel-author-name"><a href="https://projekt-ogrzewania.pl/author/admin3399/">Robert Kucharski</a></div>
            <p class="rk-vessel-author-role">Projektant instalacji sanitarnych<br>specjalista HVAC i ogrzewania podłogowego</p>
            <div class="rk-vessel-author-social-label">Profile branżowe</div>
            <div class="rk-vessel-author-social" aria-label="Profile branżowe Roberta Kucharskiego">
              <a href="https://www.linkedin.com/in/robert-kucharski-b8b906199/" target="_blank" rel="nofollow noopener noreferrer me" aria-label="LinkedIn Roberta Kucharskiego"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6.5 8.2H3.2V21h3.3V8.2ZM4.85 3A1.92 1.92 0 1 0 4.9 6.84 1.92 1.92 0 0 0 4.85 3ZM21 13.66c0-3.86-2.06-5.66-4.81-5.66a4.14 4.14 0 0 0-3.75 2.06V8.2H9.12V21h3.32v-6.34c0-1.67.32-3.29 2.39-3.29 2.04 0 2.07 1.91 2.07 3.4V21H21v-7.34Z"></path></svg></a>
              <a href="https://www.facebook.com/projektogrzewaniapl" target="_blank" rel="nofollow noopener noreferrer me" aria-label="Projekt Ogrzewania na Facebooku"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M14 8.5V7c0-.74.5-.92.85-.92H17V3.13L14.05 3C11.13 3 10.47 5.16 10.47 6.55V8.5H8v3.36h2.47V21H14v-9.14h2.7l.44-3.36H14Z"></path></svg></a>
              <a href="https://x.com/Projekt_HVAC" target="_blank" rel="nofollow noopener noreferrer me" aria-label="Projekt HVAC w serwisie X"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M18.9 3H22l-6.77 7.74L23.2 21h-6.24l-4.89-6.39L6.49 21H3.38l7.24-8.28L2.98 3h6.4l4.42 5.84L18.9 3Zm-1.09 16.2h1.72L8.44 4.7H6.59l11.22 14.5Z"></path></svg></a>
            </div>
          </aside>
          <div class="rk-vessel-author-main">
            <blockquote class="rk-vessel-author-quote"><p>Moim zdaniem największym błędem jest dobieranie naczynia z tabeli „do mocy kotła” i pozostawienie fabrycznego ciśnienia bez pomiaru. Naczynie zaczyna działać poprawnie dopiero wtedy, gdy jego pojemność, ciśnienie wstępne, napełnienie i miejsce wpięcia odpowiadają rzeczywistemu układowi.</p></blockquote>
            <div class="rk-vessel-author-cards">
              <div class="rk-vessel-author-card"><b>Praktyka projektowa</b><p>OZC, zład, źródło, bufor, obiegi, pompy, zabezpieczenia oraz hydraulika ogrzewania podłogowego.</p></div>
              <div class="rk-vessel-author-card"><b>Metoda</b><p>Rozdzielenie rozszerzalności czynnika, rezerwy wodnej i użytecznego zakresu ciśnień zamiast stałego procentu.</p></div>
              <div class="rk-vessel-author-card"><b>Zakres aktualizacji</b><p>Nowy kalkulator, moduł sześciu parametrów, korekta wzorów i zasad montażu oraz rozbudowane FAQ.</p></div>
            </div>
            <div class="rk-vessel-author-mini-label">Portale autora</div>
            <div class="rk-vessel-portals">
              <a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a>
              <a href="https://remont.biz.pl/" target="_blank" rel="nofollow noopener noreferrer">Remont.biz.pl</a>
              <a href="https://sobir.pl/" target="_blank" rel="nofollow noopener noreferrer">Sobir.pl</a>
            </div>
          </div>
        </div>
      </div>
    </section>
  </div>
</article>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebSite",
      "@id": "https://projekt-ogrzewania.pl/#website",
      "url": "https://projekt-ogrzewania.pl/",
      "name": "Projekt Ogrzewania",
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "inLanguage": "pl-PL"
    },
    {
      "@type": "Organization",
      "@id": "https://projekt-ogrzewania.pl/#organization",
      "name": "Projekt-Ogrzewania.pl",
      "url": "https://projekt-ogrzewania.pl/",
      "founder": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" },
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://remont.biz.pl/#organization",
      "name": "Remont.biz.pl",
      "url": "https://remont.biz.pl/",
      "founder": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" }
    },
    {
      "@type": "Organization",
      "@id": "https://sobir.pl/#organization",
      "name": "Sobir.pl",
      "url": "https://sobir.pl/",
      "founder": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" }
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#robert-kucharski",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/author/admin3399/",
      "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
      "jobTitle": "Projektant instalacji sanitarnych i specjalista HVAC",
      "knowsAbout": [
        "naczynia wzbiorcze",
        "wodne instalacje grzewcze",
        "ogrzewanie podłogowe",
        "hydraulika instalacji grzewczych",
        "zabezpieczenia ciśnieniowe",
        "dobór pomp obiegowych"
      ],
      "worksFor": [
        { "@id": "https://projekt-ogrzewania.pl/#organization" },
        { "@id": "https://remont.biz.pl/#organization" },
        { "@id": "https://sobir.pl/#organization" }
      ],
      "sameAs": [
        "https://www.linkedin.com/in/robert-kucharski-b8b906199/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@type": "ImageObject",
      "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#primaryimage",
      "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/01/Naczynie-wzbiorcze.webp",
      "contentUrl": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/01/Naczynie-wzbiorcze.webp",
      "caption": "Naczynie wzbiorcze w zamkniętej instalacji grzewczej"
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Strona główna",
          "item": "https://projekt-ogrzewania.pl/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Poradniki",
          "item": "https://projekt-ogrzewania.pl/blog/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Naczynie wzbiorcze",
          "item": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/"
        }
      ]
    },
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#webpage",
      "url": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/",
      "name": "Naczynie wzbiorcze – dobór, ciśnienie i kalkulator pojemności",
      "description": "Kalkulator pojemności naczynia wzbiorczego oraz poradnik o zładzie instalacji, rozszerzalności wody, ciśnieniu wstępnym i zaworze bezpieczeństwa.",
      "isPartOf": { "@id": "https://projekt-ogrzewania.pl/#website" },
      "breadcrumb": { "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#breadcrumb" },
      "primaryImageOfPage": { "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#primaryimage" },
      "datePublished": "2026-01-20T10:25:49+00:00",
      "dateModified": "2026-09-16T12:00:00+02:00",
      "inLanguage": "pl-PL",
      "mainEntity": { "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#article" }
    },
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#article",
      "mainEntityOfPage": { "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#webpage" },
      "headline": "Naczynie wzbiorcze – dobór, ciśnienie i kalkulator pojemności",
      "description": "Techniczny przewodnik doboru przeponowego naczynia wzbiorczego do zamkniętej instalacji grzewczej z interaktywnym kalkulatorem.",
      "image": { "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#primaryimage" },
      "author": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" },
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "datePublished": "2026-01-20T10:25:49+00:00",
      "dateModified": "2026-09-16T12:00:00+02:00",
      "inLanguage": "pl-PL",
      "about": [
        "naczynie wzbiorcze",
        "naczynie przeponowe",
        "ciśnienie wstępne",
        "objętość instalacji grzewczej",
        "zawór bezpieczeństwa",
        "ogrzewanie podłogowe"
      ],
      "keywords": "naczynie wzbiorcze kalkulator, dobór naczynia przeponowego, ciśnienie wstępne naczynia, pojemność instalacji, zawór bezpieczeństwa",
      "isAccessibleForFree": true,
      "hasPart": [
        { "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#calculator" },
        { "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#howto" },
        { "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#pressure-list" },
        { "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#faq-schema" }
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#calculator",
      "name": "Kalkulator pojemności naczynia wzbiorczego",
      "url": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#rk-vessel-calculator-section",
      "applicationCategory": "UtilitiesApplication",
      "operatingSystem": "Dowolny system z nowoczesną przeglądarką internetową",
      "browserRequirements": "JavaScript",
      "isAccessibleForFree": true,
      "inLanguage": "pl-PL",
      "description": "Kalkulator szacuje zład, rozszerzalność czynnika, rezerwę wodną, minimalną pojemność przeponowego naczynia i najbliższy większy rozmiar nominalny.",
      "featureList": [
        "pomocnik objętości rur i elementów",
        "obliczenie rozszerzalności wody",
        "własny współczynnik dla innego czynnika",
        "kontrola ciśnienia statycznego i wstępnego",
        "rezerwa przed zaworem bezpieczeństwa",
        "dobór większej pojemności nominalnej",
        "walidacja niespójnych danych"
      ],
      "creator": { "@id": "https://projekt-ogrzewania.pl/#robert-kucharski" },
      "publisher": { "@id": "https://projekt-ogrzewania.pl/#organization" }
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#howto",
      "name": "Jak dobrać naczynie wzbiorcze do zamkniętej instalacji grzewczej",
      "description": "Procedura od ustalenia zładu i temperatury do doboru pojemności, ustawienia ciśnienia oraz sprawdzenia miejsca podłączenia.",
      "totalTime": "PT25M",
      "step": [
        { "@type": "HowToStep", "position": 1, "name": "Ustal zakres chronionej instalacji", "text": "Określ wszystkie obiegi i elementy hydraulicznie połączone z naczyniem w każdym stanie pracy." },
        { "@type": "HowToStep", "position": 2, "name": "Oblicz całkowitą objętość czynnika", "text": "Zsumuj rury, źródło, bufor, sprzęgło, rozdzielacze, grzejniki i przewody główne." },
        { "@type": "HowToStep", "position": 3, "name": "Określ czynnik i temperatury", "text": "Ustal temperaturę napełnienia, maksymalną temperaturę projektową i przyrost objętości właściwy dla czynnika." },
        { "@type": "HowToStep", "position": 4, "name": "Wyznacz wysokość i ciśnienie wstępne", "text": "Zmierz wysokość statyczną i dobierz ciśnienie gazu zapewniające wymagane ciśnienie w najwyższym punkcie." },
        { "@type": "HowToStep", "position": 5, "name": "Ustal dopuszczalne ciśnienie końcowe", "text": "Pozostaw wymaganą różnicę pomiędzy ciśnieniem gorącej instalacji a nastawą zaworu bezpieczeństwa." },
        { "@type": "HowToStep", "position": 6, "name": "Dodaj rezerwę i oblicz minimum", "text": "Uwzględnij objętość rozszerzenia, rezerwę wodną i pojemność użytkową wynikającą z zakresu ciśnień." },
        { "@type": "HowToStep", "position": 7, "name": "Dobierz większy rozmiar i zweryfikuj montaż", "text": "Wybierz większą pojemność nominalną oraz sprawdź dopuszczalne parametry, miejsce podłączenia i warunki serwisu." }
      ]
    },
    {
      "@type": "ItemList",
      "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#pressure-list",
      "name": "Parametry ciśnieniowe potrzebne do doboru naczynia wzbiorczego",
      "numberOfItems": 6,
      "itemListElement": [
        { "@type": "ListItem", "position": 1, "name": "Wysokość statyczna" },
        { "@type": "ListItem", "position": 2, "name": "Ciśnienie statyczne" },
        { "@type": "ListItem", "position": 3, "name": "Ciśnienie wstępne p₀" },
        { "@type": "ListItem", "position": 4, "name": "Ciśnienie napełnienia pₐ" },
        { "@type": "ListItem", "position": 5, "name": "Ciśnienie końcowe pₑ" },
        { "@type": "ListItem", "position": 6, "name": "Nastawa zaworu bezpieczeństwa pₛᵥ" }
      ]
    },
    {
      "@type": "Service",
      "@id": "https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/#service",
      "name": "Indywidualny projekt ogrzewania podłogowego",
      "url": "https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/",
      "provider": { "@id": "https://projekt-ogrzewania.pl/#organization" },
      "areaServed": { "@type": "Country", "name": "Polska" },
      "serviceType": "Projekt instalacji ogrzewania podłogowego",
      "description": "Projekt instalacji obejmujący obciążenie cieplne, rozmieszczenie i podział pętli, przepływy, hydraulikę i dane potrzebne do konfiguracji układu grzewczego."
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/naczynie-wzbiorcze/#faq-schema",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Jaką pojemność naczynia wzbiorczego wybrać do podłogówki?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie da się jej wiarygodnie podać wyłącznie z powierzchni domu. Potrzebne są całkowita objętość czynnika, zakres temperatury, wysokość statyczna, ciśnienie wstępne, dopuszczalne ciśnienie końcowe i rezerwa wodna. Wynik zaokrągla się do większej dostępnej pojemności nominalnej." }
        },
        {
          "@type": "Question",
          "name": "Czy naczynie 8 lub 10 l w pompie ciepła wystarczy?",
          "acceptedAnswer": { "@type": "Answer", "text": "Tylko wtedy, gdy jego pojemność użytkowa przy właściwym ciśnieniu wstępnym wystarcza dla całego połączonego zładu. Bufor, długie przewody, grzejniki i pętle mogą wymagać dodatkowego naczynia." }
        },
        {
          "@type": "Question",
          "name": "Ile procent objętości instalacji powinno mieć naczynie?",
          "acceptedAnswer": { "@type": "Answer", "text": "Stały procent jest co najwyżej bardzo wstępnym oszacowaniem. Pojemność użytkowa zależy silnie od relacji ciśnienia wstępnego i końcowego, dlatego dwa budynki z takim samym zładem mogą wymagać innych naczyń." }
        },
        {
          "@type": "Question",
          "name": "Jak ustawić ciśnienie wstępne p₀?",
          "acceptedAnswer": { "@type": "Answer", "text": "Wyznacza się je z ciśnienia statycznego i wymaganego zapasu nad najwyższym punktem instalacji. Kontrolę wykonuje się przy zerowym ciśnieniu po stronie wodnej naczynia. Fabryczna wartość jest ustawieniem dostawy, a nie projektem budynku." }
        },
        {
          "@type": "Question",
          "name": "Czy ciśnienie napełnienia powinno być równe p₀?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie. Zimna instalacja powinna wprowadzić do naczynia wymaganą rezerwę wody, dlatego ciśnienie napełnienia musi być odpowiednio wyższe od ciśnienia gazu." }
        },
        {
          "@type": "Question",
          "name": "Czy przy zaworze bezpieczeństwa 3 bar można przyjąć pₑ równe 3 bar?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie należy utożsamiać dopuszczalnego ciśnienia końcowego z nastawą zaworu. Projekt musi pozostawić właściwą różnicę, aby normalne nagrzanie instalacji nie powodowało zrzutu." }
        },
        {
          "@type": "Question",
          "name": "Gdzie zamontować naczynie względem pompy obiegowej?",
          "acceptedAnswer": { "@type": "Answer", "text": "Miejsce wynika ze schematu i oczekiwanego rozkładu ciśnienia. Często naczynie łączy się po stronie ssawnej pompy, w punkcie stałego ciśnienia. Przy kilku pompach, buforze lub sprzęgle potrzebna jest analiza stanów pracy." }
        },
        {
          "@type": "Question",
          "name": "Czy można zamontować zawór odcinający przed naczyniem?",
          "acceptedAnswer": { "@type": "Answer", "text": "Zwykła armatura umożliwiająca przypadkowe odcięcie jest niebezpieczna. Do serwisu stosuje się rozwiązanie przeznaczone do tego celu i zabezpieczone przed niezamierzonym zamknięciem." }
        },
        {
          "@type": "Question",
          "name": "Dlaczego ciśnienie rośnie prawie do 3 bar po nagrzaniu?",
          "acceptedAnswer": { "@type": "Answer", "text": "Możliwe przyczyny to zbyt mała pojemność użytkowa naczynia, utrata gazu, błędne ciśnienie wstępne, przepełnienie zimnej instalacji, pęknięta membrana albo odcięte połączenie." }
        },
        {
          "@type": "Question",
          "name": "Jak zmierzyć ciśnienie gazu w naczyniu?",
          "acceptedAnswer": { "@type": "Answer", "text": "Po bezpiecznym odizolowaniu naczynia i sprowadzeniu jego strony wodnej do 0 bar. Pomiar przy ciśnieniu instalacji nie pokazuje rzeczywistego ciśnienia wstępnego." }
        },
        {
          "@type": "Question",
          "name": "Czy naczynie z wymienną membraną jest zawsze lepsze?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie zawsze. Ułatwia określony zakres napraw, ale liczą się również dopuszczalne parametry, jakość membrany, zgodność z medium, przestrzeń montażowa, dostęp serwisowy i ekonomika." }
        },
        {
          "@type": "Question",
          "name": "Czy do glikolu można użyć wyniku obliczonego dla wody?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie bez weryfikacji. Mieszaniny mają inną rozszerzalność zależną od rodzaju, stężenia i temperatury, a materiał membrany musi być z nimi zgodny." }
        },
        {
          "@type": "Question",
          "name": "Czy większe naczynie może zaszkodzić instalacji?",
          "acceptedAnswer": { "@type": "Answer", "text": "Prawidłowo dobrane większe naczynie zwykle nie tworzy problemu bezpieczeństwa, ale zajmuje miejsce i zwiększa koszt. Nie naprawia błędnego ciśnienia, niedrożnego przewodu ani niewłaściwego miejsca podłączenia." }
        },
        {
          "@type": "Question",
          "name": "Czy kalkulator zastępuje projekt?",
          "acceptedAnswer": { "@type": "Answer", "text": "Nie. Oblicza pojemność dla podanych danych i wskazuje niespójności. Projekt musi potwierdzić objętość instalacji, stany pracy, miejsce wpięcia, zabezpieczenia źródła oraz parametry konkretnego naczynia." }
        }
      ]
    }
  ]
}
</script>

<script>
(function () {
  "use strict";

  var guide = document.getElementById("rk-vessel-guide");
  if (!guide) {
    return;
  }

  function byId(id) {
    return document.getElementById(id);
  }

  function numeric(id) {
    var field = byId(id);
    var value = 0;
    if (field) {
      value = parseFloat(String(field.value).replace(",", "."));
    }
    if (!isFinite(value)) {
      return 0;
    }
    return value;
  }

  function formatNumber(value, decimals) {
    if (!isFinite(value)) {
      return "—";
    }
    return value.toFixed(decimals).replace(".", ",");
  }

  var pressureData = {
    height: {
      label: "Wysokość statyczna",
      title: "Od przyłącza naczynia do najwyższego punktu",
      summary: "Mierzymy pionową różnicę poziomów, a nie długość rur. To ona tworzy ciśnienie hydrostatyczne w punkcie podłączenia naczynia.",
      how: "Zmierz wysokość pomiędzy króćcem naczynia a najwyżej położonym elementem instalacji.",
      use: "Do ustalenia minimalnego ciśnienia i kontroli zabezpieczenia przed zasysaniem powietrza.",
      error: "Liczenie długości przewodów albo liczby kondygnacji bez zmierzenia rzeczywistej różnicy poziomów."
    },
    static: {
      label: "Ciśnienie statyczne",
      title: "Ciśnienie słupa czynnika w punkcie naczynia",
      summary: "W przybliżeniu każdy metr wysokości wody odpowiada około 0,098 bar. Wynik zależy od różnicy poziomów, nie od mocy źródła.",
      how: "Pomnóż wysokość statyczną w metrach przez około 0,098 bar/m.",
      use: "Jest punktem wyjścia do ustalenia minimalnego ciśnienia i ciśnienia wstępnego.",
      error: "Mylenie go z odczytem manometru pracującej instalacji albo z ciśnieniem pompy."
    },
    precharge: {
      label: "Ciśnienie wstępne p₀",
      title: "Ciśnienie gazu przy zerowym ciśnieniu po stronie wodnej",
      summary: "To nastawa komory gazowej przed napełnieniem. Decyduje, kiedy woda zacznie wchodzić do naczynia i jaka część jego pojemności będzie użyteczna.",
      how: "Zmierz manometrem po odizolowaniu naczynia i obniżeniu ciśnienia strony wodnej do 0 bar.",
      use: "Do obliczenia pojemności użytkowej oraz minimalnego ciśnienia napełnienia.",
      error: "Pomiar bez opróżnienia strony wodnej albo pozostawienie ustawienia fabrycznego bez porównania z budynkiem."
    },
    fill: {
      label: "Ciśnienie napełnienia pₐ",
      title: "Stan zimnej, odpowietrzonej instalacji",
      summary: "Musi być wyższe od p₀ na tyle, aby w naczyniu znalazła się obliczona rezerwa wody. Zrównanie obu wartości pozostawia naczynie praktycznie puste.",
      how: "Ustal je po dobraniu nominalnej pojemności i wymaganej rezerwy wodnej.",
      use: "Zapewnia stabilność zimnego układu i zapas na niewielkie zmiany objętości lub straty.",
      error: "Napełnianie zawsze do przypadkowej wartości 1,5 bar, niezależnie od wysokości i p₀."
    },
    final: {
      label: "Ciśnienie końcowe pₑ",
      title: "Dopuszczalne ciśnienie przy maksymalnej temperaturze",
      summary: "To górna granica normalnej pracy używana do doboru pojemności naczynia. Musi pozostawać poniżej nastawy zaworu bezpieczeństwa.",
      how: "Wyznacz z nastawy zaworu po odjęciu wymaganej różnicy zabezpieczającej.",
      use: "Wraz z p₀ określa, jaką część nominalnej objętości naczynia można wykorzystać.",
      error: "Przyjmowanie pₑ równego nastawie zaworu bezpieczeństwa."
    },
    safety: {
      label: "Nastawa zaworu pₛᵥ",
      title: "Granica zadziałania urządzenia bezpieczeństwa",
      summary: "Zawór ma chronić instalację przed nadmiernym ciśnieniem, a nie cyklicznie odprowadzać wodę podczas każdego nagrzania.",
      how: "Odczytaj nastawę z projektu i oznaczenia zaworu właściwego dla źródła oraz instalacji.",
      use: "Wyznacza najwyższą granicę, poniżej której musi pozostać ciśnienie końcowe.",
      error: "Traktowanie zaworu jako elementu regulacyjnego, spustowego albo odpowietrzającego."
    }
  };

  var pressureButtons = guide.querySelectorAll("[data-rk-pressure]");

  function showPressure(key) {
    var data = pressureData[key];
    if (!data) {
      return;
    }
    byId("rk-vessel-pressure-label").textContent = data.label;
    byId("rk-vessel-pressure-title").textContent = data.title;
    byId("rk-vessel-pressure-summary").textContent = data.summary;
    byId("rk-vessel-pressure-how").textContent = data.how;
    byId("rk-vessel-pressure-use").textContent = data.use;
    byId("rk-vessel-pressure-error").textContent = data.error;
    pressureButtons.forEach(function (button) {
      var selected = button.getAttribute("data-rk-pressure") === key;
      button.setAttribute("aria-selected", selected ? "true" : "false");
    });
  }

  pressureButtons.forEach(function (button) {
    button.addEventListener("click", function () {
      showPressure(button.getAttribute("data-rk-pressure"));
    });
  });

  var densityTable = [
    { t: 4, d: 999.97 },
    { t: 10, d: 999.70 },
    { t: 20, d: 998.21 },
    { t: 30, d: 995.65 },
    { t: 40, d: 992.22 },
    { t: 50, d: 988.04 },
    { t: 60, d: 983.20 },
    { t: 70, d: 977.76 },
    { t: 80, d: 971.80 },
    { t: 90, d: 965.31 },
    { t: 100, d: 958.35 }
  ];

  function waterDensity(temp) {
    var first = densityTable[0];
    var last = densityTable[densityTable.length - 1];
    var i;
    if (temp <= first.t) {
      return first.d;
    }
    if (temp >= last.t) {
      return last.d;
    }
    for (i = 0; i < densityTable.length - 1; i += 1) {
      var low = densityTable[i];
      var high = densityTable[i + 1];
      if (temp >= low.t) {
        if (temp <= high.t) {
          var fraction = (temp - low.t) / (high.t - low.t);
          return low.d + ((high.d - low.d) * fraction);
        }
      }
    }
    return last.d;
  }

  function helperVolume() {
    return (numeric("rk-vessel-pipe16") * 0.113) +
      (numeric("rk-vessel-pipe17") * 0.133) +
      (numeric("rk-vessel-pipe20") * 0.201) +
      numeric("rk-vessel-source-volume") +
      numeric("rk-vessel-buffer-volume") +
      numeric("rk-vessel-other-volume");
  }

  function updateHelperTotal() {
    byId("rk-vessel-helper-total").textContent = formatNumber(helperVolume(), 1) + " l";
  }

  function updateVolumeMode() {
    var mode = byId("rk-vessel-volume-mode").value;
    byId("rk-vessel-known-box").hidden = mode !== "known";
    byId("rk-vessel-helper-box").hidden = mode !== "helper";
    updateHelperTotal();
  }

  function updateFluidMode() {
    var fluid = byId("rk-vessel-fluid").value;
    byId("rk-vessel-custom-field").hidden = fluid !== "custom";
  }

  function reserveForSize(size, systemVolume) {
    if (size < 15) {
      return size * 0.20;
    }
    return Math.max(3, systemVolume * 0.005);
  }

  function requiredSize(expansionVolume, reserve, precharge, finalPressure) {
    var pressureRange = finalPressure - precharge;
    if (pressureRange <= 0) {
      return 0;
    }
    return (expansionVolume + reserve) * (finalPressure + 1) / pressureRange;
  }

  function chooseNominalSize(expansionVolume, systemVolume, precharge, finalPressure) {
    var sizes = [8, 12, 18, 24, 25, 35, 50, 60, 80, 100, 140, 200, 250, 300, 400, 500, 600, 800, 1000, 1500, 2000, 3000, 5000];
    var i;
    for (i = 0; i < sizes.length; i += 1) {
      var candidate = sizes[i];
      var reserve = reserveForSize(candidate, systemVolume);
      var minimum = requiredSize(expansionVolume, reserve, precharge, finalPressure);
      if (candidate >= minimum) {
        return { nominal: candidate, reserve: reserve, minimum: minimum };
      }
    }
    var largeReserve = Math.max(3, systemVolume * 0.005);
    var largeMinimum = requiredSize(expansionVolume, largeReserve, precharge, finalPressure);
    var customNominal = Math.ceil(largeMinimum / 100) * 100;
    return { nominal: customNominal, reserve: largeReserve, minimum: largeMinimum };
  }

  function renderList(id, items, emptyText) {
    var list = byId(id);
    list.textContent = "";
    if (items.length === 0) {
      var empty = document.createElement("li");
      empty.textContent = emptyText;
      list.appendChild(empty);
      return;
    }
    items.forEach(function (text) {
      var item = document.createElement("li");
      item.textContent = text;
      list.appendChild(item);
    });
  }

  function clearOutputs() {
    var ids = [
      "rk-vessel-out-system",
      "rk-vessel-out-expansion-pct",
      "rk-vessel-out-expansion-volume",
      "rk-vessel-out-reserve",
      "rk-vessel-out-minimum",
      "rk-vessel-out-selected",
      "rk-vessel-out-fill-pressure",
      "rk-vessel-out-existing",
      "rk-vessel-out-static",
      "rk-vessel-out-precharge",
      "rk-vessel-out-final",
      "rk-vessel-out-safety"
    ];
    ids.forEach(function (id) {
      byId(id).textContent = "—";
    });
    byId("rk-vessel-pressure-fill").style.width = "0%";
  }

  function calculate() {
    var result = byId("rk-vessel-result");
    var status = byId("rk-vessel-result-status");
    var intro = byId("rk-vessel-result-intro");
    var checks = [];
    var warnings = [];
    var fatal = [];
    var mode = byId("rk-vessel-volume-mode").value;
    var systemVolume = mode === "known" ? numeric("rk-vessel-known-volume") : helperVolume();
    var existing = mode === "known" ? numeric("rk-vessel-existing") : numeric("rk-vessel-existing-helper");
    var fluid = byId("rk-vessel-fluid").value;
    var fillTemp = numeric("rk-vessel-fill-temp");
    var maxTemp = numeric("rk-vessel-max-temp");
    var height = numeric("rk-vessel-height");
    var precharge = numeric("rk-vessel-precharge");
    var safetyPressure = numeric("rk-vessel-safety-pressure");
    var safetyMargin = numeric("rk-vessel-safety-margin");
    var finalPressure = safetyPressure - safetyMargin;
    var staticPressure = height * 0.0981;
    var suggestedPrecharge = staticPressure + 0.2;
    var expansionPercent = 0;

    result.classList.remove("is-good");
    result.classList.remove("is-stop");

    if (systemVolume <= 0) {
      fatal.push("Całkowita objętość instalacji musi być większa od zera.");
    }
    if (maxTemp <= fillTemp) {
      fatal.push("Maksymalna temperatura musi być wyższa od temperatury napełnienia.");
    }
    if (precharge <= 0) {
      fatal.push("Ciśnienie wstępne musi być większe od zera.");
    }
    if (safetyPressure <= 0) {
      fatal.push("Podaj dodatnią nastawę zaworu bezpieczeństwa.");
    }
    if (safetyMargin <= 0) {
      fatal.push("Rezerwa przed zaworem bezpieczeństwa musi być większa od zera.");
    }
    if (finalPressure <= precharge) {
      fatal.push("Ciśnienie końcowe po odjęciu rezerwy musi być wyższe od p₀.");
    }

    if (fluid === "water") {
      var fillDensity = waterDensity(fillTemp);
      var maxDensity = waterDensity(maxTemp);
      expansionPercent = ((fillDensity / maxDensity) - 1) * 100;
    } else {
      expansionPercent = numeric("rk-vessel-custom-expansion");
      if (expansionPercent <= 0) {
        fatal.push("Podaj dodatni przyrost objętości wybranego czynnika.");
      }
      checks.push("Potwierdź współczynnik rozszerzalności i zgodność membrany z dokładną mieszaniną.");
    }

    if (fatal.length > 0) {
      result.classList.add("is-stop");
      status.textContent = "Nie można wykonać obliczenia";
      intro.textContent = "Popraw dane krytyczne wskazane poniżej.";
      clearOutputs();
      renderList("rk-vessel-check-list", checks, "Po poprawieniu danych sprawdź dokumentację naczynia.");
      renderList("rk-vessel-warning-list", fatal, "Brak ostrzeżeń.");
      return;
    }

    var expansionVolume = systemVolume * expansionPercent / 100;
    var selection = chooseNominalSize(expansionVolume, systemVolume, precharge, finalPressure);
    var fillPressureMin = (selection.nominal * (precharge + 1) / (selection.nominal - selection.reserve)) - 1;
    var useFactor = (finalPressure - precharge) / (finalPressure + 1) * 100;

    if (precharge < suggestedPrecharge - 0.05) {
      warnings.push("p₀ jest niższe od orientacyjnego minimum wynikającego z wysokości i zapasu 0,2 bar.");
    }
    if (precharge > suggestedPrecharge + 0.3) {
      warnings.push("p₀ jest wyraźnie wyższe od wartości wynikającej z wysokości; zmniejsza to użyteczną pojemność naczynia.");
    }
    if (safetyMargin < safetyPressure * 0.10) {
      warnings.push("Rezerwa przed zaworem jest mniejsza niż 10% jego nastawy; potwierdź ją w projekcie.");
    }
    if (selection.nominal <= selection.reserve) {
      warnings.push("Rezerwa wodna jest zbyt duża względem dobranej pojemności.");
    }
    if (fillPressureMin >= finalPressure) {
      warnings.push("Minimalne ciśnienie napełnienia zbliża się do ciśnienia końcowego; zakres pracy jest zbyt mały.");
    }
    if (mode === "helper") {
      checks.push("Uzupełnij oszacowanie o rzeczywiste pojemności rozdzielaczy, armatury i urządzeń.");
    } else {
      checks.push("Potwierdź, że podany zład obejmuje wszystkie hydraulicznie połączone obiegi.");
    }
    checks.push("Minimalne p₀ z wysokości wynosi orientacyjnie " + formatNumber(suggestedPrecharge, 2) + " bar.");
    checks.push("Pojemność użytkowa przy podanym zakresie ciśnień wynosi około " + formatNumber(useFactor, 1) + "% objętości nominalnej.");
    checks.push("Zweryfikuj dopuszczalne ciśnienie, temperaturę membrany, medium i orientację montażu konkretnego naczynia.");
    checks.push("Dobór nominalny oznacza zaokrąglenie do typowego większego rozmiaru; oferta konkretnej serii może być inna.");

    byId("rk-vessel-out-system").textContent = formatNumber(systemVolume, 1) + " l";
    byId("rk-vessel-out-expansion-pct").textContent = formatNumber(expansionPercent, 2) + "%";
    byId("rk-vessel-out-expansion-volume").textContent = formatNumber(expansionVolume, 2) + " l";
    byId("rk-vessel-out-reserve").textContent = formatNumber(selection.reserve, 2) + " l";
    byId("rk-vessel-out-minimum").textContent = formatNumber(selection.minimum, 2) + " l";
    byId("rk-vessel-out-selected").textContent = formatNumber(selection.nominal, 0) + " l";
    byId("rk-vessel-out-fill-pressure").textContent = formatNumber(fillPressureMin, 2) + " bar";
    byId("rk-vessel-out-static").textContent = formatNumber(staticPressure, 2) + " bar";
    byId("rk-vessel-out-precharge").textContent = formatNumber(precharge, 2) + " bar";
    byId("rk-vessel-out-final").textContent = formatNumber(finalPressure, 2) + " bar";
    byId("rk-vessel-out-safety").textContent = formatNumber(safetyPressure, 2) + " bar";

    if (existing <= 0) {
      byId("rk-vessel-out-existing").textContent = "nie podano";
    } else {
      if (existing >= selection.minimum) {
        byId("rk-vessel-out-existing").textContent = "może wystarczyć*";
        checks.push("Istniejące naczynie ma wystarczającą pojemność nominalną tylko przy zgodnym p₀ i prawidłowym połączeniu.");
      } else {
        var shortfall = selection.minimum - existing;
        byId("rk-vessel-out-existing").textContent = "za małe o ≥ " + formatNumber(shortfall, 1) + " l*";
        warnings.push("Podane istniejące naczynie nie osiąga obliczeniowego minimum nominalnego.");
      }
    }

    var scaleWidth = finalPressure / safetyPressure * 100;
    if (scaleWidth < 0) {
      scaleWidth = 0;
    }
    if (scaleWidth > 100) {
      scaleWidth = 100;
    }
    byId("rk-vessel-pressure-fill").style.width = formatNumber(scaleWidth, 1).replace(",", ".") + "%";

    if (warnings.length > 0) {
      result.classList.add("is-stop");
      status.textContent = "Wynik warunkowy: " + formatNumber(selection.nominal, 0) + " l";
      intro.textContent = "Kalkulator wyznaczył pojemność, ale dane zawierają warunki wymagające korekty lub potwierdzenia.";
    } else {
      result.classList.add("is-good");
      status.textContent = "Dobór orientacyjny: " + formatNumber(selection.nominal, 0) + " l";
      intro.textContent = "Dla podanych założeń jest to najbliższa większa pojemność z listy typowych rozmiarów.";
    }

    renderList("rk-vessel-check-list", checks, "Brak dodatkowych pozycji.");
    renderList("rk-vessel-warning-list", warnings, "Nie wykryto niespójności w podanych zależnościach.");
  }

  function restoreExample() {
    byId("rk-vessel-volume-mode").value = "known";
    byId("rk-vessel-known-volume").value = "200";
    byId("rk-vessel-existing").value = "0";
    byId("rk-vessel-pipe16").value = "800";
    byId("rk-vessel-pipe17").value = "0";
    byId("rk-vessel-pipe20").value = "0";
    byId("rk-vessel-source-volume").value = "8";
    byId("rk-vessel-buffer-volume").value = "80";
    byId("rk-vessel-other-volume").value = "20";
    byId("rk-vessel-existing-helper").value = "0";
    byId("rk-vessel-fluid").value = "water";
    byId("rk-vessel-custom-expansion").value = "2.00";
    byId("rk-vessel-fill-temp").value = "10";
    byId("rk-vessel-max-temp").value = "55";
    byId("rk-vessel-height").value = "5";
    byId("rk-vessel-precharge").value = "0.7";
    byId("rk-vessel-safety-pressure").value = "3";
    byId("rk-vessel-safety-margin").value = "0.3";
    updateVolumeMode();
    updateFluidMode();
    calculate();
  }

  byId("rk-vessel-volume-mode").addEventListener("change", updateVolumeMode);
  byId("rk-vessel-fluid").addEventListener("change", updateFluidMode);
  byId("rk-vessel-run").addEventListener("click", calculate);
  byId("rk-vessel-reset").addEventListener("click", restoreExample);

  var helperFields = guide.querySelectorAll("#rk-vessel-helper-box input");
  helperFields.forEach(function (field) {
    field.addEventListener("input", updateHelperTotal);
  });

  updateVolumeMode();
  updateFluidMode();
  showPressure("height");
  calculate();
}());
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">Naczynie wzbiorcze – dobór, ciśnienie i kalkulator pojemności.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
