{"id":300702,"date":"2026-06-09T22:37:04","date_gmt":"2026-06-09T20:37:04","guid":{"rendered":"https:\/\/cryoblaster.com\/?page_id=300702"},"modified":"2026-06-09T22:37:06","modified_gmt":"2026-06-09T20:37:06","slug":"pressure-drop","status":"publish","type":"page","link":"https:\/\/cryoblaster.com\/en\/pressure-drop\/","title":{"rendered":"Pressure drop"},"content":{"rendered":"<div class=\"et_pb_section_0 et_pb_section et_section_regular et_block_section section_has_divider et_pb_top_divider\"><div class=\"et_pb_top_inside_divider et-no-transition\"><\/div>\n<div class=\"et_pb_row_0 et_pb_row et_block_row\">\n<div class=\"et_pb_column_0 et_pb_column et_pb_column_3_5 et_block_column et_pb_css_mix_blend_mode_passthrough\">\n<div class=\"et_pb_text_0 et_pb_text et_pb_bg_layout_light et_pb_module et_block_module\"><div class=\"et_pb_text_inner\" data-et-mv-hidden-phone=\"true\"><p><span style=\"color: #0c71c3;\"><a href=\"\/\" style=\"color: #0c71c3;\"><span style=\"text-decoration: underline;\"><strong>HOME<\/strong><\/span><\/a> <span style=\"color: #000000;\">&gt;<\/span> <a href=\"https:\/\/cryoblaster.com\/en\/compressors-for-dry-ice-blasting\/\" style=\"color: #0c71c3;\"><span style=\"text-decoration: underline;\"><strong>COMPRESSORS: HOW TO CHOOSE<\/strong><\/span><\/a><span style=\"color: #000000;\"> &gt; PRESSURE DROP | CALCULATOR (EXPERT GUIDE)<\/span><\/span><\/p>\n<\/div><\/div>\n<\/div>\n\n<div class=\"et_pb_column_1 et_pb_column et_pb_column_2_5 et-last-child et_block_column et_pb_column_empty et_pb_css_mix_blend_mode_passthrough\"><\/div>\n<\/div>\n\n<div class=\"et_pb_row_1 et_pb_row et_block_row\">\n<div class=\"et_pb_column_2 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\">\n<div class=\"et_pb_code_0 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><div><!-- =========================================================\n     Page Calculateur Perte de charge - Antoine R.\n     Version compl\u00e8te : contenu + calculateur + recommandations\n========================================================= -->\n\n\n\n\n  <meta charset=\"utf-8\">\n  <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n  <title>Compressed air pressure drop \u2014 Cryoblaster<\/title>\n\n  <style>\n    :root{\n      --navy:#0b1b33;\n      --blue:#0f3d7a;\n      --border:rgba(15,23,42,.10);\n      --muted:rgba(15,23,42,.70);\n      --text:#0b1b33;\n      --cta:#ff7a18;\n      --cta2:#ff8f2b;\n      --radius2:28px;\n      --shadow:0 18px 48px rgba(11,27,51,.14);\n      --shadow2:0 10px 24px rgba(11,27,51,.10);\n      --max:1160px;\n    }\n\n    *{ box-sizing:border-box; }\n    body{\n      margin:0;\n      font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif;\n      color:var(--text);\n      background:\n        radial-gradient(900px 380px at 20% -10%, rgba(15,61,122,.18), transparent 60%),\n        radial-gradient(800px 420px at 80% 0%, rgba(255,122,24,.14), transparent 55%),\n        linear-gradient(180deg, #ffffff 0%, #f3f7ff 40%, #ffffff 100%);\n    }\n\n    .cbp-container{ max-width:var(--max); margin:0 auto; padding:0 16px; }\n\n    \/* ====== Hero ====== *\/\n    .cbp-hero{ padding:34px 0 10px; }\n    .hero-grid{\n      display:grid;\n      grid-template-columns: 1.05fr .95fr;\n      gap:22px;\n      align-items:stretch;\n    }\n    @media (max-width: 920px){\n      .hero-grid{ grid-template-columns:1fr; }\n    }\n    .hero-card{\n      background:#fff;\n      border:1px solid var(--border);\n      border-radius:var(--radius2);\n      box-shadow:var(--shadow);\n      padding:22px 22px 18px;\n      position:relative;\n      overflow:hidden;\n    }\n    .hero-card:before{\n      content:\"\";\n      position:absolute; inset:-2px;\n      background:\n        radial-gradient(420px 220px at 20% 0%, rgba(15,61,122,.10), transparent 60%),\n        radial-gradient(420px 220px at 85% 10%, rgba(255,122,24,.10), transparent 55%);\n      pointer-events:none;\n    }\n    .hero-card > *{ position:relative; }\n\n    .cbp-badge{\n      display:inline-flex; align-items:center; gap:8px;\n      font-size:12px; font-weight:900;\n      color:rgba(11,27,51,.78);\n      background:linear-gradient(180deg, #f6fbff, #ffffff);\n      border:1px solid var(--border);\n      border-radius:999px;\n      padding:8px 10px;\n    }\n    .cbp-badge .mini{\n      width:8px; height:8px; border-radius:999px;\n      background:var(--cta);\n      box-shadow:0 6px 16px rgba(255,122,24,.30);\n    }\n\n    h1{\n      margin:12px 0 10px;\n      font-size: clamp(28px, 3.2vw, 42px);\n      line-height:1.08;\n      letter-spacing:-.4px;\n      font-weight:1000;\n    }\n    .lead{\n      margin:0;\n      font-size:15.5px;\n      line-height:1.65;\n      color:rgba(11,27,51,.78);\n      max-width:62ch;\n    }\n\n    .hero-cta{\n      display:flex; gap:10px; flex-wrap:wrap;\n      margin-top:16px;\n      align-items:center;\n    }\n    .btn{\n      display:inline-flex; align-items:center; justify-content:center;\n      gap:10px;\n      border-radius:14px;\n      border:1px solid transparent;\n      padding:12px 14px;\n      font-weight:950;\n      text-decoration:none;\n      cursor:pointer;\n      user-select:none;\n      transition: transform .12s ease, box-shadow .12s ease, background .12s ease;\n      white-space:nowrap;\n    }\n    .btn-primary{\n      color:#fff;\n      background: linear-gradient(135deg, var(--cta), var(--cta2));\n      box-shadow:0 12px 24px rgba(255,122,24,.26);\n    }\n    .btn-primary:hover{ transform: translateY(-1px); }\n    .btn-ghost{\n      color:var(--navy);\n      background:#fff;\n      border-color:var(--border);\n      box-shadow:var(--shadow2);\n    }\n    .btn-ghost:hover{ transform: translateY(-1px); }\n    .mini-note{\n      font-size:12.5px;\n      color:rgba(11,27,51,.68);\n    }\n\n    \/* ====== Quick facts ====== *\/\n    .facts{\n      background: linear-gradient(180deg, #ffffff, #f7faff);\n      border:1px solid var(--border);\n      border-radius:var(--radius2);\n      box-shadow:var(--shadow2);\n      padding:18px;\n    }\n    .facts h2{\n      margin:0 0 10px;\n      font-size:16px;\n      font-weight:1000;\n      letter-spacing:.2px;\n    }\n    .facts ul{\n      margin:0;\n      padding:0;\n      list-style:none;\n      display:grid;\n      gap:10px;\n    }\n    .facts li{\n      display:flex; gap:10px;\n      align-items:flex-start;\n      padding:10px 10px;\n      border-radius:16px;\n      background:#fff;\n      border:1px solid rgba(15,23,42,.08);\n    }\n    .ico{\n      width:34px; height:34px; border-radius:12px;\n      display:grid; place-items:center;\n      background: linear-gradient(135deg, rgba(15,61,122,.12), rgba(255,122,24,.10));\n      border:1px solid rgba(15,23,42,.08);\n      flex:0 0 auto;\n      font-weight:1000;\n      color:rgba(11,27,51,.80);\n    }\n    .facts b{ display:block; font-size:13px; }\n    .facts span{ display:block; font-size:12.5px; color:rgba(11,27,51,.72); line-height:1.45; }\n\n    \/* Image sous \"Optimiser...\" *\/\n    .facts-figure{\n      margin:10px 0 0;\n      border-radius:18px;\n      overflow:hidden;\n      border:1px solid rgba(15,23,42,.08);\n      box-shadow:0 12px 24px rgba(11,27,51,.10);\n      background:#fff;\n    }\n    .facts-figure img{\n      display:block;\n      width:100%;\n      height:auto;\n    }\n\n    \/* ====== Sections ====== *\/\n    .cbp-section{ padding:18px 0; }\n    .cbp-block{\n      background:#fff;\n      border:1px solid var(--border);\n      border-radius:var(--radius2);\n      box-shadow:var(--shadow2);\n      padding:18px 18px 16px;\n    }\n    .cbp-block h2{\n      margin:0 0 10px;\n      font-size:20px;\n      font-weight:1000;\n      letter-spacing:-.2px;\n    }\n    .cbp-block p{\n      margin:0 0 10px;\n      color:rgba(11,27,51,.78);\n      line-height:1.70;\n      font-size:15px;\n    }\n    .cbp-kpi{\n      display:grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap:12px;\n      margin-top:12px;\n    }\n    @media (max-width: 860px){\n      .cbp-kpi{ grid-template-columns:1fr; }\n    }\n    .kpi{\n      padding:14px;\n      border-radius:18px;\n      border:1px solid rgba(15,23,42,.08);\n      background:linear-gradient(180deg, #ffffff, #f7faff);\n    }\n    .kpi .t{\n      font-size:12px;\n      font-weight:1000;\n      text-transform:uppercase;\n      color:rgba(11,27,51,.55);\n      letter-spacing:.4px;\n      margin-bottom:6px;\n    }\n    .kpi .v{\n      font-size:16px;\n      font-weight:1000;\n      color:rgba(11,27,51,.92);\n      margin-bottom:6px;\n    }\n    .kpi .d{\n      font-size:13px;\n      color:rgba(11,27,51,.74);\n      line-height:1.45;\n    }\n\n    \/* ====== FAQ ====== *\/\n    .faq-grid{\n      display:grid;\n      grid-template-columns:1fr 1fr;\n      gap:12px;\n      margin-top:10px;\n    }\n    @media (max-width: 920px){ .faq-grid{ grid-template-columns:1fr; } }\n    details{\n      border:1px solid rgba(15,23,42,.10);\n      border-radius:18px;\n      padding:12px 14px;\n      background:linear-gradient(180deg, #ffffff, #f7faff);\n    }\n    summary{\n      cursor:pointer;\n      font-weight:1000;\n      color:rgba(11,27,51,.92);\n      list-style:none;\n    }\n    summary::-webkit-details-marker{ display:none; }\n    details p{\n      margin-top:10px;\n      font-size:14px;\n      color:rgba(11,27,51,.78);\n    }\n\n    \/* ====== Bloc \"Avant de calculer\" ====== *\/\n    .cbp-next{\n      margin-top:14px;\n      background: linear-gradient(180deg, #ffffff, #f7faff);\n      border:1px solid rgba(15,23,42,.10);\n      border-radius:var(--radius2);\n      box-shadow:var(--shadow2);\n      padding:16px;\n      position:relative;\n      overflow:hidden;\n    }\n    .cbp-next:before{\n      content:\"\";\n      position:absolute; inset:-2px;\n      background:\n        radial-gradient(420px 220px at 18% 0%, rgba(15,61,122,.12), transparent 60%),\n        radial-gradient(420px 220px at 86% 12%, rgba(255,122,24,.10), transparent 55%);\n      pointer-events:none;\n    }\n    .cbp-next > *{ position:relative; }\n    .cbp-next .kicker{\n      display:inline-flex; align-items:center; gap:8px;\n      padding:7px 10px;\n      border-radius:999px;\n      border:1px solid rgba(15,23,42,.10);\n      background:#fff;\n      font-weight:1000;\n      font-size:12px;\n      letter-spacing:.5px;\n      text-transform:uppercase;\n      color:rgba(11,27,51,.78);\n      width:fit-content;\n    }\n    .cbp-next .title{\n      margin:10px 0 6px;\n      font-size:18px;\n      font-weight:1000;\n      letter-spacing:-.2px;\n      color:rgba(11,27,51,.92);\n    }\n    .cbp-next .sub{\n      margin:0 0 12px;\n      color:rgba(11,27,51,.72);\n      font-size:14.5px;\n      line-height:1.55;\n      max-width: 88ch;\n    }\n    .cbp-next-grid{\n      display:grid;\n      grid-template-columns: 1fr 1fr;\n      gap:12px;\n    }\n    @media (max-width: 920px){\n      .cbp-next-grid{ grid-template-columns:1fr; }\n    }\n    .cbp-cardlink{\n      display:flex; gap:12px;\n      align-items:flex-start;\n      padding:12px;\n      border-radius:20px;\n      border:1px solid rgba(15,23,42,.10);\n      background:#fff;\n      box-shadow:0 12px 24px rgba(11,27,51,.08);\n      text-decoration:none;\n      color:rgba(11,27,51,.92);\n      transition: transform .12s ease, border-color .12s ease;\n      min-height: 86px;\n    }\n    .cbp-cardlink:hover{\n      transform: translateY(-1px);\n      border-color: rgba(15,61,122,.18);\n    }\n    .cbp-cardlink .ic{\n      width:40px; height:40px;\n      border-radius:14px;\n      display:grid; place-items:center;\n      border:1px solid rgba(15,23,42,.08);\n      background: linear-gradient(135deg, rgba(15,61,122,.12), rgba(255,122,24,.10));\n      flex: 0 0 auto;\n      font-weight:1000;\n      color:rgba(11,27,51,.78);\n    }\n    .cbp-cardlink .txt b{\n      display:block;\n      font-size:14px;\n      font-weight:1000;\n      line-height:1.2;\n      margin-bottom:4px;\n    }\n    .cbp-cardlink .txt span{\n      display:block;\n      font-size:13px;\n      color:rgba(11,27,51,.72);\n      line-height:1.35;\n    }\n    .cbp-cardlink .arr{\n      margin-left:auto;\n      align-self:center;\n      font-weight:1000;\n      color: var(--cta);\n      padding-left: 10px;\n    }\n\n    \/* ====== CTA sous calculateur + Optimiser ====== *\/\n    .cbp-softnote{\n      margin-top:12px;\n      border-radius:18px;\n      border:1px solid rgba(15,23,42,.10);\n      background: linear-gradient(180deg, #ffffff, #f7faff);\n      padding:12px 12px;\n      display:flex;\n      align-items:center;\n      justify-content: space-between;\n      gap:12px;\n      flex-wrap: wrap;\n    }\n    .cbp-softnote .left{\n      display:flex;\n      flex-direction: column;\n      gap:4px;\n      max-width: 80ch;\n    }\n    .cbp-softnote .left b{\n      font-size:14px;\n      font-weight:1000;\n      color:rgba(11,27,51,.92);\n    }\n    .cbp-softnote .left span{\n      font-size:13px;\n      color:rgba(11,27,51,.72);\n      line-height:1.45;\n    }\n  <\/style>\n\n\n\n\n  <!-- HERO -->\n  <header class=\"cbp-hero\">\n    <div class=\"cbp-container\">\n      <div class=\"hero-grid\">\n        <div class=\"hero-card\">\n          <span class=\"cbp-badge\"><span class=\"mini\"><\/span> Expert Guide \/ Calculation Tool - Compressed air \u2022 Cryogenics \u2022 Micro abrasive blasting<\/span>\n          <h1>Compressed air pressure drop: guide and calculator for dry ice blasting & micro abrasive blasting<\/h1>\n          <p class=\"lead\">\n A \"powerful\" compressor is not enough if pressure is lost in the pipes.\n Here, you will understand pressure drop (\u0394P), its causes and effects on efficiency, then you can calculate\n your actual pressure drop using a calculator designed for dry ice blasting and micro abrasive blasting applications.\n          <\/p>\n\n          <div class=\"hero-cta\">\n            <a class=\"btn btn-primary\" href=\"#calculateur\">Access the calculator<\/a>\n            <a class=\"btn btn-ghost\" href=\"#optimiser\">See how to optimize<\/a>\n            <span class=\"mini-note\">Objective: stable pressure, useful flow, maximum efficiency.<\/span>\n          <\/div>\n        <\/div>\n\n        <aside class=\"facts\">\n          <h2>Key takeaways (field)<\/h2>\n          <ul>\n            <li>\n              <div class=\"ico\">\u0394P<\/div>\n              <div>\n                <b>Pressure \"at the compressor\" \u2260 pressure \"at the nozzle\".<\/b>\n                <span>Length, diameter, and fittings can reduce useful pressure.<\/span>\n              <\/div>\n            <\/li>\n            <li>\n              <div class=\"ico\">\u00d8<\/div>\n              <div>\n                <b>The internal diameter is crucial.<\/b>\n                <span>A pipe that is too small creates high velocity and rapid losses.<\/span>\n              <\/div>\n            <\/li>\n            <li>\n              <div class=\"ico\">Q<\/div>\n              <div>\n                <b>At high flow rates, pressure drop increases very quickly.<\/b>\n                <span>A small restriction (fitting, connector) can become the bottleneck.<\/span>\n              <\/div>\n            <\/li>\n            <li>\n              <div class=\"ico\">\u2699<\/div>\n              <div>\n                <b>Optimizing the network prevents overconsumption.<\/b>\n                <span>Fewer losses = higher efficiency and lower operating costs.<\/span>\n\n                <figure class=\"facts-figure\">\n                  <img src=\"https:\/\/cryoblaster.com\/wp-content\/uploads\/2026\/01\/calculer-perte-de-charge-air-comprime.webp\" alt=\"Compressed air pressure drop: guide and calculator for dry ice blasting & micro abrasive blasting\" loading=\"lazy\" decoding=\"async\">\n                <\/figure>\n              <\/div>\n            <\/li>\n          <\/ul>\n        <\/aside>\n      <\/div>\n\n      <!-- AVANT DE CALCULER -->\n      <section class=\"cbp-next\" aria-label=\"Avant de calculer : pages essentielles\">\n        <div class=\"kicker\">Before calculating<\/div>\n        <div class=\"title\">First, secure the sizing (FAD + margin)<\/div>\n        <p class=\"sub\">\n The calculator provides the pressure drop in your network. To avoid misdiagnosis,\n start by validating <strong>flow vs. pressure (FAD)<\/strong>, then compare your compressor with field benchmarks. \n        <\/p>\n\n        <div class=\"cbp-next-grid\">\n          <a class=\"cbp-cardlink\" href=\"https:\/\/cryoblaster.com\/en\/compressed-air-flow-and-pressure\/\" target=\"_blank\" rel=\"noopener\">\n            <div class=\"ic\">FAD<\/div>\n            <div class=\"txt\">\n              <b>Understand flow vs. pressure (FAD)<\/b>\n              <span>Know what your compressor actually delivers.<\/span>\n            <\/div>\n            <div class=\"arr\">\u2192<\/div>\n          <\/a>\n\n          <a class=\"cbp-cardlink\" href=\"https:\/\/cryoblaster.com\/compresseurs-nettoyage-cryogenique-aerogommage\/\" target=\"_blank\" rel=\"noopener\">\n            <div class=\"ic\">\u26a1<\/div>\n            <div class=\"txt\">\n              <b>Validate your compressor (table + models)<\/b>\n              <span>Choose a truly suitable compressor (FAD + margin).<\/span>\n            <\/div>\n            <div class=\"arr\">\u2192<\/div>\n          <\/a>\n        <\/div>\n      <\/section>\n\n    <\/div>\n  <\/header>\n\n  <!-- DEFINITION -->\n  <section class=\"cbp-section\" id=\"definition\">\n    <div class=\"cbp-container\">\n      <div class=\"cbp-block\">\n        <h2>What is compressed air pressure drop?<\/h2>\n        <p>\n Pressure drop corresponds to the <strong>decrease in pressure<\/strong> experienced by compressed air as it flows\n through a network (pipes, hoses, fittings, filters, dryer, reel, etc.). It is measured in <strong>bar<\/strong>\n (\u0394P) between the compressor outlet and the machine inlet (or the nozzle). \n        <\/p>\n        <p>\n In dry ice blasting as in micro abrasive blasting, this pressure drop directly impacts efficiency,\n as it reduces the energy available to accelerate the dry ice or abrasive.\n        <\/p>\n\n        <div class=\"cbp-kpi\">\n          <div class=\"kpi\">\n            <div class=\"t\">Cause No. 1<\/div>\n            <div class=\"v\">Insufficient internal diameter<\/div>\n            <div class=\"d\">The smaller the \u00d8, the higher the velocity, the greater the pressure drop.<\/div>\n          <\/div>\n          <div class=\"kpi\">\n            <div class=\"t\">Cause No. 2<\/div>\n            <div class=\"v\">Length + accessories<\/div>\n            <div class=\"d\">Every meter, elbow, fitting, or filter adds cumulative loss.<\/div>\n          <\/div>\n          <div class=\"kpi\">\n            <div class=\"t\">Cause No. 3<\/div>\n            <div class=\"v\">High flow demand<\/div>\n            <div class=\"d\">At high flow rates, friction increases, and pressure drop becomes critical.<\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- IMPACT -->\n  <section class=\"cbp-section\" id=\"impact\">\n    <div class=\"cbp-container\">\n      <div class=\"cbp-block\">\n        <h2>Why it's critical in dry ice blasting and micro abrasive blasting<\/h2>\n        <p>\n If the pressure drops before the machine, you often observe a \"false\" loss of efficiency: longer intervention time,\n less clean results, and a tendency to compensate by increasing pressure or consumption. The air network then becomes the real bottleneck. \n        <\/p>\n\n        <div class=\"cbp-kpi\">\n          <div class=\"kpi\">\n            <div class=\"t\">Dry ice blasting<\/div>\n            <div class=\"v\">Less pressure \u2192 less impact<\/div>\n            <div class=\"d\">Less effective removal, reduced efficiency, increased consumption.<\/div>\n          <\/div>\n          <div class=\"kpi\">\n            <div class=\"t\">Airbrushing<\/div>\n            <div class=\"v\">Unstable pressure \u2192 irregular blasting<\/div>\n            <div class=\"d\">Less homogeneous finish, downtime, more difficult adjustments.<\/div>\n          <\/div>\n          <div class=\"kpi\">\n            <div class=\"t\">Overall cost<\/div>\n            <div class=\"v\">Overconsumption of air and energy<\/div>\n            <div class=\"d\">Increased compressor strain, energy losses, and material fatigue.<\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- CALCULATEUR -->\n  <section class=\"cbp-section\" id=\"calculateur\">\n    <div class=\"cbp-container\">\n\n      <div class=\"cbp-block\">\n        <h2>Compressed air pressure drop calculator (dry ice blasting & micro abrasive blasting)<\/h2>\n        <p>\n Enter the compressor, pressure, length, and line type. The calculator estimates the pressure drop (\u0394P),\n the pressure at the nozzle, the useful flow, and automatic recommendations (diameter \/ TTR \/ rigid network). <\/p>\n<p style=\"font-size:12px;opacity:.75;max-width:auto;margin:10px auto 0;\">\n \u2193 This calculator, its architecture, its operating logic, its calculation rules\n and its automatic recommendations are protected by copyright.\n Any reproduction, adaptation or reuse, in whole or in part,\n without prior written authorization is prohibited: Calculator protected by proof of prior art filing (INPI \u2013 e-Soleau). \u00a9 Cryoblaster\u00ae \u2013 Delta Diffusion \/ A. Romero \n<\/p>\n      <\/div>\n\n      <!-- =========================================================\n           CALCULATEUR (nouvelle version + recommandations)\n      ========================================================= -->\n      <section id=\"cb-perte-charge\" class=\"cbpc-wrap\">\n        <style>\n          #cb-perte-charge.cbpc-wrap{\n            --navy:#0b1b33; --blue:#0f3d7a; --soft:#f6f9ff; --sky:#eef5fc;\n            --border:rgba(15,23,42,.12); --muted:rgba(11,27,51,.72); --text:#0b1b33;\n            --cta:#ff7a18; --cta2:#ff8f2b;\n            --radius:22px; --radius2:16px; --shadow:0 18px 48px rgba(11,27,51,.12);\n            font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;\n            color:var(--text); box-sizing:border-box;\n          }\n          #cb-perte-charge *, #cb-perte-charge *:before, #cb-perte-charge *:after{ box-sizing:border-box; }\n          #cb-perte-charge .cbpc-inner{ max-width:1100px; margin:0 auto; padding:18px 0; }\n          #cb-perte-charge .cbpc-card{\n            background:linear-gradient(180deg,#ffffff,var(--soft));\n            border:1px solid rgba(15,23,42,.10); border-radius:22px;\n            box-shadow:0 18px 48px rgba(11,27,51,.12); padding:18px; overflow:hidden;\n          }\n          #cb-perte-charge .cbpc-head{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:14px; }\n          #cb-perte-charge .cbpc-title{ margin:0; font-size:20px; font-weight:900; color:var(--navy); line-height:1.25; }\n          #cb-perte-charge .cbpc-sub{ margin:6px 0 0; color:rgba(11,27,51,.72); font-size:14px; line-height:1.45; max-width:820px; }\n\n          #cb-perte-charge .cbpc-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:14px; align-items:start; }\n          @media (max-width:920px){ #cb-perte-charge .cbpc-grid{ grid-template-columns:1fr; } }\n\n          #cb-perte-charge .cbpc-form{\n            background:#fff; border:1px solid rgba(15,23,42,.12); border-radius:16px; padding:14px;\n          }\n          #cb-perte-charge .cbpc-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }\n          @media (max-width:640px){ #cb-perte-charge .cbpc-row{ grid-template-columns:1fr; } }\n\n          #cb-perte-charge label{ display:block; font-size:13px; font-weight:800; color:rgba(11,27,51,.92); margin:0 0 6px; }\n          #cb-perte-charge .cbpc-help{ font-size:12px; color:rgba(11,27,51,.72); margin-top:6px; line-height:1.35; }\n\n          #cb-perte-charge input, #cb-perte-charge select{\n            width:100%; border:1px solid rgba(15,23,42,.16); border-radius:14px;\n            padding:11px 12px; font-size:14px; outline:none; background:#fff;\n          }\n          #cb-perte-charge input:focus, #cb-perte-charge select:focus{\n            border-color:rgba(15,61,122,.55); box-shadow:0 0 0 4px rgba(15,61,122,.10);\n          }\n          #cb-perte-charge input[readonly]{ background:var(--sky); border-color:rgba(15,23,42,.12); }\n\n          #cb-perte-charge .cbpc-inline{ display:flex; gap:10px; align-items:center; justify-content:space-between; }\n          #cb-perte-charge .cbpc-slider{ width:100%; accent-color:var(--cta); }\n          #cb-perte-charge .cbpc-pill{\n            display:inline-flex; align-items:center; gap:8px; padding:7px 10px; border-radius:999px;\n            border:1px solid rgba(15,23,42,.12); background:var(--sky);\n            font-size:12px; font-weight:850; color:var(--navy); white-space:nowrap;\n          }\n\n          #cb-perte-charge .cbpc-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:10px; }\n          #cb-perte-charge .cbpc-btn{\n            appearance:none; border:none; border-radius:16px; padding:11px 14px;\n            font-weight:900; cursor:pointer; font-size:14px; line-height:1;\n          }\n          #cb-perte-charge .cbpc-btn--primary{\n            background:linear-gradient(180deg,var(--cta),var(--cta2)); color:#fff;\n            box-shadow:0 12px 28px rgba(255,122,24,.25);\n          }\n          #cb-perte-charge .cbpc-btn--ghost{ background:#fff; border:1px solid rgba(15,23,42,.14); color:var(--navy); }\n\n          #cb-perte-charge .cbpc-results{\n            background:linear-gradient(180deg,#0b1b33,#0a172c); color:#fff;\n            border-radius:16px; padding:14px;\n            border:1px solid rgba(255,255,255,.12); overflow:hidden;\n          }\n          #cb-perte-charge .cbpc-kpis{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:6px; }\n          @media (max-width:520px){ #cb-perte-charge .cbpc-kpis{ grid-template-columns:1fr; } }\n\n          #cb-perte-charge .cbpc-kpi{\n            border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06);\n            border-radius:16px; padding:12px;\n          }\n          #cb-perte-charge .cbpc-kpi .t{ font-size:12px; opacity:.9; margin:0 0 6px; font-weight:800; }\n          #cb-perte-charge .cbpc-kpi .v{ font-size:24px; margin:0; font-weight:950; letter-spacing:.2px; }\n          #cb-perte-charge .cbpc-kpi .s{ font-size:12px; opacity:.85; margin:6px 0 0; line-height:1.35; }\n\n          #cb-perte-charge .cbpc-note{\n            margin-top:12px; padding:10px 12px; border-radius:16px;\n            border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.06);\n            font-size:13px; line-height:1.45;\n          }\n          #cb-perte-charge .cbpc-warn{\n            margin-top:10px; padding:10px 12px; border-radius:16px;\n            border:1px solid rgba(255,122,24,.35); background:rgba(255,122,24,.10);\n            font-size:13px; line-height:1.45;\n          }\n          #cb-perte-charge .cbpc-mini{\n            margin-top:10px; padding:10px 12px; border-radius:16px;\n            border:1px dashed rgba(255,255,255,.20); background:rgba(255,255,255,.04);\n            font-size:13px; line-height:1.45;\n          }\n          #cb-perte-charge .cbpc-mini b{ color:#fff; }\n\n          #cb-perte-charge .cbpc-status{\n            display:inline-flex; align-items:center; gap:8px;\n            padding:8px 10px; border-radius:999px;\n            border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.06);\n            font-weight:900; font-size:12px; letter-spacing:.2px;\n            margin-top:10px;\n          }\n          #cb-perte-charge .st-ok{ border-color: rgba(39,174,96,.45); }\n          #cb-perte-charge .st-mid{ border-color: rgba(243,156,18,.45); }\n          #cb-perte-charge .st-bad{ border-color: rgba(231,76,60,.45); }\n\n          #cb-perte-charge .cbpc-reco{\n            margin-top:10px;\n            border-radius:16px;\n            border:1px solid rgba(255,255,255,.16);\n            background:rgba(255,255,255,.06);\n            padding:12px;\n          }\n          #cb-perte-charge .cbpc-reco .h{\n            font-weight:950; font-size:13px; margin:0 0 6px;\n            letter-spacing:.2px;\n          }\n          #cb-perte-charge .cbpc-reco ul{\n            margin:0; padding:0 0 0 18px;\n            font-size:13px; line-height:1.45; opacity:.95;\n          }\n          #cb-perte-charge .cbpc-reco li{ margin:6px 0; }\n          #cb-perte-charge .cbpc-cta{ margin-top:12px; display:flex; gap:10px; flex-wrap:wrap; align-items:center; }\n          #cb-perte-charge .cbpc-link{ color:#fff; text-decoration:none; font-weight:900; border-bottom:1px solid rgba(255,255,255,.35); padding-bottom:2px; }\n        <\/style>\n\n        <div class=\"cbpc-inner\">\n          <div class=\"cbpc-card\">\n\n            <div class=\"cbpc-head\">\n              <div>\n                <h3 class=\"cbpc-title\">Pressure drop calculator \u2014 Compressed air<\/h3>\n                <p class=\"cbpc-sub\">\n Choose a compressor (optional), then set pressure, length, and line.\n In <strong>TTR<\/strong> mode, the restriction of the <strong>fittings<\/strong> is integrated to remain consistent in field use.\n                <\/p>\n              <\/div>\n            <\/div>\n\n            <div class=\"cbpc-grid\">\n\n              <!-- FORM -->\n              <div class=\"cbpc-form\">\n\n                <div class=\"cbpc-row\">\n                  <div>\n                    <label for=\"cbpc_msp\">Suggested compressor (optional)<\/label>\n                    <select id=\"cbpc_msp\">\n                      <option value=\"\">\u2014 I will enter my flow rate myself \u2014<\/option>\n                      <option value=\"msp1300\">MSP 1300 (1,300 l\/min)<\/option>\n                      <option value=\"msp2000\">MSP 2000 (2,000 l\/min)<\/option>\n                      <option value=\"msp3000\">MSP 3000 (3,000 l\/min)<\/option>\n                      <option value=\"msp5000\">MSP 5000 (5,000 l\/min)<\/option>\n                      <option value=\"msp11000\">MSP 11 000 (10,500 l\/min)<\/option>\n                      <option value=\"msp12000\">MSP 12 000 (12,000 l\/min)<\/option>\n                    <\/select>\n                    <div class=\"cbpc-help\">Select an MSP compressor to automatically pre-fill the flow rate (FAD).<\/div>\n                  <\/div>\n\n                  <div>\n                    <label>Compressor flow rate (intake air \/ FAD) \u2014 m\u00b3\/min<\/label>\n                    <input id=\"cbpc_v\" type=\"number\" min=\"0\" step=\"0.01\" value=\"2.00\">\n                    <div class=\"cbpc-help\">Equivalent: <span id=\"cbpc_v_lmin\">2,000<\/span> l\/min.<\/div>\n                  <\/div>\n                <\/div>\n\n                <div class=\"cbpc-row\">\n                  <div>\n                    <label for=\"cbpc_pe\">Operating pressure Pe \u2014 bar(g)<\/label>\n                    <input id=\"cbpc_pe\" type=\"number\" min=\"0.1\" step=\"0.1\" value=\"7.0\">\n                    <div class=\"cbpc-help\">Gauge pressure (barg).<\/div>\n                  <\/div>\n\n                  <div>\n                    <label for=\"cbpc_l\">Total length L \u2014 meters<\/label>\n                    <input id=\"cbpc_l\" type=\"number\" min=\"0\" step=\"1\" value=\"50\">\n                    <div class=\"cbpc-help\">Length between compressor and point of use.<\/div>\n                  <\/div>\n                <\/div>\n\n                <div class=\"cbpc-row\">\n                  <div>\n                    <label for=\"cbpc_line\">Line type<\/label>\n                    <select id=\"cbpc_line\">\n                      <option value=\"rigid\">Rigid factory network (smooth)<\/option>\n                      <option value=\"rigid_old\">Old rigid network (penalized)<\/option>\n                      <option value=\"ttr\">Field hose (TTR) \u2014 fittings included<\/option>\n                    <\/select>\n                    <div class=\"cbpc-help\">TTR: the hose + fittings (restriction) are integrated into \u0394P.<\/div>\n                  <\/div>\n\n                  <div id=\"cbpc_ttr_block\" style=\"display:none;\">\n                    <label for=\"cbpc_ttr\">TTR hose reference<\/label>\n                    <select id=\"cbpc_ttr\">\n                      <option value=\"ttr_34\">TTR 3\/4\" (ID 3\/4\", fittings 1\/2\")<\/option>\n                      <option value=\"ttr_1\" selected=\"selected\">TTR 1\" (ID 1\", fittings 3\/4\")<\/option>\n                      <option value=\"ttr_114\">TTR 1\"1\/4 (ID 1\"1\/4, fittings 1\")<\/option>\n                    <\/select>\n                    <div class=\"cbpc-help\">Hose diameter + fitting diameter automatically entered.<\/div>\n                  <\/div>\n                <\/div>\n\n                <div class=\"cbpc-row\">\n                  <div>\n                    <label for=\"cbpc_d\">Internal diameter (mm)<\/label>\n                    <input id=\"cbpc_d\" type=\"number\" min=\"1\" step=\"1\" value=\"20\">\n                    <div class=\"cbpc-help\">In TTR mode: field locked to hose ID.<\/div>\n                  <\/div>\n\n                  <div>\n                    <label>Network coefficient (rigid) \/ Leq fitting (TTR)<\/label>\n                    <div class=\"cbpc-inline\" style=\"margin-bottom:10px;\">\n                      <input id=\"cbpc_c\" class=\"cbpc-slider\" type=\"range\" min=\"1\" max=\"1.6\" step=\"0.05\" value=\"1.0\">\n                      <span id=\"cbpc_cpill\" class=\"cbpc-pill\">C = 1.00<\/span>\n                    <\/div>\n\n                    <div class=\"cbpc-inline\">\n                      <input id=\"cbpc_leq\" class=\"cbpc-slider\" type=\"range\" min=\"0.2\" max=\"3\" step=\"0.1\" value=\"1.0\">\n                      <span id=\"cbpc_leqpill\" class=\"cbpc-pill\">Leq = 1.0 m<\/span>\n                    <\/div>\n                    <div class=\"cbpc-help\">Rigid: C (smooth\/old). TTR: 2 fittings \u00d7 Leq (restriction). <\/div>\n                  <\/div>\n                <\/div>\n\n                <div class=\"cbpc-actions\">\n                  <button class=\"cbpc-btn cbpc-btn--primary\" id=\"cbpc_calc\" type=\"button\">Calculate<\/button>\n                  <button class=\"cbpc-btn cbpc-btn--ghost\" id=\"cbpc_reset\" type=\"button\">Reset<\/button>\n                <\/div>\n              <\/div>\n\n              <!-- RESULTS -->\n              <div class=\"cbpc-results\" aria-live=\"polite\">\n                <div class=\"cbpc-kpis\">\n                  <div class=\"cbpc-kpi\">\n                    <p class=\"t\">Estimated pressure drop<\/p>\n                    <p class=\"v\"><span id=\"cbpc_dp\">0.661<\/span> <span style=\"font-size:14px;font-weight:900;opacity:.9;\">bar<\/span><\/p>\n                    <p class=\"s\">\u0394P over the indicated length (with TTR correction if activated).<\/p>\n                  <\/div>\n\n                  <div class=\"cbpc-kpi\">\n                    <p class=\"t\">Pressure at the nozzle<\/p>\n                    <p class=\"v\"><span id=\"cbpc_pout\">6.339<\/span> <span style=\"font-size:14px;font-weight:900;opacity:.9;\">bar(g)<\/span><\/p>\n                    <p class=\"s\">Pe \u2212 \u0394P (limited to 0).<\/p>\n                  <\/div>\n\n                  <div class=\"cbpc-kpi\">\n                    <p class=\"t\">Useful air at end of line (FAD)<\/p>\n                    <p class=\"v\"><span id=\"cbpc_qu\">1.811<\/span> <span style=\"font-size:14px;font-weight:900;opacity:.9;\">m\u00b3\/min<\/span><\/p>\n                    <p class=\"s\"><span id=\"cbpc_qul\">1811<\/span> l\/min equivalent free air.<\/p>\n                  <\/div>\n\n                  <div class=\"cbpc-kpi\">\n                    <p class=\"t\">Air velocity (indicative)<\/p>\n                    <p class=\"v\"><span id=\"cbpc_speed\">\u2014<\/span> <span style=\"font-size:14px;font-weight:900;opacity:.9;\">m\/s<\/span><\/p>\n                    <p class=\"s\">Calculated from \"actual\" flow at Pe (approx. isothermal).<\/p>\n                  <\/div>\n                <\/div>\n\n                <div class=\"cbpc-mini\" id=\"cbpc_ttr_info\" style=\"display:none;\">\n                  <b>TTR Mode:<\/b>\n hose ID = <span id=\"cbpc_idhose\">\u2014<\/span> mm,\n fittings = <span id=\"cbpc_idfit\">\u2014<\/span> mm,\n fitting velocity = <span id=\"cbpc_speed_fit\">\u2014<\/span> m\/s,\n correction = 2 \u00d7 Leq (<span id=\"cbpc_leqshow\">1.0<\/span> m).\n                <\/div>\n\n                <div class=\"cbpc-status st-ok\" id=\"cbpc_status\">Status: \u2014<\/div>\n\n                <div class=\"cbpc-note\" id=\"cbpc_note\">\n Tip: increasing the internal diameter is often the most effective lever to reduce pressure drop.\n                <\/div>\n\n                <div class=\"cbpc-warn\" id=\"cbpc_warn\" style=\"display:none;\">\n Significant pressure drop: your network severely limits pressure and useful flow at the end of the line.\n A larger diameter or a reduction in length can significantly improve performance.\n                <\/div>\n\n                <!-- Recommandations automatiques -->\n                <div class=\"cbpc-reco\" id=\"cbpc_reco\">\n                  <p class=\"h\">Recommendations (automatic)<\/p>\n                  <ul id=\"cbpc_reco_list\">\n                    <li>\u2014<\/li>\n                  <\/ul>\n                <\/div>\n\n                <div class=\"cbpc-cta\">\n                  <a class=\"cbpc-link\" href=\"#AWI\">Receive advice to optimize my air network<\/a>\n                <\/div>\n              <\/div>\n\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <script>\n          (function(){\n            const el = (id) => document.getElementById(id);\n\n            const mspEl = el(\"cbpc_msp\");\n            const vEl  = el(\"cbpc_v\");\n            const vLminOut = el(\"cbpc_v_lmin\");\n            const peEl = el(\"cbpc_pe\");\n            const lEl  = el(\"cbpc_l\");\n            const dEl  = el(\"cbpc_d\");\n\n            const lineEl = el(\"cbpc_line\");\n            const ttrBlock = el(\"cbpc_ttr_block\");\n            const ttrEl = el(\"cbpc_ttr\");\n\n            const cEl = el(\"cbpc_c\");\n            const cpillEl = el(\"cbpc_cpill\");\n\n            const leqEl = el(\"cbpc_leq\");\n            const leqpillEl = el(\"cbpc_leqpill\");\n\n            const dpOut   = el(\"cbpc_dp\");\n            const poutOut = el(\"cbpc_pout\");\n            const quOut   = el(\"cbpc_qu\");\n            const qulOut  = el(\"cbpc_qul\");\n            const speedOut= el(\"cbpc_speed\");\n\n            const warnEl  = el(\"cbpc_warn\");\n            const noteEl  = el(\"cbpc_note\");\n            const statusEl= el(\"cbpc_status\");\n\n            const ttrInfo = el(\"cbpc_ttr_info\");\n            const idHoseOut = el(\"cbpc_idhose\");\n            const idFitOut  = el(\"cbpc_idfit\");\n            const leqShow   = el(\"cbpc_leqshow\");\n            const speedFitOut = el(\"cbpc_speed_fit\");\n\n            const recoList = el(\"cbpc_reco_list\");\n\n            \/\/ Presets compresseurs MSP (FAD en l\/min)\n            const MSP = {\n              msp1300: { label:\"MSP 1300\",  lmin:1300 },\n              msp2000: { label:\"MSP 2000\",  lmin:2000 },\n              msp3000: { label:\"MSP 3000\",  lmin:3000 },\n              msp5000: { label:\"MSP 5000\",  lmin:5000 },\n              msp11000:{ label:\"MSP 11 000\",lmin:10500 },\n              msp12000:{ label:\"MSP 12 000\",lmin:12000 }\n            };\n\n            \/\/ R\u00e9f\u00e9rences TTR (pouces -> mm)\n            const TTR = {\n              \"ttr_34\": { name:'TTR 3\/4\"',  hose_mm:19.05, fit_mm:12.70 },\n              \"ttr_1\":  { name:'TTR 1\"',    hose_mm:25.40, fit_mm:19.05 },\n              \"ttr_114\":{ name:'TTR 1\"1\/4', hose_mm:31.75, fit_mm:25.40 }\n            };\n\n            \/\/ Mod\u00e8le perte de charge (r\u00e9seau lisse) :\n            \/\/ \u0394P ~ K * L * V^1.85 \/ (d^5 * Pe)\n            function dpBase(L, V_m3min, d_mm, Pe_barg){\n              const K = 82136.85;\n              return K * (L * Math.pow(V_m3min, 1.85)) \/ (Math.pow(d_mm, 5) * Pe_barg);\n            }\n\n            function dpRigid(L, V, d, Pe, C){\n              return dpBase(L, V, d, Pe) * C;\n            }\n\n            \/\/ TTR : tuyau + 2 embouts \u00e9quivalents (Leq)\n            function dpTTR(L, V, Pe, d_hose, d_fit, leq_each){\n              const K = 82136.85;\n              const term = (L \/ Math.pow(d_hose, 5)) + ((2 * leq_each) \/ Math.pow(d_fit, 5));\n              return K * (Math.pow(V, 1.85) \/ Pe) * term;\n            }\n\n            \/\/ Air utile (FAD dispo) : proportion pression restante (simple et lisible)\n            function airUtileFAD(V_fad, Pe, dp){\n              const pout = Math.max(0, Pe - dp);\n              const ratio = (Pe > 0) ? (pout \/ Pe) : 0;\n              return { q: V_fad * ratio, pout, ratio };\n            }\n\n            \/\/ D\u00e9bit \"r\u00e9el\" dans la conduite pour vitesse (approx isotherme)\n            \/\/ Q_real (m3\/s) = (V_fad m3\/min)\/60 * (P_atm_abs \/ P_abs)\n            function qReal_m3s(V_fad_m3min, Pe_barg){\n              const P_atm = 1.01325;                 \/\/ bar abs\n              const P_abs = Pe_barg + P_atm;         \/\/ bar abs\n              return (V_fad_m3min \/ 60) * (P_atm \/ P_abs);\n            }\n\n            function velocity_ms(Q_m3s, d_mm){\n              const d_m = d_mm \/ 1000;\n              const A = Math.PI * Math.pow(d_m\/2, 2);\n              return (A > 0) ? (Q_m3s \/ A) : 0;\n            }\n\n            function clamp(n, min, max){ return Math.min(max, Math.max(min, n)); }\n            function f3(x){ return Number(x).toFixed(3); }\n\n            function setPillC(){ cpillEl.textContent = \"C = \" + Number(cEl.value).toFixed(2); }\n            function setPillLeq(){ leqpillEl.textContent = \"Leq = \" + Number(leqEl.value).toFixed(1) + \" m\"; }\n\n            function updateVLabel(){\n              const V = parseFloat((vEl.value || \"\").replace(\",\", \".\"));\n              if (Number.isFinite(V) && V > 0) vLminOut.textContent = String(Math.round(V * 1000));\n              else vLminOut.textContent = \"\u2014\";\n            }\n\n            function applyMSP(){\n              const key = mspEl.value;\n              if (!key) return;\n              const m = MSP[key];\n              if (!m) return;\n              vEl.value = (m.lmin \/ 1000).toFixed(2);\n              updateVLabel();\n            }\n\n            function applyLineModeUI(){\n              const isTTR = (lineEl.value === \"ttr\");\n              ttrBlock.style.display = isTTR ? \"block\" : \"none\";\n              dEl.readOnly = isTTR;\n\n              if (isTTR){\n                const ref = TTR[ttrEl.value] || TTR[\"ttr_1\"];\n                dEl.value = String(ref.hose_mm.toFixed(2));\n                ttrInfo.style.display = \"block\";\n                idHoseOut.textContent = ref.hose_mm.toFixed(2);\n                idFitOut.textContent  = ref.fit_mm.toFixed(2);\n                leqShow.textContent   = Number(leqEl.value).toFixed(1);\n              } else {\n                ttrInfo.style.display = \"none\";\n                speedFitOut.textContent = \"\u2014\";\n              }\n            }\n\n            function setStatus(lossPct, vHose, vFit){\n              \/\/ Seuils pragmatiques (lisibles pour un outil grand public) :\n              \/\/ - Perte % : <8 OK ; 8-15 mod\u00e9r\u00e9 ; >15 critique\n              \/\/ - Vitesse : >25 m\/s = alerte ; >35 m\/s = critique\n              let cls = \"st-ok\";\n              let txt = \"Statut : Configuration optimale\";\n\n              const speedCrit = Math.max(vHose || 0, vFit || 0);\n\n              if (lossPct >= 15 || speedCrit >= 35){\n                cls = \"st-bad\";\n                txt = \"Statut : Critique \u2014 optimisation n\u00e9cessaire\";\n              } else if (lossPct >= 8 || speedCrit >= 25){\n                cls = \"st-mid\";\n                txt = \"Statut : Perte mod\u00e9r\u00e9e \u2014 attention au rendement\";\n              }\n\n              statusEl.classList.remove(\"st-ok\",\"st-mid\",\"st-bad\");\n              statusEl.classList.add(cls);\n              statusEl.textContent = txt;\n            }\n\n            function pushReco(items){\n              recoList.innerHTML = \"\";\n              const uniq = Array.from(new Set(items)).filter(Boolean);\n              if (!uniq.length) uniq.push(\"\u2014\");\n              uniq.slice(0, 8).forEach(t => {\n                const li = document.createElement(\"li\");\n                li.textContent = t;\n                recoList.appendChild(li);\n              });\n            }\n\n            function compute(){\n              updateVLabel();\n\n              const V  = parseFloat((vEl.value || \"\").replace(\",\", \".\"));\n              const Pe = parseFloat((peEl.value || \"\").replace(\",\", \".\"));\n              const L  = parseFloat((lEl.value || \"\").replace(\",\", \".\"));\n              const d  = parseFloat((dEl.value || \"\").replace(\",\", \".\"));\n\n              if (![V,Pe,L].every(n => Number.isFinite(n)) || V<=0 || Pe<=0 || L<0){\n                dpOut.textContent = \"0.000\";\n                poutOut.textContent = \"0.000\";\n                quOut.textContent = \"0.000\";\n                qulOut.textContent = \"0\";\n                speedOut.textContent = \"\u2014\";\n                warnEl.style.display = \"none\";\n                noteEl.textContent = \"Renseigne des valeurs valides pour obtenir un r\u00e9sultat.\";\n                setStatus(0,0,0);\n                pushReco([]);\n                return;\n              }\n\n              const mode = lineEl.value;\n              let dp = 0;\n              let dHose = d;\n              let dFit = null;\n\n              if (mode === \"ttr\"){\n                const ref = TTR[ttrEl.value] || TTR[&quot;ttr_1&quot;];\n                const leq = parseFloat(leqEl.value);\n                dHose = ref.hose_mm;\n                dFit = ref.fit_mm;\n\n                dp = dpTTR(L, V, Pe, ref.hose_mm, ref.fit_mm, leq);\n\n                dEl.value = String(ref.hose_mm.toFixed(2));\n                idHoseOut.textContent = ref.hose_mm.toFixed(2);\n                idFitOut.textContent  = ref.fit_mm.toFixed(2);\n                leqShow.textContent   = Number(leq).toFixed(1);\n              } else {\n                let C = parseFloat(cEl.value);\n                if (mode === \"rigid\") C = 1.00;\n                if (mode === \"rigid_old\") C = Math.max(C, 1.20);\n                dp = dpRigid(L, V, dHose, Pe, C);\n              }\n\n              const dpClamped = clamp(dp, 0, Pe);\n              const pout = Math.max(0, Pe - dpClamped);\n\n              const { q } = airUtileFAD(V, Pe, dpClamped);\n\n              \/\/ Vitesse (indicative) bas\u00e9e sur d\u00e9bit r\u00e9el \u00e0 Pe\n              const Qreal = qReal_m3s(V, Pe);\n              const vHose = velocity_ms(Qreal, dHose);\n              const vFitVal = (dFit ? velocity_ms(Qreal, dFit) : 0);\n\n              dpOut.textContent = f3(dpClamped);\n              poutOut.textContent = f3(pout);\n              quOut.textContent = f3(q);\n              qulOut.textContent = String(Math.round(q * 1000));\n\n              speedOut.textContent = String(Math.round(vHose));\n              if (mode === \"ttr\"){\n                speedFitOut.textContent = String(Math.round(vFitVal));\n              } else {\n                speedFitOut.textContent = \"\u2014\";\n              }\n\n              const lossPct = (dpClamped \/ Pe) * 100;\n\n              \/\/ Messages\n              if (lossPct >= 15){\n                warnEl.style.display = \"block\";\n                noteEl.textContent = \"Priorit\u00e9 : augmenter le diam\u00e8tre int\u00e9rieur ou r\u00e9duire la longueur. En flexible, les embouts deviennent souvent le facteur limitant.\";\n              } else if (lossPct >= 8){\n                warnEl.style.display = \"none\";\n                noteEl.textContent = \"Perte mod\u00e9r\u00e9e : un diam\u00e8tre sup\u00e9rieur peut s\u00e9curiser la pression en bout de ligne, surtout en flexible chantier.\";\n              } else {\n                warnEl.style.display = \"none\";\n                noteEl.textContent = \"Perte faible : r\u00e9seau correctement dimensionn\u00e9 pour ce d\u00e9bit et cette pression.\";\n              }\n\n              \/\/ Statut global (perte % + vitesse)\n              setStatus(lossPct, vHose, vFitVal);\n\n              \/\/ Recommandations automatiques\n              const recos = [];\n\n              \/\/ 1) Recos \u201cperte\u201d\n              if (lossPct >= 15){\n                recos.push(\"R\u00e9duis la longueur (L) si possible : chaque m\u00e8tre compte \u00e0 fort d\u00e9bit.\");\n                recos.push(\"Augmente le diam\u00e8tre int\u00e9rieur : c\u2019est g\u00e9n\u00e9ralement le levier n\u00b01.\");\n              } else if (lossPct >= 8){\n                recos.push(\"Perte mod\u00e9r\u00e9e : un diam\u00e8tre sup\u00e9rieur peut stabiliser la pression \u00e0 la buse.\");\n              } else {\n                recos.push(\"Configuration globalement coh\u00e9rente pour ce d\u00e9bit et cette pression.\");\n              }\n\n              \/\/ 2) Recos \u201cvitesse\u201d (terrain)\n              if (vHose >= 35){\n                recos.push(\"Vitesse tr\u00e8s \u00e9lev\u00e9e dans le tuyau : risque de pertes rapides et d\u2019instabilit\u00e9. Vise un diam\u00e8tre sup\u00e9rieur.\");\n              } else if (vHose >= 25){\n                recos.push(\"Vitesse \u00e9lev\u00e9e : surveille surtout les raccords et les embouts restrictifs.\");\n              }\n\n              \/\/ 3) Recos sp\u00e9cifiques TTR (embouts)\n              if (mode === \"ttr\" && dFit){\n                if (vFitVal >= 35){\n                  recos.push(\"Embouts trop restrictifs : privil\u00e9gie un TTR avec embouts plus gros (plein passage).\");\n                } else if (vFitVal >= 25){\n                  recos.push(\"Embouts limitants : si tu allonges la longueur, passe sur une section sup\u00e9rieure.\");\n                }\n\n                \/\/ Suggestion \u201cmont\u00e9e de gamme\u201d TTR (simple et lisible)\n                if (ttrEl.value === \"ttr_34\" && (lossPct >= 8 || vFitVal >= 25)){\n                  recos.push('Suggestion : passer de TTR 3\/4\" \u00e0 TTR 1\" pour s\u00e9curiser pression et d\u00e9bit.');\n                }\n                if (ttrEl.value === \"ttr_1\" && (lossPct >= 15 || vFitVal >= 35)){\n                  recos.push('Suggestion : passer de TTR 1\" \u00e0 TTR 1\"1\/4 si le d\u00e9bit est \u00e9lev\u00e9 ou la longueur importante.');\n                }\n              }\n\n              \/\/ 4) Reco r\u00e9seau rigide \u201cancien\u201d\n              if (mode === \"rigid_old\" && lossPct >= 8){\n                recos.push(\"R\u00e9seau ancien : v\u00e9rifie l\u2019\u00e9tat interne, les coudes, les raccords et les filtres sous-dimensionn\u00e9s.\");\n              }\n\n              \/\/ 5) Reco compresseur (sans inventer de nouveaux d\u00e9bits) : uniquement logique\n              if (pout <= (Pe * 0.75) && lossPct >= 15){\n                recos.push(\"Si tu compenses en augmentant la pression compresseur, traite d\u2019abord la cause : diam\u00e8tre \/ longueur \/ embouts.\");\n              }\n\n              pushReco(recos);\n            }\n\n            \/\/ Init\n            setPillC(); setPillLeq();\n            applyLineModeUI();\n            updateVLabel();\n            compute();\n\n            \/\/ Events\n            el(\"cbpc_calc\").addEventListener(\"click\", compute);\n            el(\"cbpc_reset\").addEventListener(\"click\", function(){\n              mspEl.value = \"\";\n              vEl.value = \"2.00\";\n              peEl.value = \"7.0\";\n              lEl.value = \"50\";\n              dEl.value = \"20\";\n              lineEl.value = \"rigid\";\n              ttrEl.value = \"ttr_1\";\n              cEl.value = \"1.0\";\n              leqEl.value = \"1.0\";\n              setPillC(); setPillLeq();\n              applyLineModeUI();\n              updateVLabel();\n              warnEl.style.display = \"none\";\n              compute();\n            });\n\n            mspEl.addEventListener(\"change\", function(){ applyMSP(); compute(); });\n\n            [vEl, peEl, lEl, dEl].forEach(x => x.addEventListener(\"input\", compute));\n            lineEl.addEventListener(\"change\", function(){ applyLineModeUI(); compute(); });\n            ttrEl.addEventListener(\"change\", function(){ applyLineModeUI(); compute(); });\n\n            cEl.addEventListener(\"input\", function(){ setPillC(); compute(); });\n            leqEl.addEventListener(\"input\", function(){ setPillLeq(); applyLineModeUI(); compute(); });\n\n          })();\n        <\/script>\n      <\/section>\n      <!-- =========================================================\n           FIN CALCULATEUR\n      ========================================================= -->\n\n      <!-- CTA sous calculateur -->\n      <div class=\"cbp-softnote\" aria-label=\"Conseils optimisation r\u00e9seau d'air\" style=\"margin-top:14px;\">\n        <div class=\"left\">\n          <b>Do your results indicate a significant loss?<\/b>\n          <span>Receive our advice to optimize your air network.<\/span>\n        <\/div>\n\n        <a class=\"btn btn-primary\" href=\"#AWI\">\n Receive advice\n        <\/a>\n      <\/div>\n\n      <div class=\"cbp-block\" style=\"margin-top:14px\" id=\"interpretation\">\n        <h2>How to interpret the results<\/h2>\n        <p>\n A low pressure drop indicates that your network delivers stable useful pressure.\n If the loss becomes moderate or critical, cleaning performance may drop, and you risk \"compensating\"\n by consuming more air (and more dry ice in dry ice blasting).\n        <\/p>\n        <div class=\"cbp-kpi\">\n          <div class=\"kpi\">\n            <div class=\"t\">Low \u0394P<\/div>\n            <div class=\"v\">Consistent network<\/div>\n            <div class=\"d\">Pressure at the nozzle remains close to operating pressure.<\/div>\n          <\/div>\n          <div class=\"kpi\">\n            <div class=\"t\">Moderate \u0394P<\/div>\n            <div class=\"v\">Impacted efficiency<\/div>\n            <div class=\"d\">Beware of long hoses \/ restrictive fittings.<\/div>\n          <\/div>\n          <div class=\"kpi\">\n            <div class=\"t\">Critical \u0394P<\/div>\n            <div class=\"v\">Optimization needed<\/div>\n            <div class=\"d\">Increase diameter, reduce length, limit restrictions.<\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/section>\n\n  <!-- OPTIMISER -->\n  <section class=\"cbp-section\" id=\"optimiser\">\n    <div class=\"cbp-container\">\n      <div class=\"cbp-block\">\n        <h2>How to reduce compressed air pressure drop in your network<\/h2>\n        <p>\n The best strategy is to secure useful pressure as close as possible to the machine, by limiting sources of friction and throttling.\n In practice, the quickest gains come from the <strong>internal diameter<\/strong>, then from <strong>length<\/strong> and <strong>fittings<\/strong>.\n        <\/p>\n\n        <div class=\"cbp-kpi\">\n          <div class=\"kpi\">\n            <div class=\"t\">Diameter<\/div>\n            <div class=\"v\">Prioritize full bore<\/div>\n            <div class=\"d\">Avoid restrictive fittings (internal reduction) for high-flow applications.<\/div>\n          <\/div>\n          <div class=\"kpi\">\n            <div class=\"t\">Length<\/div>\n            <div class=\"v\">Reduce unnecessary meters<\/div>\n            <div class=\"d\">Position the compressor intelligently, limit long reels.<\/div>\n          <\/div>\n          <div class=\"kpi\">\n            <div class=\"t\">Accessories<\/div>\n            <div class=\"v\">Limit restrictions<\/div>\n            <div class=\"d\">Fewer elbows, suitable fittings, correctly sized filters.<\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"cbp-softnote\" aria-label=\"Acc\u00e8s accessoires air comprim\u00e9\">\n          <div class=\"left\">\n            <b>Compressed air accessories: you have more to gain by optimizing the network than by increasing \"the bars.\"<\/b>\n            <span>Full-bore pipes, suitable fittings, condensate treatment \/ drying: concrete levers to increase useful pressure at the nozzle.<\/span>\n          <\/div>\n\n          <a class=\"btn btn-primary\" href=\"https:\/\/cryoblaster.com\/accessoires-air-comprime\/\" target=\"_blank\" rel=\"noopener\">\n Compressed air accessories\n          <\/a>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- FAQ -->\n  <section class=\"cbp-section\" id=\"faq\">\n    <div class=\"cbp-container\">\n      <div class=\"cbp-block\">\n        <h2>FAQ \u2014 Compressed air pressure drop<\/h2>\n\n        <div class=\"faq-grid\">\n          <details>\n            <summary>Understand the difference between set pressure and useful pressure<\/summary>\n            <p>\n The pressure measured at your compressor's outlet does not always reflect the reality on the ground. As soon as air flows through the network, pressure drop (\u0394P) occurs. \n            <\/p>\n            <p>- \"Linear\" losses: length + internal diameter.<\/p>\n            <p>- \"Localized\" losses: elbows, valves, filters, fittings, and connectors.<\/p>\n            <p><strong>Result<\/strong>: stable pressure at the compressor can lead to critical efficiency loss at the tool.<\/p>\n          <\/details>\n\n          <details>\n            <summary>How to choose between diameter and length to limit pressure drop?<\/summary>\n            <p>\n The <strong>internal diameter<\/strong> is a priority. An undersized diameter will restrict the network, even with a \"large\" compressor. \n            <\/p>\n            <p>\n The length must remain reasonable, and each restrictive fitting or connector increases overall resistance.\n            <\/p>\n          <\/details>\n\n          <details>\n            <summary>From what \u0394P level does it become problematic?<\/summary>\n            <p>\n In practice, as soon as the loss becomes \"visible\" at the tool, efficiency drops. The goal is to maintain stable useful pressure. \n            <\/p>\n            <p>Tip: move the compressor closer to the blasting area, or connect to the nearest network point.<\/p>\n          <\/details>\n\n          <details>\n            <summary>Can fittings create significant restriction?<\/summary>\n            <p>\n Yes: if the internal passage of the fittings is smaller than the hose, they become the bottleneck.\n The \"TTR\" calculator integrates this behavior and also displays the velocity in the fitting.\n            <\/p>\n          <\/details>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n\n\n<\/div><\/div><\/div>\n\n<div class=\"et_pb_code_1 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><p style=\"font-size:12px;opacity:.75;max-width:auto;margin:10px auto 0;\">\n \u2191 This calculator, its architecture, its operating logic, its calculation rules\n and its automatic recommendations are protected by copyright.\n Any reproduction, adaptation or reuse, in whole or in part,\n without prior written authorization is prohibited: Calculator protected by proof of prior art filing (INPI \u2013 e-Soleau). \u00a9 Cryoblaster\u00ae \u2013 Delta Diffusion \/ A. Romero \n<\/p><\/div><\/div>\n\n<div class=\"et_pb_code_2 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\">\n<\/div><\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_row_2 et_pb_row et_block_row\">\n<div class=\"et_pb_column_3 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\">\n<div class=\"wpforms_divi_form_selector_0 wpforms_divi_form_selector et_pb_module\"><div class=\"et_pb_module_inner\"><style id=\"wpforms-css-vars-297188\">\n\t\t\t\t#wpforms-297188 {\n\t\t\t\t--wpforms-field-size-input-height: 43px;\n--wpforms-field-size-input-spacing: 15px;\n--wpforms-field-size-font-size: 16px;\n--wpforms-field-size-line-height: 19px;\n--wpforms-field-size-padding-h: 14px;\n--wpforms-field-size-checkbox-size: 16px;\n--wpforms-field-size-sublabel-spacing: 5px;\n--wpforms-field-size-icon-size: 1;\n--wpforms-label-size-font-size: 16px;\n--wpforms-label-size-line-height: 19px;\n--wpforms-label-size-sublabel-font-size: 14px;\n--wpforms-label-size-sublabel-line-height: 17px;\n--wpforms-button-size-font-size: 17px;\n--wpforms-button-size-height: 41px;\n--wpforms-button-size-padding-h: 15px;\n--wpforms-button-size-margin-top: 10px;\n--wpforms-container-shadow-size-box-shadow: none;\n\t\t\t}\n\t\t\t<\/style><div class=\"wpforms-container wpforms-container-full wpforms-render-modern\" id=\"wpforms-297188\"><form id=\"wpforms-form-297188\" class=\"wpforms-validate wpforms-form wpforms-ajax-form\" data-formid=\"297188\" method=\"post\" enctype=\"multipart\/form-data\" action=\"\/en\/wp-json\/wp\/v2\/pages\/300702\" data-token=\"c30d8f4502b7e003d32ae0adefd136d3\" data-token-time=\"1789560689\"><div class=\"wpforms-head-container\"><div class=\"wpforms-title\">Un doute sur votre configuration actuelle ? Besoin de conseils ? Posez votre question technique \u00e0 un expert<\/div><\/div><noscript class=\"wpforms-error-noscript\">Please enable JavaScript in your browser to complete this form.<\/noscript><div id=\"wpforms-error-noscript\" style=\"display: none;\">Please enable JavaScript in your browser to complete this form.<\/div><div class=\"wpforms-field-container\"><div id=\"wpforms-297188-field_2-container\" class=\"wpforms-field wpforms-field-text wpforms-one-half wpforms-first\" data-field-type=\"text\" data-field-id=\"2\"><label class=\"wpforms-field-label\" for=\"wpforms-297188-field_2\">Nom<\/label><input type=\"text\" id=\"wpforms-297188-field_2\" class=\"wpforms-field-medium\" name=\"wpforms[fields][2]\" placeholder=\"Ex : Alain Dupont\" aria-errormessage=\"wpforms-297188-field_2-error\" ><\/div><div id=\"wpforms-297188-field_3-container\" class=\"wpforms-field wpforms-field-phone wpforms-one-half\" data-field-type=\"phone\" data-field-id=\"3\"><label class=\"wpforms-field-label\" for=\"wpforms-297188-field_3\">T\u00e9l\u00e9phone<\/label><input type=\"tel\" id=\"wpforms-297188-field_3\" class=\"wpforms-field-medium wpforms-smart-phone-field\" data-rule-smart-phone-field=\"true\" name=\"wpforms[fields][3]\" aria-label=\"T\u00e9l\u00e9phone\" aria-errormessage=\"wpforms-297188-field_3-error\" ><\/div>\t\t<div id=\"wpforms-297188-field_1-container\"\n\t\t\tclass=\"wpforms-field wpforms-field-text\"\n\t\t\tdata-field-type=\"text\"\n\t\t\tdata-field-id=\"1\"\n\t\t\t>\n\t\t\t<label class=\"wpforms-field-label\" for=\"wpforms-297188-field_1\" >Nom E-mail Commentaires<\/label>\n\t\t\t<input type=\"text\" id=\"wpforms-297188-field_1\" class=\"wpforms-field-medium\" name=\"wpforms[fields][1]\" >\n\t\t<\/div>\n\t\t<div id=\"wpforms-297188-field_5-container\" class=\"wpforms-field wpforms-field-email\" data-field-type=\"email\" data-field-id=\"5\"><label class=\"wpforms-field-label\" for=\"wpforms-297188-field_5\">E-mail <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"email\" id=\"wpforms-297188-field_5\" class=\"wpforms-field-medium wpforms-field-required\" name=\"wpforms[fields][5]\" placeholder=\"Ex : exemple@mail.com\" spellcheck=\"false\" aria-errormessage=\"wpforms-297188-field_5-error\" required><\/div><div id=\"wpforms-297188-field_6-container\" class=\"wpforms-field wpforms-field-textarea\" data-field-type=\"textarea\" data-field-id=\"6\"><label class=\"wpforms-field-label\" for=\"wpforms-297188-field_6\">Commentaires<\/label><textarea id=\"wpforms-297188-field_6\" class=\"wpforms-field-medium\" name=\"wpforms[fields][6]\" placeholder=\"Mon message...\" aria-errormessage=\"wpforms-297188-field_6-error\" ><\/textarea><\/div><script>\n\t\t\t\t( function() {\n\t\t\t\t\tconst style = document.createElement( 'style' );\n\t\t\t\t\tstyle.appendChild( document.createTextNode( '#wpforms-297188-field_1-container { position: absolute !important; overflow: hidden !important; display: inline !important; height: 1px !important; width: 1px !important; z-index: -1000 !important; padding: 0 !important; } #wpforms-297188-field_1-container input { visibility: hidden; } #wpforms-conversational-form-page #wpforms-297188-field_1-container label { counter-increment: none; }' ) );\n\t\t\t\t\tdocument.head.appendChild( style );\n\t\t\t\t\tdocument.currentScript?.remove();\n\t\t\t\t} )();\n\t\t\t<\/script><\/div><!-- .wpforms-field-container --><div class=\"wpforms-submit-container\" ><input type=\"hidden\" name=\"wpforms[id]\" value=\"297188\"><input type=\"hidden\" name=\"wpforms[time_token]\" value=\"1789560689.300fdcfdf61a409253f3e3d525954fb3869b8e6ec01310030e7352150500aacc\"><input type=\"hidden\" name=\"page_title\" value=\"\"><input type=\"hidden\" name=\"page_url\" value=\"https:\/\/cryoblaster.com\/en\/wp-json\/wp\/v2\/pages\/300702\"><input type=\"hidden\" name=\"url_referer\" value=\"\"><button type=\"submit\" name=\"wpforms[submit]\" id=\"wpforms-submit-297188\" class=\"wpforms-submit\" data-alt-text=\"Envoie en cours...\" data-submit-text=\"Envoyer ma demande\" aria-live=\"assertive\" value=\"wpforms-submit\">Envoyer ma demande<\/button><img decoding=\"async\" src=\"https:\/\/cryoblaster.com\/wp-content\/plugins\/wpforms\/assets\/images\/submit-spin.svg\" class=\"wpforms-submit-spinner\" style=\"display: none;\" width=\"26\" height=\"26\" alt=\"Loading\"><\/div><\/form><\/div>  <!-- .wpforms-container --><\/div><\/div>\n<\/div>\n<\/div>\n\n<div class=\"et_pb_row_3 et_pb_row et-vb-row--no-module et_block_row\">\n<div class=\"et_pb_column_4 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_column_empty et_pb_css_mix_blend_mode_passthrough\"><\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"cybocfi_hide_featured_image":"","footnotes":""},"difl_page_category":[],"class_list":["post-300702","page","type-page","status-publish","hentry"],"dsm_author":{"name":"Antoine","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/caf2f81244fc73f683c03ccaab3678a1a5d08514783c0f6f8976d2f3c8f87fda?s=96&d=mm&r=g","archive_link":"https:\/\/cryoblaster.com\/en\/author\/antoine\/","biodata":"test"},"dsm_categories":[],"dsm_attachment_categories":[],"dsm_featured_image":null,"dsm_comment_count":0,"_links":{"self":[{"href":"https:\/\/cryoblaster.com\/en\/wp-json\/wp\/v2\/pages\/300702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cryoblaster.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cryoblaster.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cryoblaster.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/cryoblaster.com\/en\/wp-json\/wp\/v2\/comments?post=300702"}],"version-history":[{"count":4,"href":"https:\/\/cryoblaster.com\/en\/wp-json\/wp\/v2\/pages\/300702\/revisions"}],"predecessor-version":[{"id":300706,"href":"https:\/\/cryoblaster.com\/en\/wp-json\/wp\/v2\/pages\/300702\/revisions\/300706"}],"wp:attachment":[{"href":"https:\/\/cryoblaster.com\/en\/wp-json\/wp\/v2\/media?parent=300702"}],"wp:term":[{"taxonomy":"difl_page_category","embeddable":true,"href":"https:\/\/cryoblaster.com\/en\/wp-json\/wp\/v2\/difl_page_category?post=300702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}