{"id":2319,"date":"2026-07-13T07:04:48","date_gmt":"2026-07-13T07:04:48","guid":{"rendered":"https:\/\/sci-bme.fr\/?page_id=2319"},"modified":"2026-07-30T09:40:07","modified_gmt":"2026-07-30T09:40:07","slug":"remplacement-de-canalisation","status":"publish","type":"page","link":"https:\/\/sci-bme.fr\/index.php\/remplacement-de-canalisation\/","title":{"rendered":"Remplacement de canalisation"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2319\" class=\"elementor elementor-2319\">\n\t\t\t\t<div class=\"elementor-element elementor-element-caa5ea5 e-con-full e-flex e-con e-parent\" data-id=\"caa5ea5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-38a1616 elementor-widget elementor-widget-html\" data-id=\"38a1616\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"fr\">\r\n<head>\r\n    <meta charset=\"UTF-8\" \/>\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes\" \/>\r\n    <title>Installation de puisard \u2013 BT Plus \u00cele-de-France<\/title>\r\n    <meta name=\"description\" content=\"BT Plus : entreprise d'installation de puisard en \u00cele-de-France. Devis gratuit, pose de puisard d'infiltration, bassin de r\u00e9tention, drainage des eaux pluviales, d\u00e9versoir d'orage. Intervention rapide 24h\/24.\" \/>\r\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n    <style>\r\n        \/* ===== variables & reset ===== *\/\r\n        :root {\r\n            --blue-900: #07294a;\r\n            --blue-800: #0a3666;\r\n            --blue-700: #0d4f8b;\r\n            --blue-500: #1c7ec9;\r\n            --blue-300: #7cc0ee;\r\n            --blue-100: #d6ebfb;\r\n            --blue-50: #eef6fc;\r\n            --orange: #f4a61a;\r\n            --orange-dark: #d98a0c;\r\n            --ink: #0c2238;\r\n            --slate: #48637d;\r\n            --paper: #ffffff;\r\n\r\n            --font-display: \"Sora\", sans-serif;\r\n            --font-body: \"Inter\", sans-serif;\r\n\r\n            --shadow-sm: 0 2px 10px rgba(7, 41, 74, .06);\r\n            --shadow-md: 0 18px 40px -16px rgba(7, 41, 74, .30);\r\n        }\r\n\r\n        * {\r\n            box-sizing: border-box;\r\n            margin: 0;\r\n            padding: 0;\r\n        }\r\n        html {\r\n            scroll-behavior: smooth;\r\n        }\r\n        body {\r\n            font-family: var(--font-body);\r\n            color: var(--ink);\r\n            background: var(--paper);\r\n            -webkit-font-smoothing: antialiased;\r\n            line-height: 1.6;\r\n        }\r\n\r\n        \/* ===== HERO ===== *\/\r\n        .hero {\r\n            position: relative;\r\n            overflow: hidden;\r\n            background:\r\n                radial-gradient(1100px 520px at 78% -8%, var(--blue-100), transparent 60%),\r\n                linear-gradient(180deg, #fbfdff 0%, var(--blue-50) 100%);\r\n        }\r\n        .hero-inner {\r\n            max-width: 1200px;\r\n            margin: 0 auto;\r\n            padding: 40px 24px 150px;\r\n            display: grid;\r\n            grid-template-columns: 1.05fr .95fr;\r\n            gap: 50px;\r\n            align-items: center;\r\n            position: relative;\r\n        }\r\n\r\n        \/* ===== CONTENU TEXTE ===== *\/\r\n        h1 {\r\n            font-family: var(--font-display);\r\n            font-weight: 800;\r\n            font-size: clamp(1.6rem, 3.8vw, 2.6rem);\r\n            line-height: 1.1;\r\n            letter-spacing: -.025em;\r\n            color: var(--blue-900);\r\n            margin: 0;\r\n        }\r\n        h1 .accent {\r\n            color: var(--orange);\r\n            position: relative;\r\n            white-space: nowrap;\r\n        }\r\n        h1 .accent::after {\r\n            content: \"\";\r\n            position: absolute;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: .06em;\r\n            height: .16em;\r\n            background: rgba(244, 166, 26, .28);\r\n            border-radius: 4px;\r\n            z-index: -1;\r\n            transform: scaleX(0);\r\n            transform-origin: left;\r\n            animation: underline 1s .8s ease forwards;\r\n        }\r\n        @keyframes underline {\r\n            to { transform: scaleX(1); }\r\n        }\r\n\r\n        .lead {\r\n            margin-top: 14px;\r\n            font-size: 1.05rem;\r\n            color: var(--slate);\r\n            max-width: 520px;\r\n        }\r\n\r\n        .chips {\r\n            display: flex;\r\n            flex-wrap: wrap;\r\n            gap: 9px;\r\n            margin-top: 20px;\r\n        }\r\n        .chip {\r\n            display: inline-flex;\r\n            align-items: center;\r\n            gap: 7px;\r\n            background: #fff;\r\n            border: 1px solid var(--blue-100);\r\n            padding: 8px 13px;\r\n            border-radius: 11px;\r\n            font-size: .82rem;\r\n            font-weight: 600;\r\n            color: var(--blue-800);\r\n            box-shadow: var(--shadow-sm);\r\n            transition: transform .2s, box-shadow .2s, border-color .2s;\r\n        }\r\n        .chip svg {\r\n            width: 16px;\r\n            height: 16px;\r\n            color: var(--blue-500);\r\n        }\r\n        .chip:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-md);\r\n            border-color: var(--blue-300);\r\n        }\r\n\r\n        .trust {\r\n            display: flex;\r\n            flex-wrap: wrap;\r\n            gap: 18px;\r\n            margin-top: 28px;\r\n        }\r\n        .trust div {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 8px;\r\n            font-size: .82rem;\r\n            color: var(--slate);\r\n            font-weight: 500;\r\n        }\r\n        .trust svg {\r\n            width: 18px;\r\n            height: 18px;\r\n            color: #1faa6b;\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        \/* ===== VISUAL ===== *\/\r\n        .visual {\r\n            position: relative;\r\n            display: grid;\r\n            place-items: center;\r\n            min-height: 380px;\r\n        }\r\n        .disc {\r\n            position: relative;\r\n            width: min(420px, 90%);\r\n            aspect-ratio: 1;\r\n            border-radius: 50%;\r\n            overflow: hidden;\r\n            box-shadow: 0 40px 70px -25px rgba(13, 79, 139, .7);\r\n            display: grid;\r\n            place-items: center;\r\n            background: #0a3666;\r\n        }\r\n        .disc img {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            z-index: 1;\r\n        }\r\n        .disc .overlay {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: rgba(7, 41, 74, 0.30);\r\n            z-index: 2;\r\n            border-radius: 50%;\r\n        }\r\n        .ring {\r\n            position: absolute;\r\n            border: 2px solid rgba(255, 255, 255, 0.5);\r\n            border-radius: 50%;\r\n            inset: 0;\r\n            opacity: 0;\r\n            z-index: 3;\r\n            animation: ripple 4s linear infinite;\r\n            pointer-events: none;\r\n        }\r\n        .ring:nth-child(3) { animation-delay: 1.3s; }\r\n        .ring:nth-child(4) { animation-delay: 2.6s; }\r\n        @keyframes ripple {\r\n            0%   { transform: scale(.55); opacity: .6; }\r\n            80%  { opacity: 0; }\r\n            100% { transform: scale(1.18); opacity: 0; }\r\n        }\r\n\r\n        .disc-content {\r\n            position: relative;\r\n            z-index: 4;\r\n            text-align: center;\r\n            color: #ffffff;\r\n            padding: 20px;\r\n        }\r\n        .disc-content .icon-badge {\r\n            display: inline-block;\r\n            background: rgba(255, 255, 255, 0.15);\r\n            backdrop-filter: blur(6px);\r\n            padding: 6px 16px;\r\n            border-radius: 100px;\r\n            font-family: var(--font-display);\r\n            font-weight: 700;\r\n            font-size: .7rem;\r\n            letter-spacing: .06em;\r\n            text-transform: uppercase;\r\n            color: #fff;\r\n            border: 1px solid rgba(255, 255, 255, 0.2);\r\n            margin-bottom: 10px;\r\n        }\r\n        .disc-content .big-number {\r\n            font-family: var(--font-display);\r\n            font-weight: 800;\r\n            font-size: 3.8rem;\r\n            line-height: 1;\r\n            color: #fff;\r\n            text-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);\r\n        }\r\n        .disc-content .big-number span {\r\n            font-size: 1.4rem;\r\n            font-weight: 500;\r\n            opacity: 0.8;\r\n        }\r\n        .disc-content .desc {\r\n            font-family: var(--font-body);\r\n            font-weight: 500;\r\n            font-size: .95rem;\r\n            color: rgba(255, 255, 255, 0.9);\r\n            margin-top: 4px;\r\n        }\r\n\r\n        \/* ===== FLOATING CARDS ===== *\/\r\n        .float {\r\n            position: absolute;\r\n            background: #fff;\r\n            border-radius: 14px;\r\n            padding: 12px 15px;\r\n            box-shadow: var(--shadow-md);\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 11px;\r\n            font-size: .85rem;\r\n            animation: floaty 6s ease-in-out infinite;\r\n            z-index: 10;\r\n        }\r\n        .float .fic {\r\n            width: 38px;\r\n            height: 38px;\r\n            border-radius: 10px;\r\n            display: grid;\r\n            place-items: center;\r\n            flex-shrink: 0;\r\n        }\r\n        .float b {\r\n            font-family: var(--font-display);\r\n            display: block;\r\n            font-size: 1.05rem;\r\n            color: var(--blue-900);\r\n            line-height: 1.1;\r\n        }\r\n        .float small {\r\n            color: var(--slate);\r\n            font-size: .74rem;\r\n        }\r\n        @keyframes floaty {\r\n            0%, 100% { transform: translateY(0); }\r\n            50% { transform: translateY(-12px); }\r\n        }\r\n        .float.one {\r\n            top: 6%;\r\n            left: -4%;\r\n            animation-delay: .2s;\r\n        }\r\n        .float.one .fic {\r\n            background: #fff3df;\r\n            color: var(--orange-dark);\r\n        }\r\n        .float.two {\r\n            bottom: 10%;\r\n            right: -6%;\r\n            animation-delay: 1.6s;\r\n        }\r\n        .float.two .fic {\r\n            background: var(--blue-50);\r\n            color: var(--blue-700);\r\n        }\r\n\r\n        \/* ===== WAVES ===== *\/\r\n        .waves {\r\n            position: absolute;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: 0;\r\n            line-height: 0;\r\n            z-index: 1;\r\n            pointer-events: none;\r\n        }\r\n        .waves svg {\r\n            display: block;\r\n            width: 100%;\r\n            height: 120px;\r\n        }\r\n        .wave-back use { animation: wavemove 11s linear infinite; opacity: .55; }\r\n        .wave-mid use { animation: wavemove 8s linear infinite reverse; opacity: .8; }\r\n        .wave-front use { animation: wavemove 6s linear infinite; }\r\n        @keyframes wavemove {\r\n            0%   { transform: translateX(0); }\r\n            100% { transform: translateX(-50%); }\r\n        }\r\n\r\n        \/* ===== REVEAL ===== *\/\r\n        .reveal {\r\n            opacity: 0;\r\n            transform: translateY(22px);\r\n            animation: rise .7s cubic-bezier(.2, .7, .3, 1) forwards;\r\n        }\r\n        .d1 { animation-delay: .05s; }\r\n        .d2 { animation-delay: .16s; }\r\n        .d3 { animation-delay: .27s; }\r\n        .d4 { animation-delay: .38s; }\r\n        .d5 { animation-delay: .49s; }\r\n        .reveal-r {\r\n            opacity: 0;\r\n            transform: scale(.94);\r\n            animation: pop .8s .3s cubic-bezier(.2, .7, .3, 1) forwards;\r\n        }\r\n        @keyframes rise {\r\n            to { opacity: 1; transform: translateY(0); }\r\n        }\r\n        @keyframes pop {\r\n            to { opacity: 1; transform: scale(1); }\r\n        }\r\n        @media(prefers-reduced-motion:reduce) {\r\n            * { animation: none !important; transition: none !important; }\r\n            .reveal, .reveal-r { opacity: 1; transform: none; }\r\n            h1 .accent::after { transform: scaleX(1); }\r\n        }\r\n\r\n        \/* ============================================================\r\n           RESPONSIVE \u2014 OPTIMIS\u00c9 POUR MOBILE\r\n           ============================================================ *\/\r\n        @media(max-width:940px) {\r\n            .hero-inner {\r\n                grid-template-columns: 1fr;\r\n                padding: 20px 20px 120px;\r\n                gap: 30px;\r\n            }\r\n        }\r\n\r\n        @media(max-width:640px) {\r\n            .hero-inner {\r\n                padding: 16px 16px 100px;\r\n                gap: 20px;\r\n            }\r\n\r\n            .disc {\r\n                width: min(360px, 92%);\r\n            }\r\n\r\n            .disc-content .big-number {\r\n                font-size: 2.6rem;\r\n            }\r\n            .disc-content .big-number span {\r\n                font-size: 1rem;\r\n            }\r\n            .disc-content .desc {\r\n                font-size: .75rem;\r\n            }\r\n            .disc-content .icon-badge {\r\n                font-size: .55rem;\r\n                padding: 4px 10px;\r\n            }\r\n\r\n            h1 {\r\n                font-size: clamp(1.4rem, 5vw, 1.9rem);\r\n            }\r\n            .lead {\r\n                font-size: .92rem;\r\n                max-width: 100%;\r\n            }\r\n            .chip {\r\n                font-size: .72rem;\r\n                padding: 6px 10px;\r\n            }\r\n            .trust div {\r\n                font-size: .72rem;\r\n                gap: 5px;\r\n            }\r\n\r\n            .float.one {\r\n                top: 4%;\r\n                left: 0;\r\n                padding: 8px 12px;\r\n            }\r\n            .float.two {\r\n                bottom: 6%;\r\n                right: 0;\r\n                padding: 8px 12px;\r\n            }\r\n            .float .fic {\r\n                width: 28px;\r\n                height: 28px;\r\n            }\r\n            .float b {\r\n                font-size: .8rem;\r\n            }\r\n            .float small {\r\n                font-size: .6rem;\r\n            }\r\n\r\n            .waves svg {\r\n                height: 60px;\r\n            }\r\n        }\r\n\r\n        @media(max-width:400px) {\r\n            .hero-inner {\r\n                padding: 12px 12px 80px;\r\n                gap: 16px;\r\n            }\r\n\r\n            .disc {\r\n                width: min(300px, 90%);\r\n            }\r\n\r\n            .disc-content .big-number {\r\n                font-size: 2.2rem;\r\n            }\r\n            .disc-content .big-number span {\r\n                font-size: .85rem;\r\n            }\r\n            .disc-content .desc {\r\n                font-size: .65rem;\r\n            }\r\n            .disc-content .icon-badge {\r\n                font-size: .5rem;\r\n                padding: 3px 8px;\r\n            }\r\n\r\n            h1 {\r\n                font-size: clamp(1.2rem, 4.5vw, 1.6rem);\r\n            }\r\n            .lead {\r\n                font-size: .82rem;\r\n            }\r\n            .chip {\r\n                font-size: .65rem;\r\n                padding: 4px 8px;\r\n            }\r\n            .trust div {\r\n                font-size: .65rem;\r\n                gap: 4px;\r\n            }\r\n\r\n            .float.one, .float.two {\r\n                padding: 5px 10px;\r\n                gap: 6px;\r\n            }\r\n            .float b {\r\n                font-size: .7rem;\r\n            }\r\n            .float small {\r\n                font-size: .55rem;\r\n            }\r\n            .float .fic {\r\n                width: 24px;\r\n                height: 24px;\r\n            }\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n\r\n    <!-- ==========================================================\r\n    HERO \u2013 Installation de puisard (sans badge, responsive mobile)\r\n    ========================================================== -->\r\n    <header class=\"hero\">\r\n        <div class=\"hero-inner\">\r\n\r\n            <!-- ===== CONTENU GAUCHE ===== -->\r\n            <div class=\"content\">\r\n                <h1 class=\"reveal d2\">\r\n                    <strong>Installation de puisard<\/strong><br \/>\r\n                    <span class=\"accent\">\u00c9vacuation rapide des eaux<\/span> en \u00cele-de-France\r\n                <\/h1>\r\n\r\n                <p class=\"lead reveal d3\">\r\n                    <strong>Sp\u00e9cialiste de l'installation de puisard<\/strong> \u00e0 Paris et en \u00cele-de-France.\r\n                    <strong>Pose de puisard d'infiltration<\/strong> pour eaux pluviales, <strong>bassin de r\u00e9tention<\/strong>,\r\n                    <strong>drainage<\/strong> et <strong>d\u00e9versoir d'orage<\/strong>.\r\n                    <strong>\u00c9tude de dimensionnement<\/strong> et <strong>intervention rapide<\/strong>.\r\n                    <strong>Devis gratuit<\/strong> et <strong>intervention rapide<\/strong>.\r\n                <\/p>\r\n\r\n                <!-- CHIPS -->\r\n                <div class=\"chips reveal d4\">\r\n                    <span class=\"chip\">\r\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M3 12h6l2 5 4-12 2 7h4\"\/><\/svg>\r\n                        Installation puisard pluvial\r\n                    <\/span>\r\n                    <span class=\"chip\">\r\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M3 12h6l2 5 4-12 2 7h4\"\/><\/svg>\r\n                        Puisard d'infiltration \/ drainant\r\n                    <\/span>\r\n                    <span class=\"chip\">\r\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M3 12h6l2 5 4-12 2 7h4\"\/><\/svg>\r\n                        Bassin de r\u00e9tention d'eau\r\n                    <\/span>\r\n                    <span class=\"chip\">\r\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M3 12h6l2 5 4-12 2 7h4\"\/><\/svg>\r\n                        <strong>D\u00e9versoir d'orage \/ tampon<\/strong>\r\n                    <\/span>\r\n                <\/div>\r\n\r\n                <!-- TRUST -->\r\n                <div class=\"trust reveal d5\">\r\n                    <div><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><strong>Devis gratuit<\/strong><\/div>\r\n                    <div><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><strong>Intervention 24h\/24 \u2013 7j\/7<\/strong><\/div>\r\n                    <div><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg>Garantie 5 ans<\/div>\r\n                    <div><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg>Normes DTU \/ environnement<\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- ===== VISUEL DROIT ===== -->\r\n            <div class=\"visual reveal-r\">\r\n                <div class=\"disc\">\r\n                    <img decoding=\"async\"\r\n                        src=\"http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/pose-puisard_3.jpg\"\r\n                        alt=\"Installation de puisard pour eaux pluviales en \u00cele-de-France\"\r\n                        loading=\"lazy\"\r\n                    \/>\r\n                    <div class=\"overlay\"><\/div>\r\n\r\n                    <span class=\"ring\"><\/span>\r\n                    <span class=\"ring\"><\/span>\r\n                    <span class=\"ring\"><\/span>\r\n\r\n                    <div class=\"disc-content\">\r\n                        <span class=\"icon-badge\">\r\n                            <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:middle;margin-right:6px;\">\r\n                                <path d=\"M12 2v4M12 22v-4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4M4.93 19.07l2.83-2.83M16.24 7.76l2.83-2.83\"\/>\r\n                            <\/svg>\r\n                            Installation puisard\r\n                        <\/span>\r\n                        <div class=\"big-number\">\r\n                            <strong>100%<\/strong> <span>\u00e9tanche<\/span>\r\n                        <\/div>\r\n                        <div class=\"desc\"><strong>Pose de puisard<\/strong> pour particuliers et professionnels<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- FLOATING CARDS -->\r\n                <div class=\"float one\">\r\n                    <span class=\"fic\">\r\n                        <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M12 7v5l3 2\"\/><\/svg>\r\n                    <\/span>\r\n                    <span><b>\u2248 48h<\/b><small>d\u00e9lai d'\u00e9tude<\/small><\/span>\r\n                <\/div>\r\n\r\n                <div class=\"float two\">\r\n                    <span class=\"fic\">\r\n                        <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 12l2 2 4-4\"\/><path d=\"M21 12a9 9 0 1 1-9-9c2.5 0 4.8 1 6.4 2.6\"\/><\/svg>\r\n                    <\/span>\r\n                    <span><b>300+<\/b><small>installations r\u00e9alis\u00e9es<\/small><\/span>\r\n                <\/div>\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n        <!-- Vagues -->\r\n        <div class=\"waves\" aria-hidden=\"true\">\r\n            <svg viewBox=\"0 24 150 28\" preserveAspectRatio=\"none\">\r\n                <defs>\r\n                    <path id=\"w\" d=\"M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z\" \/>\r\n                <\/defs>\r\n                <g class=\"wave-back\"><use href=\"#w\" x=\"0\" fill=\"#d6ebfb\"\/><use href=\"#w\" x=\"176\" fill=\"#d6ebfb\"\/><\/g>\r\n                <g class=\"wave-mid\"><use href=\"#w\" x=\"0\" fill=\"#a9d4f3\"\/><use href=\"#w\" x=\"176\" fill=\"#a9d4f3\"\/><\/g>\r\n                <g class=\"wave-front\"><use href=\"#w\" x=\"0\" fill=\"#ffffff\"\/><use href=\"#w\" x=\"176\" fill=\"#ffffff\"\/><\/g>\r\n            <\/svg>\r\n        <\/div>\r\n    <\/header>\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-55ffd8c e-con-full e-flex e-con e-parent\" data-id=\"55ffd8c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f06ac3c elementor-widget elementor-widget-html\" data-id=\"f06ac3c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================================\r\n     BT PLUS \u2014 Service Remplacement canalisation (SEO optimis\u00e9)\r\n     ============================================================ -->\r\n\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n\r\n<style>\r\n.btp-remplacement {\r\n  --b900:#07294a; --b800:#0a3666; --b700:#0d4f8b; --b500:#1c7ec9; --b300:#7cc0ee; --b100:#d6ebfb; --b50:#eef6fc;\r\n  --or:#f4a61a; --or-d:#d98a0c; --ink:#0c2238; --slate:#48637d; --line:#e4ecf4;\r\n  --green:#10b981; --green-bg:#d1fae5; --red:#ef4444; --red-bg:#fee2e2;\r\n  --fd:\"Sora\",sans-serif; --fb:\"Inter\",sans-serif; --fm:\"JetBrains Mono\",monospace;\r\n  --ease:cubic-bezier(.2,.8,.2,1);\r\n\r\n  position:relative; overflow:hidden; width:100%;\r\n  padding:80px 0 100px;\r\n  font-family:var(--fb); color:var(--ink); line-height:1.5;\r\n  background:\r\n    radial-gradient(820px 480px at 92% -12%, rgba(244,166,26,.05), transparent 60%),\r\n    radial-gradient(760px 460px at -6% 110%, rgba(28,126,201,.05), transparent 55%),\r\n    linear-gradient(180deg, var(--b50) 0%, #ffffff 100%);\r\n}\r\n.btp-remplacement *,.btp-remplacement *::before,.btp-remplacement *::after{box-sizing:border-box}\r\n.btp-remplacement h2,.btp-remplacement h3,.btp-remplacement h4,.btp-remplacement p{margin:0}\r\n.btp-remplacement .wrap{max-width:1200px;margin:0 auto;padding:0 24px;position:relative;z-index:2}\r\n\r\n\/* ---------- en-t\u00eate ---------- *\/\r\n.btp-remplacement .hd{text-align:center;margin-bottom:48px}\r\n.btp-remplacement .pill{display:inline-flex;align-items:center;gap:9px;font-family:var(--fm);font-weight:700;\r\n  font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--or-d);\r\n  background:#fff;border:1px solid #f6e3bf;padding:6px 14px 6px 10px;border-radius:999px}\r\n.btp-remplacement .pill .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(16,185,129,.55);animation:srvPulse 1.8s infinite}\r\n@keyframes srvPulse{0%{box-shadow:0 0 0 0 rgba(16,185,129,.55)}70%{box-shadow:0 0 0 9px rgba(16,185,129,0)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}\r\n.btp-remplacement .hd h2{font-family:var(--fd);font-weight:800;letter-spacing:-.025em;line-height:1.08;\r\n  font-size:clamp(2rem,4.8vw,3.4rem);color:var(--b900);margin:14px 0 0}\r\n.btp-remplacement .hd h2 em{font-style:normal;color:var(--or)}\r\n.btp-remplacement .hd .lead{margin-top:14px;font-size:1.05rem;color:var(--slate);max-width:620px;margin-left:auto;margin-right:auto}\r\n.btp-remplacement .hd .lead strong{color:var(--b700);font-weight:600}\r\n\r\n\/* ---------- KPI mini ---------- *\/\r\n.btp-remplacement .kpi-row{\r\n  display:grid;\r\n  grid-template-columns: repeat(4, 1fr);\r\n  gap:12px;\r\n  margin:28px 0 40px;\r\n}\r\n@media(max-width:640px){.btp-remplacement .kpi-row{grid-template-columns:1fr 1fr}}\r\n.btp-remplacement .kpi-item{\r\n  background:#fff;\r\n  border-radius:12px;\r\n  padding:14px 18px;\r\n  border:1px solid var(--line);\r\n  text-align:center;\r\n}\r\n.btp-remplacement .kpi-item .num{\r\n  font-family:var(--fd);\r\n  font-weight:800;\r\n  font-size:1.6rem;\r\n  color:var(--b900);\r\n  line-height:1;\r\n}\r\n.btp-remplacement .kpi-item .num small{font-size:.9rem;font-weight:600;color:var(--slate)}\r\n.btp-remplacement .kpi-item .label{\r\n  font-family:var(--fm);\r\n  font-size:.58rem;\r\n  letter-spacing:.06em;\r\n  text-transform:uppercase;\r\n  color:var(--slate);\r\n  margin-top:4px;\r\n}\r\n\r\n\/* ---------- grille 2 colonnes ---------- *\/\r\n.btp-remplacement .grid{\r\n  display:grid;\r\n  grid-template-columns:1fr 1fr;\r\n  gap:20px;\r\n}\r\n@media(max-width:640px){.btp-remplacement .grid{grid-template-columns:1fr}}\r\n\r\n.btp-remplacement .card{\r\n  background:#fff;\r\n  border-radius:16px;\r\n  border:1px solid var(--line);\r\n  padding:24px 26px;\r\n  transition:all .3s var(--ease);\r\n  cursor:pointer;\r\n  box-shadow:0 2px 8px rgba(0,0,0,.02);\r\n}\r\n.btp-remplacement .card:hover,\r\n.btp-remplacement .card.active{\r\n  border-color:var(--or);\r\n  box-shadow:0 8px 24px rgba(7,41,74,.08);\r\n  transform:translateY(-2px);\r\n}\r\n\r\n.btp-remplacement .card-title{\r\n  font-family:var(--fd);\r\n  font-weight:700;\r\n  font-size:1.1rem;\r\n  color:var(--b900);\r\n  margin-bottom:4px;\r\n}\r\n.btp-remplacement .card-badge{\r\n  font-family:var(--fm);\r\n  font-size:.5rem;\r\n  letter-spacing:.06em;\r\n  text-transform:uppercase;\r\n  padding:2px 12px;\r\n  border-radius:999px;\r\n  display:inline-block;\r\n}\r\n.btp-remplacement .card-badge.green{background:var(--green-bg);color:#065f46}\r\n.btp-remplacement .card-badge.red{background:var(--red-bg);color:#991b1b}\r\n.btp-remplacement .card-badge.orange{background:#fef3c7;color:#b45309}\r\n.btp-remplacement .card-badge.gray{background:#f3f4f6;color:#6b7280}\r\n\r\n.btp-remplacement .card-desc{\r\n  font-size:.85rem;\r\n  color:var(--slate);\r\n  line-height:1.6;\r\n  margin:6px 0 10px;\r\n}\r\n.btp-remplacement .card-desc strong{color:var(--b700);font-weight:600}\r\n\r\n.btp-remplacement .card-tags{\r\n  display:flex;\r\n  flex-wrap:wrap;\r\n  gap:6px;\r\n  margin-top:4px;\r\n}\r\n.btp-remplacement .card-tags span{\r\n  font-family:var(--fm);\r\n  font-size:.55rem;\r\n  color:var(--slate);\r\n  background:var(--b50);\r\n  padding:2px 12px;\r\n  border-radius:999px;\r\n}\r\n\r\n\/* ---------- CTA ROUGE avec num\u00e9ro en blanc ---------- *\/\r\n.btp-remplacement .cta-red{\r\n  display:flex;\r\n  justify-content:center;\r\n  margin-top:44px;\r\n}\r\n.btp-remplacement .btn-urgence{\r\n  display:inline-flex;\r\n  align-items:center;\r\n  gap:12px;\r\n  background:#d32f2f;\r\n  color:#ffffff !important;\r\n  font-family:var(--fd);\r\n  font-weight:700;\r\n  font-size:1.2rem;\r\n  padding:14px 36px;\r\n  border-radius:60px;\r\n  text-decoration:none;\r\n  box-shadow:0 6px 24px rgba(211,47,47,0.3);\r\n  transition:all .3s var(--ease);\r\n  border:none;\r\n  cursor:pointer;\r\n}\r\n.btp-remplacement .btn-urgence:hover{\r\n  background:#b71c1c;\r\n  transform:translateY(-3px);\r\n  box-shadow:0 10px 36px rgba(211,47,47,0.35);\r\n  color:#ffffff !important;\r\n}\r\n.btp-remplacement .btn-urgence .label{\r\n  font-size:.65rem;\r\n  font-weight:400;\r\n  opacity:.85;\r\n  display:block;\r\n  margin-top:-2px;\r\n}\r\n\r\n\/* ---------- vagues ---------- *\/\r\n.btp-remplacement .waves{\r\n  position:absolute;\r\n  left:0;\r\n  right:0;\r\n  bottom:0;\r\n  line-height:0;\r\n  z-index:1;\r\n  pointer-events:none;\r\n}\r\n.btp-remplacement .waves svg{display:block;width:100%;height:90px}\r\n.btp-remplacement .w-back use{animation:srvWave 12s linear infinite;opacity:.5}\r\n.btp-remplacement .w-mid use{animation:srvWave 9s linear infinite reverse;opacity:.8}\r\n.btp-remplacement .w-front use{animation:srvWave 6s linear infinite}\r\n@keyframes srvWave{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}\r\n\r\n\/* ---------- r\u00e9v\u00e9lation ---------- *\/\r\n.btp-remplacement .rv{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}\r\n.btp-remplacement .rv.shown{opacity:1;transform:none}\r\n\r\n@media(prefers-reduced-motion:reduce){\r\n  .btp-remplacement *{animation:none!important;transition:none!important}\r\n  .btp-remplacement .rv{opacity:1;transform:none}\r\n}\r\n<\/style>\r\n\r\n<section class=\"btp-remplacement\">\r\n  <div class=\"wrap\">\r\n\r\n    <!-- ==========================================================\r\n         EN-T\u00caTE \u2014 SEO enrichi (Remplacement canalisation)\r\n         ========================================================== -->\r\n    <header class=\"hd\">\r\n      <span class=\"pill rv\"><span class=\"dot\"><\/span><strong>Entreprise de remplacement canalisation agr\u00e9\u00e9e<\/strong> Urgence 24h\/24<\/span>\r\n      <h2 class=\"rv\"><strong>Remplacement canalisation<\/strong> &amp; <strong>r\u00e9novation compl\u00e8te<\/strong> \u2013 <em>notre expertise<\/em><\/h2>\r\n      <p class=\"lead rv\">\r\n        <strong>Remplacement canalisation pas cher<\/strong> et <strong>r\u00e9novation canalisation IDF<\/strong>\r\n        pour tous types de r\u00e9seaux : eau potable, assainissement, chauffage. <strong>Entreprise de remplacement agr\u00e9\u00e9e<\/strong> en <strong>\u00cele-de-France<\/strong>,\r\n        nous r\u00e9alisons <strong>pose de tuyaux PVC, cuivre, PER<\/strong> et <strong>r\u00e9novation sans tranch\u00e9e<\/strong>\r\n        pour <strong>particuliers<\/strong>, <strong>copropri\u00e9t\u00e9s<\/strong>, <strong>restaurants<\/strong>,\r\n        <strong>h\u00f4tels<\/strong>, <strong>immeubles<\/strong> et <strong>bureaux<\/strong>.\r\n        <strong>Devis remplacement gratuit<\/strong> \u2013 <strong>intervention 24h\/24<\/strong> en urgence.\r\n      <\/p>\r\n    <\/header>\r\n\r\n    <!-- ==========================================================\r\n         KPI \u2014 Chiffres cl\u00e9s (adapt\u00e9s)\r\n         ========================================================== -->\r\n    <div class=\"kpi-row rv\">\r\n      <div class=\"kpi-item\">\r\n        <div class=\"num\">10 <small>ans<\/small><\/div>\r\n        <div class=\"label\">Exp\u00e9rience en r\u00e9novation<\/div>\r\n      <\/div>\r\n      <div class=\"kpi-item\">\r\n        <div class=\"num\">0 <small>\u20ac<\/small><\/div>\r\n        <div class=\"label\">Devis remplacement gratuit<\/div>\r\n      <\/div>\r\n      <div class=\"kpi-item\">\r\n        <div class=\"num\">5 <small>ans<\/small><\/div>\r\n        <div class=\"label\">Garantie sur les travaux<\/div>\r\n      <\/div>\r\n      <div class=\"kpi-item\">\r\n        <div class=\"num\">100 <small>%<\/small><\/div>\r\n        <div class=\"label\">Sans tranch\u00e9e (technique gainage)<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- ==========================================================\r\n         GRILLE SERVICES \u2014 4 cartes (SEO enrichi)\r\n         ========================================================== -->\r\n    <div class=\"grid rv\">\r\n\r\n      <!-- 1. R\u00f4le du remplacement -->\r\n      <div class=\"card active\">\r\n        <div class=\"card-title\">R\u00f4le du <strong style=\"color:var(--or);\">remplacement canalisation<\/strong><\/div>\r\n        <span class=\"card-badge green\">R\u00e9novation compl\u00e8te<\/span>\r\n        <div class=\"card-desc\">\r\n          <strong>Le r\u00f4le principal d'un remplacement<\/strong> est de substituer les canalisations v\u00e9tustes ou endommag\u00e9es par des tuyaux neufs, garantissant ainsi une distribution d'eau saine et une \u00e9vacuation efficace. Nos techniciens sp\u00e9cialis\u00e9s dans le <strong>remplacement de canalisations en \u00cele-de-France<\/strong> interviennent avec des mat\u00e9riaux certifi\u00e9s (PVC, cuivre, PER) et des techniques modernes (gainage sans tranch\u00e9e). <strong>Entreprise de remplacement agr\u00e9\u00e9e<\/strong> \u2013 <strong>r\u00e9novation durable<\/strong> et conforme aux normes.\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span><strong>Remplacement professionnel<\/strong><\/span>\r\n          <span><strong>Mat\u00e9riaux certifi\u00e9s<\/strong><\/span>\r\n          <span>Technique sans tranch\u00e9e<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- 2. Causes de v\u00e9tust\u00e9 \/ fuites -->\r\n      <div class=\"card\">\r\n        <div class=\"card-title\">Causes de v\u00e9tust\u00e9 \u2013 <strong style=\"color:var(--or);\">diagnostic canalisation<\/strong><\/div>\r\n        <span class=\"card-badge red\">\u00c0 remplacer<\/span>\r\n        <div class=\"card-desc\">\r\n          <strong>Les principales causes de d\u00e9gradation :<\/strong> \u00e2ge des canalisations (plus de 30 ans), corrosion, entartrage, fissures, pression excessive, racines envahissantes. Ces facteurs entra\u00eenent des fuites, une perte de pression ou une contamination de l'eau. Un <strong>diagnostic canalisation<\/strong> pr\u00e9cis permet de d\u00e9terminer la solution de <strong>remplacement<\/strong> la plus adapt\u00e9e.\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span>Corrosion<\/span>\r\n          <span>Entartrage<\/span>\r\n          <span>Fissures<\/span>\r\n          <span>Racines<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- 3. Remplacement d'urgence \/ fuite -->\r\n      <div class=\"card\">\r\n        <div class=\"card-title\"><strong style=\"color:var(--or);\">Remplacement d'urgence<\/strong> \u2013 24h\/24<\/div>\r\n        <span class=\"card-badge red\">Urgence 24h\/24<\/span>\r\n        <div class=\"card-desc\">\r\n          <strong>Intervention rapide en cas de fuite ou de rupture.<\/strong> Notre \u00e9quipe se d\u00e9place chez vous sous 1h pour \u00e9valuer les d\u00e9g\u00e2ts et proc\u00e9der au <strong>remplacement canalisation<\/strong> dans les plus brefs d\u00e9lais. Nous utilisons des techniques de <strong>r\u00e9novation sans tranch\u00e9e<\/strong> pour minimiser les nuisances. <strong>Plombier urgence 24h\/24<\/strong> disponible pour vos sinistres.\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span><strong>Remplacement urgence<\/strong><\/span>\r\n          <span>Intervention rapide<\/span>\r\n          <span>24h\/24 \u2013 7j\/7<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- 4. R\u00e9novation pr\u00e9ventive \/ gainage -->\r\n      <div class=\"card\">\r\n        <div class=\"card-title\"><strong style=\"color:var(--or);\">R\u00e9novation pr\u00e9ventive<\/strong> \u2013 gainage sans tranch\u00e9e<\/div>\r\n        <span class=\"card-badge orange\">Entretien programm\u00e9<\/span>\r\n        <div class=\"card-desc\">\r\n          <strong>Anticipez la v\u00e9tust\u00e9 de vos r\u00e9seaux.<\/strong> La <strong>r\u00e9novation pr\u00e9ventive<\/strong> par gainage permet de renforcer vos canalisations existantes sans travaux de terrassement. Id\u00e9al pour <strong>copropri\u00e9t\u00e9s<\/strong>, <strong>restaurants<\/strong>, <strong>h\u00f4tels<\/strong>, <strong>immeubles<\/strong> ou <strong>bureaux<\/strong>. Nous assurons \u00e9galement le <strong>remplacement de canalisation maison \/ appartement<\/strong> avec des mat\u00e9riaux durables.\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span><strong>R\u00e9novation pr\u00e9ventive<\/strong><\/span>\r\n          <span><strong>Gainage sans tranch\u00e9e<\/strong><\/span>\r\n          <span>Mat\u00e9riaux PER \/ cuivre<\/span>\r\n          <span>Durable<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <!-- ==========================================================\r\n         CTA ROUGE AVEC NUM\u00c9RO EN BLANC\r\n         ========================================================== -->\r\n    <div class=\"cta-red rv\">\r\n      <a href=\"tel:0186957777\" class=\"btn-urgence\">\r\n        <span>\r\n          01 86 95 77 77\r\n          <span class=\"label\">Urgence 24h\/24 \u2013 7j\/7<\/span>\r\n        <\/span>\r\n      <\/a>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n  <!-- Vagues -->\r\n  <div class=\"waves\" aria-hidden=\"true\">\r\n    <svg viewBox=\"0 24 150 28\" preserveAspectRatio=\"none\">\r\n      <defs><path id=\"srvWaveP\" d=\"M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z\"\/><\/defs>\r\n      <g class=\"w-back\"><use href=\"#srvWaveP\" x=\"0\" fill=\"#d6ebfb\"\/><use href=\"#srvWaveP\" x=\"176\" fill=\"#d6ebfb\"\/><\/g>\r\n      <g class=\"w-mid\"><use href=\"#srvWaveP\" x=\"0\" fill=\"#a9d4f3\"\/><use href=\"#srvWaveP\" x=\"176\" fill=\"#a9d4f3\"\/><\/g>\r\n      <g class=\"w-front\"><use href=\"#srvWaveP\" x=\"0\" fill=\"#ffffff\"\/><use href=\"#srvWaveP\" x=\"176\" fill=\"#ffffff\"\/><\/g>\r\n    <\/svg>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n  'use strict';\r\n\r\n  const section = document.querySelector('.btp-remplacement');\r\n  if (!section) return;\r\n\r\n  const cards = section.querySelectorAll('.card');\r\n  cards.forEach(card => {\r\n    const activate = () => {\r\n      cards.forEach(c => c.classList.remove('active'));\r\n      card.classList.add('active');\r\n    };\r\n    card.addEventListener('mouseenter', activate);\r\n    card.addEventListener('focus', activate);\r\n    card.setAttribute('tabindex', '0');\r\n  });\r\n\r\n  const rv = section.querySelectorAll('.rv');\r\n  const reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n\r\n  if ('IntersectionObserver' in window && !reduce) {\r\n    const io = new IntersectionObserver((entries) => {\r\n      entries.forEach(e => {\r\n        if (e.isIntersecting) {\r\n          e.target.classList.add('shown');\r\n          io.unobserve(e.target);\r\n        }\r\n      });\r\n    }, { threshold: 0.15 });\r\n    rv.forEach(el => io.observe(el));\r\n  } else {\r\n    rv.forEach(el => el.classList.add('shown'));\r\n  }\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-da1167c e-con-full e-flex e-con e-parent\" data-id=\"da1167c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8d9d5d8 elementor-widget elementor-widget-html\" data-id=\"8d9d5d8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"fr\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<title>BT Plus \u2014 Remplacement de canalisation<\/title>\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Sora:wght@700;800&family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\r\n<\/head>\r\n<body style=\"margin:0;background:#fff;\">\r\n\r\n<!-- ============================================================\r\n     BT PLUS \u2014 Section immersive \"Remplacement de canalisation\"\r\n     Version 2 \u2014 parcours toujours lisible + l\u00e9gendes permanentes + mobile agrandi\r\n     ============================================================ -->\r\n\r\n<style>\r\n.bt-remplacement-canalisation * { margin:0; padding:0; box-sizing:border-box; }\r\n.bt-remplacement-canalisation { font-family:'Inter',sans-serif; background:#fff; color:#0a1a2b; line-height:1.6; overflow-x:hidden; }\r\n.bt-remplacement-canalisation .wrapper {\r\n  padding: 3rem 5% 5rem; position: relative;\r\n  background: radial-gradient(1100px 520px at 78% -8%, #d6ebfb, transparent 60%),\r\n              linear-gradient(180deg, #fbfdff 0%, #eef6fc 100%);\r\n  overflow: hidden; isolation: isolate;\r\n}\r\n.bt-remplacement-canalisation .waves { position:absolute; left:0; right:0; bottom:0; line-height:0; z-index:0; pointer-events:none; }\r\n.bt-remplacement-canalisation .waves svg { display:block; width:100%; height:100px; }\r\n.bt-remplacement-canalisation .waves .wave-back use { animation: bt-wavemove 11s linear infinite; opacity:.55; }\r\n.bt-remplacement-canalisation .waves .wave-mid use { animation: bt-wavemove 8s linear infinite reverse; opacity:.8; }\r\n.bt-remplacement-canalisation .waves .wave-front use { animation: bt-wavemove 6s linear infinite; }\r\n@keyframes bt-wavemove { 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }\r\n\r\n.bt-remplacement-canalisation .container { max-width:1200px; width:100%; margin:0 auto; padding:0 20px; position:relative; z-index:10; }\r\n\r\n.bt-remplacement-canalisation .header { text-align:center; max-width:880px; margin:0 auto 2.5rem; }\r\n.bt-remplacement-canalisation .badge {\r\n  display:inline-flex; align-items:center; gap:.8rem; font-family:'Sora',sans-serif; font-weight:700;\r\n  font-size:.85rem; letter-spacing:.12em; text-transform:uppercase; padding:.5rem 1.8rem .5rem 1rem;\r\n  border-radius:2rem; background:rgba(28,126,201,.07); color:#1c7ec9; border:1px solid rgba(28,126,201,.12); margin-bottom:1rem;\r\n}\r\n.bt-remplacement-canalisation .badge .dot { width:8px; height:8px; border-radius:50%; background:#1c7ec9; animation:bt-pulseDot 2s ease-in-out infinite; }\r\n@keyframes bt-pulseDot { 0%,100%{opacity:1; transform:scale(1);} 50%{opacity:.3; transform:scale(.6);} }\r\n.bt-remplacement-canalisation .title { font-family:'Sora',sans-serif; font-weight:800; font-size:clamp(2.2rem,4.2vw,3.4rem); letter-spacing:-.03em; color:#07294a; line-height:1.1; margin-bottom:.6rem; }\r\n.bt-remplacement-canalisation .title .highlight { background:linear-gradient(135deg,#f4a61a 0%,#d98a0c 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }\r\n.bt-remplacement-canalisation .subtitle { font-weight:400; font-size:clamp(1rem,1.2vw,1.15rem); color:#6b7f94; max-width:720px; margin:0 auto; line-height:1.7; }\r\n.bt-remplacement-canalisation .subtitle strong { color:#07294a; font-weight:600; }\r\n\r\n.bt-remplacement-canalisation .scene {\r\n  width:100%; max-width:1140px; margin:0 auto; position:relative; background:rgba(255,255,255,.6);\r\n  border-radius:32px; padding:24px 20px 8px; backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.5);\r\n  box-shadow:0 12px 60px rgba(7,41,74,.06); transition:box-shadow .4s ease;\r\n}\r\n.bt-remplacement-canalisation .scene:hover { box-shadow:0 16px 80px rgba(7,41,74,.10); }\r\n.bt-remplacement-canalisation .scene svg { display:block; width:100%; height:auto; max-height:640px; overflow:visible; }\r\n.bt-remplacement-canalisation .scene-scroll { width:100%; }\r\n.bt-remplacement-canalisation .scroll-hint { display:none; text-align:center; font-size:.72rem; color:#6b7f94; margin-top:6px; }\r\n\r\n.bt-remplacement-canalisation .step-zone { cursor:pointer; transition:filter .3s ease; }\r\n.bt-remplacement-canalisation .step-zone:hover { filter:drop-shadow(0 0 24px rgba(244,166,26,.45)); }\r\n.bt-remplacement-canalisation .step-zone.active { filter:drop-shadow(0 0 34px rgba(244,166,26,.65)); }\r\n.bt-remplacement-canalisation .step-zone .step-num { transition: transform .3s ease; }\r\n.bt-remplacement-canalisation .step-zone.active .step-num,\r\n.bt-remplacement-canalisation .step-zone:hover .step-num { transform: scale(1.12); }\r\n\r\n.bt-remplacement-canalisation .particle { animation: particleFall 3.5s ease-in infinite; }\r\n@keyframes particleFall { 0%{opacity:.7; transform:translateY(0);} 100%{opacity:0; transform:translateY(80px);} }\r\n.bt-remplacement-canalisation .arrow-move { animation: arrowFlow 5s ease-in-out infinite; }\r\n@keyframes arrowFlow { 0%{opacity:0;} 15%{opacity:1;} 85%{opacity:1;} 100%{opacity:0;} }\r\n\r\n.bt-remplacement-canalisation .step-caption { font-family:'Inter',sans-serif; pointer-events:none; }\r\n.bt-remplacement-canalisation .step-caption .cap-title { font-weight:700; font-family:'Sora',sans-serif; }\r\n\r\n.bt-remplacement-canalisation .tooltip {\r\n  position:absolute; background:rgba(255,255,255,.97); backdrop-filter:blur(12px); color:#07294a;\r\n  padding:16px 22px; border-radius:16px; font-size:.95rem; max-width:290px; line-height:1.55;\r\n  box-shadow:0 16px 48px rgba(0,0,0,.14); border:1px solid rgba(255,255,255,.4); pointer-events:none;\r\n  opacity:0; transform:translateY(8px) scale(.96); transition:opacity .25s ease, transform .25s ease;\r\n  z-index:20; font-weight:500; display:none;\r\n}\r\n.bt-remplacement-canalisation .tooltip.visible { opacity:1; transform:translateY(0) scale(1); display:block; }\r\n.bt-remplacement-canalisation .tooltip strong { color:#f4a61a; display:block; font-size:1.05rem; margin-bottom:4px; font-family:'Sora',sans-serif; }\r\n\r\n.bt-remplacement-canalisation .steps-bar { display:flex; justify-content:center; gap:18px; margin-top:20px; flex-wrap:wrap; }\r\n.bt-remplacement-canalisation .step-dot { width:16px; height:16px; border-radius:50%; background:rgba(7,41,74,.10); border:2px solid transparent; transition:all .3s ease; cursor:pointer; }\r\n.bt-remplacement-canalisation .step-dot.active { background:#f4a61a; border-color:#fff; box-shadow:0 0 30px rgba(244,166,26,.35); transform:scale(1.25); }\r\n.bt-remplacement-canalisation .step-dot.done { background:#1c7ec9; opacity:.5; }\r\n.bt-remplacement-canalisation .step-dot:hover { transform:scale(1.15); background:rgba(244,166,26,.3); }\r\n\r\n.bt-remplacement-canalisation .recap { max-width:1000px; margin:2.2rem auto 0; display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }\r\n.bt-remplacement-canalisation .recap .card {\r\n  background:rgba(255,255,255,.7); border:1px solid rgba(7,41,74,.08); border-radius:14px; padding:12px 10px;\r\n  text-align:center; transition:transform .25s ease, box-shadow .25s ease; cursor:pointer;\r\n}\r\n.bt-remplacement-canalisation .recap .card:hover, .bt-remplacement-canalisation .recap .card.active {\r\n  transform:translateY(-4px); box-shadow:0 10px 28px rgba(7,41,74,.10); border-color:rgba(244,166,26,.4);\r\n}\r\n.bt-remplacement-canalisation .recap .card .n {\r\n  width:26px; height:26px; border-radius:50%; background:#f4a61a; color:#fff; font-family:'Sora',sans-serif;\r\n  font-weight:800; font-size:.8rem; display:flex; align-items:center; justify-content:center; margin:0 auto 6px;\r\n}\r\n.bt-remplacement-canalisation .recap .card .t { font-family:'Sora',sans-serif; font-weight:700; font-size:.78rem; color:#07294a; }\r\n\r\n@media (max-width:992px){\r\n  .bt-remplacement-canalisation .wrapper{padding:2rem 3% 3rem;}\r\n  .bt-remplacement-canalisation .recap{grid-template-columns:repeat(3,1fr);}\r\n}\r\n@media (max-width:768px){\r\n  .bt-remplacement-canalisation .wrapper{padding:1.25rem 0 2.5rem;}\r\n  .bt-remplacement-canalisation .scene{padding:10px 0;border-radius:20px;}\r\n  .bt-remplacement-canalisation .title{font-size:26px;padding:0 1.25rem;}\r\n  .bt-remplacement-canalisation .subtitle{font-size:14px;padding:0 1.25rem;}\r\n  .bt-remplacement-canalisation .badge{font-size:.65rem;padding:.3rem 1.2rem .3rem .8rem;}\r\n  .bt-remplacement-canalisation .step-dot{width:14px;height:14px;}\r\n  .bt-remplacement-canalisation .tooltip{max-width:210px;font-size:.85rem;padding:12px 16px;}\r\n\r\n  \/* le dessin est trop large pour tenir en entier et rester lisible :\r\n     on l'affiche \u00e0 une taille fixe plus grande et on laisse d\u00e9filer horizontalement *\/\r\n  .bt-remplacement-canalisation .scene-scroll{\r\n    overflow-x:auto; -webkit-overflow-scrolling:touch; padding:0 12px;\r\n    scroll-snap-type:x proximity;\r\n  }\r\n  .bt-remplacement-canalisation .scene svg{ width:820px; max-width:none; flex-shrink:0; }\r\n  .bt-remplacement-canalisation .scroll-hint{ display:block; }\r\n  .bt-remplacement-canalisation .recap{grid-template-columns:repeat(3,1fr); padding:0 1.25rem;}\r\n}\r\n@media (max-width:480px){\r\n  .bt-remplacement-canalisation .recap{grid-template-columns:repeat(2,1fr);}\r\n}\r\n<\/style>\r\n\r\n<section class=\"bt-remplacement-canalisation\">\r\n  <div class=\"wrapper\">\r\n    <div class=\"container\">\r\n      <div class=\"header\">\r\n        <span class=\"badge\"><span class=\"dot\"><\/span> Remplacement de canalisation<\/span>\r\n        <h2 class=\"title\">Comprendre le <span class=\"highlight\">remplacement de canalisation<\/span><\/h2>\r\n        <p class=\"subtitle\">\r\n          Du <strong>diagnostic cam\u00e9ra<\/strong> \u00e0 la <strong>remise en \u00e9tat des surfaces<\/strong>, d\u00e9couvrez\r\n          les 6 \u00e9tapes du remplacement, de l'inspection \u00e0 la r\u00e9fection \u2014 cliquez sur un rep\u00e8re ou faites\r\n          d\u00e9filer la molette.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"scene\" id=\"sceneContainer\">\r\n       <div class=\"scene-scroll\">\r\n        <svg id=\"sceneSvg\" viewBox=\"0 0 1100 380\" preserveAspectRatio=\"xMidYMid meet\">\r\n          <defs>\r\n            <linearGradient id=\"skyGrad\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\r\n              <stop offset=\"0%\" stop-color=\"#eef6fc\" \/><stop offset=\"100%\" stop-color=\"#d6ebfb\" \/>\r\n            <\/linearGradient>\r\n            <linearGradient id=\"groundGrad\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\r\n              <stop offset=\"0%\" stop-color=\"#8a9a6a\" stop-opacity=\"0.15\" \/><stop offset=\"100%\" stop-color=\"#4a5a3a\" stop-opacity=\"0.3\" \/>\r\n            <\/linearGradient>\r\n            <filter id=\"glow\"><feGaussianBlur stdDeviation=\"4\" result=\"blur\" \/><feMerge><feMergeNode in=\"blur\" \/><feMergeNode in=\"SourceGraphic\" \/><\/feMerge><\/filter>\r\n          <\/defs>\r\n\r\n          <rect width=\"1100\" height=\"380\" fill=\"url(#skyGrad)\" \/>\r\n          <rect x=\"0\" y=\"240\" width=\"1100\" height=\"140\" fill=\"url(#groundGrad)\" \/>\r\n\r\n          <!-- ligne de parcours continue reliant les 6 \u00e9tapes -->\r\n          <path d=\"M110 300 L950 300\" stroke=\"#c7d6e2\" stroke-width=\"3\" stroke-dasharray=\"2 8\" stroke-linecap=\"round\" \/>\r\n\r\n          <!-- zone commune de tranch\u00e9e -->\r\n          <rect x=\"300\" y=\"255\" width=\"620\" height=\"55\" fill=\"#6a5a3a\" opacity=\".28\" rx=\"6\" \/>\r\n\r\n          <!-- ===== \u00c9TAPE 1 : DIAGNOSTIC ===== -->\r\n          <g class=\"step-zone\" data-step=\"1\">\r\n            <rect x=\"55\" y=\"130\" width=\"90\" height=\"80\" fill=\"#e2d9c5\" stroke=\"#b09a80\" stroke-width=\"2\" rx=\"4\" \/>\r\n            <polygon points=\"42,130 100,72 158,130\" fill=\"#b04a3a\" stroke=\"#8a3a2a\" stroke-width=\"2\" \/>\r\n            <rect x=\"80\" y=\"165\" width=\"26\" height=\"45\" fill=\"#7a5a3a\" stroke=\"#5a3a2a\" stroke-width=\"1.5\" rx=\"2\" \/>\r\n            <rect x=\"175\" y=\"152\" width=\"26\" height=\"14\" fill=\"#4a5a6a\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" rx=\"3\" \/>\r\n            <circle cx=\"205\" cy=\"159\" r=\"10\" fill=\"#6a7a8a\" stroke=\"#4a5a6a\" stroke-width=\"1.5\" \/>\r\n            <circle cx=\"205\" cy=\"159\" r=\"4\" fill=\"#4ac0e0\" opacity=\".8\" filter=\"url(#glow)\" \/>\r\n            <rect x=\"225\" y=\"150\" width=\"18\" height=\"14\" fill=\"#1a2a3a\" rx=\"2\" \/>\r\n            <rect x=\"228\" y=\"153\" width=\"12\" height=\"7\" fill=\"#4ac0e0\" opacity=\".45\" \/>\r\n            <circle cx=\"100\" cy=\"300\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"100\" cy=\"245\" r=\"15\" fill=\"#f4a61a\" \/>\r\n            <text x=\"100\" y=\"250\" font-size=\"14\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">1<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 2 : EXCAVATION ===== -->\r\n          <g class=\"step-zone\" data-step=\"2\">\r\n            <rect x=\"290\" y=\"185\" width=\"42\" height=\"34\" fill=\"#d4a030\" stroke=\"#b08020\" stroke-width=\"2\" rx=\"4\" \/>\r\n            <circle cx=\"311\" cy=\"228\" r=\"15\" fill=\"#2a2a2a\" \/><circle cx=\"311\" cy=\"228\" r=\"9\" fill=\"#4a4a4a\" \/>\r\n            <rect x=\"304\" y=\"164\" width=\"14\" height=\"20\" fill=\"#2a2a2a\" rx=\"3\" \/>\r\n            <path d=\"M318 164 L334 194 L326 202 L314 182 Z\" fill=\"#d4a030\" stroke=\"#b08020\" stroke-width=\"2\" \/>\r\n            <circle class=\"particle\" cx=\"315\" cy=\"255\" r=\"4\" fill=\"#6a4a2a\" opacity=\".6\">\r\n              <animate attributeName=\"cy\" from=\"255\" to=\"300\" dur=\"4s\" repeatCount=\"indefinite\" \/>\r\n              <animate attributeName=\"opacity\" from=\".6\" to=\"0\" dur=\"4s\" repeatCount=\"indefinite\" \/>\r\n            <\/circle>\r\n            <circle cx=\"311\" cy=\"300\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"311\" cy=\"245\" r=\"15\" fill=\"#f4a61a\" \/>\r\n            <text x=\"311\" y=\"250\" font-size=\"14\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">2<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 3 : D\u00c9POSE ===== -->\r\n          <g class=\"step-zone\" data-step=\"3\">\r\n            <path d=\"M410 290 L460 290 L485 297 L520 290\" stroke=\"#6a5a4a\" stroke-width=\"8\" fill=\"none\" stroke-linejoin=\"round\" stroke-dasharray=\"6 4\" \/>\r\n            <circle cx=\"460\" cy=\"290\" r=\"4.5\" fill=\"#8a3a2a\" opacity=\".8\" \/>\r\n            <path d=\"M535 275 l10 -10 m-10 0 l10 10\" stroke=\"#b04a3a\" stroke-width=\"3\" stroke-linecap=\"round\" \/>\r\n            <circle cx=\"470\" cy=\"300\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"470\" cy=\"245\" r=\"15\" fill=\"#f4a61a\" \/>\r\n            <text x=\"470\" y=\"250\" font-size=\"14\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">3<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 4 : POSE NEUVE ===== -->\r\n          <g class=\"step-zone\" data-step=\"4\">\r\n            <rect x=\"570\" y=\"298\" width=\"200\" height=\"7\" fill=\"#f4c060\" opacity=\".8\" rx=\"2\" \/>\r\n            <path d=\"M570 288 L620 288 L655 296 L700 288 L745 300\" stroke=\"#1c7ec9\" stroke-width=\"8\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\r\n            <path d=\"M570 288 L620 288 L655 296 L700 288 L745 300\" stroke=\"#4ac0e0\" stroke-width=\"3\" fill=\"none\" stroke-linecap=\"round\" opacity=\".6\" \/>\r\n            <circle class=\"arrow-move\" cx=\"580\" cy=\"288\" r=\"5\" fill=\"#4ac0e0\" filter=\"url(#glow)\">\r\n              <animate attributeName=\"cx\" from=\"580\" to=\"745\" dur=\"4.5s\" repeatCount=\"indefinite\" \/>\r\n              <animate attributeName=\"opacity\" from=\"0\" to=\".9\" dur=\".5s\" repeatCount=\"indefinite\" \/>\r\n            <\/circle>\r\n            <circle cx=\"655\" cy=\"300\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"655\" cy=\"245\" r=\"15\" fill=\"#f4a61a\" \/>\r\n            <text x=\"655\" y=\"250\" font-size=\"14\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">4<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 5 : CONTR\u00d4LES ===== -->\r\n          <g class=\"step-zone\" data-step=\"5\">\r\n            <rect x=\"790\" y=\"278\" width=\"28\" height=\"22\" fill=\"#6a7a5a\" stroke=\"#4a5a3a\" stroke-width=\"2\" rx=\"4\" \/>\r\n            <circle cx=\"804\" cy=\"289\" r=\"4.5\" fill=\"#4ac0e0\" opacity=\".6\" \/>\r\n            <rect x=\"835\" y=\"282\" width=\"16\" height=\"16\" fill=\"#fff\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" rx=\"2\" \/>\r\n            <line x1=\"843\" y1=\"282\" x2=\"843\" y2=\"270\" stroke=\"#2a3a4a\" stroke-width=\"2\" \/>\r\n            <circle cx=\"843\" cy=\"290\" r=\"3\" fill=\"#10b981\" \/>\r\n            <circle cx=\"815\" cy=\"300\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"815\" cy=\"245\" r=\"15\" fill=\"#f4a61a\" \/>\r\n            <text x=\"815\" y=\"250\" font-size=\"14\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">5<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 6 : REMBLAI \/ R\u00c9FECTION ===== -->\r\n          <g class=\"step-zone\" data-step=\"6\">\r\n            <rect x=\"900\" y=\"285\" width=\"135\" height=\"10\" fill=\"#8a7a5a\" opacity=\".6\" rx=\"3\" \/>\r\n            <rect x=\"900\" y=\"296\" width=\"135\" height=\"10\" fill=\"#7a6a4a\" opacity=\".5\" rx=\"3\" \/>\r\n            <rect x=\"900\" y=\"286\" width=\"135\" height=\"2\" fill=\"#f4a61a\" opacity=\".9\" \/>\r\n            <path d=\"M900 285 Q920 273 940 285 Q960 273 980 285 Q1000 273 1020 285 L1035 285 L1035 295 L900 295 Z\" fill=\"#6a9a4a\" opacity=\".6\" \/>\r\n            <circle cx=\"967\" cy=\"300\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"967\" cy=\"245\" r=\"15\" fill=\"#f4a61a\" \/>\r\n            <text x=\"967\" y=\"250\" font-size=\"14\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">6<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== L\u00c9GENDES TOUJOURS VISIBLES ===== -->\r\n          <g class=\"step-caption\" fill=\"#07294a\" text-anchor=\"middle\">\r\n            <text x=\"100\" y=\"330\" class=\"cap-title\" font-size=\"12.5\">Diagnostic<\/text>\r\n            <text x=\"100\" y=\"345\" font-size=\"10\" fill=\"#6b7f94\">Inspection cam\u00e9ra<\/text>\r\n\r\n            <text x=\"311\" y=\"330\" class=\"cap-title\" font-size=\"12.5\">Excavation<\/text>\r\n            <text x=\"311\" y=\"345\" font-size=\"10\" fill=\"#6b7f94\">Ouverture de la tranch\u00e9e<\/text>\r\n\r\n            <text x=\"470\" y=\"330\" class=\"cap-title\" font-size=\"12.5\">D\u00e9pose<\/text>\r\n            <text x=\"470\" y=\"345\" font-size=\"10\" fill=\"#6b7f94\">Retrait de l'ancien tuyau<\/text>\r\n\r\n            <text x=\"655\" y=\"330\" class=\"cap-title\" font-size=\"12.5\">Pose neuve<\/text>\r\n            <text x=\"655\" y=\"345\" font-size=\"10\" fill=\"#6b7f94\">PVC \/ PEHD, pente r\u00e9gl\u00e9e<\/text>\r\n\r\n            <text x=\"815\" y=\"330\" class=\"cap-title\" font-size=\"12.5\">Contr\u00f4les<\/text>\r\n            <text x=\"815\" y=\"345\" font-size=\"10\" fill=\"#6b7f94\">\u00c9tanch\u00e9it\u00e9, cam\u00e9ra<\/text>\r\n\r\n            <text x=\"967\" y=\"330\" class=\"cap-title\" font-size=\"12.5\">Remblai<\/text>\r\n            <text x=\"967\" y=\"345\" font-size=\"10\" fill=\"#6b7f94\">Compactage, r\u00e9fection<\/text>\r\n          <\/g>\r\n        <\/svg>\r\n       <\/div>\r\n        <p class=\"scroll-hint\">\u2190 Faites glisser pour voir toutes les \u00e9tapes \u2192<\/p>\r\n        <div class=\"tooltip\" id=\"tooltip\"><\/div>\r\n      <\/div>\r\n\r\n      <div class=\"steps-bar\" id=\"stepsBar\">\r\n        <span class=\"step-dot active\" data-step=\"1\"><\/span>\r\n        <span class=\"step-dot\" data-step=\"2\"><\/span>\r\n        <span class=\"step-dot\" data-step=\"3\"><\/span>\r\n        <span class=\"step-dot\" data-step=\"4\"><\/span>\r\n        <span class=\"step-dot\" data-step=\"5\"><\/span>\r\n        <span class=\"step-dot\" data-step=\"6\"><\/span>\r\n      <\/div>\r\n\r\n      <div class=\"recap\" id=\"recap\">\r\n        <div class=\"card\" data-step=\"1\"><div class=\"n\">1<\/div><div class=\"t\">Diagnostic<\/div><\/div>\r\n        <div class=\"card\" data-step=\"2\"><div class=\"n\">2<\/div><div class=\"t\">Excavation<\/div><\/div>\r\n        <div class=\"card\" data-step=\"3\"><div class=\"n\">3<\/div><div class=\"t\">D\u00e9pose<\/div><\/div>\r\n        <div class=\"card\" data-step=\"4\"><div class=\"n\">4<\/div><div class=\"t\">Pose neuve<\/div><\/div>\r\n        <div class=\"card\" data-step=\"5\"><div class=\"n\">5<\/div><div class=\"t\">Contr\u00f4les<\/div><\/div>\r\n        <div class=\"card\" data-step=\"6\"><div class=\"n\">6<\/div><div class=\"t\">Remblai<\/div><\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"waves\" aria-hidden=\"true\">\r\n      <svg viewBox=\"0 24 150 28\" preserveAspectRatio=\"none\">\r\n        <defs>\r\n          <path id=\"bt-w4\" d=\"M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z\" \/>\r\n        <\/defs>\r\n        <g class=\"wave-back\"><use href=\"#bt-w4\" x=\"0\" fill=\"#d6ebfb\" \/><use href=\"#bt-w4\" x=\"176\" fill=\"#d6ebfb\" \/><\/g>\r\n        <g class=\"wave-mid\"><use href=\"#bt-w4\" x=\"0\" fill=\"#a9d4f3\" \/><use href=\"#bt-w4\" x=\"176\" fill=\"#a9d4f3\" \/><\/g>\r\n        <g class=\"wave-front\"><use href=\"#bt-w4\" x=\"0\" fill=\"#ffffff\" \/><use href=\"#bt-w4\" x=\"176\" fill=\"#ffffff\" \/><\/g>\r\n      <\/svg>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n  'use strict';\r\n  const container = document.getElementById('sceneContainer');\r\n  const tooltip = document.getElementById('tooltip');\r\n  const dots = document.querySelectorAll('.step-dot');\r\n  const zones = document.querySelectorAll('.step-zone');\r\n  const cards = document.querySelectorAll('.recap .card');\r\n\r\n  const STEPS = [\r\n    { id:1, label:'Diagnostic', desc:\"Inspection cam\u00e9ra, rep\u00e9rage du trac\u00e9 et tests d'\u00e9coulement pour localiser les d\u00e9fauts et d\u00e9finir le remplacement.\" },\r\n    { id:2, label:'Excavation', desc:\"Ouverture de la tranch\u00e9e \u00e0 la mini-pelle, blindage si n\u00e9cessaire, jusqu'\u00e0 la profondeur de la canalisation.\" },\r\n    { id:3, label:'D\u00e9pose', desc:\"D\u00e9coupe et extraction de l'ancienne canalisation (PVC, fonte, gr\u00e8s\u2026). Les tron\u00e7ons sont \u00e9vacu\u00e9s en d\u00e9charge.\" },\r\n    { id:4, label:'Pose neuve', desc:\"Lit de sable (10 cm), r\u00e9glage de la pente (1 \u00e0 3 %), pose du nouveau tuyau PVC CR8 ou PEHD, embo\u00eetement contr\u00f4l\u00e9.\" },\r\n    { id:5, label:'Contr\u00f4les', desc:\"Essai d'\u00e9tanch\u00e9it\u00e9 (air\/eau), inspection cam\u00e9ra de la conduite neuve, v\u00e9rification de pente et test d'\u00e9coulement.\" },\r\n    { id:6, label:'Remblai \/ r\u00e9fection', desc:\"Remblai en couches (enrobage sable, grillage avertisseur, terre s\u00e9lectionn\u00e9e), compactage, puis r\u00e9fection de surface (gazon, pav\u00e9s, enrob\u00e9).\" }\r\n  ];\r\n\r\n  let activeStep = 1, tooltipTimeout = null;\r\n\r\n  function setActive(stepId) {\r\n    activeStep = stepId;\r\n    dots.forEach(d => { const id = +d.dataset.step; d.classList.toggle('active', id===stepId); d.classList.toggle('done', id<stepId); });\r\n    zones.forEach(z => z.classList.toggle('active', +z.dataset.step === stepId));\r\n    cards.forEach(c => c.classList.toggle('active', +c.dataset.step === stepId));\r\n  }\r\n\r\n  function triggerStep(stepId, evt) {\r\n    setActive(stepId);\r\n    const step = STEPS.find(s => s.id === stepId);\r\n    if (!step) return;\r\n    const rect = container.getBoundingClientRect();\r\n    let x, y;\r\n    if (evt && evt.clientX) { x = evt.clientX - rect.left + 16; y = evt.clientY - rect.top - 10; }\r\n    else { x = rect.width\/2 - 130; y = 20; }\r\n    tooltip.innerHTML = `<strong>${step.label}<\/strong>${step.desc}`;\r\n    tooltip.style.left = x + 'px';\r\n    tooltip.style.top = y + 'px';\r\n    tooltip.classList.add('visible');\r\n    clearTimeout(tooltipTimeout);\r\n    tooltipTimeout = setTimeout(() => tooltip.classList.remove('visible'), 4200);\r\n  }\r\n\r\n  zones.forEach(el => {\r\n    el.addEventListener('mouseenter', e => triggerStep(+el.dataset.step, e));\r\n    el.addEventListener('mousemove', e => {\r\n      const rect = container.getBoundingClientRect();\r\n      tooltip.style.left = (e.clientX - rect.left + 16) + 'px';\r\n      tooltip.style.top = (e.clientY - rect.top - 10) + 'px';\r\n    });\r\n    el.addEventListener('mouseleave', () => tooltip.classList.remove('visible'));\r\n    el.addEventListener('click', e => triggerStep(+el.dataset.step, e));\r\n  });\r\n  dots.forEach(d => d.addEventListener('click', () => triggerStep(+d.dataset.step)));\r\n  cards.forEach(c => c.addEventListener('click', () => triggerStep(+c.dataset.step)));\r\n\r\n  let wheelLock = false;\r\n  window.addEventListener('wheel', e => {\r\n    if (wheelLock) return;\r\n    wheelLock = true;\r\n    setTimeout(() => wheelLock = false, 700);\r\n    const dir = e.deltaY > 0 ? 1 : -1;\r\n    const next = Math.min(Math.max(activeStep + dir, 1), STEPS.length);\r\n    if (next !== activeStep) triggerStep(next);\r\n  }, { passive: true });\r\n\r\n  setActive(1);\r\n\r\n  document.addEventListener('click', e => {\r\n    if (!container.contains(e.target) && !e.target.closest('.step-dot') && !e.target.closest('.recap .card')) {\r\n      tooltip.classList.remove('visible');\r\n    }\r\n  });\r\n})();\r\n<\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-39bfcda e-con-full e-flex e-con e-parent\" data-id=\"39bfcda\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-33a3160 elementor-widget elementor-widget-html\" data-id=\"33a3160\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================================\r\n     BT PLUS \u2014 Galerie \"Carrousel Continu\"\r\n     D\u00e9filement automatique en boucle\r\n     ============================================================ -->\r\n\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.0.0-beta3\/css\/all.min.css\">\r\n\r\n<style>\r\n.galerie-carrousel {\r\n    --b900: #07294a;\r\n    --or: #f4a61a;\r\n    --slate: #48637d;\r\n    --line: #eef2f5;\r\n    \r\n    width: 100%;\r\n    padding: 80px 0 100px;\r\n    background: linear-gradient(180deg, #eef6fc 0%, #ffffff 100%);\r\n    font-family: 'Inter', sans-serif;\r\n    position: relative;\r\n    overflow: hidden;\r\n}\r\n\r\n\/* Vague d\u00e9corative *\/\r\n.galerie-carrousel::after {\r\n    content: '';\r\n    position: absolute;\r\n    bottom: 0;\r\n    left: 0;\r\n    right: 0;\r\n    height: 80px;\r\n    background: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'%3E%3Cpath d='M0,40 C300,80 600,0 900,40 C1050,60 1150,40 1200,40 L1200,80 L0,80 Z' fill='%23d6ebfb' opacity='0.3'\/%3E%3C\/svg%3E\") no-repeat bottom \/ 100% 100%;\r\n    pointer-events: none;\r\n}\r\n\r\n.galerie-carrousel .container {\r\n    max-width: 1400px;\r\n    margin: 0 auto;\r\n    padding: 0 40px;\r\n    position: relative;\r\n    z-index: 2;\r\n}\r\n\r\n\/* HEADER *\/\r\n.galerie-carrousel .header {\r\n    text-align: center;\r\n    margin-bottom: 44px;\r\n}\r\n\r\n.galerie-carrousel .pill {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 10px;\r\n    font-weight: 700;\r\n    font-size: 0.7rem;\r\n    letter-spacing: 0.1em;\r\n    text-transform: uppercase;\r\n    color: #d98a0c;\r\n    background: #fff;\r\n    border: 1px solid #f6e3bf;\r\n    padding: 6px 16px 6px 12px;\r\n    border-radius: 999px;\r\n    margin-bottom: 16px;\r\n}\r\n\r\n.galerie-carrousel .pill .dot {\r\n    width: 8px;\r\n    height: 8px;\r\n    border-radius: 50%;\r\n    background: #f4a61a;\r\n    animation: pulse-dot 1.8s infinite;\r\n}\r\n\r\n@keyframes pulse-dot {\r\n    0% { box-shadow: 0 0 0 0 rgba(244, 166, 26, 0.55); }\r\n    70% { box-shadow: 0 0 0 9px rgba(244, 166, 26, 0); }\r\n    100% { box-shadow: 0 0 0 0 rgba(244, 166, 26, 0); }\r\n}\r\n\r\n.galerie-carrousel .title {\r\n    font-family: 'Sora', sans-serif;\r\n    font-size: clamp(2rem, 4.2vw, 3.4rem);\r\n    font-weight: 800;\r\n    letter-spacing: -0.025em;\r\n    color: #07294a;\r\n    line-height: 1.1;\r\n}\r\n\r\n.galerie-carrousel .title span {\r\n    color: #f4a61a;\r\n}\r\n\r\n.galerie-carrousel .subtitle {\r\n    font-size: 1.05rem;\r\n    color: #48637d;\r\n    max-width: 620px;\r\n    margin: 12px auto 0;\r\n    line-height: 1.6;\r\n}\r\n\r\n\/* ============================================================\r\n   CARROUSEL CONTINU\r\n   ============================================================ *\/\r\n.galerie-carrousel .carousel-wrapper {\r\n    position: relative;\r\n    overflow: hidden;\r\n    border-radius: 20px;\r\n}\r\n\r\n.galerie-carrousel .carousel-track {\r\n    display: flex;\r\n    gap: 16px;\r\n    animation: scrollCarousel 30s linear infinite;\r\n    will-change: transform;\r\n    width: max-content;\r\n}\r\n\r\n.galerie-carrousel .carousel-track:hover {\r\n    animation-play-state: paused;\r\n}\r\n\r\n@keyframes scrollCarousel {\r\n    0% { transform: translateX(0); }\r\n    100% { transform: translateX(-50%); }\r\n}\r\n\r\n.galerie-carrousel .carousel-track .slide {\r\n    flex: 0 0 220px;\r\n    aspect-ratio: 1\/1;\r\n    border-radius: 16px;\r\n    overflow: hidden;\r\n    position: relative;\r\n    background: #07294a;\r\n    cursor: pointer;\r\n    transition: all 0.3s ease;\r\n    box-shadow: 0 4px 16px rgba(7, 41, 74, 0.06);\r\n}\r\n\r\n.galerie-carrousel .carousel-track .slide:hover {\r\n    transform: scale(1.05);\r\n    box-shadow: 0 12px 40px rgba(7, 41, 74, 0.15);\r\n    z-index: 2;\r\n}\r\n\r\n.galerie-carrousel .carousel-track .slide img {\r\n    width: 100%;\r\n    height: 100%;\r\n    object-fit: cover;\r\n    display: block;\r\n    transition: transform 0.5s ease;\r\n}\r\n\r\n.galerie-carrousel .carousel-track .slide:hover img {\r\n    transform: scale(1.05);\r\n}\r\n\r\n.galerie-carrousel .carousel-track .slide .ville {\r\n    position: absolute;\r\n    bottom: 12px;\r\n    left: 12px;\r\n    right: 12px;\r\n    background: rgba(7, 41, 74, 0.75);\r\n    backdrop-filter: blur(4px);\r\n    padding: 6px 14px;\r\n    border-radius: 999px;\r\n    font-size: 0.7rem;\r\n    font-weight: 600;\r\n    color: #fff;\r\n    text-align: center;\r\n    opacity: 0;\r\n    transform: translateY(10px);\r\n    transition: all 0.3s ease;\r\n}\r\n\r\n.galerie-carrousel .carousel-track .slide:hover .ville {\r\n    opacity: 1;\r\n    transform: translateY(0);\r\n}\r\n\r\n.galerie-carrousel .carousel-track .slide .zoom-icon {\r\n    position: absolute;\r\n    top: 12px;\r\n    right: 12px;\r\n    width: 32px;\r\n    height: 32px;\r\n    border-radius: 50%;\r\n    background: rgba(0, 0, 0, 0.5);\r\n    backdrop-filter: blur(4px);\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    color: #fff;\r\n    font-size: 0.7rem;\r\n    opacity: 0;\r\n    transition: all 0.3s ease;\r\n}\r\n\r\n.galerie-carrousel .carousel-track .slide:hover .zoom-icon {\r\n    opacity: 1;\r\n}\r\n\r\n\/* ============================================================\r\n   INDICATEURS\r\n   ============================================================ *\/\r\n.galerie-carrousel .indicators {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    gap: 20px;\r\n    margin-top: 28px;\r\n}\r\n\r\n.galerie-carrousel .indicators .dots {\r\n    display: flex;\r\n    gap: 8px;\r\n}\r\n\r\n.galerie-carrousel .indicators .dots .dot {\r\n    width: 8px;\r\n    height: 8px;\r\n    border-radius: 50%;\r\n    background: var(--line);\r\n    transition: all 0.3s ease;\r\n    cursor: pointer;\r\n}\r\n\r\n.galerie-carrousel .indicators .dots .dot.active {\r\n    background: var(--or);\r\n    width: 24px;\r\n    border-radius: 999px;\r\n}\r\n\r\n.galerie-carrousel .indicators .counter {\r\n    font-family: 'Inter', sans-serif;\r\n    font-size: 0.8rem;\r\n    color: var(--slate);\r\n    font-weight: 500;\r\n}\r\n\r\n.galerie-carrousel .indicators .pause-btn {\r\n    background: none;\r\n    border: none;\r\n    color: var(--slate);\r\n    font-size: 1rem;\r\n    cursor: pointer;\r\n    transition: color 0.3s ease;\r\n    padding: 4px 8px;\r\n}\r\n\r\n.galerie-carrousel .indicators .pause-btn:hover {\r\n    color: var(--or);\r\n}\r\n\r\n\/* ============================================================\r\n   MODALE\r\n   ============================================================ *\/\r\n.galerie-carrousel .modal {\r\n    display: none;\r\n    position: fixed;\r\n    inset: 0;\r\n    z-index: 9999;\r\n    background: rgba(7, 41, 74, 0.92);\r\n    backdrop-filter: blur(8px);\r\n    align-items: center;\r\n    justify-content: center;\r\n    padding: 40px;\r\n    animation: modalFade 0.3s ease;\r\n}\r\n\r\n.galerie-carrousel .modal.open {\r\n    display: flex;\r\n}\r\n\r\n@keyframes modalFade {\r\n    from { opacity: 0; transform: scale(0.95); }\r\n    to { opacity: 1; transform: scale(1); }\r\n}\r\n\r\n.galerie-carrousel .modal .modal-content {\r\n    position: relative;\r\n    max-width: 90vw;\r\n    max-height: 85vh;\r\n    border-radius: 20px;\r\n    overflow: hidden;\r\n    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);\r\n}\r\n\r\n.galerie-carrousel .modal .modal-content img {\r\n    width: 100%;\r\n    height: auto;\r\n    max-height: 85vh;\r\n    object-fit: contain;\r\n    display: block;\r\n}\r\n\r\n.galerie-carrousel .modal .modal-close {\r\n    position: absolute;\r\n    top: -50px;\r\n    right: 0;\r\n    background: none;\r\n    border: none;\r\n    color: #fff;\r\n    font-size: 2rem;\r\n    cursor: pointer;\r\n    transition: transform 0.3s ease;\r\n    opacity: 0.7;\r\n}\r\n\r\n.galerie-carrousel .modal .modal-close:hover {\r\n    transform: rotate(90deg);\r\n    opacity: 1;\r\n}\r\n\r\n.galerie-carrousel .modal .modal-ville {\r\n    position: absolute;\r\n    bottom: 20px;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    background: rgba(0, 0, 0, 0.6);\r\n    backdrop-filter: blur(4px);\r\n    padding: 8px 24px;\r\n    border-radius: 999px;\r\n    color: #fff;\r\n    font-size: 0.9rem;\r\n    font-weight: 600;\r\n    white-space: nowrap;\r\n}\r\n\r\n\/* ============================================================\r\n   RESPONSIVE\r\n   ============================================================ *\/\r\n@media (max-width: 992px) {\r\n    .galerie-carrousel .container {\r\n        padding: 0 30px;\r\n    }\r\n    .galerie-carrousel .carousel-track .slide {\r\n        flex: 0 0 180px;\r\n    }\r\n}\r\n\r\n@media (max-width: 640px) {\r\n    .galerie-carrousel {\r\n        padding: 60px 0 80px;\r\n    }\r\n    .galerie-carrousel .container {\r\n        padding: 0 16px;\r\n    }\r\n    .galerie-carrousel .carousel-track {\r\n        gap: 10px;\r\n    }\r\n    .galerie-carrousel .carousel-track .slide {\r\n        flex: 0 0 150px;\r\n        border-radius: 12px;\r\n    }\r\n    .galerie-carrousel .carousel-track .slide .ville {\r\n        font-size: 0.6rem;\r\n        padding: 4px 10px;\r\n        bottom: 8px;\r\n        left: 8px;\r\n        right: 8px;\r\n    }\r\n    .galerie-carrousel .carousel-track .slide .zoom-icon {\r\n        display: none;\r\n    }\r\n    .galerie-carrousel .modal {\r\n        padding: 16px;\r\n    }\r\n    .galerie-carrousel .modal .modal-close {\r\n        top: -40px;\r\n        font-size: 1.5rem;\r\n    }\r\n    .galerie-carrousel .modal .modal-ville {\r\n        font-size: 0.7rem;\r\n        padding: 4px 16px;\r\n        bottom: 12px;\r\n    }\r\n}\r\n\r\n@media (max-width: 480px) {\r\n    .galerie-carrousel .carousel-track .slide {\r\n        flex: 0 0 130px;\r\n    }\r\n}\r\n<\/style>\r\n\r\n<section class=\"galerie-carrousel\">\r\n    <div class=\"container\">\r\n        \r\n        <!-- HEADER -->\r\n        <div class=\"header\">\r\n            <span class=\"pill\">\r\n                <span class=\"dot\"><\/span>\r\n                Galerie BT Plus\r\n            <\/span>\r\n            <h2 class=\"title\">\r\n                NOS INTERVENTIONS <span><br>EN IMAGES<\/span><br\r\n            <\/h2>\r\n            <p class=\"subtitle\">\r\n                D\u00e9couvrez nos chantiers r\u00e9cents : \r\n                Cliquez sur une photo pour l'agrandir.\r\n            <\/p>\r\n        <\/div>\r\n\r\n        <!-- CARROUSEL CONTINU -->\r\n        <div class=\"carousel-wrapper\">\r\n            <div class=\"carousel-track\" id=\"carouselTrack\">\r\n                <!-- Slides g\u00e9n\u00e9r\u00e9s par JavaScript -->\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- INDICATEURS -->\r\n        <div class=\"indicators\">\r\n            <div class=\"dots\" id=\"dotsContainer\"><\/div>\r\n            <span class=\"counter\" id=\"counter\">1 \/ 9<\/span>\r\n            <button class=\"pause-btn\" id=\"pauseBtn\" aria-label=\"Pause \/ Play\">\r\n                <i class=\"fas fa-pause\"><\/i>\r\n            <\/button>\r\n        <\/div>\r\n\r\n    <\/div>\r\n\r\n    <!-- MODALE -->\r\n    <div class=\"modal\" id=\"modal\">\r\n        <div class=\"modal-content\">\r\n            <button class=\"modal-close\" id=\"modalClose\">&times;<\/button>\r\n            <img decoding=\"async\" id=\"modalImg\" src=\"\" alt=\"Intervention assainissement\">\r\n            <div class=\"modal-ville\" id=\"modalVille\"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n    'use strict';\r\n\r\n    \/\/ ============================================================\r\n    \/\/ DONN\u00c9ES \u2014 Photos avec villes\r\n    \/\/ ============================================================\r\n    const photos = [\r\n        {\r\n            src: 'http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-29-at-17.45.08-LAPTOP-MF3UBE4E-2-LAPTOP-MF3UBE4E.jpeg',\r\n            ville: 'Paris 15e'\r\n        },\r\n        {\r\n            src: 'http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-29-at-17.45.06-LAPTOP-MF3UBE4E-2-LAPTOP-MF3UBE4E.jpeg',\r\n            ville: 'Boulogne-Billancourt'\r\n        },\r\n        {\r\n            src: 'http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-29-at-17.45.05-1-LAPTOP-MF3UBE4E.jpeg',\r\n            ville: 'Nanterre'\r\n        },\r\n        {\r\n            src: 'http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-28-at-23.33.07-LAPTOP-MF3UBE4E-2-LAPTOP-MF3UBE4E-LAPTOP-MF3UBE4E.jpeg',\r\n            ville: 'Saint-Denis'\r\n        },\r\n        {\r\n            src: 'http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-28-at-16.51.17-LAPTOP-MF3UBE4E-LAPTOP-MF3UBE4E-2.jpeg',\r\n            ville: 'Montreuil'\r\n        },\r\n        {\r\n            src: 'http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-28-at-16.40.26.jpeg',\r\n            ville: 'Vincennes'\r\n        },\r\n        {\r\n            src: 'http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-28-at-14.47.29-LAPTOP-MF3UBE4E-LAPTOP-MF3UBE4E-2.jpeg',\r\n            ville: 'Asni\u00e8res'\r\n        },\r\n        {\r\n            src: 'http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-27-at-14.45.13-2-LAPTOP-MF3UBE4E-LAPTOP-MF3UBE4E.jpeg',\r\n            ville: 'Levallois-Perret'\r\n        },\r\n        {\r\n            src: 'http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/WhatsApp-Image-2021-04-24-at-18.54.26-10-LAPTOP-MF3UBE4E-2-LAPTOP-MF3UBE4E.jpeg',\r\n            ville: 'Yvelines'\r\n        }\r\n    ];\r\n\r\n    \/\/ ============================================================\r\n    \/\/ \u00c9L\u00c9MENTS\r\n    \/\/ ============================================================\r\n    const track = document.getElementById('carouselTrack');\r\n    const dotsContainer = document.getElementById('dotsContainer');\r\n    const counter = document.getElementById('counter');\r\n    const pauseBtn = document.getElementById('pauseBtn');\r\n    const modal = document.getElementById('modal');\r\n    const modalImg = document.getElementById('modalImg');\r\n    const modalVille = document.getElementById('modalVille');\r\n    const modalClose = document.getElementById('modalClose');\r\n\r\n    let isPaused = false;\r\n    let currentIndex = 0;\r\n    const totalSlides = photos.length;\r\n    const slidesPerView = 5;\r\n\r\n    \/\/ ============================================================\r\n    \/\/ G\u00c9N\u00c9RER LES SLIDES (doubl\u00e9es pour l'effet infini)\r\n    \/\/ ============================================================\r\n    function renderSlides() {\r\n        track.innerHTML = '';\r\n        \/\/ Doubler les photos pour l'effet continu\r\n        const allPhotos = [...photos, ...photos];\r\n        allPhotos.forEach((photo, index) => {\r\n            const slide = document.createElement('div');\r\n            slide.className = 'slide';\r\n            slide.setAttribute('data-index', index % photos.length);\r\n            \r\n            slide.innerHTML = `\r\n                <img decoding=\"async\" src=\"${photo.src}\" alt=\"Intervention assainissement ${photo.ville}\" loading=\"lazy\">\r\n                <div class=\"ville\">${photo.ville}<\/div>\r\n                <div class=\"zoom-icon\"><i class=\"fas fa-expand\"><\/i><\/div>\r\n            `;\r\n            \r\n            slide.addEventListener('click', function() {\r\n                const idx = parseInt(this.getAttribute('data-index'));\r\n                openModal(idx);\r\n            });\r\n            \r\n            track.appendChild(slide);\r\n        });\r\n    }\r\n\r\n    \/\/ ============================================================\r\n    \/\/ G\u00c9N\u00c9RER LES DOTS\r\n    \/\/ ============================================================\r\n    function renderDots() {\r\n        dotsContainer.innerHTML = '';\r\n        for (let i = 0; i < totalSlides; i++) {\r\n            const dot = document.createElement('span');\r\n            dot.className = 'dot' + (i === 0 ? ' active' : '');\r\n            dot.setAttribute('data-index', i);\r\n            dot.addEventListener('click', function() {\r\n                const idx = parseInt(this.getAttribute('data-index'));\r\n                goToSlide(idx);\r\n            });\r\n            dotsContainer.appendChild(dot);\r\n        }\r\n    }\r\n\r\n    \/\/ ============================================================\r\n    \/\/ NAVIGATION VERS UNE PHOTO SP\u00c9CIFIQUE\r\n    \/\/ ============================================================\r\n    function goToSlide(index) {\r\n        currentIndex = index;\r\n        const slideWidth = 220 + 16; \/\/ largeur + gap\r\n        const offset = -(index * slideWidth);\r\n        \/\/ Animation manuelle\r\n        track.style.animation = 'none';\r\n        track.style.transform = `translateX(${offset}px)`;\r\n        \/\/ R\u00e9activer l'animation apr\u00e8s un d\u00e9lai\r\n        setTimeout(() => {\r\n            track.style.animation = '';\r\n            track.style.transform = '';\r\n        }, 50);\r\n        updateDots();\r\n        updateCounter();\r\n    }\r\n\r\n    \/\/ ============================================================\r\n    \/\/ MISE \u00c0 JOUR DES INDICATEURS\r\n    \/\/ ============================================================\r\n    function updateDots() {\r\n        const dots = dotsContainer.querySelectorAll('.dot');\r\n        dots.forEach((dot, i) => {\r\n            dot.classList.toggle('active', i === currentIndex);\r\n        });\r\n    }\r\n\r\n    function updateCounter() {\r\n        counter.textContent = `${currentIndex + 1} \/ ${totalSlides}`;\r\n    }\r\n\r\n    \/\/ ============================================================\r\n    \/\/ PAUSE \/ PLAY\r\n    \/\/ ============================================================\r\n    function togglePause() {\r\n        isPaused = !isPaused;\r\n        if (isPaused) {\r\n            track.style.animationPlayState = 'paused';\r\n            pauseBtn.innerHTML = '<i class=\"fas fa-play\"><\/i>';\r\n        } else {\r\n            track.style.animationPlayState = 'running';\r\n            pauseBtn.innerHTML = '<i class=\"fas fa-pause\"><\/i>';\r\n        }\r\n    }\r\n\r\n    \/\/ ============================================================\r\n    \/\/ MODALE\r\n    \/\/ ============================================================\r\n    function openModal(index) {\r\n        const photo = photos[index];\r\n        modalImg.src = photo.src;\r\n        modalImg.alt = `Intervention assainissement ${photo.ville}`;\r\n        modalVille.textContent = photo.ville;\r\n        modal.classList.add('open');\r\n        document.body.style.overflow = 'hidden';\r\n        track.style.animationPlayState = 'paused';\r\n    }\r\n\r\n    function closeModal() {\r\n        modal.classList.remove('open');\r\n        document.body.style.overflow = '';\r\n        if (!isPaused) {\r\n            track.style.animationPlayState = 'running';\r\n        }\r\n    }\r\n\r\n    \/\/ ============================================================\r\n    \/\/ SYNC DOTS AVEC L'ANIMATION (bas\u00e9 sur la position)\r\n    \/\/ ============================================================\r\n    function syncWithScroll() {\r\n        \/\/ Cette fonction est appel\u00e9e p\u00e9riodiquement pour synchroniser les dots\r\n        \/\/ avec la position actuelle du carrousel\r\n        const slideWidth = 220 + 16;\r\n        const totalWidth = track.scrollWidth \/ 2;\r\n        const scrollPosition = Math.abs(parseFloat(track.style.transform.replace('translateX(', '').replace('px)', ''))) || 0;\r\n        const approxIndex = Math.round(scrollPosition \/ slideWidth) % totalSlides;\r\n        if (approxIndex !== currentIndex) {\r\n            currentIndex = approxIndex;\r\n            updateDots();\r\n            updateCounter();\r\n        }\r\n    }\r\n\r\n    \/\/ ============================================================\r\n    \/\/ \u00c9V\u00c9NEMENTS\r\n    \/\/ ============================================================\r\n    pauseBtn.addEventListener('click', togglePause);\r\n    modalClose.addEventListener('click', closeModal);\r\n    modal.addEventListener('click', function(e) {\r\n        if (e.target === this) closeModal();\r\n    });\r\n    document.addEventListener('keydown', function(e) {\r\n        if (e.key === 'Escape') closeModal();\r\n    });\r\n\r\n    \/\/ Synchro p\u00e9riodique\r\n    setInterval(syncWithScroll, 2000);\r\n\r\n    \/\/ ============================================================\r\n    \/\/ INITIALISATION\r\n    \/\/ ============================================================\r\n    renderSlides();\r\n    renderDots();\r\n    updateCounter();\r\n\r\n    \/\/ Fallback images\r\n    document.querySelectorAll('img').forEach(img => {\r\n        img.addEventListener('error', function() {\r\n            if (!this.hasAttribute('data-fallback')) {\r\n                this.setAttribute('data-fallback', 'true');\r\n                this.src = 'data:image\/svg+xml,%3Csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"400\" height=\"400\"%3E%3Crect fill=\"%2307294a\" width=\"400\" height=\"400\"\/%3E%3Ctext x=\"200\" y=\"200\" text-anchor=\"middle\" font-family=\"Sora\" font-size=\"24\" fill=\"%23f4a61a\"%3EBT Plus%3C\/text%3E%3C\/svg%3E';\r\n            }\r\n        });\r\n    });\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1cdbe89 e-con-full e-flex e-con e-parent\" data-id=\"1cdbe89\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-143593f elementor-widget elementor-widget-html\" data-id=\"143593f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"fr\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no, viewport-fit=cover\">\r\n    <title>Remplacement canalisation pas cher \u2013 BT Plus \u00cele-de-France<\/title>\r\n\r\n    <style>\r\n        \/* ============================================================\r\n           BT PLUS \u2014 TIMELINE VERTICALE OPTIMIS\u00c9E SEO (REMPLACEMENT)\r\n           ============================================================ *\/\r\n\r\n        * {\r\n            margin: 0;\r\n            padding: 0;\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        body {\r\n            overflow-x: hidden;\r\n            background: #f5f7fa;\r\n            font-family: 'Inter', sans-serif;\r\n        }\r\n\r\n        \/* ============================================================\r\n           SECTION TIMELINE\r\n           ============================================================ *\/\r\n        .btp-timeline {\r\n            width: 100%;\r\n            padding: 80px 0 100px;\r\n            background: linear-gradient(180deg, #eef6fc 0%, #ffffff 100%);\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        \/* Vague d\u00e9corative *\/\r\n        .btp-timeline::after {\r\n            content: '';\r\n            position: absolute;\r\n            bottom: 0;\r\n            left: 0;\r\n            right: 0;\r\n            height: 80px;\r\n            background: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'%3E%3Cpath d='M0,40 C300,80 600,0 900,40 C1050,60 1150,40 1200,40 L1200,80 L0,80 Z' fill='%23d6ebfb' opacity='0.3'\/%3E%3C\/svg%3E\") no-repeat bottom \/ 100% 100%;\r\n            pointer-events: none;\r\n        }\r\n\r\n        .btp-timeline .container {\r\n            max-width: 1000px;\r\n            margin: 0 auto;\r\n            padding: 0 40px;\r\n            position: relative;\r\n            z-index: 2;\r\n        }\r\n\r\n        \/* ============================================================\r\n           ANIMATIONS (GPU-friendly)\r\n           ============================================================ *\/\r\n        @keyframes fadeUp {\r\n            0% { opacity: 0; transform: translateY(30px); }\r\n            100% { opacity: 1; transform: translateY(0); }\r\n        }\r\n\r\n        @keyframes slideLeft {\r\n            0% { opacity: 0; transform: translateX(-30px); }\r\n            100% { opacity: 1; transform: translateX(0); }\r\n        }\r\n\r\n        @keyframes slideRight {\r\n            0% { opacity: 0; transform: translateX(30px); }\r\n            100% { opacity: 1; transform: translateX(0); }\r\n        }\r\n\r\n        @keyframes pulse-dot {\r\n            0% { box-shadow: 0 0 0 0 rgba(244, 166, 26, 0.55); }\r\n            70% { box-shadow: 0 0 0 9px rgba(244, 166, 26, 0); }\r\n            100% { box-shadow: 0 0 0 0 rgba(244, 166, 26, 0); }\r\n        }\r\n\r\n        .anim-up {\r\n            animation: fadeUp 0.7s cubic-bezier(0.2, 0.9, 0.4, 1.1) forwards;\r\n        }\r\n\r\n        .anim-left {\r\n            animation: slideLeft 0.7s cubic-bezier(0.2, 0.9, 0.4, 1.1) forwards;\r\n        }\r\n\r\n        .anim-right {\r\n            animation: slideRight 0.7s cubic-bezier(0.2, 0.9, 0.4, 1.1) forwards;\r\n        }\r\n\r\n        .init-hidden {\r\n            opacity: 0;\r\n            transform: translateY(30px);\r\n        }\r\n\r\n        .init-left {\r\n            opacity: 0;\r\n            transform: translateX(-30px);\r\n        }\r\n\r\n        .init-right {\r\n            opacity: 0;\r\n            transform: translateX(30px);\r\n        }\r\n\r\n        \/* ============================================================\r\n           HEADER \u2014 SEO enrichi\r\n           ============================================================ *\/\r\n        .btp-timeline .header {\r\n            text-align: center;\r\n            margin-bottom: 60px;\r\n        }\r\n\r\n        .btp-timeline .pill {\r\n            display: inline-flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            font-weight: 700;\r\n            font-size: 0.7rem;\r\n            letter-spacing: 0.1em;\r\n            text-transform: uppercase;\r\n            color: #d98a0c;\r\n            background: #fff;\r\n            border: 1px solid #f6e3bf;\r\n            padding: 6px 16px 6px 12px;\r\n            border-radius: 999px;\r\n            margin-bottom: 16px;\r\n        }\r\n\r\n        .btp-timeline .pill .dot {\r\n            width: 8px;\r\n            height: 8px;\r\n            border-radius: 50%;\r\n            background: #f4a61a;\r\n            animation: pulse-dot 1.8s infinite;\r\n        }\r\n\r\n        .btp-timeline .title {\r\n            font-family: 'Sora', sans-serif;\r\n            font-size: clamp(2rem, 4.2vw, 3.4rem);\r\n            font-weight: 800;\r\n            letter-spacing: -0.025em;\r\n            color: #07294a;\r\n            line-height: 1.1;\r\n        }\r\n\r\n        .btp-timeline .title span {\r\n            color: #f4a61a;\r\n        }\r\n\r\n        .btp-timeline .subtitle {\r\n            font-size: 1.05rem;\r\n            color: #48637d;\r\n            max-width: 700px;\r\n            margin: 12px auto 0;\r\n            line-height: 1.6;\r\n        }\r\n        .btp-timeline .subtitle strong {\r\n            color: #07294a;\r\n            font-weight: 600;\r\n        }\r\n\r\n        \/* ============================================================\r\n           TIMELINE\r\n           ============================================================ *\/\r\n        .btp-timeline .timeline {\r\n            position: relative;\r\n            padding: 0 0 20px 0;\r\n        }\r\n\r\n        \/* Ligne verticale centrale *\/\r\n        .btp-timeline .timeline::before {\r\n            content: '';\r\n            position: absolute;\r\n            left: 50%;\r\n            top: 0;\r\n            bottom: 0;\r\n            width: 3px;\r\n            background: linear-gradient(180deg, #d6ebfb, #f4a61a, #d6ebfb);\r\n            transform: translateX(-50%);\r\n            border-radius: 99px;\r\n        }\r\n\r\n        \/* \u00c9tape de la timeline *\/\r\n        .btp-timeline .step {\r\n            display: flex;\r\n            align-items: flex-start;\r\n            margin-bottom: 40px;\r\n            position: relative;\r\n        }\r\n\r\n        .btp-timeline .step:last-child {\r\n            margin-bottom: 0;\r\n        }\r\n\r\n        \/* Contenu gauche *\/\r\n        .btp-timeline .step .content-left {\r\n            width: 50%;\r\n            padding-right: 50px;\r\n            text-align: right;\r\n        }\r\n\r\n        \/* Contenu droite *\/\r\n        .btp-timeline .step .content-right {\r\n            width: 50%;\r\n            padding-left: 50px;\r\n            text-align: left;\r\n        }\r\n\r\n        \/* Point central *\/\r\n        .btp-timeline .step .dot-wrap {\r\n            position: absolute;\r\n            left: 50%;\r\n            top: 8px;\r\n            transform: translateX(-50%);\r\n            z-index: 2;\r\n            width: 44px;\r\n            height: 44px;\r\n            border-radius: 50%;\r\n            background: #fff;\r\n            border: 3px solid #f4a61a;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            box-shadow: 0 4px 16px rgba(244, 166, 26, 0.15);\r\n        }\r\n\r\n        .btp-timeline .step .dot-wrap .step-num {\r\n            font-family: 'Sora', sans-serif;\r\n            font-size: 0.75rem;\r\n            font-weight: 800;\r\n            color: #f4a61a;\r\n        }\r\n\r\n        \/* Point sp\u00e9cial \u2014 vert pour la derni\u00e8re \u00e9tape *\/\r\n        .btp-timeline .step:last-child .dot-wrap {\r\n            border-color: #10b981;\r\n            background: #10b981;\r\n        }\r\n\r\n        .btp-timeline .step:last-child .dot-wrap .step-num {\r\n            color: #fff;\r\n        }\r\n\r\n        \/* Num\u00e9ro d'\u00e9tape *\/\r\n        .btp-timeline .step .step-label {\r\n            font-family: 'Sora', sans-serif;\r\n            font-size: 0.65rem;\r\n            font-weight: 700;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.08em;\r\n            color: #1c7ec9;\r\n            margin-bottom: 4px;\r\n        }\r\n\r\n        \/* Titre de l'\u00e9tape *\/\r\n        .btp-timeline .step .step-title {\r\n            font-family: 'Sora', sans-serif;\r\n            font-size: 1.15rem;\r\n            font-weight: 700;\r\n            color: #07294a;\r\n            margin-bottom: 6px;\r\n            line-height: 1.3;\r\n        }\r\n\r\n        .btp-timeline .step .step-title span {\r\n            color: #f4a61a;\r\n        }\r\n\r\n        \/* Description *\/\r\n        .btp-timeline .step .step-desc {\r\n            font-size: 0.9rem;\r\n            color: #48637d;\r\n            line-height: 1.7;\r\n        }\r\n\r\n        .btp-timeline .step .step-desc strong {\r\n            color: #07294a;\r\n            font-weight: 600;\r\n        }\r\n\r\n        \/* Bandeau produits (\u00e9tape 1) *\/\r\n        .btp-timeline .products-tags {\r\n            display: flex;\r\n            flex-wrap: wrap;\r\n            gap: 8px;\r\n            margin-top: 10px;\r\n            justify-content: flex-start;\r\n        }\r\n\r\n        .btp-timeline .step .content-right .products-tags {\r\n            justify-content: flex-start;\r\n        }\r\n\r\n        .btp-timeline .step .content-left .products-tags {\r\n            justify-content: flex-end;\r\n        }\r\n\r\n        .btp-timeline .products-tags .tag {\r\n            display: inline-block;\r\n            font-size: 0.65rem;\r\n            font-weight: 500;\r\n            color: #48637d;\r\n            background: #fff;\r\n            padding: 3px 14px;\r\n            border-radius: 999px;\r\n            border: 1px solid #eef2f5;\r\n            transition: all 0.2s;\r\n        }\r\n\r\n        .btp-timeline .products-tags .tag:hover {\r\n            border-color: #f4a61a;\r\n            background: #fefaf5;\r\n        }\r\n\r\n        \/* ============================================================\r\n           RAPPEL URGENCE + BOUTON (SEO enrichi)\r\n           ============================================================ *\/\r\n        .btp-timeline .urgence-block {\r\n            margin-top: 50px;\r\n            padding-top: 40px;\r\n            border-top: 2px solid #eef2f5;\r\n            text-align: center;\r\n        }\r\n\r\n        .btp-timeline .urgence-block .rappel {\r\n            font-size: 1rem;\r\n            color: #48637d;\r\n            margin-bottom: 20px;\r\n            line-height: 1.6;\r\n        }\r\n\r\n        .btp-timeline .urgence-block .rappel strong {\r\n            color: #07294a;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .btp-timeline .urgence-block .rappel .highlight {\r\n            color: #f4a61a;\r\n            font-weight: 600;\r\n        }\r\n\r\n        \/* ============================================================\r\n           CTA ROUGE \u2014 NUM\u00c9RO EN BLANC\r\n           ============================================================ *\/\r\n        .btp-timeline .btn-urgence {\r\n            display: inline-flex;\r\n            align-items: center;\r\n            gap: 14px;\r\n            background: #d32f2f;        \/* ROUGE *\/\r\n            color: #ffffff !important;  \/* BLANC *\/\r\n            padding: 16px 40px;\r\n            border-radius: 50px;\r\n            text-decoration: none;\r\n            font-family: 'Sora', sans-serif;\r\n            font-weight: 700;\r\n            font-size: 1.1rem;\r\n            transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);\r\n            box-shadow: 0 4px 20px rgba(211, 47, 47, 0.30);\r\n            border: none;\r\n            cursor: pointer;\r\n        }\r\n\r\n        .btp-timeline .btn-urgence:hover {\r\n            background: #b71c1c;        \/* ROUGE FONC\u00c9 au survol *\/\r\n            transform: translateY(-3px);\r\n            box-shadow: 0 8px 32px rgba(211, 47, 47, 0.40);\r\n            color: #ffffff !important;\r\n            gap: 18px;\r\n        }\r\n\r\n        .btp-timeline .btn-urgence .number {\r\n            font-size: 1.4rem;\r\n            letter-spacing: 0.02em;\r\n            color: #ffffff;             \/* BLANC *\/\r\n        }\r\n\r\n        .btp-timeline .btn-urgence .label {\r\n            font-size: 0.7rem;\r\n            font-weight: 600;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.06em;\r\n            color: rgba(255, 255, 255, 0.7);  \/* BLANC avec transparence *\/\r\n            display: block;\r\n            margin-top: 1px;\r\n        }\r\n\r\n        \/* ============================================================\r\n           RESPONSIVE (Mobile-first optimis\u00e9)\r\n           ============================================================ *\/\r\n        @media (max-width: 992px) {\r\n            .btp-timeline .container {\r\n                padding: 0 30px;\r\n            }\r\n\r\n            .btp-timeline .timeline::before {\r\n                left: 20px;\r\n            }\r\n\r\n            .btp-timeline .step .dot-wrap {\r\n                left: 20px;\r\n                width: 40px;\r\n                height: 40px;\r\n            }\r\n\r\n            .btp-timeline .step .dot-wrap .step-num {\r\n                font-size: 0.7rem;\r\n            }\r\n\r\n            .btp-timeline .step .content-left,\r\n            .btp-timeline .step .content-right {\r\n                width: 100%;\r\n                padding-left: 60px;\r\n                padding-right: 0;\r\n                text-align: left;\r\n            }\r\n\r\n            .btp-timeline .step .content-left .products-tags {\r\n                justify-content: flex-start;\r\n            }\r\n\r\n            .btp-timeline .step .step-label {\r\n                font-size: 0.6rem;\r\n            }\r\n\r\n            .btp-timeline .step .step-title {\r\n                font-size: 1rem;\r\n            }\r\n\r\n            .btp-timeline .step .step-desc {\r\n                font-size: 0.85rem;\r\n            }\r\n\r\n            .btp-timeline .btn-urgence {\r\n                padding: 14px 30px;\r\n                font-size: 1rem;\r\n            }\r\n\r\n            .btp-timeline .btn-urgence .number {\r\n                font-size: 1.2rem;\r\n            }\r\n        }\r\n\r\n        @media (max-width: 640px) {\r\n            .btp-timeline {\r\n                padding: 60px 0 80px;\r\n            }\r\n\r\n            .btp-timeline .container {\r\n                padding: 0 20px;\r\n            }\r\n\r\n            .btp-timeline .timeline::before {\r\n                left: 14px;\r\n            }\r\n\r\n            .btp-timeline .step {\r\n                margin-bottom: 30px;\r\n            }\r\n\r\n            .btp-timeline .step .dot-wrap {\r\n                left: 14px;\r\n                width: 34px;\r\n                height: 34px;\r\n            }\r\n\r\n            .btp-timeline .step .dot-wrap .step-num {\r\n                font-size: 0.6rem;\r\n            }\r\n\r\n            .btp-timeline .step .content-left,\r\n            .btp-timeline .step .content-right {\r\n                padding-left: 48px;\r\n            }\r\n\r\n            .btp-timeline .step .step-title {\r\n                font-size: 0.9rem;\r\n            }\r\n\r\n            .btp-timeline .step .step-desc {\r\n                font-size: 0.8rem;\r\n            }\r\n\r\n            .btp-timeline .products-tags .tag {\r\n                font-size: 0.55rem;\r\n                padding: 2px 10px;\r\n            }\r\n\r\n            .btp-timeline .urgence-block .rappel {\r\n                font-size: 0.9rem;\r\n            }\r\n\r\n            .btp-timeline .btn-urgence {\r\n                padding: 12px 24px;\r\n                font-size: 0.9rem;\r\n                flex-direction: column;\r\n                gap: 4px;\r\n                width: 100%;\r\n                justify-content: center;\r\n            }\r\n\r\n            .btp-timeline .btn-urgence .number {\r\n                font-size: 1.1rem;\r\n            }\r\n\r\n            .btp-timeline .btn-urgence .label {\r\n                font-size: 0.6rem;\r\n            }\r\n\r\n            .btp-timeline .btn-urgence:hover {\r\n                gap: 6px;\r\n            }\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n\r\n<!-- ============================================================\r\n     SECTION TIMELINE VERTICALE \u2014 REMPLACEMENT CANALISATION\r\n     ============================================================ -->\r\n<section class=\"btp-timeline\">\r\n    <div class=\"container\">\r\n\r\n        <!-- HEADER \u2014 SEO enrichi -->\r\n        <div class=\"header\">\r\n            <span class=\"pill init-hidden\">\r\n                <span class=\"dot\"><\/span>\r\n                Urgence 24h\/24 \u2013 Devis gratuit\r\n            <\/span>\r\n            <h2 class=\"title init-hidden\">\r\n                Remplacement canalisation pas cher \u2013 <span>R\u00e9novation compl\u00e8te 24h\/24<\/span>\r\n            <\/h2>\r\n            <p class=\"subtitle init-hidden\">\r\n                <strong>Plombier urgence 24h\/24 en \u00cele-de-France<\/strong> \u2013 D\u00e9couvrez notre m\u00e9thode pour un\r\n                <strong>remplacement de canalisation professionnel<\/strong> durable et conforme aux normes.\r\n                <strong>Devis gratuit<\/strong> et <strong>intervention sous 1h<\/strong> en cas de fuite.\r\n            <\/p>\r\n        <\/div>\r\n\r\n        <!-- TIMELINE -->\r\n        <div class=\"timeline\">\r\n\r\n            <!-- \u00c9TAPE 1 \u2014 Gauche -->\r\n            <div class=\"step\">\r\n                <div class=\"content-left init-left\">\r\n                    <div class=\"step-label\">\u00c9tape 1<\/div>\r\n                    <div class=\"step-title\">Vous constatez des <span>signes de v\u00e9tust\u00e9<\/span><\/div>\r\n                    <div class=\"step-desc\">\r\n                        Fuites, perte de pression, eau marron ou bruit dans les canalisations. Ce sont les premiers\r\n                        signes que votre <strong>r\u00e9seau de canalisation<\/strong> est arriv\u00e9 en fin de vie.\r\n                        <strong>Remplacement canalisation pas cher<\/strong> en apparence, mais un diagnostic s'impose.\r\n                    <\/div>\r\n                    <div class=\"products-tags\">\r\n                        <span class=\"tag\">Fuites<\/span>\r\n                        <span class=\"tag\">Pression faible<\/span>\r\n                        <span class=\"tag\">Eau color\u00e9e<\/span>\r\n                        <span class=\"tag\">Bruits<\/span>\r\n                        <span class=\"tag\">Vieilles canalisations<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n                <div class=\"dot-wrap\">\r\n                    <span class=\"step-num\">1<\/span>\r\n                <\/div>\r\n                <div class=\"content-right init-right\"><\/div>\r\n            <\/div>\r\n\r\n            <!-- \u00c9TAPE 2 \u2014 Droite -->\r\n            <div class=\"step\">\r\n                <div class=\"content-left init-left\"><\/div>\r\n                <div class=\"dot-wrap\">\r\n                    <span class=\"step-num\">2<\/span>\r\n                <\/div>\r\n                <div class=\"content-right init-right\">\r\n                    <div class=\"step-label\">\u00c9tape 2<\/div>\r\n                    <div class=\"step-title\">Une solution <span>temporaire<\/span><\/div>\r\n                    <div class=\"step-desc\">\r\n                        Vous avez fait appel \u00e0 un plombier pour une r\u00e9paration rapide, mais le probl\u00e8me persiste.\r\n                        Les <strong>r\u00e9parations provisoires<\/strong> ne remplacent pas une <strong>r\u00e9novation en profondeur<\/strong>.\r\n                        Un <strong>remplacement de canalisation<\/strong> par un professionnel s'impose durablement.\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- \u00c9TAPE 3 \u2014 Gauche -->\r\n            <div class=\"step\">\r\n                <div class=\"content-left init-left\">\r\n                    <div class=\"step-label\">\u00c9tape 3<\/div>\r\n                    <div class=\"step-title\"><span>Fuite importante<\/span> \u2013 urgence<\/div>\r\n                    <div class=\"step-desc\">\r\n                        Vous ne contr\u00f4lez plus la situation. Une <strong>fuite d'eau<\/strong> ab\u00eeme vos murs, vos sols\r\n                        ou vos voisins. C'est une <strong>urgence plomberie<\/strong> qui n\u00e9cessite une\r\n                        <strong>intervention rapide<\/strong> pour <strong>remplacer la canalisation<\/strong> d\u00e9fectueuse.\r\n                    <\/div>\r\n                <\/div>\r\n                <div class=\"dot-wrap\">\r\n                    <span class=\"step-num\">3<\/span>\r\n                <\/div>\r\n                <div class=\"content-right init-right\"><\/div>\r\n            <\/div>\r\n\r\n            <!-- \u00c9TAPE 4 \u2014 Droite -->\r\n            <div class=\"step\">\r\n                <div class=\"content-left init-left\"><\/div>\r\n                <div class=\"dot-wrap\" style=\"border-color: #f4a61a; background: #fefaf5;\">\r\n                    <span class=\"step-num\" style=\"color: #f4a61a;\">4<\/span>\r\n                <\/div>\r\n                <div class=\"content-right init-right\">\r\n                    <div class=\"step-label\">\u00c9tape 4 \u2014 R\u00e9flexe urgent<\/div>\r\n                    <div class=\"step-title\"><span>Pas de panique !<\/span><\/div>\r\n                    <div class=\"step-desc\">\r\n                        Dans un premier temps, <strong>coupez votre arriv\u00e9e d'eau<\/strong> pour limiter les d\u00e9g\u00e2ts\r\n                        avant l'arriv\u00e9e de notre <strong>plombier urgence 24h\/24<\/strong>.\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- \u00c9TAPE 5 \u2014 Gauche -->\r\n            <div class=\"step\">\r\n                <div class=\"content-left init-left\">\r\n                    <div class=\"step-label\">\u00c9tape 5<\/div>\r\n                    <div class=\"step-title\">Vous appelez <span>BT PLUS<\/span><\/div>\r\n                    <div class=\"step-desc\">\r\n                        Faites appel \u00e0 une <strong>entreprise de remplacement de canalisation agr\u00e9\u00e9e<\/strong> comme\r\n                        <strong>BT PLUS<\/strong>. Notre conseiller t\u00e9l\u00e9phonique accorde une grande attention \u00e0 tous\r\n                        les d\u00e9tails que vous nous donnez, afin de comprendre parfaitement votre besoin.\r\n                        <strong>Soci\u00e9t\u00e9 de r\u00e9novation canalisation Paris<\/strong> et toute l'\u00cele-de-France.\r\n                        <strong>Remplacement 7j\/7<\/strong> \u2013 nous sommes l\u00e0 pour vous.\r\n                    <\/div>\r\n                <\/div>\r\n                <div class=\"dot-wrap\" style=\"border-color: #f4a61a; background: #f4a61a;\">\r\n                    <span class=\"step-num\" style=\"color: #fff;\">5<\/span>\r\n                <\/div>\r\n                <div class=\"content-right init-right\"><\/div>\r\n            <\/div>\r\n\r\n            <!-- \u00c9TAPE 6 \u2014 Droite -->\r\n            <div class=\"step\">\r\n                <div class=\"content-left init-left\"><\/div>\r\n                <div class=\"dot-wrap\" style=\"border-color: #10b981; background: #10b981;\">\r\n                    <span class=\"step-num\" style=\"color: #fff;\">6<\/span>\r\n                <\/div>\r\n                <div class=\"content-right init-right\">\r\n                    <div class=\"step-label\">\u00c9tape 6 \u2014 Intervention<\/div>\r\n                    <div class=\"step-title\">Remplacement <span>rapide chez vous<\/span><\/div>\r\n                    <div class=\"step-desc\">\r\n                        Notre \u00e9quipe de <strong>techniciens qualifi\u00e9s<\/strong> ma\u00eetrisant les techniques de\r\n                        <strong>remplacement de canalisation<\/strong> intervient <strong>rapidement chez vous<\/strong>\r\n                        avec des <strong>mat\u00e9riaux certifi\u00e9s<\/strong> (PVC, cuivre, PER) et des m\u00e9thodes\r\n                        <strong>sans tranch\u00e9e<\/strong> (gainage). <strong>R\u00e9novation canalisation IDF<\/strong>\r\n                        pour un r\u00e9sultat durable et conforme aux normes.\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n        <!-- RAPPEL URGENCE + BOUTON \u2014 SEO enrichi -->\r\n        <div class=\"urgence-block init-hidden\">\r\n            <p class=\"rappel\">\r\n                <strong>Rappel :<\/strong> En cas de fuite, coupez votre arriv\u00e9e d'eau et appelez notre\r\n                <strong>plombier urgence 24h\/24<\/strong> <span class=\"highlight\">imm\u00e9diatement<\/span>.\r\n                <strong>Remplacement canalisation 24h\/24 \u2013 7j\/7<\/strong> \u2013 <strong>devis gratuit<\/strong>.\r\n            <\/p>\r\n            <a href=\"tel:0186957777\" class=\"btn-urgence\">\r\n                <span>\r\n                    <span class=\"number\">01 86 95 77 77<\/span>\r\n                    <span class=\"label\">Appel gratuit \u00b7 Urgence 24h\/24 \u00b7 7j\/7<\/span>\r\n                <\/span>\r\n            <\/a>\r\n        <\/div>\r\n\r\n    <\/div>\r\n<\/section>\r\n\r\n<!-- ============================================================\r\n     SCRIPT \u2014 Animations au scroll (Intersection Observer)\r\n     ============================================================ -->\r\n<script>\r\n    document.addEventListener('DOMContentLoaded', function() {\r\n\r\n        const elements = document.querySelectorAll('.init-hidden, .init-left, .init-right');\r\n\r\n        if (elements.length > 0 && 'IntersectionObserver' in window) {\r\n            const observer = new IntersectionObserver((entries) => {\r\n                entries.forEach(entry => {\r\n                    if (entry.isIntersecting) {\r\n                        if (entry.target.classList.contains('init-hidden')) {\r\n                            entry.target.classList.add('anim-up');\r\n                        } else if (entry.target.classList.contains('init-left')) {\r\n                            entry.target.classList.add('anim-left');\r\n                        } else if (entry.target.classList.contains('init-right')) {\r\n                            entry.target.classList.add('anim-right');\r\n                        }\r\n                        observer.unobserve(entry.target);\r\n                    }\r\n                });\r\n            }, {\r\n                threshold: 0.15,\r\n                rootMargin: '0px 0px -40px 0px'\r\n            });\r\n\r\n            elements.forEach(el => observer.observe(el));\r\n        } else {\r\n            \/\/ Fallback si IntersectionObserver non support\u00e9\r\n            elements.forEach(el => {\r\n                el.classList.remove('init-hidden', 'init-left', 'init-right');\r\n                el.classList.add('anim-up', 'anim-left', 'anim-right');\r\n            });\r\n        }\r\n\r\n    });\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fc19b13 e-con-full e-flex e-con e-parent\" data-id=\"fc19b13\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2fd09d7 elementor-widget elementor-widget-html\" data-id=\"2fd09d7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================================\r\n     BT PLUS \u2014 Services par d\u00e9partement (REMPLACEMENT DE CANALISATION)\r\n     ============================================================ -->\r\n\r\n<style>\r\n.btp-liens{\r\n  --b900:#07294a; --b800:#0a3666; --b700:#0d4f8b; --b500:#1c7ec9; --b300:#7cc0ee; --b100:#d6ebfb; --b50:#eef6fc;\r\n  --or:#f4a61a; --or-d:#d98a0c; --ink:#0c2238; --slate:#48637d; --line:#e4ecf4;\r\n  --green:#10b981; --green-bg:#d1fae5; --red:#ef4444; --red-bg:#fee2e2;\r\n  --fd:\"Sora\",sans-serif; --fb:\"Inter\",sans-serif; --fm:\"JetBrains Mono\",monospace;\r\n  --ease:cubic-bezier(.2,.8,.2,1);\r\n\r\n  position:relative; overflow:hidden; width:100%;\r\n  padding:60px 0 70px;\r\n  font-family:var(--fb); color:var(--ink); line-height:1.5;\r\n  background:#ffffff;\r\n}\r\n.btp-liens *,.btp-liens *::before,.btp-liens *::after{box-sizing:border-box}\r\n.btp-liens h2,.btp-liens h3,.btp-liens p{margin:0}\r\n.btp-liens .wrap{\r\n  max-width:1200px;\r\n  margin:0 auto;\r\n  padding:0 24px;\r\n  position:relative;\r\n  z-index:2;\r\n}\r\n\r\n\/* ---------- en-t\u00eate ---------- *\/\r\n.btp-liens .hd{\r\n  text-align:center;\r\n  margin-bottom:32px;\r\n}\r\n.btp-liens .hd h2{\r\n  font-family:var(--fd);\r\n  font-weight:800;\r\n  letter-spacing:-.025em;\r\n  line-height:1.1;\r\n  font-size:clamp(1.6rem,3.2vw,2.4rem);\r\n  color:var(--b900);\r\n}\r\n.btp-liens .hd h2 em{font-style:normal;color:var(--or)}\r\n.btp-liens .hd p{\r\n  margin-top:8px;\r\n  font-size:.95rem;\r\n  color:var(--slate);\r\n}\r\n\r\n\/* ---------- groupes de services ---------- *\/\r\n.btp-liens .groupe{\r\n  margin-bottom:32px;\r\n}\r\n.btp-liens .groupe:last-child{margin-bottom:0}\r\n\r\n.btp-liens .groupe-titre{\r\n  font-family:var(--fd);\r\n  font-weight:700;\r\n  font-size:1.1rem;\r\n  color:var(--b900);\r\n  margin-bottom:12px;\r\n  padding-bottom:6px;\r\n  border-bottom:2px solid var(--or);\r\n  display:inline-block;\r\n}\r\n.btp-liens .groupe-titre small{\r\n  font-weight:400;\r\n  font-size:.7rem;\r\n  color:var(--slate);\r\n  margin-left:8px;\r\n}\r\n\r\n\/* ---------- grille des services ---------- *\/\r\n.btp-liens .services-grid{\r\n  display:grid;\r\n  grid-template-columns:repeat(4,1fr);\r\n  gap:14px;\r\n}\r\n@media(max-width:820px){\r\n  .btp-liens .services-grid{grid-template-columns:repeat(2,1fr)}\r\n}\r\n@media(max-width:480px){\r\n  .btp-liens .services-grid{grid-template-columns:1fr}\r\n}\r\n\r\n.btp-liens .service-card{\r\n  display:block;\r\n  background:#fff;\r\n  border-radius:12px;\r\n  border:1px solid var(--line);\r\n  padding:16px 20px;\r\n  text-decoration:none;\r\n  color:var(--b900);\r\n  font-family:var(--fd);\r\n  font-weight:600;\r\n  font-size:.9rem;\r\n  transition:all .3s var(--ease);\r\n  text-align:center;\r\n  box-shadow:0 2px 6px rgba(0,0,0,.02);\r\n  position:relative;\r\n}\r\n.btp-liens .service-card:hover{\r\n  border-color:var(--or);\r\n  box-shadow:0 8px 20px rgba(7,41,74,.08);\r\n  transform:translateY(-3px);\r\n  color:var(--b700);\r\n}\r\n.btp-liens .service-card .sous-titre{\r\n  display:block;\r\n  font-family:var(--fm);\r\n  font-weight:400;\r\n  font-size:.55rem;\r\n  letter-spacing:.04em;\r\n  text-transform:uppercase;\r\n  color:var(--slate);\r\n  margin-top:2px;\r\n}\r\n.btp-liens .service-card .badge-service{\r\n  display:inline-block;\r\n  font-family:var(--fm);\r\n  font-size:.45rem;\r\n  letter-spacing:.06em;\r\n  text-transform:uppercase;\r\n  padding:2px 10px;\r\n  border-radius:999px;\r\n  background:var(--b50);\r\n  color:var(--b700);\r\n  margin-bottom:4px;\r\n}\r\n\/* badge \"page actuelle\" *\/\r\n.btp-liens .service-card .badge-actuel{\r\n  background:var(--or);\r\n  color:#fff;\r\n}\r\n.btp-liens .service-card.actuel{\r\n  border-color:var(--or);\r\n  background:#fefcf5;\r\n}\r\n<\/style>\r\n\r\n<section class=\"btp-liens\">\r\n  <div class=\"wrap\">\r\n\r\n    <!-- EN-T\u00caTE \u2014 mentionne le remplacement de canalisation -->\r\n    <div class=\"hd\">\r\n      <h2>Nos autres <em>Services<\/em><\/h2>\r\n      <p>Retrouvez l'ensemble de nos prestations d'assainissement, hors remplacement de canalisation, en \u00cele\u2011de\u2011France<\/p>\r\n    <\/div>\r\n\r\n    <!-- ===== 1 \u2013 D\u00c9PANNAGE ===== -->\r\n    <div class=\"groupe\">\r\n      <div class=\"groupe-titre\">D\u00e9pannage <small>intervention 24h\/24<\/small><\/div>\r\n      <div class=\"services-grid\">\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/debouchage\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          D\u00e9bouchage\r\n          <span class=\"sous-titre\">Intervention rapide<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/curage\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Curage\r\n          <span class=\"sous-titre\">Hydrocurage haute pression<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/inspection-camera\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Inspection cam\u00e9ra\r\n          <span class=\"sous-titre\">Diagnostic HD 4K<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/pompage\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Pompage\r\n          <span class=\"sous-titre\">Vidange &amp; assainissement<\/span>\r\n        <\/a>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- ===== 2 \u2013 TRAVAUX NON COLLECTIF ===== -->\r\n    <div class=\"groupe\">\r\n      <div class=\"groupe-titre\">Travaux non collectif <small>ANC &amp; installations priv\u00e9es<\/small><\/div>\r\n      <div class=\"services-grid\">\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/regard\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Regard\r\n          <span class=\"sous-titre\">Regards de visite<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/installation-de-puisard\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Installation de puisard\r\n          <span class=\"sous-titre\">Puits d\u2019infiltration<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/bac-a-graisse\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Bac \u00e0 graisse\r\n          <span class=\"sous-titre\">S\u00e9paration des graisses<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/instalation-pompe-de-relevage\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Installation pompe de relevage\r\n          <span class=\"sous-titre\">Mise en place de pompe<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/station-depuration\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Station d\u2019\u00e9puration\r\n          <span class=\"sous-titre\">Micro\u2011station &amp; filtre<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/separation-des-ep-eu\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          S\u00e9paration des EP\/EU\r\n          <span class=\"sous-titre\">Eaux pluviales \/ eaux us\u00e9es<\/span>\r\n        <\/a>\r\n        <!-- page actuelle : remplacement de canalisation -->\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/remplacement-de-canalisation\/\" class=\"service-card actuel\">\r\n          <span class=\"badge-service badge-actuel\">Page actuelle<\/span>\r\n          Remplacement de canalisation\r\n          <span class=\"sous-titre\">R\u00e9novation de r\u00e9seaux<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/travaux-de-mise-en-conformite\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Mise en conformit\u00e9\r\n          <span class=\"sous-titre\">Mise aux normes du r\u00e9seau<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/travaux-dassainissement-non-collectif\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Assainissement non collectif\r\n          <span class=\"sous-titre\">ANC \u2013 Fosse toutes eaux<\/span>\r\n        <\/a>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- ===== 3 \u2013 TRAVAUX COLLECTIF ===== -->\r\n    <div class=\"groupe\">\r\n      <div class=\"groupe-titre\">Travaux collectif <small>raccordement au r\u00e9seau public<\/small><\/div>\r\n      <div class=\"services-grid\">\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/raccordement-tout-a-legout\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Raccordement tout\u2011\u00e0\u2011l\u2019\u00e9gout\r\n          <span class=\"sous-titre\">Raccordement au r\u00e9seau public<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/raccordement-eaux-pluviales\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Raccordement eaux pluviales\r\n          <span class=\"sous-titre\">Gestion des eaux de pluie<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/raccordement-en-gargouille\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Raccordement en gargouille\r\n          <span class=\"sous-titre\">Raccordement par gargouille<\/span>\r\n        <\/a>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d564628 e-con-full e-flex e-con e-parent\" data-id=\"d564628\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a76b378 elementor-widget elementor-widget-html\" data-id=\"a76b378\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"fr\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no, viewport-fit=cover\">\r\n    <title>Diagnostic canalisation \u2013 BT Plus \u00cele-de-France<\/title>\r\n\r\n\r\n    <style>\r\n        \/* ============================================================\r\n           BT PLUS \u2014 DIAGNOSTIC CANALISATION (SEO optimis\u00e9)\r\n           ============================================================ *\/\r\n\r\n        * {\r\n            margin: 0;\r\n            padding: 0;\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        body {\r\n            overflow-x: hidden;\r\n            background: #f5f7fa;\r\n            font-family: 'Inter', sans-serif;\r\n        }\r\n\r\n        \/* ============================================================\r\n           ANIMATIONS (GPU-friendly)\r\n           ============================================================ *\/\r\n        @keyframes fadeUp {\r\n            0% { opacity: 0; transform: translateY(30px); }\r\n            100% { opacity: 1; transform: translateY(0); }\r\n        }\r\n\r\n        @keyframes pulse-dot {\r\n            0% { box-shadow: 0 0 0 0 rgba(244, 166, 26, 0.55); }\r\n            70% { box-shadow: 0 0 0 9px rgba(244, 166, 26, 0); }\r\n            100% { box-shadow: 0 0 0 0 rgba(244, 166, 26, 0); }\r\n        }\r\n\r\n        .anim-up {\r\n            animation: fadeUp 0.7s cubic-bezier(0.2, 0.9, 0.4, 1.1) forwards;\r\n        }\r\n\r\n        .init-hidden {\r\n            opacity: 0;\r\n            transform: translateY(30px);\r\n        }\r\n\r\n        \/* ============================================================\r\n           SECTION DIAGNOSTIC\r\n           ============================================================ *\/\r\n        .btp-diagnostic {\r\n            width: 100%;\r\n            padding: 80px 0 100px;\r\n            background: linear-gradient(180deg, #eef6fc 0%, #ffffff 100%);\r\n            position: relative;\r\n            overflow: hidden;\r\n        }\r\n\r\n        \/* Vague d\u00e9corative *\/\r\n        .btp-diagnostic::after {\r\n            content: '';\r\n            position: absolute;\r\n            bottom: 0;\r\n            left: 0;\r\n            right: 0;\r\n            height: 80px;\r\n            background: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'%3E%3Cpath d='M0,40 C300,80 600,0 900,40 C1050,60 1150,40 1200,40 L1200,80 L0,80 Z' fill='%23d6ebfb' opacity='0.3'\/%3E%3C\/svg%3E\") no-repeat bottom \/ 100% 100%;\r\n            pointer-events: none;\r\n        }\r\n\r\n        .btp-diagnostic .container {\r\n            max-width: 1100px;\r\n            margin: 0 auto;\r\n            padding: 0 40px;\r\n            position: relative;\r\n            z-index: 2;\r\n        }\r\n\r\n        \/* ============================================================\r\n           HEADER \u2014 SEO enrichi\r\n           ============================================================ *\/\r\n        .btp-diagnostic .header {\r\n            text-align: center;\r\n            margin-bottom: 50px;\r\n        }\r\n\r\n        .btp-diagnostic .pill {\r\n            display: inline-flex;\r\n            align-items: center;\r\n            gap: 10px;\r\n            font-weight: 700;\r\n            font-size: 0.7rem;\r\n            letter-spacing: 0.1em;\r\n            text-transform: uppercase;\r\n            color: #d98a0c;\r\n            background: #fff;\r\n            border: 1px solid #f6e3bf;\r\n            padding: 6px 16px 6px 12px;\r\n            border-radius: 999px;\r\n            margin-bottom: 16px;\r\n        }\r\n\r\n        .btp-diagnostic .pill .dot {\r\n            width: 8px;\r\n            height: 8px;\r\n            border-radius: 50%;\r\n            background: #f4a61a;\r\n            animation: pulse-dot 1.8s infinite;\r\n        }\r\n\r\n        .btp-diagnostic .title {\r\n            font-family: 'Sora', sans-serif;\r\n            font-size: clamp(2rem, 4.2vw, 3.4rem);\r\n            font-weight: 800;\r\n            letter-spacing: -0.025em;\r\n            color: #07294a;\r\n            line-height: 1.1;\r\n        }\r\n\r\n        .btp-diagnostic .title span {\r\n            color: #f4a61a;\r\n        }\r\n\r\n        .btp-diagnostic .subtitle {\r\n            font-size: 1.05rem;\r\n            color: #48637d;\r\n            max-width: 700px;\r\n            margin: 12px auto 0;\r\n            line-height: 1.6;\r\n        }\r\n        .btp-diagnostic .subtitle strong {\r\n            color: #07294a;\r\n            font-weight: 600;\r\n        }\r\n\r\n        \/* ============================================================\r\n           DOSSIER PATIENT \u2014 Avant\/Apr\u00e8s\r\n           ============================================================ *\/\r\n        .btp-diagnostic .dossier {\r\n            background: #fff;\r\n            border-radius: 28px;\r\n            padding: 40px 44px;\r\n            border: 1px solid #eef2f5;\r\n            box-shadow: 0 4px 20px rgba(7, 41, 74, 0.04);\r\n            margin-bottom: 40px;\r\n        }\r\n\r\n        .btp-diagnostic .dossier .dossier-header {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 12px;\r\n            margin-bottom: 24px;\r\n            padding-bottom: 16px;\r\n            border-bottom: 2px solid #eef2f5;\r\n        }\r\n\r\n        .btp-diagnostic .dossier .dossier-header .badge-dossier {\r\n            font-family: 'Sora', sans-serif;\r\n            font-size: 0.65rem;\r\n            font-weight: 700;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.08em;\r\n            color: #1c7ec9;\r\n            background: #eef6fc;\r\n            padding: 4px 14px;\r\n            border-radius: 999px;\r\n        }\r\n\r\n        .btp-diagnostic .dossier .dossier-header .dossier-id {\r\n            font-family: 'Inter', sans-serif;\r\n            font-size: 0.7rem;\r\n            color: #9aaeb8;\r\n            margin-left: auto;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid {\r\n            display: grid;\r\n            grid-template-columns: 1fr 1fr;\r\n            gap: 24px;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card {\r\n            border-radius: 20px;\r\n            overflow: hidden;\r\n            background: #f8fafc;\r\n            border: 1px solid #eef2f5;\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card:hover {\r\n            transform: translateY(-4px);\r\n            box-shadow: 0 12px 32px rgba(7, 41, 74, 0.06);\r\n            border-color: #d6ebfb;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card img {\r\n            width: 100%;\r\n            height: 220px;\r\n            object-fit: cover;\r\n            display: block;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card .ba-label {\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: space-between;\r\n            padding: 14px 20px;\r\n            font-weight: 700;\r\n            font-size: 0.85rem;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card .ba-label .status {\r\n            font-size: 0.6rem;\r\n            font-weight: 600;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.06em;\r\n            padding: 2px 12px;\r\n            border-radius: 999px;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card .ba-label .status.avant {\r\n            background: #fee2e2;\r\n            color: #dc2626;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card .ba-label .status.apres {\r\n            background: #d1fae5;\r\n            color: #10b981;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card .ba-label .label-text {\r\n            color: #07294a;\r\n            font-family: 'Sora', sans-serif;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card.avant {\r\n            border-color: #fca5a5;\r\n        }\r\n\r\n        .btp-diagnostic .ba-grid .ba-card.apres {\r\n            border-color: #6ee7b7;\r\n        }\r\n\r\n        \/* ============================================================\r\n           SYMPT\u00d4MES \u2014 SEO enrichis\r\n           ============================================================ *\/\r\n        .btp-diagnostic .section-title {\r\n            font-family: 'Sora', sans-serif;\r\n            font-size: 1.3rem;\r\n            font-weight: 700;\r\n            color: #07294a;\r\n            margin-bottom: 20px;\r\n        }\r\n\r\n        .btp-diagnostic .symptoms-grid {\r\n            display: grid;\r\n            grid-template-columns: 1fr 1fr;\r\n            gap: 20px;\r\n            margin-bottom: 40px;\r\n        }\r\n\r\n        .btp-diagnostic .symptom-card {\r\n            background: #fff;\r\n            border-radius: 20px;\r\n            padding: 24px 28px;\r\n            border: 1px solid #eef2f5;\r\n            transition: all 0.3s ease;\r\n            box-shadow: 0 2px 8px rgba(7, 41, 74, 0.02);\r\n        }\r\n\r\n        .btp-diagnostic .symptom-card:hover {\r\n            transform: translateY(-3px);\r\n            border-color: #f4a61a;\r\n            box-shadow: 0 8px 24px rgba(7, 41, 74, 0.06);\r\n        }\r\n\r\n        .btp-diagnostic .symptom-card h4 {\r\n            font-family: 'Sora', sans-serif;\r\n            font-size: 1rem;\r\n            font-weight: 700;\r\n            color: #07294a;\r\n            margin-bottom: 6px;\r\n        }\r\n\r\n        .btp-diagnostic .symptom-card p {\r\n            font-size: 0.85rem;\r\n            color: #48637d;\r\n            line-height: 1.6;\r\n        }\r\n        .btp-diagnostic .symptom-card p strong {\r\n            color: #07294a;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .btp-diagnostic .symptom-card .tag-symptom {\r\n            display: inline-block;\r\n            margin-top: 10px;\r\n            font-size: 0.6rem;\r\n            font-weight: 600;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.06em;\r\n            color: #f4a61a;\r\n            background: #fefaf5;\r\n            padding: 2px 14px;\r\n            border-radius: 999px;\r\n            border: 1px solid #f6e3bf;\r\n        }\r\n\r\n        \/* ============================================================\r\n           ORDONNANCE \u2014 SEO enrichie\r\n           ============================================================ *\/\r\n        .btp-diagnostic .ordonnance {\r\n            background: #fefaf5;\r\n            border-radius: 20px;\r\n            padding: 28px 32px;\r\n            border: 1px solid #f6e3bf;\r\n            margin-bottom: 40px;\r\n        }\r\n\r\n        .btp-diagnostic .ordonnance .ord-title {\r\n            font-family: 'Sora', sans-serif;\r\n            font-size: 1.1rem;\r\n            font-weight: 700;\r\n            color: #07294a;\r\n            margin-bottom: 4px;\r\n        }\r\n\r\n        .btp-diagnostic .ordonnance .ord-title span {\r\n            color: #f4a61a;\r\n        }\r\n\r\n        .btp-diagnostic .ordonnance .ord-desc {\r\n            font-size: 0.9rem;\r\n            color: #48637d;\r\n            line-height: 1.6;\r\n            margin-bottom: 14px;\r\n        }\r\n\r\n        .btp-diagnostic .ordonnance .ord-list {\r\n            display: flex;\r\n            flex-wrap: wrap;\r\n            gap: 10px;\r\n        }\r\n\r\n        .btp-diagnostic .ordonnance .ord-list .ord-item {\r\n            display: inline-block;\r\n            background: #fff;\r\n            padding: 6px 18px;\r\n            border-radius: 999px;\r\n            border: 1px solid #eef2f5;\r\n            font-size: 0.8rem;\r\n            font-weight: 500;\r\n            color: #07294a;\r\n            transition: all 0.2s;\r\n        }\r\n\r\n        .btp-diagnostic .ordonnance .ord-list .ord-item:hover {\r\n            border-color: #f4a61a;\r\n            background: #fff;\r\n        }\r\n\r\n        \/* ============================================================\r\n           RAPPEL URGENCE \u2014 SEO enrichi\r\n           ============================================================ *\/\r\n        .btp-diagnostic .urgence-block {\r\n            margin-top: 10px;\r\n            padding-top: 30px;\r\n            border-top: 2px solid #eef2f5;\r\n            text-align: center;\r\n        }\r\n\r\n        .btp-diagnostic .urgence-block .rappel {\r\n            font-size: 1rem;\r\n            color: #48637d;\r\n            margin-bottom: 16px;\r\n            line-height: 1.6;\r\n        }\r\n\r\n        .btp-diagnostic .urgence-block .rappel strong {\r\n            color: #07294a;\r\n            font-weight: 600;\r\n        }\r\n\r\n        .btp-diagnostic .urgence-block .rappel .highlight {\r\n            color: #f4a61a;\r\n            font-weight: 600;\r\n        }\r\n\r\n        \/* ============================================================\r\n           CTA ROUGE \u2014 NUM\u00c9RO EN BLANC (comme dans la version curage)\r\n           ============================================================ *\/\r\n        .btp-diagnostic .btn-urgence {\r\n            display: inline-flex;\r\n            align-items: center;\r\n            gap: 14px;\r\n            background: #d32f2f;        \/* ROUGE *\/\r\n            color: #ffffff !important;  \/* BLANC *\/\r\n            padding: 16px 40px;\r\n            border-radius: 50px;\r\n            text-decoration: none;\r\n            font-family: 'Sora', sans-serif;\r\n            font-weight: 700;\r\n            font-size: 1.1rem;\r\n            transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);\r\n            box-shadow: 0 4px 20px rgba(211, 47, 47, 0.30);\r\n            border: none;\r\n            cursor: pointer;\r\n        }\r\n\r\n        .btp-diagnostic .btn-urgence:hover {\r\n            background: #b71c1c;        \/* ROUGE FONC\u00c9 au survol *\/\r\n            transform: translateY(-3px);\r\n            box-shadow: 0 8px 32px rgba(211, 47, 47, 0.40);\r\n            color: #ffffff !important;\r\n            gap: 18px;\r\n        }\r\n\r\n        .btp-diagnostic .btn-urgence .number {\r\n            font-size: 1.4rem;\r\n            letter-spacing: 0.02em;\r\n            color: #ffffff;             \/* BLANC *\/\r\n        }\r\n\r\n        .btp-diagnostic .btn-urgence .label {\r\n            font-size: 0.7rem;\r\n            font-weight: 600;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.06em;\r\n            color: rgba(255, 255, 255, 0.7);  \/* BLANC avec transparence *\/\r\n            display: block;\r\n            margin-top: 1px;\r\n        }\r\n\r\n        \/* ============================================================\r\n           RESPONSIVE (Mobile-first)\r\n           ============================================================ *\/\r\n        @media (max-width: 992px) {\r\n            .btp-diagnostic .container {\r\n                padding: 0 30px;\r\n            }\r\n\r\n            .btp-diagnostic .dossier {\r\n                padding: 28px 24px;\r\n            }\r\n\r\n            .btp-diagnostic .ba-grid {\r\n                grid-template-columns: 1fr 1fr;\r\n                gap: 16px;\r\n            }\r\n\r\n            .btp-diagnostic .ba-grid .ba-card img {\r\n                height: 180px;\r\n            }\r\n\r\n            .btp-diagnostic .symptoms-grid {\r\n                grid-template-columns: 1fr;\r\n            }\r\n\r\n            .btp-diagnostic .ordonnance {\r\n                padding: 22px 20px;\r\n            }\r\n        }\r\n\r\n        @media (max-width: 640px) {\r\n            .btp-diagnostic {\r\n                padding: 60px 0 80px;\r\n            }\r\n\r\n            .btp-diagnostic .container {\r\n                padding: 0 20px;\r\n            }\r\n\r\n            .btp-diagnostic .dossier {\r\n                padding: 20px 16px;\r\n                border-radius: 20px;\r\n            }\r\n\r\n            .btp-diagnostic .ba-grid {\r\n                grid-template-columns: 1fr;\r\n                gap: 14px;\r\n            }\r\n\r\n            .btp-diagnostic .ba-grid .ba-card img {\r\n                height: 160px;\r\n            }\r\n\r\n            .btp-diagnostic .ba-grid .ba-card .ba-label {\r\n                padding: 10px 16px;\r\n                font-size: 0.75rem;\r\n            }\r\n\r\n            .btp-diagnostic .symptom-card {\r\n                padding: 18px 20px;\r\n            }\r\n\r\n            .btp-diagnostic .symptom-card h4 {\r\n                font-size: 0.9rem;\r\n            }\r\n\r\n            .btp-diagnostic .symptom-card p {\r\n                font-size: 0.8rem;\r\n            }\r\n\r\n            .btp-diagnostic .ordonnance .ord-list .ord-item {\r\n                font-size: 0.7rem;\r\n                padding: 4px 14px;\r\n            }\r\n\r\n            .btp-diagnostic .urgence-block .rappel {\r\n                font-size: 0.9rem;\r\n            }\r\n\r\n            .btp-diagnostic .btn-urgence {\r\n                padding: 12px 28px;\r\n                font-size: 1rem;\r\n                width: 100%;\r\n                flex-direction: column;\r\n                gap: 4px;\r\n                justify-content: center;\r\n            }\r\n\r\n            .btp-diagnostic .btn-urgence .number {\r\n                font-size: 1.1rem;\r\n            }\r\n\r\n            .btp-diagnostic .btn-urgence .label {\r\n                font-size: 0.6rem;\r\n            }\r\n\r\n            .btp-diagnostic .btn-urgence:hover {\r\n                gap: 6px;\r\n            }\r\n\r\n            .btp-diagnostic .dossier .dossier-header .dossier-id {\r\n                display: none;\r\n            }\r\n        }\r\n\r\n        \/* ============================================================\r\n           FALLBACK IMAGES\r\n           ============================================================ *\/\r\n        img.error-fallback {\r\n            object-fit: contain;\r\n            background: #eef6fc;\r\n            padding: 20px;\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n\r\n<!-- ============================================================\r\n     SECTION DIAGNOSTIC \u2014 BT PLUS (SEO optimis\u00e9)\r\n     ============================================================ -->\r\n<section class=\"btp-diagnostic\">\r\n    <div class=\"container\">\r\n\r\n        <!-- HEADER \u2014 SEO enrichi -->\r\n        <div class=\"header\">\r\n            <span class=\"pill init-hidden\">\r\n                <span class=\"dot\"><\/span>\r\n                Urgence 24h\/24 \u2013 Devis gratuit\r\n            <\/span>\r\n            <h2 class=\"title init-hidden\">\r\n                Diagnostic canalisation \u2013 <span>Inspection cam\u00e9ra<\/span><br>pour remplacement durable\r\n            <\/h2>\r\n            <p class=\"subtitle init-hidden\">\r\n                <strong>Plombier urgence 24h\/24 en \u00cele-de-France<\/strong> \u2013 D\u00e9tection pr\u00e9cise pour un\r\n                <strong>remplacement de canalisation<\/strong> efficace. <strong>Inspection canalisation v\u00e9tuste<\/strong>\r\n                et <strong>diagnostic de r\u00e9seau<\/strong> par <strong>inspection cam\u00e9ra HD<\/strong>.\r\n                <strong>Devis gratuit<\/strong> et <strong>intervention rapide<\/strong>.\r\n            <\/p>\r\n        <\/div>\r\n\r\n        <!-- DOSSIER PATIENT \u2014 Avant \/ Apr\u00e8s (remplacement) -->\r\n        <div class=\"dossier init-hidden\">\r\n            <div class=\"dossier-header\">\r\n                <span class=\"badge-dossier\">Dossier patient \u2013 Inspection cam\u00e9ra<\/span>\r\n                <span class=\"dossier-id\">R\u00e9f. #R-2024-001<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"ba-grid\">\r\n                <!-- AVANT \u2014 station de relevage \u00e0 remplacer (chantier en cours) -->\r\n                <div class=\"ba-card avant\">\r\n                    <img decoding=\"async\" src=\"http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/remplacement-station-relevage_-2.jpg\"\r\n                         alt=\"Station de relevage v\u00e9tuste avant remplacement\"\r\n                         onerror=\"this.src='data:image\/svg+xml,%3Csvg xmlns=%22http:\/\/www.w3.org\/2000\/svg%22 width=%22500%22 height=%22220%22%3E%3Crect fill=%22%23fef2f2%22 width=%22500%22 height=%22220%22\/%3E%3Ctext x=%22250%22 y=%22110%22 text-anchor=%22middle%22 font-family=%22Sora%22 font-size=%2224%22 fill=%22%23dc2626%22%3ESTATION RELEVAGE%3C\/text%3E%3C\/svg%3E'\">\r\n                    <div class=\"ba-label\">\r\n                        <span class=\"label-text\">Avant \u2013 Station relevage v\u00e9tuste<\/span>\r\n                        <span class=\"status avant\">\u00c0 remplacer<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- APR\u00c8S \u2014 puisard neuf install\u00e9 (travaux termin\u00e9s) -->\r\n                <div class=\"ba-card apres\">\r\n                    <img decoding=\"async\" src=\"http:\/\/sci-bme.fr\/wp-content\/uploads\/2026\/06\/pose-puisard_3.jpg\"\r\n                         alt=\"Puisard neuf install\u00e9 - r\u00e9novation r\u00e9ussie\"\r\n                         onerror=\"this.src='data:image\/svg+xml,%3Csvg xmlns=%22http:\/\/www.w3.org\/2000\/svg%22 width=%22500%22 height=%22220%22%3E%3Crect fill=%22%23ecfdf5%22 width=%22500%22 height=%22220%22\/%3E%3Ctext x=%22250%22 y=%22110%22 text-anchor=%22middle%22 font-family=%22Sora%22 font-size=%2224%22 fill=%22%2310b981%22%3EPUISARD NEUF%3C\/text%3E%3C\/svg%3E'\">\r\n                    <div class=\"ba-label\">\r\n                        <span class=\"label-text\">Apr\u00e8s \u2013 Puisard neuf install\u00e9<\/span>\r\n                        <span class=\"status apres\">Conforme & durable<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- SYMPT\u00d4MES \u2014 Signes de v\u00e9tust\u00e9 (SEO enrichi) -->\r\n        <div class=\"section-title init-hidden\">\r\n            Signes d'une canalisation \u00e0 remplacer\r\n        <\/div>\r\n\r\n        <div class=\"symptoms-grid\">\r\n\r\n            <div class=\"symptom-card init-hidden\">\r\n                <h4>Usure et d\u00e9gradation<\/h4>\r\n                <p>\r\n                    Les <strong>canalisations anciennes<\/strong> (plus de 30 ans) pr\u00e9sentent des signes d'usure :\r\n                    <strong>corrosion<\/strong>, <strong>entartrage<\/strong>, <strong>fissures<\/strong> ou\r\n                    <strong>effritement<\/strong>. Ces d\u00e9gradations entra\u00eenent une <strong>perte de pression<\/strong>,\r\n                    des <strong>fuites<\/strong> ou une <strong>eau de mauvaise qualit\u00e9<\/strong>. Un\r\n                    <strong>diagnostic canalisation<\/strong> par cam\u00e9ra permet de d\u00e9tecter ces anomalies.\r\n                    <strong>Remplacement canalisation pas cher<\/strong> avec des mat\u00e9riaux certifi\u00e9s (PVC, cuivre, PER).\r\n                <\/p>\r\n                <span class=\"tag-symptom\">R\u00e9novation n\u00e9cessaire<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"symptom-card init-hidden\">\r\n                <h4>Probl\u00e8mes structurels<\/h4>\r\n                <p>\r\n                    Si vos <strong>canalisations<\/strong> pr\u00e9sentent des <strong>d\u00e9fauts de pente<\/strong>,\r\n                    des <strong>racines envahissantes<\/strong> ou des <strong>ruptures<\/strong>,\r\n                    un simple <strong>d\u00e9bouchage<\/strong> ne suffit plus. Il faut envisager un\r\n                    <strong>remplacement complet<\/strong> ou un <strong>gainage sans tranch\u00e9e<\/strong>.\r\n                    Notre <strong>inspection cam\u00e9ra canalisations<\/strong> analyse vos r\u00e9seaux en profondeur.\r\n                    <strong>Entreprise de remplacement canalisation agr\u00e9\u00e9e<\/strong> \u2013 devis gratuit.\r\n                <\/p>\r\n                <span class=\"tag-symptom\">Remplacement conseill\u00e9<\/span>\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n        <!-- ORDONNANCE \u2014 Solutions de remplacement (SEO enrichie) -->\r\n        <div class=\"ordonnance init-hidden\">\r\n            <div class=\"ord-title\">\r\n                <span>Ordonnance<\/span> \u00b7 Solutions adapt\u00e9es \u00e0 votre situation\r\n            <\/div>\r\n            <div class=\"ord-desc\">\r\n                Nos <strong>techniciens qualifi\u00e9s<\/strong> vous conseillent sur la solution \u00e0 adopter selon l'\u00e9tat de vos canalisations.\r\n                <strong>Entreprise de remplacement agr\u00e9\u00e9e<\/strong> \u2013 <strong>devis gratuit<\/strong>.\r\n            <\/div>\r\n            <div class=\"ord-list\">\r\n                <span class=\"ord-item\"><strong>Remplacement canalisation PVC<\/strong> \u2013 durable et \u00e9tanche<\/span>\r\n                <span class=\"ord-item\"><strong>Remplacement canalisation cuivre<\/strong> \u2013 eau potable<\/span>\r\n                <span class=\"ord-item\"><strong>Remplacement canalisation PER<\/strong> \u2013 flexible et r\u00e9sistant<\/span>\r\n                <span class=\"ord-item\"><strong>Gainage sans tranch\u00e9e<\/strong> \u2013 r\u00e9novation rapide<\/span>\r\n                <span class=\"ord-item\"><strong>Remplacement assainissement<\/strong> \u2013 eaux us\u00e9es<\/span>\r\n                <span class=\"ord-item\"><strong>Remplacement canalisation chauffage<\/strong><\/span>\r\n                <span class=\"ord-item\"><strong>Remplacement copropri\u00e9t\u00e9<\/strong> \u2013 syndic<\/span>\r\n                <span class=\"ord-item\"><strong>R\u00e9novation canalisation maison \/ appartement<\/strong><\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- RAPPEL URGENCE + CTA ROUGE (SEO enrichi) -->\r\n        <div class=\"urgence-block init-hidden\">\r\n            <p class=\"rappel\">\r\n                <strong>Rappel :<\/strong> En cas de <strong>fuite ou de rupture<\/strong>, coupez votre arriv\u00e9e d'eau\r\n                et appelez notre <strong>plombier urgence 24h\/24<\/strong>\r\n                <span class=\"highlight\">imm\u00e9diatement<\/span>.\r\n                <strong>Remplacement canalisation 24h\/24 \u2013 7j\/7<\/strong> \u2013 <strong>devis gratuit<\/strong>.\r\n            <\/p>\r\n            <a href=\"tel:0186957777\" class=\"btn-urgence\">\r\n                <span>\r\n                    <span class=\"number\">01 86 95 77 77<\/span>\r\n                    <span class=\"label\">Appel gratuit \u00b7 Urgence 24h\/24 \u00b7 7j\/7<\/span>\r\n                <\/span>\r\n            <\/a>\r\n        <\/div>\r\n\r\n    <\/div>\r\n<\/section>\r\n\r\n<!-- ============================================================\r\n     SCRIPT \u2014 Animations au scroll + fallback images\r\n     ============================================================ -->\r\n<script>\r\n    document.addEventListener('DOMContentLoaded', function() {\r\n\r\n        const elements = document.querySelectorAll('.init-hidden');\r\n\r\n        if (elements.length > 0 && 'IntersectionObserver' in window) {\r\n            const observer = new IntersectionObserver((entries) => {\r\n                entries.forEach(entry => {\r\n                    if (entry.isIntersecting) {\r\n                        entry.target.classList.add('anim-up');\r\n                        observer.unobserve(entry.target);\r\n                    }\r\n                });\r\n            }, {\r\n                threshold: 0.15,\r\n                rootMargin: '0px 0px -40px 0px'\r\n            });\r\n\r\n            elements.forEach(el => observer.observe(el));\r\n        } else {\r\n            \/\/ Fallback si IntersectionObserver non support\u00e9\r\n            elements.forEach(el => {\r\n                el.classList.remove('init-hidden');\r\n                el.classList.add('anim-up');\r\n            });\r\n        }\r\n\r\n        \/\/ Fallback images\r\n        document.querySelectorAll('img').forEach(img => {\r\n            img.addEventListener('error', function() {\r\n                if (!this.hasAttribute('data-fallback')) {\r\n                    this.setAttribute('data-fallback', 'true');\r\n                    this.classList.add('error-fallback');\r\n                }\r\n            });\r\n        });\r\n\r\n    });\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7702da3 e-con-full e-flex e-con e-parent\" data-id=\"7702da3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bf67f27 elementor-widget elementor-widget-html\" data-id=\"bf67f27\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"fr\">\r\n<head>\r\n  <meta charset=\"UTF-8\">\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n  <title>BT Plus \u2013 Remplacement canalisation professionnels<\/title>\r\n\r\n  <!-- POLICES GOOGLE -->\r\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:opsz,wght@14..32,100..900&family=Sora:wght@100..800&display=swap\" rel=\"stylesheet\">\r\n\r\n  <style>\r\n    \/* ============================================================\r\n       BT PLUS \u2014 Section \"Pour les professionnels\" (Remplacement)\r\n       ============================================================ *\/\r\n    .btp-pros {\r\n      --b900: #07294a;\r\n      --b800: #0a3666;\r\n      --b700: #0d4f8b;\r\n      --b500: #1c7ec9;\r\n      --b300: #7cc0ee;\r\n      --b100: #d6ebfb;\r\n      --b50: #eef6fc;\r\n      --or: #f4a61a;\r\n      --or-d: #d98a0c;\r\n      --ink: #0c2238;\r\n      --slate: #48637d;\r\n      --line: #e4ecf4;\r\n      --green: #10b981;\r\n      --green-bg: #d1fae5;\r\n      --red: #ef4444;\r\n      --red-bg: #fee2e2;\r\n      --fd: \"Sora\", sans-serif;\r\n      --fb: \"Inter\", sans-serif;\r\n      --fm: \"JetBrains Mono\", monospace;\r\n      --ease: cubic-bezier(0.2, 0.8, 0.2, 1);\r\n\r\n      position: relative;\r\n      overflow: hidden;\r\n      width: 100%;\r\n      padding: 80px 0 90px;\r\n      font-family: var(--fb);\r\n      color: var(--ink);\r\n      line-height: 1.5;\r\n      background:\r\n        radial-gradient(820px 480px at 92% -12%, rgba(244, 166, 26, .05), transparent 60%),\r\n        radial-gradient(760px 460px at -6% 110%, rgba(28, 126, 201, .05), transparent 55%),\r\n        linear-gradient(180deg, var(--b50) 0%, #ffffff 100%);\r\n    }\r\n    .btp-pros *,\r\n    .btp-pros *::before,\r\n    .btp-pros *::after {\r\n      box-sizing: border-box;\r\n    }\r\n    .btp-pros h2,\r\n    .btp-pros h3,\r\n    .btp-pros h4,\r\n    .btp-pros p {\r\n      margin: 0;\r\n    }\r\n    .btp-pros .wrap {\r\n      max-width: 1200px;\r\n      margin: 0 auto;\r\n      padding: 0 24px;\r\n      position: relative;\r\n      z-index: 2;\r\n    }\r\n\r\n    \/* ---------- en-t\u00eate ---------- *\/\r\n    .btp-pros .hd {\r\n      text-align: center;\r\n      margin-bottom: 40px;\r\n    }\r\n    .btp-pros .pill {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 9px;\r\n      font-family: var(--fm);\r\n      font-weight: 700;\r\n      font-size: .7rem;\r\n      letter-spacing: .1em;\r\n      text-transform: uppercase;\r\n      color: var(--or-d);\r\n      background: #fff;\r\n      border: 1px solid #f6e3bf;\r\n      padding: 6px 14px 6px 10px;\r\n      border-radius: 999px;\r\n    }\r\n    .btp-pros .pill .dot {\r\n      width: 7px;\r\n      height: 7px;\r\n      border-radius: 50%;\r\n      background: var(--green);\r\n      box-shadow: 0 0 0 0 rgba(16, 185, 129, .55);\r\n      animation: srvPulse 1.8s infinite;\r\n    }\r\n    @keyframes srvPulse {\r\n      0% {\r\n        box-shadow: 0 0 0 0 rgba(16, 185, 129, .55);\r\n      }\r\n      70% {\r\n        box-shadow: 0 0 0 9px rgba(16, 185, 129, 0);\r\n      }\r\n      100% {\r\n        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);\r\n      }\r\n    }\r\n    .btp-pros .hd h2 {\r\n      font-family: var(--fd);\r\n      font-weight: 800;\r\n      letter-spacing: -.025em;\r\n      line-height: 1.08;\r\n      font-size: clamp(2rem, 4.8vw, 3.4rem);\r\n      color: var(--b900);\r\n      margin: 14px 0 0;\r\n    }\r\n    .btp-pros .hd h2 em {\r\n      font-style: normal;\r\n      color: var(--or);\r\n    }\r\n    .btp-pros .hd .lead {\r\n      margin-top: 12px;\r\n      font-size: 1rem;\r\n      color: var(--slate);\r\n      max-width: 720px;\r\n      margin-left: auto;\r\n      margin-right: auto;\r\n    }\r\n    .btp-pros .hd .lead strong {\r\n      color: var(--b700);\r\n      font-weight: 600;\r\n    }\r\n\r\n    \/* ---------- grille des atouts (4 cartes) ---------- *\/\r\n    .btp-pros .grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(4, 1fr);\r\n      gap: 20px;\r\n      margin-top: 8px;\r\n    }\r\n    @media (max-width: 820px) {\r\n      .btp-pros .grid {\r\n        grid-template-columns: 1fr 1fr;\r\n      }\r\n    }\r\n    @media (max-width: 480px) {\r\n      .btp-pros .grid {\r\n        grid-template-columns: 1fr;\r\n      }\r\n    }\r\n\r\n    .btp-pros .card {\r\n      background: #fff;\r\n      border-radius: 16px;\r\n      border: 1px solid var(--line);\r\n      padding: 24px 20px;\r\n      transition: all .3s var(--ease);\r\n      box-shadow: 0 2px 8px rgba(0, 0, 0, .02);\r\n      text-align: center;\r\n    }\r\n    .btp-pros .card:hover {\r\n      border-color: var(--or);\r\n      box-shadow: 0 8px 24px rgba(7, 41, 74, .08);\r\n      transform: translateY(-3px);\r\n    }\r\n    .btp-pros .card .num {\r\n      font-family: var(--fd);\r\n      font-weight: 800;\r\n      font-size: 1.6rem;\r\n      color: var(--b700);\r\n      line-height: 1;\r\n      margin-bottom: 4px;\r\n    }\r\n    .btp-pros .card h3 {\r\n      font-family: var(--fd);\r\n      font-weight: 700;\r\n      font-size: 1rem;\r\n      color: var(--b900);\r\n      margin: 0 0 4px;\r\n    }\r\n    .btp-pros .card h3 strong {\r\n      color: var(--or);\r\n      font-weight: 700;\r\n    }\r\n    .btp-pros .card p {\r\n      font-size: .82rem;\r\n      color: var(--slate);\r\n      line-height: 1.5;\r\n    }\r\n    .btp-pros .card p strong {\r\n      color: var(--b700);\r\n      font-weight: 600;\r\n    }\r\n\r\n    \/* ---------- phrase d'accroche ---------- *\/\r\n    .btp-pros .accroche {\r\n      text-align: center;\r\n      font-size: .95rem;\r\n      color: var(--slate);\r\n      background: #fff;\r\n      border-radius: 16px;\r\n      border: 1px solid var(--line);\r\n      padding: 18px 28px;\r\n      margin: 28px 0 34px;\r\n      line-height: 1.7;\r\n    }\r\n    .btp-pros .accroche strong {\r\n      color: var(--b700);\r\n      font-weight: 600;\r\n    }\r\n\r\n    \/* ---------- CTA ROUGE ---------- *\/\r\n    .btp-pros .cta-red {\r\n      display: flex;\r\n      justify-content: center;\r\n      margin-top: 0;\r\n    }\r\n    .btp-pros .btn-urgence {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 12px;\r\n      background: #d32f2f;\r\n      color: #ffffff !important;\r\n      font-family: var(--fd);\r\n      font-weight: 700;\r\n      font-size: 1.2rem;\r\n      padding: 14px 36px;\r\n      border-radius: 60px;\r\n      text-decoration: none;\r\n      box-shadow: 0 6px 24px rgba(211, 47, 47, 0.3);\r\n      transition: all .3s var(--ease);\r\n      border: none;\r\n      cursor: pointer;\r\n    }\r\n    .btp-pros .btn-urgence:hover {\r\n      background: #b71c1c;\r\n      transform: translateY(-3px);\r\n      box-shadow: 0 10px 36px rgba(211, 47, 47, 0.35);\r\n      color: #ffffff !important;\r\n    }\r\n    .btp-pros .btn-urgence .label {\r\n      font-size: .65rem;\r\n      font-weight: 400;\r\n      opacity: .85;\r\n      display: block;\r\n      margin-top: -2px;\r\n    }\r\n\r\n    \/* ---------- vagues ---------- *\/\r\n    .btp-pros .waves {\r\n      position: absolute;\r\n      left: 0;\r\n      right: 0;\r\n      bottom: 0;\r\n      line-height: 0;\r\n      z-index: 1;\r\n      pointer-events: none;\r\n    }\r\n    .btp-pros .waves svg {\r\n      display: block;\r\n      width: 100%;\r\n      height: 90px;\r\n    }\r\n    .btp-pros .w-back use {\r\n      animation: srvWave 12s linear infinite;\r\n      opacity: .5;\r\n    }\r\n    .btp-pros .w-mid use {\r\n      animation: srvWave 9s linear infinite reverse;\r\n      opacity: .8;\r\n    }\r\n    .btp-pros .w-front use {\r\n      animation: srvWave 6s linear infinite;\r\n    }\r\n    @keyframes srvWave {\r\n      0% {\r\n        transform: translateX(0);\r\n      }\r\n      100% {\r\n        transform: translateX(-50%);\r\n      }\r\n    }\r\n\r\n    \/* ---------- r\u00e9v\u00e9lation ---------- *\/\r\n    .btp-pros .rv {\r\n      opacity: 0;\r\n      transform: translateY(20px);\r\n      transition: opacity .6s var(--ease), transform .6s var(--ease);\r\n    }\r\n    .btp-pros .rv.shown {\r\n      opacity: 1;\r\n      transform: none;\r\n    }\r\n\r\n    @media (prefers-reduced-motion: reduce) {\r\n      .btp-pros * {\r\n        animation: none !important;\r\n        transition: none !important;\r\n      }\r\n      .btp-pros .rv {\r\n        opacity: 1;\r\n        transform: none;\r\n      }\r\n    }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n\r\n  <!-- ==========================================================\r\n       SECTION \"POUR LES PROFESSIONNELS\" \u2014 REMPLACEMENT\r\n       ========================================================== -->\r\n  <section class=\"btp-pros\">\r\n    <div class=\"wrap\">\r\n\r\n      <!-- EN-T\u00caTE -->\r\n      <header class=\"hd\">\r\n        <span class=\"pill rv\"><span class=\"dot\"><\/span>Expert remplacement canalisation<\/span>\r\n        <h2 class=\"rv\">R\u00e9novation de r\u00e9seaux pour les <em>professionnels<\/em><\/h2>\r\n        <p class=\"lead rv\">\r\n          <strong>BT Plus<\/strong> intervient en <strong>urgence<\/strong> chez les <strong>restaurateurs, h\u00f4teliers, copropri\u00e9t\u00e9s, bureaux et collectivit\u00e9s<\/strong>.\r\n          <strong>Remplacement de canalisation<\/strong>, <strong>r\u00e9novation sans tranch\u00e9e<\/strong> et <strong>diagnostic cam\u00e9ra<\/strong> pour des <strong>r\u00e9seaux fiables<\/strong> et conformes en toutes circonstances.\r\n        <\/p>\r\n      <\/header>\r\n\r\n      <!-- 4 ATOUTS (adapt\u00e9s au remplacement) -->\r\n      <div class=\"grid rv\">\r\n        <div class=\"card\">\r\n          <div class=\"num\">1h<\/div>\r\n          <h3>Intervention <strong>sous 1h<\/strong><\/h3>\r\n          <p>D\u00e9placement prioritaire en <strong>\u00cele\u2011de\u2011France<\/strong> pour colmater les fuites et remplacer vos canalisations d\u00e9fectueuses.<\/p>\r\n        <\/div>\r\n        <div class=\"card\">\r\n          <div class=\"num\">\u2714<\/div>\r\n          <h3>Audits &amp; <strong>r\u00e9novation<\/strong><\/h3>\r\n          <p>Visites programm\u00e9es et <strong>diagnostic cam\u00e9ra<\/strong> pour anticiper la v\u00e9tust\u00e9 de vos r\u00e9seaux et ma\u00eetriser votre budget.<\/p>\r\n        <\/div>\r\n        <div class=\"card\">\r\n          <div class=\"num\">\u20ac<\/div>\r\n          <h3>Devis <strong>gratuit<\/strong><\/h3>\r\n          <p>Diagnostic clair et <strong>devis d\u00e9taill\u00e9 sous 24h<\/strong> pour vos projets de r\u00e9novation ou vos interventions d'urgence.<\/p>\r\n        <\/div>\r\n        <div class=\"card\">\r\n          <div class=\"num\">\u2699<\/div>\r\n          <h3>Mat\u00e9riaux <strong>certifi\u00e9s<\/strong><\/h3>\r\n          <p><strong>PVC, cuivre, PER<\/strong> et techniques de <strong>gainage sans tranch\u00e9e<\/strong> pour un remplacement durable et conforme aux normes.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- PHRASE D'ACCROCHE -->\r\n      <div class=\"accroche rv\">\r\n        <strong>BT Plus<\/strong>, votre sp\u00e9cialiste du <strong>remplacement de canalisation<\/strong> en \u00cele\u2011de\u2011France.\r\n        <strong>Disponibilit\u00e9 24h\/24<\/strong> \u2013 <strong>intervention rapide<\/strong> et <strong>garantie 5 ans<\/strong> sur nos prestations.\r\n      <\/div>\r\n\r\n      <!-- CTA ROUGE -->\r\n      <div class=\"cta-red rv\">\r\n        <a href=\"tel:0186957777\" class=\"btn-urgence\">\r\n          <span>\ud83d\udcde<\/span>\r\n          <span>\r\n            01 86 95 77 77\r\n            <span class=\"label\">Urgence 24h\/24 \u2013 7j\/7<\/span>\r\n          <\/span>\r\n        <\/a>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <!-- Vagues d\u00e9coratives -->\r\n    <div class=\"waves\" aria-hidden=\"true\">\r\n      <svg viewBox=\"0 24 150 28\" preserveAspectRatio=\"none\">\r\n        <defs>\r\n          <path id=\"prosWave\" d=\"M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z\" \/>\r\n        <\/defs>\r\n        <g class=\"w-back\">\r\n          <use href=\"#prosWave\" x=\"0\" fill=\"#d6ebfb\" \/>\r\n          <use href=\"#prosWave\" x=\"176\" fill=\"#d6ebfb\" \/>\r\n        <\/g>\r\n        <g class=\"w-mid\">\r\n          <use href=\"#prosWave\" x=\"0\" fill=\"#a9d4f3\" \/>\r\n          <use href=\"#prosWave\" x=\"176\" fill=\"#a9d4f3\" \/>\r\n        <\/g>\r\n        <g class=\"w-front\">\r\n          <use href=\"#prosWave\" x=\"0\" fill=\"#ffffff\" \/>\r\n          <use href=\"#prosWave\" x=\"176\" fill=\"#ffffff\" \/>\r\n        <\/g>\r\n      <\/svg>\r\n    <\/div>\r\n  <\/section>\r\n\r\n  <script>\r\n    (function() {\r\n      'use strict';\r\n      const section = document.querySelector('.btp-pros');\r\n      if (!section) return;\r\n      const rv = section.querySelectorAll('.rv');\r\n      const reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n      if ('IntersectionObserver' in window && !reduce) {\r\n        const io = new IntersectionObserver((entries) => {\r\n          entries.forEach(e => {\r\n            if (e.isIntersecting) {\r\n              e.target.classList.add('shown');\r\n              io.unobserve(e.target);\r\n            }\r\n          });\r\n        }, { threshold: 0.15 });\r\n        rv.forEach(el => io.observe(el));\r\n      } else {\r\n        rv.forEach(el => el.classList.add('shown'));\r\n      }\r\n    })();\r\n  <\/script>\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9d2066e e-con-full e-flex e-con e-parent\" data-id=\"9d2066e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ec537f0 elementor-widget elementor-widget-html\" data-id=\"ec537f0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================================\r\n     BT PLUS \u2014 FAQ REMPLACEMENT DE CANALISATION\r\n     ============================================================ -->\r\n\r\n<style>.bt-faq *{margin:0;padding:0;box-sizing:border-box}.bt-faq{font-family:'Inter',sans-serif;background-color:#fff;color:#0a1a2b;line-height:1.6;overflow-x:hidden}.bt-faq__section{padding:5rem 5% 6rem;position:relative;min-height:100vh;display:flex;align-items:center;background:radial-gradient(1100px 520px at 78% -8%,#d6ebfb,transparent 60%),linear-gradient(180deg,#fbfdff 0%,#eef6fc 100%);overflow:hidden}.bt-faq__waves{position:absolute;left:0;right:0;bottom:0;line-height:0;z-index:0;pointer-events:none}.bt-faq__waves svg{display:block;width:100%;height:80px}.bt-faq__waves .wave-back use{animation:bt-wavemove 11s linear infinite;opacity:.55}.bt-faq__waves .wave-mid use{animation:bt-wavemove 8s linear infinite reverse;opacity:.8}.bt-faq__waves .wave-front use{animation:bt-wavemove 6s linear infinite}@keyframes bt-wavemove{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.bt-faq__container{max-width:1000px;margin:0 auto;width:100%;position:relative;z-index:1}.bt-faq__header{text-align:center;max-width:780px;margin:0 auto 3.5rem}.bt-faq__badge{display:inline-flex;align-items:center;gap:.6rem;font-family:'Sora',sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:.4rem 1.4rem .4rem 1rem;border-radius:2rem;background:rgba(28,126,201,.07);color:#1c7ec9;border:1px solid rgba(28,126,201,.12);margin-bottom:1.2rem}.bt-faq__badge .dot{width:6px;height:6px;border-radius:50%;background:#1c7ec9;animation:bt-pulseDot 2s ease-in-out infinite}@keyframes bt-pulseDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}.bt-faq__title{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(2rem,3.6vw,3.2rem);letter-spacing:-.03em;color:#07294a;line-height:1.1;margin-bottom:.8rem}.bt-faq__title .highlight{background:linear-gradient(135deg,#f4a61a 0%,#d98a0c 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bt-faq__subtitle{font-family:'Inter',sans-serif;font-weight:400;font-size:clamp(1rem,1.1vw,1.15rem);color:#6b7f94;max-width:600px;margin:0 auto;line-height:1.7}.bt-faq__list{display:flex;flex-direction:column;gap:.8rem}.bt-faq__item{background:#fff;border-radius:16px;border:1px solid #eef2f6;overflow:hidden;transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 8px rgba(7,41,74,.03)}.bt-faq__item:hover{border-color:#d6ebfb;box-shadow:0 4px 20px rgba(7,41,74,.06)}.bt-faq__item--active{border-color:#1c7ec9;box-shadow:0 4px 24px rgba(28,126,201,.06)}.bt-faq__question{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.8rem;cursor:pointer;transition:all .3s ease;user-select:none;gap:1rem}.bt-faq__question:hover{background:#f8fafc}.bt-faq__question h3{font-family:'Sora',sans-serif;font-weight:600;font-size:1rem;color:#07294a;transition:color .3s ease;flex:1}.bt-faq__item--active .bt-faq__question h3{color:#1c7ec9}.bt-faq__icon{width:32px;height:32px;min-width:32px;border-radius:50%;background:#f0f4f8;display:flex;align-items:center;justify-content:center;transition:all .4s ease;flex-shrink:0}.bt-faq__item:hover .bt-faq__icon{background:#e6ecf2}.bt-faq__item--active .bt-faq__icon{background:rgba(28,126,201,.10);transform:rotate(180deg)}.bt-faq__icon svg{width:.75rem;height:.75rem;stroke:#6b7f94;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:all .4s ease}.bt-faq__item--active .bt-faq__icon svg{stroke:#1c7ec9}.bt-faq__answer{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.34,1.56,.64,1);padding:0 1.8rem}.bt-faq__item--active .bt-faq__answer{max-height:300px;padding:0 1.8rem 1.5rem 1.8rem}.bt-faq__answer p{font-family:'Inter',sans-serif;font-weight:400;font-size:.95rem;color:#6b7f94;line-height:1.8;margin:0}.bt-faq__answer p strong{color:#07294a;font-weight:600}.bt-faq__item{opacity:0;animation:bt-fadeInUp .6s ease-out forwards}.bt-faq__item:nth-child(1){animation-delay:.03s}.bt-faq__item:nth-child(2){animation-delay:.06s}.bt-faq__item:nth-child(3){animation-delay:.09s}.bt-faq__item:nth-child(4){animation-delay:.12s}.bt-faq__item:nth-child(5){animation-delay:.15s}.bt-faq__item:nth-child(6){animation-delay:.18s}.bt-faq__item:nth-child(7){animation-delay:.21s}.bt-faq__item:nth-child(8){animation-delay:.24s}.bt-faq__item:nth-child(9){animation-delay:.27s}@keyframes bt-fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.bt-faq__item{opacity:1;animation:none}}@media (max-width:768px){.bt-faq__section{padding:3.5rem 1.5rem 4rem;min-height:auto}.bt-faq__question{padding:1rem 1.2rem}.bt-faq__question h3{font-size:.9rem}.bt-faq__item--active .bt-faq__answer{padding:0 1.2rem 1.2rem 1.2rem}.bt-faq__answer p{font-size:.85rem}.bt-faq__icon{width:28px;height:28px;min-width:28px}.bt-faq__icon svg{width:.65rem;height:.65rem}.bt-faq__waves svg{height:40px}}@media (max-width:480px){.bt-faq__question h3{font-size:.82rem}.bt-faq__question{padding:.8rem 1rem}.bt-faq__item--active .bt-faq__answer{padding:0 1rem 1rem 1rem}.bt-faq__answer p{font-size:.8rem}.bt-faq__icon{width:24px;height:24px;min-width:24px}.bt-faq__icon svg{width:.55rem;height:.55rem}}<\/style>\r\n\r\n<div class=\"bt-faq\">\r\n    <section class=\"bt-faq__section\">\r\n        <div class=\"bt-faq__container\">\r\n            <div class=\"bt-faq__header\">\r\n                <span class=\"bt-faq__badge\"><span class=\"dot\"><\/span>Urgence 24h\/24 \u2013 Devis gratuit<\/span>\r\n                <h2 class=\"bt-faq__title\">Questions fr\u00e9quentes sur le <span class=\"highlight\">remplacement de canalisation<\/span><\/h2>\r\n                <p class=\"bt-faq__subtitle\">\r\n                    <strong>Remplacement de canalisation<\/strong>, <strong>r\u00e9novation sans tranch\u00e9e<\/strong>, <strong>gainage<\/strong>, <strong>inspection cam\u00e9ra<\/strong>\u2026 Retrouvez les r\u00e9ponses \u00e0 vos interrogations sur nos <strong>prestations de r\u00e9novation de r\u00e9seaux<\/strong> en \u00cele\u2011de\u2011France.\r\n                <\/p>\r\n            <\/div>\r\n            <div class=\"bt-faq__list\">\r\n\r\n                <!-- QUESTION 1 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Le remplacement de canalisation est\u2011il garanti ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p><strong>Oui<\/strong>, toutes nos interventions de <strong>remplacement de canalisation<\/strong> sont garanties <strong>5 ans<\/strong> (mat\u00e9riaux et main\u2011d\u2019\u0153uvre). Si un d\u00e9faut survient dans ce d\u00e9lai, nous intervenons <strong>sans frais suppl\u00e9mentaires<\/strong> pour assurer la p\u00e9rennit\u00e9 de votre r\u00e9seau.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 2 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Intervenez\u2011vous en urgence 24h\/24 ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p><strong>Oui<\/strong>, nous assurons des <strong>interventions d'urgence 24h\/24 et 7j\/7<\/strong>, y compris la nuit, les week\u2011ends et les jours f\u00e9ri\u00e9s. En cas de <strong>fuite<\/strong> ou de <strong>rupture de canalisation<\/strong>, un d\u00e9panneur est disponible \u00e0 tout moment en <strong>\u00cele\u2011de\u2011France<\/strong>.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 3 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Quelles techniques utilisez\u2011vous pour remplacer les canalisations ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p>Nous proposons plusieurs m\u00e9thodes selon vos besoins : <strong>remplacement par excavation<\/strong> (tranch\u00e9e classique), <strong>gainage sans tranch\u00e9e<\/strong> (r\u00e9novation rapide et sans d\u00e9g\u00e2ts), et <strong>chemisage<\/strong>. Nous utilisons des <strong>mat\u00e9riaux certifi\u00e9s<\/strong> : <strong>PVC, cuivre, PER<\/strong>, adapt\u00e9s \u00e0 chaque usage (eau potable, assainissement, chauffage).<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 4 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Quels types de canalisations remplacez\u2011vous ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p>Nous intervenons sur <strong>tous types de r\u00e9seaux<\/strong> : canalisations d\u2019<strong>eau potable<\/strong>, <strong>assainissement<\/strong> (eaux us\u00e9es et eaux pluviales), <strong>chauffage<\/strong>, et <strong>r\u00e9seaux industriels<\/strong>. Que ce soit en <strong>maison individuelle<\/strong>, en <strong>copropri\u00e9t\u00e9<\/strong>, en <strong>immeuble<\/strong> ou pour des <strong>professionnels<\/strong>, nous avons la solution adapt\u00e9e.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 5 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Quel est le prix d\u2019un remplacement de canalisation ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p>Le prix d\u00e9pend de la <strong>longueur<\/strong> des canalisations, du <strong>type de mat\u00e9riaux<\/strong> choisis (PVC, cuivre, PER) et de la <strong>complexit\u00e9 du chantier<\/strong> (acc\u00e8s, profondeur, technique sans tranch\u00e9e). Nous vous fournissons un <strong>devis gratuit<\/strong> et d\u00e9taill\u00e9 apr\u00e8s <strong>diagnostic sur site<\/strong>. Comptez en moyenne entre 150\u20ac et 400\u20ac par m\u00e8tre lin\u00e9aire selon les options.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 6 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Comment savoir si mes canalisations doivent \u00eatre remplac\u00e9es ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p>Plusieurs signes doivent vous alerter : <strong>fuites r\u00e9currentes<\/strong>, <strong>perte de pression<\/strong>, <strong>eau marron ou d\u00e9color\u00e9e<\/strong>, <strong>bruits<\/strong> dans les canalisations, ou <strong>\u00e2ge du r\u00e9seau<\/strong> (plus de 30 ans). Nous r\u00e9alisons un <strong>diagnostic cam\u00e9ra HD<\/strong> pour \u00e9valuer pr\u00e9cis\u00e9ment l\u2019\u00e9tat de vos canalisations et vous conseiller sur la solution la plus adapt\u00e9e.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 7 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Intervenez\u2011vous chez les professionnels ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p><strong>Oui<\/strong>, nous sommes sp\u00e9cialistes du <strong>remplacement de canalisation pour les professionnels<\/strong> : restaurants, h\u00f4tels, copropri\u00e9t\u00e9s, bureaux, collectivit\u00e9s, commerces. Nous assurons des <strong>interventions rapides<\/strong> pour limiter l\u2019impact sur votre activit\u00e9 et proposons des <strong>contrats d\u2019entretien<\/strong> pour anticiper la v\u00e9tust\u00e9 de vos r\u00e9seaux.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 8 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Quels mat\u00e9riaux utilisez\u2011vous pour le remplacement ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p>Nous utilisons exclusivement des <strong>mat\u00e9riaux certifi\u00e9s<\/strong> conformes aux normes en vigueur : <strong>PVC<\/strong> pour l\u2019assainissement, <strong>cuivre<\/strong> pour l\u2019eau potable, <strong>PER<\/strong> pour le chauffage et les r\u00e9seaux d\u2019eau chaude. Tous nos produits sont <strong>garantis<\/strong> et s\u00e9lectionn\u00e9s pour leur <strong>durabilit\u00e9<\/strong> et leur <strong>r\u00e9sistance<\/strong>.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 9 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Proposez\u2011vous un diagnostic cam\u00e9ra avant remplacement ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p><strong>Oui<\/strong>, l\u2019<strong>inspection cam\u00e9ra HD<\/strong> est syst\u00e9matiquement recommand\u00e9e avant tout <strong>remplacement<\/strong>. Elle permet de visualiser l\u2019int\u00e9rieur de vos canalisations, de localiser pr\u00e9cis\u00e9ment les fissures, les racines ou les obstructions, et de d\u00e9terminer la <strong>technique de r\u00e9novation<\/strong> la plus adapt\u00e9e. Nous r\u00e9alisons ce <strong>diagnostic complet<\/strong> dans le cadre de notre <strong>devis gratuit<\/strong>.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Vagues d\u00e9coratives -->\r\n        <div class=\"bt-faq__waves\" aria-hidden=\"true\">\r\n            <svg viewBox=\"0 24 150 28\" preserveAspectRatio=\"none\">\r\n                <defs><path id=\"bt-w7\" d=\"M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z\" \/><\/defs>\r\n                <g class=\"wave-back\"><use href=\"#bt-w7\" x=\"0\" fill=\"#d6ebfb\"\/><use href=\"#bt-w7\" x=\"176\" fill=\"#d6ebfb\"\/><\/g>\r\n                <g class=\"wave-mid\"><use href=\"#bt-w7\" x=\"0\" fill=\"#a9d4f3\"\/><use href=\"#bt-w7\" x=\"176\" fill=\"#a9d4f3\"\/><\/g>\r\n                <g class=\"wave-front\"><use href=\"#bt-w7\" x=\"0\" fill=\"#ffffff\"\/><use href=\"#bt-w7\" x=\"176\" fill=\"#ffffff\"\/><\/g>\r\n            <\/svg>\r\n        <\/div>\r\n    <\/section>\r\n<\/div>\r\n\r\n<script>\r\n!function(){\r\n    window.btToggleFaq = function(el) {\r\n        var item = el.closest('.bt-faq__item');\r\n        if (!item) return;\r\n        var allItems = document.querySelectorAll('.bt-faq__item');\r\n        for (var i = 0; i < allItems.length; i++) {\r\n            if (allItems[i] !== item && allItems[i].classList.contains('bt-faq__item--active')) {\r\n                allItems[i].classList.remove('bt-faq__item--active');\r\n            }\r\n        }\r\n        item.classList.toggle('bt-faq__item--active');\r\n    };\r\n\r\n    var items = document.querySelectorAll('.bt-faq__item');\r\n    if ('IntersectionObserver' in window) {\r\n        var observer = new IntersectionObserver(function(entries) {\r\n            for (var i = 0; i < entries.length; i++) {\r\n                if (entries[i].isIntersecting) {\r\n                    entries[i].target.style.opacity = '1';\r\n                    entries[i].target.style.transform = 'translateY(0)';\r\n                }\r\n            }\r\n        }, { threshold: .1 });\r\n        for (var i = 0; i < items.length; i++) {\r\n            items[i].style.opacity = '0';\r\n            items[i].style.transform = 'translateY(30px)';\r\n            items[i].style.transition = 'all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1)';\r\n            observer.observe(items[i]);\r\n        }\r\n    } else {\r\n        for (var i = 0; i < items.length; i++) {\r\n            items[i].style.opacity = '1';\r\n            items[i].style.transform = 'translateY(0)';\r\n        }\r\n    }\r\n}();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d5adf6c e-con-full e-flex e-con e-parent\" data-id=\"d5adf6c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-aecc861 elementor-widget elementor-widget-html\" data-id=\"aecc861\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================================\r\n     A COLLER DANS LE WIDGET \"HTML\" D'ELEMENTOR\r\n     (ne pas ajouter <html>, <head> ou <body> autour)\r\n     ============================================================ -->\r\n\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Sora:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\" \/>\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.0.0-beta3\/css\/all.min.css\" \/>\r\n\r\n<style>\r\n.contact { padding: 5rem 5% 6rem; position: relative; min-height: 100vh; display: flex; align-items: center;\r\n  background: radial-gradient(1100px 520px at 78% -8%, #d6ebfb, transparent 60%), linear-gradient(180deg, #fbfdff 0%, #eef6fc 100%);\r\n  overflow: hidden; box-sizing: border-box; }\r\n.contact *, .contact *::before, .contact *::after { box-sizing: border-box; }\r\n.contact__waves { position: absolute; left: 0; right: 0; bottom: 0; line-height: 0; z-index: 0; pointer-events: none; }\r\n.contact__waves svg { display: block; width: 100%; height: 80px; }\r\n.contact__waves .wave-back use { animation: wavemove 11s linear infinite; opacity: 0.55; }\r\n.contact__waves .wave-mid use { animation: wavemove 8s linear infinite reverse; opacity: 0.8; }\r\n.contact__waves .wave-front use { animation: wavemove 6s linear infinite; }\r\n@keyframes wavemove { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }\r\n.contact__container { max-width: 1280px; margin: 0 auto; width: 100%; position: relative; z-index: 1; }\r\n.contact__header { text-align: center; max-width: 780px; margin: 0 auto 3.5rem; }\r\n.contact__badge { display: inline-flex; align-items: center; gap: 0.6rem; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.4rem 1.4rem 0.4rem 1rem; border-radius: 2rem; background: rgba(28, 126, 201, 0.07); color: #1c7ec9; border: 1px solid rgba(28, 126, 201, 0.12); margin-bottom: 1.2rem; }\r\n.contact__badge .dot { width: 6px; height: 6px; border-radius: 50%; background: #1c7ec9; animation: pulseDot 2s ease-in-out infinite; }\r\n@keyframes pulseDot { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.3; transform: scale(0.6); } }\r\n.contact__title { font-family: 'Sora', sans-serif; font-weight: 800; font-size: clamp(2rem, 3.6vw, 3.2rem); letter-spacing: -0.03em; color: #07294a; line-height: 1.1; margin-bottom: 0.8rem; }\r\n.contact__title .highlight { background: linear-gradient(135deg, #f4a61a 0%, #d98a0c 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }\r\n.contact__subtitle { font-family: 'Inter', sans-serif; font-weight: 400; font-size: clamp(1rem, 1.1vw, 1.15rem); color: #6b7f94; max-width: 600px; margin: 0 auto; line-height: 1.7; }\r\n.contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; }\r\n.contact__form { background: #ffffff; border-radius: 24px; padding: 2.5rem; border: 1px solid #eef2f6; box-shadow: 0 2px 12px rgba(7, 41, 74, 0.04); transition: all 0.4s ease; position: relative; }\r\n.contact__form:hover { box-shadow: 0 8px 40px rgba(7, 41, 74, 0.08); border-color: #d6ebfb; }\r\n.contact__form-title { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 1.3rem; color: #07294a; margin-bottom: 0.3rem; }\r\n.contact__form-subtitle { font-family: 'Inter', sans-serif; font-weight: 400; font-size: 0.9rem; color: #6b7f94; margin-bottom: 1.5rem; }\r\n.contact__form-group { margin-bottom: 1.2rem; }\r\n.contact__form-group label { display: block; font-family: 'Sora', sans-serif; font-weight: 600; font-size: 0.7rem; color: #6b7f94; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 0.3rem; }\r\n.contact__form-group label .required { color: #dc2626; }\r\n.contact__form-group input, .contact__form-group select, .contact__form-group textarea { width: 100%; padding: 0.8rem 1rem; border-radius: 12px; border: 1px solid #eef2f6; background: #f8fafc; font-family: 'Inter', sans-serif; font-size: 0.9rem; color: #07294a; transition: all 0.3s ease; outline: none; }\r\n.contact__form-group input:focus, .contact__form-group select:focus, .contact__form-group textarea:focus { border-color: #1c7ec9; background: #ffffff; box-shadow: 0 0 0 4px rgba(28, 126, 201, 0.06); }\r\n.contact__form-group input::placeholder, .contact__form-group textarea::placeholder { color: #b0c0d0; }\r\n.contact__form-group select option { background: #ffffff; color: #07294a; }\r\n.contact__form-group textarea { resize: vertical; min-height: 100px; }\r\n.contact__form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }\r\n.contact__form-group--file { position: relative; }\r\n.contact__form-group--file .file-drop-zone { border: 2px dashed #eef2f6; border-radius: 12px; padding: 1.5rem 1rem; text-align: center; cursor: pointer; transition: all 0.3s ease; background: #f8fafc; }\r\n.contact__form-group--file .file-drop-zone:hover { border-color: #1c7ec9; background: #eef6fc; }\r\n.contact__form-group--file .file-drop-zone.dragover { border-color: #f4a61a; background: rgba(244, 166, 26, 0.04); }\r\n.contact__form-group--file .file-drop-zone i { font-size: 2rem; color: #1c7ec9; display: block; margin-bottom: 0.5rem; }\r\n.contact__form-group--file .file-drop-zone p { font-family: 'Inter', sans-serif; font-weight: 400; font-size: 0.85rem; color: #6b7f94; margin: 0; }\r\n.contact__form-group--file .file-drop-zone .file-types { font-size: 0.7rem; color: #b0c0d0; margin-top: 0.3rem; }\r\n.contact__form-group--file input[type=\"file\"] { position: absolute; width: 100%; height: 100%; top: 0; left: 0; opacity: 0; cursor: pointer; }\r\n.contact__form-group--file .file-list { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.8rem; }\r\n.contact__form-group--file .file-item { display: inline-flex; align-items: center; gap: 0.5rem; background: #eef6fc; padding: 0.3rem 0.8rem 0.3rem 0.6rem; border-radius: 20px; font-family: 'Inter', sans-serif; font-size: 0.75rem; color: #1c7ec9; border: 1px solid #d6ebfb; }\r\n.contact__form-group--file .file-item i { font-size: 0.8rem; color: #1c7ec9; }\r\n.contact__form-group--file .file-item .file-remove { cursor: pointer; color: #6b7f94; transition: color 0.3s ease; font-size: 0.7rem; }\r\n.contact__form-group--file .file-item .file-remove:hover { color: #dc2626; }\r\n\r\n\/* ---- Consentement RGPD ---- *\/\r\n.contact__consent { display: flex; align-items: flex-start; gap: 0.7rem; margin-bottom: 1.5rem; }\r\n.contact__consent input[type=\"checkbox\"] { width: 18px; height: 18px; min-width: 18px; margin-top: 0.15rem; accent-color: #1c7ec9; cursor: pointer; flex-shrink: 0; }\r\n.contact__consent label { font-family: 'Inter', sans-serif; font-weight: 400; font-size: 0.8rem; line-height: 1.5; color: #6b7f94; text-transform: none; letter-spacing: 0; margin-bottom: 0; cursor: pointer; }\r\n.contact__consent label .required { color: #dc2626; }\r\n.contact__consent label a { color: #1c7ec9; text-decoration: underline; }\r\n.contact__consent label a:hover { color: #07294a; }\r\n\r\n.btn--contact { display: inline-flex; align-items: center; justify-content: center; gap: 0.75rem; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 0.85rem; letter-spacing: 0.02em; text-decoration: none; padding: 0.9rem 2.4rem; border-radius: 3rem; transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1); cursor: pointer; border: none; text-align: center; background: linear-gradient(135deg, #f4a61a 0%, #e0960e 100%); box-shadow: 0 4px 16px rgba(244, 166, 26, 0.25); color: #07294a; width: 100%; }\r\n.btn--contact:hover { transform: translateY(-3px); box-shadow: 0 8px 30px rgba(244, 166, 26, 0.40); color: #07294a; }\r\n.btn--contact .btn__icon { transition: transform 0.3s ease; }\r\n.btn--contact:hover .btn__icon { transform: translateX(4px); }\r\n.contact__info { display: flex; flex-direction: column; gap: 1.2rem; }\r\n.contact__info-card { background: #ffffff; border-radius: 16px; padding: 1.5rem 1.8rem; border: 1px solid #eef2f6; transition: all 0.4s ease; display: flex; align-items: center; gap: 1.2rem; box-shadow: 0 2px 8px rgba(7, 41, 74, 0.03); }\r\n.contact__info-card:hover { transform: translateX(6px); border-color: #1c7ec9; box-shadow: 0 8px 30px -8px rgba(7, 41, 74, 0.08); }\r\n.contact__info-icon { width: 50px; height: 50px; border-radius: 14px; background: #f0f4f8; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all 0.3s ease; }\r\n.contact__info-card:hover .contact__info-icon { background: #eef6fc; }\r\n.contact__info-icon i { font-size: 1.3rem; color: #1c7ec9; }\r\n.contact__info-content h4 { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 0.85rem; color: #07294a; margin-bottom: 0.1rem; }\r\n.contact__info-content p, .contact__info-content a { font-family: 'Inter', sans-serif; font-weight: 400; font-size: 0.9rem; color: #6b7f94; text-decoration: none; transition: color 0.3s ease; }\r\n.contact__info-content a:hover { color: #1c7ec9; }\r\n.contact__hours { background: #ffffff; border-radius: 16px; padding: 1.5rem 1.8rem; border: 1px solid #eef2f6; box-shadow: 0 2px 8px rgba(7, 41, 74, 0.03); transition: all 0.4s ease; }\r\n.contact__hours:hover { border-color: #d6ebfb; box-shadow: 0 8px 30px -8px rgba(7, 41, 74, 0.06); }\r\n.contact__hours-title { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 0.85rem; color: #6b7f94; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 0.8rem; }\r\n.contact__hours-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.3rem 1rem; }\r\n.contact__hours-day { font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.85rem; color: #6b7f94; }\r\n.contact__hours-time { font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.85rem; color: #07294a; text-align: right; }\r\n.contact__hours-time .urgent { color: #1c7ec9; font-weight: 700; }\r\n.contact__map { border-radius: 16px; overflow: hidden; border: 1px solid #eef2f6; height: 200px; background: #f8fafc; transition: all 0.4s ease; }\r\n.contact__map:hover { border-color: #d6ebfb; box-shadow: 0 8px 30px -8px rgba(7, 41, 74, 0.06); }\r\n.contact__map iframe { width: 100%; height: 100%; border: none; }\r\n@media (max-width: 992px) {\r\n  .contact__grid { grid-template-columns: 1fr; gap: 2rem; }\r\n  .contact__form { padding: 2rem; }\r\n  .contact__info { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }\r\n  .contact__hours-grid { grid-template-columns: 1fr 1fr; }\r\n  .contact__map { height: 180px; }\r\n}\r\n@media (max-width: 768px) {\r\n  .contact { padding: 3.5rem 1.5rem 4rem; min-height: auto; }\r\n  .contact__form { padding: 1.5rem; border-radius: 16px; }\r\n  .contact__form-row { grid-template-columns: 1fr; gap: 0; }\r\n  .contact__info { grid-template-columns: 1fr; gap: 1rem; }\r\n  .contact__info-card { padding: 1.2rem 1.5rem; }\r\n  .contact__hours { padding: 1.2rem 1.5rem; }\r\n  .contact__hours-grid { grid-template-columns: 1fr 1fr; gap: 0.3rem 0.8rem; }\r\n  .contact__hours-day { font-size: 0.75rem; }\r\n  .contact__hours-time { font-size: 0.75rem; }\r\n  .contact__map { height: 150px; }\r\n  .btn--contact { padding: 0.7rem 1.8rem; font-size: 0.75rem; }\r\n  .contact__form-group--file .file-drop-zone { padding: 1rem; }\r\n  .contact__form-group--file .file-drop-zone i { font-size: 1.5rem; }\r\n  .contact__waves svg { height: 40px; }\r\n}\r\n@media (max-width: 480px) {\r\n  .contact__form { padding: 1rem; }\r\n  .contact__info-card { padding: 1rem; }\r\n  .contact__info-icon { width: 40px; height: 40px; }\r\n  .contact__info-icon i { font-size: 1rem; }\r\n  .contact__hours { padding: 1rem; }\r\n}\r\n<\/style>\r\n\r\n<section class=\"contact\">\r\n  <div class=\"contact__container\">\r\n\r\n    <div class=\"contact__header\">\r\n      <span class=\"contact__badge\"><span class=\"dot\"><\/span> Contactez-nous<\/span>\r\n      <h2 class=\"contact__title\">Pret a <span class=\"highlight\">securiser<\/span> vos reseaux ?<\/h2>\r\n      <p class=\"contact__subtitle\">Une question, un devis, une urgence ? Notre equipe est a votre ecoute 24h\/24 et 7j\/7.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"contact__grid\">\r\n\r\n      <!-- FORMULAIRE -->\r\n      <div class=\"contact__form\">\r\n        <h3 class=\"contact__form-title\">Demandez un diagnostic<\/h3>\r\n        <p class=\"contact__form-subtitle\">Remplissez le formulaire et nous vous recontacterons sous 24h.<\/p>\r\n\r\n        <!-- 1re soumission = FormSubmit envoie un email de confirmation a activer -->\r\n        <form id=\"contactForm\"\r\n              action=\"https:\/\/formsubmit.co\/info-contact@btplus.fr\"\r\n              method=\"POST\"\r\n              enctype=\"multipart\/form-data\">\r\n\r\n          <input type=\"hidden\" name=\"_subject\" value=\"Nouvelle demande de diagnostic - Site BT Plus\">\r\n          <input type=\"hidden\" name=\"_template\" value=\"table\">\r\n          <!-- Copie envoyee a la seconde adresse -->\r\n          <input type=\"hidden\" name=\"_cc\" value=\"marketing@btgroup-france.com\">\r\n          <input type=\"text\" name=\"_honey\" style=\"display:none\">\r\n          <!-- <input type=\"hidden\" name=\"_next\" value=\"https:\/\/votre-site.fr\/merci\"> -->\r\n\r\n          <div class=\"contact__form-row\">\r\n            <div class=\"contact__form-group\">\r\n              <label for=\"nom\">Nom complet <span class=\"required\">*<\/span><\/label>\r\n              <input type=\"text\" id=\"nom\" name=\"Nom complet\" placeholder=\"Jean Dupont\" required \/>\r\n            <\/div>\r\n            <div class=\"contact__form-group\">\r\n              <label for=\"email\">Email <span class=\"required\">*<\/span><\/label>\r\n              <input type=\"email\" id=\"email\" name=\"email\" placeholder=\"jean@exemple.fr\" required \/>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"contact__form-row\">\r\n            <div class=\"contact__form-group\">\r\n              <label for=\"telephone\">Telephone <span class=\"required\">*<\/span><\/label>\r\n              <input type=\"tel\" id=\"telephone\" name=\"Telephone\" placeholder=\"01 23 45 67 89\" required \/>\r\n            <\/div>\r\n            <div class=\"contact__form-group\">\r\n              <label for=\"cp\">Code postal<\/label>\r\n              <input type=\"text\" id=\"cp\" name=\"Code postal\" placeholder=\"75000\" \/>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"contact__form-group\">\r\n            <label for=\"type_batiment\">Type de batiment<\/label>\r\n            <select id=\"type_batiment\" name=\"Type de batiment\">\r\n              <option value=\"\">Selectionnez...<\/option>\r\n              <option value=\"copropriete\">Copropriete<\/option>\r\n              <option value=\"syndic\">Syndic<\/option>\r\n              <option value=\"bailleur\">Bailleur social<\/option>\r\n              <option value=\"erp\">ERP (Etablissement recevant du public)<\/option>\r\n              <option value=\"tertiaire\">Tertiaire (bureau, commerce)<\/option>\r\n              <option value=\"collectivite\">Collectivite<\/option>\r\n              <option value=\"particulier\">Particulier<\/option>\r\n            <\/select>\r\n          <\/div>\r\n\r\n          <div class=\"contact__form-group\">\r\n            <label for=\"type_besoin\">Type de besoin<\/label>\r\n            <select id=\"type_besoin\" name=\"Type de besoin\">\r\n              <option value=\"\">Selectionnez...<\/option>\r\n              <option value=\"urgence\">Urgence (debouchage, curage)<\/option>\r\n              <option value=\"entretien\">Entretien preventif<\/option>\r\n              <option value=\"diagnostic\">Diagnostic \/ Inspection<\/option>\r\n              <option value=\"travaux\">Travaux \/ Renovation<\/option>\r\n              <option value=\"contrat\">Contrat d'entretien<\/option>\r\n              <option value=\"devis\">Demande de devis<\/option>\r\n            <\/select>\r\n          <\/div>\r\n\r\n          <div class=\"contact__form-group\">\r\n            <label for=\"message\">Message<\/label>\r\n            <textarea id=\"message\" name=\"Message\" placeholder=\"Decrivez votre situation...\"><\/textarea>\r\n          <\/div>\r\n\r\n          <div class=\"contact__form-group contact__form-group--file\">\r\n            <label>Ajouter une photo <span style=\"font-weight:400;text-transform:none;color:#b0c0d0;\">(optionnel - une seule)<\/span><\/label>\r\n            <div class=\"file-drop-zone\" id=\"fileDropZone\">\r\n              <i class=\"fas fa-cloud-upload-alt\"><\/i>\r\n              <p>Glissez une photo ici ou cliquez pour la selectionner<\/p>\r\n              <div class=\"file-types\">JPG, PNG, GIF - une seule photo, 5MB max<\/div>\r\n              <input type=\"file\" id=\"fileInput\" name=\"attachment\" accept=\"image\/*\" \/>\r\n            <\/div>\r\n            <div class=\"file-list\" id=\"fileList\"><\/div>\r\n          <\/div>\r\n\r\n          <!-- ---- Consentement RGPD (obligatoire) ---- -->\r\n          <div class=\"contact__consent\">\r\n            <input type=\"checkbox\" id=\"consent\" name=\"Consentement RGPD\" value=\"J'accepte\" required \/>\r\n            <label for=\"consent\">\r\n              J'accepte que les informations saisies dans ce formulaire soient utilisees par BT Plus\r\n              afin de traiter ma demande et de me recontacter. Conformement au RGPD, je dispose d'un\r\n              droit d'acces, de rectification et de suppression de mes donnees, que je peux exercer en\r\n              ecrivant a <a href=\"mailto:info-contact@btplus.fr\">info-contact@btplus.fr<\/a>.\r\n              <a href=\"\/politique-de-confidentialite\" target=\"_blank\" rel=\"noopener\">En savoir plus<\/a>.\r\n              <span class=\"required\">*<\/span>\r\n            <\/label>\r\n          <\/div>\r\n\r\n          <button type=\"submit\" class=\"btn--contact\">\r\n            Envoyer <span class=\"btn__icon\">&rarr;<\/span>\r\n          <\/button>\r\n        <\/form>\r\n      <\/div>\r\n\r\n      <!-- INFORMATIONS -->\r\n      <div class=\"contact__info\">\r\n        <div class=\"contact__info-card\">\r\n          <div class=\"contact__info-icon\"><i class=\"fas fa-phone\"><\/i><\/div>\r\n          <div class=\"contact__info-content\"><h4>Telephone<\/h4><p><a href=\"tel:+331 86 95 77 77\">01 86 95 77 77<\/a><\/p><\/div>\r\n        <\/div>\r\n        <div class=\"contact__info-card\">\r\n          <div class=\"contact__info-icon\"><i class=\"fas fa-envelope\"><\/i><\/div>\r\n          <div class=\"contact__info-content\"><h4>Email<\/h4><p><a href=\"mailto:contact@btplus-intervention.fr\">info-contact@btplus.fr<\/a><\/p><\/div>\r\n        <\/div>\r\n        <div class=\"contact__info-card\">\r\n          <div class=\"contact__info-icon\"><i class=\"fas fa-map-marker-alt\"><\/i><\/div>\r\n          <div class=\"contact__info-content\"><h4>Adresse<\/h4><p>13 Rue Camille Desmoulins,\r\n92130 Issy-les-Moulineaux<\/p><\/div>\r\n        <\/div>\r\n\r\n        <div class=\"contact__hours\">\r\n          <div class=\"contact__hours-title\">Horaires d'ouverture<\/div>\r\n          <div class=\"contact__hours-grid\">\r\n            <span class=\"contact__hours-day\">Lundi - Vendredi<\/span><span class=\"contact__hours-time\">08:00 - 20:00<\/span>\r\n            <span class=\"contact__hours-day\">Samedi<\/span><span class=\"contact__hours-time\">09:00 - 18:00<\/span>\r\n            <span class=\"contact__hours-day\">Dimanche & jours feries<\/span><span class=\"contact__hours-time\"><span class=\"urgent\">Urgence 24\/7<\/span><\/span>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"contact__map\">\r\n          <iframe src=\"https:\/\/www.google.com\/maps\/embed?pb=!1m18!1m12!1m3!1d2623.5!2d2.366!3d48.916!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x47e66e2f8e5c8b3d%3A0x8e5c8b3d47e66e2f!2sAubervilliers!5e0!3m2!1sfr!2sfr!4v1700000000000\" allowfullscreen loading=\"lazy\" referrerpolicy=\"no-referrer-when-downgrade\"><\/iframe>\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"contact__waves\" aria-hidden=\"true\">\r\n    <svg viewBox=\"0 24 150 28\" preserveAspectRatio=\"none\">\r\n      <defs><path id=\"w9\" d=\"M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z\" \/><\/defs>\r\n      <g class=\"wave-back\"><use href=\"#w9\" x=\"0\" fill=\"#d6ebfb\"\/><use href=\"#w9\" x=\"176\" fill=\"#d6ebfb\"\/><\/g>\r\n      <g class=\"wave-mid\"><use href=\"#w9\" x=\"0\" fill=\"#a9d4f3\"\/><use href=\"#w9\" x=\"176\" fill=\"#a9d4f3\"\/><\/g>\r\n      <g class=\"wave-front\"><use href=\"#w9\" x=\"0\" fill=\"#ffffff\"\/><use href=\"#w9\" x=\"176\" fill=\"#ffffff\"\/><\/g>\r\n    <\/svg>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\n  var fileInput = document.getElementById('fileInput');\r\n  var fileList = document.getElementById('fileList');\r\n  var dropZone = document.getElementById('fileDropZone');\r\n  if (!fileInput || !dropZone) return;\r\n  var perFileMax = 5 * 1024 * 1024;\r\n  var totalMax = 10 * 1024 * 1024;\r\n\r\n  function updateFileList(files) {\r\n    fileList.innerHTML = '';\r\n    Array.from(files).forEach(function (file, index) {\r\n      var item = document.createElement('span');\r\n      item.className = 'file-item';\r\n      var icon = file.type.indexOf('image\/') === 0 ? 'fa-image' : 'fa-file';\r\n      item.innerHTML = '<i class=\"fas ' + icon + '\"><\/i><span>' + file.name + '<\/span><span class=\"file-remove\" data-index=\"' + index + '\"><i class=\"fas fa-times\"><\/i><\/span>';\r\n      fileList.appendChild(item);\r\n    });\r\n    document.querySelectorAll('.file-remove').forEach(function (btn) {\r\n      btn.addEventListener('click', function (e) {\r\n        e.stopPropagation();\r\n        var idx = parseInt(this.dataset.index);\r\n        var dt = new DataTransfer();\r\n        Array.from(fileInput.files).filter(function (_, i) { return i !== idx; }).forEach(function (f) { dt.items.add(f); });\r\n        fileInput.files = dt.files;\r\n        updateFileList(fileInput.files);\r\n      });\r\n    });\r\n  }\r\n\r\n  function applyFiles(candidate) {\r\n    var valid = candidate.filter(function (f) { return f.type.indexOf('image\/') === 0 && f.size <= perFileMax; });\r\n    if (candidate.length > 1) alert('Une seule photo peut etre envoyee. Seule la premiere a ete conservee.');\r\n    else if (valid.length !== candidate.length) alert('Fichier ignore (image uniquement, 5MB max).');\r\n    var dt = new DataTransfer();\r\n    if (valid.length > 0) dt.items.add(valid[0]);\r\n    fileInput.files = dt.files;\r\n    updateFileList(fileInput.files);\r\n  }\r\n\r\n  dropZone.addEventListener('click', function (e) { if (e.target === this || e.target.closest('.file-drop-zone')) fileInput.click(); });\r\n  fileInput.addEventListener('change', function () { applyFiles(Array.from(this.files)); });\r\n  dropZone.addEventListener('dragover', function (e) { e.preventDefault(); this.classList.add('dragover'); });\r\n  dropZone.addEventListener('dragleave', function (e) { e.preventDefault(); this.classList.remove('dragover'); });\r\n  dropZone.addEventListener('drop', function (e) {\r\n    e.preventDefault(); this.classList.remove('dragover');\r\n    applyFiles(Array.from(e.dataTransfer.files));\r\n  });\r\n});\r\n<\/script>\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>Installation de puisard \u2013 BT Plus \u00cele-de-France Installation de puisard \u00c9vacuation rapide des eaux en \u00cele-de-France Sp\u00e9cialiste de l&#8217;installation de puisard \u00e0 Paris et en \u00cele-de-France. Pose de puisard d&#8217;infiltration pour eaux pluviales, bassin de r\u00e9tention, drainage et d\u00e9versoir d&#8217;orage. \u00c9tude de dimensionnement et intervention rapide. Devis gratuit et intervention rapide. Installation puisard pluvial Puisard [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-2319","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/pages\/2319","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/comments?post=2319"}],"version-history":[{"count":59,"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/pages\/2319\/revisions"}],"predecessor-version":[{"id":3006,"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/pages\/2319\/revisions\/3006"}],"wp:attachment":[{"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/media?parent=2319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}