{"id":2443,"date":"2026-07-13T09:15:46","date_gmt":"2026-07-13T09:15:46","guid":{"rendered":"https:\/\/sci-bme.fr\/?page_id=2443"},"modified":"2026-07-29T10:51:50","modified_gmt":"2026-07-29T10:51:50","slug":"raccordement-tout-a-legout","status":"publish","type":"page","link":"https:\/\/sci-bme.fr\/index.php\/raccordement-tout-a-legout\/","title":{"rendered":"Raccordement tout \u00e0 l&#8217;\u00e9gout"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2443\" class=\"elementor elementor-2443\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bf2a30c e-con-full e-flex e-con e-parent\" data-id=\"bf2a30c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-19fdaba elementor-widget elementor-widget-html\" data-id=\"19fdaba\" 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>Raccordement tout \u00e0 l'\u00e9gout \u2013 BT Plus \u00cele-de-France<\/title>\r\n    <meta name=\"description\" content=\"BT Plus : entreprise de raccordement tout \u00e0 l'\u00e9gout en \u00cele-de-France. Devis gratuit, raccordement au r\u00e9seau public d'assainissement, mise en conformit\u00e9, branchement neuf, \u00e9tudes de sol et travaux de voirie.\" \/>\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 Raccordement tout \u00e0 l'\u00e9gout (sans badge)\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>Raccordement tout \u00e0 l'\u00e9gout<\/strong><br \/>\r\n                    <span class=\"accent\">Mise en conformit\u00e9<\/span> en \u00cele-de-France\r\n                <\/h1>\r\n\r\n                <p class=\"lead reveal d3\">\r\n                    <strong>Sp\u00e9cialiste en raccordement assainissement<\/strong> \u00e0 Paris et en \u00cele-de-France.\r\n                    <strong>Raccordement au r\u00e9seau public d'\u00e9gouts<\/strong>, <strong>branchement neuf<\/strong> et <strong>mise en conformit\u00e9<\/strong>.\r\n                    <strong>\u00c9tudes de sol, travaux de voirie<\/strong> et <strong>d\u00e9marches administratives<\/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                        Raccordement assainissement collectif\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                        Branchement r\u00e9seau d'\u00e9gouts\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                        Mise en conformit\u00e9 assainissement\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>Travaux de voirie et r\u00e9fection<\/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>Conforme aux normes<\/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\/WhatsApp-Image-2021-04-24-at-18.54.26-10-LAPTOP-MF3UBE4E-2-LAPTOP-MF3UBE4E.jpeg\"\r\n                        alt=\"Raccordement tout \u00e0 l'\u00e9gout par BT Plus 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                            Raccordement assainissement\r\n                        <\/span>\r\n                        <div class=\"big-number\">\r\n                            <strong>100%<\/strong> <span>conforme<\/span>\r\n                        <\/div>\r\n                        <div class=\"desc\"><strong>Raccordement tout \u00e0 l'\u00e9gout<\/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>500+<\/b><small>raccordements r\u00e9alis\u00e9s<\/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-1c032b1 e-con-full e-flex e-con e-parent\" data-id=\"1c032b1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f62f2b9 elementor-widget elementor-widget-html\" data-id=\"f62f2b9\" 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 Raccordement tout \u00e0 l'\u00e9gout (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-raccordement {\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-raccordement *,.btp-raccordement *::before,.btp-raccordement *::after{box-sizing:border-box}\r\n.btp-raccordement h2,.btp-raccordement h3,.btp-raccordement h4,.btp-raccordement p{margin:0}\r\n.btp-raccordement .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-raccordement .hd{text-align:center;margin-bottom:48px}\r\n.btp-raccordement .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-raccordement .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-raccordement .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-raccordement .hd h2 em{font-style:normal;color:var(--or)}\r\n.btp-raccordement .hd .lead{margin-top:14px;font-size:1.05rem;color:var(--slate);max-width:620px;margin-left:auto;margin-right:auto}\r\n.btp-raccordement .hd .lead strong{color:var(--b700);font-weight:600}\r\n\r\n\/* ---------- KPI mini ---------- *\/\r\n.btp-raccordement .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-raccordement .kpi-row{grid-template-columns:1fr 1fr}}\r\n.btp-raccordement .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-raccordement .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-raccordement .kpi-item .num small{font-size:.9rem;font-weight:600;color:var(--slate)}\r\n.btp-raccordement .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-raccordement .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-raccordement .grid{grid-template-columns:1fr}}\r\n\r\n.btp-raccordement .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-raccordement .card:hover,\r\n.btp-raccordement .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-raccordement .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-raccordement .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-raccordement .card-badge.green{background:var(--green-bg);color:#065f46}\r\n.btp-raccordement .card-badge.red{background:var(--red-bg);color:#991b1b}\r\n.btp-raccordement .card-badge.orange{background:#fef3c7;color:#b45309}\r\n.btp-raccordement .card-badge.gray{background:#f3f4f6;color:#6b7280}\r\n\r\n.btp-raccordement .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-raccordement .card-desc strong{color:var(--b700);font-weight:600}\r\n\r\n.btp-raccordement .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-raccordement .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-raccordement .cta-red{\r\n  display:flex;\r\n  justify-content:center;\r\n  margin-top:44px;\r\n}\r\n.btp-raccordement .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-raccordement .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-raccordement .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-raccordement .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-raccordement .waves svg{display:block;width:100%;height:90px}\r\n.btp-raccordement .w-back use{animation:srvWave 12s linear infinite;opacity:.5}\r\n.btp-raccordement .w-mid use{animation:srvWave 9s linear infinite reverse;opacity:.8}\r\n.btp-raccordement .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-raccordement .rv{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}\r\n.btp-raccordement .rv.shown{opacity:1;transform:none}\r\n\r\n@media(prefers-reduced-motion:reduce){\r\n  .btp-raccordement *{animation:none!important;transition:none!important}\r\n  .btp-raccordement .rv{opacity:1;transform:none}\r\n}\r\n<\/style>\r\n\r\n<section class=\"btp-raccordement\">\r\n  <div class=\"wrap\">\r\n\r\n    <!-- ==========================================================\r\n         EN-T\u00caTE \u2014 SEO enrichi (Raccordement tout \u00e0 l'\u00e9gout)\r\n         ========================================================== -->\r\n    <header class=\"hd\">\r\n      <span class=\"pill rv\"><span class=\"dot\"><\/span><strong>Entreprise de raccordement agr\u00e9\u00e9e<\/strong> Urgence 24h\/24<\/span>\r\n      <h2 class=\"rv\"><strong>Raccordement tout \u00e0 l'\u00e9gout<\/strong> &amp; <strong>mise en conformit\u00e9<\/strong> \u2013 <em>notre expertise<\/em><\/h2>\r\n      <p class=\"lead rv\">\r\n        <strong>Raccordement tout \u00e0 l'\u00e9gout pas cher<\/strong> et <strong>branchement assainissement IDF<\/strong>\r\n        pour tous types de biens : maison individuelle, copropri\u00e9t\u00e9, restaurant, h\u00f4tel, entrep\u00f4t. <strong>Entreprise de raccordement agr\u00e9\u00e9e<\/strong> en <strong>\u00cele-de-France<\/strong>,\r\n        nous r\u00e9alisons <strong>branchement au r\u00e9seau public<\/strong>, <strong>\u00e9tude de sol<\/strong>, <strong>travaux de voirie<\/strong>\r\n        et <strong>mise en conformit\u00e9<\/strong> pour <strong>particuliers<\/strong>, <strong>professionnels<\/strong> et <strong>collectivit\u00e9s<\/strong>.\r\n        <strong>Devis raccordement 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 au raccordement)\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 assainissement<\/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 raccordement 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\">Conformit\u00e9 r\u00e9seau garantie<\/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 raccordement -->\r\n      <div class=\"card active\">\r\n        <div class=\"card-title\">R\u00f4le du <strong style=\"color:var(--or);\">raccordement \u00e0 l'\u00e9gout<\/strong><\/div>\r\n        <span class=\"card-badge green\">Raccordement professionnel<\/span>\r\n        <div class=\"card-desc\">\r\n          <strong>Le raccordement au r\u00e9seau public d'assainissement<\/strong> consiste \u00e0 relier les canalisations d'eaux us\u00e9es d'un b\u00e2timent au collecteur d'\u00e9gouts communal, permettant ainsi l'\u00e9vacuation vers les stations d'\u00e9puration. Nos techniciens sp\u00e9cialis\u00e9s dans le <strong>raccordement tout \u00e0 l'\u00e9gout en \u00cele-de-France<\/strong> interviennent pour les <strong>branchements neufs<\/strong>, les <strong>mises en conformit\u00e9<\/strong> et les <strong>renouvellements<\/strong>. <strong>Entreprise agr\u00e9\u00e9e<\/strong> \u2013 <strong>travaux conformes<\/strong> aux normes et \u00e0 la r\u00e9glementation.\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span><strong>Raccordement professionnel<\/strong><\/span>\r\n          <span><strong>Branchement r\u00e9seau<\/strong><\/span>\r\n          <span>Mise en conformit\u00e9<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- 2. Signes de non-conformit\u00e9 -->\r\n      <div class=\"card\">\r\n        <div class=\"card-title\">Signes de non-conformit\u00e9 \u2013 <strong style=\"color:var(--or);\">diagnostic r\u00e9seau<\/strong><\/div>\r\n        <span class=\"card-badge red\">\u00c0 corriger<\/span>\r\n        <div class=\"card-desc\">\r\n          <strong>Les principales causes de non-conformit\u00e9 :<\/strong> absence de branchement au r\u00e9seau public, raccordement \u00e0 un syst\u00e8me d'assainissement non collectif obsol\u00e8te, absence de dispositif de pr\u00e9traitement, diam\u00e8tre insuffisant, d\u00e9faut d'\u00e9tanch\u00e9it\u00e9. Ces d\u00e9fauts entra\u00eenent des <strong>risques sanitaires<\/strong>, des <strong>refus de conformit\u00e9<\/strong> ou des <strong>sanctions<\/strong>. Un <strong>diagnostic assainissement<\/strong> pr\u00e9cis permet de d\u00e9terminer les <strong>travaux de mise en conformit\u00e9<\/strong> \u00e0 r\u00e9aliser.\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span>Absence de branchement<\/span>\r\n          <span>ANC obsol\u00e8te<\/span>\r\n          <span>D\u00e9faut d'\u00e9tanch\u00e9it\u00e9<\/span>\r\n          <span>Diam\u00e8tre insuffisant<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- 3. Raccordement d'urgence -->\r\n      <div class=\"card\">\r\n        <div class=\"card-title\"><strong style=\"color:var(--or);\">Raccordement 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 refus de conformit\u00e9 ou de travaux obligatoires.<\/strong> Notre \u00e9quipe se d\u00e9place chez vous sous 1h pour \u00e9valuer la situation et proc\u00e9der au <strong>raccordement d'urgence<\/strong> ou aux <strong>travaux de mise en conformit\u00e9<\/strong> dans les plus brefs d\u00e9lais. Nous g\u00e9rons les <strong>d\u00e9marches administratives<\/strong> (permis de voirie, autorisations) et r\u00e9alisons les <strong>travaux de voirie<\/strong> n\u00e9cessaires. <strong>Raccordement urgence IDF<\/strong> disponible 24h\/24.\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span><strong>Raccordement 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. \u00c9tude et d\u00e9marches -->\r\n      <div class=\"card\">\r\n        <div class=\"card-title\"><strong style=\"color:var(--or);\">\u00c9tude &amp; d\u00e9marches<\/strong> \u2013 accompagnement complet<\/div>\r\n        <span class=\"card-badge orange\">Accompagnement sur mesure<\/span>\r\n        <div class=\"card-desc\">\r\n          <strong>Un raccordement r\u00e9ussi commence par une \u00e9tude et des d\u00e9marches bien men\u00e9es.<\/strong> Nous r\u00e9alisons l'<strong>\u00e9tude de sol<\/strong>, le <strong>diagnostic assainissement<\/strong>, les <strong>d\u00e9marches administratives<\/strong> (permis de voirie, convention de branchement) et la <strong>coordination avec les services de l'eau<\/strong>. Id\u00e9al pour <strong>particuliers<\/strong>, <strong>copropri\u00e9t\u00e9s<\/strong>, <strong>restaurants<\/strong>, <strong>h\u00f4tels<\/strong> ou <strong>entreprises<\/strong>. Nous vous accompagnons de A \u00e0 Z pour un <strong>raccordement serein<\/strong> et conforme.\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span><strong>\u00c9tude de sol<\/strong><\/span>\r\n          <span><strong>D\u00e9marches administratives<\/strong><\/span>\r\n          <span>Diagnostic assainissement<\/span>\r\n          <span>Conforme<\/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-raccordement');\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-0fca1e7 e-con-full e-flex e-con e-parent\" data-id=\"0fca1e7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ca78151 elementor-widget elementor-widget-html\" data-id=\"ca78151\" 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 Raccordement au tout-\u00e0-l'\u00e9gout<\/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 \"Raccordement au tout-\u00e0-l'\u00e9gout\"\r\n     Version 2 \u2014 parcours toujours lisible + l\u00e9gendes permanentes + mobile agrandi\r\n     ============================================================ -->\r\n\r\n<style>\r\n.bt-egout * { margin:0; padding:0; box-sizing:border-box; }\r\n.bt-egout { font-family:'Inter',sans-serif; background:#fff; color:#0a1a2b; line-height:1.6; overflow-x:hidden; }\r\n.bt-egout .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-egout .waves { position:absolute; left:0; right:0; bottom:0; line-height:0; z-index:0; pointer-events:none; }\r\n.bt-egout .waves svg { display:block; width:100%; height:100px; }\r\n.bt-egout .waves .wave-back use { animation: bt-wavemove 11s linear infinite; opacity:.55; }\r\n.bt-egout .waves .wave-mid use { animation: bt-wavemove 8s linear infinite reverse; opacity:.8; }\r\n.bt-egout .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-egout .container { max-width:1200px; width:100%; margin:0 auto; padding:0 20px; position:relative; z-index:10; }\r\n\r\n.bt-egout .header { text-align:center; max-width:900px; margin:0 auto 2.5rem; }\r\n.bt-egout .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-egout .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-egout .title { font-family:'Sora',sans-serif; font-weight:800; font-size:clamp(2.1rem,4vw,3.2rem); letter-spacing:-.03em; color:#07294a; line-height:1.1; margin-bottom:.6rem; }\r\n.bt-egout .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-egout .subtitle { font-weight:400; font-size:clamp(1rem,1.2vw,1.1rem); color:#6b7f94; max-width:780px; margin:0 auto; line-height:1.7; }\r\n.bt-egout .subtitle strong { color:#07294a; font-weight:600; }\r\n\r\n.bt-egout .scene {\r\n  width:100%; max-width:1160px; 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-egout .scene:hover { box-shadow:0 16px 80px rgba(7,41,74,.10); }\r\n.bt-egout .scene svg { display:block; width:100%; height:auto; max-height:640px; overflow:visible; }\r\n.bt-egout .scene-scroll { width:100%; }\r\n.bt-egout .scroll-hint { display:none; text-align:center; font-size:.72rem; color:#6b7f94; margin-top:6px; }\r\n\r\n.bt-egout .step-zone { cursor:pointer; transition:filter .3s ease; }\r\n.bt-egout .step-zone:hover { filter:drop-shadow(0 0 24px rgba(244,166,26,.45)); }\r\n.bt-egout .step-zone.active { filter:drop-shadow(0 0 34px rgba(244,166,26,.65)); }\r\n.bt-egout .step-zone .step-num { transition: transform .3s ease; }\r\n.bt-egout .step-zone.active .step-num,\r\n.bt-egout .step-zone:hover .step-num { transform: scale(1.12); }\r\n\r\n.bt-egout .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-egout .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-egout .step-caption { font-family:'Inter',sans-serif; pointer-events:none; }\r\n.bt-egout .step-caption .cap-title { font-weight:700; font-family:'Sora',sans-serif; }\r\n\r\n.bt-egout .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-egout .tooltip.visible { opacity:1; transform:translateY(0) scale(1); display:block; }\r\n.bt-egout .tooltip strong { color:#f4a61a; display:block; font-size:1.05rem; margin-bottom:4px; font-family:'Sora',sans-serif; }\r\n\r\n.bt-egout .steps-bar { display:flex; justify-content:center; gap:14px; margin-top:20px; flex-wrap:wrap; }\r\n.bt-egout .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-egout .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-egout .step-dot.done { background:#1c7ec9; opacity:.5; }\r\n.bt-egout .step-dot:hover { transform:scale(1.15); background:rgba(244,166,26,.3); }\r\n\r\n.bt-egout .recap { max-width:1120px; margin:2.2rem auto 0; display:grid; grid-template-columns:repeat(7,1fr); gap:8px; }\r\n.bt-egout .recap .card {\r\n  background:rgba(255,255,255,.7); border:1px solid rgba(7,41,74,.08); border-radius:14px; padding:10px 6px;\r\n  text-align:center; transition:transform .25s ease, box-shadow .25s ease; cursor:pointer;\r\n}\r\n.bt-egout .recap .card:hover, .bt-egout .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-egout .recap .card .n {\r\n  width:23px; height:23px; border-radius:50%; background:#f4a61a; color:#fff; font-family:'Sora',sans-serif;\r\n  font-weight:800; font-size:.72rem; display:flex; align-items:center; justify-content:center; margin:0 auto 5px;\r\n}\r\n.bt-egout .recap .card .t { font-family:'Sora',sans-serif; font-weight:700; font-size:.68rem; color:#07294a; line-height:1.15; }\r\n\r\n@media (max-width:992px){\r\n  .bt-egout .wrapper{padding:2rem 3% 3rem;}\r\n  .bt-egout .recap{grid-template-columns:repeat(4,1fr);}\r\n}\r\n@media (max-width:768px){\r\n  .bt-egout .wrapper{padding:1.25rem 0 2.5rem;}\r\n  .bt-egout .scene{padding:10px 0;border-radius:20px;}\r\n  .bt-egout .title{font-size:24px;padding:0 1.25rem;}\r\n  .bt-egout .subtitle{font-size:14px;padding:0 1.25rem;}\r\n  .bt-egout .badge{font-size:.65rem;padding:.3rem 1.2rem .3rem .8rem;}\r\n  .bt-egout .step-dot{width:13px;height:13px;}\r\n  .bt-egout .tooltip{max-width:210px;font-size:.85rem;padding:12px 16px;}\r\n\r\n  \/* le dessin (7 \u00e9tapes) 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-egout .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-egout .scene svg{ width:1000px; max-width:none; flex-shrink:0; }\r\n  .bt-egout .scroll-hint{ display:block; }\r\n  .bt-egout .recap{grid-template-columns:repeat(4,1fr); padding:0 1.25rem;}\r\n}\r\n@media (max-width:480px){\r\n  .bt-egout .recap{grid-template-columns:repeat(2,1fr);}\r\n}\r\n<\/style>\r\n\r\n<section class=\"bt-egout\">\r\n  <div class=\"wrapper\">\r\n    <div class=\"container\">\r\n      <div class=\"header\">\r\n        <span class=\"badge\"><span class=\"dot\"><\/span> Raccordement tout-\u00e0-l'\u00e9gout<\/span>\r\n        <h2 class=\"title\">Comprendre le <span class=\"highlight\">raccordement au tout-\u00e0-l'\u00e9gout<\/span><\/h2>\r\n        <p class=\"subtitle\">\r\n          De l'<strong>\u00e9tude et des autorisations<\/strong> \u00e0 la <strong>mise en service<\/strong>, d\u00e9couvrez\r\n          les 7 \u00e9tapes qui connectent votre habitation au r\u00e9seau public d'assainissement collectif \u2014\r\n          cliquez sur un rep\u00e8re ou faites 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 1160 400\" 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=\"1160\" height=\"400\" fill=\"url(#skyGrad)\" \/>\r\n          <rect x=\"0\" y=\"255\" width=\"1160\" height=\"145\" fill=\"url(#groundGrad)\" \/>\r\n\r\n          <!-- ligne de parcours continue reliant les 7 \u00e9tapes -->\r\n          <path d=\"M80 315 L1080 315\" stroke=\"#c7d6e2\" stroke-width=\"3\" stroke-dasharray=\"2 8\" stroke-linecap=\"round\" \/>\r\n\r\n          <!-- zone commune de fouille -->\r\n          <rect x=\"260\" y=\"270\" width=\"740\" height=\"55\" fill=\"#6a5a3a\" opacity=\".25\" rx=\"8\" \/>\r\n\r\n          <!-- ===== \u00c9TAPE 1 : \u00c9TUDE & AUTORISATIONS (x=90) ===== -->\r\n          <g class=\"step-zone\" data-step=\"1\">\r\n            <rect x=\"35\" y=\"130\" width=\"90\" height=\"80\" fill=\"#e2d9c5\" stroke=\"#b09a80\" stroke-width=\"2\" rx=\"4\" \/>\r\n            <polygon points=\"22,130 80,72 138,130\" fill=\"#b04a3a\" stroke=\"#8a3a2a\" stroke-width=\"2\" \/>\r\n            <rect x=\"60\" y=\"165\" width=\"26\" height=\"45\" fill=\"#7a5a3a\" stroke=\"#5a3a2a\" stroke-width=\"1.5\" rx=\"2\" \/>\r\n            <rect x=\"160\" y=\"150\" width=\"36\" height=\"26\" fill=\"#fff\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" rx=\"3\" \/>\r\n            <line x1=\"168\" y1=\"157\" x2=\"188\" y2=\"157\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" \/>\r\n            <line x1=\"168\" y1=\"163\" x2=\"188\" y2=\"163\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" \/>\r\n            <circle cx=\"90\" cy=\"315\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"90\" cy=\"240\" r=\"14\" fill=\"#f4a61a\" \/>\r\n            <text x=\"90\" y=\"245\" font-size=\"13\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">1<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 2 : PR\u00c9PARATION & TERRASSEMENT (x=225) ===== -->\r\n          <g class=\"step-zone\" data-step=\"2\">\r\n            <rect x=\"203\" y=\"188\" width=\"42\" height=\"34\" fill=\"#d4a030\" stroke=\"#b08020\" stroke-width=\"2\" rx=\"4\" \/>\r\n            <circle cx=\"224\" cy=\"231\" r=\"15\" fill=\"#2a2a2a\" \/><circle cx=\"224\" cy=\"231\" r=\"9\" fill=\"#4a4a4a\" \/>\r\n            <rect x=\"217\" y=\"166\" width=\"14\" height=\"20\" fill=\"#2a2a2a\" rx=\"3\" \/>\r\n            <path d=\"M231 166 L247 196 L239 204 L227 184 Z\" fill=\"#d4a030\" stroke=\"#b08020\" stroke-width=\"2\" \/>\r\n            <line x1=\"188\" y1=\"163\" x2=\"188\" y2=\"188\" stroke=\"#f4a61a\" stroke-width=\"3\" stroke-dasharray=\"6 3\" \/>\r\n            <line x1=\"262\" y1=\"163\" x2=\"262\" y2=\"188\" stroke=\"#f4a61a\" stroke-width=\"3\" stroke-dasharray=\"6 3\" \/>\r\n            <circle class=\"particle\" cx=\"230\" cy=\"260\" r=\"4\" fill=\"#6a4a2a\" opacity=\".6\">\r\n              <animate attributeName=\"cy\" from=\"260\" to=\"315\" dur=\"4s\" repeatCount=\"indefinite\" \/>\r\n              <animate attributeName=\"opacity\" from=\".6\" to=\"0\" dur=\"4s\" repeatCount=\"indefinite\" \/>\r\n            <\/circle>\r\n            <circle cx=\"224\" cy=\"315\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"224\" cy=\"240\" r=\"14\" fill=\"#f4a61a\" \/>\r\n            <text x=\"224\" y=\"245\" font-size=\"13\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">2<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 3 : POSE CANALISATION (x=370) ===== -->\r\n          <g class=\"step-zone\" data-step=\"3\">\r\n            <rect x=\"345\" y=\"285\" width=\"55\" height=\"35\" fill=\"#6a7a5a\" stroke=\"#4a5a3a\" stroke-width=\"2\" rx=\"4\" \/>\r\n            <rect x=\"345\" y=\"285\" width=\"55\" height=\"9\" fill=\"#4ac0e0\" opacity=\".6\" rx=\"2\" \/>\r\n            <rect x=\"345\" y=\"311\" width=\"55\" height=\"9\" fill=\"#4ac0e0\" opacity=\".6\" rx=\"2\" \/>\r\n            <path d=\"M353 302 L390 302\" stroke=\"#1c7ec9\" stroke-width=\"5\" stroke-linecap=\"round\" \/>\r\n            <polygon points=\"386,298 396,302 386,306\" fill=\"#f4a61a\" \/>\r\n            <circle cx=\"370\" cy=\"315\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"370\" cy=\"240\" r=\"14\" fill=\"#f4a61a\" \/>\r\n            <text x=\"370\" y=\"245\" font-size=\"13\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">3<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 4 : RACCORDEMENT R\u00c9SEAU (x=515) ===== -->\r\n          <g class=\"step-zone\" data-step=\"4\">\r\n            <circle cx=\"515\" cy=\"300\" r=\"20\" fill=\"#8a7a6a\" stroke=\"#4a3a2a\" stroke-width=\"2\" \/>\r\n            <circle cx=\"515\" cy=\"300\" r=\"12\" fill=\"#4a3a2a\" opacity=\".3\" \/>\r\n            <rect x=\"505\" y=\"287\" width=\"20\" height=\"9\" fill=\"#6a7a5a\" stroke=\"#4a5a3a\" stroke-width=\"1.5\" rx=\"2\" \/>\r\n            <path d=\"M460 300 L495 300\" stroke=\"#1c7ec9\" stroke-width=\"5\" stroke-linecap=\"round\" \/>\r\n            <path d=\"M535 300 L570 300\" stroke=\"#1c7ec9\" stroke-width=\"5\" stroke-linecap=\"round\" \/>\r\n            <circle cx=\"515\" cy=\"315\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"515\" cy=\"240\" r=\"14\" fill=\"#f4a61a\" \/>\r\n            <text x=\"515\" y=\"245\" font-size=\"13\" 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 (x=660) ===== -->\r\n          <g class=\"step-zone\" data-step=\"5\">\r\n            <rect x=\"628\" y=\"270\" width=\"36\" height=\"30\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" rx=\"4\" \/>\r\n            <line x1=\"634\" y1=\"279\" x2=\"656\" y2=\"279\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" \/>\r\n            <line x1=\"634\" y1=\"284\" x2=\"656\" y2=\"284\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" \/>\r\n            <line x1=\"634\" y1=\"289\" x2=\"648\" y2=\"289\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" \/>\r\n            <circle cx=\"672\" cy=\"284\" r=\"11\" fill=\"none\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <line x1=\"680\" y1=\"292\" x2=\"690\" y2=\"302\" stroke=\"#1c7ec9\" stroke-width=\"2\" stroke-linecap=\"round\" \/>\r\n            <circle cx=\"660\" cy=\"315\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"660\" cy=\"240\" r=\"14\" fill=\"#f4a61a\" \/>\r\n            <text x=\"660\" y=\"245\" font-size=\"13\" 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 (x=805) ===== -->\r\n          <g class=\"step-zone\" data-step=\"6\">\r\n            <rect x=\"735\" y=\"325\" width=\"140\" height=\"10\" fill=\"#8a7a5a\" opacity=\".5\" rx=\"3\" \/>\r\n            <rect x=\"735\" y=\"337\" width=\"140\" height=\"10\" fill=\"#7a6a4a\" opacity=\".4\" rx=\"3\" \/>\r\n            <rect x=\"735\" y=\"318\" width=\"140\" height=\"4\" fill=\"#f4a61a\" opacity=\".8\" rx=\"1\" \/>\r\n            <path d=\"M735 325 Q760 313 785 325 Q810 313 835 325 Q860 313 875 325 L875 335 L735 335 Z\" fill=\"#6a9a4a\" opacity=\".5\" \/>\r\n            <circle cx=\"805\" cy=\"315\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"805\" cy=\"240\" r=\"14\" fill=\"#f4a61a\" \/>\r\n            <text x=\"805\" y=\"245\" font-size=\"13\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">6<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 7 : MISE EN SERVICE (x=945) ===== -->\r\n          <g class=\"step-zone\" data-step=\"7\">\r\n            <rect x=\"905\" y=\"270\" width=\"80\" height=\"55\" fill=\"#e2d9c5\" stroke=\"#b09a80\" stroke-width=\"2\" rx=\"4\" \/>\r\n            <polygon points=\"895,270 945,240 995,270\" fill=\"#b04a3a\" stroke=\"#8a3a2a\" stroke-width=\"2\" \/>\r\n            <rect x=\"932\" y=\"295\" width=\"16\" height=\"30\" fill=\"#7a5a3a\" stroke=\"#5a3a2a\" stroke-width=\"1.5\" rx=\"2\" \/>\r\n            <path d=\"M968 300 q0 8 -5 11 q-5 -3 -5 -11 q5 -8 5 -8 q5 0 5 8 z\" fill=\"#4ac0e0\" stroke=\"#1c7ec9\" stroke-width=\"1\" \/>\r\n            <path d=\"M950 292 l4 4 8 -8\" stroke=\"#10b981\" stroke-width=\"3\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\r\n            <circle cx=\"945\" cy=\"315\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"945\" cy=\"240\" r=\"14\" fill=\"#f4a61a\" \/>\r\n            <text x=\"945\" y=\"245\" font-size=\"13\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">7<\/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=\"90\" y=\"345\" class=\"cap-title\" font-size=\"11.5\">\u00c9tude &amp; autoris.<\/text>\r\n            <text x=\"90\" y=\"359\" font-size=\"9.5\" fill=\"#6b7f94\">D\u00e9marches, visite<\/text>\r\n\r\n            <text x=\"224\" y=\"345\" class=\"cap-title\" font-size=\"11.5\">Pr\u00e9paration<\/text>\r\n            <text x=\"224\" y=\"359\" font-size=\"9.5\" fill=\"#6b7f94\">Balisage, terrassement<\/text>\r\n\r\n            <text x=\"370\" y=\"345\" class=\"cap-title\" font-size=\"11.5\">Pose canalisation<\/text>\r\n            <text x=\"370\" y=\"359\" font-size=\"9.5\" fill=\"#6b7f94\">PVC, pente contr\u00f4l\u00e9e<\/text>\r\n\r\n            <text x=\"515\" y=\"345\" class=\"cap-title\" font-size=\"11.5\">Raccordement<\/text>\r\n            <text x=\"515\" y=\"359\" font-size=\"9.5\" fill=\"#6b7f94\">Regard, collecteur<\/text>\r\n\r\n            <text x=\"660\" y=\"345\" class=\"cap-title\" font-size=\"11.5\">Contr\u00f4les<\/text>\r\n            <text x=\"660\" y=\"359\" font-size=\"9.5\" fill=\"#6b7f94\">Pente, \u00e9tanch\u00e9it\u00e9<\/text>\r\n\r\n            <text x=\"805\" y=\"345\" class=\"cap-title\" font-size=\"11.5\">Remblai<\/text>\r\n            <text x=\"805\" y=\"359\" font-size=\"9.5\" fill=\"#6b7f94\">Compactage, grillage<\/text>\r\n\r\n            <text x=\"945\" y=\"345\" class=\"cap-title\" font-size=\"11.5\">Mise en service<\/text>\r\n            <text x=\"945\" y=\"359\" font-size=\"9.5\" fill=\"#6b7f94\">Plans, ancien neutralis\u00e9<\/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        <span class=\"step-dot\" data-step=\"7\"><\/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\">\u00c9tude<\/div><\/div>\r\n        <div class=\"card\" data-step=\"2\"><div class=\"n\">2<\/div><div class=\"t\">Pr\u00e9paration<\/div><\/div>\r\n        <div class=\"card\" data-step=\"3\"><div class=\"n\">3<\/div><div class=\"t\">Pose canal.<\/div><\/div>\r\n        <div class=\"card\" data-step=\"4\"><div class=\"n\">4<\/div><div class=\"t\">Raccord.<\/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 class=\"card\" data-step=\"7\"><div class=\"n\">7<\/div><div class=\"t\">Mise en service<\/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:\"\u00c9tude & autorisations\", desc:\"Analyse du projet, visite technique, d\u00e9marches administratives et autorisations n\u00e9cessaires.\" },\r\n    { id:2, label:\"Pr\u00e9paration & terrassement\", desc:\"Balisage, protection, rep\u00e9rage des r\u00e9seaux, excavation des tranch\u00e9es.\" },\r\n    { id:3, label:\"Pose canalisation\", desc:\"D\u00e9connexion de l'ancien syst\u00e8me, pose des canalisations PVC avec pente contr\u00f4l\u00e9e.\" },\r\n    { id:4, label:\"Raccordement r\u00e9seau\", desc:\"Connexion au regard de branchement ou au collecteur public, \u00e9tanch\u00e9it\u00e9 garantie.\" },\r\n    { id:5, label:\"Contr\u00f4les\", desc:\"V\u00e9rification de la pente, de l'\u00e9tanch\u00e9it\u00e9, essais d'\u00e9coulement et contr\u00f4le de conformit\u00e9.\" },\r\n    { id:6, label:\"Remblai\", desc:\"Remblaiement par couches, compactage, pose d'un grillage avertisseur et remise en \u00e9tat des surfaces.\" },\r\n    { id:7, label:\"Mise en service\", desc:\"Mise en route du raccordement, neutralisation de l'ancien syst\u00e8me, remise des plans et photos.\" }\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-e93e1d4 e-con-full e-flex e-con e-parent\" data-id=\"e93e1d4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9be70b1 elementor-widget elementor-widget-html\" data-id=\"9be70b1\" 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-8745829 e-con-full e-flex e-con e-parent\" data-id=\"8745829\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5761b5b elementor-widget elementor-widget-html\" data-id=\"5761b5b\" 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 (RACCORDEMENT TOUT\u2011\u00c0\u2011L'\u00c9GOUT)\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 raccordement tout\u2011\u00e0\u2011l'\u00e9gout -->\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 raccordement tout\u2011\u00e0\u2011l'\u00e9gout, 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        <a href=\"https:\/\/sci-bme.fr\/index.php\/remplacement-de-canalisation\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/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        <!-- page actuelle : raccordement tout\u2011\u00e0\u2011l'\u00e9gout -->\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/raccordement-tout-a-legout\/\" class=\"service-card actuel\">\r\n          <span class=\"badge-service badge-actuel\">Page actuelle<\/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-86fffbc e-con-full e-flex e-con e-parent\" data-id=\"86fffbc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b0826a3 elementor-widget elementor-widget-html\" data-id=\"b0826a3\" 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 RACCORDEMENT TOUT \u00c0 L'\u00c9GOUT\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\">raccordement tout \u00e0 l'\u00e9gout<\/span><\/h2>\r\n                <p class=\"bt-faq__subtitle\">\r\n                    <strong>Raccordement tout \u00e0 l'\u00e9gout<\/strong>, <strong>branchement au r\u00e9seau public<\/strong>, <strong>mise en conformit\u00e9<\/strong>, <strong>\u00e9tude de sol<\/strong>, <strong>travaux de voirie<\/strong>\u2026 Retrouvez les r\u00e9ponses \u00e0 vos interrogations sur nos <strong>prestations de raccordement assainissement<\/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 raccordement \u00e0 l'\u00e9gout est\u2011il obligatoire ?<\/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>, le <strong>raccordement au r\u00e9seau public d'assainissement<\/strong> est obligatoire lorsque le r\u00e9seau existe et est accessible depuis votre propri\u00e9t\u00e9. Cette obligation est fix\u00e9e par la <strong>r\u00e9glementation (loi sur l'eau, arr\u00eat\u00e9s pr\u00e9fectoraux)<\/strong> et peut \u00eatre exig\u00e9e par votre commune ou votre service des eaux. Nous vous aidons \u00e0 identifier vos obligations et \u00e0 r\u00e9aliser les travaux de mise en conformit\u00e9 dans les d\u00e9lais impartis.<\/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>Quelles sont les \u00e9tapes d'un raccordement \u00e0 l'\u00e9gout ?<\/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>Un <strong>raccordement tout \u00e0 l'\u00e9gout<\/strong> se d\u00e9roule en plusieurs \u00e9tapes : <strong>1. Diagnostic<\/strong> de votre installation existante. <strong>2. \u00c9tude de sol<\/strong> et relev\u00e9s topographiques. <strong>3. D\u00e9p\u00f4t des autorisations<\/strong> (permis de voirie, convention de branchement). <strong>4. Travaux de terrassement<\/strong> et pose de la canalisation jusqu'au collecteur public. <strong>5. Raccordement<\/strong> au r\u00e9seau et mise en service. <strong>6. R\u00e9fection<\/strong> de la voirie et des abords. Nous vous accompagnons \u00e0 chaque \u00e9tape.<\/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>Quel est le prix d'un raccordement tout \u00e0 l'\u00e9gout ?<\/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 plusieurs facteurs : la <strong>distance<\/strong> entre votre propri\u00e9t\u00e9 et le collecteur public, la <strong>profondeur<\/strong> des tranch\u00e9es, la <strong>nature du sol<\/strong>, les <strong>contraintes de voirie<\/strong> (trottoir, chauss\u00e9e), et les <strong>frais administratifs<\/strong> (permis de voirie, taxes). Nous vous fournissons un <strong>devis gratuit<\/strong> et d\u00e9taill\u00e9 apr\u00e8s une <strong>\u00e9tude sur site<\/strong>. Comptez en moyenne entre 2 000\u20ac et 8 000\u20ac selon la complexit\u00e9.<\/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>Qui finance les travaux de raccordement ?<\/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>Les <strong>travaux de raccordement<\/strong> sont \u00e0 la charge du <strong>propri\u00e9taire<\/strong> du bien immobilier. La <strong>commune<\/strong> ou le <strong>service d'assainissement<\/strong> peut parfois participer aux frais de raccordement (notamment dans le cadre de la mise en conformit\u00e9 des assainissements non collectifs). Certaines <strong>aides financi\u00e8res<\/strong> (ANAH, Agence de l'eau) peuvent \u00e9galement \u00eatre mobilis\u00e9es. Nous vous conseillons sur les dispositifs d'aide possibles.<\/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>Intervenez\u2011vous en urgence 24h\/24 pour un raccordement ?<\/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>refus de conformit\u00e9<\/strong> avec d\u00e9lai imp\u00e9ratif, de <strong>travaux obligatoires<\/strong> exig\u00e9s par votre commune, ou de <strong>branchement cass\u00e9<\/strong>, notre \u00e9quipe intervient rapidement. Nous g\u00e9rons les d\u00e9marches administratives et les travaux de <strong>mise en conformit\u00e9<\/strong> dans les plus brefs d\u00e9lais.<\/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>Quelles sont les sanctions en cas de non\u2011raccordement ?<\/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 <strong>non\u2011raccordement<\/strong> \u00e0 un r\u00e9seau d'assainissement public existant expose \u00e0 des <strong>sanctions<\/strong> : mise en demeure, astreinte financi\u00e8re, voire interdiction d'habiter ou de vendre le bien. De plus, l'installation d'un <strong>assainissement non collectif<\/strong> lorsque le r\u00e9seau existe peut entra\u00eener un <strong>refus de conformit\u00e9<\/strong> du SPANC. Nous vous conseillons sur la r\u00e9gularisation de votre situation et r\u00e9alisons les travaux de <strong>mise en conformit\u00e9<\/strong> n\u00e9cessaires.<\/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>Proposez\u2011vous l'\u00e9tude de sol avant le raccordement ?<\/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>, une <strong>\u00e9tude de sol<\/strong> et des relev\u00e9s topographiques sont indispensables avant tout <strong>raccordement tout \u00e0 l'\u00e9gout<\/strong>. Nous r\u00e9alisons une <strong>\u00e9tude g\u00e9otechnique<\/strong> pour d\u00e9terminer la nature du sol, la <strong>profondeur<\/strong> n\u00e9cessaire, les <strong>contraintes de voirie<\/strong> et les <strong>points de branchement<\/strong> existants. Ce diagnostic nous permet d'\u00e9tablir un <strong>devis pr\u00e9cis<\/strong> et de garantir des travaux conformes aux normes.<\/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>Intervenez\u2011vous chez les professionnels et les collectivit\u00e9s ?<\/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>raccordement \u00e0 l'\u00e9gout pour les professionnels<\/strong> : restaurants, h\u00f4tels, copropri\u00e9t\u00e9s, bureaux, commerces, collectivit\u00e9s et \u00e9tablissements recevant du public. Nous assurons des <strong>interventions rapides<\/strong> pour limiter l'impact sur votre activit\u00e9 et g\u00e9rons l'ensemble des <strong>d\u00e9marches administratives<\/strong> (permis de voirie, conventions) pour vous simplifier la t\u00e2che.<\/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>Qui s'occupe des d\u00e9marches administratives pour le raccordement ?<\/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>Nous prenons en charge<\/strong> l'int\u00e9gralit\u00e9 des <strong>d\u00e9marches administratives<\/strong> li\u00e9es au raccordement : demande de <strong>permis de voirie<\/strong>, <strong>convention de branchement<\/strong> avec le service des eaux, <strong>d\u00e9claration de travaux<\/strong> en mairie, et coordination avec les services techniques. Nous vous accompagnons de A \u00e0 Z pour que votre <strong>raccordement tout \u00e0 l'\u00e9gout<\/strong> soit r\u00e9alis\u00e9 dans les r\u00e8gles, sans que vous ayez \u00e0 vous soucier des formalit\u00e9s.<\/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-112026a e-con-full e-flex e-con e-parent\" data-id=\"112026a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-da49ecc elementor-widget elementor-widget-html\" data-id=\"da49ecc\" 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>Raccordement tout \u00e0 l&#8217;\u00e9gout \u2013 BT Plus \u00cele-de-France Raccordement tout \u00e0 l&#8217;\u00e9gout Mise en conformit\u00e9 en \u00cele-de-France Sp\u00e9cialiste en raccordement assainissement \u00e0 Paris et en \u00cele-de-France. Raccordement au r\u00e9seau public d&#8217;\u00e9gouts, branchement neuf et mise en conformit\u00e9. \u00c9tudes de sol, travaux de voirie et d\u00e9marches administratives. Devis gratuit et intervention rapide. Raccordement assainissement collectif Branchement [&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-2443","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/pages\/2443","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=2443"}],"version-history":[{"count":38,"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/pages\/2443\/revisions"}],"predecessor-version":[{"id":2912,"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/pages\/2443\/revisions\/2912"}],"wp:attachment":[{"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/media?parent=2443"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}