{"id":11711,"date":"2026-08-11T18:48:36","date_gmt":"2026-08-11T16:48:36","guid":{"rendered":"https:\/\/inrcy.com\/?page_id=11711"},"modified":"2026-09-14T23:30:56","modified_gmt":"2026-09-14T21:30:56","slug":"accueil","status":"publish","type":"page","link":"https:\/\/inrcy.com\/th\/","title":{"rendered":"\u0e2b\u0e19\u0e49\u0e32\u0e2b\u0e25\u0e31\u0e01"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"11711\" class=\"elementor elementor-11711\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3ac0aec e-flex e-con-boxed e-con e-parent\" data-id=\"3ac0aec\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-64dd825 elementor-widget elementor-widget-html\" data-id=\"64dd825\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section id=\"inrcyHeroSteps\">\r\n\r\n  <div class=\"hs-inner\">\r\n\r\n\r\n    <!-- =====================================================\r\n         TITRE GLOBAL\r\n         ===================================================== -->\r\n\r\n    <div class=\"hs-hero-heading\">\r\n\r\n      <h1>\r\n\r\n        <span class=\"hs-title-line hs-title-line--white\">\r\n          1 id\u00e9e. 12 contenus.\r\n        <\/span>\r\n\r\n        <span class=\"hs-title-line hs-title-line--shine\">\r\n          Diffus\u00e9s partout en quelques minutes.\r\n        <\/span>\r\n\r\n      <\/h1>\r\n\r\n    <\/div>\r\n\r\n\r\n\r\n    <!-- =====================================================\r\n         INTRO MOBILE UNIQUEMENT\r\n         ===================================================== -->\r\n\r\n    <p class=\"hs-mobile-intro\">\r\n      G\u00e9n\u00e9rez, adaptez et diffusez vos contenus sur tous vos canaux depuis un seul espace.\r\n    <\/p>\r\n\r\n    <!-- =====================================================\r\n         LES 4 \u00c9TAPES\r\n         ===================================================== -->\r\n\r\n    <div class=\"hs-flow\" id=\"hsFlow\">\r\n\r\n      <svg\r\n        class=\"hs-connections\"\r\n        id=\"hsConnections\"\r\n        aria-hidden=\"true\">\r\n      <\/svg>\r\n\r\n\r\n\r\n      <!-- =====================================================\r\n           1. GUIDE\r\n           ===================================================== -->\r\n\r\n      <div\r\n        class=\"hs-step hs-source-wrap\"\r\n        id=\"hsStep1\"\r\n      >\r\n\r\n        <div class=\"hs-step-head\">\r\n\r\n          <span class=\"hs-step-num\">\r\n            1.\r\n          <\/span>\r\n\r\n          <div class=\"hs-step-title\">\r\n\r\n            <strong>\r\n              Guidez iNrCy\r\n            <\/strong>\r\n\r\n            <span class=\"hs-step-sub\">\r\n              Une photo, une vid\u00e9o ou quelques mots suffisent pour commencer.\r\n            <\/span>\r\n\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n\r\n        <div class=\"hs-source\">\r\n\r\n          <div class=\"hs-source-media\">\r\n\r\n            <img decoding=\"async\"\r\n              src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2026\/08\/luxury-holiday-home-scaled.jpg\"\r\n              alt=\"Exemple de contenu cr\u00e9\u00e9 dans iNrCy\"\r\n            >\r\n\r\n          <\/div>\r\n\r\n\r\n          <div class=\"hs-source-copy\">\r\n\r\n            <strong>\r\n              Une nouvelle r\u00e9alisation \u00e0 partager \u2728\r\n            <\/strong>\r\n\r\n            <span>\r\n              Ajoutez votre id\u00e9e, votre texte et votre visuel.\r\n              iNrCy s'occupe de la suite.\r\n            <\/span>\r\n\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n\r\n\r\n      <!-- =====================================================\r\n           2. INR CY ADAPTE\r\n           ===================================================== -->\r\n\r\n      <div\r\n        class=\"hs-step hs-phone-wrap\"\r\n        id=\"hsStep2\"\r\n      >\r\n\r\n        <div class=\"hs-step-head\">\r\n\r\n          <span class=\"hs-step-num\">\r\n            2.\r\n          <\/span>\r\n\r\n          <div class=\"hs-step-title\">\r\n\r\n            <strong>\r\n              iNrCy adapte les contenus \u00e0 chaque canal\r\n            <\/strong>\r\n\r\n            <span class=\"hs-step-sub\">\r\n              12 contenus uniques et intelligents, pens\u00e9s pour chaque support.\r\n             \r\n            <\/span>\r\n\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n\r\n\r\n        <div\r\n          class=\"hs-phone\"\r\n          id=\"hsPhone\"\r\n        >\r\n\r\n          <div class=\"hs-screen\">\r\n\r\n\r\n            <div class=\"hs-island\"><\/div>\r\n\r\n\r\n\r\n            <!-- HEADER T\u00c9L\u00c9PHONE -->\r\n\r\n            <div class=\"hs-phone-head\">\r\n\r\n              <div class=\"hs-brand\">\r\n\r\n                <span\r\n                  class=\"hs-brand-mark\"\r\n                  style=\"\r\n                    background:transparent!important;\r\n                    overflow:hidden!important;\r\n                    padding:0!important;\r\n                  \"\r\n                >\r\n\r\n                  <img decoding=\"async\"\r\n                    src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2025\/09\/cropped-cropped-Design-sans-titre-26-178x59.png\"\r\n                    alt=\"Logo iNrCy\"\r\n                    style=\"\r\n                      display:block;\r\n                      width:100%;\r\n                      height:100%;\r\n                      object-fit:contain;\r\n                    \"\r\n                  >\r\n\r\n                <\/span>\r\n\r\n\r\n                <span class=\"hs-brand-name\">\r\n                  iNrCy\r\n                <\/span>\r\n\r\n              <\/div>\r\n\r\n\r\n              <span class=\"hs-phone-menu\">\r\n                \u2022\u2022\u2022\r\n              <\/span>\r\n\r\n            <\/div>\r\n\r\n\r\n\r\n            <!-- PHOTO -->\r\n\r\n            <div class=\"hs-phone-media\">\r\n\r\n              <img decoding=\"async\"\r\n                class=\"hs-phone-photo\"\r\n                src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2026\/08\/luxury-holiday-home-scaled.jpg\"\r\n                alt=\"Contenu adapt\u00e9 par iNrCy\"\r\n              >\r\n\r\n            <\/div>\r\n\r\n\r\n\r\n            <!-- TITRE -->\r\n\r\n            <div class=\"hs-field\">\r\n\r\n              <small>\r\n                TITRE ADAPT\u00c9\r\n              <\/small>\r\n\r\n              <strong>\r\n                D\u00e9couvrez notre derni\u00e8re r\u00e9alisation \u2728\r\n              <\/strong>\r\n\r\n            <\/div>\r\n\r\n\r\n\r\n            <!-- CONTENU -->\r\n\r\n            <div class=\"hs-field\">\r\n\r\n              <small>\r\n                CONTENU PERSONNALIS\u00c9\r\n              <\/small>\r\n\r\n              <strong>\r\n                Le ton, le format et le message sont automatiquement\r\n                ajust\u00e9s selon chaque canal.\r\n              <\/strong>\r\n\r\n            <\/div>\r\n\r\n\r\n\r\n            <!-- FORMATS -->\r\n\r\n            <div class=\"hs-format-grid\">\r\n\r\n              <div class=\"hs-format\">\r\n                <b>\u25a7<\/b>\r\n                <span>Image<\/span>\r\n              <\/div>\r\n\r\n              <div class=\"hs-format\">\r\n                <b>\u25a4<\/b>\r\n                <span>Carrousel<\/span>\r\n              <\/div>\r\n\r\n              <div class=\"hs-format\">\r\n                <b>\u25b6<\/b>\r\n                <span>Vid\u00e9o<\/span>\r\n              <\/div>\r\n\r\n              <div class=\"hs-format\">\r\n                <b>Aa<\/b>\r\n                <span>Texte<\/span>\r\n              <\/div>\r\n\r\n            <\/div>\r\n\r\n\r\n\r\n            <div class=\"hs-publish\">\r\n              12 contenus pr\u00eats\r\n              <span>\u26a1<\/span>\r\n            <\/div>\r\n\r\n\r\n          <\/div>\r\n\r\n\r\n          <div class=\"hs-floor\"><\/div>\r\n\r\n        <\/div>\r\n\r\n\r\n\r\n    <div class=\"hs-ai-pill hs-ai-pill--combined\">\r\n\r\n  <span>\u2726<\/span>\r\n\r\n  <strong>12 contenus uniques g\u00e9n\u00e9r\u00e9s<\/strong>\r\n\r\n  <span class=\"hs-ai-separator\">\u2022<\/span>\r\n\r\n  Programmation automatique avec iNr\u2019Agent IA\r\n\r\n<\/div>\r\n      <\/div>\r\n\r\n\r\n\r\n      <!-- =====================================================\r\n           3. DIFFUSION SUR 12 CANAUX\r\n           ===================================================== -->\r\n\r\n      <div\r\n        class=\"hs-step hs-channels-wrap\"\r\n        id=\"hsStep3\"\r\n      >\r\n\r\n        <div class=\"hs-step-head\">\r\n\r\n          <span class=\"hs-step-num\">\r\n            3.\r\n          <\/span>\r\n\r\n          <div class=\"hs-step-title\">\r\n\r\n            <strong>\r\n              Diffus\u00e9 partout sur 12 canaux\r\n            <\/strong>\r\n\r\n            <span class=\"hs-step-sub\">\r\n              Publiez vos contenus sur tous les supports s\u00e9lectionn\u00e9s.\r\n            <\/span>\r\n\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n\r\n\r\n        <div class=\"hs-channel-list\">\r\n\r\n\r\n          <!-- FACEBOOK -->\r\n\r\n          <div class=\"hs-channel\">\r\n\r\n            <div class=\"hs-thumb\">\r\n              <img decoding=\"async\"\r\n                src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2026\/08\/luxury-holiday-home-scaled.jpg\"\r\n                alt=\"\"\r\n              >\r\n            <\/div>\r\n\r\n            <div class=\"hs-channel-copy\">\r\n              <strong>Facebook<\/strong>\r\n              <span>Publication en cours<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"hs-logo hs-facebook\">\r\n\r\n              <svg\r\n                width=\"24\"\r\n                height=\"24\"\r\n                viewBox=\"0 0 24 24\"\r\n                aria-hidden=\"true\"\r\n              >\r\n\r\n                <rect\r\n                  width=\"24\"\r\n                  height=\"24\"\r\n                  rx=\"7\"\r\n                  fill=\"#1877F2\"\r\n                \/>\r\n\r\n                <path\r\n                  d=\"M13.4 20v-6.1h2.1l.4-2.5h-2.5V9.8c0-.7.2-1.2 1.2-1.2H16V6.4c-.2 0-1-.1-2-.1-2 0-3.3 1.2-3.3 3.5v1.6H8.6v2.5h2.1V20h2.7z\"\r\n                  fill=\"#fff\"\r\n                \/>\r\n\r\n              <\/svg>\r\n\r\n            <\/div>\r\n\r\n            <div class=\"hs-status\">\r\n              \u2713\r\n            <\/div>\r\n\r\n          <\/div>\r\n\r\n\r\n\r\n          <!-- INSTAGRAM -->\r\n\r\n          <div class=\"hs-channel\">\r\n\r\n            <div class=\"hs-thumb\">\r\n              <img decoding=\"async\"\r\n                src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2026\/08\/luxury-holiday-home-scaled.jpg\"\r\n                alt=\"\"\r\n              >\r\n            <\/div>\r\n\r\n            <div class=\"hs-channel-copy\">\r\n              <strong>Instagram<\/strong>\r\n              <span>Publication en cours<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"hs-logo hs-instagram\">\r\n\r\n              <svg\r\n                width=\"24\"\r\n                height=\"24\"\r\n                viewBox=\"0 0 24 24\"\r\n                aria-hidden=\"true\"\r\n              >\r\n\r\n                <defs>\r\n\r\n                  <linearGradient\r\n                    id=\"hsIgGrad\"\r\n                    x1=\"0\"\r\n                    y1=\"1\"\r\n                    x2=\"1\"\r\n                    y2=\"0\"\r\n                  >\r\n\r\n                    <stop\r\n                      offset=\"0%\"\r\n                      stop-color=\"#FF8A39\"\r\n                    \/>\r\n\r\n                    <stop\r\n                      offset=\"50%\"\r\n                      stop-color=\"#EF2B91\"\r\n                    \/>\r\n\r\n                    <stop\r\n                      offset=\"100%\"\r\n                      stop-color=\"#7B42FF\"\r\n                    \/>\r\n\r\n                  <\/linearGradient>\r\n\r\n                <\/defs>\r\n\r\n\r\n                <rect\r\n                  width=\"24\"\r\n                  height=\"24\"\r\n                  rx=\"7\"\r\n                  fill=\"url(#hsIgGrad)\"\r\n                \/>\r\n\r\n                <rect\r\n                  x=\"6\"\r\n                  y=\"6\"\r\n                  width=\"12\"\r\n                  height=\"12\"\r\n                  rx=\"4\"\r\n                  fill=\"none\"\r\n                  stroke=\"#fff\"\r\n                  stroke-width=\"1.6\"\r\n                \/>\r\n\r\n                <circle\r\n                  cx=\"12\"\r\n                  cy=\"12\"\r\n                  r=\"3.2\"\r\n                  fill=\"none\"\r\n                  stroke=\"#fff\"\r\n                  stroke-width=\"1.6\"\r\n                \/>\r\n\r\n                <circle\r\n                  cx=\"16.5\"\r\n                  cy=\"7.8\"\r\n                  r=\"1\"\r\n                  fill=\"#fff\"\r\n                \/>\r\n\r\n              <\/svg>\r\n\r\n            <\/div>\r\n\r\n            <div class=\"hs-status\">\r\n              \u2713\r\n            <\/div>\r\n\r\n          <\/div>\r\n\r\n\r\n\r\n          <!-- LINKEDIN -->\r\n\r\n          <div class=\"hs-channel\">\r\n\r\n            <div class=\"hs-thumb\">\r\n              <img decoding=\"async\"\r\n                src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2026\/08\/luxury-holiday-home-scaled.jpg\"\r\n                alt=\"\"\r\n              >\r\n            <\/div>\r\n\r\n            <div class=\"hs-channel-copy\">\r\n              <strong>LinkedIn<\/strong>\r\n              <span>Publication en cours<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"hs-logo hs-linkedin\">\r\n\r\n              <svg\r\n                width=\"24\"\r\n                height=\"24\"\r\n                viewBox=\"0 0 24 24\"\r\n                aria-hidden=\"true\"\r\n              >\r\n\r\n                <rect\r\n                  width=\"24\"\r\n                  height=\"24\"\r\n                  rx=\"7\"\r\n                  fill=\"#0A66C2\"\r\n                \/>\r\n\r\n                <circle\r\n                  cx=\"7.2\"\r\n                  cy=\"8\"\r\n                  r=\"1.4\"\r\n                  fill=\"#fff\"\r\n                \/>\r\n\r\n                <rect\r\n                  x=\"5.9\"\r\n                  y=\"10\"\r\n                  width=\"2.6\"\r\n                  height=\"8\"\r\n                  fill=\"#fff\"\r\n                \/>\r\n\r\n                <path\r\n                  d=\"M11 10h2.5v1.1c.5-.8 1.4-1.5 3-1.5 2.4 0 3.5 1.5 3.5 4.1V18h-2.7v-3.8c0-1.2-.4-2-1.5-2-1 0-1.7.7-1.7 2V18H11z\"\r\n                  fill=\"#fff\"\r\n                \/>\r\n\r\n              <\/svg>\r\n\r\n            <\/div>\r\n\r\n            <div class=\"hs-status\">\r\n              \u2713\r\n            <\/div>\r\n\r\n          <\/div>\r\n\r\n\r\n\r\n          <!-- TIKTOK -->\r\n\r\n          <div class=\"hs-channel\">\r\n\r\n            <div class=\"hs-thumb\">\r\n              <img decoding=\"async\"\r\n                src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2026\/08\/luxury-holiday-home-scaled.jpg\"\r\n                alt=\"\"\r\n              >\r\n            <\/div>\r\n\r\n            <div class=\"hs-channel-copy\">\r\n              <strong>TikTok<\/strong>\r\n              <span>Publication en cours<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"hs-logo hs-tiktok\">\r\n\r\n              <svg\r\n                width=\"24\"\r\n                height=\"24\"\r\n                viewBox=\"0 0 24 24\"\r\n                aria-hidden=\"true\"\r\n              >\r\n\r\n                <rect\r\n                  width=\"24\"\r\n                  height=\"24\"\r\n                  rx=\"7\"\r\n                  fill=\"#050505\"\r\n                \/>\r\n\r\n                <path\r\n                  d=\"M14.8 6.2c.6 1.3 1.5 2.1 2.9 2.3v2.1c-1.1 0-2.1-.3-2.9-.9v4c0 2.2-1.7 4-4 4-1.8 0-3.3-1.5-3.3-3.3 0-1.9 1.5-3.3 3.4-3.3.3 0 .5 0 .8.1v2.2c-.2-.1-.4-.1-.6-.1-.8 0-1.4.6-1.4 1.4s.6 1.4 1.4 1.4c1 0 1.4-.8 1.4-1.7V6.2z\"\r\n                  fill=\"#fff\"\r\n                \/>\r\n\r\n              <\/svg>\r\n\r\n            <\/div>\r\n\r\n            <div class=\"hs-status\">\r\n              \u2713\r\n            <\/div>\r\n\r\n          <\/div>\r\n\r\n\r\n\r\n          <!-- YOUTUBE -->\r\n\r\n          <div class=\"hs-channel\">\r\n\r\n            <div class=\"hs-thumb\">\r\n              <img decoding=\"async\"\r\n                src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2026\/08\/luxury-holiday-home-scaled.jpg\"\r\n                alt=\"\"\r\n              >\r\n            <\/div>\r\n\r\n            <div class=\"hs-channel-copy\">\r\n              <strong>YouTube<\/strong>\r\n              <span>Publication en cours<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"hs-logo hs-youtube\">\r\n\r\n              <svg\r\n                width=\"24\"\r\n                height=\"24\"\r\n                viewBox=\"0 0 24 24\"\r\n                aria-hidden=\"true\"\r\n              >\r\n\r\n                <rect\r\n                  x=\"2.5\"\r\n                  y=\"5.5\"\r\n                  width=\"19\"\r\n                  height=\"13\"\r\n                  rx=\"4.5\"\r\n                  fill=\"#FF0000\"\r\n                \/>\r\n\r\n                <path\r\n                  d=\"M10 9.2l5 2.8-5 2.8z\"\r\n                  fill=\"#fff\"\r\n                \/>\r\n\r\n              <\/svg>\r\n\r\n            <\/div>\r\n\r\n            <div class=\"hs-status\">\r\n              \u2713\r\n            <\/div>\r\n\r\n          <\/div>\r\n\r\n\r\n\r\n          <!-- GOOGLE BUSINESS -->\r\n\r\n          <div class=\"hs-channel\">\r\n\r\n            <div class=\"hs-thumb\">\r\n              <img decoding=\"async\"\r\n                src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2026\/08\/luxury-holiday-home-scaled.jpg\"\r\n                alt=\"\"\r\n              >\r\n            <\/div>\r\n\r\n            <div class=\"hs-channel-copy\">\r\n              <strong>Google Business<\/strong>\r\n              <span>Publication en cours<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"hs-logo hs-google\">\r\n\r\n              <svg\r\n                width=\"24\"\r\n                height=\"24\"\r\n                viewBox=\"0 0 24 24\"\r\n                aria-hidden=\"true\"\r\n              >\r\n\r\n                <rect\r\n                  width=\"24\"\r\n                  height=\"24\"\r\n                  rx=\"7\"\r\n                  fill=\"#fff\"\r\n                \/>\r\n\r\n                <path\r\n                  d=\"M17.8 12.2c0-.5 0-.8-.1-1.2H12v2.2h3.3c-.1.7-.6 1.7-1.5 2.3l2 1.5c1.2-1.1 2-2.8 2-4.8z\"\r\n                  fill=\"#4285F4\"\r\n                \/>\r\n\r\n                <path\r\n                  d=\"M12 18c1.6 0 2.9-.5 3.9-1.4l-2-1.5c-.5.4-1.2.7-1.9.7-1.5 0-2.8-1-3.2-2.3H6.7V15c1 1.9 3 3 5.3 3z\"\r\n                  fill=\"#34A853\"\r\n                \/>\r\n\r\n                <path\r\n                  d=\"M8.8 13.5c-.1-.4-.2-.8-.2-1.3s.1-.9.2-1.3V9.4H6.7C6.3 10.2 6 11.1 6 12.2s.3 2 .7 2.8z\"\r\n                  fill=\"#FBBC05\"\r\n                \/>\r\n\r\n                <path\r\n                  d=\"M12 8.5c.9 0 1.8.3 2.4.9l1.8-1.8C14.9 6.4 13.6 6 12 6 9.7 6 7.7 7.3 6.7 9.4l2.1 1.6c.4-1.4 1.7-2.5 3.2-2.5z\"\r\n                  fill=\"#EA4335\"\r\n                \/>\r\n\r\n              <\/svg>\r\n\r\n            <\/div>\r\n\r\n            <div class=\"hs-status\">\r\n              \u2713\r\n            <\/div>\r\n\r\n          <\/div>\r\n\r\n\r\n\r\n          <!-- SITE INTERNET -->\r\n\r\n          <div class=\"hs-channel\">\r\n\r\n            <div class=\"hs-thumb\">\r\n              <img decoding=\"async\"\r\n                src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2026\/08\/luxury-holiday-home-scaled.jpg\"\r\n                alt=\"\"\r\n              >\r\n            <\/div>\r\n\r\n            <div class=\"hs-channel-copy\">\r\n              <strong>Site internet<\/strong>\r\n              <span>Publication en cours<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"hs-logo hs-web\">\r\n\r\n              <svg\r\n                width=\"24\"\r\n                height=\"24\"\r\n                viewBox=\"0 0 24 24\"\r\n                aria-hidden=\"true\"\r\n              >\r\n\r\n                <circle\r\n                  cx=\"12\"\r\n                  cy=\"12\"\r\n                  r=\"10\"\r\n                  fill=\"#287BFF\"\r\n                \/>\r\n\r\n                <path\r\n                  d=\"M4.5 12h15M12 4.2c2 2.2 3.1 4.9 3.1 7.8S14 17.6 12 19.8M12 4.2C10 6.4 8.9 9.1 8.9 12S10 17.6 12 19.8\"\r\n                  fill=\"none\"\r\n                  stroke=\"#fff\"\r\n                  stroke-width=\"1.4\"\r\n                  stroke-linecap=\"round\"\r\n                \/>\r\n\r\n              <\/svg>\r\n\r\n            <\/div>\r\n\r\n            <div class=\"hs-status\">\r\n              \u2713\r\n            <\/div>\r\n\r\n          <\/div>\r\n\r\n\r\n\r\n          <!-- MAIL -->\r\n\r\n          <div class=\"hs-channel\">\r\n\r\n            <div class=\"hs-thumb\">\r\n              <img decoding=\"async\"\r\n                src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2026\/08\/luxury-holiday-home-scaled.jpg\"\r\n                alt=\"\"\r\n              >\r\n            <\/div>\r\n\r\n            <div class=\"hs-channel-copy\">\r\n              <strong>Mail<\/strong>\r\n              <span>Envoi en cours<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"hs-logo hs-mail\">\r\n\r\n              <svg\r\n                width=\"24\"\r\n                height=\"24\"\r\n                viewBox=\"0 0 24 24\"\r\n                aria-hidden=\"true\"\r\n              >\r\n\r\n                <rect\r\n                  width=\"24\"\r\n                  height=\"24\"\r\n                  rx=\"7\"\r\n                  fill=\"#258BFF\"\r\n                \/>\r\n\r\n                <rect\r\n                  x=\"5\"\r\n                  y=\"7\"\r\n                  width=\"14\"\r\n                  height=\"10\"\r\n                  rx=\"2\"\r\n                  fill=\"none\"\r\n                  stroke=\"#fff\"\r\n                  stroke-width=\"1.5\"\r\n                \/>\r\n\r\n                <path\r\n                  d=\"M6 8l6 4.8L18 8\"\r\n                  fill=\"none\"\r\n                  stroke=\"#fff\"\r\n                  stroke-width=\"1.5\"\r\n                  stroke-linecap=\"round\"\r\n                  stroke-linejoin=\"round\"\r\n                \/>\r\n\r\n              <\/svg>\r\n\r\n            <\/div>\r\n\r\n            <div class=\"hs-status\">\r\n              \u2713\r\n            <\/div>\r\n\r\n          <\/div>\r\n\r\n\r\n\r\n          <!-- PINTEREST -->\r\n\r\n          <div class=\"hs-channel\">\r\n\r\n            <div class=\"hs-thumb\">\r\n              <img decoding=\"async\"\r\n                src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2026\/08\/luxury-holiday-home-scaled.jpg\"\r\n                alt=\"\"\r\n              >\r\n            <\/div>\r\n\r\n            <div class=\"hs-channel-copy\">\r\n              <strong>Pinterest<\/strong>\r\n              <span>Publication en cours<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"hs-logo hs-pinterest\">\r\n\r\n              <svg\r\n                width=\"24\"\r\n                height=\"24\"\r\n                viewBox=\"0 0 24 24\"\r\n                aria-hidden=\"true\"\r\n              >\r\n\r\n                <circle\r\n                  cx=\"12\"\r\n                  cy=\"12\"\r\n                  r=\"11\"\r\n                  fill=\"#E60023\"\r\n                \/>\r\n\r\n                <path\r\n                  d=\"M12.5 6.5c-3 0-4.6 2.2-4.6 4.5 0 1.1.4 2.1 1.3 2.4.1 0 .2 0 .2-.1l.4-1.4v-.2c-.3-.4-.5-1-.5-1.7 0-1.6 1.2-3.1 3.2-3.1 1.7 0 2.7 1 2.7 2.4 0 1.8-.8 3.3-2 3.3-.7 0-1.2-.6-1-1.3.2-.8.6-1.7.6-2.3 0-.5-.3-.9-.8-.9-.7 0-1.2.7-1.2 1.6 0 .6.2 1 .2 1l-.9 3.8c-.3 1.2 0 2.6.1 2.8 0 .1.1.1.2 0 .1-.1 1-1.3 1.3-2.5l.3-1.2c.2.4.9.8 1.7.8 2.3 0 3.8-2.1 3.8-4.9 0-2.1-1.8-4.1-4.6-4.1z\"\r\n                  fill=\"#fff\"\r\n                \/>\r\n\r\n              <\/svg>\r\n\r\n            <\/div>\r\n\r\n            <div class=\"hs-status\">\r\n              \u2713\r\n            <\/div>\r\n\r\n          <\/div>\r\n\r\n\r\n\r\n          <!-- CARTE DE VISITE -->\r\n\r\n          <div class=\"hs-channel\">\r\n\r\n            <div class=\"hs-thumb\">\r\n              <img decoding=\"async\"\r\n                src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2026\/08\/luxury-holiday-home-scaled.jpg\"\r\n                alt=\"\"\r\n              >\r\n            <\/div>\r\n\r\n            <div class=\"hs-channel-copy\">\r\n              <strong>Carte de visite<\/strong>\r\n              <span>Mise \u00e0 jour en cours<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"hs-logo hs-card\">\r\n\r\n              <svg\r\n                width=\"24\"\r\n                height=\"24\"\r\n                viewBox=\"0 0 24 24\"\r\n                aria-hidden=\"true\"\r\n              >\r\n\r\n                <rect\r\n                  x=\"3\"\r\n                  y=\"5.5\"\r\n                  width=\"18\"\r\n                  height=\"13\"\r\n                  rx=\"3\"\r\n                  fill=\"#EEF2F8\"\r\n                \/>\r\n\r\n                <circle\r\n                  cx=\"8\"\r\n                  cy=\"10.2\"\r\n                  r=\"2\"\r\n                  fill=\"#07142B\"\r\n                \/>\r\n\r\n                <path\r\n                  d=\"M5.8 15c.7-1.7 3.7-1.7 4.4 0\"\r\n                  fill=\"none\"\r\n                  stroke=\"#07142B\"\r\n                  stroke-width=\"1.2\"\r\n                  stroke-linecap=\"round\"\r\n                \/>\r\n\r\n                <path\r\n                  d=\"M13 9.3h4.6M13 12h4.6M13 14.7h3.2\"\r\n                  fill=\"none\"\r\n                  stroke=\"#07142B\"\r\n                  stroke-width=\"1.2\"\r\n                  stroke-linecap=\"round\"\r\n                \/>\r\n\r\n              <\/svg>\r\n\r\n            <\/div>\r\n\r\n            <div class=\"hs-status\">\r\n              \u2713\r\n            <\/div>\r\n\r\n          <\/div>\r\n\r\n\r\n\r\n          <!-- SITE INR CY -->\r\n\r\n          <div class=\"hs-channel\">\r\n\r\n            <div class=\"hs-thumb\">\r\n              <img decoding=\"async\"\r\n                src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2026\/08\/luxury-holiday-home-scaled.jpg\"\r\n                alt=\"\"\r\n              >\r\n            <\/div>\r\n\r\n            <div class=\"hs-channel-copy\">\r\n              <strong>Site iNrCy<\/strong>\r\n              <span>Publication en cours<\/span>\r\n            <\/div>\r\n\r\n            <div\r\n              class=\"hs-logo hs-inrcy\"\r\n              style=\"\r\n                background:transparent!important;\r\n                padding:0!important;\r\n                overflow:hidden!important;\r\n              \"\r\n            >\r\n\r\n              <img decoding=\"async\"\r\n                src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2025\/09\/cropped-cropped-Design-sans-titre-26-178x59.png\"\r\n                alt=\"Logo iNrCy\"\r\n                style=\"\r\n                  display:block;\r\n                  width:100%;\r\n                  height:100%;\r\n                  object-fit:contain;\r\n                \"\r\n              >\r\n\r\n            <\/div>\r\n\r\n            <div class=\"hs-status\">\r\n              \u2713\r\n            <\/div>\r\n\r\n          <\/div>\r\n\r\n\r\n\r\n          <!-- INR SEARCH -->\r\n\r\n          <div class=\"hs-channel\">\r\n\r\n            <div class=\"hs-thumb\">\r\n              <img decoding=\"async\"\r\n                src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2026\/08\/luxury-holiday-home-scaled.jpg\"\r\n                alt=\"\"\r\n              >\r\n            <\/div>\r\n\r\n            <div class=\"hs-channel-copy\">\r\n              <strong>iNr'Search<\/strong>\r\n              <span>Publication en cours<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"hs-logo hs-search\">\r\n\r\n              <svg\r\n                width=\"24\"\r\n                height=\"24\"\r\n                viewBox=\"0 0 24 24\"\r\n                aria-hidden=\"true\"\r\n              >\r\n\r\n                <defs>\r\n\r\n                  <linearGradient\r\n                    id=\"hsSearchGrad\"\r\n                    x1=\"0\"\r\n                    y1=\"1\"\r\n                    x2=\"1\"\r\n                    y2=\"0\"\r\n                  >\r\n\r\n                    <stop\r\n                      offset=\"0%\"\r\n                      stop-color=\"#FF7437\"\r\n                    \/>\r\n\r\n                    <stop\r\n                      offset=\"35%\"\r\n                      stop-color=\"#FF2F91\"\r\n                    \/>\r\n\r\n                    <stop\r\n                      offset=\"68%\"\r\n                      stop-color=\"#A62FFF\"\r\n                    \/>\r\n\r\n                    <stop\r\n                      offset=\"100%\"\r\n                      stop-color=\"#178CFF\"\r\n                    \/>\r\n\r\n                  <\/linearGradient>\r\n\r\n                <\/defs>\r\n\r\n\r\n                <rect\r\n                  width=\"24\"\r\n                  height=\"24\"\r\n                  rx=\"7\"\r\n                  fill=\"url(#hsSearchGrad)\"\r\n                \/>\r\n\r\n                <circle\r\n                  cx=\"10.3\"\r\n                  cy=\"10.3\"\r\n                  r=\"4.2\"\r\n                  fill=\"none\"\r\n                  stroke=\"#fff\"\r\n                  stroke-width=\"1.7\"\r\n                \/>\r\n\r\n                <path\r\n                  d=\"M13.5 13.5l4 4\"\r\n                  fill=\"none\"\r\n                  stroke=\"#fff\"\r\n                  stroke-width=\"1.7\"\r\n                  stroke-linecap=\"round\"\r\n                \/>\r\n\r\n              <\/svg>\r\n\r\n            <\/div>\r\n\r\n            <div class=\"hs-status\">\r\n              \u2713\r\n            <\/div>\r\n\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n\r\n\r\n        <!-- PROGRESSION -->\r\n\r\n        <div class=\"hs-progress\">\r\n\r\n          <div class=\"hs-progress-row\">\r\n\r\n            <strong>\r\n              Diffusion multicanale\r\n            <\/strong>\r\n\r\n            <span\r\n              class=\"hs-percent\"\r\n              id=\"hsPercent\"\r\n            >\r\n              0%\r\n            <\/span>\r\n\r\n          <\/div>\r\n\r\n\r\n          <div class=\"hs-progress-track\">\r\n\r\n            <div\r\n              class=\"hs-progress-fill\"\r\n              id=\"hsProgressFill\"\r\n            ><\/div>\r\n\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n\r\n\r\n      <!-- =====================================================\r\n           4. GESTION + PERFORMANCES\r\n           ===================================================== -->\r\n\r\n      <div\r\n        class=\"hs-step hs-performance-wrap\"\r\n        id=\"hsStep4\"\r\n      >\r\n\r\n        <div class=\"hs-step-head\">\r\n\r\n          <span class=\"hs-step-num\">\r\n            4.\r\n          <\/span>\r\n\r\n          <div class=\"hs-step-title\">\r\n\r\n            <strong>\r\n              Suivez les performances et modifiez vos contenus \u00e0 tout moment\r\n            <\/strong>\r\n\r\n            <span class=\"hs-step-sub\">\r\n              Analysez vos r\u00e9sultats et g\u00e9rez vos publications directement depuis iNrCy.\r\n            <\/span>\r\n\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n\r\n\r\n        <!-- =================================================\r\n             CARD 1 \u2014 MES PUBLICATIONS\r\n             ================================================= -->\r\n\r\n        <div class=\"hs-manage-card\">\r\n\r\n          <div class=\"hs-panel-head\">\r\n\r\n            <div class=\"hs-panel-title\">\r\n\r\n              <strong>\r\n                Mes publications\r\n              <\/strong>\r\n\r\n              <span>\r\n                Modifiez ou supprimez vos contenus en quelques clics\r\n              <\/span>\r\n\r\n            <\/div>\r\n\r\n          <\/div>\r\n\r\n\r\n\r\n          <div class=\"hs-post-list\">\r\n\r\n\r\n            <!-- PUBLICATION 1 -->\r\n\r\n            <div class=\"hs-post-row\">\r\n\r\n              <div class=\"hs-post-thumb\">\r\n\r\n                <img decoding=\"async\"\r\n                  src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2026\/08\/luxury-holiday-home-scaled.jpg\"\r\n                  alt=\"Publication iNrCy\"\r\n                >\r\n\r\n              <\/div>\r\n\r\n\r\n              <div class=\"hs-post-copy\">\r\n\r\n                <strong>\r\n                  Une nouvelle r\u00e9alisation \u00e0 partager \u2728\r\n                <\/strong>\r\n\r\n                <span>\r\n                  Facebook \u00b7 Instagram \u00b7 LinkedIn \/ Le 10\/08\r\n                <\/span>\r\n\r\n              <\/div>\r\n\r\n\r\n              <div class=\"hs-post-actions\">\r\n\r\n                <button\r\n                  type=\"button\"\r\n                  class=\"hs-post-btn hs-post-btn--edit\"\r\n                >\r\n                  Modifier\r\n                <\/button>\r\n\r\n                <button\r\n                  type=\"button\"\r\n                  class=\"hs-post-btn hs-post-btn--delete\"\r\n                >\r\n                  Supprimer\r\n                <\/button>\r\n\r\n              <\/div>\r\n\r\n            <\/div>\r\n\r\n\r\n\r\n            <!-- PUBLICATION 2 -->\r\n\r\n            <div class=\"hs-post-row\">\r\n\r\n              <div class=\"hs-post-thumb\">\r\n\r\n                <img decoding=\"async\"\r\n                  src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2026\/08\/use-recycled-materials-like-bottles-cans-plastic-material-create-unique-ecofriendly-decorations-scaled.jpg\"\r\n                  alt=\"Publication iNrCy\"\r\n                >\r\n\r\n              <\/div>\r\n\r\n\r\n              <div class=\"hs-post-copy\">\r\n\r\n                <strong>\r\n                  Maison d'h\u00f4tes avec vue\r\n                <\/strong>\r\n\r\n                <span>\r\n                  Site internet \u00b7 Google Business \/ Le 17\/07\r\n                <\/span>\r\n\r\n              <\/div>\r\n\r\n\r\n              <div class=\"hs-post-actions\">\r\n\r\n                <button\r\n                  type=\"button\"\r\n                  class=\"hs-post-btn hs-post-btn--edit\"\r\n                >\r\n                  Modifier\r\n                <\/button>\r\n\r\n                <button\r\n                  type=\"button\"\r\n                  class=\"hs-post-btn hs-post-btn--delete\"\r\n                >\r\n                  Supprimer\r\n                <\/button>\r\n\r\n              <\/div>\r\n\r\n            <\/div>\r\n\r\n\r\n\r\n\r\n\r\n            <!-- PUBLICATION 3 -->\r\n\r\n            <div class=\"hs-post-row\">\r\n\r\n              <div class=\"hs-post-thumb\">\r\n\r\n                <img decoding=\"async\"\r\n                  src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2026\/08\/backyard-villa-with-dining-room-with-matching-table-chairs-scaled.jpg\"\r\n                  alt=\"Publication iNrCy\"\r\n                >\r\n\r\n              <\/div>\r\n\r\n\r\n              <div class=\"hs-post-copy\">\r\n\r\n                <strong>\r\n                  Notre maison d'h\u00f4tes en vid\u00e9o\r\n                <\/strong>\r\n\r\n                <span>\r\n                  YouTube \u00b7 TikTok \u00b7 Facebook \/ Le 08\/07\r\n                <\/span>\r\n\r\n              <\/div>\r\n\r\n\r\n              <div class=\"hs-post-actions\">\r\n\r\n                <button\r\n                  type=\"button\"\r\n                  class=\"hs-post-btn hs-post-btn--edit\"\r\n                >\r\n                  Modifier\r\n                <\/button>\r\n\r\n                <button\r\n                  type=\"button\"\r\n                  class=\"hs-post-btn hs-post-btn--delete\"\r\n                >\r\n                  Supprimer\r\n                <\/button>\r\n\r\n              <\/div>\r\n\r\n            <\/div>\r\n\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n\r\n\r\n        <!-- =================================================\r\n             CARD 2 \u2014 PERFORMANCES\r\n             ================================================= -->\r\n\r\n        <div class=\"hs-analytics-card\">\r\n\r\n          <div class=\"hs-dash-head\">\r\n\r\n            <div class=\"hs-dash-title\">\r\n\r\n              <strong>\r\n                Performance globale\r\n              <\/strong>\r\n\r\n              <span>\r\n                Tous vos canaux r\u00e9unis dans un seul tableau de bord\r\n              <\/span>\r\n\r\n            <\/div>\r\n\r\n\r\n            <div class=\"hs-live\">\r\n              \u25cf EN DIRECT\r\n            <\/div>\r\n\r\n          <\/div>\r\n\r\n\r\n\r\n          <div class=\"hs-kpis\">\r\n\r\n\r\n            <div class=\"hs-kpi\">\r\n\r\n              <span>\r\n                VUES\r\n              <\/span>\r\n\r\n              <strong>\r\n                24,8k\r\n              <\/strong>\r\n\r\n              <em>\r\n                \u2197 +18%\r\n              <\/em>\r\n\r\n            <\/div>\r\n\r\n\r\n\r\n            <div class=\"hs-kpi\">\r\n\r\n              <span>\r\n                INTERACTIONS\r\n              <\/span>\r\n\r\n              <strong>\r\n                1 842\r\n              <\/strong>\r\n\r\n              <em>\r\n                \u2197 +12%\r\n              <\/em>\r\n\r\n            <\/div>\r\n\r\n\r\n\r\n            <div class=\"hs-kpi\">\r\n\r\n              <span>\r\n                CLICS\r\n              <\/span>\r\n\r\n              <strong>\r\n                768\r\n              <\/strong>\r\n\r\n              <em>\r\n                \u2197 +9%\r\n              <\/em>\r\n\r\n            <\/div>\r\n\r\n          <\/div>\r\n\r\n\r\n\r\n          <!-- GRAPHIQUE -->\r\n\r\n          <div class=\"hs-chart\">\r\n\r\n            <div class=\"hs-chart-grid\"><\/div>\r\n\r\n\r\n            <svg\r\n              viewBox=\"0 0 260 110\"\r\n              preserveAspectRatio=\"none\"\r\n              aria-hidden=\"true\"\r\n            >\r\n\r\n              <defs>\r\n\r\n                <linearGradient\r\n                  id=\"hsChartGrad\"\r\n                  x1=\"0\"\r\n                  y1=\"0\"\r\n                  x2=\"1\"\r\n                  y2=\"0\"\r\n                >\r\n\r\n                  <stop\r\n                    offset=\"0%\"\r\n                    stop-color=\"#FF7437\"\r\n                  \/>\r\n\r\n                  <stop\r\n                    offset=\"34%\"\r\n                    stop-color=\"#FF2F91\"\r\n                  \/>\r\n\r\n                  <stop\r\n                    offset=\"67%\"\r\n                    stop-color=\"#A62FFF\"\r\n                  \/>\r\n\r\n                  <stop\r\n                    offset=\"100%\"\r\n                    stop-color=\"#178CFF\"\r\n                  \/>\r\n\r\n                <\/linearGradient>\r\n\r\n              <\/defs>\r\n\r\n\r\n              <path\r\n                d=\"\r\n                  M4,92\r\n                  C26,84 34,70 51,73\r\n                  C70,76 75,54 93,56\r\n                  C111,58 116,40 132,45\r\n                  C151,51 161,27 180,32\r\n                  C200,37 208,18 229,20\r\n                  C242,21 248,15 256,9\r\n                \"\r\n                fill=\"none\"\r\n                stroke=\"url(#hsChartGrad)\"\r\n                stroke-width=\"4\"\r\n                stroke-linecap=\"round\"\r\n              \/>\r\n\r\n\r\n              <circle\r\n                cx=\"256\"\r\n                cy=\"9\"\r\n                r=\"5\"\r\n                fill=\"#178CFF\"\r\n              \/>\r\n\r\n            <\/svg>\r\n\r\n          <\/div>\r\n\r\n\r\n\r\n          <div class=\"hs-bottom-note\">\r\n\r\n            Un seul espace pour\r\n            <strong>\r\n              cr\u00e9er, diffuser, analyser et faire \u00e9voluer\r\n            <\/strong>\r\n            votre communication.\r\n\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n\r\n    <\/div>\r\n    <!-- FIN .hs-flow -->\r\n\r\n\r\n\r\n    <!-- =====================================================\r\n         OFFRE \/ PRIX\r\n         UNIQUE \u2014 SOUS LES 4 \u00c9TAPES\r\n         ===================================================== -->\r\n\r\n   <div class=\"hs-offer-bar\">\r\n\r\n  <div class=\"hs-offer-main\">\r\n\r\n    <div class=\"hs-offer-price-wrap\">\r\n\r\n      <span class=\"hs-offer-only\">\r\n        Seulement\r\n      <\/span>\r\n\r\n      <div class=\"hs-offer-price\">\r\n\r\n        <strong>\r\n         58\u20ac\r\n        <\/strong>\r\n\r\n        <span>\r\n          HT \/ mois\r\n        <\/span>\r\n\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n\r\n    <div class=\"hs-offer-separator\"><\/div>\r\n\r\n\r\n    <div class=\"hs-offer-info\">\r\n\r\n      <strong>\r\n        21 jours gratuits\r\n      <\/strong>\r\n\r\n      <span>\r\n        Testez iNrCy sans engagement\r\n      <\/span>\r\n\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n\r\n  <div class=\"hs-offer-benefits\">\r\n\r\n    <div class=\"hs-offer-benefit\">\r\n      <span>\u2713<\/span>\r\n      Sans engagement\r\n    <\/div>\r\n\r\n    <div class=\"hs-offer-benefit\">\r\n      <span>\u2713<\/span>\r\n      Jusqu'\u00e0 12 canaux\r\n    <\/div>\r\n\r\n    <div class=\"hs-offer-benefit\">\r\n      <span>\u2713<\/span>\r\n      21 jours d'essai\r\n    <\/div>\r\n\r\n    <div class=\"hs-offer-benefit hs-offer-benefit--gift\">\r\n      <span>\u2713<\/span>\r\n      Cr\u00e9ation des canaux manquants offerte\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n\r\n<script>\r\n(function(){\r\n\r\n  \/* =========================================================\r\n     INR CY \u2014 HERO PREMIUM V2\r\n     ========================================================= *\/\r\n\r\n  const hero =\r\n    document.getElementById('inrcyHeroSteps');\r\n\r\n  if(!hero) return;\r\n\r\n  if(hero.dataset.heroPremium === 'true'){\r\n    return;\r\n  }\r\n\r\n  hero.dataset.heroPremium = 'true';\r\n\r\n\r\n  \/* =========================================================\r\n     \u00c9L\u00c9MENTS\r\n     ========================================================= *\/\r\n\r\n  const flow =\r\n    hero.querySelector('#hsFlow');\r\n\r\n  const svg =\r\n    hero.querySelector('#hsConnections');\r\n\r\n  const phone =\r\n    hero.querySelector('#hsPhone');\r\n\r\n  const percent =\r\n    hero.querySelector('#hsPercent');\r\n\r\n  const progressFill =\r\n    hero.querySelector('#hsProgressFill');\r\n\r\n  const title =\r\n    hero.querySelector('.hs-hero-heading');\r\n\r\n  const titleLines =\r\n    Array.from(\r\n      hero.querySelectorAll('.hs-title-line')\r\n    );\r\n\r\n  const steps = [\r\n    hero.querySelector('#hsStep1'),\r\n    hero.querySelector('#hsStep2'),\r\n    hero.querySelector('#hsStep3'),\r\n    hero.querySelector('#hsStep4')\r\n  ].filter(Boolean);\r\n\r\n  const channels =\r\n    Array.from(\r\n      hero.querySelectorAll('.hs-channel')\r\n    );\r\n\r\n  const phoneFields =\r\n    Array.from(\r\n      hero.querySelectorAll(\r\n        '.hs-phone .hs-field, .hs-phone .hs-format, .hs-phone .hs-publish'\r\n      )\r\n    );\r\n\r\n  const postRows =\r\n    Array.from(\r\n      hero.querySelectorAll('.hs-post-row')\r\n    );\r\n\r\n  const kpis =\r\n    Array.from(\r\n      hero.querySelectorAll('.hs-kpi')\r\n    );\r\n\r\n  const chart =\r\n    hero.querySelector('.hs-chart');\r\n\r\n  const chartPath =\r\n    chart?.querySelector('svg path');\r\n\r\n  const chartDot =\r\n    chart?.querySelector('svg circle');\r\n\r\n  const offer =\r\n    hero.querySelector('.hs-offer-bar');\r\n\r\n  const offerCTA =\r\n    hero.querySelector('.hs-offer-cta');\r\n\r\n\r\n  \/* =========================================================\r\n     CONFIG\r\n     ========================================================= *\/\r\n\r\n  const reduceMotion =\r\n    window.matchMedia(\r\n      '(prefers-reduced-motion: reduce)'\r\n    );\r\n\r\n  const desktop =\r\n    window.matchMedia(\r\n      '(min-width: 1161px)'\r\n    );\r\n\r\n  const tablet =\r\n    window.matchMedia(\r\n      '(min-width: 761px) and (max-width: 1160px)'\r\n    );\r\n\r\n  const mobile =\r\n    window.matchMedia(\r\n      '(max-width: 760px)'\r\n    );\r\n\r\n\r\n  let heroVisible = false;\r\n\r\n  let masterTimer = null;\r\n\r\n  let channelTimer = null;\r\n\r\n  let restartTimer = null;\r\n\r\n  let resizeTimer = null;\r\n\r\n  let activeStep = -1;\r\n\r\n  let animationStarted = false;\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     CSS PREMIUM INJECT\u00c9 PAR LE JS\r\n     ========================================================= *\/\r\n\r\n  const style =\r\n    document.createElement('style');\r\n\r\n  style.textContent = `\r\n\r\n    \/* =======================================================\r\n       HERO PREMIUM \u2014 STATES\r\n       ======================================================= *\/\r\n\r\n    #inrcyHeroSteps{\r\n      isolation:isolate;\r\n    }\r\n\r\n\r\n    \/* -------------------------------------------------------\r\n       ENTR\u00c9E G\u00c9N\u00c9RALE\r\n       ------------------------------------------------------- *\/\r\n\r\n    #inrcyHeroSteps .hs-hero-heading,\r\n    #inrcyHeroSteps .hs-step,\r\n    #inrcyHeroSteps .hs-offer-bar{\r\n\r\n      will-change:\r\n        transform,\r\n        opacity;\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps.hs-js-ready\r\n    .hs-hero-heading{\r\n\r\n      opacity:0;\r\n\r\n      transform:\r\n        translateY(20px);\r\n\r\n      transition:\r\n        opacity .75s ease,\r\n        transform .75s cubic-bezier(.2,.8,.2,1);\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps.hs-js-ready\r\n    .hs-step{\r\n\r\n      opacity:.30;\r\n\r\n      transform:\r\n        translateY(16px)\r\n        scale(.985);\r\n\r\n      transition:\r\n        opacity .55s ease,\r\n        transform .55s cubic-bezier(.2,.8,.2,1),\r\n        filter .55s ease;\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps.hs-js-ready\r\n    .hs-offer-bar{\r\n\r\n      opacity:0;\r\n\r\n      transform:\r\n        translateY(18px)\r\n        scale(.985);\r\n\r\n      transition:\r\n        opacity .65s ease,\r\n        transform .65s cubic-bezier(.2,.8,.2,1),\r\n        box-shadow .65s ease;\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps.hs-visible\r\n    .hs-hero-heading{\r\n\r\n      opacity:1;\r\n\r\n      transform:\r\n        translateY(0);\r\n\r\n    }\r\n\r\n\r\n    \/* -------------------------------------------------------\r\n       \u00c9TAPE ACTIVE\r\n       ------------------------------------------------------- *\/\r\n\r\n    #inrcyHeroSteps .hs-step.hs-stage-active{\r\n\r\n      opacity:1 !important;\r\n\r\n      transform:\r\n        translateY(-4px)\r\n        scale(1.015) !important;\r\n\r\n      filter:\r\n        brightness(1.06);\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps .hs-step.hs-stage-past{\r\n\r\n      opacity:.88 !important;\r\n\r\n      transform:\r\n        translateY(0)\r\n        scale(1) !important;\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps .hs-step-head{\r\n\r\n      transition:\r\n        transform .45s ease;\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps\r\n    .hs-stage-active\r\n    .hs-step-head{\r\n\r\n      transform:\r\n        translateY(-2px);\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps .hs-step-num{\r\n\r\n      transition:\r\n        transform .4s ease,\r\n        filter .4s ease;\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps\r\n    .hs-stage-active\r\n    .hs-step-num{\r\n\r\n      transform:\r\n        scale(1.14);\r\n\r\n      filter:\r\n        drop-shadow(\r\n          0 0 9px\r\n          rgba(255,47,145,.5)\r\n        );\r\n\r\n    }\r\n\r\n\r\n    \/* -------------------------------------------------------\r\n       HALO \u00c9TAPE ACTIVE\r\n       ------------------------------------------------------- *\/\r\n\r\n    #inrcyHeroSteps .hs-step::after{\r\n\r\n      content:\"\";\r\n\r\n      position:absolute;\r\n\r\n      inset:-15px;\r\n\r\n      z-index:-1;\r\n\r\n      border-radius:30px;\r\n\r\n      opacity:0;\r\n\r\n      pointer-events:none;\r\n\r\n      background:\r\n        radial-gradient(\r\n          circle at 50% 50%,\r\n          rgba(166,47,255,.12),\r\n          transparent 68%\r\n        );\r\n\r\n      filter:\r\n        blur(18px);\r\n\r\n      transition:\r\n        opacity .5s ease;\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps\r\n    .hs-stage-active::after{\r\n\r\n      opacity:1;\r\n\r\n    }\r\n\r\n\r\n    \/* -------------------------------------------------------\r\n       TITRE \u2014 IMPULSION\r\n       ------------------------------------------------------- *\/\r\n\r\n    #inrcyHeroSteps\r\n    .hs-title-line{\r\n\r\n      transition:\r\n        filter .6s ease;\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps.hs-title-boost\r\n    .hs-title-line--shine{\r\n\r\n      filter:\r\n        drop-shadow(\r\n          0 0 16px\r\n          rgba(166,47,255,.28)\r\n        )\r\n        drop-shadow(\r\n          0 0 30px\r\n          rgba(23,140,255,.12)\r\n        ) !important;\r\n\r\n    }\r\n\r\n\r\n    \/* -------------------------------------------------------\r\n       T\u00c9L\u00c9PHONE\r\n       ------------------------------------------------------- *\/\r\n\r\n    #inrcyHeroSteps .hs-phone{\r\n\r\n      will-change:transform;\r\n\r\n      transition:\r\n        transform .20s ease-out,\r\n        box-shadow .45s ease !important;\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps\r\n    .hs-stage-active\r\n    .hs-phone{\r\n\r\n      box-shadow:\r\n        0 38px 75px rgba(0,0,0,.52),\r\n        0 0 42px rgba(166,47,255,.16),\r\n        0 0 72px rgba(23,140,255,.08) !important;\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps\r\n    .hs-phone\r\n    .hs-field,\r\n\r\n    #inrcyHeroSteps\r\n    .hs-phone\r\n    .hs-format{\r\n\r\n      transition:\r\n        opacity .45s ease,\r\n        transform .45s ease,\r\n        background .45s ease,\r\n        border-color .45s ease;\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps\r\n    .hs-phone\r\n    .hs-phone-animate{\r\n\r\n      animation:\r\n        hsPhoneContentPulse\r\n        .6s ease both;\r\n\r\n    }\r\n\r\n\r\n    @keyframes hsPhoneContentPulse{\r\n\r\n      0%{\r\n        opacity:.4;\r\n        transform:translateY(5px);\r\n      }\r\n\r\n      100%{\r\n        opacity:1;\r\n        transform:translateY(0);\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* -------------------------------------------------------\r\n       CANAUX\r\n       ------------------------------------------------------- *\/\r\n\r\n    #inrcyHeroSteps .hs-channel{\r\n\r\n      will-change:\r\n        transform,\r\n        opacity;\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps .hs-channel.active{\r\n\r\n      animation:\r\n        hsChannelArrival\r\n        .42s cubic-bezier(.2,.8,.2,1) both;\r\n\r\n    }\r\n\r\n\r\n    @keyframes hsChannelArrival{\r\n\r\n      0%{\r\n        opacity:.22;\r\n        transform:\r\n          translateX(13px)\r\n          scale(.975);\r\n      }\r\n\r\n      60%{\r\n        transform:\r\n          translateX(-2px)\r\n          scale(1.01);\r\n      }\r\n\r\n      100%{\r\n        opacity:1;\r\n        transform:\r\n          translateX(0)\r\n          scale(1);\r\n      }\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps\r\n    .hs-channel.active\r\n    .hs-logo{\r\n\r\n      animation:\r\n        hsLogoPulse\r\n        .5s ease;\r\n\r\n    }\r\n\r\n\r\n    @keyframes hsLogoPulse{\r\n\r\n      0%{\r\n        transform:scale(.78);\r\n      }\r\n\r\n      65%{\r\n        transform:scale(1.12);\r\n      }\r\n\r\n      100%{\r\n        transform:scale(1);\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* -------------------------------------------------------\r\n       PROGRESSION\r\n       ------------------------------------------------------- *\/\r\n\r\n    #inrcyHeroSteps\r\n    .hs-progress-fill{\r\n\r\n      box-shadow:\r\n        0 0 10px\r\n        rgba(166,47,255,.38);\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps\r\n    .hs-percent{\r\n\r\n      transition:\r\n        transform .25s ease;\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps\r\n    .hs-percent.hs-percent-pop{\r\n\r\n      transform:scale(1.15);\r\n\r\n    }\r\n\r\n\r\n    \/* -------------------------------------------------------\r\n       \u00c9TAPE 4 \u2014 POSTS\r\n       ------------------------------------------------------- *\/\r\n\r\n    #inrcyHeroSteps\r\n    .hs-post-row{\r\n\r\n      transition:\r\n        opacity .45s ease,\r\n        transform .45s ease,\r\n        border-color .45s ease,\r\n        background .45s ease;\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps\r\n    .hs-post-row.hs-post-reveal{\r\n\r\n      animation:\r\n        hsPostReveal\r\n        .5s cubic-bezier(.2,.8,.2,1) both;\r\n\r\n    }\r\n\r\n\r\n    @keyframes hsPostReveal{\r\n\r\n      0%{\r\n        opacity:.25;\r\n        transform:\r\n          translateX(8px)\r\n          scale(.985);\r\n      }\r\n\r\n      100%{\r\n        opacity:1;\r\n        transform:\r\n          translateX(0)\r\n          scale(1);\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* -------------------------------------------------------\r\n       KPI\r\n       ------------------------------------------------------- *\/\r\n\r\n    #inrcyHeroSteps\r\n    .hs-kpi{\r\n\r\n      transition:\r\n        transform .4s ease,\r\n        border-color .4s ease,\r\n        box-shadow .4s ease;\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps\r\n    .hs-kpi.hs-kpi-active{\r\n\r\n      transform:\r\n        translateY(-3px);\r\n\r\n      border-color:\r\n        rgba(166,47,255,.26) !important;\r\n\r\n      box-shadow:\r\n        0 10px 22px\r\n        rgba(0,0,0,.12);\r\n\r\n    }\r\n\r\n\r\n    \/* -------------------------------------------------------\r\n       GRAPH\r\n       ------------------------------------------------------- *\/\r\n\r\n    #inrcyHeroSteps\r\n    .hs-chart\r\n    svg path{\r\n\r\n      transition:\r\n        filter .5s ease;\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps\r\n    .hs-chart.hs-chart-active\r\n    svg path{\r\n\r\n      filter:\r\n        drop-shadow(\r\n          0 0 6px\r\n          rgba(166,47,255,.42)\r\n        );\r\n\r\n    }\r\n\r\n\r\n    \/* -------------------------------------------------------\r\n       OFFRE\r\n       ------------------------------------------------------- *\/\r\n\r\n    #inrcyHeroSteps\r\n    .hs-offer-bar.hs-offer-show{\r\n\r\n      opacity:1;\r\n\r\n      transform:\r\n        translateY(0)\r\n        scale(1);\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps\r\n    .hs-offer-bar.hs-offer-glow{\r\n\r\n      box-shadow:\r\n        0 25px 60px rgba(0,0,0,.24),\r\n        0 0 32px rgba(166,47,255,.14),\r\n        0 0 52px rgba(23,140,255,.07) !important;\r\n\r\n    }\r\n\r\n\r\n    #inrcyHeroSteps\r\n    .hs-offer-cta.hs-cta-pulse{\r\n\r\n      animation:\r\n        hsCtaPulse\r\n        1.7s ease-in-out\r\n        infinite;\r\n\r\n    }\r\n\r\n\r\n    @keyframes hsCtaPulse{\r\n\r\n      0%,\r\n      100%{\r\n\r\n        box-shadow:\r\n          0 16px 34px\r\n          rgba(126,46,255,.26);\r\n\r\n      }\r\n\r\n      50%{\r\n\r\n        box-shadow:\r\n          0 18px 38px\r\n          rgba(255,47,145,.25),\r\n          0 0 24px\r\n          rgba(166,47,255,.16);\r\n\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* =======================================================\r\n       MOBILE\r\n       ======================================================= *\/\r\n\r\n    @media(max-width:760px){\r\n\r\n      #inrcyHeroSteps.hs-js-ready\r\n      .hs-step{\r\n\r\n        opacity:.32;\r\n\r\n        transform:\r\n          translateY(18px)\r\n          scale(.99);\r\n\r\n      }\r\n\r\n\r\n      #inrcyHeroSteps\r\n      .hs-step.hs-stage-active{\r\n\r\n        transform:\r\n          translateY(0)\r\n          scale(1) !important;\r\n\r\n      }\r\n\r\n\r\n      #inrcyHeroSteps\r\n      .hs-step::after{\r\n\r\n        inset:-8px;\r\n\r\n        filter:blur(12px);\r\n\r\n      }\r\n\r\n\r\n      #inrcyHeroSteps\r\n      .hs-phone{\r\n\r\n        transform:none !important;\r\n\r\n      }\r\n\r\n\r\n      #inrcyHeroSteps\r\n      .hs-channel.active{\r\n\r\n        animation:\r\n          hsChannelMobile\r\n          .38s ease both;\r\n\r\n      }\r\n\r\n\r\n      @keyframes hsChannelMobile{\r\n\r\n        from{\r\n          opacity:.3;\r\n          transform:translateY(7px);\r\n        }\r\n\r\n        to{\r\n          opacity:1;\r\n          transform:translateY(0);\r\n        }\r\n\r\n      }\r\n\r\n\r\n      #inrcyHeroSteps\r\n      .hs-offer-cta.hs-cta-pulse{\r\n\r\n        animation:\r\n          hsCtaPulseMobile\r\n          2s ease-in-out\r\n          infinite;\r\n\r\n      }\r\n\r\n\r\n      @keyframes hsCtaPulseMobile{\r\n\r\n        0%,\r\n        100%{\r\n          transform:scale(1);\r\n        }\r\n\r\n        50%{\r\n          transform:scale(1.018);\r\n        }\r\n\r\n      }\r\n\r\n    }\r\n\r\n\r\n    \/* =======================================================\r\n       REDUCED MOTION\r\n       ======================================================= *\/\r\n\r\n    @media(prefers-reduced-motion:reduce){\r\n\r\n      #inrcyHeroSteps *,\r\n      #inrcyHeroSteps *::before,\r\n      #inrcyHeroSteps *::after{\r\n\r\n        animation:none !important;\r\n\r\n        transition:none !important;\r\n\r\n      }\r\n\r\n    }\r\n\r\n  `;\r\n\r\n\r\n  document.head.appendChild(style);\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     RESPONSIVE CLASS\r\n     ========================================================= *\/\r\n\r\n  function updateDeviceClass(){\r\n\r\n    hero.classList.remove(\r\n      'hs-device-desktop',\r\n      'hs-device-tablet',\r\n      'hs-device-mobile'\r\n    );\r\n\r\n\r\n    if(desktop.matches){\r\n\r\n      hero.classList.add(\r\n        'hs-device-desktop'\r\n      );\r\n\r\n    }\r\n\r\n    else if(tablet.matches){\r\n\r\n      hero.classList.add(\r\n        'hs-device-tablet'\r\n      );\r\n\r\n    }\r\n\r\n    else{\r\n\r\n      hero.classList.add(\r\n        'hs-device-mobile'\r\n      );\r\n\r\n    }\r\n\r\n  }\r\n\r\n\r\n  updateDeviceClass();\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     SVG \u2014 CONNEXIONS ENTRE LES 4 \u00c9TAPES\r\n     ========================================================= *\/\r\n\r\n  function drawConnections(){\r\n\r\n    if(!flow || !svg){\r\n      return;\r\n    }\r\n\r\n\r\n    \/*\r\n     * Sur mobile :\r\n     * on supprime volontairement les lignes\r\n     * pour \u00e9viter le bazar visuel.\r\n     *\/\r\n\r\n    if(!desktop.matches){\r\n\r\n      svg.innerHTML = '';\r\n\r\n      return;\r\n\r\n    }\r\n\r\n\r\n    const flowRect =\r\n      flow.getBoundingClientRect();\r\n\r\n\r\n    svg.innerHTML = `\r\n\r\n      <defs>\r\n\r\n        <linearGradient\r\n          id=\"hsGradientPremium\"\r\n          x1=\"0\"\r\n          y1=\"0\"\r\n          x2=\"1\"\r\n          y2=\"0\"\r\n        >\r\n\r\n          <stop\r\n            offset=\"0%\"\r\n            stop-color=\"#FF7437\"\r\n          \/>\r\n\r\n          <stop\r\n            offset=\"32%\"\r\n            stop-color=\"#FF2F91\"\r\n          \/>\r\n\r\n          <stop\r\n            offset=\"67%\"\r\n            stop-color=\"#A62FFF\"\r\n          \/>\r\n\r\n          <stop\r\n            offset=\"100%\"\r\n            stop-color=\"#178CFF\"\r\n          \/>\r\n\r\n        <\/linearGradient>\r\n\r\n      <\/defs>\r\n\r\n    `;\r\n\r\n\r\n    svg.setAttribute(\r\n      'viewBox',\r\n      `0 0 ${flowRect.width} ${flowRect.height}`\r\n    );\r\n\r\n\r\n    for(\r\n      let i = 0;\r\n      i < steps.length - 1;\r\n      i++\r\n    ){\r\n\r\n      const a =\r\n        steps[i].getBoundingClientRect();\r\n\r\n      const b =\r\n        steps[i + 1].getBoundingClientRect();\r\n\r\n\r\n      const x1 =\r\n        a.right -\r\n        flowRect.left +\r\n        5;\r\n\r\n\r\n      const y1 =\r\n        a.top -\r\n        flowRect.top +\r\n        a.height \/ 2;\r\n\r\n\r\n      const x2 =\r\n        b.left -\r\n        flowRect.left -\r\n        5;\r\n\r\n\r\n      const y2 =\r\n        b.top -\r\n        flowRect.top +\r\n        b.height \/ 2;\r\n\r\n\r\n      const distance =\r\n        Math.max(\r\n          50,\r\n          x2 - x1\r\n        );\r\n\r\n\r\n      const curve =\r\n        distance * .46;\r\n\r\n\r\n\r\n      \/* BACKGROUND LINE *\/\r\n\r\n      const bg =\r\n        document.createElementNS(\r\n          'http:\/\/www.w3.org\/2000\/svg',\r\n          'path'\r\n        );\r\n\r\n\r\n      bg.setAttribute(\r\n        'd',\r\n        `\r\n          M ${x1} ${y1}\r\n\r\n          C\r\n          ${x1 + curve} ${y1},\r\n          ${x2 - curve} ${y2},\r\n          ${x2} ${y2}\r\n        `\r\n      );\r\n\r\n\r\n      bg.setAttribute(\r\n        'fill',\r\n        'none'\r\n      );\r\n\r\n\r\n      bg.setAttribute(\r\n        'stroke',\r\n        'rgba(255,255,255,.045)'\r\n      );\r\n\r\n\r\n      bg.setAttribute(\r\n        'stroke-width',\r\n        '1.4'\r\n      );\r\n\r\n\r\n      svg.appendChild(bg);\r\n\r\n\r\n\r\n      \/* ACTIVE LINE *\/\r\n\r\n      const line =\r\n        document.createElementNS(\r\n          'http:\/\/www.w3.org\/2000\/svg',\r\n          'path'\r\n        );\r\n\r\n\r\n      line.setAttribute(\r\n        'class',\r\n        'hs-line hs-premium-line'\r\n      );\r\n\r\n\r\n      line.setAttribute(\r\n        'data-line-index',\r\n        i\r\n      );\r\n\r\n\r\n      line.setAttribute(\r\n        'd',\r\n        `\r\n          M ${x1} ${y1}\r\n\r\n          C\r\n          ${x1 + curve} ${y1},\r\n          ${x2 - curve} ${y2},\r\n          ${x2} ${y2}\r\n        `\r\n      );\r\n\r\n\r\n      line.setAttribute(\r\n        'fill',\r\n        'none'\r\n      );\r\n\r\n\r\n      line.setAttribute(\r\n        'stroke',\r\n        'url(#hsGradientPremium)'\r\n      );\r\n\r\n\r\n      line.setAttribute(\r\n        'stroke-width',\r\n        '2'\r\n      );\r\n\r\n\r\n      line.setAttribute(\r\n        'stroke-linecap',\r\n        'round'\r\n      );\r\n\r\n\r\n      line.style.opacity =\r\n        '.2';\r\n\r\n\r\n      svg.appendChild(line);\r\n\r\n\r\n\r\n      \/* DOT *\/\r\n\r\n      const dot =\r\n        document.createElementNS(\r\n          'http:\/\/www.w3.org\/2000\/svg',\r\n          'circle'\r\n        );\r\n\r\n\r\n      dot.setAttribute(\r\n        'cx',\r\n        x2\r\n      );\r\n\r\n\r\n      dot.setAttribute(\r\n        'cy',\r\n        y2\r\n      );\r\n\r\n\r\n      dot.setAttribute(\r\n        'r',\r\n        '3.2'\r\n      );\r\n\r\n\r\n      dot.setAttribute(\r\n        'fill',\r\n        i < 2\r\n          ? '#EF42FF'\r\n          : '#258CFF'\r\n      );\r\n\r\n\r\n      dot.style.filter =\r\n        'drop-shadow(0 0 6px rgba(166,47,255,.75))';\r\n\r\n\r\n      svg.appendChild(dot);\r\n\r\n    }\r\n\r\n  }\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     ACTIVE UNE \u00c9TAPE\r\n     ========================================================= *\/\r\n\r\n  function setActiveStep(index){\r\n\r\n    activeStep =\r\n      index;\r\n\r\n\r\n    steps.forEach(\r\n      (step,i)=>{\r\n\r\n        step.classList.remove(\r\n          'hs-stage-active',\r\n          'hs-stage-past'\r\n        );\r\n\r\n\r\n        if(i < index){\r\n\r\n          step.classList.add(\r\n            'hs-stage-past'\r\n          );\r\n\r\n        }\r\n\r\n\r\n        if(i === index){\r\n\r\n          step.classList.add(\r\n            'hs-stage-active'\r\n          );\r\n\r\n        }\r\n\r\n      }\r\n    );\r\n\r\n\r\n\r\n    if(desktop.matches){\r\n\r\n      hero\r\n        .querySelectorAll(\r\n          '.hs-premium-line'\r\n        )\r\n        .forEach(\r\n          (line,i)=>{\r\n\r\n            line.style.opacity =\r\n              i < index\r\n                ? '.85'\r\n                : i === index - 1\r\n                  ? '1'\r\n                  : '.18';\r\n\r\n          }\r\n        );\r\n\r\n    }\r\n\r\n  }\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     ANIMATION T\u00c9L\u00c9PHONE\r\n     ========================================================= *\/\r\n\r\n  function animatePhoneContent(){\r\n\r\n    phoneFields.forEach(\r\n      field =>{\r\n\r\n        field.classList.remove(\r\n          'hs-phone-animate'\r\n        );\r\n\r\n      }\r\n    );\r\n\r\n\r\n    phoneFields.forEach(\r\n      (field,index)=>{\r\n\r\n        setTimeout(\r\n          ()=>{\r\n\r\n            field.classList.add(\r\n              'hs-phone-animate'\r\n            );\r\n\r\n          },\r\n          index * 90\r\n        );\r\n\r\n      }\r\n    );\r\n\r\n  }\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     RESET CANAUX\r\n     ========================================================= *\/\r\n\r\n  function resetChannels(){\r\n\r\n    clearInterval(\r\n      channelTimer\r\n    );\r\n\r\n\r\n    channels.forEach(\r\n      channel =>{\r\n\r\n        channel.classList.remove(\r\n          'active'\r\n        );\r\n\r\n\r\n        const name =\r\n          channel\r\n            .querySelector(\r\n              '.hs-channel-copy strong'\r\n            )\r\n            ?.textContent\r\n            .trim() || '';\r\n\r\n\r\n        const state =\r\n          channel.querySelector(\r\n            '.hs-channel-copy span'\r\n          );\r\n\r\n\r\n        if(!state) return;\r\n\r\n\r\n        if(name === 'Mail'){\r\n\r\n          state.textContent =\r\n            'Envoi en cours';\r\n\r\n        }\r\n\r\n        else if(\r\n          name ===\r\n          'Carte de visite'\r\n        ){\r\n\r\n          state.textContent =\r\n            'Mise \u00e0 jour en cours';\r\n\r\n        }\r\n\r\n        else{\r\n\r\n          state.textContent =\r\n            'Publication en cours';\r\n\r\n        }\r\n\r\n      }\r\n    );\r\n\r\n\r\n    if(percent){\r\n\r\n      percent.textContent =\r\n        '0%';\r\n\r\n    }\r\n\r\n\r\n    if(progressFill){\r\n\r\n      progressFill.style.width =\r\n        '0%';\r\n\r\n    }\r\n\r\n  }\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     DIFFUSION 12 CANAUX\r\n     ========================================================= *\/\r\n\r\n  function publishChannels(\r\n    onDone\r\n  ){\r\n\r\n    resetChannels();\r\n\r\n\r\n    let index =\r\n      0;\r\n\r\n\r\n    const speed =\r\n      mobile.matches\r\n        ? 220\r\n        : 290;\r\n\r\n\r\n    channelTimer =\r\n      setInterval(\r\n        ()=>{\r\n\r\n\r\n          if(index >= channels.length){\r\n\r\n            clearInterval(\r\n              channelTimer\r\n            );\r\n\r\n\r\n            if(percent){\r\n\r\n              percent.textContent =\r\n                '100%';\r\n\r\n            }\r\n\r\n\r\n            if(progressFill){\r\n\r\n              progressFill.style.width =\r\n                '100%';\r\n\r\n            }\r\n\r\n\r\n            if(typeof onDone === 'function'){\r\n\r\n              setTimeout(\r\n                onDone,\r\n                500\r\n              );\r\n\r\n            }\r\n\r\n\r\n            return;\r\n\r\n          }\r\n\r\n\r\n          const channel =\r\n            channels[index];\r\n\r\n\r\n          channel.classList.add(\r\n            'active'\r\n          );\r\n\r\n\r\n          const name =\r\n            channel\r\n              .querySelector(\r\n                '.hs-channel-copy strong'\r\n              )\r\n              ?.textContent\r\n              .trim() || '';\r\n\r\n\r\n          const state =\r\n            channel.querySelector(\r\n              '.hs-channel-copy span'\r\n            );\r\n\r\n\r\n          if(state){\r\n\r\n            if(name === 'Mail'){\r\n\r\n              state.textContent =\r\n                'Envoy\u00e9';\r\n\r\n            }\r\n\r\n            else if(\r\n              name ===\r\n              'Carte de visite'\r\n            ){\r\n\r\n              state.textContent =\r\n                'Mis \u00e0 jour';\r\n\r\n            }\r\n\r\n            else{\r\n\r\n              state.textContent =\r\n                'Publi\u00e9';\r\n\r\n            }\r\n\r\n          }\r\n\r\n\r\n          const value =\r\n            Math.round(\r\n              (\r\n                (index + 1)\r\n                \/\r\n                channels.length\r\n              )\r\n              *\r\n              100\r\n            );\r\n\r\n\r\n          if(percent){\r\n\r\n            percent.textContent =\r\n              value + '%';\r\n\r\n\r\n            percent.classList.add(\r\n              'hs-percent-pop'\r\n            );\r\n\r\n\r\n            setTimeout(\r\n              ()=>{\r\n\r\n                percent.classList.remove(\r\n                  'hs-percent-pop'\r\n                );\r\n\r\n              },\r\n              160\r\n            );\r\n\r\n          }\r\n\r\n\r\n          if(progressFill){\r\n\r\n            progressFill.style.width =\r\n              value + '%';\r\n\r\n          }\r\n\r\n\r\n          index++;\r\n\r\n        },\r\n        speed\r\n      );\r\n\r\n  }\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     ANIMATION PUBLICATIONS\r\n     ========================================================= *\/\r\n\r\n  function animatePosts(){\r\n\r\n    postRows.forEach(\r\n      row =>{\r\n\r\n        row.classList.remove(\r\n          'hs-post-reveal'\r\n        );\r\n\r\n      }\r\n    );\r\n\r\n\r\n    postRows.forEach(\r\n      (row,index)=>{\r\n\r\n        setTimeout(\r\n          ()=>{\r\n\r\n            row.classList.add(\r\n              'hs-post-reveal'\r\n            );\r\n\r\n          },\r\n          index * 180\r\n        );\r\n\r\n      }\r\n    );\r\n\r\n  }\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     COUNTER KPI\r\n     ========================================================= *\/\r\n\r\n  function animateNumber(\r\n    element,\r\n    start,\r\n    end,\r\n    duration,\r\n    formatter\r\n  ){\r\n\r\n    if(\r\n      !element ||\r\n      reduceMotion.matches\r\n    ){\r\n\r\n      if(element){\r\n\r\n        element.textContent =\r\n          formatter(end);\r\n\r\n      }\r\n\r\n      return;\r\n\r\n    }\r\n\r\n\r\n    const startTime =\r\n      performance.now();\r\n\r\n\r\n    function frame(now){\r\n\r\n      const progress =\r\n        Math.min(\r\n          1,\r\n          (\r\n            now - startTime\r\n          )\r\n          \/\r\n          duration\r\n        );\r\n\r\n\r\n      const eased =\r\n        1 -\r\n        Math.pow(\r\n          1 - progress,\r\n          3\r\n        );\r\n\r\n\r\n      const value =\r\n        start +\r\n        (\r\n          end - start\r\n        )\r\n        *\r\n        eased;\r\n\r\n\r\n      element.textContent =\r\n        formatter(value);\r\n\r\n\r\n      if(progress < 1){\r\n\r\n        requestAnimationFrame(\r\n          frame\r\n        );\r\n\r\n      }\r\n\r\n    }\r\n\r\n\r\n    requestAnimationFrame(\r\n      frame\r\n    );\r\n\r\n  }\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     KPI + GRAPH\r\n     ========================================================= *\/\r\n\r\n  function animateAnalytics(){\r\n\r\n    const values = [\r\n\r\n      {\r\n        value:24.8,\r\n        format:value =>\r\n          value\r\n            .toFixed(1)\r\n            .replace('.',',')\r\n          +\r\n          'k'\r\n      },\r\n\r\n      {\r\n        value:1842,\r\n        format:value =>\r\n          Math.round(value)\r\n            .toLocaleString(\r\n              'fr-FR'\r\n            )\r\n      },\r\n\r\n      {\r\n        value:768,\r\n        format:value =>\r\n          Math.round(value)\r\n            .toLocaleString(\r\n              'fr-FR'\r\n            )\r\n      }\r\n\r\n    ];\r\n\r\n\r\n    kpis.forEach(\r\n      (kpi,index)=>{\r\n\r\n        const number =\r\n          kpi.querySelector(\r\n            'strong'\r\n          );\r\n\r\n\r\n        kpi.classList.remove(\r\n          'hs-kpi-active'\r\n        );\r\n\r\n\r\n        setTimeout(\r\n          ()=>{\r\n\r\n            kpi.classList.add(\r\n              'hs-kpi-active'\r\n            );\r\n\r\n\r\n            animateNumber(\r\n              number,\r\n              0,\r\n              values[index].value,\r\n              950,\r\n              values[index].format\r\n            );\r\n\r\n          },\r\n          index * 170\r\n        );\r\n\r\n      }\r\n    );\r\n\r\n\r\n\r\n    if(chartPath){\r\n\r\n      const length =\r\n        chartPath\r\n          .getTotalLength();\r\n\r\n\r\n      chartPath.style.strokeDasharray =\r\n        length;\r\n\r\n\r\n      chartPath.style.strokeDashoffset =\r\n        length;\r\n\r\n\r\n      chart?.classList.add(\r\n        'hs-chart-active'\r\n      );\r\n\r\n\r\n      requestAnimationFrame(\r\n        ()=>{\r\n\r\n          chartPath.style.transition =\r\n            'stroke-dashoffset 1.3s cubic-bezier(.2,.8,.2,1)';\r\n\r\n\r\n          chartPath.style.strokeDashoffset =\r\n            '0';\r\n\r\n        }\r\n      );\r\n\r\n    }\r\n\r\n\r\n    if(chartDot){\r\n\r\n      chartDot.style.opacity =\r\n        '0';\r\n\r\n\r\n      setTimeout(\r\n        ()=>{\r\n\r\n          chartDot.style.transition =\r\n            'opacity .35s ease, transform .35s ease';\r\n\r\n\r\n          chartDot.style.opacity =\r\n            '1';\r\n\r\n\r\n          chartDot.style.transform =\r\n            'scale(1.08)';\r\n\r\n        },\r\n        1100\r\n      );\r\n\r\n    }\r\n\r\n  }\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     BANDEAU PRIX\r\n     ========================================================= *\/\r\n\r\n  function revealOffer(){\r\n\r\n    if(!offer) return;\r\n\r\n\r\n    offer.classList.add(\r\n      'hs-offer-show'\r\n    );\r\n\r\n\r\n    setTimeout(\r\n      ()=>{\r\n\r\n        offer.classList.add(\r\n          'hs-offer-glow'\r\n        );\r\n\r\n      },\r\n      250\r\n    );\r\n\r\n\r\n    setTimeout(\r\n      ()=>{\r\n\r\n        offerCTA?.classList.add(\r\n          'hs-cta-pulse'\r\n        );\r\n\r\n      },\r\n      700\r\n    );\r\n\r\n  }\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     MASTER SEQUENCE\r\n     ========================================================= *\/\r\n\r\n  function runSequence(){\r\n\r\n    if(\r\n      !heroVisible ||\r\n      reduceMotion.matches\r\n    ){\r\n      return;\r\n    }\r\n\r\n\r\n    clearTimeout(\r\n      masterTimer\r\n    );\r\n\r\n\r\n    \/* TITRE *\/\r\n\r\n    hero.classList.add(\r\n      'hs-title-boost'\r\n    );\r\n\r\n\r\n    setTimeout(\r\n      ()=>{\r\n\r\n        hero.classList.remove(\r\n          'hs-title-boost'\r\n        );\r\n\r\n      },\r\n      1200\r\n    );\r\n\r\n\r\n\r\n    \/* \u00c9TAPE 1 *\/\r\n\r\n    setActiveStep(0);\r\n\r\n\r\n\r\n    masterTimer =\r\n      setTimeout(\r\n        ()=>{\r\n\r\n\r\n          \/* \u00c9TAPE 2 *\/\r\n\r\n          setActiveStep(1);\r\n\r\n          animatePhoneContent();\r\n\r\n\r\n\r\n          masterTimer =\r\n            setTimeout(\r\n              ()=>{\r\n\r\n\r\n                \/* \u00c9TAPE 3 *\/\r\n\r\n                setActiveStep(2);\r\n\r\n\r\n                publishChannels(\r\n                  ()=>{\r\n\r\n\r\n                    \/* \u00c9TAPE 4 *\/\r\n\r\n                    setActiveStep(3);\r\n\r\n                    animatePosts();\r\n\r\n                    animateAnalytics();\r\n\r\n\r\n                    masterTimer =\r\n                      setTimeout(\r\n                        ()=>{\r\n\r\n                          revealOffer();\r\n\r\n                        },\r\n                        1300\r\n                      );\r\n\r\n                  }\r\n                );\r\n\r\n              },\r\n              1450\r\n            );\r\n\r\n        },\r\n        1300\r\n      );\r\n\r\n  }\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     PHONE PARALLAX \u2014 UNIQUEMENT DESKTOP\r\n     ========================================================= *\/\r\n\r\n  function movePhone(event){\r\n\r\n    if(\r\n      !desktop.matches ||\r\n      !flow ||\r\n      !phone ||\r\n      reduceMotion.matches\r\n    ){\r\n      return;\r\n    }\r\n\r\n\r\n    const rect =\r\n      flow.getBoundingClientRect();\r\n\r\n\r\n    const x =\r\n      (\r\n        event.clientX -\r\n        rect.left\r\n      )\r\n      \/\r\n      rect.width\r\n      -\r\n      .5;\r\n\r\n\r\n    const y =\r\n      (\r\n        event.clientY -\r\n        rect.top\r\n      )\r\n      \/\r\n      rect.height\r\n      -\r\n      .5;\r\n\r\n\r\n    phone.style.transform = `\r\n\r\n      perspective(1150px)\r\n\r\n      rotateY(${x * 5 - 4}deg)\r\n\r\n      rotateX(${-y * 3}deg)\r\n\r\n      rotateZ(-1.5deg)\r\n\r\n      translate3d(\r\n        ${x * 2}px,\r\n        ${y * 3}px,\r\n        0\r\n      )\r\n\r\n    `;\r\n\r\n  }\r\n\r\n\r\n\r\n  function resetPhone(){\r\n\r\n    if(!phone) return;\r\n\r\n\r\n    if(!desktop.matches){\r\n\r\n      phone.style.transform =\r\n        'none';\r\n\r\n      return;\r\n\r\n    }\r\n\r\n\r\n    phone.style.transform = `\r\n\r\n      perspective(1150px)\r\n\r\n      rotateY(-4deg)\r\n\r\n      rotateZ(-1.5deg)\r\n\r\n    `;\r\n\r\n  }\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     HOVER CANAUX \u2014 DESKTOP\r\n     ========================================================= *\/\r\n\r\n  channels.forEach(\r\n    channel =>{\r\n\r\n      channel.addEventListener(\r\n        'mouseenter',\r\n        ()=>{\r\n\r\n          if(!desktop.matches){\r\n            return;\r\n          }\r\n\r\n\r\n          channel.style.transform =\r\n            'translateX(-3px) scale(1.018)';\r\n\r\n        }\r\n      );\r\n\r\n\r\n      channel.addEventListener(\r\n        'mouseleave',\r\n        ()=>{\r\n\r\n          channel.style.transform =\r\n            '';\r\n\r\n        }\r\n      );\r\n\r\n    }\r\n  );\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     BOUTONS MODIFIER\/SUPPRIMER\r\n     ========================================================= *\/\r\n\r\n  hero\r\n    .querySelectorAll(\r\n      '.hs-post-btn'\r\n    )\r\n    .forEach(\r\n      button =>{\r\n\r\n        button.addEventListener(\r\n          'click',\r\n          event =>{\r\n\r\n            event.preventDefault();\r\n\r\n            button.blur();\r\n\r\n          }\r\n        );\r\n\r\n      }\r\n    );\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     MODE REDUCED MOTION\r\n     ========================================================= *\/\r\n\r\n  function showEverything(){\r\n\r\n    hero.classList.add(\r\n      'hs-visible'\r\n    );\r\n\r\n\r\n    steps.forEach(\r\n      step =>{\r\n\r\n        step.classList.add(\r\n          'hs-stage-past'\r\n        );\r\n\r\n      }\r\n    );\r\n\r\n\r\n    channels.forEach(\r\n      channel =>{\r\n\r\n        channel.classList.add(\r\n          'active'\r\n        );\r\n\r\n      }\r\n    );\r\n\r\n\r\n    if(percent){\r\n\r\n      percent.textContent =\r\n        '100%';\r\n\r\n    }\r\n\r\n\r\n    if(progressFill){\r\n\r\n      progressFill.style.width =\r\n        '100%';\r\n\r\n    }\r\n\r\n\r\n    offer?.classList.add(\r\n      'hs-offer-show'\r\n    );\r\n\r\n  }\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     INTERSECTION OBSERVER\r\n     ========================================================= *\/\r\n\r\n  const visibilityObserver =\r\n    new IntersectionObserver(\r\n\r\n      entries =>{\r\n\r\n        const entry =\r\n          entries[0];\r\n\r\n\r\n        heroVisible =\r\n          entry.isIntersecting;\r\n\r\n\r\n        if(\r\n          heroVisible &&\r\n          !animationStarted\r\n        ){\r\n\r\n          animationStarted =\r\n            true;\r\n\r\n\r\n          hero.classList.add(\r\n            'hs-visible'\r\n          );\r\n\r\n\r\n          drawConnections();\r\n\r\n\r\n          if(reduceMotion.matches){\r\n\r\n            showEverything();\r\n\r\n          }\r\n\r\n          else{\r\n\r\n            setTimeout(\r\n              runSequence,\r\n              500\r\n            );\r\n\r\n          }\r\n\r\n        }\r\n\r\n      },\r\n\r\n      {\r\n        threshold:.10\r\n      }\r\n\r\n    );\r\n\r\n\r\n  \/* =========================================================\r\n     INITIALISATION\r\n     ========================================================= *\/\r\n\r\n  hero.classList.add(\r\n    'hs-js-ready'\r\n  );\r\n\r\n\r\n  resetChannels();\r\n\r\n  updateDeviceClass();\r\n\r\n  drawConnections();\r\n\r\n\r\n  visibilityObserver.observe(\r\n    hero\r\n  );\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     SOURIS\r\n     ========================================================= *\/\r\n\r\n  if(flow){\r\n\r\n    flow.addEventListener(\r\n      'mousemove',\r\n      movePhone\r\n    );\r\n\r\n\r\n    flow.addEventListener(\r\n      'mouseleave',\r\n      resetPhone\r\n    );\r\n\r\n  }\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     RESIZE\r\n     ========================================================= *\/\r\n\r\n  function handleResize(){\r\n\r\n    updateDeviceClass();\r\n\r\n    resetPhone();\r\n\r\n\r\n    clearTimeout(\r\n      resizeTimer\r\n    );\r\n\r\n\r\n    resizeTimer =\r\n      setTimeout(\r\n        ()=>{\r\n\r\n          drawConnections();\r\n\r\n        },\r\n        160\r\n      );\r\n\r\n  }\r\n\r\n\r\n  window.addEventListener(\r\n    'resize',\r\n    handleResize,\r\n    {\r\n      passive:true\r\n    }\r\n  );\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     RESIZE OBSERVER\r\n     Elementor peut modifier les dimensions apr\u00e8s chargement\r\n     ========================================================= *\/\r\n\r\n  if(\r\n    'ResizeObserver'\r\n    in window\r\n  ){\r\n\r\n    const resizeObserver =\r\n      new ResizeObserver(\r\n        ()=>{\r\n\r\n          clearTimeout(\r\n            resizeTimer\r\n          );\r\n\r\n\r\n          resizeTimer =\r\n            setTimeout(\r\n              drawConnections,\r\n              120\r\n            );\r\n\r\n        }\r\n      );\r\n\r\n\r\n    resizeObserver.observe(\r\n      flow || hero\r\n    );\r\n\r\n  }\r\n\r\n\r\n\r\n  \/* =========================================================\r\n     LOAD\r\n     ========================================================= *\/\r\n\r\n  window.addEventListener(\r\n    'load',\r\n    ()=>{\r\n\r\n      setTimeout(\r\n        drawConnections,\r\n        250\r\n      );\r\n\r\n\r\n      setTimeout(\r\n        drawConnections,\r\n        700\r\n      );\r\n\r\n    }\r\n  );\r\n\r\n\r\n})();\r\n<\/script>\r\n\r\n<!-- =========================================================\r\n     iNrCy \u2014 HERO MOBILE CONVERSION 3 SECONDES\r\n     Inject\u00e9 uniquement en responsive <= 760px\r\n     Desktop \/ tablette large inchang\u00e9s\r\n     ========================================================= -->\r\n<script>\r\n(function(){\r\n\r\n  'use strict';\r\n\r\n  const hero = document.getElementById('inrcyHeroSteps');\r\n  if(!hero) return;\r\n\r\n  if(hero.dataset.mobileConversionReady === 'true'){\r\n    return;\r\n  }\r\n\r\n  hero.dataset.mobileConversionReady = 'true';\r\n\r\n  const inner = hero.querySelector('.hs-inner');\r\n  if(!inner) return;\r\n\r\n  const mq = window.matchMedia('(max-width: 760px)');\r\n\r\n  \/* =========================================================\r\n     CR\u00c9ATION DU HERO MOBILE\r\n     ========================================================= *\/\r\n\r\n  const mobileHero = document.createElement('div');\r\n  mobileHero.className = 'hs-mobile-conversion';\r\n  mobileHero.setAttribute('aria-label', 'Pr\u00e9sentation iNrCy');\r\n\r\n  mobileHero.innerHTML = `\r\n    <div class=\"hmc-glow hmc-glow--pink\" aria-hidden=\"true\"><\/div>\r\n    <div class=\"hmc-glow hmc-glow--blue\" aria-hidden=\"true\"><\/div>\r\n\r\n    <div class=\"hmc-copy\">\r\n\r\n      <h1 class=\"hmc-title\">\r\n        <span class=\"hmc-title-white\">Publiez partout<\/span>\r\n        <span class=\"hmc-title-line\">\r\n          depuis <strong>une seule app.<\/strong>\r\n        <\/span>\r\n      <\/h1>\r\n\r\n      <div class=\"hmc-proof\" aria-label=\"R\u00e9sum\u00e9 iNrCy\">\r\n        <span>1 id\u00e9e<\/span>\r\n        <i><\/i>\r\n        <span>jusqu'\u00e0 12 contenus<\/span>\r\n        <i><\/i>\r\n        <span>jusqu'\u00e0 12 canaux<\/span>\r\n      <\/div>\r\n\r\n      <p class=\"hmc-subtitle\">\r\n        G\u00e9n\u00e9rez, adaptez et diffusez vos contenus\r\n        <strong>sans perdre de temps.<\/strong>\r\n      <\/p>\r\n\r\n    <\/div>\r\n\r\n    <div class=\"hmc-offer\">\r\n\r\n      <div class=\"hmc-price\">\r\n        <strong>58\u20ac<\/strong>\r\n        <span>HT \/ mois<\/span>\r\n      <\/div>\r\n\r\n      <div class=\"hmc-offer-divider\" aria-hidden=\"true\"><\/div>\r\n\r\n      <div class=\"hmc-trial\">\r\n        <span class=\"hmc-calendar\" aria-hidden=\"true\">\r\n          <svg viewBox=\"0 0 24 24\">\r\n            <path d=\"M7 2v3M17 2v3M4 9h16M5.5 4.5h13A1.5 1.5 0 0 1 20 6v13a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 4 19V6a1.5 1.5 0 0 1 1.5-1.5Z\"\/>\r\n            <path d=\"M8 13h.01M12 13h.01M16 13h.01M8 17h.01M12 17h.01\"\/>\r\n          <\/svg>\r\n        <\/span>\r\n\r\n        <div class=\"hmc-trial-copy\">\r\n          <strong>21 jours gratuits<\/strong>\r\n          <span>Sans engagement<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <div class=\"hmc-benefits\">\r\n\r\n      <div class=\"hmc-benefit\">\r\n        <span class=\"hmc-benefit-icon hmc-benefit-icon--pink\" aria-hidden=\"true\">\r\n          <svg viewBox=\"0 0 24 24\">\r\n            <circle cx=\"12\" cy=\"12\" r=\"8\"\/>\r\n            <path d=\"M4 12h16M12 4c2.5 2.4 3.7 5.1 3.7 8S14.5 17.6 12 20M12 4c-2.5 2.4-3.7 5.1-3.7 8S9.5 17.6 12 20\"\/>\r\n          <\/svg>\r\n        <\/span>\r\n        <strong>Publiez partout<\/strong>\r\n      <\/div>\r\n\r\n      <div class=\"hmc-benefit\">\r\n        <span class=\"hmc-benefit-icon hmc-benefit-icon--purple\" aria-hidden=\"true\">\r\n          <svg viewBox=\"0 0 24 24\">\r\n            <circle cx=\"12\" cy=\"12\" r=\"8\"\/>\r\n            <path d=\"M12 7v5l3 2\"\/>\r\n            <path d=\"M13.5 2.8 10 8h3l-2 4.5\"\/>\r\n          <\/svg>\r\n        <\/span>\r\n        <strong>Gagnez du temps<\/strong>\r\n      <\/div>\r\n\r\n      <div class=\"hmc-benefit\">\r\n        <span class=\"hmc-benefit-icon hmc-benefit-icon--blue\" aria-hidden=\"true\">\r\n          <svg viewBox=\"0 0 24 24\">\r\n            <path d=\"M12 3 19 6v5c0 4.8-2.7 8-7 10-4.3-2-7-5.2-7-10V6l7-3Z\"\/>\r\n            <path d=\"m9 12 2 2 4-4\"\/>\r\n          <\/svg>\r\n        <\/span>\r\n        <strong>Sans engagement<\/strong>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <a\r\n      class=\"hmc-cta\"\r\n      href=\"https:\/\/inrcy.com\/s-inscrire\/\"\r\n      aria-label=\"Tester gratuitement iNrCy\"\r\n    >\r\n      <span>Tester gratuitement<\/span>\r\n      <b aria-hidden=\"true\">\u2192<\/b>\r\n    <\/a>\r\n\r\n    <p class=\"hmc-microcopy\">\r\n      Aucune carte bancaire requise\r\n    <\/p>\r\n\r\n    <div class=\"hmc-phone-stage\" aria-hidden=\"true\">\r\n\r\n      <div class=\"hmc-phone-aura\"><\/div>\r\n      <div class=\"hmc-phone-rings\"><\/div>\r\n\r\n      <div class=\"hmc-phone\">\r\n\r\n        <div class=\"hmc-phone-top\">\r\n          <span class=\"hmc-phone-brand\">iNrCy<\/span>\r\n          <span class=\"hmc-phone-menu\">\u2630<\/span>\r\n        <\/div>\r\n\r\n        <div class=\"hmc-phone-block\">\r\n          <div class=\"hmc-phone-label hmc-phone-label--idea\">\r\n            <span>\ud83d\udca1<\/span>\r\n            <strong>Votre id\u00e9e<\/strong>\r\n          <\/div>\r\n\r\n          <p class=\"hmc-phone-example\">\r\n            \u201cCr\u00e9ation d\u2019une terrasse en bois \u00e0 Arras\u201d\r\n          <\/p>\r\n        <\/div>\r\n\r\n        <div class=\"hmc-phone-separator\"><\/div>\r\n\r\n        <div class=\"hmc-phone-block\">\r\n          <div class=\"hmc-phone-label hmc-phone-label--purple\">\r\n            <span>\ud83e\udd16<\/span>\r\n            <strong>iNrCy g\u00e9n\u00e8re le contenu<\/strong>\r\n          <\/div>\r\n\r\n          <div class=\"hmc-clean-actions\">\r\n\r\n            <span class=\"hmc-clean-action\">\r\n              <b aria-hidden=\"true\">\u2728<\/b>\r\n              <small>Texte<\/small>\r\n            <\/span>\r\n\r\n            <span class=\"hmc-clean-action\">\r\n              <b aria-hidden=\"true\">\ud83d\uddbc\ufe0f<\/b>\r\n              <small>Images<\/small>\r\n            <\/span>\r\n\r\n            <span class=\"hmc-clean-action\">\r\n              <b aria-hidden=\"true\">\ud83c\udfa5<\/b>\r\n              <small>Vid\u00e9o<\/small>\r\n            <\/span>\r\n\r\n            <span class=\"hmc-clean-action\">\r\n              <b aria-hidden=\"true\">\ud83d\ude0a<\/b>\r\n              <small>Emojis<\/small>\r\n            <\/span>\r\n\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"hmc-phone-separator\"><\/div>\r\n\r\n        <div class=\"hmc-phone-block\">\r\n          <div class=\"hmc-phone-label hmc-phone-label--blue\">\r\n            <span class=\"hmc-green-check\">\u2705<\/span>\r\n            <strong>Publie sur vos canaux<\/strong>\r\n          <\/div>\r\n\r\n          \r\n          <div class=\"hmc-channel-logos\">\r\n\r\n            <span class=\"hmc-channel-logo\" aria-label=\"Instagram\">\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <defs>\r\n                  <linearGradient id=\"hmcIgGradClean\" x1=\"0\" y1=\"1\" x2=\"1\" y2=\"0\">\r\n                    <stop offset=\"0%\" stop-color=\"#FF8A39\"\/>\r\n                    <stop offset=\"50%\" stop-color=\"#EF2B91\"\/>\r\n                    <stop offset=\"100%\" stop-color=\"#7B42FF\"\/>\r\n                  <\/linearGradient>\r\n                <\/defs>\r\n                <rect width=\"24\" height=\"24\" rx=\"7\" fill=\"url(#hmcIgGradClean)\"\/>\r\n                <rect x=\"6\" y=\"6\" width=\"12\" height=\"12\" rx=\"4\" fill=\"none\" stroke=\"#fff\" stroke-width=\"1.6\"\/>\r\n                <circle cx=\"12\" cy=\"12\" r=\"3.2\" fill=\"none\" stroke=\"#fff\" stroke-width=\"1.6\"\/>\r\n                <circle cx=\"16.5\" cy=\"7.8\" r=\"1\" fill=\"#fff\"\/>\r\n              <\/svg>\r\n            <\/span>\r\n\r\n            <span class=\"hmc-channel-logo\" aria-label=\"Facebook\">\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <rect width=\"24\" height=\"24\" rx=\"7\" fill=\"#1877F2\"\/>\r\n                <path d=\"M13.4 20v-6.1h2.1l.4-2.5h-2.5V9.8c0-.7.2-1.2 1.2-1.2H16V6.4c-.2 0-1-.1-2-.1-2 0-3.3 1.2-3.3 3.5v1.6H8.6v2.5h2.1V20h2.7z\" fill=\"#fff\"\/>\r\n              <\/svg>\r\n            <\/span>\r\n\r\n            <span class=\"hmc-channel-logo\" aria-label=\"LinkedIn\">\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <rect width=\"24\" height=\"24\" rx=\"7\" fill=\"#0A66C2\"\/>\r\n                <circle cx=\"7.2\" cy=\"8\" r=\"1.4\" fill=\"#fff\"\/>\r\n                <rect x=\"5.9\" y=\"10\" width=\"2.6\" height=\"8\" fill=\"#fff\"\/>\r\n                <path d=\"M11 10h2.5v1.1c.5-.8 1.4-1.5 3-1.5 2.4 0 3.5 1.5 3.5 4.1V18h-2.7v-3.8c0-1.2-.4-2-1.5-2-1 0-1.7.7-1.7 2V18H11z\" fill=\"#fff\"\/>\r\n              <\/svg>\r\n            <\/span>\r\n\r\n            <span class=\"hmc-channel-logo\" aria-label=\"TikTok\">\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <rect width=\"24\" height=\"24\" rx=\"7\" fill=\"#050505\"\/>\r\n                <path d=\"M14.8 6.2c.6 1.3 1.5 2.1 2.9 2.3v2.1c-1.1 0-2.1-.3-2.9-.9v4c0 2.2-1.7 4-4 4-1.8 0-3.3-1.5-3.3-3.3 0-1.9 1.5-3.3 3.4-3.3.3 0 .5 0 .8.1v2.2c-.2-.1-.4-.1-.6-.1-.8 0-1.4.6-1.4 1.4s.6 1.4 1.4 1.4c1 0 1.4-.8 1.4-1.7V6.2z\" fill=\"#fff\"\/>\r\n              <\/svg>\r\n            <\/span>\r\n\r\n            <span class=\"hmc-channel-logo\" aria-label=\"YouTube\">\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <rect x=\"2.5\" y=\"5.5\" width=\"19\" height=\"13\" rx=\"4.5\" fill=\"#FF0000\"\/>\r\n                <path d=\"M10 9.2l5 2.8-5 2.8z\" fill=\"#fff\"\/>\r\n              <\/svg>\r\n            <\/span>\r\n\r\n            <span class=\"hmc-channel-logo\" aria-label=\"Google Business\">\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <rect width=\"24\" height=\"24\" rx=\"7\" fill=\"#fff\"\/>\r\n                <path d=\"M17.8 12.2c0-.5 0-.8-.1-1.2H12v2.2h3.3c-.1.7-.6 1.7-1.5 2.3l2 1.5c1.2-1.1 2-2.8 2-4.8z\" fill=\"#4285F4\"\/>\r\n                <path d=\"M12 18c1.6 0 2.9-.5 3.9-1.4l-2-1.5c-.5.4-1.2.7-1.9.7-1.5 0-2.8-1-3.2-2.3H6.7V15c1 1.9 3 3 5.3 3z\" fill=\"#34A853\"\/>\r\n                <path d=\"M8.8 13.5c-.1-.4-.2-.8-.2-1.3s.1-.9.2-1.3V9.4H6.7C6.3 10.2 6 11.1 6 12.2s.3 2 .7 2.8z\" fill=\"#FBBC05\"\/>\r\n                <path d=\"M12 8.5c.9 0 1.8.3 2.4.9l1.8-1.8C14.9 6.4 13.6 6 12 6 9.7 6 7.7 7.3 6.7 9.4l2.1 1.6c.4-1.4 1.7-2.5 3.2-2.5z\" fill=\"#EA4335\"\/>\r\n              <\/svg>\r\n            <\/span>\r\n\r\n            <span class=\"hmc-channel-logo\" aria-label=\"Site internet\">\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <circle cx=\"12\" cy=\"12\" r=\"10\" fill=\"#287BFF\"\/>\r\n                <path d=\"M4.5 12h15M12 4.2c2 2.2 3.1 4.9 3.1 7.8S14 17.6 12 19.8M12 4.2C10 6.4 8.9 9.1 8.9 12S10 17.6 12 19.8\" fill=\"none\" stroke=\"#fff\" stroke-width=\"1.4\" stroke-linecap=\"round\"\/>\r\n              <\/svg>\r\n            <\/span>\r\n\r\n            <span class=\"hmc-channel-logo\" aria-label=\"Mail\">\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <rect width=\"24\" height=\"24\" rx=\"7\" fill=\"#258BFF\"\/>\r\n                <rect x=\"5\" y=\"7\" width=\"14\" height=\"10\" rx=\"2\" fill=\"none\" stroke=\"#fff\" stroke-width=\"1.5\"\/>\r\n                <path d=\"M6 8l6 4.8L18 8\" fill=\"none\" stroke=\"#fff\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\r\n              <\/svg>\r\n            <\/span>\r\n\r\n            <span class=\"hmc-channel-logo\" aria-label=\"Pinterest\">\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <circle cx=\"12\" cy=\"12\" r=\"11\" fill=\"#E60023\"\/>\r\n                <path d=\"M12.5 6.5c-3 0-4.6 2.2-4.6 4.5 0 1.1.4 2.1 1.3 2.4.1 0 .2 0 .2-.1l.4-1.4v-.2c-.3-.4-.5-1-.5-1.7 0-1.6 1.2-3.1 3.2-3.1 1.7 0 2.7 1 2.7 2.4 0 1.8-.8 3.3-2 3.3-.7 0-1.2-.6-1-1.3.2-.8.6-1.7.6-2.3 0-.5-.3-.9-.8-.9-.7 0-1.2.7-1.2 1.6 0 .6.2 1 .2 1l-.9 3.8c-.3 1.2 0 2.6.1 2.8 0 .1.1.1.2 0 .1-.1 1-1.3 1.3-2.5l.3-1.2c.2.4.9.8 1.7.8 2.3 0 3.8-2.1 3.8-4.9 0-2.1-1.8-4.1-4.6-4.1z\" fill=\"#fff\"\/>\r\n              <\/svg>\r\n            <\/span>\r\n\r\n            <span class=\"hmc-channel-logo\" aria-label=\"Carte de visite\">\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <rect x=\"3\" y=\"5.5\" width=\"18\" height=\"13\" rx=\"3\" fill=\"#EEF2F8\"\/>\r\n                <circle cx=\"8\" cy=\"10.2\" r=\"2\" fill=\"#07142B\"\/>\r\n                <path d=\"M5.8 15c.7-1.7 3.7-1.7 4.4 0\" fill=\"none\" stroke=\"#07142B\" stroke-width=\"1.2\" stroke-linecap=\"round\"\/>\r\n                <path d=\"M13 9.3h4.6M13 12h4.6M13 14.7h3.2\" fill=\"none\" stroke=\"#07142B\" stroke-width=\"1.2\" stroke-linecap=\"round\"\/>\r\n              <\/svg>\r\n            <\/span>\r\n\r\n            <span class=\"hmc-channel-logo hmc-channel-logo--inrcy\" aria-label=\"Site iNrCy\">\r\n              <img decoding=\"async\"\r\n                src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2025\/09\/cropped-cropped-Design-sans-titre-26-178x59.png\"\r\n                alt=\"Logo iNrCy\"\r\n              >\r\n            <\/span>\r\n\r\n            <span class=\"hmc-channel-logo hmc-channel-logo--search\" aria-label=\"iNr'Search\">\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <defs>\r\n                  <linearGradient id=\"hmcSearchGrad\" x1=\"0\" y1=\"1\" x2=\"1\" y2=\"0\">\r\n                    <stop offset=\"0%\" stop-color=\"#FF7437\"\/>\r\n                    <stop offset=\"35%\" stop-color=\"#FF2F91\"\/>\r\n                    <stop offset=\"68%\" stop-color=\"#A62FFF\"\/>\r\n                    <stop offset=\"100%\" stop-color=\"#178CFF\"\/>\r\n                  <\/linearGradient>\r\n                <\/defs>\r\n                <rect width=\"24\" height=\"24\" rx=\"7\" fill=\"url(#hmcSearchGrad)\"\/>\r\n                <circle cx=\"10.3\" cy=\"10.3\" r=\"4.2\" fill=\"none\" stroke=\"#fff\" stroke-width=\"1.7\"\/>\r\n                <path d=\"M13.5 13.5l4 4\" fill=\"none\" stroke=\"#fff\" stroke-width=\"1.7\" stroke-linecap=\"round\"\/>\r\n              <\/svg>\r\n            <\/span>\r\n\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <div class=\"hmc-transition-divider\" aria-hidden=\"true\">\r\n      <span class=\"hmc-transition-line\"><\/span>\r\n      <span class=\"hmc-transition-dot\">\u2304<\/span>\r\n      <span class=\"hmc-transition-line\"><\/span>\r\n    <\/div>\r\n\r\n  `;\r\n\r\n  inner.insertBefore(mobileHero, inner.firstChild);\r\n\r\n  \/* =========================================================\r\n     ANIMATION D'ENTR\u00c9E\r\n     ========================================================= *\/\r\n\r\n  const animatedItems = Array.from(\r\n    mobileHero.querySelectorAll(\r\n      '.hmc-title, .hmc-proof, .hmc-subtitle, .hmc-offer, .hmc-benefit, .hmc-cta, .hmc-microcopy, .hmc-phone-stage'\r\n    )\r\n  );\r\n\r\n  animatedItems.forEach((el, index)=>{\r\n    el.style.setProperty('--hmc-delay', `${Math.min(index * 75, 650)}ms`);\r\n  });\r\n\r\n  function revealMobileHero(){\r\n    if(!mq.matches) return;\r\n\r\n    window.requestAnimationFrame(()=>{\r\n      mobileHero.classList.add('is-ready');\r\n    });\r\n  }\r\n\r\n  if(document.readyState === 'complete'){\r\n    setTimeout(revealMobileHero, 80);\r\n  } else {\r\n    window.addEventListener('load', ()=>{\r\n      setTimeout(revealMobileHero, 80);\r\n    }, {once:true});\r\n  }\r\n\r\n  \/* =========================================================\r\n     ANIMATION DU PRIX\r\n     ========================================================= *\/\r\n\r\n  const priceNode = mobileHero.querySelector('.hmc-price > strong');\r\n  let priceAnimated = false;\r\n\r\n  function animatePrice(){\r\n\r\n    if(!mq.matches || !priceNode || priceAnimated) return;\r\n\r\n    priceAnimated = true;\r\n\r\n    const duration = 650;\r\n    const start = performance.now();\r\n\r\n    function frame(now){\r\n      const p = Math.min((now - start) \/ duration, 1);\r\n      const eased = 1 - Math.pow(1 - p, 3);\r\n      const value = Math.round(58 * eased);\r\n\r\n      priceNode.textContent = value + '\u20ac';\r\n\r\n      if(p < 1){\r\n        requestAnimationFrame(frame);\r\n      } else {\r\n        priceNode.textContent = '58\u20ac';\r\n      }\r\n    }\r\n\r\n    requestAnimationFrame(frame);\r\n  }\r\n\r\n  \/* =========================================================\r\n     OBSERVATION DU HERO MOBILE\r\n     ========================================================= *\/\r\n\r\n  const mobileObserver = new IntersectionObserver(\r\n    entries =>{\r\n      const entry = entries[0];\r\n\r\n      if(entry.isIntersecting && mq.matches){\r\n        mobileHero.classList.add('is-in-view');\r\n        animatePrice();\r\n      } else {\r\n        mobileHero.classList.remove('is-in-view');\r\n      }\r\n    },\r\n    {\r\n      threshold:.12\r\n    }\r\n  );\r\n\r\n  mobileObserver.observe(mobileHero);\r\n\r\n  \/* =========================================================\r\n     GLOW CYCLIQUE DU CTA\r\n     ========================================================= *\/\r\n\r\n  const cta = mobileHero.querySelector('.hmc-cta');\r\n  let ctaTimer = null;\r\n\r\n  function startCTAGlow(){\r\n    if(!mq.matches || !cta) return;\r\n\r\n    clearInterval(ctaTimer);\r\n\r\n    ctaTimer = setInterval(()=>{\r\n      if(!mobileHero.classList.contains('is-in-view')) return;\r\n\r\n      cta.classList.remove('hmc-cta-pulse');\r\n      void cta.offsetWidth;\r\n      cta.classList.add('hmc-cta-pulse');\r\n\r\n      setTimeout(()=>{\r\n        cta.classList.remove('hmc-cta-pulse');\r\n      }, 1100);\r\n\r\n    }, 4200);\r\n  }\r\n\r\n  \/* =========================================================\r\n     PETIT EFFET DE PROFONDEUR AU SCROLL\r\n     ========================================================= *\/\r\n\r\n  const phoneStage = mobileHero.querySelector('.hmc-phone-stage');\r\n  let scrollTicking = false;\r\n\r\n  function mobileParallax(){\r\n\r\n    if(!mq.matches || !phoneStage){\r\n      return;\r\n    }\r\n\r\n    if(scrollTicking) return;\r\n    scrollTicking = true;\r\n\r\n    requestAnimationFrame(()=>{\r\n\r\n      const rect = mobileHero.getBoundingClientRect();\r\n      const viewport = window.innerHeight || 1;\r\n      const progress = Math.max(\r\n        -1,\r\n        Math.min(\r\n          1,\r\n          (viewport * .62 - rect.top) \/ viewport\r\n        )\r\n      );\r\n\r\n      phoneStage.style.setProperty(\r\n        '--hmc-parallax',\r\n        `${progress * 8}px`\r\n      );\r\n\r\n      scrollTicking = false;\r\n\r\n    });\r\n  }\r\n\r\n  window.addEventListener(\r\n    'scroll',\r\n    mobileParallax,\r\n    {passive:true}\r\n  );\r\n\r\n  \/* =========================================================\r\n     RESPONSIVE CHANGE\r\n     ========================================================= *\/\r\n\r\n  function syncMobileMode(){\r\n\r\n    if(mq.matches){\r\n      revealMobileHero();\r\n      startCTAGlow();\r\n      mobileParallax();\r\n    } else {\r\n      clearInterval(ctaTimer);\r\n      mobileHero.classList.remove('is-in-view');\r\n      mobileHero.style.removeProperty('--hmc-parallax');\r\n    }\r\n\r\n  }\r\n\r\n  if(typeof mq.addEventListener === 'function'){\r\n    mq.addEventListener('change', syncMobileMode);\r\n  } else if(typeof mq.addListener === 'function'){\r\n    mq.addListener(syncMobileMode);\r\n  }\r\n\r\n  syncMobileMode();\r\n\r\n})();\r\n<\/script>\r\n\r\n<!-- =========================================================\r\n     iNrCy \u2014 AJUSTEMENT MOBILE V2\r\n     Compactage automatique selon la hauteur r\u00e9ellement visible\r\n     ========================================================= -->\r\n<script>\r\n(function(){\r\n\r\n  'use strict';\r\n\r\n  const hero = document.getElementById('inrcyHeroSteps');\r\n  if(!hero) return;\r\n\r\n  const mobileHero = hero.querySelector('.hs-mobile-conversion');\r\n  if(!mobileHero) return;\r\n\r\n  const mq = window.matchMedia('(max-width: 760px)');\r\n\r\n  function getVisibleHeight(){\r\n    if(window.visualViewport && window.visualViewport.height){\r\n      return window.visualViewport.height;\r\n    }\r\n\r\n    return window.innerHeight || document.documentElement.clientHeight || 900;\r\n  }\r\n\r\n  function syncHeroDensity(){\r\n\r\n    if(!mq.matches){\r\n      mobileHero.classList.remove('hmc-short-viewport');\r\n      return;\r\n    }\r\n\r\n    const visibleHeight = getVisibleHeight();\r\n\r\n    \/*\r\n     * Safari mobile r\u00e9duit fortement la zone r\u00e9ellement visible\r\n     * avec la barre d'adresse. On compacte alors le hero pour que\r\n     * le haut du t\u00e9l\u00e9phone reste visible d\u00e8s le premier \u00e9cran.\r\n     *\/\r\n    mobileHero.classList.toggle(\r\n      'hmc-short-viewport',\r\n      visibleHeight < 820\r\n    );\r\n  }\r\n\r\n  syncHeroDensity();\r\n\r\n  window.addEventListener('resize', syncHeroDensity, {passive:true});\r\n  window.addEventListener('orientationchange', syncHeroDensity, {passive:true});\r\n\r\n  if(window.visualViewport){\r\n    window.visualViewport.addEventListener(\r\n      'resize',\r\n      syncHeroDensity,\r\n      {passive:true}\r\n    );\r\n  }\r\n\r\n  if(typeof mq.addEventListener === 'function'){\r\n    mq.addEventListener('change', syncHeroDensity);\r\n  }\r\n\r\n})();\r\n<\/script>\r\n<!-- =========================================================\r\n     iNrCy \u2014 CARROUSEL MOBILE PREMIUM DES \u00c9TAPES\r\n     \u00c9tapes 1 \u00e0 4 uniquement \u2014 <= 760px\r\n     ========================================================= -->\r\n<script>\r\n\/* =========================================================\r\n   iNrCy \u2014 CARROUSEL MOBILE PREMIUM\r\n   \u00c9tapes 1 \u00e0 4 \u2014 <= 760px\r\n\r\n   - Drag r\u00e9el : la slide suit le doigt\r\n   - Swipe gauche \/ droite avec inertie\r\n   - R\u00e9sistance douce aux extr\u00e9mit\u00e9s\r\n   - Snap fluide au rel\u00e2chement\r\n   - Autoplay intelligent\r\n   - Pause apr\u00e8s interaction\r\n   - Dots cliquables\r\n   - Fl\u00e8ches clavier\r\n   - Hauteur adapt\u00e9e \u00e0 chaque slide\r\n   - Scroll vertical mobile conserv\u00e9\r\n   - Rotation \/ resize \/ VisualViewport\r\n   - Respect de prefers-reduced-motion\r\n   ========================================================= *\/\r\n\r\n(function () {\r\n  'use strict';\r\n\r\n  const hero = document.getElementById('inrcyHeroSteps');\r\n  if (!hero) return;\r\n\r\n  \/* \u00c9vite une double initialisation si Elementor r\u00e9injecte le script. *\/\r\n  if (hero.dataset.mobileStepsCarousel === 'premium') return;\r\n  hero.dataset.mobileStepsCarousel = 'premium';\r\n\r\n  const flow = hero.querySelector('#hsFlow');\r\n  if (!flow) return;\r\n\r\n  const steps = [\r\n    hero.querySelector('#hsStep1'),\r\n    hero.querySelector('#hsStep2'),\r\n    hero.querySelector('#hsStep3'),\r\n    hero.querySelector('#hsStep4')\r\n  ].filter(Boolean);\r\n\r\n  if (steps.length < 2) return;\r\n\r\n  const mq = window.matchMedia('(max-width: 760px)');\r\n  const reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)');\r\n\r\n  \/* =========================================================\r\n     CR\u00c9ATION DE LA STRUCTURE\r\n     ========================================================= *\/\r\n\r\n  const viewport = document.createElement('div');\r\n  viewport.className = 'hs-carousel-viewport';\r\n  viewport.id = 'hsStepsCarouselViewport';\r\n  viewport.setAttribute('role', 'region');\r\n  viewport.setAttribute('aria-roledescription', 'carrousel');\r\n  viewport.setAttribute('aria-label', 'Les \u00e9tapes iNrCy');\r\n  viewport.setAttribute('tabindex', '0');\r\n\r\n  const track = document.createElement('div');\r\n  track.className = 'hs-carousel-track';\r\n  track.id = 'hsStepsCarouselTrack';\r\n\r\n  const connections = flow.querySelector('#hsConnections');\r\n\r\n  if (connections && connections.nextSibling) {\r\n    flow.insertBefore(viewport, connections.nextSibling);\r\n  } else {\r\n    flow.appendChild(viewport);\r\n  }\r\n\r\n  viewport.appendChild(track);\r\n  steps.forEach(step => track.appendChild(step));\r\n\r\n  \/* Fl\u00e8ches lat\u00e9rales \u2014 navigation tactile\/clic *\/\r\n  const prevButton = document.createElement('button');\r\n  prevButton.type = 'button';\r\n  prevButton.className = 'hs-carousel-arrow hs-carousel-arrow--prev';\r\n  prevButton.setAttribute('aria-label', '\u00c9tape pr\u00e9c\u00e9dente');\r\n  prevButton.innerHTML = '<span aria-hidden=\"true\">\u2039<\/span>';\r\n\r\n  const nextButton = document.createElement('button');\r\n  nextButton.type = 'button';\r\n  nextButton.className = 'hs-carousel-arrow hs-carousel-arrow--next';\r\n  nextButton.setAttribute('aria-label', '\u00c9tape suivante');\r\n  nextButton.innerHTML = '<span aria-hidden=\"true\">\u203a<\/span>';\r\n\r\n  flow.appendChild(prevButton);\r\n  flow.appendChild(nextButton);\r\n\r\n  const nav = document.createElement('div');\r\n  nav.className = 'hs-carousel-nav';\r\n  nav.setAttribute('aria-label', 'Navigation des \u00e9tapes');\r\n\r\n  const dots = steps.map((step, index) => {\r\n    const dot = document.createElement('button');\r\n    dot.type = 'button';\r\n    dot.className = 'hs-carousel-dot';\r\n    dot.setAttribute('aria-label', `Afficher l\u2019\u00e9tape ${index + 1}`);\r\n    dot.setAttribute('aria-controls', step.id);\r\n    nav.appendChild(dot);\r\n    return dot;\r\n  });\r\n\r\n  flow.appendChild(nav);\r\n\r\n  \/* =========================================================\r\n     R\u00c9GLAGES\r\n     ========================================================= *\/\r\n\r\n  const AUTOPLAY_DELAY = 6500;\r\n  const MANUAL_PAUSE = 10000;\r\n\r\n  \/* Distance minimale avant de changer de slide. *\/\r\n  const DISTANCE_RATIO = 0.06;\r\n\r\n  \/* Un swipe court mais rapide doit \u00e9galement changer de slide. *\/\r\n  const VELOCITY_THRESHOLD = 0.20; \/\/ px\/ms\r\n\r\n  \/* R\u00e9sistance quand on tire au-del\u00e0 de la premi\u00e8re\/derni\u00e8re slide. *\/\r\n  const EDGE_RESISTANCE = 0.28;\r\n\r\n  \/* Dur\u00e9es de snap. *\/\r\n  const SNAP_DURATION = 280;\r\n  const FAST_SNAP_DURATION = 190;\r\n\r\n  \/* =========================================================\r\n     \u00c9TAT\r\n     ========================================================= *\/\r\n\r\n  let current = 0;\r\n  let autoDirection = 1;\r\n\r\n  let autoTimer = null;\r\n  let resumeTimer = null;\r\n  let heightFrame = 0;\r\n\r\n  let isInView = false;\r\n  let isDragging = false;\r\n  let axisLocked = null;\r\n\r\n  let pointerId = null;\r\n  let startX = 0;\r\n  let startY = 0;\r\n  let lastX = 0;\r\n  let lastTime = 0;\r\n  let velocityX = 0;\r\n  let dragX = 0;\r\n\r\n  \/* =========================================================\r\n     OUTILS\r\n     ========================================================= *\/\r\n\r\n  function clamp(value, min, max) {\r\n    return Math.min(Math.max(value, min), max);\r\n  }\r\n\r\n  function viewportWidth() {\r\n    return Math.max(viewport.getBoundingClientRect().width, 1);\r\n  }\r\n\r\n  function baseTranslatePx(index = current) {\r\n    return -(index * viewportWidth());\r\n  }\r\n\r\n  function setTrackTransition(enabled, duration = SNAP_DURATION) {\r\n    if (!mq.matches) {\r\n      track.style.transition = '';\r\n      return;\r\n    }\r\n\r\n    if (!enabled || reduceMotion.matches) {\r\n      track.style.transition = 'none';\r\n      return;\r\n    }\r\n\r\n    track.style.transition =\r\n      `transform ${duration}ms cubic-bezier(.22,.78,.24,1)`;\r\n  }\r\n\r\n  function setTrackX(px) {\r\n    track.style.transform = `translate3d(${px}px,0,0)`;\r\n  }\r\n\r\n  function snapToCurrent(immediate = false, duration = SNAP_DURATION) {\r\n    setTrackTransition(!immediate, duration);\r\n    setTrackX(baseTranslatePx());\r\n\r\n    if (immediate || reduceMotion.matches) {\r\n      requestAnimationFrame(() => {\r\n        if (mq.matches) {\r\n          setTrackTransition(true, SNAP_DURATION);\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n  function updateA11yAndDots() {\r\n    steps.forEach((step, index) => {\r\n      const active = index === current;\r\n\r\n      step.classList.toggle('hs-carousel-current', active);\r\n\r\n      if (mq.matches) {\r\n        step.setAttribute('aria-hidden', active ? 'false' : 'true');\r\n      } else {\r\n        step.removeAttribute('aria-hidden');\r\n      }\r\n    });\r\n\r\n    dots.forEach((dot, index) => {\r\n      const active = index === current;\r\n      dot.classList.toggle('active', active);\r\n      dot.setAttribute('aria-current', active ? 'true' : 'false');\r\n      dot.tabIndex = active ? 0 : -1;\r\n    });\r\n  }\r\n\r\n  \/* =========================================================\r\n     HAUTEUR DE LA SLIDE ACTIVE\r\n     ========================================================= *\/\r\n\r\n  function updateViewportHeight(immediate = false, targetIndex = current) {\r\n    if (!mq.matches) return;\r\n\r\n    cancelAnimationFrame(heightFrame);\r\n\r\n    heightFrame = requestAnimationFrame(() => {\r\n      const target = steps[targetIndex];\r\n      if (!target) return;\r\n\r\n      const height = Math.ceil(target.getBoundingClientRect().height);\r\n      if (!height) return;\r\n\r\n      if (immediate || reduceMotion.matches) {\r\n        viewport.style.transition = 'none';\r\n      } else {\r\n        viewport.style.transition =\r\n          'height 420ms cubic-bezier(.22,.78,.24,1)';\r\n      }\r\n\r\n      viewport.style.height = `${height}px`;\r\n\r\n      if (immediate || reduceMotion.matches) {\r\n        requestAnimationFrame(() => {\r\n          if (mq.matches) {\r\n            viewport.style.transition =\r\n              'height 420ms cubic-bezier(.22,.78,.24,1)';\r\n          }\r\n        });\r\n      }\r\n    });\r\n  }\r\n\r\n  \/* =========================================================\r\n     NAVIGATION\r\n     ========================================================= *\/\r\n\r\n  function goTo(index, options = {}) {\r\n    if (!steps.length) return;\r\n\r\n    const {\r\n      immediate = false,\r\n      manual = false,\r\n      duration = SNAP_DURATION\r\n    } = options;\r\n\r\n    const next = clamp(index, 0, steps.length - 1);\r\n\r\n    current = next;\r\n    dragX = 0;\r\n\r\n    updateA11yAndDots();\r\n    updateViewportHeight(immediate, current);\r\n    snapToCurrent(immediate, duration);\r\n\r\n    if (manual) {\r\n      pauseAfterManualAction();\r\n    }\r\n  }\r\n\r\n  \/* =========================================================\r\n     AUTOPLAY\r\n     ========================================================= *\/\r\n\r\n  function stopAutoplay() {\r\n    if (autoTimer) {\r\n      clearInterval(autoTimer);\r\n      autoTimer = null;\r\n    }\r\n  }\r\n\r\n  function canAutoplay() {\r\n    return (\r\n      mq.matches &&\r\n      !reduceMotion.matches &&\r\n      isInView &&\r\n      !document.hidden &&\r\n      !isDragging\r\n    );\r\n  }\r\n\r\n  function startAutoplay() {\r\n    stopAutoplay();\r\n\r\n    if (!canAutoplay()) return;\r\n\r\n    autoTimer = setInterval(() => {\r\n      const next = (current + 1) % steps.length;\r\n\r\n      \/* Boucle continue : 1 \u2192 2 \u2192 3 \u2192 4 \u2192 1 *\/\r\n      goTo(next, {\r\n        duration: SNAP_DURATION\r\n      });\r\n    }, AUTOPLAY_DELAY);\r\n  }\r\n\r\n  function pauseAfterManualAction() {\r\n    stopAutoplay();\r\n    clearTimeout(resumeTimer);\r\n\r\n    resumeTimer = setTimeout(() => {\r\n      startAutoplay();\r\n    }, MANUAL_PAUSE);\r\n  }\r\n\r\n  \/* =========================================================\r\n     DRAG \/ SWIPE PREMIUM\r\n     ========================================================= *\/\r\n\r\n  \/*\r\n   * pan-y laisse le navigateur g\u00e9rer naturellement le scroll vertical.\r\n   * Le mouvement horizontal est r\u00e9serv\u00e9 au carrousel.\r\n   *\/\r\n  viewport.style.touchAction = 'pan-y';\r\n  viewport.style.webkitUserSelect = 'none';\r\n  viewport.style.userSelect = 'none';\r\n\r\n  function resetDragState() {\r\n    isDragging = false;\r\n    axisLocked = null;\r\n    pointerId = null;\r\n    dragX = 0;\r\n    velocityX = 0;\r\n    hero.classList.remove('hs-carousel-dragging');\r\n  }\r\n\r\n  function onPointerDown(event) {\r\n    if (!mq.matches) return;\r\n    if (event.pointerType === 'mouse' && event.button !== 0) return;\r\n\r\n    isDragging = true;\r\n    axisLocked = null;\r\n    pointerId = event.pointerId;\r\n\r\n    startX = event.clientX;\r\n    startY = event.clientY;\r\n    lastX = event.clientX;\r\n    lastTime = performance.now();\r\n\r\n    velocityX = 0;\r\n    dragX = 0;\r\n\r\n    stopAutoplay();\r\n    clearTimeout(resumeTimer);\r\n\r\n    setTrackTransition(false);\r\n\r\n    hero.classList.add('hs-carousel-dragging');\r\n\r\n    try {\r\n      viewport.setPointerCapture(pointerId);\r\n    } catch (_) {}\r\n  }\r\n\r\n  function onPointerMove(event) {\r\n    if (!mq.matches || !isDragging || event.pointerId !== pointerId) return;\r\n\r\n    const dx = event.clientX - startX;\r\n    const dy = event.clientY - startY;\r\n\r\n    \/*\r\n     * On attend quelques pixels avant de d\u00e9cider si le geste\r\n     * est horizontal ou vertical.\r\n     *\/\r\n    if (!axisLocked) {\r\n      if (Math.abs(dx) < 7 && Math.abs(dy) < 7) return;\r\n\r\n      axisLocked =\r\n        Math.abs(dx) > Math.abs(dy) * 1.08\r\n          ? 'x'\r\n          : 'y';\r\n\r\n      if (axisLocked === 'y') {\r\n        \/*\r\n         * On abandonne le drag : le navigateur garde\r\n         * le scroll vertical enti\u00e8rement naturel.\r\n         *\/\r\n        snapToCurrent(false, FAST_SNAP_DURATION);\r\n        return;\r\n      }\r\n    }\r\n\r\n    if (axisLocked !== 'x') return;\r\n\r\n    const now = performance.now();\r\n    const dt = Math.max(now - lastTime, 1);\r\n    const instantVelocity = (event.clientX - lastX) \/ dt;\r\n\r\n    \/* Lissage de la v\u00e9locit\u00e9 pour \u00e9viter les faux d\u00e9parts. *\/\r\n    velocityX = velocityX * 0.72 + instantVelocity * 0.28;\r\n\r\n    lastX = event.clientX;\r\n    lastTime = now;\r\n\r\n    dragX = dx;\r\n\r\n    \/*\r\n     * Pas de r\u00e9sistance aux extr\u00e9mit\u00e9s :\r\n     * le carrousel boucle, donc le geste reste naturel.\r\n     *\/\r\n    setTrackX(baseTranslatePx() + dragX);\r\n  }\r\n\r\n  function finishPointer(event, cancelled = false) {\r\n    if (!isDragging) return;\r\n    if (\r\n      pointerId !== null &&\r\n      event.pointerId !== undefined &&\r\n      event.pointerId !== pointerId\r\n    ) return;\r\n\r\n    const horizontal = axisLocked === 'x';\r\n    const width = viewportWidth();\r\n\r\n    let next = current;\r\n\r\n    if (!cancelled && horizontal) {\r\n      const enoughDistance =\r\n        Math.abs(dragX) >= width * DISTANCE_RATIO;\r\n\r\n      const enoughVelocity =\r\n        Math.abs(velocityX) >= VELOCITY_THRESHOLD;\r\n\r\n      if (enoughDistance || enoughVelocity) {\r\n        if (dragX < 0 || velocityX < -VELOCITY_THRESHOLD) {\r\n          next = current + 1;\r\n          autoDirection = 1;\r\n        } else if (dragX > 0 || velocityX > VELOCITY_THRESHOLD) {\r\n          next = current - 1;\r\n          autoDirection = -1;\r\n        }\r\n      }\r\n    }\r\n\r\n    \/* Boucle manuelle :\r\n       4 + swipe gauche = 1\r\n       1 + swipe droite = 4 *\/\r\n    if (next >= steps.length) next = 0;\r\n    if (next < 0) next = steps.length - 1;\r\n\r\n    const changed = next !== current;\r\n\r\n    resetDragState();\r\n\r\n    goTo(next, {\r\n      duration: changed ? SNAP_DURATION : FAST_SNAP_DURATION\r\n    });\r\n\r\n    pauseAfterManualAction();\r\n\r\n    try {\r\n      if (\r\n        event.pointerId !== undefined &&\r\n        viewport.hasPointerCapture(event.pointerId)\r\n      ) {\r\n        viewport.releasePointerCapture(event.pointerId);\r\n      }\r\n    } catch (_) {}\r\n  }\r\n\r\n  viewport.addEventListener('pointerdown', onPointerDown);\r\n\r\n  viewport.addEventListener('pointermove', onPointerMove, {\r\n    passive: true\r\n  });\r\n\r\n  viewport.addEventListener('pointerup', event => {\r\n    finishPointer(event, false);\r\n  });\r\n\r\n  viewport.addEventListener('pointercancel', event => {\r\n    finishPointer(event, true);\r\n  });\r\n\r\n  viewport.addEventListener('lostpointercapture', event => {\r\n    if (isDragging) {\r\n      finishPointer(event, true);\r\n    }\r\n  });\r\n\r\n  \/* Emp\u00eache le drag fant\u00f4me d\u2019images dans certains navigateurs. *\/\r\n  viewport.addEventListener('dragstart', event => {\r\n    event.preventDefault();\r\n  });\r\n\r\n  \/* =========================================================\r\n     FL\u00c8CHES \u2014 BOUCLE INFINIE\r\n     ========================================================= *\/\r\n\r\n  function goNext(manual = true) {\r\n    goTo((current + 1) % steps.length, {\r\n      manual,\r\n      duration: SNAP_DURATION\r\n    });\r\n  }\r\n\r\n  function goPrev(manual = true) {\r\n    goTo((current - 1 + steps.length) % steps.length, {\r\n      manual,\r\n      duration: SNAP_DURATION\r\n    });\r\n  }\r\n\r\n  prevButton.addEventListener('click', () => {\r\n    if (!mq.matches) return;\r\n    goPrev(true);\r\n  });\r\n\r\n  nextButton.addEventListener('click', () => {\r\n    if (!mq.matches) return;\r\n    goNext(true);\r\n  });\r\n\r\n  \/* =========================================================\r\n     DOTS\r\n     ========================================================= *\/\r\n\r\n  dots.forEach((dot, index) => {\r\n    dot.addEventListener('click', () => {\r\n      if (!mq.matches) return;\r\n\r\n      autoDirection = index >= current ? 1 : -1;\r\n\r\n      goTo(index, {\r\n        manual: true,\r\n        duration: SNAP_DURATION\r\n      });\r\n    });\r\n  });\r\n\r\n  \/* =========================================================\r\n     CLAVIER\r\n     ========================================================= *\/\r\n\r\n  viewport.addEventListener('keydown', event => {\r\n    if (!mq.matches) return;\r\n\r\n    if (event.key === 'ArrowRight') {\r\n      event.preventDefault();\r\n      goNext(true);\r\n    }\r\n\r\n    if (event.key === 'ArrowLeft') {\r\n      event.preventDefault();\r\n      goPrev(true);\r\n    }\r\n  });\r\n\r\n  \/* =========================================================\r\n     VISIBILIT\u00c9\r\n     ========================================================= *\/\r\n\r\n  if ('IntersectionObserver' in window) {\r\n    const observer = new IntersectionObserver(entries => {\r\n      const entry = entries[0];\r\n      isInView = Boolean(entry && entry.isIntersecting);\r\n\r\n      if (isInView) {\r\n        updateViewportHeight(true);\r\n        startAutoplay();\r\n      } else {\r\n        stopAutoplay();\r\n      }\r\n    }, {\r\n      threshold: 0.18,\r\n      rootMargin: '80px 0px 80px 0px'\r\n    });\r\n\r\n    observer.observe(viewport);\r\n  } else {\r\n    isInView = true;\r\n  }\r\n\r\n  \/* =========================================================\r\n     RESPONSIVE \/ ROTATION\r\n     ========================================================= *\/\r\n\r\n  function syncMode() {\r\n    clearTimeout(resumeTimer);\r\n    resetDragState();\r\n\r\n    if (mq.matches) {\r\n      hero.classList.add('hs-mobile-carousel-ready');\r\n\r\n      \/*\r\n       * Important apr\u00e8s une rotation :\r\n       * la translation d\u00e9pend de la largeur r\u00e9elle du viewport.\r\n       *\/\r\n      goTo(current, {\r\n        immediate: true\r\n      });\r\n\r\n      startAutoplay();\r\n    } else {\r\n      stopAutoplay();\r\n\r\n      hero.classList.remove('hs-mobile-carousel-ready');\r\n      hero.classList.remove('hs-carousel-dragging');\r\n\r\n      viewport.style.height = '';\r\n      viewport.style.transition = '';\r\n      track.style.transform = '';\r\n      track.style.transition = '';\r\n\r\n      steps.forEach(step => {\r\n        step.classList.remove('hs-carousel-current');\r\n        step.removeAttribute('aria-hidden');\r\n      });\r\n\r\n      dots.forEach(dot => {\r\n        dot.removeAttribute('aria-current');\r\n        dot.tabIndex = 0;\r\n      });\r\n    }\r\n  }\r\n\r\n  function onResize() {\r\n    if (!mq.matches || isDragging) return;\r\n\r\n    \/*\r\n     * On recalcule la largeur de translation.\r\n     * requestAnimationFrame \u00e9vite les saccades pendant le resize.\r\n     *\/\r\n    requestAnimationFrame(() => {\r\n      updateViewportHeight(true);\r\n      snapToCurrent(true);\r\n    });\r\n  }\r\n\r\n  window.addEventListener('resize', onResize, {\r\n    passive: true\r\n  });\r\n\r\n  window.addEventListener('orientationchange', () => {\r\n    setTimeout(() => {\r\n      if (!mq.matches) return;\r\n      updateViewportHeight(true);\r\n      snapToCurrent(true);\r\n    }, 220);\r\n  }, {\r\n    passive: true\r\n  });\r\n\r\n  if (window.visualViewport) {\r\n    window.visualViewport.addEventListener('resize', onResize, {\r\n      passive: true\r\n    });\r\n  }\r\n\r\n  if (typeof mq.addEventListener === 'function') {\r\n    mq.addEventListener('change', syncMode);\r\n  } else if (typeof mq.addListener === 'function') {\r\n    mq.addListener(syncMode);\r\n  }\r\n\r\n  document.addEventListener('visibilitychange', () => {\r\n    if (document.hidden) {\r\n      stopAutoplay();\r\n    } else {\r\n      startAutoplay();\r\n    }\r\n  });\r\n\r\n  \/* =========================================================\r\n     IMAGES \/ CONTENU DYNAMIQUE\r\n     ========================================================= *\/\r\n\r\n  viewport.querySelectorAll('img').forEach(img => {\r\n    img.setAttribute('draggable', 'false');\r\n\r\n    if (!img.complete) {\r\n      img.addEventListener('load', () => {\r\n        updateViewportHeight(true);\r\n      }, {\r\n        once: true\r\n      });\r\n    }\r\n  });\r\n\r\n  if ('ResizeObserver' in window) {\r\n    const resizeObserver = new ResizeObserver(() => {\r\n      if (!isDragging) {\r\n        updateViewportHeight(true);\r\n      }\r\n    });\r\n\r\n    steps.forEach(step => resizeObserver.observe(step));\r\n  }\r\n\r\n  \/* =========================================================\r\n     INITIALISATION\r\n     ========================================================= *\/\r\n\r\n  updateA11yAndDots();\r\n  goTo(0, {\r\n    immediate: true\r\n  });\r\n  syncMode();\r\n\r\n})();\r\n\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ba73242 e-flex e-con-boxed e-con e-parent\" data-id=\"ba73242\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-030cbc4 elementor-widget elementor-widget-html\" data-id=\"030cbc4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section id=\"inrcyAutonomy\">\n\n  <div class=\"ia-wrap\">\n\n    <!-- ===================================================== -->\n    <!-- BLOC 1 \u2014 INTRO                                        -->\n    <!-- ===================================================== -->\n    <div class=\"ia-block ia-hero\">\n      <div class=\"ia-badge\">Fonctionnement 100% autonome<\/div>\n\n      <h2>\n        Votre communication avance,\n        <span>m\u00eame quand vous \u00eates sur le terrain.<\/span>\n      <\/h2>\n\n      <p>\n        iNrCy vous permet de centraliser votre communication, connecter vos canaux,\n        cr\u00e9er gratuitement ceux qui manquent et publier partout en quelques minutes,\n        sans complexit\u00e9 technique.\n      <\/p>\n\n      <div class=\"ia-hero-points\">\n        <span>Inscription rapide<\/span>\n        <span>Cr\u00e9ation du compte<\/span>\n        <span>Connexion des canaux<\/span>\n        <span>Canaux manquants offerts<\/span>\n        <span>Publication multicanale<\/span>\n      <\/div>\n    <\/div>\n\n\n    <!-- ===================================================== -->\n    <!-- BLOC 2 \u2014 DIAGRAMME + ETAPES                           -->\n    <!-- ===================================================== -->\n    <div class=\"ia-block ia-process-block\">\n\n      <div class=\"ia-section-head\">\n        <div class=\"ia-mini-title\">Comment \u00e7a fonctionne ?<\/div>\n\n        <h3>\n          Une mise en place simple,\n          <span>pens\u00e9e pour \u00eatre autonome de A \u00e0 Z.<\/span>\n        <\/h3>\n      <\/div>\n\n      <div class=\"ia-process-grid\">\n\n        <!-- DIAGRAMME CIRCULAIRE -->\n        <div class=\"ia-diagram-col\">\n\n          <div class=\"ia-diagram\">\n            <div class=\"ia-ring ring-1\"><\/div>\n            <div class=\"ia-ring ring-2\"><\/div>\n\n            <div class=\"ia-center\">\n              <img decoding=\"async\"\n                src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2025\/09\/cropped-cropped-Design-sans-titre-26-178x59.png\"\n                alt=\"Logo iNrCy\"\n              >\n              <strong>iNrCy<\/strong>\n              <span>\n                Tout est centralis\u00e9\n                dans une seule plateforme\n              <\/span>\n            <\/div>\n\n            <div class=\"ia-node ia-node-1\">\n              <b>1<\/b>\n              <span>Inscription<\/span>\n            <\/div>\n\n            <div class=\"ia-node ia-node-2\">\n              <b>2<\/b>\n              <span>Compte cr\u00e9\u00e9<\/span>\n            <\/div>\n\n            <div class=\"ia-node ia-node-3\">\n              <b>3<\/b>\n              <span>Canaux connect\u00e9s<\/span>\n            <\/div>\n\n            <div class=\"ia-node ia-node-4\">\n              <b>4<\/b>\n              <span>Canaux manquants offerts<\/span>\n            <\/div>\n\n            <div class=\"ia-node ia-node-5\">\n              <b>5<\/b>\n              <span>Publication en quelques minutes<\/span>\n            <\/div>\n          <\/div>\n\n        <\/div>\n\n\n        <!-- ETAPES A DROITE -->\n        <div class=\"ia-steps-col\">\n\n          <div class=\"ia-step-card\">\n            <div class=\"ia-step-arrow\">\u2192<\/div>\n            <div class=\"ia-step-num\">1.<\/div>\n            <div class=\"ia-step-copy\">\n              <strong>Inscrivez-vous<\/strong>\n              <p>\n                Vous d\u00e9marrez simplement depuis la plateforme,\n                sans mise en place compliqu\u00e9e.\n              <\/p>\n            <\/div>\n          <\/div>\n\n          <div class=\"ia-step-card\">\n            <div class=\"ia-step-arrow\">\u2192<\/div>\n            <div class=\"ia-step-num\">2.<\/div>\n            <div class=\"ia-step-copy\">\n              <strong>Cr\u00e9ez votre compte<\/strong>\n              <p>\n                Votre espace est pr\u00eat \u00e0 accueillir vos contenus,\n                vos canaux et votre communication.\n              <\/p>\n            <\/div>\n          <\/div>\n\n          <div class=\"ia-step-card\">\n            <div class=\"ia-step-arrow\">\u2192<\/div>\n            <div class=\"ia-step-num\">3.<\/div>\n            <div class=\"ia-step-copy\">\n              <strong>Connectez tous vos canaux<\/strong>\n              <p>\n                Facebook, Instagram, LinkedIn, Google Business,\n                TikTok, YouTube, Mail, Site internet et plus encore.\n              <\/p>\n            <\/div>\n          <\/div>\n\n          <div class=\"ia-step-card ia-step-card--highlight\">\n            <div class=\"ia-step-arrow\">\u2192<\/div>\n            <div class=\"ia-step-num\">4.<\/div>\n            <div class=\"ia-step-copy\">\n              <strong>Cr\u00e9ation des canaux manquants offerte<\/strong>\n              <p>\n                Si certains canaux ne sont pas encore pr\u00eats,\n                iNrCy vous accompagne avec leur cr\u00e9ation offerte.\n              <\/p>\n            <\/div>\n          <\/div>\n\n          <div class=\"ia-step-card ia-step-card--final\">\n            <div class=\"ia-step-arrow\">\u2192<\/div>\n            <div class=\"ia-step-num\">5.<\/div>\n            <div class=\"ia-step-copy\">\n              <strong>Publiez partout en quelques minutes<\/strong>\n              <p>\n                Une seule action, plusieurs canaux diffus\u00e9s :\n                votre communication devient fluide, rapide et coh\u00e9rente.\n              <\/p>\n            <\/div>\n          <\/div>\n\n        <\/div>\n\n      <\/div>\n    <\/div>\n\n\n    <!-- ===================================================== -->\n    <!-- BLOC 3 \u2014 CITATION                                     -->\n    <!-- ===================================================== -->\n    <div class=\"ia-block ia-quote-block\">\n\n      <div class=\"ia-quote-mark\">\u201c<\/div>\n\n      <h3>\n        Une plateforme con\u00e7ue\n        <span>pour tous les professionnels.<\/span>\n      <\/h3>\n\n      <p class=\"ia-quote-sub\">\n        Votre m\u00e9tier, ce n\u2019est pas la com.\n        <strong>Le n\u00f4tre, c\u2019est de la rendre simple, rapide et efficace.<\/strong>\n      <\/p>\n\n    <\/div>\n\n  <\/div>\n<\/section>\n<script>\n(function(){\n\n  const diagram = document.querySelector(\n    '#inrcyAutonomy .ia-diagram'\n  );\n\n  if(!diagram) return;\n\n  \/* Evite de lancer le script 2 fois *\/\n  if(diagram.dataset.premiumDiagram === 'true') return;\n  diagram.dataset.premiumDiagram = 'true';\n\n\n  \/* =========================================================\n     AJOUT DU CSS AUTOMATIQUEMENT\n     ========================================================= *\/\n\n  const style = document.createElement('style');\n\n  style.textContent = `\n\n    \/* =======================================================\n       DIAGRAMME PREMIUM INR CY\n       ======================================================= *\/\n\n    #inrcyAutonomy .ia-diagram{\n      isolation:isolate;\n    }\n\n\n    \/* -------------------------------------------------------\n       SVG CONNECTEURS\n       ------------------------------------------------------- *\/\n\n    #inrcyAutonomy .ia-js-connections{\n      position:absolute;\n\n      inset:0;\n\n      width:100%;\n      height:100%;\n\n      z-index:1;\n\n      pointer-events:none;\n\n      overflow:visible;\n    }\n\n\n    #inrcyAutonomy .ia-js-path-bg{\n      fill:none;\n\n      stroke:rgba(255,255,255,.055);\n\n      stroke-width:1.4;\n\n      stroke-linecap:round;\n    }\n\n\n    #inrcyAutonomy .ia-js-path{\n      fill:none;\n\n      stroke:url(#iaPremiumGradient);\n\n      stroke-width:2.2;\n\n      stroke-linecap:round;\n\n      filter:\n        drop-shadow(\n          0 0 7px\n          rgba(174,50,255,.75)\n        );\n\n      opacity:.12;\n\n      transition:\n        opacity .35s ease;\n    }\n\n\n    #inrcyAutonomy .ia-js-path.active{\n      opacity:1;\n    }\n\n\n    \/* -------------------------------------------------------\n       POINT MOBILE SUR LA LIGNE\n       ------------------------------------------------------- *\/\n\n    #inrcyAutonomy .ia-js-moving-dot{\n      fill:#ffffff;\n\n      filter:\n        drop-shadow(0 0 5px #FF2F92)\n        drop-shadow(0 0 10px #A62FFF);\n\n      opacity:0;\n    }\n\n\n    #inrcyAutonomy .ia-js-moving-dot.active{\n      opacity:1;\n    }\n\n\n    \/* -------------------------------------------------------\n       CARTES \u00c9TAPES\n       ------------------------------------------------------- *\/\n\n    #inrcyAutonomy .ia-node{\n      z-index:5;\n\n      transition:\n        transform .42s cubic-bezier(.2,.8,.2,1),\n        border-color .42s ease,\n        box-shadow .42s ease,\n        background .42s ease,\n        opacity .42s ease !important;\n    }\n\n\n    #inrcyAutonomy .ia-node::after{\n      content:\"\";\n\n      position:absolute;\n\n      inset:-1px;\n\n      z-index:-1;\n\n      border-radius:inherit;\n\n      opacity:0;\n\n      background:\n        linear-gradient(\n          110deg,\n          rgba(255,116,55,.32),\n          rgba(255,47,145,.26),\n          rgba(166,47,255,.25),\n          rgba(23,140,255,.28)\n        );\n\n      filter:blur(13px);\n\n      transition:\n        opacity .35s ease;\n    }\n\n\n    #inrcyAutonomy .ia-node.ia-js-active{\n      border-color:\n        rgba(184,83,255,.72) !important;\n\n      background:\n        linear-gradient(\n          145deg,\n          #152B52,\n          #0C1A36\n        ) !important;\n\n      box-shadow:\n        0 18px 40px rgba(0,0,0,.28),\n        0 0 22px rgba(166,47,255,.22),\n        inset 0 1px 0 rgba(255,255,255,.07) !important;\n    }\n\n\n    #inrcyAutonomy .ia-node.ia-js-active::after{\n      opacity:1;\n    }\n\n\n    \/* Les transformations particuli\u00e8res sont pr\u00e9serv\u00e9es *\/\n\n    #inrcyAutonomy .ia-node-1.ia-js-active{\n      transform:\n        translateX(-50%)\n        translateY(-5px)\n        scale(1.045) !important;\n    }\n\n\n    #inrcyAutonomy .ia-node-2.ia-js-active,\n    #inrcyAutonomy .ia-node-3.ia-js-active{\n      transform:\n        translateY(-5px)\n        scale(1.045) !important;\n    }\n\n\n    #inrcyAutonomy .ia-node-4.ia-js-active{\n      transform:\n        translateX(-50%)\n        translateY(-5px)\n        scale(1.045) !important;\n    }\n\n\n    #inrcyAutonomy .ia-node-5.ia-js-active{\n      transform:\n        translateY(-50%)\n        translateX(-5px)\n        scale(1.045) !important;\n    }\n\n\n    \/* Num\u00e9ro de l'\u00e9tape *\/\n\n    #inrcyAutonomy .ia-node b{\n      position:relative;\n\n      overflow:hidden;\n\n      transition:\n        transform .35s ease,\n        box-shadow .35s ease;\n    }\n\n\n    #inrcyAutonomy .ia-node.ia-js-active b{\n      transform:scale(1.13);\n\n      box-shadow:\n        0 0 0 6px rgba(255,47,145,.07),\n        0 0 18px rgba(166,47,255,.55);\n    }\n\n\n    #inrcyAutonomy .ia-node b::after{\n      content:\"\";\n\n      position:absolute;\n\n      top:-30%;\n      left:-80%;\n\n      width:45%;\n      height:160%;\n\n      transform:skewX(-24deg);\n\n      background:\n        linear-gradient(\n          90deg,\n          transparent,\n          rgba(255,255,255,.75),\n          transparent\n        );\n\n      opacity:0;\n    }\n\n\n    #inrcyAutonomy .ia-node.ia-js-active b::after{\n      animation:\n        iaNumberShine\n        .8s ease forwards;\n    }\n\n\n    @keyframes iaNumberShine{\n\n      0%{\n        left:-80%;\n        opacity:0;\n      }\n\n      20%{\n        opacity:1;\n      }\n\n      100%{\n        left:150%;\n        opacity:0;\n      }\n\n    }\n\n\n    \/* -------------------------------------------------------\n       CENTRE INR CY\n       ------------------------------------------------------- *\/\n\n    #inrcyAutonomy .ia-center{\n      z-index:6;\n\n      transition:\n        box-shadow .5s ease,\n        transform .5s ease,\n        border-color .5s ease !important;\n    }\n\n\n    #inrcyAutonomy .ia-center.ia-js-center-active{\n      border-color:\n        rgba(161,83,255,.40) !important;\n\n      box-shadow:\n        0 0 0 10px rgba(255,255,255,.018),\n        0 0 32px rgba(166,47,255,.22),\n        0 0 65px rgba(23,140,255,.09) !important;\n    }\n\n\n    \/* Anneau autour du centre *\/\n\n    #inrcyAutonomy .ia-js-center-ring{\n      position:absolute;\n\n      top:50%;\n      left:50%;\n\n      z-index:2;\n\n      width:270px;\n      height:270px;\n\n      transform:\n        translate(-50%,-50%);\n\n      border-radius:50%;\n\n      border:\n        1px solid\n        rgba(166,47,255,.20);\n\n      pointer-events:none;\n\n      animation:\n        iaCenterPulse\n        3s ease-in-out\n        infinite;\n    }\n\n\n    @keyframes iaCenterPulse{\n\n      0%,\n      100%{\n        transform:\n          translate(-50%,-50%)\n          scale(.93);\n\n        opacity:.15;\n      }\n\n      50%{\n        transform:\n          translate(-50%,-50%)\n          scale(1.08);\n\n        opacity:.58;\n      }\n\n    }\n\n\n    \/* -------------------------------------------------------\n       ORBITES LUMINEUSES\n       ------------------------------------------------------- *\/\n\n    #inrcyAutonomy .ia-js-orbit{\n      position:absolute;\n\n      inset:0;\n\n      z-index:3;\n\n      border-radius:50%;\n\n      pointer-events:none;\n\n      animation:\n        iaOrbitRotate\n        12s linear infinite;\n    }\n\n\n    #inrcyAutonomy .ia-js-orbit--2{\n      animation-duration:18s;\n\n      animation-direction:reverse;\n    }\n\n\n    #inrcyAutonomy .ia-js-orbit-dot{\n      position:absolute;\n\n      top:47px;\n      left:50%;\n\n      width:7px;\n      height:7px;\n\n      transform:\n        translateX(-50%);\n\n      border-radius:50%;\n\n      background:#FF43AA;\n\n      box-shadow:\n        0 0 5px #FF43AA,\n        0 0 13px rgba(255,67,170,.9),\n        0 0 25px rgba(166,47,255,.55);\n    }\n\n\n    #inrcyAutonomy\n    .ia-js-orbit--2\n    .ia-js-orbit-dot{\n\n      top:9px;\n\n      width:5px;\n      height:5px;\n\n      background:#258CFF;\n\n      box-shadow:\n        0 0 5px #258CFF,\n        0 0 14px rgba(37,140,255,.8);\n    }\n\n\n    @keyframes iaOrbitRotate{\n\n      to{\n        transform:rotate(360deg);\n      }\n\n    }\n\n\n    \/* -------------------------------------------------------\n       ANNEAUX EXISTANTS\n       ------------------------------------------------------- *\/\n\n    #inrcyAutonomy .ia-ring.ring-1{\n      box-shadow:\n        inset 0 0 30px rgba(23,140,255,.018);\n\n      transition:\n        border-color .4s ease;\n    }\n\n\n    #inrcyAutonomy .ia-ring.ring-2{\n      border-color:\n        rgba(166,44,255,.28) !important;\n\n      filter:\n        drop-shadow(\n          0 0 5px\n          rgba(166,44,255,.15)\n        );\n    }\n\n\n    \/* -------------------------------------------------------\n       MOBILE\n       ------------------------------------------------------- *\/\n\n    @media(max-width:640px){\n\n      #inrcyAutonomy .ia-js-center-ring{\n        width:178px;\n        height:178px;\n      }\n\n      #inrcyAutonomy .ia-js-orbit-dot{\n        top:27px;\n      }\n\n      #inrcyAutonomy\n      .ia-js-orbit--2\n      .ia-js-orbit-dot{\n        top:4px;\n      }\n\n    }\n\n\n    @media(prefers-reduced-motion:reduce){\n\n      #inrcyAutonomy .ia-js-orbit,\n      #inrcyAutonomy .ia-js-center-ring{\n        animation:none !important;\n      }\n\n    }\n\n  `;\n\n  document.head.appendChild(style);\n\n\n\n  \/* =========================================================\n     CR\u00c9ATION DU SVG\n     ========================================================= *\/\n\n  const svgNS =\n    'http:\/\/www.w3.org\/2000\/svg';\n\n\n  const svg =\n    document.createElementNS(\n      svgNS,\n      'svg'\n    );\n\n\n  svg.setAttribute(\n    'class',\n    'ia-js-connections'\n  );\n\n\n  svg.innerHTML = `\n\n    <defs>\n\n      <linearGradient\n        id=\"iaPremiumGradient\"\n        x1=\"0\"\n        y1=\"0\"\n        x2=\"1\"\n        y2=\"1\"\n      >\n\n        <stop\n          offset=\"0%\"\n          stop-color=\"#FF7437\"\n        \/>\n\n        <stop\n          offset=\"30%\"\n          stop-color=\"#FF2F91\"\n        \/>\n\n        <stop\n          offset=\"67%\"\n          stop-color=\"#A62FFF\"\n        \/>\n\n        <stop\n          offset=\"100%\"\n          stop-color=\"#178CFF\"\n        \/>\n\n      <\/linearGradient>\n\n    <\/defs>\n\n  `;\n\n\n  diagram.prepend(svg);\n\n\n\n  \/* =========================================================\n     ORBITES\n     ========================================================= *\/\n\n  const orbit1 =\n    document.createElement('div');\n\n  orbit1.className =\n    'ia-js-orbit';\n\n\n  orbit1.innerHTML =\n    '<span class=\"ia-js-orbit-dot\"><\/span>';\n\n\n  diagram.appendChild(\n    orbit1\n  );\n\n\n\n  const orbit2 =\n    document.createElement('div');\n\n  orbit2.className =\n    'ia-js-orbit ia-js-orbit--2';\n\n\n  orbit2.innerHTML =\n    '<span class=\"ia-js-orbit-dot\"><\/span>';\n\n\n  diagram.appendChild(\n    orbit2\n  );\n\n\n\n  \/* =========================================================\n     HALO CENTRE\n     ========================================================= *\/\n\n  const centerRing =\n    document.createElement('div');\n\n\n  centerRing.className =\n    'ia-js-center-ring';\n\n\n  diagram.appendChild(\n    centerRing\n  );\n\n\n\n  \/* =========================================================\n     \u00c9L\u00c9MENTS\n     ========================================================= *\/\n\n  const center =\n    diagram.querySelector(\n      '.ia-center'\n    );\n\n\n  const nodes = [\n\n    diagram.querySelector(\n      '.ia-node-1'\n    ),\n\n    diagram.querySelector(\n      '.ia-node-2'\n    ),\n\n    diagram.querySelector(\n      '.ia-node-3'\n    ),\n\n    diagram.querySelector(\n      '.ia-node-4'\n    ),\n\n    diagram.querySelector(\n      '.ia-node-5'\n    )\n\n  ].filter(Boolean);\n\n\n\n  const paths = [];\n\n  const dots = [];\n\n\n\n  \/* =========================================================\n     DESSIN DES CONNEXIONS\n     ========================================================= *\/\n\n  function drawConnections(){\n\n    paths.forEach(\n      item => item.remove()\n    );\n\n\n    dots.forEach(\n      item => item.remove()\n    );\n\n\n    paths.length = 0;\n\n    dots.length = 0;\n\n\n    if(!center) return;\n\n\n    const diagramRect =\n      diagram.getBoundingClientRect();\n\n\n    const centerRect =\n      center.getBoundingClientRect();\n\n\n    const cx =\n      centerRect.left\n      -\n      diagramRect.left\n      +\n      centerRect.width \/ 2;\n\n\n    const cy =\n      centerRect.top\n      -\n      diagramRect.top\n      +\n      centerRect.height \/ 2;\n\n\n    svg.setAttribute(\n      'viewBox',\n      `0 0 ${diagramRect.width} ${diagramRect.height}`\n    );\n\n\n\n    nodes.forEach(\n      (node,index)=>{\n\n\n        const rect =\n          node.getBoundingClientRect();\n\n\n        const nx =\n          rect.left\n          -\n          diagramRect.left\n          +\n          rect.width \/ 2;\n\n\n        const ny =\n          rect.top\n          -\n          diagramRect.top\n          +\n          rect.height \/ 2;\n\n\n\n        \/* Direction *\/\n\n        const dx =\n          nx - cx;\n\n        const dy =\n          ny - cy;\n\n\n        const distance =\n          Math.sqrt(\n            dx * dx\n            +\n            dy * dy\n          );\n\n\n        const ux =\n          dx \/ distance;\n\n        const uy =\n          dy \/ distance;\n\n\n\n        \/*\n         * On ne d\u00e9marre pas au milieu\n         * exact de la bulle centrale.\n         *\/\n\n        const centerRadius =\n          centerRect.width \/ 2 - 5;\n\n\n        const startX =\n          cx\n          +\n          ux * centerRadius;\n\n\n        const startY =\n          cy\n          +\n          uy * centerRadius;\n\n\n\n        \/*\n         * On termine juste avant\n         * la carte de l'\u00e9tape.\n         *\/\n\n        const endX =\n          nx\n          -\n          ux * Math.min(\n            rect.width,\n            rect.height\n          ) * .46;\n\n\n        const endY =\n          ny\n          -\n          uy * Math.min(\n            rect.width,\n            rect.height\n          ) * .46;\n\n\n\n        \/*\n         * Petit contr\u00f4le courbe.\n         *\/\n\n        const perpX =\n          -uy;\n\n        const perpY =\n          ux;\n\n\n        const curveDirection =\n          index % 2 === 0\n          ? 1\n          : -1;\n\n\n        const curveAmount =\n          18 * curveDirection;\n\n\n        const controlX =\n          (\n            startX\n            +\n            endX\n          )\n          \/ 2\n          +\n          perpX\n          *\n          curveAmount;\n\n\n        const controlY =\n          (\n            startY\n            +\n            endY\n          )\n          \/ 2\n          +\n          perpY\n          *\n          curveAmount;\n\n\n\n        const d = `\n\n          M\n          ${startX}\n          ${startY}\n\n          Q\n          ${controlX}\n          ${controlY}\n\n          ${endX}\n          ${endY}\n\n        `;\n\n\n\n        \/* Ligne discr\u00e8te *\/\n\n        const bg =\n          document.createElementNS(\n            svgNS,\n            'path'\n          );\n\n\n        bg.setAttribute(\n          'class',\n          'ia-js-path-bg'\n        );\n\n\n        bg.setAttribute(\n          'd',\n          d\n        );\n\n\n        svg.appendChild(\n          bg\n        );\n\n\n\n        \/* Ligne active *\/\n\n        const path =\n          document.createElementNS(\n            svgNS,\n            'path'\n          );\n\n\n        path.setAttribute(\n          'class',\n          'ia-js-path'\n        );\n\n\n        path.setAttribute(\n          'd',\n          d\n        );\n\n\n        svg.appendChild(\n          path\n        );\n\n\n        paths.push(\n          path\n        );\n\n\n\n        \/* Point anim\u00e9 *\/\n\n        const dot =\n          document.createElementNS(\n            svgNS,\n            'circle'\n          );\n\n\n        dot.setAttribute(\n          'class',\n          'ia-js-moving-dot'\n        );\n\n\n        dot.setAttribute(\n          'r',\n          '4'\n        );\n\n\n        svg.appendChild(\n          dot\n        );\n\n\n        dots.push(\n          dot\n        );\n\n      }\n    );\n\n  }\n\n\n\n  \/* =========================================================\n     ANIMATION D'UN POINT SUR UNE LIGNE\n     ========================================================= *\/\n\n  function animateDot(\n    path,\n    dot,\n    duration\n  ){\n\n    const length =\n      path.getTotalLength();\n\n\n    const start =\n      performance.now();\n\n\n    dot.classList.add(\n      'active'\n    );\n\n\n    function frame(now){\n\n      const progress =\n        Math.min(\n          1,\n          (\n            now - start\n          )\n          \/\n          duration\n        );\n\n\n      const point =\n        path.getPointAtLength(\n          length * progress\n        );\n\n\n      dot.setAttribute(\n        'cx',\n        point.x\n      );\n\n\n      dot.setAttribute(\n        'cy',\n        point.y\n      );\n\n\n      if(progress < 1){\n\n        requestAnimationFrame(\n          frame\n        );\n\n      }\n\n      else{\n\n        setTimeout(\n          ()=>{\n            dot.classList.remove(\n              'active'\n            );\n          },\n          250\n        );\n\n      }\n\n    }\n\n\n    requestAnimationFrame(\n      frame\n    );\n\n  }\n\n\n\n  \/* =========================================================\n     S\u00c9QUENCE DES \u00c9TAPES\n     ========================================================= *\/\n\n  let current =\n    -1;\n\n\n  function activateStep(){\n\n    nodes.forEach(\n      node => {\n        node.classList.remove(\n          'ia-js-active'\n        );\n      }\n    );\n\n\n    paths.forEach(\n      path => {\n        path.classList.remove(\n          'active'\n        );\n      }\n    );\n\n\n    current++;\n\n\n    if(\n      current >= nodes.length\n    ){\n\n      current = 0;\n\n    }\n\n\n    const node =\n      nodes[current];\n\n\n    const path =\n      paths[current];\n\n\n    const dot =\n      dots[current];\n\n\n    if(node){\n\n      node.classList.add(\n        'ia-js-active'\n      );\n\n    }\n\n\n    if(path){\n\n      path.classList.add(\n        'active'\n      );\n\n    }\n\n\n    if(\n      path\n      &&\n      dot\n    ){\n\n      animateDot(\n        path,\n        dot,\n        720\n      );\n\n    }\n\n\n    if(center){\n\n      center.classList.add(\n        'ia-js-center-active'\n      );\n\n\n      setTimeout(\n        ()=>{\n          center.classList.remove(\n            'ia-js-center-active'\n          );\n        },\n        650\n      );\n\n    }\n\n  }\n\n\n\n  \/* =========================================================\n     LANCEMENT\n     ========================================================= *\/\n\n  drawConnections();\n\n\n  \/*\n   * Premier passage rapide,\n   * puis une \u00e9tape toutes les 1,35 sec.\n   *\/\n\n  setTimeout(\n    activateStep,\n    500\n  );\n\n\n  const sequence =\n    setInterval(\n      activateStep,\n      1350\n    );\n\n\n\n  \/* =========================================================\n     REDIMENSIONNEMENT\n     ========================================================= *\/\n\n  let resizeTimer;\n\n\n  window.addEventListener(\n    'resize',\n    ()=>{\n\n      clearTimeout(\n        resizeTimer\n      );\n\n\n      resizeTimer =\n        setTimeout(\n          drawConnections,\n          180\n        );\n\n    }\n  );\n\n\n\n  if(\n    'ResizeObserver'\n    in window\n  ){\n\n    const resizeObserver =\n      new ResizeObserver(\n        ()=>{\n\n          clearTimeout(\n            resizeTimer\n          );\n\n\n          resizeTimer =\n            setTimeout(\n              drawConnections,\n              120\n            );\n\n        }\n      );\n\n\n    resizeObserver.observe(\n      diagram\n    );\n\n  }\n\n\n\n  \/* =========================================================\n     PAUSE SI LE DIAGRAMME N'EST PAS VISIBLE\n     ========================================================= *\/\n\n  if(\n    'IntersectionObserver'\n    in window\n  ){\n\n    let visible =\n      true;\n\n\n    const observer =\n      new IntersectionObserver(\n        entries => {\n\n          visible =\n            entries[0]\n            ?.isIntersecting;\n\n        },\n        {\n          threshold:.1\n        }\n      );\n\n\n    observer.observe(\n      diagram\n    );\n\n  }\n\n})();\n<\/script>\n<style>\n\n\/* =========================================================\n   SYNCHRONISATION DES CARTES \u00c0 DROITE\n   ========================================================= *\/\n\n#inrcyAutonomy .ia-step-card{\n  opacity:.55;\n\n  transform:\n    translateX(0)\n    scale(.985);\n\n  transition:\n    opacity .45s ease,\n    transform .45s cubic-bezier(.2,.8,.2,1),\n    border-color .45s ease,\n    background .45s ease,\n    box-shadow .45s ease !important;\n}\n\n\n\/* Carte correspondant \u00e0 l'\u00e9tape active *\/\n\n#inrcyAutonomy .ia-step-card.ia-side-active{\n  opacity:1;\n\n  transform:\n    translateX(7px)\n    scale(1.018);\n\n  border-color:\n    rgba(174,70,255,.58) !important;\n\n  background:\n    linear-gradient(\n      135deg,\n      rgba(24,43,80,.98),\n      rgba(12,25,52,.98)\n    ) !important;\n\n  box-shadow:\n    0 18px 38px rgba(0,0,0,.20),\n    0 0 26px rgba(166,47,255,.16),\n    inset 0 1px 0 rgba(255,255,255,.055) !important;\n}\n\n\n\/* Petit halo derri\u00e8re la carte *\/\n\n#inrcyAutonomy .ia-step-card::after{\n  content:\"\";\n\n  position:absolute;\n\n  inset:-1px;\n\n  z-index:-1;\n\n  border-radius:inherit;\n\n  opacity:0;\n\n  pointer-events:none;\n\n  background:\n    linear-gradient(\n      110deg,\n      rgba(255,116,55,.22),\n      rgba(255,47,145,.20),\n      rgba(166,47,255,.22),\n      rgba(23,140,255,.18)\n    );\n\n  filter:blur(15px);\n\n  transition:\n    opacity .4s ease;\n}\n\n\n#inrcyAutonomy .ia-step-card.ia-side-active::after{\n  opacity:1;\n}\n\n\n\/* ---------------------------------------------------------\n   NUM\u00c9RO\n   --------------------------------------------------------- *\/\n\n#inrcyAutonomy\n.ia-step-card.ia-side-active\n.ia-step-num{\n\n  filter:\n    drop-shadow(\n      0 0 9px\n      rgba(255,47,145,.45)\n    );\n\n  transform:\n    scale(1.08);\n}\n\n\n\/* ---------------------------------------------------------\n   FL\u00c8CHE\n   --------------------------------------------------------- *\/\n\n#inrcyAutonomy .ia-step-arrow{\n  transition:\n    background .4s ease,\n    transform .4s ease,\n    box-shadow .4s ease !important;\n}\n\n\n#inrcyAutonomy\n.ia-step-card.ia-side-active\n.ia-step-arrow{\n\n  background:\n    linear-gradient(\n      135deg,\n      #FF7437,\n      #FF2F91,\n      #A62FFF,\n      #178CFF\n    ) !important;\n\n  transform:\n    translateX(3px)\n    scale(1.06);\n\n  box-shadow:\n    0 0 18px\n    rgba(166,47,255,.35);\n}\n\n\n\/* ---------------------------------------------------------\n   TITRE\n   --------------------------------------------------------- *\/\n\n#inrcyAutonomy .ia-step-copy strong{\n  transition:\n    color .4s ease,\n    transform .4s ease,\n    text-shadow .4s ease !important;\n}\n\n\n#inrcyAutonomy\n.ia-step-card.ia-side-active\n.ia-step-copy strong{\n\n  color:#FFFFFF !important;\n\n  transform:\n    translateX(2px);\n\n  text-shadow:\n    0 0 15px\n    rgba(255,255,255,.10);\n}\n\n\n\/* ---------------------------------------------------------\n   TEXTE\n   --------------------------------------------------------- *\/\n\n#inrcyAutonomy .ia-step-copy p{\n  transition:\n    color .4s ease,\n    opacity .4s ease !important;\n}\n\n\n#inrcyAutonomy\n.ia-step-card.ia-side-active\n.ia-step-copy p{\n\n  color:#B7C5DD !important;\n  opacity:1;\n}\n\n\n\/* Mobile : pas de d\u00e9placement lat\u00e9ral *\/\n\n@media(max-width:640px){\n\n  #inrcyAutonomy .ia-step-card.ia-side-active{\n    transform:\n      scale(1.015);\n  }\n\n}\n\n<\/style>\n\n\n<script>\n(function(){\n\n  const autonomy =\n    document.getElementById(\n      'inrcyAutonomy'\n    );\n\n  if(!autonomy) return;\n\n\n  const diagramNodes =\n    Array.from(\n      autonomy.querySelectorAll(\n        '.ia-diagram .ia-node'\n      )\n    );\n\n\n  const sideCards =\n    Array.from(\n      autonomy.querySelectorAll(\n        '.ia-steps-col .ia-step-card'\n      )\n    );\n\n\n  if(\n    !diagramNodes.length ||\n    !sideCards.length\n  ){\n    return;\n  }\n\n\n\n  \/* =========================================================\n     SYNCHRONISATION\n     ========================================================= *\/\n\n  function syncCards(){\n\n    diagramNodes.forEach(\n      (node,index)=>{\n\n        const card =\n          sideCards[index];\n\n        if(!card) return;\n\n\n        const active =\n          node.classList.contains(\n            'ia-js-active'\n          );\n\n\n        card.classList.toggle(\n          'ia-side-active',\n          active\n        );\n\n      }\n    );\n\n  }\n\n\n\n  \/* =========================================================\n     SURVEILLE L'ANIMATION DU DIAGRAMME\n     ========================================================= *\/\n\n  diagramNodes.forEach(\n    node =>{\n\n      const observer =\n        new MutationObserver(\n          syncCards\n        );\n\n\n      observer.observe(\n        node,\n        {\n          attributes:true,\n          attributeFilter:[\n            'class'\n          ]\n        }\n      );\n\n    }\n  );\n\n\n\n  \/* \u00c9tat initial *\/\n\n  syncCards();\n\n})();\n<\/script>\n\n<!-- =========================================================\n     iNrCy \u2014 ANIMATION DES 5 ENCADR\u00c9S DU BLOC INTRO\n     Ils ressortent chacun leur tour\n     ========================================================= -->\n<style>\n\n#inrcyAutonomy .ia-hero-points > span{\n  position:relative !important;\n\n  transition:\n    transform .42s cubic-bezier(.2,.8,.2,1),\n    border-color .42s ease,\n    background .42s ease,\n    box-shadow .42s ease,\n    color .42s ease !important;\n\n  will-change:\n    transform,\n    box-shadow;\n}\n\n\n\/* Encadr\u00e9 actif *\/\n\n#inrcyAutonomy .ia-hero-points > span.ia-hero-point-active{\n\n  transform:\n    translateY(-5px)\n    scale(1.045) !important;\n\n  color:\n    #17233B !important;\n\n  border-color:\n    rgba(166,47,255,.34) !important;\n\n  background:\n    linear-gradient(\n      135deg,\n      rgba(255,255,255,1),\n      rgba(246,248,255,.98)\n    ) !important;\n\n  box-shadow:\n    0 15px 32px rgba(7,20,43,.10),\n    0 0 0 1px rgba(166,47,255,.06),\n    0 0 25px rgba(166,47,255,.11) !important;\n}\n\n\n\/* Petit reflet premium *\/\n\n#inrcyAutonomy .ia-hero-points > span::after{\n\n  content:\"\";\n\n  position:absolute;\n\n  top:-25%;\n  left:-55%;\n\n  width:28%;\n  height:150%;\n\n  transform:\n    skewX(-22deg);\n\n  background:\n    linear-gradient(\n      90deg,\n      transparent,\n      rgba(255,255,255,.82),\n      transparent\n    );\n\n  opacity:0;\n\n  pointer-events:none;\n}\n\n\n#inrcyAutonomy\n.ia-hero-points\n> span.ia-hero-point-active::after{\n\n  animation:\n    iaHeroPointShine\n    .75s ease forwards;\n}\n\n\n@keyframes iaHeroPointShine{\n\n  0%{\n    left:-55%;\n    opacity:0;\n  }\n\n  20%{\n    opacity:.9;\n  }\n\n  100%{\n    left:135%;\n    opacity:0;\n  }\n\n}\n\n\n\/* Mobile : effet un peu plus discret *\/\n\n@media(max-width:640px){\n\n  #inrcyAutonomy\n  .ia-hero-points\n  > span.ia-hero-point-active{\n\n    transform:\n      translateY(-3px)\n      scale(1.025) !important;\n  }\n\n}\n\n\n\/* Accessibilit\u00e9 *\/\n\n@media(prefers-reduced-motion:reduce){\n\n  #inrcyAutonomy .ia-hero-points > span{\n    transition:none !important;\n  }\n\n  #inrcyAutonomy\n  .ia-hero-points\n  > span.ia-hero-point-active::after{\n    animation:none !important;\n  }\n\n}\n\n<\/style>\n\n\n<script>\n(function(){\n\n  const autonomy =\n    document.getElementById(\n      'inrcyAutonomy'\n    );\n\n  if(!autonomy) return;\n\n\n  const pointsWrap =\n    autonomy.querySelector(\n      '.ia-hero-points'\n    );\n\n  if(!pointsWrap) return;\n\n\n  const points =\n    Array.from(\n      pointsWrap.querySelectorAll(\n        ':scope > span'\n      )\n    );\n\n\n  if(!points.length) return;\n\n\n  \/* \u00c9vite un double lancement Elementor *\/\n\n  if(\n    pointsWrap.dataset.heroPointsAnimated ===\n    'true'\n  ){\n    return;\n  }\n\n  pointsWrap.dataset.heroPointsAnimated =\n    'true';\n\n\n  let current = -1;\n\n  let interval = null;\n\n  let started = false;\n\n\n\n  \/* =========================================================\n     ACTIVE UN ENCADR\u00c9\n     ========================================================= *\/\n\n  function activateNextPoint(){\n\n    points.forEach(\n      point => {\n        point.classList.remove(\n          'ia-hero-point-active'\n        );\n      }\n    );\n\n\n    current++;\n\n\n    if(\n      current >= points.length\n    ){\n      current = 0;\n    }\n\n\n    points[current]\n      ?.classList.add(\n        'ia-hero-point-active'\n      );\n\n  }\n\n\n\n  \/* =========================================================\n     LANCEMENT\n     ========================================================= *\/\n\n  function startSequence(){\n\n    if(started) return;\n\n    started = true;\n\n\n    activateNextPoint();\n\n\n    interval =\n      window.setInterval(\n        activateNextPoint,\n        1150\n      );\n\n  }\n\n\n\n  \/* =========================================================\n     PAUSE\n     ========================================================= *\/\n\n  function stopSequence(){\n\n    if(interval){\n\n      window.clearInterval(\n        interval\n      );\n\n      interval = null;\n    }\n\n\n    started = false;\n\n  }\n\n\n\n  \/* =========================================================\n     LANCE UNIQUEMENT QUAND LE PREMIER BLOC EST VISIBLE\n     ========================================================= *\/\n\n  if(\n    'IntersectionObserver'\n    in window\n  ){\n\n    const observer =\n      new IntersectionObserver(\n        entries => {\n\n          const visible =\n            entries[0]\n            ?.isIntersecting;\n\n\n          if(visible){\n\n            \/*\n             * Petit d\u00e9lai pour laisser\n             * le titre et le texte se poser.\n             *\/\n            window.setTimeout(\n              startSequence,\n              350\n            );\n\n          }\n          else{\n\n            stopSequence();\n\n            points.forEach(\n              point => {\n                point.classList.remove(\n                  'ia-hero-point-active'\n                );\n              }\n            );\n\n          }\n\n        },\n        {\n          threshold:.25\n        }\n      );\n\n\n    observer.observe(\n      pointsWrap\n    );\n\n  }\n  else{\n\n    startSequence();\n\n  }\n\n})();\n<\/script>\n<script>\n(function(){\n\n  const quoteMark =\n    document.querySelector(\n      '#inrcyAutonomy .ia-quote-mark'\n    );\n\n  if(!quoteMark) return;\n\n\n  if(\n    quoteMark.dataset.glowAnimated === 'true'\n  ){\n    return;\n  }\n\n  quoteMark.dataset.glowAnimated = 'true';\n\n\n  \/* =========================================================\n     STYLE DU GLOW INJECT\u00c9 PAR JS\n     ========================================================= *\/\n\n  const style =\n    document.createElement('style');\n\n\n  style.textContent = `\n\n    #inrcyAutonomy .ia-quote-mark{\n\n      transition:\n        transform .45s ease,\n        filter .45s ease,\n        text-shadow .45s ease !important;\n\n    }\n\n\n    #inrcyAutonomy .ia-quote-mark.ia-quote-glow{\n\n      transform:\n        scale(1.12) !important;\n\n      filter:\n        drop-shadow(\n          0 0 7px rgba(255,47,145,.65)\n        )\n        drop-shadow(\n          0 0 15px rgba(166,47,255,.45)\n        )\n        drop-shadow(\n          0 0 24px rgba(23,140,255,.22)\n        ) !important;\n\n      text-shadow:\n        0 0 8px rgba(255,47,145,.40),\n        0 0 18px rgba(166,47,255,.30) !important;\n\n    }\n\n  `;\n\n\n  document.head.appendChild(style);\n\n\n\n  \/* =========================================================\n     ANIMATION\n     ========================================================= *\/\n\n  function glow(){\n\n    quoteMark.classList.add(\n      'ia-quote-glow'\n    );\n\n\n    setTimeout(\n      ()=>{\n        quoteMark.classList.remove(\n          'ia-quote-glow'\n        );\n      },\n      850\n    );\n\n  }\n\n\n  \/* premier glow *\/\n\n  setTimeout(\n    glow,\n    500\n  );\n\n\n  \/* puis r\u00e9guli\u00e8rement *\/\n\n  setInterval(\n    glow,\n    2600\n  );\n\n})();\n<\/script>\n\n<!-- iNrCy \u2014 correctif adaptatif petits mobiles -->\n<style id=\"inrcy-autonomy-small-mobile-fix\">\n\/* iNrCy \u2014 sch\u00e9ma adaptatif petits mobiles *\/\n@media (max-width: 390px) {\n  #inrcyAutonomy {\n    padding-left: 4px !important;\n    padding-right: 4px !important;\n    overflow: visible !important;\n  }\n\n  #inrcyAutonomy .ia-wrap {\n    width: 100% !important;\n    overflow: visible !important;\n  }\n\n  #inrcyAutonomy .ia-process-block {\n    padding-left: clamp(8px, 3vw, 12px) !important;\n    padding-right: clamp(8px, 3vw, 12px) !important;\n  }\n\n  #inrcyAutonomy .ia-process-grid {\n    grid-template-columns: minmax(0, 1fr) !important;\n  }\n\n  #inrcyAutonomy .ia-diagram-col {\n    width: min(320px, calc(100vw - 20px)) !important;\n    max-width: none !important;\n    justify-self: center !important;\n    position: relative !important;\n    left: auto !important;\n    transform: none !important;\n    overflow: visible !important;\n  }\n\n  #inrcyAutonomy .ia-diagram {\n    width: 100% !important;\n    max-width: 290px !important;\n    height: auto !important;\n    aspect-ratio: 1 \/ 1;\n  }\n\n  #inrcyAutonomy .ia-ring.ring-1 {\n    inset: 2.759% !important;\n  }\n\n  #inrcyAutonomy .ia-ring.ring-2 {\n    inset: 11.724% !important;\n  }\n\n  #inrcyAutonomy .ia-center {\n    width: 45.517% !important;\n    height: 45.517% !important;\n    padding: clamp(8px, 3vw, 13px) !important;\n  }\n\n  #inrcyAutonomy .ia-center img {\n    width: 50% !important;\n    margin-bottom: clamp(3px, 1.28vw, 5px) !important;\n  }\n\n  #inrcyAutonomy .ia-center strong {\n    font-size: clamp(15px, 5.13vw, 20px) !important;\n    margin-bottom: clamp(3px, 1.28vw, 5px) !important;\n  }\n\n  #inrcyAutonomy .ia-center span {\n    font-size: clamp(8px, 2.44vw, 9.5px) !important;\n    line-height: 1.35 !important;\n  }\n\n  #inrcyAutonomy .ia-node {\n    width: 32.759% !important;\n    min-height: 20% !important;\n    padding: clamp(7px, 2.31vw, 9px) !important;\n    border-radius: clamp(11px, 3.59vw, 14px) !important;\n    gap: clamp(4px, 1.54vw, 6px) !important;\n  }\n\n  #inrcyAutonomy .ia-node b {\n    width: clamp(19px, 6.15vw, 24px) !important;\n    height: clamp(19px, 6.15vw, 24px) !important;\n    font-size: clamp(9px, 2.82vw, 11px) !important;\n  }\n\n  #inrcyAutonomy .ia-node span {\n    font-size: clamp(8px, 2.31vw, 9px) !important;\n    line-height: 1.2 !important;\n    overflow-wrap: anywhere;\n  }\n\n  #inrcyAutonomy .ia-node-1 {\n    top: 1.379% !important;\n    left: 50% !important;\n    width: 32.759% !important;\n    transform: translateX(-50%) !important;\n  }\n\n  #inrcyAutonomy .ia-node-2 {\n    top: 24.828% !important;\n    right: 0 !important;\n    left: auto !important;\n    width: 32.759% !important;\n  }\n\n  #inrcyAutonomy .ia-node-3 {\n    inset: auto 0 0 auto !important;\n    width: 32.759% !important;\n  }\n\n  #inrcyAutonomy .ia-node-4 {\n    bottom: 0 !important;\n    left: 0 !important;\n    right: auto !important;\n    width: 45.517% !important;\n    transform: none !important;\n  }\n\n  #inrcyAutonomy .ia-node-5 {\n    top: 50% !important;\n    left: 0 !important;\n    right: auto !important;\n    width: 32.759% !important;\n    min-height: 0 !important;\n    padding-left: clamp(8px, 2.56vw, 10px) !important;\n    padding-right: clamp(5px, 1.54vw, 6px) !important;\n    transform: translateY(-50%) !important;\n  }\n\n  #inrcyAutonomy .ia-js-center-ring {\n    width: 61.379% !important;\n    height: 61.379% !important;\n  }\n\n  #inrcyAutonomy .ia-js-orbit-dot {\n    top: 9.31% !important;\n    width: clamp(5px, 1.79vw, 7px) !important;\n    height: clamp(5px, 1.79vw, 7px) !important;\n  }\n\n  #inrcyAutonomy .ia-js-orbit--2 .ia-js-orbit-dot {\n    top: 1.379% !important;\n    width: clamp(4px, 1.28vw, 5px) !important;\n    height: clamp(4px, 1.28vw, 5px) !important;\n  }\n\n  #inrcyAutonomy .ia-node-1.ia-js-active {\n    transform: translateX(-50%) translateY(-2px) scale(1.025) !important;\n  }\n\n  #inrcyAutonomy .ia-node-2.ia-js-active,\n  #inrcyAutonomy .ia-node-3.ia-js-active {\n    transform: translateY(-2px) scale(1.025) !important;\n  }\n\n  #inrcyAutonomy .ia-node-4.ia-js-active {\n    transform: translateY(-2px) scale(1.025) !important;\n  }\n\n  #inrcyAutonomy .ia-node-5.ia-js-active {\n    transform: translateY(-50%) scale(1.025) !important;\n  }\n}\n<\/style>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4bde54f e-flex e-con-boxed e-con e-parent\" data-id=\"4bde54f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c6fe09f elementor-widget elementor-widget-html\" data-id=\"c6fe09f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"inrcy-story-simple\">\r\n\r\n  <div class=\"inrcy-story-simple-inner\">\r\n\r\n    <!-- =====================================================\r\n         GAUCHE \u2014 TEXTE\r\n         ===================================================== -->\r\n\r\n    <div class=\"inrcy-story-simple-copy\">\r\n\r\n      <div class=\"inrcy-story-simple-label\">\r\n\r\n        <span><\/span>\r\n\r\n        La soci\u00e9t\u00e9 derri\u00e8re iNrCy\r\n\r\n      <\/div>\r\n\r\n\r\n      <h2>\r\n\r\n        Une technologie n\u00e9e\r\n\r\n        <span>\r\n          de plus de 10 ans de terrain.\r\n        <\/span>\r\n\r\n      <\/h2>\r\n\r\n\r\n      <p>\r\n\r\n        iNrCy est n\u00e9 d'une r\u00e9alit\u00e9 tr\u00e8s simple :\r\n\r\n        <strong>\r\n          les professionnels ont besoin de communiquer,\r\n          mais pas d'y consacrer leurs journ\u00e9es.\r\n        <\/strong>\r\n\r\n        Notre exp\u00e9rience du web et de l'accompagnement\r\n        des professionnels nous a permis d'observer\r\n        les m\u00eames probl\u00e9matiques dans de nombreux secteurs :\r\n        multiplication des plateformes, manque de temps,\r\n        contenus \u00e0 adapter encore et encore\r\n        et besoin de rester autonome.\r\n\r\n      <\/p>\r\n\r\n\r\n      <!-- PETIT BLOC OBJECTIF -->\r\n\r\n      <div class=\"inrcy-story-simple-goal\">\r\n\r\n        <div class=\"inrcy-story-simple-goal-icon\">\r\n          \u2726\r\n        <\/div>\r\n\r\n        <div>\r\n\r\n          <strong>\r\n            Notre objectif\r\n          <\/strong>\r\n\r\n          <span>\r\n            Rendre la communication multicanale plus simple,\r\n            plus rapide et plus accessible \u00e0 tous les professionnels.\r\n          <\/span>\r\n\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n\r\n\r\n    <!-- =====================================================\r\n         DROITE \u2014 3 PHOTOS VERTICALES\r\n         ===================================================== -->\r\n\r\n    <div class=\"inrcy-story-simple-gallery\">\r\n\r\n\r\n      <!-- PHOTO 1 -->\r\n\r\n      <div class=\"inrcy-story-simple-photo\">\r\n\r\n        <img decoding=\"async\"\r\n          src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2025\/10\/Capture-decran-2025-10-13-153054.png\"\r\n          alt=\"\u00c9quipe iNrCy\"\r\n          loading=\"lazy\"\r\n        >\r\n\r\n      <\/div>\r\n\r\n\r\n\r\n      <!-- PHOTO 2 -->\r\n\r\n      <div class=\"inrcy-story-simple-photo\">\r\n\r\n        <img decoding=\"async\"\r\n          src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2025\/10\/Capture-decran-2025-10-13-143650-e1786544761336.png\"\r\n          loading=\"lazy\"\r\n        >\r\n\r\n      <\/div>\r\n\r\n\r\n\r\n      <!-- PHOTO 3 -->\r\n\r\n      <div class=\"inrcy-story-simple-photo\">\r\n\r\n        <img decoding=\"async\"\r\n          src=\"https:\/\/inrcy.com\/wp-content\/uploads\/2026\/04\/WhatsApp-Image-2026-04-08-at-19.48.49.jpeg\"\r\n          alt=\"\u00c9quipe iNrCy\"\r\n          alt=\"\u00c9quipe iNrCy\"\r\n          loading=\"lazy\"\r\n        >\r\n\r\n      <\/div>\r\n\r\n\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n<\/section>\r\n\r\n\r\n <script>\r\n(function(){\r\n\r\n  function initStoryReveal(){\r\n\r\n    const section =\r\n      document.querySelector('.inrcy-story-simple');\r\n\r\n    if(!section) return;\r\n\r\n    if(section.dataset.storyRevealInit === 'true'){\r\n      return;\r\n    }\r\n\r\n    section.dataset.storyRevealInit = 'true';\r\n\r\n\r\n    const photos =\r\n      Array.from(\r\n        section.querySelectorAll(\r\n          '.inrcy-story-simple-photo'\r\n        )\r\n      );\r\n\r\n    const copy =\r\n      section.querySelector(\r\n        '.inrcy-story-simple-copy'\r\n      );\r\n\r\n    if(!photos.length) return;\r\n\r\n\r\n    \/* =====================================================\r\n       CSS inject\u00e9 automatiquement\r\n       ===================================================== *\/\r\n\r\n    const style =\r\n      document.createElement('style');\r\n\r\n    style.textContent = `\r\n\r\n      .inrcy-story-simple-copy{\r\n        opacity:0;\r\n        transform:translateX(-18px);\r\n        transition:\r\n          opacity .7s ease,\r\n          transform .7s cubic-bezier(.2,.8,.2,1);\r\n      }\r\n\r\n      .inrcy-story-simple-copy.story-copy-visible{\r\n        opacity:1;\r\n        transform:translateX(0);\r\n      }\r\n\r\n\r\n      .inrcy-story-simple-photo{\r\n        opacity:0;\r\n        transform:\r\n          translateY(18px)\r\n          scale(.975);\r\n\r\n        transition:\r\n          opacity .65s ease,\r\n          transform .65s cubic-bezier(.2,.8,.2,1),\r\n          box-shadow .65s ease;\r\n      }\r\n\r\n\r\n      .inrcy-story-simple-photo:nth-child(1){\r\n        transform:\r\n          translateX(-18px)\r\n          translateY(14px)\r\n          scale(.975);\r\n      }\r\n\r\n      .inrcy-story-simple-photo:nth-child(2){\r\n        transform:\r\n          translateX(18px)\r\n          translateY(14px)\r\n          scale(.975);\r\n      }\r\n\r\n      .inrcy-story-simple-photo:nth-child(3){\r\n        transform:\r\n          translateY(18px)\r\n          scale(.975);\r\n      }\r\n\r\n\r\n      .inrcy-story-simple-photo.story-photo-visible{\r\n        opacity:1;\r\n        transform:\r\n          translateX(0)\r\n          translateY(0)\r\n          scale(1);\r\n      }\r\n\r\n\r\n      .inrcy-story-simple-photo.story-photo-visible{\r\n        box-shadow:\r\n          0 22px 44px rgba(0,0,0,.24),\r\n          0 0 24px rgba(255,47,145,.08),\r\n          0 0 38px rgba(166,47,255,.10) !important;\r\n      }\r\n\r\n\r\n      .inrcy-story-simple-photo img{\r\n        transition:\r\n          transform .7s ease,\r\n          filter .7s ease;\r\n      }\r\n\r\n      .inrcy-story-simple-photo.story-photo-visible img{\r\n        transform:scale(1.018);\r\n        filter:\r\n          brightness(1.025)\r\n          contrast(1.015);\r\n      }\r\n\r\n\r\n      @media(max-width:650px){\r\n\r\n        .inrcy-story-simple-copy{\r\n          transform:translateY(14px);\r\n        }\r\n\r\n        .inrcy-story-simple-copy.story-copy-visible{\r\n          transform:translateY(0);\r\n        }\r\n\r\n        .inrcy-story-simple-photo:nth-child(1),\r\n        .inrcy-story-simple-photo:nth-child(2),\r\n        .inrcy-story-simple-photo:nth-child(3){\r\n          transform:\r\n            translateY(18px)\r\n            scale(.985);\r\n        }\r\n\r\n        .inrcy-story-simple-photo.story-photo-visible{\r\n          transform:\r\n            translateY(0)\r\n            scale(1);\r\n        }\r\n\r\n      }\r\n\r\n      @media(prefers-reduced-motion:reduce){\r\n\r\n        .inrcy-story-simple-copy,\r\n        .inrcy-story-simple-photo{\r\n          opacity:1 !important;\r\n          transform:none !important;\r\n          transition:none !important;\r\n        }\r\n\r\n      }\r\n\r\n    `;\r\n\r\n    document.head.appendChild(style);\r\n\r\n\r\n    \/* =====================================================\r\n       Animation\r\n       ===================================================== *\/\r\n\r\n    function reveal(){\r\n\r\n      if(copy){\r\n\r\n        setTimeout(\r\n          ()=>{\r\n            copy.classList.add(\r\n              'story-copy-visible'\r\n            );\r\n          },\r\n          80\r\n        );\r\n\r\n      }\r\n\r\n\r\n      photos.forEach(\r\n        (photo,index)=>{\r\n\r\n          setTimeout(\r\n            ()=>{\r\n              photo.classList.add(\r\n                'story-photo-visible'\r\n              );\r\n            },\r\n            280 + index * 220\r\n          );\r\n\r\n        }\r\n      );\r\n\r\n    }\r\n\r\n\r\n    \/* =====================================================\r\n       Intersection observer\r\n       ===================================================== *\/\r\n\r\n    if('IntersectionObserver' in window){\r\n\r\n      const observer =\r\n        new IntersectionObserver(\r\n          entries =>{\r\n\r\n            const entry =\r\n              entries[0];\r\n\r\n            if(\r\n              entry &&\r\n              entry.isIntersecting\r\n            ){\r\n\r\n              reveal();\r\n\r\n              observer.disconnect();\r\n\r\n            }\r\n\r\n          },\r\n          {\r\n            threshold:.10\r\n          }\r\n        );\r\n\r\n      observer.observe(section);\r\n\r\n    }\r\n\r\n    else{\r\n\r\n      reveal();\r\n\r\n    }\r\n\r\n  }\r\n\r\n\r\n  \/* Elementor \/ WordPress peut injecter le widget apr\u00e8s le DOM *\/\r\n  if(document.readyState === 'loading'){\r\n\r\n    document.addEventListener(\r\n      'DOMContentLoaded',\r\n      initStoryReveal\r\n    );\r\n\r\n  }\r\n\r\n  else{\r\n\r\n    initStoryReveal();\r\n\r\n  }\r\n\r\n\r\n  window.addEventListener(\r\n    'load',\r\n    ()=>{\r\n      setTimeout(\r\n        initStoryReveal,\r\n        300\r\n      );\r\n    }\r\n  );\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>1 id\u00e9e. 12 contenus. Diffus\u00e9s partout en quelques minutes. G\u00e9n\u00e9rez, adaptez et diffusez vos contenus sur tous vos canaux depuis un seul espace. 1. Guidez iNrCy Une photo, une vid\u00e9o ou quelques mots suffisent pour commencer. Une nouvelle r\u00e9alisation \u00e0 partager \u2728 Ajoutez votre id\u00e9e, votre texte et votre visuel. iNrCy s&rsquo;occupe de la suite. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-11711","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/inrcy.com\/th\/wp-json\/wp\/v2\/pages\/11711","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inrcy.com\/th\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/inrcy.com\/th\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/inrcy.com\/th\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/inrcy.com\/th\/wp-json\/wp\/v2\/comments?post=11711"}],"version-history":[{"count":507,"href":"https:\/\/inrcy.com\/th\/wp-json\/wp\/v2\/pages\/11711\/revisions"}],"predecessor-version":[{"id":12691,"href":"https:\/\/inrcy.com\/th\/wp-json\/wp\/v2\/pages\/11711\/revisions\/12691"}],"wp:attachment":[{"href":"https:\/\/inrcy.com\/th\/wp-json\/wp\/v2\/media?parent=11711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}