<?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 Izolacje termiczne - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/category/izolacje-termiczne/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/category/izolacje-termiczne/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Sun, 30 Aug 2026 09:57:49 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa Izolacje termiczne - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/category/izolacje-termiczne/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Ile styropianu pod ogrzewanie podłogowe? Grubość, opór R i kalkulator ilości.</title>
		<link>https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Tue, 18 Nov 2025 08:28:46 +0000</pubDate>
				<category><![CDATA[Izolacje termiczne]]></category>
		<category><![CDATA[Materiały budowlane]]></category>
		<category><![CDATA[Materiały do podłogówki]]></category>
		<category><![CDATA[Materiały instalacyjne]]></category>
		<category><![CDATA[Normy budowlane]]></category>
		<category><![CDATA[Normy i regulacje]]></category>
		<category><![CDATA[Normy i standardy]]></category>
		<category><![CDATA[Normy techniczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Styropian]]></category>
		<category><![CDATA[eps 100]]></category>
		<category><![CDATA[eps 200]]></category>
		<category><![CDATA[grubość styropianu]]></category>
		<category><![CDATA[izolacja termiczna]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projektowanie ogrzewania]]></category>
		<category><![CDATA[straty ciepła]]></category>
		<category><![CDATA[styropian]]></category>
		<category><![CDATA[warunki techniczne]]></category>
		<category><![CDATA[współczynnik lambda]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2850</guid>

					<description><![CDATA[<p>Planując instalację ogrzewania podłogowego, jednym z najważniejszych, choć często niedocenianych aspektów, jest odpowiednie dobranie izolacji termicznej. Wiele osób zadaje sobie wtedy kluczowe pytanie: ile styropianu pod ogrzewanie podłogowe będzie optymalne? Odpowiedź nie jest jednoznaczna, ponieważ zależy od typu konstrukcji, lokalizacji oraz parametrów technicznych samego materiału. W naszym kompleksowym artykule w techniczny i szczegółowy sposób wyjaśniamy, jak precyzyjnie obliczyć wymaganą grubość warstwy izolacyjnej, jakie normy prawne muszą być spełnione oraz na jakie zaawansowane parametry, takie jak współczynnik lambda czy wytrzymałość na ściskanie, należy zwrócić uwagę. Dowiesz się również, jak uniknąć kosztownych błędów i zapewnić swojemu systemowi grzewczemu maksymalną efektywność energetyczną na długie lata.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/">Ile styropianu pod ogrzewanie podłogowe? Grubość, opór R i kalkulator ilości.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
  #rk-insulation-guide {
    --rk-dark: #102536;
    --rk-navy: #14384d;
    --rk-blue: #078fbe;
    --rk-cyan: #28c9da;
    --rk-cyan-soft: #e9fbff;
    --rk-orange: #ff7438;
    --rk-orange-soft: #fff2ec;
    --rk-green: #16876d;
    --rk-green-soft: #eaf8f3;
    --rk-yellow: #e7ad2f;
    --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.76;
  }

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

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

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

  #rk-insulation-guide button,
  #rk-insulation-guide input,
  #rk-insulation-guide select {
    font: inherit;
  }

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

  #rk-insulation-guide h2,
  #rk-insulation-guide h3,
  #rk-insulation-guide h4,
  #rk-insulation-guide p,
  #rk-insulation-guide ul,
  #rk-insulation-guide ol,
  #rk-insulation-guide blockquote {
    margin-top: 0;
  }

  #rk-insulation-guide h2,
  #rk-insulation-guide h3,
  #rk-insulation-guide h4 {
    color: var(--rk-dark);
    line-height: 1.18;
    letter-spacing: -0.025em;
  }

  #rk-insulation-guide h2 {
    margin-bottom: 22px;
    font-size: clamp(30px, 4vw, 48px);
    scroll-margin-top: 30px;
  }

  #rk-insulation-guide h3 {
    margin-bottom: 12px;
    font-size: clamp(22px, 2.4vw, 29px);
  }

  #rk-insulation-guide h4 {
    margin-bottom: 9px;
    font-size: 20px;
  }

  #rk-insulation-guide p:last-child,
  #rk-insulation-guide ul:last-child,
  #rk-insulation-guide ol:last-child {
    margin-bottom: 0;
  }

  #rk-insulation-guide .rk-ins-shell {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 28px;
    background: var(--rk-white);
    box-shadow: 0 28px 80px rgba(16, 37, 54, 0.11);
  }

  #rk-insulation-guide .rk-ins-progress-track {
    position: sticky;
    z-index: 20;
    top: 0;
    height: 5px;
    background: rgba(255, 255, 255, 0.2);
  }

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

  #rk-insulation-guide .rk-ins-hero {
    position: relative;
    overflow: hidden;
    padding: 62px 58px 54px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 88% 15%, rgba(40, 201, 218, 0.24), transparent 28%),
      radial-gradient(circle at 78% 105%, rgba(255, 116, 56, 0.24), transparent 34%),
      linear-gradient(135deg, #0f2637 0%, #123f55 64%, #174c5c 100%);
  }

  #rk-insulation-guide .rk-ins-hero::after {
    content: "";
    position: absolute;
    right: -80px;
    top: -140px;
    width: 420px;
    height: 420px;
    border: 38px solid rgba(255, 255, 255, 0.045);
    border-radius: 50%;
  }

  #rk-insulation-guide .rk-ins-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 920px;
  }

  #rk-insulation-guide .rk-ins-eyebrow,
  #rk-insulation-guide .rk-ins-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    color: var(--rk-blue);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.11em;
    text-transform: uppercase;
  }

  #rk-insulation-guide .rk-ins-eyebrow {
    color: #91f4ff;
  }

  #rk-insulation-guide .rk-ins-eyebrow b {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--rk-orange);
    box-shadow: 0 0 0 7px rgba(255, 116, 56, 0.14);
  }

  #rk-insulation-guide .rk-ins-hero-title {
    max-width: 900px;
    margin-bottom: 20px;
    color: var(--rk-white);
    font-size: clamp(38px, 6vw, 68px);
    font-weight: 950;
    line-height: 1.02;
    letter-spacing: -0.05em;
  }

  #rk-insulation-guide .rk-ins-hero-lead {
    max-width: 830px;
    margin-bottom: 26px;
    color: #dcecf2;
    font-size: clamp(19px, 2.3vw, 24px);
    line-height: 1.55;
  }

  #rk-insulation-guide .rk-ins-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  #rk-insulation-guide .rk-ins-meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.17);
    border-radius: 999px;
    color: #e7f7fa;
    background: rgba(255, 255, 255, 0.07);
    font-size: 13px;
    font-weight: 750;
  }

  #rk-insulation-guide .rk-ins-meta i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--rk-cyan);
  }

  #rk-insulation-guide .rk-ins-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 24px 32px;
    border-bottom: 1px solid var(--rk-line);
    background: var(--rk-white);
  }

  #rk-insulation-guide .rk-ins-nav strong {
    display: block;
    width: 100%;
    margin-bottom: 2px;
    color: var(--rk-muted);
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  #rk-insulation-guide .rk-ins-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 9px 15px;
    border-radius: 999px;
    color: var(--rk-dark);
    background: var(--rk-soft);
    font-size: 14px;
    font-weight: 850;
    line-height: 1.25;
    text-decoration: none;
    transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease;
  }

  #rk-insulation-guide .rk-ins-nav a:hover,
  #rk-insulation-guide .rk-ins-nav a:focus-visible {
    color: var(--rk-white);
    background: var(--rk-blue);
    transform: translateY(-1px);
    outline: none;
  }

  #rk-insulation-guide .rk-ins-section {
    padding: 64px 58px;
    border-bottom: 1px solid var(--rk-line);
  }

  #rk-insulation-guide .rk-ins-section:nth-of-type(even) {
    background: #fbfdfe;
  }

  #rk-insulation-guide .rk-ins-intro {
    max-width: 930px;
    margin-bottom: 30px;
    color: var(--rk-text);
    font-size: 20px;
  }

  #rk-insulation-guide .rk-ins-answer {
    display: grid;
    grid-template-columns: 1.45fr 0.8fr;
    overflow: hidden;
    margin: 30px 0;
    border: 1px solid var(--rk-line);
    border-radius: 22px;
  }

  #rk-insulation-guide .rk-ins-answer-main,
  #rk-insulation-guide .rk-ins-answer-side {
    padding: 28px;
  }

  #rk-insulation-guide .rk-ins-answer-main {
    background: var(--rk-cyan-soft);
  }

  #rk-insulation-guide .rk-ins-answer-side {
    color: var(--rk-white);
    background: var(--rk-navy);
  }

  #rk-insulation-guide .rk-ins-answer-side h3 {
    color: var(--rk-white);
  }

  #rk-insulation-guide .rk-ins-answer-side p {
    color: #dcebf0;
  }

  #rk-insulation-guide .rk-ins-formula {
    margin: 28px 0;
    padding: 25px 28px;
    border-left: 6px solid var(--rk-cyan);
    border-radius: 0 18px 18px 0;
    background: var(--rk-dark);
    color: var(--rk-white);
  }

  #rk-insulation-guide .rk-ins-formula strong {
    display: block;
    margin-bottom: 8px;
    color: #8ff5ff;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: clamp(21px, 3vw, 31px);
    letter-spacing: -0.03em;
  }

  #rk-insulation-guide .rk-ins-formula span {
    color: #d9e8ed;
    font-size: 15px;
  }

  #rk-insulation-guide .rk-ins-grid-2,
  #rk-insulation-guide .rk-ins-grid-3,
  #rk-insulation-guide .rk-ins-grid-4 {
    display: grid;
    gap: 18px;
    margin: 28px 0;
  }

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

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

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

  #rk-insulation-guide .rk-ins-card,
  #rk-insulation-guide .rk-ins-location,
  #rk-insulation-guide .rk-ins-error,
  #rk-insulation-guide .rk-ins-step {
    min-width: 0;
    padding: 24px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-white);
    box-shadow: 0 10px 28px rgba(16, 37, 54, 0.05);
  }

  #rk-insulation-guide .rk-ins-card-number,
  #rk-insulation-guide .rk-ins-error b {
    display: inline-flex;
    margin-bottom: 14px;
    color: var(--rk-blue);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 0.09em;
    text-transform: uppercase;
  }

  #rk-insulation-guide .rk-ins-card h3,
  #rk-insulation-guide .rk-ins-location h3,
  #rk-insulation-guide .rk-ins-error h3,
  #rk-insulation-guide .rk-ins-step h3 {
    font-size: 22px;
  }

  #rk-insulation-guide .rk-ins-card p,
  #rk-insulation-guide .rk-ins-location p,
  #rk-insulation-guide .rk-ins-error p,
  #rk-insulation-guide .rk-ins-step p {
    color: var(--rk-text);
    font-size: 16px;
  }

  #rk-insulation-guide .rk-ins-location {
    border-top: 5px solid var(--rk-cyan);
  }

  #rk-insulation-guide .rk-ins-location:nth-child(2) {
    border-top-color: var(--rk-green);
  }

  #rk-insulation-guide .rk-ins-location:nth-child(3) {
    border-top-color: var(--rk-orange);
  }

  #rk-insulation-guide .rk-ins-location:nth-child(4) {
    border-top-color: var(--rk-purple);
  }

  #rk-insulation-guide .rk-ins-callout {
    margin: 28px 0;
    padding: 24px 26px;
    border: 1px solid #eed68d;
    border-radius: 18px;
    background: var(--rk-yellow-soft);
  }

  #rk-insulation-guide .rk-ins-callout strong {
    display: block;
    margin-bottom: 7px;
    color: #78550b;
    font-size: 18px;
  }

  #rk-insulation-guide .rk-ins-callout p {
    color: #6f5a25;
  }

  #rk-insulation-guide .rk-ins-table-wrap {
    margin: 30px 0;
  }

  #rk-insulation-guide .rk-ins-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-white);
    font-size: 15px;
  }

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

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

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

  #rk-insulation-guide .rk-ins-table thead th {
    color: var(--rk-white);
    background: var(--rk-navy);
    font-size: 13px;
    letter-spacing: 0.035em;
  }

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

  #rk-insulation-guide .rk-ins-table-caption {
    margin-top: 10px;
    color: var(--rk-muted);
    font-size: 13px;
  }

  #rk-insulation-guide .rk-ins-tool {
    overflow: hidden;
    margin-top: 30px;
    border-radius: 24px;
    color: var(--rk-white);
    background: var(--rk-dark);
    box-shadow: 0 24px 65px rgba(16, 37, 54, 0.18);
  }

  #rk-insulation-guide .rk-ins-tool-head {
    padding: 34px 36px 30px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.11);
    background:
      radial-gradient(circle at 93% 15%, rgba(40, 201, 218, 0.2), transparent 25%),
      linear-gradient(135deg, #123146, #16485a);
  }

  #rk-insulation-guide .rk-ins-tool-head h3 {
    margin-bottom: 10px;
    color: var(--rk-white);
    font-size: clamp(27px, 4vw, 40px);
  }

  #rk-insulation-guide .rk-ins-tool-head p {
    max-width: 880px;
    color: #d7e9ef;
  }

  #rk-insulation-guide .rk-ins-tool-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
    grid-template-areas:
      "form results"
      "form cross-section"
      "chart diagnostics";
    gap: 20px;
    align-items: start;
    padding: 28px;
  }

  #rk-insulation-guide .rk-ins-tool-column {
    display: grid;
    gap: 18px;
    align-content: start;
    min-width: 0;
  }

  #rk-insulation-guide .rk-ins-tool-grid > .rk-ins-tool-column:first-child {
    grid-area: form;
    align-self: stretch;
  }

  #rk-insulation-guide .rk-ins-tool-grid > .rk-ins-tool-column:first-child > .rk-ins-tool-panel {
    height: 100%;
  }

  #rk-insulation-guide .rk-ins-tool-column-right {
    display: contents;
  }

  #rk-insulation-guide .rk-ins-tool-column-right > .rk-ins-tool-panel:nth-child(1) {
    grid-area: results;
    align-self: stretch;
  }

  #rk-insulation-guide .rk-ins-tool-column-right > .rk-ins-tool-panel:nth-child(2) {
    grid-area: cross-section;
    align-self: stretch;
  }

  #rk-insulation-guide .rk-ins-tool-column-right > .rk-ins-tool-panel:nth-child(3) {
    grid-area: chart;
    align-self: stretch;
    display: flex;
    flex-direction: column;
  }

  #rk-insulation-guide .rk-ins-tool-column-right > .rk-ins-tool-panel:nth-child(4) {
    grid-area: diagnostics;
    align-self: stretch;
  }

  #rk-insulation-guide .rk-ins-tool-column-right > .rk-ins-tool-panel:nth-child(3) .rk-ins-chart-wrap {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
  }

  #rk-insulation-guide .rk-ins-tool-column-right > .rk-ins-tool-panel:nth-child(3) .rk-ins-chart {
    flex: 1 1 auto;
    min-height: 260px;
    height: 100%;
    aspect-ratio: auto;
  }

  #rk-insulation-guide .rk-ins-tool-panel {
    min-width: 0;
    padding: 24px;
    border: 1px solid rgba(160, 213, 228, 0.25);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.045);
  }

  #rk-insulation-guide .rk-ins-tool-panel h4 {
    margin-bottom: 8px;
    color: var(--rk-white);
    font-size: 22px;
  }

  #rk-insulation-guide .rk-ins-tool-panel > p {
    margin-bottom: 18px;
    color: #bfd5de;
    font-size: 14px;
  }

  #rk-insulation-guide .rk-ins-subhead {
    margin: 24px 0 15px;
    padding-top: 20px;
    border-top: 1px solid rgba(160, 213, 228, 0.22);
    color: #78ecf7;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 0.085em;
    text-transform: uppercase;
  }

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

  #rk-insulation-guide .rk-ins-field {
    min-width: 0;
  }

  #rk-insulation-guide .rk-ins-field.is-wide {
    grid-column: 1 / -1;
  }

  #rk-insulation-guide .rk-ins-field[hidden] {
    display: none;
  }

  #rk-insulation-guide .rk-ins-field label {
    display: block;
    margin-bottom: 7px;
    color: #e8f6f9;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
  }

  #rk-insulation-guide .rk-ins-field input,
  #rk-insulation-guide .rk-ins-field select {
    width: 100%;
    height: 48px;
    padding: 10px 12px;
    border: 1px solid #b8ccd4;
    border-radius: 9px;
    color: var(--rk-dark);
    background: var(--rk-white);
    outline: none;
  }

  #rk-insulation-guide .rk-ins-field input:focus,
  #rk-insulation-guide .rk-ins-field select:focus {
    border-color: var(--rk-cyan);
    box-shadow: 0 0 0 4px rgba(40, 201, 218, 0.15);
  }

  #rk-insulation-guide .rk-ins-field small {
    display: block;
    margin-top: 6px;
    color: #9fb8c3;
    font-size: 11px;
    line-height: 1.4;
  }

  #rk-insulation-guide .rk-ins-layer-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
  }

  #rk-insulation-guide .rk-ins-layer-label strong {
    color: var(--rk-white);
    font-size: 17px;
  }

  #rk-insulation-guide .rk-ins-layer-label span {
    padding: 5px 9px;
    border-radius: 999px;
    color: #9cf4fc;
    background: rgba(40, 201, 218, 0.12);
    font-size: 11px;
    font-weight: 900;
  }

  #rk-insulation-guide .rk-ins-results {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
  }

  #rk-insulation-guide .rk-ins-result {
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(160, 213, 228, 0.2);
    border-radius: 13px;
    background: rgba(4, 22, 34, 0.35);
  }

  #rk-insulation-guide .rk-ins-result span {
    display: block;
    margin-bottom: 5px;
    color: #9eb7c1;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.045em;
    text-transform: uppercase;
  }

  #rk-insulation-guide .rk-ins-result strong {
    display: block;
    overflow-wrap: anywhere;
    color: var(--rk-white);
    font-size: clamp(20px, 3vw, 29px);
    line-height: 1.1;
  }

  #rk-insulation-guide .rk-ins-result small {
    display: block;
    margin-top: 5px;
    color: #8fa8b3;
    font-size: 10px;
  }

  #rk-insulation-guide .rk-ins-result.is-accent strong {
    color: #75edf8;
  }

  #rk-insulation-guide .rk-ins-result.is-warning strong {
    color: #ffd26d;
  }

  #rk-insulation-guide .rk-ins-result.is-danger strong {
    color: #ff968a;
  }

  #rk-insulation-guide .rk-ins-result.is-good strong {
    color: #79efc7;
  }

  #rk-insulation-guide .rk-ins-status {
    margin-top: 14px;
    padding: 15px 17px;
    border-left: 5px solid var(--rk-cyan);
    border-radius: 0 12px 12px 0;
    color: #d9edf2;
    background: rgba(40, 201, 218, 0.09);
    font-size: 14px;
  }

  #rk-insulation-guide .rk-ins-status.is-danger {
    border-left-color: #ff7669;
    background: rgba(217, 75, 61, 0.13);
  }

  #rk-insulation-guide .rk-ins-section-stack {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: 370px;
    border: 1px solid rgba(160, 213, 228, 0.2);
    border-radius: 14px;
    background: #eef4f6;
  }

  #rk-insulation-guide .rk-ins-stack-layer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 34px;
    padding: 7px 12px;
    border-bottom: 1px solid rgba(16, 37, 54, 0.16);
    color: var(--rk-dark);
    font-size: 12px;
    font-weight: 850;
  }

  #rk-insulation-guide .rk-ins-stack-layer small {
    color: inherit;
    font-size: 10px;
    opacity: 0.78;
  }

  #rk-insulation-guide .rk-ins-stack-finish {
    background: repeating-linear-gradient(90deg, #cba36f 0, #cba36f 28px, #b78d57 29px, #b78d57 31px);
  }

  #rk-insulation-guide .rk-ins-stack-heating {
    position: relative;
    background: #d9d4cd;
  }

  #rk-insulation-guide .rk-ins-stack-heating::after {
    content: "";
    position: absolute;
    left: 12%;
    right: 12%;
    bottom: 14px;
    height: 10px;
    border-radius: 999px;
    background: repeating-linear-gradient(90deg, var(--rk-orange) 0, var(--rk-orange) 35px, transparent 35px, transparent 67px);
    opacity: 0.88;
  }

  #rk-insulation-guide .rk-ins-stack-layer2 {
    background: #dcecf2;
  }

  #rk-insulation-guide .rk-ins-stack-layer1 {
    background: #edf5f7;
  }

  #rk-insulation-guide .rk-ins-stack-service {
    background: #becbd0;
  }

  #rk-insulation-guide .rk-ins-stack-base {
    min-height: 46px;
    border-bottom: 0;
    color: var(--rk-white);
    background: #667b84;
  }

  #rk-insulation-guide .rk-ins-chart-wrap {
    overflow: hidden;
    border: 1px solid rgba(160, 213, 228, 0.2);
    border-radius: 14px;
    background: #f8fbfc;
  }

  #rk-insulation-guide .rk-ins-chart {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 680 / 330;
  }

  #rk-insulation-guide .rk-ins-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    padding: 12px 16px 15px;
    border-top: 1px solid var(--rk-line);
    color: var(--rk-dark);
    font-size: 11px;
    font-weight: 850;
  }

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

  #rk-insulation-guide .rk-ins-chart-legend i {
    width: 20px;
    height: 4px;
    border-radius: 99px;
    background: var(--rk-cyan);
  }

  #rk-insulation-guide .rk-ins-chart-legend span:nth-child(2) i {
    background: var(--rk-orange);
  }

  #rk-insulation-guide .rk-ins-chart-legend span:nth-child(3) i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--rk-yellow);
  }

  #rk-insulation-guide .rk-ins-diagnostics {
    display: grid;
    gap: 9px;
  }

  #rk-insulation-guide .rk-ins-diagnostic {
    padding: 13px 14px;
    border-left: 4px solid var(--rk-cyan);
    border-radius: 0 10px 10px 0;
    color: #d7e9ef;
    background: rgba(40, 201, 218, 0.08);
    font-size: 13px;
  }

  #rk-insulation-guide .rk-ins-diagnostic.is-warning {
    border-left-color: var(--rk-yellow);
    background: rgba(231, 173, 47, 0.1);
  }

  #rk-insulation-guide .rk-ins-diagnostic.is-danger {
    border-left-color: #ff7669;
    background: rgba(217, 75, 61, 0.12);
  }

  #rk-insulation-guide .rk-ins-tool-note {
    margin: 0;
    padding: 0 28px 28px;
    color: #9fb6c0;
    font-size: 12px;
  }

  #rk-insulation-guide .rk-ins-mid-cta,
  #rk-insulation-guide .rk-ins-final-cta {
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 46px 58px;
    color: var(--rk-white);
    background:
      radial-gradient(circle at 92% 20%, rgba(255, 116, 56, 0.25), transparent 27%),
      linear-gradient(135deg, #12384d, #0f2b3e);
  }

  #rk-insulation-guide .rk-ins-mid-cta h3,
  #rk-insulation-guide .rk-ins-final-cta .rk-ins-cta-title {
    max-width: 820px;
    margin-bottom: 14px;
    color: var(--rk-white);
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.12;
  }

  #rk-insulation-guide .rk-ins-mid-cta p,
  #rk-insulation-guide .rk-ins-final-cta p {
    max-width: 900px;
    color: #d9e9ee;
  }

  #rk-insulation-guide .rk-ins-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    margin-top: 18px;
    padding: 14px 23px;
    border-radius: 10px;
    color: var(--rk-white);
    background: var(--rk-orange);
    box-shadow: 0 12px 28px rgba(255, 116, 56, 0.27);
    font-size: 16px;
    font-weight: 950;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    transition: transform 0.18s ease, background 0.18s ease;
  }

  #rk-insulation-guide .rk-ins-cta-button:hover,
  #rk-insulation-guide .rk-ins-cta-button:focus-visible {
    color: var(--rk-white);
    background: #ef5f27;
    transform: translateY(-2px);
    outline: none;
  }

  #rk-insulation-guide .rk-ins-disclosure {
    display: block;
    max-width: 780px;
    margin-top: 12px;
    color: #9fb7c0;
    font-size: 11px;
  }

  #rk-insulation-guide .rk-ins-example {
    margin: 28px 0;
    padding: 26px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: linear-gradient(135deg, var(--rk-cyan-soft), var(--rk-white));
  }

  #rk-insulation-guide .rk-ins-example h3 {
    font-size: 24px;
  }

  #rk-insulation-guide .rk-ins-example-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
  }

  #rk-insulation-guide .rk-ins-example-stat {
    padding: 15px;
    border-radius: 12px;
    background: var(--rk-white);
  }

  #rk-insulation-guide .rk-ins-example-stat span {
    display: block;
    color: var(--rk-muted);
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
  }

  #rk-insulation-guide .rk-ins-example-stat strong {
    display: block;
    margin-top: 4px;
    color: var(--rk-dark);
    font-size: 23px;
  }

  #rk-insulation-guide .rk-ins-error {
    border-top: 5px solid var(--rk-red);
    background: linear-gradient(180deg, var(--rk-red-soft), var(--rk-white) 56%);
  }

  #rk-insulation-guide .rk-ins-error b {
    color: var(--rk-red);
  }

  #rk-insulation-guide .rk-ins-steps {
    display: grid;
    gap: 14px;
    margin: 28px 0;
    counter-reset: rk-ins-step;
  }

  #rk-insulation-guide .rk-ins-step {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    counter-increment: rk-ins-step;
  }

  #rk-insulation-guide .rk-ins-step::before {
    content: counter(rk-ins-step);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 15px;
    color: var(--rk-white);
    background: var(--rk-blue);
    font-size: 19px;
    font-weight: 950;
  }

  #rk-insulation-guide .rk-ins-faq {
    display: grid;
    gap: 12px;
    margin-top: 28px;
  }

  #rk-insulation-guide .rk-ins-faq details {
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 14px;
    background: var(--rk-white);
  }

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

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

  #rk-insulation-guide .rk-ins-faq summary::after {
    content: "+";
    position: absolute;
    right: 18px;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    color: var(--rk-white);
    background: var(--rk-blue);
    transform: translateY(-50%);
  }

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

  #rk-insulation-guide .rk-ins-faq-answer {
    padding: 0 20px 20px;
    color: var(--rk-text);
  }

  #rk-insulation-guide .rk-ins-source-box {
    padding: 26px;
    border: 1px solid var(--rk-line);
    border-radius: 18px;
    background: var(--rk-soft);
  }

  #rk-insulation-guide .rk-ins-source-box ul {
    margin-bottom: 0;
  }

  #rk-insulation-guide .rk-ins-source-box li + li {
    margin-top: 9px;
  }

  #rk-insulation-guide .rk-ins-update {
    margin-top: 16px;
    color: var(--rk-muted);
    font-size: 13px;
    font-weight: 800;
  }

  #rk-insulation-guide .rk-ins-author {
    margin: 42px 58px;
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 24px;
    background: var(--rk-white);
    box-shadow: 0 16px 45px rgba(16, 37, 54, 0.08);
  }

  #rk-insulation-guide .rk-ins-author > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  #rk-insulation-guide .rk-ins-author-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 28px 30px;
    color: var(--rk-white);
    background: linear-gradient(135deg, var(--rk-dark), var(--rk-navy));
  }

  #rk-insulation-guide .rk-ins-author-title {
    color: var(--rk-white);
    font-size: clamp(28px, 4vw, 40px);
    font-weight: 950;
    line-height: 1.1;
  }

  #rk-insulation-guide .rk-ins-author-head p {
    margin: 7px 0 0;
    color: #cfe2e8;
    font-size: 14px;
  }

  #rk-insulation-guide .rk-ins-author-mark {
    padding: 8px 11px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: #8df2fc;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0.08em;
  }

  #rk-insulation-guide .rk-ins-author-layout {
    display: grid;
    grid-template-columns: 290px minmax(0, 1fr);
  }

  #rk-insulation-guide .rk-ins-author-side {
    padding: 28px;
    border-right: 1px solid var(--rk-line);
    background: var(--rk-soft);
    text-align: center;
  }

  #rk-insulation-guide .rk-ins-author-photo {
    width: 150px;
    height: 150px;
    margin: 0 auto 17px;
    overflow: hidden;
    border: 6px solid var(--rk-white);
    border-radius: 50%;
    box-shadow: 0 10px 30px rgba(16, 37, 54, 0.16);
  }

  #rk-insulation-guide .rk-ins-author-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  #rk-insulation-guide .rk-ins-author-name {
    color: var(--rk-dark);
    font-size: 22px;
    font-weight: 950;
  }

  #rk-insulation-guide .rk-ins-author-role {
    margin-top: 6px;
    color: var(--rk-text);
    font-size: 13px;
  }

  #rk-insulation-guide .rk-ins-author-social-label {
    margin-top: 20px;
    color: var(--rk-muted);
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
  }

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

  #rk-insulation-guide .rk-ins-author-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    color: var(--rk-white);
    background: var(--rk-navy);
  }

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

  #rk-insulation-guide .rk-ins-author-main {
    padding: 30px;
  }

  #rk-insulation-guide .rk-ins-author-quote {
    position: relative;
    margin-bottom: 22px;
    padding: 25px 25px 25px 68px;
    border: 0;
    border-radius: 16px;
    background: var(--rk-cyan-soft);
  }

  #rk-insulation-guide .rk-ins-author-quote::before {
    content: "„";
    position: absolute;
    left: 22px;
    top: 1px;
    color: var(--rk-blue);
    font-family: Georgia, serif;
    font-size: 76px;
    line-height: 1;
  }

  #rk-insulation-guide .rk-ins-author-quote p {
    color: var(--rk-dark);
    font-size: 18px;
    font-weight: 750;
  }

  #rk-insulation-guide .rk-ins-author-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    overflow: hidden;
    border: 1px solid var(--rk-line);
    border-radius: 13px 13px 0 0;
  }

  #rk-insulation-guide .rk-ins-author-tab {
    padding: 12px 10px;
    border-right: 1px solid var(--rk-line);
    color: var(--rk-dark);
    background: var(--rk-soft);
    cursor: pointer;
    font-size: 13px;
    font-weight: 900;
    text-align: center;
  }

  #rk-insulation-guide .rk-ins-author-tab:last-child {
    border-right: 0;
  }

  #rk-insulation-guide .rk-ins-author-panel {
    display: none;
    padding: 20px;
    border: 1px solid var(--rk-line);
    border-top: 0;
    border-radius: 0 0 13px 13px;
    color: var(--rk-text);
    font-size: 15px;
  }

  #rk-insulation-guide #rk-ins-author-about:checked ~ .rk-ins-author-layout .rk-ins-author-panel-about,
  #rk-insulation-guide #rk-ins-author-exp:checked ~ .rk-ins-author-layout .rk-ins-author-panel-exp,
  #rk-insulation-guide #rk-ins-author-sites:checked ~ .rk-ins-author-layout .rk-ins-author-panel-sites {
    display: block;
  }

  #rk-insulation-guide #rk-ins-author-about:checked ~ .rk-ins-author-layout label[for="rk-ins-author-about"],
  #rk-insulation-guide #rk-ins-author-exp:checked ~ .rk-ins-author-layout label[for="rk-ins-author-exp"],
  #rk-insulation-guide #rk-ins-author-sites:checked ~ .rk-ins-author-layout label[for="rk-ins-author-sites"] {
    color: var(--rk-white);
    background: var(--rk-blue);
  }

  #rk-insulation-guide .rk-ins-site-links {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 13px;
  }

  #rk-insulation-guide .rk-ins-site-links a {
    padding: 7px 10px;
    border-radius: 8px;
    background: var(--rk-soft);
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
  }

  @media (max-width: 980px) {
    #rk-insulation-guide .rk-ins-tool-grid,
    #rk-insulation-guide .rk-ins-author-layout {
      grid-template-columns: 1fr;
    }

    #rk-insulation-guide .rk-ins-tool-grid {
      grid-template-areas: none;
    }

    #rk-insulation-guide .rk-ins-tool-grid > .rk-ins-tool-column:first-child {
      grid-area: auto;
      align-self: start;
    }

    #rk-insulation-guide .rk-ins-tool-grid > .rk-ins-tool-column:first-child > .rk-ins-tool-panel {
      height: auto;
    }

    #rk-insulation-guide .rk-ins-tool-column-right {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
      align-content: start;
    }

    #rk-insulation-guide .rk-ins-tool-column-right > .rk-ins-tool-panel {
      grid-area: auto;
      align-self: start;
      height: auto;
    }

    #rk-insulation-guide .rk-ins-tool-column-right > .rk-ins-tool-panel:nth-child(3) {
      display: block;
    }

    #rk-insulation-guide .rk-ins-tool-column-right > .rk-ins-tool-panel:nth-child(3) .rk-ins-chart-wrap {
      display: block;
    }

    #rk-insulation-guide .rk-ins-tool-column-right > .rk-ins-tool-panel:nth-child(3) .rk-ins-chart {
      min-height: 0;
      height: auto;
      aspect-ratio: 680 / 330;
    }

    #rk-insulation-guide .rk-ins-tool-column-right .rk-ins-tool-panel:first-child,
    #rk-insulation-guide .rk-ins-tool-column-right .rk-ins-tool-panel:last-child {
      grid-column: 1 / -1;
    }

    #rk-insulation-guide .rk-ins-author-side {
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
    }

    #rk-insulation-guide .rk-ins-grid-4,
    #rk-insulation-guide .rk-ins-example-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 760px) {
    #rk-insulation-guide {
      margin: 0 auto 45px;
      font-size: 17px;
    }

    #rk-insulation-guide .rk-ins-shell {
      border-right: 0;
      border-left: 0;
      border-radius: 0;
    }

    #rk-insulation-guide .rk-ins-hero,
    #rk-insulation-guide .rk-ins-section,
    #rk-insulation-guide .rk-ins-mid-cta,
    #rk-insulation-guide .rk-ins-final-cta {
      padding: 42px 20px;
    }

    #rk-insulation-guide .rk-ins-hero-title {
      font-size: clamp(36px, 12vw, 53px);
    }

    #rk-insulation-guide .rk-ins-nav {
      gap: 8px;
      padding: 18px 16px;
    }

    #rk-insulation-guide .rk-ins-nav a {
      flex: 1 1 calc(50% - 8px);
      justify-content: center;
      min-width: 0;
      padding: 9px 10px;
      border-radius: 12px;
      font-size: 12px;
      text-align: center;
    }

    #rk-insulation-guide .rk-ins-answer,
    #rk-insulation-guide .rk-ins-grid-2,
    #rk-insulation-guide .rk-ins-grid-3,
    #rk-insulation-guide .rk-ins-grid-4,
    #rk-insulation-guide .rk-ins-example-grid,
    #rk-insulation-guide .rk-ins-tool-column-right {
      grid-template-columns: 1fr;
    }

    #rk-insulation-guide .rk-ins-tool-column-right .rk-ins-tool-panel:first-child,
    #rk-insulation-guide .rk-ins-tool-column-right .rk-ins-tool-panel:last-child {
      grid-column: auto;
    }

    #rk-insulation-guide .rk-ins-tool-head {
      padding: 28px 20px 24px;
    }

    #rk-insulation-guide .rk-ins-tool-grid {
      grid-template-columns: minmax(0, 1fr);
      padding: 16px;
    }

    #rk-insulation-guide .rk-ins-tool-panel {
      padding: 19px;
    }

    #rk-insulation-guide .rk-ins-fields,
    #rk-insulation-guide .rk-ins-results {
      grid-template-columns: 1fr;
    }

    #rk-insulation-guide .rk-ins-field.is-wide {
      grid-column: auto;
    }

    #rk-insulation-guide .rk-ins-tool-note {
      padding: 0 18px 22px;
    }

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

    #rk-insulation-guide .rk-ins-table {
      overflow: visible;
      border: 0;
      background: transparent;
    }

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

    #rk-insulation-guide .rk-ins-table tr {
      overflow: hidden;
      margin-bottom: 14px;
      border: 1px solid var(--rk-line);
      border-radius: 14px;
      background: var(--rk-white);
      box-shadow: 0 8px 22px rgba(16, 37, 54, 0.05);
    }

    #rk-insulation-guide .rk-ins-table td,
    #rk-insulation-guide .rk-ins-table tbody tr:nth-child(even) td {
      display: grid;
      grid-template-columns: minmax(105px, 0.85fr) minmax(0, 1.15fr);
      gap: 12px;
      padding: 12px 14px;
      border-right: 0;
      border-bottom: 1px solid var(--rk-line);
      background: var(--rk-white);
      overflow-wrap: anywhere;
    }

    #rk-insulation-guide .rk-ins-table td::before {
      content: attr(data-label);
      color: var(--rk-muted);
      font-size: 10px;
      font-weight: 950;
      letter-spacing: 0.055em;
      text-transform: uppercase;
    }

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

    #rk-insulation-guide .rk-ins-step {
      grid-template-columns: 42px minmax(0, 1fr);
      gap: 13px;
      padding: 17px;
    }

    #rk-insulation-guide .rk-ins-step::before {
      width: 40px;
      height: 40px;
      border-radius: 12px;
    }

    #rk-insulation-guide .rk-ins-author {
      margin: 30px 16px;
    }

    #rk-insulation-guide .rk-ins-author-head {
      display: block;
      padding: 25px 22px;
    }

    #rk-insulation-guide .rk-ins-author-mark {
      display: inline-flex;
      margin-top: 17px;
    }

    #rk-insulation-guide .rk-ins-author-main {
      padding: 24px 18px;
    }

    #rk-insulation-guide .rk-ins-author-quote {
      padding: 65px 20px 22px;
    }

    #rk-insulation-guide .rk-ins-author-quote::before {
      left: 20px;
      top: 3px;
    }

    #rk-insulation-guide .rk-ins-author-tabs {
      grid-template-columns: 1fr;
    }

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

    #rk-insulation-guide .rk-ins-cta-button {
      width: 100%;
    }
  }

  @media (max-width: 410px) {
    #rk-insulation-guide .rk-ins-nav a {
      flex-basis: 100%;
    }

    #rk-insulation-guide .rk-ins-table td {
      grid-template-columns: 1fr;
      gap: 4px;
    }
  }

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

<article id="rk-insulation-guide" aria-label="Ile styropianu pod ogrzewanie podłogowe — poradnik i kalkulator">
  <div class="rk-ins-shell">
    <div class="rk-ins-progress-track" aria-hidden="true"><div class="rk-ins-progress" id="rk-ins-progress"></div></div>

    <header class="rk-ins-hero">
      <div class="rk-ins-hero-inner">
        <span class="rk-ins-eyebrow"><b aria-hidden="true"></b> Izolacja podłogi • aktualizacja 2026</span>
        <div class="rk-ins-hero-title">Nie dobieraj styropianu z jednej liczby w centymetrach</div>
        <p class="rk-ins-hero-lead">Sprawdź osobno opór cieplny izolacji, geometrię przegrody, wysokość warstw i parametry mechaniczne płyt. Następnie oblicz ilość materiału bez udawania, że prosty kalkulator zastępuje projekt podłogi na gruncie.</p>
        <div class="rk-ins-meta">
          <span><i aria-hidden="true"></i> Czytanie: około 22 minuty</span>
          <span><i aria-hidden="true"></i> Jeden analizator interaktywny</span>
          <span><i aria-hidden="true"></i> Aktualizacja: 30 sierpnia 2026 r.</span>
        </div>
      </div>
    </header>

    <nav class="rk-ins-nav" aria-label="Spis treści artykułu">
      <strong>Na skróty — wszystkie główne części poradnika</strong>
      <a href="#rk-ins-answer">Szybka odpowiedź</a>
      <a href="#rk-ins-no-single-value">Dlaczego nie jedna grubość?</a>
      <a href="#rk-ins-law">Wymagania prawne</a>
      <a href="#rk-ins-three-checks">Trzy kontrole</a>
      <a href="#rk-ins-locations">Miejsce podłogi</a>
      <a href="#rk-ins-analyzer">Analizator</a>
      <a href="#rk-ins-results-reading">Jak czytać wynik?</a>
      <a href="#rk-ins-label">Etykieta i DoP</a>
      <a href="#rk-ins-materials">EPS, grafit i XPS</a>
      <a href="#rk-ins-height">Wysokość warstw</a>
      <a href="#rk-ins-layers">Jedna czy dwie warstwy?</a>
      <a href="#rk-ins-services">Instalacje w podłodze</a>
      <a href="#rk-ins-membranes">Folia i izolacje</a>
      <a href="#rk-ins-quantity">Ilość materiału</a>
      <a href="#rk-ins-heating-design">Wpływ na podłogówkę</a>
      <a href="#rk-ins-errors">Najczęstsze błędy</a>
      <a href="#rk-ins-checklist">Checklista</a>
      <a href="#rk-ins-faq">FAQ</a>
      <a href="#rk-ins-sources">Źródła</a>
    </nav>

    <main>
      <section class="rk-ins-section" id="rk-ins-answer">
        <span class="rk-ins-kicker">Odpowiedź w 60 sekund</span>
        <h2>Ile styropianu pod ogrzewanie podłogowe?</h2>
        <p class="rk-ins-intro">Nie ma jednej grubości właściwej dla każdego domu. Na podłodze na gruncie 15 cm EPS jest popularnym rozwiązaniem, ale nie stanowi uniwersalnego minimum wpisanego do przepisów. Wynik zależy od deklarowanej lambdy, geometrii podłogi, połączenia ze ścianami, pozostałych warstw, wymagań cieplnych i obciążeń.</p>

        <div class="rk-ins-answer">
          <div class="rk-ins-answer-main">
            <h3>Najpierw określ wymaganie, później centymetry</h3>
            <p><strong>Dla podłogi na gruncie trzeba sprawdzić całą przegrodę, a nie samą płytę EPS.</strong> Osobno kontroluje się opór izolacji pod systemem grzewczym oraz właściwości mechaniczne materiału pod jastrychem.</p>
          </div>
          <div class="rk-ins-answer-side">
            <h3>Co można policzyć od razu?</h3>
            <p>Z grubości i deklarowanej lambdy można wiarygodnie policzyć opór samej izolacji. Z powierzchni i grubości obliczymy także m³ materiału oraz liczbę paczek.</p>
          </div>
        </div>

        <div class="rk-ins-formula" aria-label="Wzór na opór cieplny warstwy izolacji">
          <strong>R<sub>izol</sub> = Σ(d<sub>i</sub> ÷ λ<sub>i</sub>)</strong>
          <span>Grubość d podajemy w metrach, a deklarowaną przewodność cieplną λ w W/(mK). Wynik R otrzymujemy w m²K/W.</span>
        </div>

        <div class="rk-ins-table-wrap">
          <table class="rk-ins-table">
            <thead><tr><th>Grubość</th><th>R przy λ = 0,036</th><th>R przy λ = 0,031</th><th>Co oznacza wynik?</th></tr></thead>
            <tbody>
              <tr><td data-label="Grubość"><strong>10 cm</strong></td><td data-label="R • λ 0,036">2,78 m²K/W</td><td data-label="R • λ 0,031">3,23 m²K/W</td><td data-label="Interpretacja">Opór samej izolacji, bez oceny całej podłogi.</td></tr>
              <tr><td data-label="Grubość"><strong>15 cm</strong></td><td data-label="R • λ 0,036">4,17 m²K/W</td><td data-label="R • λ 0,031">4,84 m²K/W</td><td data-label="Interpretacja">Ta sama grubość może dawać inny opór zależnie od λ.</td></tr>
              <tr><td data-label="Grubość"><strong>20 cm</strong></td><td data-label="R • λ 0,036">5,56 m²K/W</td><td data-label="R • λ 0,031">6,45 m²K/W</td><td data-label="Interpretacja">Większe R nie potwierdza jeszcze nośności ani zgodności całej przegrody.</td></tr>
            </tbody>
          </table>
          <p class="rk-ins-table-caption">Wartości obliczono wyłącznie dla jednorodnej warstwy izolacyjnej. Nie są gotowym współczynnikiem U podłogi na gruncie.</p>
        </div>
      </section>

      <section class="rk-ins-section" id="rk-ins-no-single-value">
        <span class="rk-ins-kicker">Centymetry bez kontekstu wprowadzają w błąd</span>
        <h2>Dlaczego nie istnieje jedna prawidłowa grubość styropianu?</h2>
        <p class="rk-ins-intro">Pytanie „10 czy 15 cm?” jest dopiero początkiem. Dziesięć centymetrów płyty o λ = 0,031 ma inny opór niż 10 cm materiału o λ = 0,040, a podłoga nad salonem pracuje w innych warunkach niż podłoga na gruncie albo strop nad nieogrzewanym garażem.</p>

        <div class="rk-ins-grid-3">
          <article class="rk-ins-card"><span class="rk-ins-card-number">01 • Ciepło</span><h3>Lambda i wszystkie warstwy</h3><p>Liczy się deklarowana przewodność materiału, jego grubość oraz układ całej przegrody. Sama nazwa „biały” lub „grafitowy” nie jest parametrem obliczeniowym.</p></article>
          <article class="rk-ins-card"><span class="rk-ins-card-number">02 • Geometria</span><h3>Powierzchnia i obwód</h3><p>W podłodze na gruncie znaczenie ma relacja powierzchni do obwodu wystawionego oraz rozwiązanie krawędzi. Dwa domy po 120 m² nie muszą mieć identycznej wymiany ciepła.</p></article>
          <article class="rk-ins-card"><span class="rk-ins-card-number">03 • Konstrukcja</span><h3>Obciążenia i wysokość</h3><p>Płyta musi przenosić przewidziane obciążenia, a cały układ zmieścić okładzinę, jastrych lub suchy system, instalacje i izolację.</p></article>
        </div>

        <p>Dlatego nie będziemy wybierać materiału z samej nazwy źródła ciepła. Podłoga nie „wie”, czy wodę ogrzała pompa ciepła, kocioł gazowy czy inne urządzenie. Źródło wpływa na pożądane temperatury pracy, ale nie wyznacza automatycznie grubości i klasy izolacji.</p>
      </section>

      <section class="rk-ins-section" id="rk-ins-law">
        <span class="rk-ins-kicker">Warunki techniczne określają efekt</span>
        <h2>Co rzeczywiście mówią przepisy o podłodze na gruncie?</h2>
        <p class="rk-ins-intro">W obowiązującym tekście warunków technicznych dla podłogi na gruncie w pomieszczeniu o temperaturze obliczeniowej co najmniej 16°C podano maksymalną wartość współczynnika przenikania ciepła U<sub>C(max)</sub> równą 0,30 W/(m²K). Przepis nie zapisuje jednej obowiązkowej grubości ani klasy EPS.</p>

        <div class="rk-ins-formula" aria-label="Maksymalny współczynnik przenikania ciepła podłogi na gruncie">
          <strong>U<sub>C(max)</sub> = 0,30 W/(m²K)</strong>
          <span>Podłoga na gruncie w pomieszczeniu ogrzewanym do temperatury obliczeniowej co najmniej 16°C — zgodnie z obowiązującym tekstem warunków technicznych.</span>
        </div>

        <div class="rk-ins-callout">
          <strong>To nie jest proste U = 1/R izolacji</strong>
          <p>Metodyka dla przegród stykających się z gruntem uwzględnia geometrię podłogi, obwód wystawiony, grunt i rozwiązanie krawędzi. Nie wolno odjąć umownego „oporu gruntu” i na tej podstawie ogłosić normowej liczby centymetrów.</p>
        </div>

        <p>W praktyce należy skoordynować projekt architektoniczno-budowlany, charakterystykę energetyczną, detal podłogi i obliczenia cieplne. Jeżeli zmieniasz materiał albo grubość na budowie, porównuj opór i właściwości produktu, ale nie zastępuj tym weryfikacji całej przegrody.</p>
      </section>

      <section class="rk-ins-section" id="rk-ins-three-checks">
        <span class="rk-ins-kicker">Nie mieszaj trzech różnych ocen</span>
        <h2>Współczynnik U, opór R i nośność — trzy osobne kontrole</h2>
        <div class="rk-ins-grid-3">
          <article class="rk-ins-card"><span class="rk-ins-card-number">Przegroda</span><h3>Współczynnik U</h3><p>Opisuje przenikanie ciepła przez całą przegrodę w określonych warunkach. Dla podłogi na gruncie wymaga metody uwzględniającej kontakt z gruntem i geometrię.</p></article>
          <article class="rk-ins-card"><span class="rk-ins-card-number">Warstwa</span><h3>Opór R izolacji</h3><p>Wynika z grubości i lambdy każdej warstwy. Można go sumować dla kilku materiałów, ale sam nie jest kompletnym U podłogi na gruncie.</p></article>
          <article class="rk-ins-card"><span class="rk-ins-card-number">Konstrukcja</span><h3>Parametry mechaniczne</h3><p>CS(10) opisuje naprężenie przy 10-procentowym odkształceniu. Długotrwałą pracę trzeba oceniać razem z obciążeniem, pełnym kodem produktu i — gdy jest deklarowane — pełzaniem przy ściskaniu.</p></article>
        </div>

        <p><strong>Wysoki opór cieplny nie gwarantuje odpowiedniej nośności, a wysoka wartość CS(10) nie gwarantuje wymaganej izolacyjności.</strong> Produkt musi spełnić oba zestawy wymagań oraz być przeznaczony do planowanego zastosowania.</p>
      </section>

      <section class="rk-ins-section" id="rk-ins-locations">
        <span class="rk-ins-kicker">Najpierw ustal, co znajduje się pod podłogą</span>
        <h2>Podłoga na gruncie, piętro, piwnica czy przestrzeń zewnętrzna?</h2>
        <p class="rk-ins-intro">To samo 5, 10 albo 15 cm będzie miało inne znaczenie zależnie od warunków po drugiej stronie przegrody.</p>

        <div class="rk-ins-grid-2">
          <article class="rk-ins-location"><h3>Podłoga na gruncie</h3><p>Potrzebna jest ocena całej przegrody zgodnie z metodyką dla kontaktu z gruntem. Ważne są powierzchnia, obwód zewnętrzny, warstwy, grunt i detal obwodowy.</p></article>
          <article class="rk-ins-location"><h3>Strop nad ogrzewanym pomieszczeniem</h3><p>Różnica temperatur jest zwykle mała. O doborze warstw mogą silniej decydować akustyka, wymagania podłogi pływającej, instalacje i dostępna wysokość.</p></article>
          <article class="rk-ins-location"><h3>Strop nad piwnicą lub garażem</h3><p>Temperatura poniżej stropu może być znacznie niższa. Wymagania cieplne oraz rozwiązanie mostków trzeba sprawdzić dla konkretnej przegrody.</p></article>
          <article class="rk-ins-location"><h3>Podłoga nad przejazdem lub powietrzem</h3><p>Przegroda oddziela wnętrze od środowiska zewnętrznego. Nie należy stosować do niej uproszczeń właściwych dla stropu między ogrzewanymi pomieszczeniami.</p></article>
        </div>

        <p>W remontowanym budynku dochodzą ograniczenia progów, schodów i istniejących drzwi. Zobacz również, jak planować <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-remontowanym-budynku-czy-warto/">ogrzewanie podłogowe w remontowanym budynku</a>.</p>
      </section>

      <section class="rk-ins-section" id="rk-ins-analyzer">
        <span class="rk-ins-kicker">Jedno narzędzie zamiast kilku pozornie dokładnych kalkulatorów</span>
        <h2>Interaktywny analizator izolacji i warstw podłogi</h2>
        <p class="rk-ins-intro">Wpisz dane z projektu i etykiety materiału. Narzędzie policzy opór samej izolacji, ilość płyt, paczki i bilans wysokości. Dla podłogi na gruncie pokaże również wymiar charakterystyczny B′, ale celowo nie poda uproszczonego współczynnika U.</p>

        <div class="rk-ins-tool" id="rk-ins-tool">
          <div class="rk-ins-tool-head">
            <h3>Policz R izolacji, m³, paczki i wysokość</h3>
            <p>Każda wartość pozostaje edytowalna. Lambdę, CS(10) i wydajność paczki przepisz z dokumentacji konkretnego materiału, a wysokości z przekroju architektonicznego.</p>
          </div>

          <div class="rk-ins-tool-grid">
            <div class="rk-ins-tool-column">
              <div class="rk-ins-tool-panel">
                <h4>Dane podłogi</h4>
                <p>Najpierw określ położenie przegrody oraz rzeczywistą przestrzeń pomiędzy podłożem a gotową posadzką.</p>
                <div class="rk-ins-fields">
                  <div class="rk-ins-field is-wide">
                    <label for="rk-ins-floor-type">Położenie analizowanej podłogi</label>
                    <select id="rk-ins-floor-type">
                      <option value="ground">Podłoga na gruncie</option>
                      <option value="heated">Strop nad ogrzewanym pomieszczeniem</option>
                      <option value="unheated">Strop nad nieogrzewaną piwnicą lub garażem</option>
                      <option value="outside">Podłoga nad przejazdem lub powietrzem zewnętrznym</option>
                    </select>
                  </div>
                  <div class="rk-ins-field">
                    <label for="rk-ins-area">Powierzchnia podłogi [m²]</label>
                    <input type="number" id="rk-ins-area" min="1" max="2000" step="1" value="120" inputmode="decimal">
                  </div>
                  <div class="rk-ins-field" id="rk-ins-perimeter-wrap">
                    <label for="rk-ins-perimeter">Obwód wystawiony P [m]</label>
                    <input type="number" id="rk-ins-perimeter" min="1" max="1000" step="0.1" value="46" inputmode="decimal">
                    <small>Obwód oddzielający ogrzewaną podłogę od środowiska zewnętrznego.</small>
                  </div>
                  <div class="rk-ins-field">
                    <label for="rk-ins-available-height">Dostępna wysokość od podłoża [mm]</label>
                    <input type="number" id="rk-ins-available-height" min="20" max="1000" step="1" value="230" inputmode="decimal">
                  </div>
                  <div class="rk-ins-field">
                    <label for="rk-ins-finish">Okładzina z klejem lub podkładem [mm]</label>
                    <input type="number" id="rk-ins-finish" min="0" max="100" step="1" value="15" inputmode="decimal">
                  </div>
                  <div class="rk-ins-field">
                    <label for="rk-ins-heating-layer">Warstwa grzewcza nad izolacją [mm]</label>
                    <input type="number" id="rk-ins-heating-layer" min="10" max="250" step="1" value="70" inputmode="decimal">
                    <small>Łączna grubość od wierzchu izolacji do spodu okładziny: np. system z rurą i jastrychem albo płyty systemu suchego.</small>
                  </div>
                  <div class="rk-ins-field">
                    <label for="rk-ins-service-layer">Warstwa wyrównawcza lub instalacyjna [mm]</label>
                    <input type="number" id="rk-ins-service-layer" min="0" max="300" step="1" value="0" inputmode="decimal">
                  </div>
                </div>

                <div class="rk-ins-subhead">Dolna warstwa izolacji</div>
                <div class="rk-ins-layer-label"><strong>Warstwa 1</strong><span>najbliżej podłoża</span></div>
                <div class="rk-ins-fields">
                  <div class="rk-ins-field"><label for="rk-ins-layer1-thickness">Grubość d₁ [mm]</label><input type="number" id="rk-ins-layer1-thickness" min="0" max="400" step="1" value="100" inputmode="decimal"></div>
                  <div class="rk-ins-field"><label for="rk-ins-layer1-lambda">Deklarowana λD₁ [W/(mK)]</label><input type="number" id="rk-ins-layer1-lambda" min="0.020" max="0.080" step="0.001" value="0.036" inputmode="decimal"></div>
                  <div class="rk-ins-field"><label for="rk-ins-layer1-pack">Pokrycie jednej paczki [m²]</label><input type="number" id="rk-ins-layer1-pack" min="0.1" max="100" step="0.01" value="3.0" inputmode="decimal"></div>
                  <div class="rk-ins-field"><label for="rk-ins-cs">Deklarowane CS(10) [kPa]</label><input type="number" id="rk-ins-cs" min="10" max="1000" step="10" value="100" inputmode="decimal"><small>Parametr pomocniczy — nie jest dopuszczalnym obciążeniem długotrwałym.</small></div>
                </div>

                <div class="rk-ins-subhead">Górna warstwa izolacji</div>
                <div class="rk-ins-layer-label"><strong>Warstwa 2</strong><span>wpisz 0 mm, aby ją wyłączyć</span></div>
                <div class="rk-ins-fields">
                  <div class="rk-ins-field"><label for="rk-ins-layer2-thickness">Grubość d₂ [mm]</label><input type="number" id="rk-ins-layer2-thickness" min="0" max="400" step="1" value="50" inputmode="decimal"></div>
                  <div class="rk-ins-field"><label for="rk-ins-layer2-lambda">Deklarowana λD₂ [W/(mK)]</label><input type="number" id="rk-ins-layer2-lambda" min="0.020" max="0.080" step="0.001" value="0.036" inputmode="decimal"></div>
                  <div class="rk-ins-field"><label for="rk-ins-layer2-pack">Pokrycie jednej paczki [m²]</label><input type="number" id="rk-ins-layer2-pack" min="0.1" max="100" step="0.01" value="6.0" inputmode="decimal"></div>
                  <div class="rk-ins-field"><label for="rk-ins-waste">Zapas montażowy [%]</label><input type="number" id="rk-ins-waste" min="0" max="30" step="1" value="5" inputmode="decimal"><small>Zapas wpływa na ilość zakupu i liczbę paczek, nie na opór ułożonej warstwy.</small></div>
                </div>
              </div>
            </div>

            <div class="rk-ins-tool-column rk-ins-tool-column-right">
              <div class="rk-ins-tool-panel">
                <h4>Wynik na żywo</h4>
                <p>Wartości materiałowe i geometryczne dla wpisanego wariantu.</p>
                <div class="rk-ins-results" aria-live="polite">
                  <div class="rk-ins-result is-accent"><span>Łączna izolacja</span><strong id="rk-ins-result-thickness">150 mm</strong><small id="rk-ins-result-split">100 + 50 mm</small></div>
                  <div class="rk-ins-result is-accent"><span>Opór izolacji R</span><strong id="rk-ins-result-r">4,17</strong><small>m²K/W — bez pozostałych warstw</small></div>
                  <div class="rk-ins-result"><span>Objętość ułożona</span><strong id="rk-ins-result-volume">18,00 m³</strong><small>bez zapasu zakupowego</small></div>
                  <div class="rk-ins-result"><span>Objętość do zakupu</span><strong id="rk-ins-result-purchase">18,90 m³</strong><small id="rk-ins-result-waste-note">z zapasem 5%</small></div>
                  <div class="rk-ins-result"><span>Paczki warstwy 1</span><strong id="rk-ins-result-pack1">42</strong><small id="rk-ins-result-pack1-note">dla 3,00 m²/paczkę</small></div>
                  <div class="rk-ins-result"><span>Paczki warstwy 2</span><strong id="rk-ins-result-pack2">21</strong><small id="rk-ins-result-pack2-note">dla 6,00 m²/paczkę</small></div>
                  <div class="rk-ins-result"><span>Wykorzystana wysokość</span><strong id="rk-ins-result-used">235 mm</strong><small>wszystkie wpisane warstwy</small></div>
                  <div class="rk-ins-result" id="rk-ins-balance-card"><span>Rezerwa wysokości</span><strong id="rk-ins-result-balance">−5 mm</strong><small>wartość ujemna oznacza kolizję</small></div>
                </div>
                <div class="rk-ins-status" id="rk-ins-height-status">Warstwy przekraczają dostępną wysokość o 5 mm. Trzeba zmienić przekrój, a nie ściskać izolację na budowie.</div>
              </div>

              <div class="rk-ins-tool-panel">
                <h4>Dynamiczny przekrój podłogi</h4>
                <p>Proporcje aktualizują się razem z wpisanymi grubościami. Schemat pokazuje kolejność, nie detal wykonawczy.</p>
                <div class="rk-ins-section-stack" id="rk-ins-stack" aria-label="Dynamiczny przekrój warstw podłogi">
                  <div class="rk-ins-stack-layer rk-ins-stack-finish" id="rk-ins-stack-finish"><span>Okładzina</span><small>15 mm</small></div>
                  <div class="rk-ins-stack-layer rk-ins-stack-heating" id="rk-ins-stack-heating"><span>Warstwa grzewcza</span><small>70 mm</small></div>
                  <div class="rk-ins-stack-layer rk-ins-stack-layer2" id="rk-ins-stack-layer2"><span>Izolacja 2</span><small>50 mm</small></div>
                  <div class="rk-ins-stack-layer rk-ins-stack-layer1" id="rk-ins-stack-layer1"><span>Izolacja 1</span><small>100 mm</small></div>
                  <div class="rk-ins-stack-layer rk-ins-stack-service" id="rk-ins-stack-service"><span>Warstwa instalacyjna</span><small>0 mm</small></div>
                  <div class="rk-ins-stack-layer rk-ins-stack-base"><span>Podłoże konstrukcyjne</span><small>poziom odniesienia</small></div>
                </div>
              </div>

              <div class="rk-ins-tool-panel">
                <h4>Opór R a grubość</h4>
                <p>Linie porównują wartości λ wpisane dla obu warstw. Punkt pokazuje opór ich rzeczywistej kombinacji.</p>
                <div class="rk-ins-chart-wrap">
                  <svg class="rk-ins-chart" id="rk-ins-chart" viewBox="0 0 680 330" role="img" aria-labelledby="rk-ins-chart-title rk-ins-chart-desc">
                    <title id="rk-ins-chart-title">Wykres oporu cieplnego izolacji w zależności od grubości</title>
                    <desc id="rk-ins-chart-desc">Dwie linie dla wpisanych wartości przewodzenia ciepła oraz punkt pokazujący aktualną kombinację warstw.</desc>
                  </svg>
                  <div class="rk-ins-chart-legend">
                    <span><i></i><b id="rk-ins-legend1">λ₁ 0,036</b></span>
                    <span><i></i><b id="rk-ins-legend2">λ₂ 0,036</b></span>
                    <span><i></i><b>Twój układ</b></span>
                  </div>
                </div>
              </div>

              <div class="rk-ins-tool-panel">
                <h4>Diagnostyka wyniku</h4>
                <p>Narzędzie oddziela to, co można policzyć z podanych danych, od tego, czego bez projektu stwierdzić nie wolno.</p>
                <div class="rk-ins-diagnostics" id="rk-ins-diagnostics" aria-live="polite"></div>
                <div class="rk-ins-results">
                  <div class="rk-ins-result"><span>Wymiar B′</span><strong id="rk-ins-result-bprime">5,22 m</strong><small id="rk-ins-result-bprime-note">2A/P — informacja geometryczna</small></div>
                  <div class="rk-ins-result"><span>Ocena U podłogi</span><strong>Nie wyznaczono</strong><small>potrzebny pełny model przegrody</small></div>
                </div>
              </div>
            </div>
          </div>
          <p class="rk-ins-tool-note">Analizator nie jest kalkulatorem współczynnika U podłogi na gruncie, projektem konstrukcji ani doborem dopuszczalnego obciążenia. Wyniki materiałowe zależą od poprawności danych wpisanych z dokumentacji konkretnego produktu.</p>
        </div>
      </section>

      <aside class="rk-ins-mid-cta" aria-label="Indywidualny projekt po analizie warstw">
        <span class="rk-ins-kicker" style="color:#83f1fb">Co pozostaje poza kalkulatorem?</span>
        <h3>Analizator zmieścił warstwy i policzył materiał, ale nie zna całego budynku</h3>
        <p>Nie widzi mostka na połączeniu podłogi ze ścianą, pełnej geometrii, parametrów gruntu, obciążeń, stref bez rur, dylatacji ani hydrauliki pętli. Jeżeli chcesz skoordynować izolację, poziom posadzki, rozstaw rur, długości obwodów i temperaturę pracy, potrzebny jest indywidualny projekt.</p>
        <a class="rk-ins-cta-button rk-ins-sales-cta" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt dopasowany do warstw podłogi</a>
        <small class="rk-ins-disclosure">Odnośnik prowadzi do strony sprzedażowej Projekt-Ogrzewania.pl — serwisu należącego do autora artykułu.</small>
      </aside>

      <section class="rk-ins-section" id="rk-ins-results-reading">
        <span class="rk-ins-kicker">Wynik ma granice</span>
        <h2>Jak prawidłowo czytać wynik analizatora?</h2>
        <div class="rk-ins-grid-3">
          <article class="rk-ins-card"><span class="rk-ins-card-number">Wynik pewny</span><h3>R izolacji</h3><p>Jeżeli grubość i λD wpisano prawidłowo, obliczenie oporu jednorodnych warstw jest prostą zależnością geometryczną.</p></article>
          <article class="rk-ins-card"><span class="rk-ins-card-number">Wynik zakupowy</span><h3>m³ i paczki</h3><p>Objętość ułożona wynika z powierzchni oraz łącznej grubości. Liczba paczek zależy od wpisanego pokrycia konkretnego opakowania i zapasu.</p></article>
          <article class="rk-ins-card"><span class="rk-ins-card-number">Wynik projektowy</span><h3>U i nośność</h3><p>Tych parametrów narzędzie nie potwierdza. Wymagają danych o całej przegrodzie, geometrii, obciążeniach i długotrwałej pracy materiału.</p></article>
        </div>

        <p>Wymiar B′ jest informacją o geometrii podłogi na gruncie. Pokazuje, dlaczego sama powierzchnia nie wystarcza: zwarty rzut ma inną relację powierzchni do obwodu niż długi, rozczłonkowany budynek. Narzędzie nie wykorzystuje B′ do pozornego, uproszczonego obliczenia U.</p>
      </section>

      <section class="rk-ins-section" id="rk-ins-label">
        <span class="rk-ins-kicker">Kupuj parametry, nie kolor</span>
        <h2>Jak czytać etykietę styropianu i deklarację właściwości?</h2>
        <p class="rk-ins-intro">Pełna nazwa handlowa „EPS 100” nie zastępuje kodu oznaczenia, przeznaczenia ani deklaracji właściwości użytkowych. Do porównania potrzebujesz dokumentu dla konkretnego wariantu i grubości.</p>

        <div class="rk-ins-table-wrap">
          <table class="rk-ins-table">
            <thead><tr><th>Parametr</th><th>Co opisuje?</th><th>Jak go używać?</th><th>Czego nie dowodzi?</th></tr></thead>
            <tbody>
              <tr><td data-label="Parametr"><strong>λD</strong></td><td data-label="Znaczenie">Deklarowana przewodność cieplna.</td><td data-label="Zastosowanie">Do obliczenia oporu warstwy R = d/λ.</td><td data-label="Ograniczenie">Nie potwierdza nośności.</td></tr>
              <tr><td data-label="Parametr"><strong>CS(10)</strong></td><td data-label="Znaczenie">Naprężenie ściskające przy 10% odkształceniu.</td><td data-label="Zastosowanie">Do porównania klasy mechanicznej z projektem i przeznaczeniem.</td><td data-label="Ograniczenie">Nie jest dopuszczalnym obciążeniem przez cały okres użytkowania.</td></tr>
              <tr><td data-label="Parametr"><strong>CC</strong></td><td data-label="Znaczenie">Pełzanie przy ściskaniu w określonym czasie i warunkach.</td><td data-label="Zastosowanie">Pomaga ocenić długotrwałe odkształcenie, gdy parametr jest deklarowany i wymagany.</td><td data-label="Ograniczenie">Nie zastępuje obliczeń obciążenia układu.</td></tr>
              <tr><td data-label="Parametr"><strong>T</strong></td><td data-label="Znaczenie">Tolerancja grubości.</td><td data-label="Zastosowanie">Ważna dla równości i sumowania warstw.</td><td data-label="Ograniczenie">Nie mówi o izolacyjności ani akustyce.</td></tr>
              <tr><td data-label="Parametr"><strong>SD lub CP</strong></td><td data-label="Znaczenie">Parametry używane w wyrobach o funkcji akustycznej.</td><td data-label="Zastosowanie">Sprawdza się je w projekcie podłogi pływającej na stropie.</td><td data-label="Ograniczenie">Nie można ich zastąpić samym symbolem EPS 100.</td></tr>
            </tbody>
          </table>
        </div>

        <p>Deklaracja właściwości użytkowych jest podstawowym źródłem informacji o parametrach wyrobu budowlanego. Komisja Europejska wyjaśnia, że dokument przekazuje informacje o właściwościach produktu objętego normą zharmonizowaną lub europejską oceną techniczną. Nie opieraj odbioru materiału na „teście kciukiem” ani domniemanej gęstości.</p>
      </section>

      <section class="rk-ins-section" id="rk-ins-materials">
        <span class="rk-ins-kicker">Materiał dobieramy do funkcji i deklaracji</span>
        <h2>Biały EPS, grafitowy EPS czy XPS pod podłogówkę?</h2>
        <div class="rk-ins-grid-3">
          <article class="rk-ins-card"><span class="rk-ins-card-number">EPS biały</span><h3>Większa grubość przy wyższej λ</h3><p>Może być właściwym rozwiązaniem, jeśli deklarowane właściwości cieplne i mechaniczne odpowiadają projektowi, a w przekroju jest wystarczająco dużo miejsca.</p></article>
          <article class="rk-ins-card"><span class="rk-ins-card-number">EPS grafitowy</span><h3>Większy R przy tej samej grubości</h3><p>Niższa deklarowana lambda pozwala uzyskać większy opór w ograniczonej wysokości. Kolor nie zwalnia z kontroli CS(10), przeznaczenia i dokumentów.</p></article>
          <article class="rk-ins-card"><span class="rk-ins-card-number">XPS</span><h3>Inna struktura i zastosowania</h3><p>Zwykle wybiera się go tam, gdzie ważne są określone właściwości mechaniczne lub zachowanie przy kontakcie z wilgocią. Ma małą, ale nie „zerową” nasiąkliwość i nie jest automatycznie najlepszy w każdym salonie.</p></article>
        </div>

        <div class="rk-ins-callout">
          <strong>EPS 100 nie jest zapisanym w prawie minimum dla każdej podłogi</strong>
          <p>Wybierz produkt przeznaczony do podłóg i zweryfikuj jego pełne parametry z obciążeniem oraz układem jastrychu. W podłogach akustycznych mogą występować materiały o innej charakterystyce, dobrane jako część konkretnego systemu.</p>
        </div>
      </section>

      <section class="rk-ins-section" id="rk-ins-height">
        <span class="rk-ins-kicker">Poziom gotowej posadzki jest granicą</span>
        <h2>Jak zmieścić izolację i wszystkie warstwy podłogi?</h2>
        <p class="rk-ins-intro">Najczęstszy błąd koordynacyjny polega na zarezerwowaniu miejsca wyłącznie na styropian i jastrych. W rzeczywistym przekroju trzeba uwzględnić wszystkie warstwy od podłoża do górnej powierzchni okładziny.</p>

        <div class="rk-ins-grid-2">
          <article class="rk-ins-card"><span class="rk-ins-card-number">Od góry</span><h3>Okładzina i warstwa grzewcza</h3><p>Płytka z klejem, panel z podkładem albo drewno mają własną grubość. Poniżej znajduje się pełna warstwa systemu mokrego lub suchego, a nie sama średnica rury.</p></article>
          <article class="rk-ins-card"><span class="rk-ins-card-number">Od dołu</span><h3>Podłoże i instalacje</h3><p>Nierówności, przewody wodne, kanalizacja, peszle i inne instalacje mogą wymagać osobnej warstwy wyrównawczej. Nie wolno ukrywać brakującej wysokości przez przypadkowe ściskanie płyt.</p></article>
        </div>

        <p>Grubość i rodzaj jastrychu ustala się dla konkretnego systemu. Szczegóły omawia poradnik o <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">wylewce na ogrzewanie podłogowe</a>.</p>
      </section>

      <section class="rk-ins-section" id="rk-ins-layers">
        <span class="rk-ins-kicker">Mijanka pomaga, ale nie jest celem samym w sobie</span>
        <h2>Jedna czy dwie warstwy styropianu pod ogrzewanie podłogowe?</h2>
        <p class="rk-ins-intro">Dwie warstwy ułatwiają przesunięcie spoin i osłonięcie miejscowych nieciągłości, ale zdanie „nigdy nie układaj jednej grubej warstwy” jest zbyt kategoryczne. Liczy się zaprojektowany układ, równe podparcie oraz dopasowane płyty.</p>

        <div class="rk-ins-grid-2">
          <article class="rk-ins-card"><span class="rk-ins-card-number">Układ jednowarstwowy</span><h3>Może być poprawny</h3><p>Jeżeli płyty są przeznaczone do zastosowania, podłoże jest równe, spoiny dopasowane, instalacje nie tworzą pustek, a wymagany opór i nośność są zapewnione.</p></article>
          <article class="rk-ins-card"><span class="rk-ins-card-number">Układ dwuwarstwowy</span><h3>Ułatwia przesunięcie spoin</h3><p>Górna warstwa może przykryć łączenia dolnej. Spoin nie ustawia się w jednej linii, ale nie ma jednej uniwersalnej wartości przesunięcia odpowiedniej do wszystkich formatów płyt.</p></article>
        </div>

        <h3>Co jest ważniejsze od samej liczby warstw?</h3>
        <ul>
          <li>stabilne, równe i czyste podłoże,</li>
          <li>pełne podparcie płyt bez kołysania,</li>
          <li>ściśle dopasowane krawędzie,</li>
          <li>brak krzyżujących się pustek i przypadkowych klinów,</li>
          <li>ciągłość przy ścianach, słupach i przejściach instalacyjnych.</li>
        </ul>
      </section>

      <section class="rk-ins-section" id="rk-ins-services">
        <span class="rk-ins-kicker">Rury instalacyjne nie mogą podwieszać posadzki</span>
        <h2>Jak prowadzić instalacje w warstwie izolacji?</h2>
        <p class="rk-ins-intro">Przewody wodne, kanalizacyjne i elektryczne często przebiegają pod podłogówką. Problemem nie jest samo ich występowanie, lecz przypadkowe wycinanie płyt, brak podparcia i tworzenie wysokich garbów.</p>

        <div class="rk-ins-grid-3">
          <article class="rk-ins-card"><span class="rk-ins-card-number">Plan</span><h3>Wyznacz trasy wcześniej</h3><p>Skoordynuj podejścia przed zamówieniem grubości warstw. Kolizje powinny zostać rozwiązane na rzucie, a nie podczas układania ostatniej płyty.</p></article>
          <article class="rk-ins-card"><span class="rk-ins-card-number">Podparcie</span><h3>Nie zostawiaj pustych kieszeni</h3><p>Wycięcia muszą odpowiadać przebiegowi instalacji, a pozostałe warstwy tworzyć stabilną płaszczyznę pod system grzewczy.</p></article>
          <article class="rk-ins-card"><span class="rk-ins-card-number">Poziom</span><h3>Rozważ warstwę wyrównawczą</h3><p>Jeżeli instalacji jest dużo, poprawnym rozwiązaniem może być zaprojektowana warstwa instalacyjna lub wyrównawcza zamiast poszatkowania warstwy nośnej.</p></article>
        </div>

        <p>Przed montażem rur ogrzewania warto przejść przez listę błędów opisanych w poradniku o <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-czy-warto-robic-to-samemu/">samodzielnym wykonywaniu podłogówki</a>.</p>
      </section>

      <section class="rk-ins-section" id="rk-ins-membranes">
        <span class="rk-ins-kicker">Każda warstwa ma inną funkcję</span>
        <h2>Folia, hydroizolacja i izolacja brzegowa nie zastępują styropianu</h2>
        <div class="rk-ins-grid-3">
          <article class="rk-ins-card"><span class="rk-ins-card-number">Folia rozdzielająca</span><h3>Chroni układ podczas wykonywania</h3><p>Może ograniczać wpływanie zaczynu między płyty i pełnić funkcję warstwy rozdzielającej. Nadruk pomaga zachować geometrię rur, ale folia nie zastępuje termoizolacji.</p></article>
          <article class="rk-ins-card"><span class="rk-ins-card-number">Hydroizolacja</span><h3>Kontroluje wodę i wilgoć</h3><p>Jej miejsce oraz ciągłość wynikają z projektu przegrody. Nie należy przypisywać styropianowi funkcji zabezpieczenia przeciwwodnego.</p></article>
          <article class="rk-ins-card"><span class="rk-ins-card-number">Taśma brzegowa</span><h3>Oddziela jastrych od przegród</h3><p>Przejmuje odkształcenia i ogranicza sztywne połączenia przy ścianach. Musi współpracować z układem dylatacji oraz grubością jastrychu.</p></article>
        </div>

        <p>Bez szczeliny powietrznej metalizowana powierzchnia pod jastrychem nie tworzy samodzielnej „izolacji odbijającej ciepło”. Więcej o detalach przeczytasz w artykule o <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacji brzegowej i dylatacjach</a>.</p>
      </section>

      <section class="rk-ins-section" id="rk-ins-quantity">
        <span class="rk-ins-kicker">Zamówienie liczymy osobno dla każdej grubości</span>
        <h2>Ile m², m³ i paczek styropianu zamówić?</h2>
        <p class="rk-ins-intro">Każda pełna warstwa wymaga pokrycia całej przeznaczonej powierzchni. Objętość instalowana wynika z pola i grubości, natomiast liczba paczek z wydajności opakowania dla konkretnej płyty.</p>

        <div class="rk-ins-formula" aria-label="Wzory na ilość styropianu">
          <strong>V = A × d &nbsp; | &nbsp; N = zaokrąglenie w górę [A × (1 + zapas) ÷ A<sub>paczki</sub>]</strong>
          <span>Objętość V podajemy w m³, powierzchnię A w m², grubość d w metrach, a pokrycie paczki w m² dla danej grubości.</span>
        </div>

        <div class="rk-ins-example">
          <h3>Przykład: 120 m², warstwy 10 + 5 cm, zapas 5%</h3>
          <p>W posadzce znajdzie się 18,00 m³ izolacji. Zakup z pięcioprocentowym zapasem odpowiada 18,90 m³. Paczki trzeba jednak policzyć oddzielnie, ponieważ opakowanie płyt 100 mm zwykle pokrywa inną powierzchnię niż opakowanie płyt 50 mm.</p>
          <div class="rk-ins-example-grid">
            <div class="rk-ins-example-stat"><span>Powierzchnia</span><strong>120 m²</strong></div>
            <div class="rk-ins-example-stat"><span>Grubość</span><strong>150 mm</strong></div>
            <div class="rk-ins-example-stat"><span>Wbudowane</span><strong>18,00 m³</strong></div>
            <div class="rk-ins-example-stat"><span>Zakup 5%</span><strong>18,90 m³</strong></div>
          </div>
        </div>

        <p>Nie licz paczek z jednej umownej objętości, jeśli producent podaje inne pakowanie dla różnych grubości. W analizatorze możesz wpisać rzeczywiste m² przypadające na paczkę każdej warstwy.</p>
      </section>

      <section class="rk-ins-section" id="rk-ins-heating-design">
        <span class="rk-ins-kicker">Izolacja i instalacja wpływają na siebie, ale nie automatycznie</span>
        <h2>Jak izolacja wpływa na projekt ogrzewania podłogowego?</h2>
        <p class="rk-ins-intro">Opór warstw pod systemem wpływa na strumień ciepła kierowany w dół. Nie można jednak z samej zmiany 10 na 15 cm wyznaczyć nowego rozstawu rur, przepływu ani mocy pompy.</p>

        <div class="rk-ins-grid-3">
          <article class="rk-ins-card"><span class="rk-ins-card-number">OZC</span><h3>Straty pomieszczenia</h3><p>Wymagana moc wynika z bilansu wszystkich przegród, wentylacji i temperatur obliczeniowych. Zmiana jednej warstwy musi zostać wprowadzona do modelu.</p></article>
          <article class="rk-ins-card"><span class="rk-ins-card-number">Podłoga</span><h3>Moc z powierzchni czynnej</h3><p>Rozstaw zależy od wymaganych W/m², konstrukcji, oporu okładziny i temperatury wody, a nie od samego symbolu EPS.</p></article>
          <article class="rk-ins-card"><span class="rk-ins-card-number">Hydraulika</span><h3>Długości i przepływy</h3><p>Opór pętli wynika głównie z przepływu, długości, średnicy wewnętrznej, medium i armatury. Nie wolno nazywać pompy „przeciążoną” tylko dlatego, że zmieniono grubość izolacji.</p></article>
        </div>

        <p>Najpierw wykonuje się <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne OZC</a>, później sprawdza moc powierzchniową i <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/">rozstaw rur ogrzewania podłogowego</a>, a następnie długości, przepływy i straty ciśnienia. Pełny zakres dokumentacji opisuje poradnik o tym, <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">jak powinien wyglądać profesjonalny projekt podłogówki</a>.</p>
      </section>

      <section class="rk-ins-section" id="rk-ins-errors">
        <span class="rk-ins-kicker">Błędy, których jastrych już nie pokaże</span>
        <h2>Najczęstsze błędy przy izolacji pod ogrzewaniem podłogowym</h2>
        <div class="rk-ins-grid-2">
          <article class="rk-ins-error"><b>Błąd 01</b><h3>Dobór wyłącznie z centymetrów</h3><p>Pomija lambdę, miejsce przegrody, geometrię, obciążenia i pozostałe warstwy.</p></article>
          <article class="rk-ins-error"><b>Błąd 02</b><h3>Liczenie U podłogi na gruncie ze wzoru 1/R</h3><p>Nie odtwarza metodyki wymiany ciepła z gruntem i może dać pozornie dokładny, ale błędnie opisany wynik.</p></article>
          <article class="rk-ins-error"><b>Błąd 03</b><h3>Zakup z samej nazwy EPS 100</h3><p>Nie sprawdza pełnego kodu, λD, przeznaczenia, tolerancji, deklaracji i długotrwałego obciążenia.</p></article>
          <article class="rk-ins-error"><b>Błąd 04</b><h3>Brak bilansu wysokości</h3><p>Po ułożeniu izolacji brakuje miejsca na zaprojektowaną warstwę grzewczą, okładzinę albo poziom progów.</p></article>
          <article class="rk-ins-error"><b>Błąd 05</b><h3>Układanie na nierównym podłożu</h3><p>Płyty kołyszą się, a obciążenia nie są przekazywane równomiernie na warstwy konstrukcyjne.</p></article>
          <article class="rk-ins-error"><b>Błąd 06</b><h3>Przypadkowe wycinanie wokół instalacji</h3><p>Powstają pustki, uskoki i niepodparte fragmenty pod przyszłym jastrychem.</p></article>
          <article class="rk-ins-error"><b>Błąd 07</b><h3>Mylenie folii z termoizolacją</h3><p>Metalizowana folia bez szczeliny powietrznej nie zastępuje oporu zapewnianego przez właściwą warstwę izolacyjną.</p></article>
          <article class="rk-ins-error"><b>Błąd 08</b><h3>Automatyczna zmiana rozstawu rur</h3><p>Rozstawu, przepływu i temperatury nie wyznacza się wyłącznie z grubości styropianu.</p></article>
        </div>
      </section>

      <section class="rk-ins-section" id="rk-ins-checklist">
        <span class="rk-ins-kicker">Kontrola przed przykryciem warstw</span>
        <h2>Checklista przed ułożeniem rur i wykonaniem wylewki</h2>
        <div class="rk-ins-steps">
          <article class="rk-ins-step"><div><h3>Potwierdź miejsce i wymagania przegrody</h3><p>Ustal, czy analizujesz grunt, ogrzewane pomieszczenie, piwnicę, garaż czy przestrzeń zewnętrzną. Sprawdź projekt budowlany i cieplny.</p></div></article>
          <article class="rk-ins-step"><div><h3>Zmierz dostępną wysokość</h3><p>Porównaj poziom podłoża z gotową posadzką przy drzwiach, schodach, oknach tarasowych, odpływach i sąsiednich pomieszczeniach.</p></div></article>
          <article class="rk-ins-step"><div><h3>Zbierz dokumenty materiału</h3><p>Sprawdź nazwę wariantu, przeznaczenie, λD, CS(10), tolerancję grubości i inne parametry wymagane przez projekt.</p></div></article>
          <article class="rk-ins-step"><div><h3>Policz opór każdej warstwy</h3><p>Dodaj d/λ dla warstwy dolnej i górnej. Nie nazywaj otrzymanej sumy współczynnikiem U podłogi na gruncie.</p></div></article>
          <article class="rk-ins-step"><div><h3>Skoordynuj instalacje podpodłogowe</h3><p>Usuń kolizje, przewidź warstwę wyrównawczą i zapewnij stabilne podparcie płyt bez pustych kieszeni.</p></div></article>
          <article class="rk-ins-step"><div><h3>Ułóż płyty na równym podłożu</h3><p>Dopasuj krawędzie, przesuń spoiny kolejnej warstwy i zachowaj ciągłość przy przejściach oraz elementach konstrukcyjnych.</p></div></article>
          <article class="rk-ins-step"><div><h3>Wykonaj warstwy rozdzielające i brzegowe</h3><p>Zastosuj rozwiązania wskazane w projekcie jastrychu, hydroizolacji i dylatacji. Nie zamieniaj jednej funkcji na drugą.</p></div></article>
          <article class="rk-ins-step"><div><h3>Odbierz warstwy przed montażem rur</h3><p>Zrób zdjęcia, zachowaj etykiety i DoP, sprawdź poziomy, stabilność, szczeliny oraz zgodność z dokumentacją przed zakryciem.</p></div></article>
        </div>
      </section>

      <section class="rk-ins-section" id="rk-ins-faq">
        <span class="rk-ins-kicker">Najczęstsze pytania inwestorów</span>
        <h2>FAQ — styropian pod ogrzewanie podłogowe</h2>
        <div class="rk-ins-faq">
          <details><summary>Czy 10 cm styropianu pod ogrzewanie podłogowe wystarczy?</summary><div class="rk-ins-faq-answer"><p>Nie da się tego potwierdzić bez lokalizacji podłogi, lambdy materiału, pełnego układu warstw i obliczeń przegrody. Dziesięć centymetrów przy λ = 0,036 daje opór samej izolacji około 2,78 m²K/W, ale nie jest to kompletne U podłogi na gruncie.</p></div></details>
          <details><summary>Czy 15 cm EPS spełnia wymagania dla każdej podłogi na gruncie?</summary><div class="rk-ins-faq-answer"><p>Nie automatycznie. Piętnaście centymetrów przy λ = 0,036 daje R izolacji około 4,17 m²K/W. Zgodność całej podłogi zależy również od geometrii, krawędzi, pozostałych warstw i metody obliczeniowej dla kontaktu z gruntem.</p></div></details>
          <details><summary>Ile styropianu dać pod podłogówkę na piętrze?</summary><div class="rk-ins-faq-answer"><p>Na stropie pomiędzy ogrzewanymi pomieszczeniami kryteria są inne niż na gruncie. Znaczenie mają wymagania akustyczne, konstrukcja podłogi pływającej, instalacje i wysokość. Nie należy kopiować automatycznie 15 cm z parteru ani przyjmować 3–5 cm bez sprawdzenia projektu.</p></div></details>
          <details><summary>Czy pod podłogówkę zawsze trzeba stosować EPS 100?</summary><div class="rk-ins-faq-answer"><p>Nie istnieje taka uniwersalna reguła prawna. Produkt powinien być przeznaczony do podłóg i dobrany do obciążeń, jastrychu oraz okresu użytkowania. CS(10) jest ważnym parametrem porównawczym, ale nie stanowi samodzielnego dopuszczalnego obciążenia długotrwałego.</p></div></details>
          <details><summary>Czy grafitowy styropian pozwala zmniejszyć grubość?</summary><div class="rk-ins-faq-answer"><p>Niższa deklarowana lambda daje większy opór przy tej samej grubości, więc może pomóc przy ograniczonej wysokości. Trzeba jednak porównać konkretną λD, właściwości mechaniczne, przeznaczenie i pełną przegrodę, a nie sam kolor płyty.</p></div></details>
          <details><summary>Czy XPS jest zawsze lepszy od EPS?</summary><div class="rk-ins-faq-answer"><p>Nie. XPS może mieć właściwości korzystne w określonych warunkach wilgotnościowych lub mechanicznych, ale powinien być użyty tam, gdzie uzasadnia to projekt. Wyższa cena lub wytrzymałość nie czynią go automatycznie najlepszym materiałem dla każdego pomieszczenia.</p></div></details>
          <details><summary>Czy metalizowana folia odbija ciepło do pomieszczenia?</summary><div class="rk-ins-faq-answer"><p>Bez odpowiedniej szczeliny powietrznej nie należy traktować jej jak samodzielnej refleksyjnej izolacji cieplnej. Pod jastrychem pełni przede wszystkim funkcje wykonawcze i rozdzielające, a nadruk pomaga w montażu rur.</p></div></details>
          <details><summary>Czy lepiej układać styropian w jednej czy dwóch warstwach?</summary><div class="rk-ins-faq-answer"><p>Dwie warstwy ułatwiają przesunięcie spoin, lecz poprawny może być również zaprojektowany układ jednowarstwowy. Najważniejsze są równe podłoże, pełne podparcie, dopasowanie płyt, ciągłość izolacji oraz zgodność właściwości materiału z projektem.</p></div></details>
          <details><summary>Jak policzyć m³ styropianu na 100 m² podłogi?</summary><div class="rk-ins-faq-answer"><p>Pomnóż powierzchnię przez łączną grubość wyrażoną w metrach. Dla 100 m² i 15 cm otrzymasz 15 m³ materiału wbudowanego. Do zakupu dodaj uzasadniony zapas i przelicz każdą grubość na liczbę pełnych paczek.</p></div></details>
          <details><summary>Czy kalkulator oblicza współczynnik U podłogi na gruncie?</summary><div class="rk-ins-faq-answer"><p>Nie. Narzędzie celowo oblicza opór samej izolacji, ilość materiału, paczki, wysokość i wymiar geometryczny B′. Kompletne U podłogi na gruncie wymaga modelu uwzględniającego geometrię, grunt, krawędzie i wszystkie warstwy.</p></div></details>
        </div>
      </section>

      <section class="rk-ins-section" id="rk-ins-sources">
        <span class="rk-ins-kicker">Źródła publiczne i normatywne</span>
        <h2>Podstawa techniczna opracowania</h2>
        <div class="rk-ins-source-box">
          <ul>
            <li><a href="https://eli.gov.pl/eli/DU/2022/1225/ogl" target="_blank" rel="noopener nofollow">Elektroniczny Dziennik Ustaw — obowiązujący tekst warunków technicznych</a>, w tym wymaganie U<sub>C(max)</sub> dla podłogi na gruncie.</li>
            <li><a href="https://www.iso.org/standard/65716.html" target="_blank" rel="noopener nofollow">ISO 13370:2017</a> — metody obliczania przenoszenia ciepła przez podłogi i inne elementy budynku stykające się z gruntem.</li>
            <li><a href="https://www.iso.org/standard/40966.html" target="_blank" rel="noopener nofollow">ISO 10456:2007</a> — zasady dotyczące deklarowanych i projektowych wartości cieplnych materiałów oraz wyrobów.</li>
            <li><a href="https://www.iso.org/standard/74683.html" target="_blank" rel="noopener nofollow">ISO 11855-2:2021</a> — podstawy projektowania oraz wyznaczania mocy wbudowanych systemów ogrzewania i chłodzenia płaszczyznowego.</li>
            <li><a href="https://single-market-economy.ec.europa.eu/sectors/construction/construction-products-regulation-cpr/declaration-performance-and-ce-marking_en" target="_blank" rel="noopener nofollow">Komisja Europejska — deklaracja właściwości użytkowych i oznakowanie CE</a>.</li>
          </ul>
          <p>Normy mogą być chronione prawem autorskim i odpłatne. Artykuł omawia zasady oraz zakres metod, ale nie zastępuje pełnego tekstu norm, dokumentacji projektowej ani deklaracji właściwości konkretnego produktu.</p>
        </div>
        <div class="rk-ins-update">Ostatnia aktualizacja merytoryczna: 30 sierpnia 2026 r.</div>
      </section>
    </main>

    <section class="rk-ins-author" aria-label="Autor opracowania">
      <input type="radio" name="rk-ins-author-tabs" id="rk-ins-author-about" checked>
      <input type="radio" name="rk-ins-author-tabs" id="rk-ins-author-exp">
      <input type="radio" name="rk-ins-author-tabs" id="rk-ins-author-sites">

      <header class="rk-ins-author-head">
        <div><span class="rk-ins-kicker" style="color:#83f1fb">Autor opracowania</span><div class="rk-ins-author-title">Robert Kucharski</div><p>Projektant instalacji sanitarnych • specjalista HVAC i ogrzewania podłogowego</p></div>
        <span class="rk-ins-author-mark">IZOLACJE • PODŁOGÓWKA • HVAC</span>
      </header>

      <div class="rk-ins-author-layout">
        <aside class="rk-ins-author-side">
          <div class="rk-ins-author-photo"><img src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski — projektant ogrzewania podłogowego" width="600" height="600" loading="lazy" decoding="async"></div>
          <div class="rk-ins-author-name">Robert Kucharski</div>
          <div class="rk-ins-author-role">Projektant instalacji sanitarnych<br>Specjalista HVAC i ogrzewania podłogowego</div>
          <div class="rk-ins-author-social-label">Znajdziesz mnie również:</div>
          <div class="rk-ins-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"></path></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"></path></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"></path></svg></a>
          </div>
        </aside>

        <div class="rk-ins-author-main">
          <blockquote class="rk-ins-author-quote"><p>„Dobra izolacja podłogi nie zaczyna się od pytania o liczbę centymetrów. Najpierw trzeba wiedzieć, co izolujemy, jaki opór ma materiał, jakie obciążenia przenosi i czy cały przekrój zmieści się w budynku.”</p></blockquote>
          <div class="rk-ins-author-tabs" role="tablist" aria-label="Informacje o autorze">
            <label class="rk-ins-author-tab" for="rk-ins-author-about">O autorze</label>
            <label class="rk-ins-author-tab" for="rk-ins-author-exp">Doświadczenie</label>
            <label class="rk-ins-author-tab" for="rk-ins-author-sites">Portale</label>
          </div>
          <div class="rk-ins-author-panel rk-ins-author-panel-about"><p>Projektuję wodne ogrzewanie podłogowe, łącząc obliczenia strat ciepła z doborem temperatur, rozstawów, przepływów, długości pętli, strat ciśnienia i nastaw rozdzielaczy.</p></div>
          <div class="rk-ins-author-panel rk-ins-author-panel-exp"><p>W dokumentacji koordynuję założenia cieplne z rzeczywistym układem warstw podłogi. Dzięki temu instalacja nie jest dopasowywana „na oko” dopiero po ułożeniu izolacji i wykonaniu progów.</p></div>
          <div class="rk-ins-author-panel rk-ins-author-panel-sites"><p>Jestem właścicielem trzech serwisów branżowych. Powiązanie portali podaję jawnie, aby czytelnik znał autorstwo i kontekst linkowania.</p><div class="rk-ins-site-links"><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>
    </section>

    <section class="rk-ins-final-cta" aria-label="Projekt ogrzewania podłogowego skoordynowany z warstwami">
      <span class="rk-ins-kicker" style="color:#83f1fb">Zamknij decyzje przed wejściem wykonawcy</span>
      <div class="rk-ins-cta-title">Otrzymaj projekt podłogówki dopasowany do budynku i posadzki</div>
      <p>Dokumentacja łączy straty ciepła, powierzchnie czynne, temperaturę zasilania i powrotu, rozstawy rur, długości pętli, przepływy oraz nastawy. Warstwy podłogi stają się jednym z założeń projektu, a nie niespodzianką odkrytą podczas montażu.</p>
      <a class="rk-ins-cta-button rk-ins-sales-cta" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Zamów projekt ogrzewania podłogowego</a>
      <small class="rk-ins-disclosure">Odnośnik prowadzi do strony sprzedażowej Projekt-Ogrzewania.pl — serwisu należącego do autora artykułu.</small>
    </section>
  </div>
</article>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "TechArticle",
      "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#article",
      "url": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/",
      "headline": "Ile styropianu pod ogrzewanie podłogowe? Grubość, opór R i kalkulator ilości",
      "description": "Techniczny poradnik o doborze izolacji pod ogrzewanie podłogowe z analizatorem oporu R, objętości, liczby paczek i wysokości warstw.",
      "inLanguage": "pl-PL",
      "dateModified": "2026-08-30",
      "mainEntityOfPage": {"@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#webpage"},
      "author": {"@id": "https://projekt-ogrzewania.pl/#robert-kucharski"},
      "publisher": {"@id": "https://projekt-ogrzewania.pl/#organization"},
      "about": [
        {"@type": "Thing", "name": "Izolacja pod ogrzewanie podłogowe"},
        {"@type": "Thing", "name": "Styropian podłogowy"},
        {"@type": "Thing", "name": "Opór cieplny izolacji"},
        {"@type": "Thing", "name": "Podłoga na gruncie"}
      ],
      "keywords": [
        "ile styropianu pod ogrzewanie podłogowe",
        "jaka grubość styropianu pod podłogówkę",
        "styropian pod podłogówkę 10 czy 15 cm",
        "opór cieplny izolacji podłogowej",
        "ile m3 styropianu na podłogę"
      ],
      "isPartOf": {"@id": "https://projekt-ogrzewania.pl/#website"}
    },
    {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#webpage",
      "url": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/",
      "name": "Ile styropianu pod ogrzewanie podłogowe? Grubość, opór R i kalkulator ilości",
      "description": "Jak dobrać izolację pod podłogówkę i obliczyć jej opór, objętość, liczbę paczek oraz wysokość wszystkich warstw.",
      "inLanguage": "pl-PL",
      "dateModified": "2026-08-30",
      "isPartOf": {"@id": "https://projekt-ogrzewania.pl/#website"},
      "breadcrumb": {"@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#breadcrumb"},
      "mainEntity": [
        {"@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#application"},
        {"@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#howto"},
        {"@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#faq"}
      ]
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#breadcrumb",
      "itemListElement": [
        {"@type": "ListItem", "position": 1, "name": "Strona główna", "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": "Ile styropianu pod ogrzewanie podłogowe?", "item": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/"}
      ]
    },
    {
      "@type": "WebApplication",
      "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#application",
      "name": "Interaktywny analizator izolacji i warstw podłogi",
      "url": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#rk-ins-analyzer",
      "applicationCategory": "EducationalApplication",
      "operatingSystem": "Dowolny system z przeglądarką internetową",
      "browserRequirements": "Obsługa JavaScript",
      "inLanguage": "pl-PL",
      "isAccessibleForFree": true,
      "description": "Narzędzie oblicza opór cieplny warstw izolacji, objętość materiału, zapas, liczbę paczek, bilans wysokości i wymiar charakterystyczny podłogi na gruncie."
    },
    {
      "@type": "HowTo",
      "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#howto",
      "name": "Jak sprawdzić izolację przed ułożeniem ogrzewania podłogowego?",
      "description": "Kolejność kontroli przegrody, materiału, wysokości, instalacji i wykonania przed zakryciem izolacji.",
      "inLanguage": "pl-PL",
      "step": [
        {"@type": "HowToStep", "position": 1, "name": "Potwierdź miejsce i wymagania przegrody", "text": "Ustal, czy analizujesz grunt, ogrzewane pomieszczenie, piwnicę, garaż czy przestrzeń zewnętrzną. Sprawdź projekt budowlany i cieplny."},
        {"@type": "HowToStep", "position": 2, "name": "Zmierz dostępną wysokość", "text": "Porównaj poziom podłoża z gotową posadzką przy drzwiach, schodach, oknach tarasowych, odpływach i sąsiednich pomieszczeniach."},
        {"@type": "HowToStep", "position": 3, "name": "Zbierz dokumenty materiału", "text": "Sprawdź nazwę wariantu, przeznaczenie, deklarowaną lambdę, CS(10), tolerancję grubości i inne parametry wymagane przez projekt."},
        {"@type": "HowToStep", "position": 4, "name": "Policz opór każdej warstwy", "text": "Dodaj iloraz grubości i lambdy dla warstwy dolnej i górnej. Nie nazywaj otrzymanej sumy współczynnikiem U podłogi na gruncie."},
        {"@type": "HowToStep", "position": 5, "name": "Skoordynuj instalacje podpodłogowe", "text": "Usuń kolizje, przewidź warstwę wyrównawczą i zapewnij stabilne podparcie płyt bez pustych kieszeni."},
        {"@type": "HowToStep", "position": 6, "name": "Ułóż płyty na równym podłożu", "text": "Dopasuj krawędzie, przesuń spoiny kolejnej warstwy i zachowaj ciągłość przy przejściach oraz elementach konstrukcyjnych."},
        {"@type": "HowToStep", "position": 7, "name": "Wykonaj warstwy rozdzielające i brzegowe", "text": "Zastosuj rozwiązania wskazane w projekcie jastrychu, hydroizolacji i dylatacji. Nie zamieniaj jednej funkcji na drugą."},
        {"@type": "HowToStep", "position": 8, "name": "Odbierz warstwy przed montażem rur", "text": "Zrób zdjęcia, zachowaj etykiety i deklaracje, sprawdź poziomy, stabilność, szczeliny oraz zgodność z dokumentacją przed zakryciem."}
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/#faq",
      "inLanguage": "pl-PL",
      "mainEntity": [
        {"@type": "Question", "name": "Czy 10 cm styropianu pod ogrzewanie podłogowe wystarczy?", "acceptedAnswer": {"@type": "Answer", "text": "Nie da się tego potwierdzić bez lokalizacji podłogi, lambdy materiału, pełnego układu warstw i obliczeń przegrody. Dziesięć centymetrów przy lambda 0,036 daje opór samej izolacji około 2,78 m²K/W, ale nie jest to kompletne U podłogi na gruncie."}},
        {"@type": "Question", "name": "Czy 15 cm EPS spełnia wymagania dla każdej podłogi na gruncie?", "acceptedAnswer": {"@type": "Answer", "text": "Nie automatycznie. Piętnaście centymetrów przy lambda 0,036 daje opór izolacji około 4,17 m²K/W. Zgodność całej podłogi zależy również od geometrii, krawędzi, pozostałych warstw i metody obliczeniowej dla kontaktu z gruntem."}},
        {"@type": "Question", "name": "Ile styropianu dać pod podłogówkę na piętrze?", "acceptedAnswer": {"@type": "Answer", "text": "Na stropie pomiędzy ogrzewanymi pomieszczeniami kryteria są inne niż na gruncie. Znaczenie mają wymagania akustyczne, konstrukcja podłogi pływającej, instalacje i dostępna wysokość. Wartość trzeba potwierdzić w projekcie."}},
        {"@type": "Question", "name": "Czy pod podłogówkę zawsze trzeba stosować EPS 100?", "acceptedAnswer": {"@type": "Answer", "text": "Nie istnieje taka uniwersalna reguła prawna. Produkt powinien być przeznaczony do podłóg i dobrany do obciążeń, jastrychu oraz okresu użytkowania. CS(10) jest ważnym parametrem porównawczym, ale nie stanowi samodzielnego dopuszczalnego obciążenia długotrwałego."}},
        {"@type": "Question", "name": "Czy grafitowy styropian pozwala zmniejszyć grubość?", "acceptedAnswer": {"@type": "Answer", "text": "Niższa deklarowana lambda daje większy opór przy tej samej grubości, więc może pomóc przy ograniczonej wysokości. Trzeba jednak porównać właściwości mechaniczne, przeznaczenie i pełną przegrodę, a nie sam kolor płyty."}},
        {"@type": "Question", "name": "Czy XPS jest zawsze lepszy od EPS?", "acceptedAnswer": {"@type": "Answer", "text": "Nie. XPS może mieć właściwości korzystne w określonych warunkach wilgotnościowych lub mechanicznych, ale powinien być użyty tam, gdzie uzasadnia to projekt."}},
        {"@type": "Question", "name": "Czy metalizowana folia odbija ciepło do pomieszczenia?", "acceptedAnswer": {"@type": "Answer", "text": "Bez odpowiedniej szczeliny powietrznej nie należy traktować jej jak samodzielnej refleksyjnej izolacji cieplnej. Pod jastrychem pełni przede wszystkim funkcje wykonawcze i rozdzielające, a nadruk pomaga w montażu rur."}},
        {"@type": "Question", "name": "Czy lepiej układać styropian w jednej czy dwóch warstwach?", "acceptedAnswer": {"@type": "Answer", "text": "Dwie warstwy ułatwiają przesunięcie spoin, lecz poprawny może być również zaprojektowany układ jednowarstwowy. Najważniejsze są równe podłoże, pełne podparcie, dopasowanie płyt, ciągłość izolacji oraz zgodność właściwości materiału z projektem."}},
        {"@type": "Question", "name": "Jak policzyć m3 styropianu na 100 m2 podłogi?", "acceptedAnswer": {"@type": "Answer", "text": "Pomnóż powierzchnię przez łączną grubość wyrażoną w metrach. Dla 100 m² i 15 cm otrzymasz 15 m³ materiału wbudowanego. Do zakupu dodaj uzasadniony zapas i przelicz każdą grubość na liczbę pełnych paczek."}},
        {"@type": "Question", "name": "Czy kalkulator oblicza współczynnik U podłogi na gruncie?", "acceptedAnswer": {"@type": "Answer", "text": "Nie. Narzędzie celowo oblicza opór samej izolacji, ilość materiału, paczki, wysokość i wymiar geometryczny B prim. Kompletne U podłogi na gruncie wymaga modelu uwzględniającego geometrię, grunt, krawędzie i wszystkie warstwy."}}
      ]
    },
    {
      "@type": "Person",
      "@id": "https://projekt-ogrzewania.pl/#robert-kucharski",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/author/robert-kucharski/",
      "jobTitle": "Projektant instalacji sanitarnych, specjalista HVAC i ogrzewania podłogowego",
      "worksFor": {"@id": "https://projekt-ogrzewania.pl/#organization"},
      "affiliation": [
        {"@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-38069b48/",
        "https://www.facebook.com/projektogrzewaniapl",
        "https://x.com/Projekt_HVAC"
      ]
    },
    {
      "@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"}
    },
    {
      "@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": "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"}
    }
  ]
}
</script>

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

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

  var byId = function (id) {
    return document.getElementById(id);
  };

  var readNumber = function (id, fallback, minimum, maximum) {
    var field = byId(id);
    var value = parseFloat(field.value);
    if (!Number.isFinite(value)) {
      return fallback;
    }
    return Math.min(maximum, Math.max(minimum, value));
  };

  var format = function (value, digits) {
    return Number(value).toLocaleString("pl-PL", {
      minimumFractionDigits: digits,
      maximumFractionDigits: digits
    });
  };

  var setText = function (id, value) {
    var element = byId(id);
    if (element) {
      element.textContent = value;
    }
  };

  var svgNamespace = "http://www.w3.org/2000/svg";

  var svgElement = function (name, attributes, textValue) {
    var node = document.createElementNS(svgNamespace, name);
    Object.keys(attributes).forEach(function (key) {
      node.setAttribute(key, attributes[key]);
    });
    if (typeof textValue === "string") {
      node.textContent = textValue;
    }
    return node;
  };

  var drawChart = function (lambda1, lambda2, totalThickness, totalR) {
    var chart = byId("rk-ins-chart");
    if (!chart) {
      return;
    }

    while (chart.firstChild) {
      chart.removeChild(chart.firstChild);
    }

    chart.appendChild(svgElement("title", {id: "rk-ins-chart-title"}, "Wykres oporu cieplnego izolacji w zależności od grubości"));
    chart.appendChild(svgElement("desc", {id: "rk-ins-chart-desc"}, "Dwie linie dla wpisanych wartości przewodzenia ciepła oraz punkt pokazujący aktualną kombinację warstw."));

    var left = 60;
    var top = 28;
    var right = 650;
    var bottom = 274;
    var width = right - left;
    var height = bottom - top;
    var xMaximum = Math.max(300, Math.ceil(totalThickness / 50) * 50);
    var minimumLambda = Math.min(lambda1, lambda2);
    var theoreticalR = (xMaximum / 1000) / minimumLambda;
    var yMaximum = Math.max(8, Math.ceil(Math.max(theoreticalR, totalR) / 2) * 2);

    chart.appendChild(svgElement("rect", {x: 0, y: 0, width: 680, height: 330, fill: "#f8fbfc"}));

    var xStep = xMaximum / 6;
    var yStep = yMaximum / 4;
    var index;

    for (index = 0; index <= 6; index += 1) {
      var xValue = xStep * index;
      var x = left + (xValue / xMaximum) * width;
      chart.appendChild(svgElement("line", {x1: x, y1: top, x2: x, y2: bottom, stroke: "#d9e7ed", "stroke-width": 1}));
      chart.appendChild(svgElement("text", {x: x, y: 296, fill: "#617684", "font-size": 11, "text-anchor": "middle", "font-family": "system-ui, sans-serif"}, format(xValue, 0)));
    }

    for (index = 0; index <= 4; index += 1) {
      var yValue = yStep * index;
      var y = bottom - (yValue / yMaximum) * height;
      chart.appendChild(svgElement("line", {x1: left, y1: y, x2: right, y2: y, stroke: "#d9e7ed", "stroke-width": 1}));
      chart.appendChild(svgElement("text", {x: 49, y: y + 4, fill: "#617684", "font-size": 11, "text-anchor": "end", "font-family": "system-ui, sans-serif"}, format(yValue, 1)));
    }

    chart.appendChild(svgElement("line", {x1: left, y1: bottom, x2: right, y2: bottom, stroke: "#526b78", "stroke-width": 2}));
    chart.appendChild(svgElement("line", {x1: left, y1: top, x2: left, y2: bottom, stroke: "#526b78", "stroke-width": 2}));
    chart.appendChild(svgElement("text", {x: 355, y: 320, fill: "#344d5a", "font-size": 12, "font-weight": 800, "text-anchor": "middle", "font-family": "system-ui, sans-serif"}, "łączna grubość izolacji [mm]"));
    chart.appendChild(svgElement("text", {x: 18, y: 151, fill: "#344d5a", "font-size": 12, "font-weight": 800, "text-anchor": "middle", "font-family": "system-ui, sans-serif", transform: "rotate(-90 18 151)"}, "opór R [m²K/W]"));

    var endpointR1 = (xMaximum / 1000) / lambda1;
    var endpointR2 = (xMaximum / 1000) / lambda2;
    var endpointY1 = bottom - (endpointR1 / yMaximum) * height;
    var endpointY2 = bottom - (endpointR2 / yMaximum) * height;

    chart.appendChild(svgElement("line", {x1: left, y1: bottom, x2: right, y2: endpointY1, stroke: "#28c9da", "stroke-width": 5, "stroke-linecap": "round"}));
    chart.appendChild(svgElement("line", {x1: left, y1: bottom, x2: right, y2: endpointY2, stroke: "#ff7438", "stroke-width": 4, "stroke-linecap": "round", "stroke-dasharray": "10 7"}));

    var markerX = left + (Math.min(totalThickness, xMaximum) / xMaximum) * width;
    var markerY = bottom - (Math.min(totalR, yMaximum) / yMaximum) * height;
    chart.appendChild(svgElement("line", {x1: markerX, y1: markerY, x2: markerX, y2: bottom, stroke: "#e7ad2f", "stroke-width": 2, "stroke-dasharray": "5 5"}));
    chart.appendChild(svgElement("circle", {cx: markerX, cy: markerY, r: 8, fill: "#e7ad2f", stroke: "#ffffff", "stroke-width": 3}));
    chart.appendChild(svgElement("text", {x: markerX, y: Math.max(18, markerY - 14), fill: "#74510a", "font-size": 12, "font-weight": 900, "text-anchor": "middle", "font-family": "system-ui, sans-serif"}, format(totalThickness, 0) + " mm • R " + format(totalR, 2)));
  };

  var updateStack = function (finish, heating, layer2, layer1, service) {
    var values = [
      {id: "rk-ins-stack-finish", value: finish, label: "Okładzina"},
      {id: "rk-ins-stack-heating", value: heating, label: "Warstwa grzewcza"},
      {id: "rk-ins-stack-layer2", value: layer2, label: "Izolacja 2"},
      {id: "rk-ins-stack-layer1", value: layer1, label: "Izolacja 1"},
      {id: "rk-ins-stack-service", value: service, label: "Warstwa instalacyjna"}
    ];

    values.forEach(function (item) {
      var node = byId(item.id);
      if (!node) {
        return;
      }
      if (item.value <= 0) {
        node.style.display = "none";
        return;
      }
      node.style.display = "flex";
      node.style.flexGrow = String(Math.max(8, item.value));
      node.style.flexBasis = "0";
      node.querySelector("span").textContent = item.label;
      node.querySelector("small").textContent = format(item.value, 0) + " mm";
    });
  };

  var addDiagnostic = function (container, textValue, stateClass) {
    var item = document.createElement("div");
    item.className = "rk-ins-diagnostic";
    if (stateClass) {
      item.classList.add(stateClass);
    }
    item.textContent = textValue;
    container.appendChild(item);
  };

  var update = function () {
    var floorType = byId("rk-ins-floor-type").value;
    var area = readNumber("rk-ins-area", 120, 1, 2000);
    var perimeter = readNumber("rk-ins-perimeter", 46, 1, 1000);
    var availableHeight = readNumber("rk-ins-available-height", 230, 20, 1000);
    var finish = readNumber("rk-ins-finish", 15, 0, 100);
    var heating = readNumber("rk-ins-heating-layer", 70, 10, 250);
    var service = readNumber("rk-ins-service-layer", 0, 0, 300);
    var layer1 = readNumber("rk-ins-layer1-thickness", 100, 0, 400);
    var lambda1 = readNumber("rk-ins-layer1-lambda", 0.036, 0.020, 0.080);
    var pack1 = readNumber("rk-ins-layer1-pack", 3, 0.1, 100);
    var csValue = readNumber("rk-ins-cs", 100, 10, 1000);
    var layer2 = readNumber("rk-ins-layer2-thickness", 50, 0, 400);
    var lambda2 = readNumber("rk-ins-layer2-lambda", 0.036, 0.020, 0.080);
    var pack2 = readNumber("rk-ins-layer2-pack", 6, 0.1, 100);
    var waste = readNumber("rk-ins-waste", 5, 0, 30);

    var totalThickness = layer1 + layer2;
    var r1 = (layer1 / 1000) / lambda1;
    var r2 = (layer2 / 1000) / lambda2;
    var totalR = r1 + r2;
    var installedVolume = area * totalThickness / 1000;
    var reserveFactor = 1 + waste / 100;
    var purchaseVolume = installedVolume * reserveFactor;
    var purchaseArea = area * reserveFactor;
    var packs1 = layer1 > 0 ? Math.ceil(purchaseArea / pack1) : 0;
    var packs2 = layer2 > 0 ? Math.ceil(purchaseArea / pack2) : 0;
    var usedHeight = finish + heating + service + totalThickness;
    var balance = availableHeight - usedHeight;
    var isGround = floorType === "ground";
    var bPrime = isGround ? (2 * area) / perimeter : 0;

    setText("rk-ins-result-thickness", format(totalThickness, 0) + " mm");
    setText("rk-ins-result-split", format(layer1, 0) + " + " + format(layer2, 0) + " mm");
    setText("rk-ins-result-r", format(totalR, 2));
    setText("rk-ins-result-volume", format(installedVolume, 2) + " m³");
    setText("rk-ins-result-purchase", format(purchaseVolume, 2) + " m³");
    setText("rk-ins-result-waste-note", "z zapasem " + format(waste, 0) + "%");
    setText("rk-ins-result-pack1", format(packs1, 0));
    setText("rk-ins-result-pack1-note", "dla " + format(pack1, 2) + " m²/paczkę");
    setText("rk-ins-result-pack2", format(packs2, 0));
    setText("rk-ins-result-pack2-note", layer2 > 0 ? "dla " + format(pack2, 2) + " m²/paczkę" : "warstwa wyłączona");
    setText("rk-ins-result-used", format(usedHeight, 0) + " mm");
    setText("rk-ins-result-balance", (balance < 0 ? "−" : "+") + format(Math.abs(balance), 0) + " mm");

    var balanceCard = byId("rk-ins-balance-card");
    balanceCard.classList.remove("is-good", "is-warning", "is-danger");
    var heightStatus = byId("rk-ins-height-status");
    heightStatus.classList.remove("is-danger");

    if (balance < 0) {
      balanceCard.classList.add("is-danger");
      heightStatus.classList.add("is-danger");
      heightStatus.textContent = "Warstwy przekraczają dostępną wysokość o " + format(Math.abs(balance), 0) + " mm. Trzeba zmienić przekrój, a nie ściskać izolację na budowie.";
    } else if (balance < 10) {
      balanceCard.classList.add("is-warning");
      heightStatus.textContent = "Pozostało tylko " + format(balance, 0) + " mm rezerwy. Sprawdź tolerancje wykonawcze, nierówności podłoża, grubość kleju i rzeczywisty poziom progów.";
    } else {
      balanceCard.classList.add("is-good");
      heightStatus.textContent = "Wpisany układ mieści się w dostępnej wysokości z rezerwą " + format(balance, 0) + " mm. To kontrola geometryczna, nie odbiór całej konstrukcji.";
    }

    var perimeterWrap = byId("rk-ins-perimeter-wrap");
    perimeterWrap.hidden = !isGround;

    if (isGround) {
      setText("rk-ins-result-bprime", format(bPrime, 2) + " m");
      setText("rk-ins-result-bprime-note", "2A/P — informacja geometryczna");
    } else {
      setText("rk-ins-result-bprime", "—");
      setText("rk-ins-result-bprime-note", "dotyczy podłogi na gruncie");
    }

    setText("rk-ins-legend1", "λ₁ " + format(lambda1, 3));
    setText("rk-ins-legend2", "λ₂ " + format(lambda2, 3));

    updateStack(finish, heating, layer2, layer1, service);
    drawChart(lambda1, lambda2, totalThickness, totalR);

    var diagnostics = byId("rk-ins-diagnostics");
    diagnostics.innerHTML = "";

    if (floorType === "ground") {
      addDiagnostic(diagnostics, "Podłoga na gruncie: obowiązujące wymaganie Uc(max) dla pomieszczenia ogrzewanego do co najmniej 16°C wynosi 0,30 W/(m²K). Samo R izolacji i B′ nie wystarczają do potwierdzenia zgodności.", "is-warning");
    } else if (floorType === "heated") {
      addDiagnostic(diagnostics, "Strop nad ogrzewanym pomieszczeniem: oprócz przepływu ciepła sprawdź akustykę, konstrukcję podłogi pływającej i dopuszczalne odkształcenia warstw.", "");
    } else if (floorType === "unheated") {
      addDiagnostic(diagnostics, "Strop nad nieogrzewaną piwnicą lub garażem: potrzebna jest temperatura po stronie nieogrzewanej oraz pełne obliczenie całej przegrody.", "is-warning");
    } else {
      addDiagnostic(diagnostics, "Podłoga nad powietrzem zewnętrznym: nie stosuj uproszczeń dla stropu między ogrzewanymi pomieszczeniami. Sprawdź wymagania przegrody zewnętrznej i mostki.", "is-warning");
    }

    if (balance < 0) {
      addDiagnostic(diagnostics, "Kolizja wysokości: brakuje " + format(Math.abs(balance), 0) + " mm. Nie redukuj przypadkowo jastrychu ani izolacji bez uzgodnienia nowego przekroju.", "is-danger");
    } else {
      addDiagnostic(diagnostics, "Bilans wysokości: układ wykorzystuje " + format(usedHeight, 0) + " z dostępnych " + format(availableHeight, 0) + " mm.", "");
    }

    addDiagnostic(diagnostics, "Wpisane CS(10) = " + format(csValue, 0) + " kPa. Ta wartość opisuje naprężenie przy 10% odkształceniu i sama nie potwierdza dopuszczalnego obciążenia długotrwałego.", csValue < 70 ? "is-warning" : "");
    addDiagnostic(diagnostics, "Opór R = " + format(totalR, 2) + " m²K/W dotyczy wyłącznie dwóch wpisanych warstw izolacji. Lambdy powinny pochodzić z deklaracji właściwości konkretnego wyrobu.", "");
  };

  var fields = root.querySelectorAll("#rk-ins-tool input, #rk-ins-tool select");
  Array.prototype.forEach.call(fields, function (field) {
    field.addEventListener("input", update);
    field.addEventListener("change", update);
  });

  var progress = byId("rk-ins-progress");
  var updateProgress = function () {
    if (!progress) {
      return;
    }
    var rootTop = window.scrollY + root.getBoundingClientRect().top;
    var distance = root.scrollHeight - window.innerHeight;
    if (distance <= 0) {
      progress.style.width = "100%";
      return;
    }
    var current = window.scrollY - rootTop;
    var percentage = Math.min(100, Math.max(0, current / distance * 100));
    progress.style.width = percentage + "%";
  };

  window.addEventListener("scroll", updateProgress, {passive: true});
  window.addEventListener("resize", updateProgress);

  update();
  updateProgress();
}());
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/">Ile styropianu pod ogrzewanie podłogowe? Grubość, opór R i kalkulator ilości.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
