{"id":2717,"date":"2026-07-20T07:58:06","date_gmt":"2026-07-20T07:58:06","guid":{"rendered":"https:\/\/sci-bme.fr\/?page_id=2717"},"modified":"2026-07-29T10:42:03","modified_gmt":"2026-07-29T10:42:03","slug":"station-depuration","status":"publish","type":"page","link":"https:\/\/sci-bme.fr\/index.php\/station-depuration\/","title":{"rendered":"Station d&#8217;\u00e9puration"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2717\" class=\"elementor elementor-2717\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0dfcc3b e-con-full e-flex e-con e-parent\" data-id=\"0dfcc3b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1723bda elementor-widget elementor-widget-html\" data-id=\"1723bda\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"fr\">\r\n<head>\r\n    <meta charset=\"UTF-8\" \/>\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes\" \/>\r\n    <title>Installation de station d'\u00e9puration \u2013 BT Plus \u00cele-de-France<\/title>\r\n    <meta name=\"description\" content=\"BT Plus : installation de station d'\u00e9puration en \u00cele-de-France. Devis gratuit, pose de micro-station, traitement des eaux us\u00e9es, mise en conformit\u00e9. Intervention rapide 24h\/24.\" \/>\r\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n    <style>\r\n        \/* ===== variables & reset ===== *\/\r\n        :root {\r\n            --blue-900: #07294a;\r\n            --blue-800: #0a3666;\r\n            --blue-700: #0d4f8b;\r\n            --blue-500: #1c7ec9;\r\n            --blue-300: #7cc0ee;\r\n            --blue-100: #d6ebfb;\r\n            --blue-50: #eef6fc;\r\n            --orange: #f4a61a;\r\n            --orange-dark: #d98a0c;\r\n            --ink: #0c2238;\r\n            --slate: #48637d;\r\n            --paper: #ffffff;\r\n\r\n            --font-display: \"Sora\", sans-serif;\r\n            --font-body: \"Inter\", sans-serif;\r\n\r\n            --shadow-sm: 0 2px 10px rgba(7, 41, 74, .06);\r\n            --shadow-md: 0 18px 40px -16px rgba(7, 41, 74, .30);\r\n        }\r\n\r\n        * {\r\n            box-sizing: border-box;\r\n            margin: 0;\r\n            padding: 0;\r\n        }\r\n        html {\r\n            scroll-behavior: smooth;\r\n        }\r\n        body {\r\n            font-family: var(--font-body);\r\n            color: var(--ink);\r\n            background: var(--paper);\r\n            -webkit-font-smoothing: antialiased;\r\n            line-height: 1.6;\r\n        }\r\n\r\n        \/* ===== HERO ===== *\/\r\n        .hero {\r\n            position: relative;\r\n            overflow: hidden;\r\n            background:\r\n                radial-gradient(1100px 520px at 78% -8%, var(--blue-100), transparent 60%),\r\n                linear-gradient(180deg, #fbfdff 0%, var(--blue-50) 100%);\r\n        }\r\n        .hero-inner {\r\n            max-width: 1200px;\r\n            margin: 0 auto;\r\n            padding: 40px 24px 150px;\r\n            display: grid;\r\n            grid-template-columns: 1.05fr .95fr;\r\n            gap: 50px;\r\n            align-items: center;\r\n            position: relative;\r\n        }\r\n\r\n        \/* ===== CONTENU TEXTE ===== *\/\r\n        h1 {\r\n            font-family: var(--font-display);\r\n            font-weight: 800;\r\n            font-size: clamp(1.6rem, 3.8vw, 2.6rem);\r\n            line-height: 1.1;\r\n            letter-spacing: -.025em;\r\n            color: var(--blue-900);\r\n            margin: 0;\r\n        }\r\n        h1 .accent {\r\n            color: var(--orange);\r\n            position: relative;\r\n            white-space: nowrap;\r\n        }\r\n        h1 .accent::after {\r\n            content: \"\";\r\n            position: absolute;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: .06em;\r\n            height: .16em;\r\n            background: rgba(244, 166, 26, .28);\r\n            border-radius: 4px;\r\n            z-index: -1;\r\n            transform: scaleX(0);\r\n            transform-origin: left;\r\n            animation: underline 1s .8s ease forwards;\r\n        }\r\n        @keyframes underline {\r\n            to { transform: scaleX(1); }\r\n        }\r\n\r\n        .lead {\r\n            margin-top: 14px;\r\n            font-size: 1.05rem;\r\n            color: var(--slate);\r\n            max-width: 520px;\r\n        }\r\n\r\n        .chips {\r\n            display: flex;\r\n            flex-wrap: wrap;\r\n            gap: 9px;\r\n            margin-top: 20px;\r\n        }\r\n        .chip {\r\n            display: inline-flex;\r\n            align-items: center;\r\n            gap: 7px;\r\n            background: #fff;\r\n            border: 1px solid var(--blue-100);\r\n            padding: 8px 13px;\r\n            border-radius: 11px;\r\n            font-size: .82rem;\r\n            font-weight: 600;\r\n            color: var(--blue-800);\r\n            box-shadow: var(--shadow-sm);\r\n            transition: transform .2s, box-shadow .2s, border-color .2s;\r\n        }\r\n        .chip svg {\r\n            width: 16px;\r\n            height: 16px;\r\n            color: var(--blue-500);\r\n        }\r\n        .chip:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: var(--shadow-md);\r\n            border-color: var(--blue-300);\r\n        }\r\n\r\n        .trust {\r\n            display: flex;\r\n            flex-wrap: wrap;\r\n            gap: 18px;\r\n            margin-top: 28px;\r\n        }\r\n        .trust div {\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 8px;\r\n            font-size: .82rem;\r\n            color: var(--slate);\r\n            font-weight: 500;\r\n        }\r\n        .trust svg {\r\n            width: 18px;\r\n            height: 18px;\r\n            color: #1faa6b;\r\n            flex-shrink: 0;\r\n        }\r\n\r\n        \/* ===== VISUAL ===== *\/\r\n        .visual {\r\n            position: relative;\r\n            display: grid;\r\n            place-items: center;\r\n            min-height: 380px;\r\n        }\r\n        .disc {\r\n            position: relative;\r\n            width: min(420px, 90%);\r\n            aspect-ratio: 1;\r\n            border-radius: 50%;\r\n            overflow: hidden;\r\n            box-shadow: 0 40px 70px -25px rgba(13, 79, 139, .7);\r\n            display: grid;\r\n            place-items: center;\r\n            background: #0a3666;\r\n        }\r\n        .disc img {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            object-fit: cover;\r\n            z-index: 1;\r\n        }\r\n        .disc .overlay {\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: rgba(7, 41, 74, 0.30);\r\n            z-index: 2;\r\n            border-radius: 50%;\r\n        }\r\n        .ring {\r\n            position: absolute;\r\n            border: 2px solid rgba(255, 255, 255, 0.5);\r\n            border-radius: 50%;\r\n            inset: 0;\r\n            opacity: 0;\r\n            z-index: 3;\r\n            animation: ripple 4s linear infinite;\r\n            pointer-events: none;\r\n        }\r\n        .ring:nth-child(3) { animation-delay: 1.3s; }\r\n        .ring:nth-child(4) { animation-delay: 2.6s; }\r\n        @keyframes ripple {\r\n            0%   { transform: scale(.55); opacity: .6; }\r\n            80%  { opacity: 0; }\r\n            100% { transform: scale(1.18); opacity: 0; }\r\n        }\r\n\r\n        .disc-content {\r\n            position: relative;\r\n            z-index: 4;\r\n            text-align: center;\r\n            color: #ffffff;\r\n            padding: 20px;\r\n        }\r\n        .disc-content .icon-badge {\r\n            display: inline-block;\r\n            background: rgba(255, 255, 255, 0.15);\r\n            backdrop-filter: blur(6px);\r\n            padding: 6px 16px;\r\n            border-radius: 100px;\r\n            font-family: var(--font-display);\r\n            font-weight: 700;\r\n            font-size: .7rem;\r\n            letter-spacing: .06em;\r\n            text-transform: uppercase;\r\n            color: #fff;\r\n            border: 1px solid rgba(255, 255, 255, 0.2);\r\n            margin-bottom: 10px;\r\n        }\r\n        .disc-content .big-number {\r\n            font-family: var(--font-display);\r\n            font-weight: 800;\r\n            font-size: 3.8rem;\r\n            line-height: 1;\r\n            color: #fff;\r\n            text-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);\r\n        }\r\n        .disc-content .big-number span {\r\n            font-size: 1.4rem;\r\n            font-weight: 500;\r\n            opacity: 0.8;\r\n        }\r\n        .disc-content .desc {\r\n            font-family: var(--font-body);\r\n            font-weight: 500;\r\n            font-size: .95rem;\r\n            color: rgba(255, 255, 255, 0.9);\r\n            margin-top: 4px;\r\n        }\r\n\r\n        \/* ===== FLOATING CARDS ===== *\/\r\n        .float {\r\n            position: absolute;\r\n            background: #fff;\r\n            border-radius: 14px;\r\n            padding: 12px 15px;\r\n            box-shadow: var(--shadow-md);\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 11px;\r\n            font-size: .85rem;\r\n            animation: floaty 6s ease-in-out infinite;\r\n            z-index: 10;\r\n        }\r\n        .float .fic {\r\n            width: 38px;\r\n            height: 38px;\r\n            border-radius: 10px;\r\n            display: grid;\r\n            place-items: center;\r\n            flex-shrink: 0;\r\n        }\r\n        .float b {\r\n            font-family: var(--font-display);\r\n            display: block;\r\n            font-size: 1.05rem;\r\n            color: var(--blue-900);\r\n            line-height: 1.1;\r\n        }\r\n        .float small {\r\n            color: var(--slate);\r\n            font-size: .74rem;\r\n        }\r\n        @keyframes floaty {\r\n            0%, 100% { transform: translateY(0); }\r\n            50% { transform: translateY(-12px); }\r\n        }\r\n        .float.one {\r\n            top: 6%;\r\n            left: -4%;\r\n            animation-delay: .2s;\r\n        }\r\n        .float.one .fic {\r\n            background: #fff3df;\r\n            color: var(--orange-dark);\r\n        }\r\n        .float.two {\r\n            bottom: 10%;\r\n            right: -6%;\r\n            animation-delay: 1.6s;\r\n        }\r\n        .float.two .fic {\r\n            background: var(--blue-50);\r\n            color: var(--blue-700);\r\n        }\r\n\r\n        \/* ===== WAVES ===== *\/\r\n        .waves {\r\n            position: absolute;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: 0;\r\n            line-height: 0;\r\n            z-index: 1;\r\n            pointer-events: none;\r\n        }\r\n        .waves svg {\r\n            display: block;\r\n            width: 100%;\r\n            height: 120px;\r\n        }\r\n        .wave-back use { animation: wavemove 11s linear infinite; opacity: .55; }\r\n        .wave-mid use { animation: wavemove 8s linear infinite reverse; opacity: .8; }\r\n        .wave-front use { animation: wavemove 6s linear infinite; }\r\n        @keyframes wavemove {\r\n            0%   { transform: translateX(0); }\r\n            100% { transform: translateX(-50%); }\r\n        }\r\n\r\n        \/* ===== REVEAL ===== *\/\r\n        .reveal {\r\n            opacity: 0;\r\n            transform: translateY(22px);\r\n            animation: rise .7s cubic-bezier(.2, .7, .3, 1) forwards;\r\n        }\r\n        .d1 { animation-delay: .05s; }\r\n        .d2 { animation-delay: .16s; }\r\n        .d3 { animation-delay: .27s; }\r\n        .d4 { animation-delay: .38s; }\r\n        .d5 { animation-delay: .49s; }\r\n        .reveal-r {\r\n            opacity: 0;\r\n            transform: scale(.94);\r\n            animation: pop .8s .3s cubic-bezier(.2, .7, .3, 1) forwards;\r\n        }\r\n        @keyframes rise {\r\n            to { opacity: 1; transform: translateY(0); }\r\n        }\r\n        @keyframes pop {\r\n            to { opacity: 1; transform: scale(1); }\r\n        }\r\n        @media(prefers-reduced-motion:reduce) {\r\n            * { animation: none !important; transition: none !important; }\r\n            .reveal, .reveal-r { opacity: 1; transform: none; }\r\n            h1 .accent::after { transform: scaleX(1); }\r\n        }\r\n\r\n        \/* ============================================================\r\n           RESPONSIVE \u2014 OPTIMIS\u00c9 POUR MOBILE\r\n           ============================================================ *\/\r\n        @media(max-width:940px) {\r\n            .hero-inner {\r\n                grid-template-columns: 1fr;\r\n                padding: 20px 20px 120px;\r\n                gap: 30px;\r\n            }\r\n        }\r\n\r\n        @media(max-width:640px) {\r\n            .hero-inner {\r\n                padding: 16px 16px 100px;\r\n                gap: 20px;\r\n            }\r\n\r\n            .disc {\r\n                width: min(360px, 92%);\r\n            }\r\n\r\n            .disc-content .big-number {\r\n                font-size: 2.6rem;\r\n            }\r\n            .disc-content .big-number span {\r\n                font-size: 1rem;\r\n            }\r\n            .disc-content .desc {\r\n                font-size: .75rem;\r\n            }\r\n            .disc-content .icon-badge {\r\n                font-size: .55rem;\r\n                padding: 4px 10px;\r\n            }\r\n\r\n            h1 {\r\n                font-size: clamp(1.4rem, 5vw, 1.9rem);\r\n            }\r\n            .lead {\r\n                font-size: .92rem;\r\n                max-width: 100%;\r\n            }\r\n            .chip {\r\n                font-size: .72rem;\r\n                padding: 6px 10px;\r\n            }\r\n            .trust div {\r\n                font-size: .72rem;\r\n                gap: 5px;\r\n            }\r\n\r\n            .float.one {\r\n                top: 4%;\r\n                left: 0;\r\n                padding: 8px 12px;\r\n            }\r\n            .float.two {\r\n                bottom: 6%;\r\n                right: 0;\r\n                padding: 8px 12px;\r\n            }\r\n            .float .fic {\r\n                width: 28px;\r\n                height: 28px;\r\n            }\r\n            .float b {\r\n                font-size: .8rem;\r\n            }\r\n            .float small {\r\n                font-size: .6rem;\r\n            }\r\n\r\n            .waves svg {\r\n                height: 60px;\r\n            }\r\n        }\r\n\r\n        @media(max-width:400px) {\r\n            .hero-inner {\r\n                padding: 12px 12px 80px;\r\n                gap: 16px;\r\n            }\r\n\r\n            .disc {\r\n                width: min(300px, 90%);\r\n            }\r\n\r\n            .disc-content .big-number {\r\n                font-size: 2.2rem;\r\n            }\r\n            .disc-content .big-number span {\r\n                font-size: .85rem;\r\n            }\r\n            .disc-content .desc {\r\n                font-size: .65rem;\r\n            }\r\n            .disc-content .icon-badge {\r\n                font-size: .5rem;\r\n                padding: 3px 8px;\r\n            }\r\n\r\n            h1 {\r\n                font-size: clamp(1.2rem, 4.5vw, 1.6rem);\r\n            }\r\n            .lead {\r\n                font-size: .82rem;\r\n            }\r\n            .chip {\r\n                font-size: .65rem;\r\n                padding: 4px 8px;\r\n            }\r\n            .trust div {\r\n                font-size: .65rem;\r\n                gap: 4px;\r\n            }\r\n\r\n            .float.one, .float.two {\r\n                padding: 5px 10px;\r\n                gap: 6px;\r\n            }\r\n            .float b {\r\n                font-size: .7rem;\r\n            }\r\n            .float small {\r\n                font-size: .55rem;\r\n            }\r\n            .float .fic {\r\n                width: 24px;\r\n                height: 24px;\r\n            }\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n\r\n    <!-- ==========================================================\r\n    HERO \u2013 Installation de station d'\u00e9puration (micro-station)\r\n    ========================================================== -->\r\n    <header class=\"hero\">\r\n        <div class=\"hero-inner\">\r\n\r\n            <!-- ===== CONTENU GAUCHE ===== -->\r\n            <div class=\"content\">\r\n                <h1 class=\"reveal d2\">\r\n                    <strong>Installation de station<\/strong><br \/>\r\n                    <span class=\"accent\">d'\u00e9puration<\/span> en \u00cele-de-France\r\n                <\/h1>\r\n\r\n                <p class=\"lead reveal d3\">\r\n                    <strong>Sp\u00e9cialiste de l'installation de station d'\u00e9puration<\/strong> \u00e0 Paris et en \u00cele-de-France.\r\n                    <strong>Pose de micro-station d'assainissement<\/strong> pour le traitement des eaux us\u00e9es,\r\n                    <strong>mise en conformit\u00e9<\/strong>, <strong>remplacement de fili\u00e8res<\/strong> et <strong>entretien<\/strong>.\r\n                    Nous intervenons pour <strong>particuliers, copropri\u00e9t\u00e9s, restaurants, h\u00f4tels, campings<\/strong> et <strong>collectivit\u00e9s<\/strong>.\r\n                    <strong>Devis gratuit<\/strong> et <strong>intervention rapide<\/strong>.\r\n                <\/p>\r\n\r\n                <!-- CHIPS -->\r\n                <div class=\"chips reveal d4\">\r\n                    <span class=\"chip\">\r\n                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M3 12h6l2 5 4-12 2 7h4\"\/><\/svg>\r\n                        Installation micro-station\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                        Traitement des eaux us\u00e9es\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\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>ANC \/ assainissement non collectif<\/strong>\r\n                    <\/span>\r\n                <\/div>\r\n\r\n                <!-- TRUST -->\r\n                <div class=\"trust reveal d5\">\r\n                    <div><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><strong>Devis gratuit<\/strong><\/div>\r\n                    <div><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><strong>Intervention 24h\/24 \u2013 7j\/7<\/strong><\/div>\r\n                    <div><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg>Garantie 5 ans<\/div>\r\n                    <div><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg>Normes DTU \/ environnement<\/div>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- ===== VISUEL DROIT ===== -->\r\n            <div class=\"visual reveal-r\">\r\n                <div class=\"disc\">\r\n                    <img decoding=\"async\"\r\n                        src=\"https:\/\/btplus.fr\/wp-content\/uploads\/2021\/08\/mircro-station-depuration-2.jpg\"\r\n                        alt=\"Installation d'une station d'\u00e9puration (micro-station) 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 2L2 7l10 5 10-5-10-5z\"\/>\r\n                                <path d=\"M2 17l10 5 10-5\"\/>\r\n                                <path d=\"M2 12l10 5 10-5\"\/>\r\n                            <\/svg>\r\n                            Micro\u2011station d'\u00e9puration\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>Pose et mise en service<\/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 2 jours<\/b><small>d\u00e9lai d'installation<\/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>150+<\/b><small>stations install\u00e9es<\/small><\/span>\r\n                <\/div>\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n        <!-- Vagues -->\r\n        <div class=\"waves\" aria-hidden=\"true\">\r\n            <svg viewBox=\"0 24 150 28\" preserveAspectRatio=\"none\">\r\n                <defs>\r\n                    <path id=\"w\" d=\"M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z\" \/>\r\n                <\/defs>\r\n                <g class=\"wave-back\"><use href=\"#w\" x=\"0\" fill=\"#d6ebfb\"\/><use href=\"#w\" x=\"176\" fill=\"#d6ebfb\"\/><\/g>\r\n                <g class=\"wave-mid\"><use href=\"#w\" x=\"0\" fill=\"#a9d4f3\"\/><use href=\"#w\" x=\"176\" fill=\"#a9d4f3\"\/><\/g>\r\n                <g class=\"wave-front\"><use href=\"#w\" x=\"0\" fill=\"#ffffff\"\/><use href=\"#w\" x=\"176\" fill=\"#ffffff\"\/><\/g>\r\n            <\/svg>\r\n        <\/div>\r\n    <\/header>\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2372e63 e-con-full e-flex e-con e-parent\" data-id=\"2372e63\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7b7eb04 elementor-widget elementor-widget-html\" data-id=\"7b7eb04\" 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 Installation de station d'\u00e9puration (micro-station)\r\n     Adapt\u00e9 depuis la section \"Regard d'assainissement\"\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-epuration {\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-epuration *,.btp-epuration *::before,.btp-epuration *::after{box-sizing:border-box}\r\n.btp-epuration h2,.btp-epuration h3,.btp-epuration h4,.btp-epuration p{margin:0}\r\n.btp-epuration .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-epuration .hd{text-align:center;margin-bottom:48px}\r\n.btp-epuration .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-epuration .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-epuration .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-epuration .hd h2 em{font-style:normal;color:var(--or)}\r\n.btp-epuration .hd .lead{margin-top:14px;font-size:1.05rem;color:var(--slate);max-width:620px;margin-left:auto;margin-right:auto}\r\n.btp-epuration .hd .lead strong{color:var(--b700);font-weight:600}\r\n\r\n\/* ---------- KPI mini ---------- *\/\r\n.btp-epuration .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-epuration .kpi-row{grid-template-columns:1fr 1fr}}\r\n.btp-epuration .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-epuration .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-epuration .kpi-item .num small{font-size:.9rem;font-weight:600;color:var(--slate)}\r\n.btp-epuration .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-epuration .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-epuration .grid{grid-template-columns:1fr}}\r\n\r\n.btp-epuration .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-epuration .card:hover,\r\n.btp-epuration .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-epuration .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-epuration .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-epuration .card-badge.green{background:var(--green-bg);color:#065f46}\r\n.btp-epuration .card-badge.red{background:var(--red-bg);color:#991b1b}\r\n.btp-epuration .card-badge.orange{background:#fef3c7;color:#b45309}\r\n.btp-epuration .card-badge.gray{background:#f3f4f6;color:#6b7280}\r\n\r\n.btp-epuration .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-epuration .card-desc strong{color:var(--b700);font-weight:600}\r\n\r\n.btp-epuration .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-epuration .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-epuration .cta-red{\r\n  display:flex;\r\n  justify-content:center;\r\n  margin-top:44px;\r\n}\r\n.btp-epuration .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-epuration .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-epuration .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-epuration .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-epuration .waves svg{display:block;width:100%;height:90px}\r\n.btp-epuration .w-back use{animation:srvWave 12s linear infinite;opacity:.5}\r\n.btp-epuration .w-mid use{animation:srvWave 9s linear infinite reverse;opacity:.8}\r\n.btp-epuration .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-epuration .rv{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}\r\n.btp-epuration .rv.shown{opacity:1;transform:none}\r\n\r\n@media(prefers-reduced-motion:reduce){\r\n  .btp-epuration *{animation:none!important;transition:none!important}\r\n  .btp-epuration .rv{opacity:1;transform:none}\r\n}\r\n<\/style>\r\n\r\n<section class=\"btp-epuration\">\r\n  <div class=\"wrap\">\r\n\r\n    <!-- ==========================================================\r\n         EN-T\u00caTE \u2014 SEO enrichi (Station d'\u00e9puration \/ micro-station)\r\n         ========================================================== -->\r\n    <header class=\"hd\">\r\n      <span class=\"pill rv\"><span class=\"dot\"><\/span><strong>Installation de station d'\u00e9puration<\/strong> Urgence 24h\/24<\/span>\r\n      <h2 class=\"rv\"><strong>Installation de station<\/strong> <strong>d'\u00e9puration<\/strong> \u2013 <em>notre expertise<\/em><\/h2>\r\n      <p class=\"lead rv\">\r\n        <strong>Installation de micro-station d'\u00e9puration<\/strong> et <strong>remplacement de fili\u00e8re d'assainissement<\/strong> pour tous types de biens : maisons individuelles, copropri\u00e9t\u00e9s, restaurants, h\u00f4tels, campings, collectivit\u00e9s. <strong>Entreprise sp\u00e9cialis\u00e9e<\/strong> en <strong>\u00cele-de-France<\/strong>,\r\n        nous r\u00e9alisons la <strong>pose de station d'\u00e9puration compacte (PEHD ou b\u00e9ton)<\/strong>, le <strong>raccordement des canalisations<\/strong>,\r\n        la <strong>mise en service<\/strong> et la <strong>mise en conformit\u00e9<\/strong> pour <strong>particuliers<\/strong>, <strong>copropri\u00e9t\u00e9s<\/strong>,\r\n        <strong>restaurants<\/strong>, <strong>h\u00f4tels<\/strong>, <strong>campings<\/strong> et <strong>collectivit\u00e9s<\/strong>.\r\n        <strong>Devis 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 \u00e0 la station d'\u00e9puration)\r\n         ========================================================== -->\r\n    <div class=\"kpi-row rv\">\r\n      <div class=\"kpi-item\">\r\n        <div class=\"num\">15 <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 installation 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\">Traitement conforme<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- ==========================================================\r\n         GRILLE SERVICES \u2014 4 cartes (adapt\u00e9es \u00e0 la station d'\u00e9puration)\r\n         ========================================================== -->\r\n    <div class=\"grid rv\">\r\n\r\n      <!-- 1. R\u00f4le de la station d'\u00e9puration -->\r\n      <div class=\"card active\">\r\n        <div class=\"card-title\">R\u00f4le de la <strong style=\"color:var(--or);\">station d'\u00e9puration<\/strong><\/div>\r\n        <span class=\"card-badge green\">Traitement des eaux us\u00e9es<\/span>\r\n        <div class=\"card-desc\">\r\n          <strong>Le r\u00f4le principal d'une station d'\u00e9puration<\/strong> est de traiter les eaux us\u00e9es domestiques ou industrielles pour les restituer \u00e0 l'environnement dans le respect des normes. Nos techniciens sp\u00e9cialis\u00e9s dans l'<strong>installation de micro-stations en \u00cele-de-France<\/strong> interviennent avec des mat\u00e9riaux certifi\u00e9s (PEHD, b\u00e9ton) et des techniques de pose pr\u00e9cises. <strong>Entreprise de traitement agr\u00e9\u00e9e<\/strong> \u2013 <strong>performance<\/strong> et conformit\u00e9 aux normes environnementales.\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span><strong>Installation professionnelle<\/strong><\/span>\r\n          <span><strong>Mat\u00e9riaux certifi\u00e9s<\/strong><\/span>\r\n          <span>Traitement conforme<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- 2. Causes de remplacement \/ v\u00e9tust\u00e9 -->\r\n      <div class=\"card\">\r\n        <div class=\"card-title\">Pourquoi remplacer une station ? \u2013 <strong style=\"color:var(--or);\">diagnostic<\/strong><\/div>\r\n        <span class=\"card-badge red\">\u00c0 remplacer<\/span>\r\n        <div class=\"card-desc\">\r\n          <strong>Les principales causes de remplacement :<\/strong> fili\u00e8re obsol\u00e8te (fosse toutes eaux ou ancienne micro-station), non-conformit\u00e9 r\u00e9glementaire, sous-dimensionnement, dysfonctionnement (mauvais traitement, rejets polluants), fissures ou infiltrations, panne des composants \u00e9lectrom\u00e9caniques (compresseur, pompe). Un <strong>diagnostic de station<\/strong> pr\u00e9cis permet de d\u00e9terminer la solution de <strong>remplacement<\/strong> la plus adapt\u00e9e (mod\u00e8le plus r\u00e9cent, dimensionnement revu).\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span>Fili\u00e8re obsol\u00e8te<\/span>\r\n          <span>Non-conformit\u00e9<\/span>\r\n          <span>Sous-dimensionnement<\/span>\r\n          <span>Panne \u00e9lectrom\u00e9canique<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- 3. Intervention d'urgence -->\r\n      <div class=\"card\">\r\n        <div class=\"card-title\"><strong style=\"color:var(--or);\">Intervention urgente<\/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 station d'\u00e9puration hors service.<\/strong> Notre \u00e9quipe se d\u00e9place chez vous sous 1h pour r\u00e9aliser un diagnostic et proc\u00e9der au <strong>d\u00e9pannage ou au remplacement de la station<\/strong> dans les plus brefs d\u00e9lais. Nous utilisons des solutions de d\u00e9pannage rapides (pompage, r\u00e9paration de compresseur) pour limiter les nuisances. <strong>Urgence assainissement 24h\/24<\/strong> disponible pour vos sinistres.\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span><strong>D\u00e9pannage d'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. Installation pr\u00e9ventive \/ conformit\u00e9 -->\r\n      <div class=\"card\">\r\n        <div class=\"card-title\"><strong style=\"color:var(--or);\">Installation pr\u00e9ventive<\/strong> \u2013 mise en conformit\u00e9<\/div>\r\n        <span class=\"card-badge orange\">Travaux neufs<\/span>\r\n        <div class=\"card-desc\">\r\n          <strong>Anticipez les besoins de votre habitation ou de votre activit\u00e9.<\/strong> La <strong>pose pr\u00e9ventive d'une micro-station<\/strong> permet de garantir un traitement efficace des eaux us\u00e9es et de se mettre en conformit\u00e9 avec les exigences r\u00e9glementaires (arr\u00eat\u00e9 du 7 septembre 2009 pour l'assainissement non collectif). Id\u00e9al pour <strong>particuliers<\/strong>, <strong>copropri\u00e9t\u00e9s<\/strong>, <strong>restaurants<\/strong>, <strong>h\u00f4tels<\/strong>, <strong>campings<\/strong>, <strong>collectivit\u00e9s<\/strong>. Nous assurons \u00e9galement la <strong>mise en conformit\u00e9<\/strong> des stations existantes.\r\n        <\/div>\r\n        <div class=\"card-tags\">\r\n          <span><strong>Installation pr\u00e9ventive<\/strong><\/span>\r\n          <span><strong>Mise en conformit\u00e9<\/strong><\/span>\r\n          <span>Stations PEHD \/ b\u00e9ton<\/span>\r\n          <span>Durable<\/span>\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <!-- ==========================================================\r\n         CTA ROUGE AVEC NUM\u00c9RO EN BLANC\r\n         ========================================================== -->\r\n    <div class=\"cta-red rv\">\r\n      <a href=\"tel:0186957777\" class=\"btn-urgence\">\r\n        <span>\r\n          01 86 95 77 77\r\n          <span class=\"label\">Urgence 24h\/24 \u2013 7j\/7<\/span>\r\n        <\/span>\r\n      <\/a>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n  <!-- Vagues -->\r\n  <div class=\"waves\" aria-hidden=\"true\">\r\n    <svg viewBox=\"0 24 150 28\" preserveAspectRatio=\"none\">\r\n      <defs><path id=\"srvWaveP\" d=\"M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z\"\/><\/defs>\r\n      <g class=\"w-back\"><use href=\"#srvWaveP\" x=\"0\" fill=\"#d6ebfb\"\/><use href=\"#srvWaveP\" x=\"176\" fill=\"#d6ebfb\"\/><\/g>\r\n      <g class=\"w-mid\"><use href=\"#srvWaveP\" x=\"0\" fill=\"#a9d4f3\"\/><use href=\"#srvWaveP\" x=\"176\" fill=\"#a9d4f3\"\/><\/g>\r\n      <g class=\"w-front\"><use href=\"#srvWaveP\" x=\"0\" fill=\"#ffffff\"\/><use href=\"#srvWaveP\" x=\"176\" fill=\"#ffffff\"\/><\/g>\r\n    <\/svg>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n  'use strict';\r\n\r\n  const section = document.querySelector('.btp-epuration');\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-04b9616 e-con-full e-flex e-con e-parent\" data-id=\"04b9616\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-eee817a elementor-widget elementor-widget-html\" data-id=\"eee817a\" 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 Installation d'une micro-station d'\u00e9puration<\/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 \"Installation d'une micro-station d'\u00e9puration\"\r\n     Version 2 \u2014 parcours toujours lisible + l\u00e9gendes permanentes + mobile agrandi\r\n     ============================================================ -->\r\n\r\n<style>\r\n.bt-epuration-immersif * { margin:0; padding:0; box-sizing:border-box; }\r\n.bt-epuration-immersif { font-family:'Inter',sans-serif; background:#fff; color:#0a1a2b; line-height:1.6; overflow-x:hidden; }\r\n.bt-epuration-immersif .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-epuration-immersif .waves { position:absolute; left:0; right:0; bottom:0; line-height:0; z-index:0; pointer-events:none; }\r\n.bt-epuration-immersif .waves svg { display:block; width:100%; height:100px; }\r\n.bt-epuration-immersif .waves .wave-back use { animation: bt-wavemove 11s linear infinite; opacity:.55; }\r\n.bt-epuration-immersif .waves .wave-mid use { animation: bt-wavemove 8s linear infinite reverse; opacity:.8; }\r\n.bt-epuration-immersif .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-epuration-immersif .container { max-width:1200px; width:100%; margin:0 auto; padding:0 20px; position:relative; z-index:10; }\r\n\r\n.bt-epuration-immersif .header { text-align:center; max-width:880px; margin:0 auto 2.5rem; }\r\n.bt-epuration-immersif .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-epuration-immersif .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-epuration-immersif .title { font-family:'Sora',sans-serif; font-weight:800; font-size:clamp(2.2rem,4.2vw,3.4rem); letter-spacing:-.03em; color:#07294a; line-height:1.1; margin-bottom:.6rem; }\r\n.bt-epuration-immersif .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-epuration-immersif .subtitle { font-weight:400; font-size:clamp(1rem,1.2vw,1.15rem); color:#6b7f94; max-width:720px; margin:0 auto; line-height:1.7; }\r\n.bt-epuration-immersif .subtitle strong { color:#07294a; font-weight:600; }\r\n\r\n.bt-epuration-immersif .scene {\r\n  width:100%; max-width:1140px; margin:0 auto; position:relative; background:rgba(255,255,255,.6);\r\n  border-radius:32px; padding:24px 20px 8px; backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.5);\r\n  box-shadow:0 12px 60px rgba(7,41,74,.06); transition:box-shadow .4s ease;\r\n}\r\n.bt-epuration-immersif .scene:hover { box-shadow:0 16px 80px rgba(7,41,74,.10); }\r\n.bt-epuration-immersif .scene svg { display:block; width:100%; height:auto; max-height:640px; overflow:visible; }\r\n.bt-epuration-immersif .scene-scroll { width:100%; }\r\n.bt-epuration-immersif .scroll-hint { display:none; text-align:center; font-size:.72rem; color:#6b7f94; margin-top:6px; }\r\n\r\n.bt-epuration-immersif .step-zone { cursor:pointer; transition:filter .3s ease; }\r\n.bt-epuration-immersif .step-zone:hover { filter:drop-shadow(0 0 24px rgba(244,166,26,.45)); }\r\n.bt-epuration-immersif .step-zone.active { filter:drop-shadow(0 0 34px rgba(244,166,26,.65)); }\r\n.bt-epuration-immersif .step-zone .step-num { transition: transform .3s ease; }\r\n.bt-epuration-immersif .step-zone.active .step-num,\r\n.bt-epuration-immersif .step-zone:hover .step-num { transform: scale(1.12); }\r\n\r\n.bt-epuration-immersif .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-epuration-immersif .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-epuration-immersif .step-caption { font-family:'Inter',sans-serif; pointer-events:none; }\r\n.bt-epuration-immersif .step-caption .cap-title { font-weight:700; font-family:'Sora',sans-serif; }\r\n\r\n.bt-epuration-immersif .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-epuration-immersif .tooltip.visible { opacity:1; transform:translateY(0) scale(1); display:block; }\r\n.bt-epuration-immersif .tooltip strong { color:#f4a61a; display:block; font-size:1.05rem; margin-bottom:4px; font-family:'Sora',sans-serif; }\r\n\r\n.bt-epuration-immersif .steps-bar { display:flex; justify-content:center; gap:18px; margin-top:20px; flex-wrap:wrap; }\r\n.bt-epuration-immersif .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-epuration-immersif .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-epuration-immersif .step-dot.done { background:#1c7ec9; opacity:.5; }\r\n.bt-epuration-immersif .step-dot:hover { transform:scale(1.15); background:rgba(244,166,26,.3); }\r\n\r\n.bt-epuration-immersif .recap { max-width:1000px; margin:2.2rem auto 0; display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }\r\n.bt-epuration-immersif .recap .card {\r\n  background:rgba(255,255,255,.7); border:1px solid rgba(7,41,74,.08); border-radius:14px; padding:12px 10px;\r\n  text-align:center; transition:transform .25s ease, box-shadow .25s ease; cursor:pointer;\r\n}\r\n.bt-epuration-immersif .recap .card:hover, .bt-epuration-immersif .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-epuration-immersif .recap .card .n {\r\n  width:26px; height:26px; border-radius:50%; background:#f4a61a; color:#fff; font-family:'Sora',sans-serif;\r\n  font-weight:800; font-size:.8rem; display:flex; align-items:center; justify-content:center; margin:0 auto 6px;\r\n}\r\n.bt-epuration-immersif .recap .card .t { font-family:'Sora',sans-serif; font-weight:700; font-size:.78rem; color:#07294a; }\r\n\r\n@media (max-width:992px){\r\n  .bt-epuration-immersif .wrapper{padding:2rem 3% 3rem;}\r\n  .bt-epuration-immersif .recap{grid-template-columns:repeat(3,1fr);}\r\n}\r\n@media (max-width:768px){\r\n  .bt-epuration-immersif .wrapper{padding:1.25rem 0 2.5rem;}\r\n  .bt-epuration-immersif .scene{padding:10px 0;border-radius:20px;}\r\n  .bt-epuration-immersif .title{font-size:26px;padding:0 1.25rem;}\r\n  .bt-epuration-immersif .subtitle{font-size:14px;padding:0 1.25rem;}\r\n  .bt-epuration-immersif .badge{font-size:.65rem;padding:.3rem 1.2rem .3rem .8rem;}\r\n  .bt-epuration-immersif .step-dot{width:14px;height:14px;}\r\n  .bt-epuration-immersif .tooltip{max-width:210px;font-size:.85rem;padding:12px 16px;}\r\n\r\n  \/* le dessin est trop large pour tenir en entier et rester lisible :\r\n     on l'affiche \u00e0 une taille fixe plus grande et on laisse d\u00e9filer horizontalement *\/\r\n  .bt-epuration-immersif .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-epuration-immersif .scene svg{ width:820px; max-width:none; flex-shrink:0; }\r\n  .bt-epuration-immersif .scroll-hint{ display:block; }\r\n  .bt-epuration-immersif .recap{grid-template-columns:repeat(3,1fr); padding:0 1.25rem;}\r\n}\r\n@media (max-width:480px){\r\n  .bt-epuration-immersif .recap{grid-template-columns:repeat(2,1fr);}\r\n}\r\n<\/style>\r\n\r\n<section class=\"bt-epuration-immersif\">\r\n  <div class=\"wrapper\">\r\n    <div class=\"container\">\r\n      <div class=\"header\">\r\n        <span class=\"badge\"><span class=\"dot\"><\/span> Installation de station d'\u00e9puration<\/span>\r\n        <h2 class=\"title\">Comprendre la <span class=\"highlight\">pose d'une micro-station d'\u00e9puration<\/span><\/h2>\r\n        <p class=\"subtitle\">\r\n          De l'<strong>\u00e9tude du projet<\/strong> \u00e0 la <strong>remise en \u00e9tat des surfaces<\/strong>, d\u00e9couvrez\r\n          les 6 \u00e9tapes de l'installation, de l'\u00e9tude \u00e0 la mise en service \u2014 cliquez sur un rep\u00e8re ou faites\r\n          d\u00e9filer la molette.\r\n        <\/p>\r\n      <\/div>\r\n\r\n      <div class=\"scene\" id=\"sceneContainer\">\r\n       <div class=\"scene-scroll\">\r\n        <svg id=\"sceneSvg\" viewBox=\"0 0 1100 380\" preserveAspectRatio=\"xMidYMid meet\">\r\n          <defs>\r\n            <linearGradient id=\"skyGrad\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\r\n              <stop offset=\"0%\" stop-color=\"#eef6fc\" \/><stop offset=\"100%\" stop-color=\"#d6ebfb\" \/>\r\n            <\/linearGradient>\r\n            <linearGradient id=\"groundGrad\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\r\n              <stop offset=\"0%\" stop-color=\"#8a9a6a\" stop-opacity=\"0.15\" \/><stop offset=\"100%\" stop-color=\"#4a5a3a\" stop-opacity=\"0.3\" \/>\r\n            <\/linearGradient>\r\n            <filter id=\"glow\"><feGaussianBlur stdDeviation=\"4\" result=\"blur\" \/><feMerge><feMergeNode in=\"blur\" \/><feMergeNode in=\"SourceGraphic\" \/><\/feMerge><\/filter>\r\n          <\/defs>\r\n\r\n          <rect width=\"1100\" height=\"380\" fill=\"url(#skyGrad)\" \/>\r\n          <rect x=\"0\" y=\"240\" width=\"1100\" height=\"140\" fill=\"url(#groundGrad)\" \/>\r\n\r\n          <!-- ligne de parcours continue reliant les 6 \u00e9tapes -->\r\n          <path d=\"M110 300 L950 300\" stroke=\"#c7d6e2\" stroke-width=\"3\" stroke-dasharray=\"2 8\" stroke-linecap=\"round\" \/>\r\n\r\n          <!-- zone commune de fouille -->\r\n          <rect x=\"300\" y=\"255\" width=\"620\" height=\"55\" fill=\"#6a5a3a\" opacity=\".28\" rx=\"6\" \/>\r\n\r\n          <!-- ===== \u00c9TAPE 1 : \u00c9TUDE ===== -->\r\n          <g class=\"step-zone\" data-step=\"1\">\r\n            <rect x=\"55\" y=\"130\" width=\"90\" height=\"80\" fill=\"#e2d9c5\" stroke=\"#b09a80\" stroke-width=\"2\" rx=\"4\" \/>\r\n            <polygon points=\"42,130 100,72 158,130\" fill=\"#b04a3a\" stroke=\"#8a3a2a\" stroke-width=\"2\" \/>\r\n            <rect x=\"80\" y=\"165\" width=\"26\" height=\"45\" fill=\"#7a5a3a\" stroke=\"#5a3a2a\" stroke-width=\"1.5\" rx=\"2\" \/>\r\n            <rect x=\"180\" y=\"145\" width=\"38\" height=\"28\" fill=\"#fff\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" rx=\"3\" \/>\r\n            <line x1=\"188\" y1=\"152\" x2=\"210\" y2=\"152\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" \/>\r\n            <line x1=\"188\" y1=\"158\" x2=\"210\" y2=\"158\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" \/>\r\n            <circle cx=\"100\" cy=\"300\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"100\" cy=\"245\" r=\"15\" fill=\"#f4a61a\" \/>\r\n            <text x=\"100\" y=\"250\" font-size=\"14\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">1<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 2 : TERRASSEMENT ===== -->\r\n          <g class=\"step-zone\" data-step=\"2\">\r\n            <rect x=\"290\" y=\"185\" width=\"42\" height=\"34\" fill=\"#d4a030\" stroke=\"#b08020\" stroke-width=\"2\" rx=\"4\" \/>\r\n            <circle cx=\"311\" cy=\"228\" r=\"15\" fill=\"#2a2a2a\" \/><circle cx=\"311\" cy=\"228\" r=\"9\" fill=\"#4a4a4a\" \/>\r\n            <rect x=\"304\" y=\"164\" width=\"14\" height=\"20\" fill=\"#2a2a2a\" rx=\"3\" \/>\r\n            <path d=\"M318 164 L334 194 L326 202 L314 182 Z\" fill=\"#d4a030\" stroke=\"#b08020\" stroke-width=\"2\" \/>\r\n            <circle class=\"particle\" cx=\"315\" cy=\"255\" r=\"4\" fill=\"#6a4a2a\" opacity=\".6\">\r\n              <animate attributeName=\"cy\" from=\"255\" to=\"300\" dur=\"4s\" repeatCount=\"indefinite\" \/>\r\n              <animate attributeName=\"opacity\" from=\".6\" to=\"0\" dur=\"4s\" repeatCount=\"indefinite\" \/>\r\n            <\/circle>\r\n            <circle cx=\"311\" cy=\"300\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"311\" cy=\"245\" r=\"15\" fill=\"#f4a61a\" \/>\r\n            <text x=\"311\" y=\"250\" font-size=\"14\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">2<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 3 : POSE STATION (cuve \u00e0 3 compartiments) ===== -->\r\n          <g class=\"step-zone\" data-step=\"3\">\r\n            <rect x=\"430\" y=\"298\" width=\"80\" height=\"8\" fill=\"#f4c060\" opacity=\".8\" rx=\"2\" \/>\r\n            <rect x=\"435\" y=\"270\" width=\"70\" height=\"30\" fill=\"#6a8a6a\" stroke=\"#4a6a4a\" stroke-width=\"2\" rx=\"5\" \/>\r\n            <rect x=\"435\" y=\"270\" width=\"70\" height=\"8\" fill=\"#8aaa8a\" stroke=\"#4a6a4a\" stroke-width=\"1.5\" rx=\"3\" \/>\r\n            <circle cx=\"452\" cy=\"288\" r=\"3.5\" fill=\"#fff\" opacity=\".7\" \/>\r\n            <circle cx=\"470\" cy=\"288\" r=\"3.5\" fill=\"#fff\" opacity=\".7\" \/>\r\n            <circle cx=\"488\" cy=\"288\" r=\"3.5\" fill=\"#fff\" opacity=\".7\" \/>\r\n            <path d=\"M400 288 L435 288\" stroke=\"#1c7ec9\" stroke-width=\"5\" \/>\r\n            <path d=\"M505 288 L540 288\" stroke=\"#1c7ec9\" stroke-width=\"5\" \/>\r\n            <circle class=\"particle\" cx=\"410\" cy=\"288\" r=\"5\" fill=\"#4ac0e0\" filter=\"url(#glow)\">\r\n              <animate attributeName=\"cx\" from=\"400\" to=\"435\" dur=\"3s\" repeatCount=\"indefinite\" \/>\r\n              <animate attributeName=\"opacity\" from=\"0\" to=\".9\" dur=\".5s\" repeatCount=\"indefinite\" \/>\r\n            <\/circle>\r\n            <circle cx=\"470\" cy=\"300\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"470\" cy=\"245\" r=\"15\" fill=\"#f4a61a\" \/>\r\n            <text x=\"470\" y=\"250\" font-size=\"14\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">3<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 4 : RACCORDEMENTS ===== -->\r\n          <g class=\"step-zone\" data-step=\"4\">\r\n            <path d=\"M560 288 L620 288 L650 282\" stroke=\"#1c7ec9\" stroke-width=\"6\" fill=\"none\" \/>\r\n            <rect x=\"650\" y=\"273\" width=\"22\" height=\"16\" fill=\"#6a7a5a\" stroke=\"#4a5a3a\" stroke-width=\"2\" rx=\"4\" \/>\r\n            <circle cx=\"661\" cy=\"281\" r=\"3.5\" fill=\"#4ac0e0\" opacity=\".6\" \/>\r\n            <path d=\"M672 279 L710 274\" stroke=\"#1c7ec9\" stroke-width=\"6\" fill=\"none\" \/>\r\n            <circle class=\"arrow-move\" cx=\"565\" cy=\"288\" r=\"5\" fill=\"#4ac0e0\" filter=\"url(#glow)\">\r\n              <animate attributeName=\"cx\" from=\"565\" to=\"655\" dur=\"4s\" repeatCount=\"indefinite\" \/>\r\n              <animate attributeName=\"opacity\" from=\"0\" to=\".9\" dur=\".5s\" repeatCount=\"indefinite\" \/>\r\n            <\/circle>\r\n            <circle cx=\"635\" cy=\"300\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"635\" cy=\"245\" r=\"15\" fill=\"#f4a61a\" \/>\r\n            <text x=\"635\" y=\"250\" font-size=\"14\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">4<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 5 : CONTR\u00d4LES ===== -->\r\n          <g class=\"step-zone\" data-step=\"5\">\r\n            <rect x=\"790\" y=\"270\" width=\"20\" height=\"20\" fill=\"#fff\" stroke=\"#2a3a4a\" stroke-width=\"1.5\" rx=\"3\" \/>\r\n            <line x1=\"800\" y1=\"270\" x2=\"800\" y2=\"256\" stroke=\"#2a3a4a\" stroke-width=\"2\" \/>\r\n            <circle cx=\"800\" cy=\"280\" r=\"4.5\" fill=\"#10b981\" \/>\r\n            <rect x=\"790\" y=\"296\" width=\"20\" height=\"12\" fill=\"#4ac0e0\" opacity=\".45\" rx=\"2\" \/>\r\n            <circle cx=\"800\" cy=\"300\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"800\" cy=\"245\" r=\"15\" fill=\"#f4a61a\" \/>\r\n            <text x=\"800\" y=\"250\" font-size=\"14\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">5<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== \u00c9TAPE 6 : REMBLAI \/ R\u00c9FECTION ===== -->\r\n          <g class=\"step-zone\" data-step=\"6\">\r\n            <rect x=\"905\" y=\"285\" width=\"130\" height=\"10\" fill=\"#8a7a5a\" opacity=\".6\" rx=\"3\" \/>\r\n            <rect x=\"905\" y=\"296\" width=\"130\" height=\"10\" fill=\"#7a6a4a\" opacity=\".5\" rx=\"3\" \/>\r\n            <rect x=\"905\" y=\"286\" width=\"130\" height=\"2\" fill=\"#f4a61a\" opacity=\".9\" \/>\r\n            <path d=\"M905 285 Q925 273 945 285 Q965 273 985 285 Q1005 273 1025 285 L1035 285 L1035 295 L905 295 Z\" fill=\"#6a9a4a\" opacity=\".6\" \/>\r\n            <circle cx=\"970\" cy=\"300\" r=\"7\" fill=\"#fff\" stroke=\"#1c7ec9\" stroke-width=\"2\" \/>\r\n            <circle class=\"step-num\" cx=\"970\" cy=\"245\" r=\"15\" fill=\"#f4a61a\" \/>\r\n            <text x=\"970\" y=\"250\" font-size=\"14\" fill=\"#fff\" font-weight=\"800\" font-family=\"Sora,sans-serif\" text-anchor=\"middle\">6<\/text>\r\n          <\/g>\r\n\r\n          <!-- ===== L\u00c9GENDES TOUJOURS VISIBLES ===== -->\r\n          <g class=\"step-caption\" fill=\"#07294a\" text-anchor=\"middle\">\r\n            <text x=\"100\" y=\"330\" class=\"cap-title\" font-size=\"12.5\">\u00c9tude<\/text>\r\n            <text x=\"100\" y=\"345\" font-size=\"10\" fill=\"#6b7f94\">EH, type de station<\/text>\r\n\r\n            <text x=\"311\" y=\"330\" class=\"cap-title\" font-size=\"12.5\">Terrassement<\/text>\r\n            <text x=\"311\" y=\"345\" font-size=\"10\" fill=\"#6b7f94\">Ouverture de la fouille<\/text>\r\n\r\n            <text x=\"470\" y=\"330\" class=\"cap-title\" font-size=\"12.5\">Pose station<\/text>\r\n            <text x=\"470\" y=\"345\" font-size=\"10\" fill=\"#6b7f94\">Cuve PEHD ou b\u00e9ton<\/text>\r\n\r\n            <text x=\"635\" y=\"330\" class=\"cap-title\" font-size=\"12.5\">Raccordements<\/text>\r\n            <text x=\"635\" y=\"345\" font-size=\"10\" fill=\"#6b7f94\">Arriv\u00e9e, rejet, regards<\/text>\r\n\r\n            <text x=\"800\" y=\"330\" class=\"cap-title\" font-size=\"12.5\">Contr\u00f4les<\/text>\r\n            <text x=\"800\" y=\"345\" font-size=\"10\" fill=\"#6b7f94\">\u00c9tanch\u00e9it\u00e9, pompe, tests<\/text>\r\n\r\n            <text x=\"970\" y=\"330\" class=\"cap-title\" font-size=\"12.5\">Remblai<\/text>\r\n            <text x=\"970\" y=\"345\" font-size=\"10\" fill=\"#6b7f94\">Compactage, r\u00e9fection<\/text>\r\n          <\/g>\r\n        <\/svg>\r\n       <\/div>\r\n        <p class=\"scroll-hint\">\u2190 Faites glisser pour voir toutes les \u00e9tapes \u2192<\/p>\r\n        <div class=\"tooltip\" id=\"tooltip\"><\/div>\r\n      <\/div>\r\n\r\n      <div class=\"steps-bar\" id=\"stepsBar\">\r\n        <span class=\"step-dot active\" data-step=\"1\"><\/span>\r\n        <span class=\"step-dot\" data-step=\"2\"><\/span>\r\n        <span class=\"step-dot\" data-step=\"3\"><\/span>\r\n        <span class=\"step-dot\" data-step=\"4\"><\/span>\r\n        <span class=\"step-dot\" data-step=\"5\"><\/span>\r\n        <span class=\"step-dot\" data-step=\"6\"><\/span>\r\n      <\/div>\r\n\r\n      <div class=\"recap\" id=\"recap\">\r\n        <div class=\"card\" data-step=\"1\"><div class=\"n\">1<\/div><div class=\"t\">\u00c9tude<\/div><\/div>\r\n        <div class=\"card\" data-step=\"2\"><div class=\"n\">2<\/div><div class=\"t\">Terrassement<\/div><\/div>\r\n        <div class=\"card\" data-step=\"3\"><div class=\"n\">3<\/div><div class=\"t\">Pose station<\/div><\/div>\r\n        <div class=\"card\" data-step=\"4\"><div class=\"n\">4<\/div><div class=\"t\">Raccordements<\/div><\/div>\r\n        <div class=\"card\" data-step=\"5\"><div class=\"n\">5<\/div><div class=\"t\">Contr\u00f4les<\/div><\/div>\r\n        <div class=\"card\" data-step=\"6\"><div class=\"n\">6<\/div><div class=\"t\">Remblai<\/div><\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"waves\" aria-hidden=\"true\">\r\n      <svg viewBox=\"0 24 150 28\" preserveAspectRatio=\"none\">\r\n        <defs>\r\n          <path id=\"bt-w4\" d=\"M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z\" \/>\r\n        <\/defs>\r\n        <g class=\"wave-back\"><use href=\"#bt-w4\" x=\"0\" fill=\"#d6ebfb\" \/><use href=\"#bt-w4\" x=\"176\" fill=\"#d6ebfb\" \/><\/g>\r\n        <g class=\"wave-mid\"><use href=\"#bt-w4\" x=\"0\" fill=\"#a9d4f3\" \/><use href=\"#bt-w4\" x=\"176\" fill=\"#a9d4f3\" \/><\/g>\r\n        <g class=\"wave-front\"><use href=\"#bt-w4\" x=\"0\" fill=\"#ffffff\" \/><use href=\"#bt-w4\" x=\"176\" fill=\"#ffffff\" \/><\/g>\r\n      <\/svg>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n  'use strict';\r\n  const container = document.getElementById('sceneContainer');\r\n  const tooltip = document.getElementById('tooltip');\r\n  const dots = document.querySelectorAll('.step-dot');\r\n  const zones = document.querySelectorAll('.step-zone');\r\n  const cards = document.querySelectorAll('.recap .card');\r\n\r\n  const STEPS = [\r\n    { id:1, label:'\u00c9tude', desc:\"Analyse du projet (nombre d'habitants\/\u00e9quivalents-habitants), choix du type de station (PEHD ou b\u00e9ton), \u00e9tude de perm\u00e9abilit\u00e9 du sol.\" },\r\n    { id:2, label:'Terrassement', desc:\"Ouverture de la fouille \u00e0 la mini-pelle, blindage si profondeur > 1,30 m, mise \u00e0 niveau du fond et lit de sable.\" },\r\n    { id:3, label:'Pose station', desc:\"Installation de la cuve (PEHD ou b\u00e9ton) dans la fouille, v\u00e9rification du niveau, mise en place des raccords d'entr\u00e9e\/sortie.\" },\r\n    { id:4, label:'Raccordements', desc:\"Raccordement de la canalisation d'arriv\u00e9e (eaux us\u00e9es) et de la canalisation de refoulement (rejet), pose des regards de visite si n\u00e9cessaires.\" },\r\n    { id:5, label:'Contr\u00f4les', desc:\"Essai d'\u00e9tanch\u00e9it\u00e9, contr\u00f4le de l'\u00e9coulement, test de la pompe\/compresseur, v\u00e9rification du traitement (\u00e9chantillonnage).\" },\r\n    { id:6, label:'Remblai \/ r\u00e9fection', desc:\"Remblai par couches (sable, terre s\u00e9lectionn\u00e9e), compactage, pose d'un grillage avertisseur, remise en \u00e9tat des surfaces (pelouse, pav\u00e9s, enrob\u00e9).\" }\r\n  ];\r\n\r\n  let activeStep = 1, tooltipTimeout = null;\r\n\r\n  function setActive(stepId) {\r\n    activeStep = stepId;\r\n    dots.forEach(d => { const id = +d.dataset.step; d.classList.toggle('active', id===stepId); d.classList.toggle('done', id<stepId); });\r\n    zones.forEach(z => z.classList.toggle('active', +z.dataset.step === stepId));\r\n    cards.forEach(c => c.classList.toggle('active', +c.dataset.step === stepId));\r\n  }\r\n\r\n  function triggerStep(stepId, evt) {\r\n    setActive(stepId);\r\n    const step = STEPS.find(s => s.id === stepId);\r\n    if (!step) return;\r\n    const rect = container.getBoundingClientRect();\r\n    let x, y;\r\n    if (evt && evt.clientX) { x = evt.clientX - rect.left + 16; y = evt.clientY - rect.top - 10; }\r\n    else { x = rect.width\/2 - 130; y = 20; }\r\n    tooltip.innerHTML = `<strong>${step.label}<\/strong>${step.desc}`;\r\n    tooltip.style.left = x + 'px';\r\n    tooltip.style.top = y + 'px';\r\n    tooltip.classList.add('visible');\r\n    clearTimeout(tooltipTimeout);\r\n    tooltipTimeout = setTimeout(() => tooltip.classList.remove('visible'), 4200);\r\n  }\r\n\r\n  zones.forEach(el => {\r\n    el.addEventListener('mouseenter', e => triggerStep(+el.dataset.step, e));\r\n    el.addEventListener('mousemove', e => {\r\n      const rect = container.getBoundingClientRect();\r\n      tooltip.style.left = (e.clientX - rect.left + 16) + 'px';\r\n      tooltip.style.top = (e.clientY - rect.top - 10) + 'px';\r\n    });\r\n    el.addEventListener('mouseleave', () => tooltip.classList.remove('visible'));\r\n    el.addEventListener('click', e => triggerStep(+el.dataset.step, e));\r\n  });\r\n  dots.forEach(d => d.addEventListener('click', () => triggerStep(+d.dataset.step)));\r\n  cards.forEach(c => c.addEventListener('click', () => triggerStep(+c.dataset.step)));\r\n\r\n  let wheelLock = false;\r\n  window.addEventListener('wheel', e => {\r\n    if (wheelLock) return;\r\n    wheelLock = true;\r\n    setTimeout(() => wheelLock = false, 700);\r\n    const dir = e.deltaY > 0 ? 1 : -1;\r\n    const next = Math.min(Math.max(activeStep + dir, 1), STEPS.length);\r\n    if (next !== activeStep) triggerStep(next);\r\n  }, { passive: true });\r\n\r\n  setActive(1);\r\n\r\n  document.addEventListener('click', e => {\r\n    if (!container.contains(e.target) && !e.target.closest('.step-dot') && !e.target.closest('.recap .card')) {\r\n      tooltip.classList.remove('visible');\r\n    }\r\n  });\r\n})();\r\n<\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-da775c0 e-con-full e-flex e-con e-parent\" data-id=\"da775c0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-903a6a9 elementor-widget elementor-widget-html\" data-id=\"903a6a9\" 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-ef87920 e-con-full e-flex e-con e-parent\" data-id=\"ef87920\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e5d13e3 elementor-widget elementor-widget-html\" data-id=\"e5d13e3\" 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 (STATION D'\u00c9PURATION)\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 la station d'\u00e9puration -->\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 station d'\u00e9puration, 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        <!-- page actuelle : station d'\u00e9puration -->\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/station-depuration\/\" class=\"service-card actuel\">\r\n          <span class=\"badge-service badge-actuel\">Page actuelle<\/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        <a href=\"https:\/\/sci-bme.fr\/index.php\/raccordement-tout-a-legout\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Raccordement tout\u2011\u00e0\u2011l\u2019\u00e9gout\r\n          <span class=\"sous-titre\">Raccordement au r\u00e9seau public<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/raccordement-eaux-pluviales\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Raccordement eaux pluviales\r\n          <span class=\"sous-titre\">Gestion des eaux de pluie<\/span>\r\n        <\/a>\r\n        <a href=\"https:\/\/sci-bme.fr\/index.php\/raccordement-en-gargouille\/\" class=\"service-card\">\r\n          <span class=\"badge-service\">Service<\/span>\r\n          Raccordement en gargouille\r\n          <span class=\"sous-titre\">Raccordement par gargouille<\/span>\r\n        <\/a>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7bbfbe6 e-con-full e-flex e-con e-parent\" data-id=\"7bbfbe6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7f30b6b elementor-widget elementor-widget-html\" data-id=\"7f30b6b\" 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 INSTALLATION DE STATION D'\u00c9PURATION\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 l'<span class=\"highlight\">installation d'une station d'\u00e9puration<\/span><\/h2>\r\n                <p class=\"bt-faq__subtitle\">\r\n                    <strong>Installation de micro-station<\/strong>, <strong>remplacement de fili\u00e8re<\/strong>, <strong>PEHD ou b\u00e9ton<\/strong>, <strong>mise en conformit\u00e9<\/strong>, <strong>entretien<\/strong>\u2026 Retrouvez les r\u00e9ponses \u00e0 vos interrogations sur nos <strong>prestations de pose de station d'\u00e9puration<\/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>L'installation d'une station d'\u00e9puration est\u2011elle garantie ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p><strong>Oui<\/strong>, toutes nos installations de <strong>station d'\u00e9puration<\/strong> sont garanties <strong>5 ans<\/strong> (mat\u00e9riaux et main\u2011d\u2019\u0153uvre). Si un d\u00e9faut survient dans ce d\u00e9lai (fissure, infiltration, panne \u00e9lectrom\u00e9canique, probl\u00e8me d'\u00e9tanch\u00e9it\u00e9), nous intervenons <strong>sans frais suppl\u00e9mentaires<\/strong> pour assurer la p\u00e9rennit\u00e9 de votre syst\u00e8me de traitement des eaux us\u00e9es.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 2 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Intervenez\u2011vous en urgence en cas de panne de station d'\u00e9puration ?<\/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>panne de compresseur<\/strong>, de <strong>d\u00e9faut de pompe<\/strong>, de <strong>mauvais traitement<\/strong> ou de <strong>d\u00e9bordement<\/strong>, un technicien est disponible \u00e0 tout moment en <strong>\u00cele\u2011de\u2011France<\/strong> pour r\u00e9aliser un diagnostic et proc\u00e9der \u00e0 la r\u00e9paration ou au remplacement dans les meilleurs d\u00e9lais.<\/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>Quels types de stations d'\u00e9puration proposez\u2011vous (PEHD, b\u00e9ton) ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p>Nous installons et rempla\u00e7ons <strong>tous les types de micro-stations<\/strong> adapt\u00e9es \u00e0 vos besoins : <strong>stations en PEHD<\/strong> (poly\u00e9thyl\u00e8ne haute densit\u00e9, l\u00e9g\u00e8res, r\u00e9sistantes \u00e0 la corrosion, faciles \u00e0 poser), <strong>stations en b\u00e9ton<\/strong> (robustes, id\u00e9ales pour les charges lourdes et les grands d\u00e9bits) et <strong>stations \u00e0 filtre compact<\/strong>. Nous vous conseillons le mod\u00e8le le plus adapt\u00e9 \u00e0 votre nombre d'\u00e9quivalents-habitants, \u00e0 la nature de votre sol et aux exigences r\u00e9glementaires (arr\u00eat\u00e9 du 7 septembre 2009).<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 4 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Quels types de biens \u00e9quipez\u2011vous en station d'\u00e9puration ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p>Nous intervenons sur <strong>tous types de biens<\/strong> : <strong>maisons individuelles<\/strong> (assainissement non collectif), <strong>copropri\u00e9t\u00e9s<\/strong>, <strong>restaurants<\/strong>, <strong>h\u00f4tels<\/strong>, <strong>campings<\/strong>, <strong>collectivit\u00e9s<\/strong> (\u00e9coles, mairies), <strong>\u00e9tablissements de sant\u00e9<\/strong> et <strong>industries<\/strong>. Nous nous adaptons aux contraintes de chaque site (capacit\u00e9 de traitement, espace disponible, nature du sol, rejet en milieu naturel ou r\u00e9seau) pour vous proposer une <strong>solution de traitement<\/strong> durable et conforme aux <strong>normes environnementales<\/strong>.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 5 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Quel est le prix d'une installation de station d'\u00e9puration ?<\/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 : <strong>type de station<\/strong> choisi (PEHD, b\u00e9ton), <strong>capacit\u00e9<\/strong> (nombre d'\u00e9quivalents-habitants), <strong>profondeur de la fouille<\/strong>, <strong>complexit\u00e9 du raccordement<\/strong> aux canalisations existantes, <strong>nature du terrain<\/strong> (n\u00e9cessit\u00e9 d'une dalle b\u00e9ton ou non) et <strong>type de finitions<\/strong> (remise en \u00e9tat du sol). Nous vous fournissons un <strong>devis gratuit<\/strong> et d\u00e9taill\u00e9 apr\u00e8s une <strong>\u00e9tude personnalis\u00e9e<\/strong> de votre besoin, tenant compte du nombre d'utilisateurs et des caract\u00e9ristiques de votre terrain.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 6 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Comment savoir si ma station d'\u00e9puration doit \u00eatre remplac\u00e9e ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p>Plusieurs signes doivent vous alerter : <strong>mauvais traitements<\/strong> (eaux troubles, odeurs), <strong>fissures dans la cuve<\/strong>, <strong>infiltrations<\/strong> ou remont\u00e9es d'eau, <strong>panne r\u00e9p\u00e9t\u00e9e du compresseur ou de la pompe<\/strong>, <strong>fili\u00e8re obsol\u00e8te<\/strong> (ancienne fosse toutes eaux), <strong>non-conformit\u00e9 r\u00e9glementaire<\/strong> (rejet non conforme), ou <strong>sous-dimensionnement<\/strong> suite \u00e0 une extension de l'habitation. Nous r\u00e9alisons un <strong>diagnostic complet<\/strong> de votre installation et vous recommandons la solution la plus adapt\u00e9e (r\u00e9paration ou remplacement).<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 7 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Intervenez\u2011vous chez les professionnels 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 de l'<strong>installation de stations d'\u00e9puration pour les professionnels<\/strong> : restaurants, h\u00f4tels, campings, \u00e9tablissements de sant\u00e9, \u00e9coles, collectivit\u00e9s et industries agroalimentaires. Nous assurons des <strong>interventions rapides<\/strong> pour limiter l'impact sur votre activit\u00e9 (pose en dehors des heures d'ouverture possible) et proposons des <strong>contrats d'entretien<\/strong> (vidange, contr\u00f4le, maintenance) pour garantir la performance de votre \u00e9quipement.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 8 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Quels mat\u00e9riaux utilisez\u2011vous pour l'installation d'une station d'\u00e9puration ?<\/h3>\r\n                        <div class=\"bt-faq__icon\">\r\n                            <svg viewBox=\"0 0 24 24\"><polyline points=\"6 9 12 15 18 9\"><\/polyline><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"bt-faq__answer\">\r\n                        <p>Nous utilisons exclusivement des <strong>mat\u00e9riaux certifi\u00e9s<\/strong> conformes aux normes NF EN 12566 (stations d'\u00e9puration) et DTU 60.1. Nos <strong>stations en PEHD<\/strong> sont r\u00e9sistantes aux chocs, \u00e0 la corrosion et aux produits chimiques. Nos <strong>stations en b\u00e9ton<\/strong> b\u00e9n\u00e9ficient d'une grande robustesse et d'une excellente long\u00e9vit\u00e9. Nous utilisons \u00e9galement des <strong>canalisations PVC ou PEHD<\/strong> pour les raccordements, des <strong>joints EPDM<\/strong> pour l'\u00e9tanch\u00e9it\u00e9, et des <strong>compresseurs silencieux<\/strong> pour les \u00e9quipements \u00e9lectrom\u00e9caniques.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- QUESTION 9 -->\r\n                <div class=\"bt-faq__item\">\r\n                    <div class=\"bt-faq__question\" onclick=\"btToggleFaq(this)\">\r\n                        <h3>Proposez\u2011vous une \u00e9tude pr\u00e9alable avant l'installation d'une station ?<\/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 pr\u00e9alable<\/strong> est indispensable avant toute <strong>installation de station d'\u00e9puration<\/strong>. Nous r\u00e9alisons une <strong>visite technique<\/strong> sur place pour analyser : le <strong>nombre d'\u00e9quivalents-habitants<\/strong>, la <strong>nature du sol<\/strong> (perm\u00e9abilit\u00e9, niveau de la nappe), l'<strong>espace disponible<\/strong> pour l'installation, la <strong>profondeur<\/strong> des canalisations existantes, les <strong>acc\u00e8s<\/strong> pour les engins de terrassement et les <strong>contraintes environnementales<\/strong>. Nous vous fournissons ensuite un <strong>dossier technique<\/strong> avec nos pr\u00e9conisations, les <strong>sch\u00e9mas d'installation<\/strong>, les <strong>notices des \u00e9quipements<\/strong> et un <strong>devis d\u00e9taill\u00e9<\/strong>.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Vagues d\u00e9coratives -->\r\n        <div class=\"bt-faq__waves\" aria-hidden=\"true\">\r\n            <svg viewBox=\"0 24 150 28\" preserveAspectRatio=\"none\">\r\n                <defs><path id=\"bt-w7\" d=\"M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z\" \/><\/defs>\r\n                <g class=\"wave-back\"><use href=\"#bt-w7\" x=\"0\" fill=\"#d6ebfb\"\/><use href=\"#bt-w7\" x=\"176\" fill=\"#d6ebfb\"\/><\/g>\r\n                <g class=\"wave-mid\"><use href=\"#bt-w7\" x=\"0\" fill=\"#a9d4f3\"\/><use href=\"#bt-w7\" x=\"176\" fill=\"#a9d4f3\"\/><\/g>\r\n                <g class=\"wave-front\"><use href=\"#bt-w7\" x=\"0\" fill=\"#ffffff\"\/><use href=\"#bt-w7\" x=\"176\" fill=\"#ffffff\"\/><\/g>\r\n            <\/svg>\r\n        <\/div>\r\n    <\/section>\r\n<\/div>\r\n\r\n<script>\r\n!function(){\r\n    window.btToggleFaq = function(el) {\r\n        var item = el.closest('.bt-faq__item');\r\n        if (!item) return;\r\n        var allItems = document.querySelectorAll('.bt-faq__item');\r\n        for (var i = 0; i < allItems.length; i++) {\r\n            if (allItems[i] !== item && allItems[i].classList.contains('bt-faq__item--active')) {\r\n                allItems[i].classList.remove('bt-faq__item--active');\r\n            }\r\n        }\r\n        item.classList.toggle('bt-faq__item--active');\r\n    };\r\n\r\n    var items = document.querySelectorAll('.bt-faq__item');\r\n    if ('IntersectionObserver' in window) {\r\n        var observer = new IntersectionObserver(function(entries) {\r\n            for (var i = 0; i < entries.length; i++) {\r\n                if (entries[i].isIntersecting) {\r\n                    entries[i].target.style.opacity = '1';\r\n                    entries[i].target.style.transform = 'translateY(0)';\r\n                }\r\n            }\r\n        }, { threshold: .1 });\r\n        for (var i = 0; i < items.length; i++) {\r\n            items[i].style.opacity = '0';\r\n            items[i].style.transform = 'translateY(30px)';\r\n            items[i].style.transition = 'all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1)';\r\n            observer.observe(items[i]);\r\n        }\r\n    } else {\r\n        for (var i = 0; i < items.length; i++) {\r\n            items[i].style.opacity = '1';\r\n            items[i].style.transform = 'translateY(0)';\r\n        }\r\n    }\r\n}();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-eea61a6 e-con-full e-flex e-con e-parent\" data-id=\"eea61a6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b16f29d elementor-widget elementor-widget-html\" data-id=\"b16f29d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================================\r\n     A COLLER DANS LE WIDGET \"HTML\" D'ELEMENTOR\r\n     (ne pas ajouter <html>, <head> ou <body> autour)\r\n     ============================================================ -->\r\n\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Sora:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\" \/>\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.0.0-beta3\/css\/all.min.css\" \/>\r\n\r\n<style>\r\n.contact { padding: 5rem 5% 6rem; position: relative; min-height: 100vh; display: flex; align-items: center;\r\n  background: radial-gradient(1100px 520px at 78% -8%, #d6ebfb, transparent 60%), linear-gradient(180deg, #fbfdff 0%, #eef6fc 100%);\r\n  overflow: hidden; box-sizing: border-box; }\r\n.contact *, .contact *::before, .contact *::after { box-sizing: border-box; }\r\n.contact__waves { position: absolute; left: 0; right: 0; bottom: 0; line-height: 0; z-index: 0; pointer-events: none; }\r\n.contact__waves svg { display: block; width: 100%; height: 80px; }\r\n.contact__waves .wave-back use { animation: wavemove 11s linear infinite; opacity: 0.55; }\r\n.contact__waves .wave-mid use { animation: wavemove 8s linear infinite reverse; opacity: 0.8; }\r\n.contact__waves .wave-front use { animation: wavemove 6s linear infinite; }\r\n@keyframes wavemove { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }\r\n.contact__container { max-width: 1280px; margin: 0 auto; width: 100%; position: relative; z-index: 1; }\r\n.contact__header { text-align: center; max-width: 780px; margin: 0 auto 3.5rem; }\r\n.contact__badge { display: inline-flex; align-items: center; gap: 0.6rem; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.4rem 1.4rem 0.4rem 1rem; border-radius: 2rem; background: rgba(28, 126, 201, 0.07); color: #1c7ec9; border: 1px solid rgba(28, 126, 201, 0.12); margin-bottom: 1.2rem; }\r\n.contact__badge .dot { width: 6px; height: 6px; border-radius: 50%; background: #1c7ec9; animation: pulseDot 2s ease-in-out infinite; }\r\n@keyframes pulseDot { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.3; transform: scale(0.6); } }\r\n.contact__title { font-family: 'Sora', sans-serif; font-weight: 800; font-size: clamp(2rem, 3.6vw, 3.2rem); letter-spacing: -0.03em; color: #07294a; line-height: 1.1; margin-bottom: 0.8rem; }\r\n.contact__title .highlight { background: linear-gradient(135deg, #f4a61a 0%, #d98a0c 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }\r\n.contact__subtitle { font-family: 'Inter', sans-serif; font-weight: 400; font-size: clamp(1rem, 1.1vw, 1.15rem); color: #6b7f94; max-width: 600px; margin: 0 auto; line-height: 1.7; }\r\n.contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; }\r\n.contact__form { background: #ffffff; border-radius: 24px; padding: 2.5rem; border: 1px solid #eef2f6; box-shadow: 0 2px 12px rgba(7, 41, 74, 0.04); transition: all 0.4s ease; position: relative; }\r\n.contact__form:hover { box-shadow: 0 8px 40px rgba(7, 41, 74, 0.08); border-color: #d6ebfb; }\r\n.contact__form-title { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 1.3rem; color: #07294a; margin-bottom: 0.3rem; }\r\n.contact__form-subtitle { font-family: 'Inter', sans-serif; font-weight: 400; font-size: 0.9rem; color: #6b7f94; margin-bottom: 1.5rem; }\r\n.contact__form-group { margin-bottom: 1.2rem; }\r\n.contact__form-group label { display: block; font-family: 'Sora', sans-serif; font-weight: 600; font-size: 0.7rem; color: #6b7f94; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 0.3rem; }\r\n.contact__form-group label .required { color: #dc2626; }\r\n.contact__form-group input, .contact__form-group select, .contact__form-group textarea { width: 100%; padding: 0.8rem 1rem; border-radius: 12px; border: 1px solid #eef2f6; background: #f8fafc; font-family: 'Inter', sans-serif; font-size: 0.9rem; color: #07294a; transition: all 0.3s ease; outline: none; }\r\n.contact__form-group input:focus, .contact__form-group select:focus, .contact__form-group textarea:focus { border-color: #1c7ec9; background: #ffffff; box-shadow: 0 0 0 4px rgba(28, 126, 201, 0.06); }\r\n.contact__form-group input::placeholder, .contact__form-group textarea::placeholder { color: #b0c0d0; }\r\n.contact__form-group select option { background: #ffffff; color: #07294a; }\r\n.contact__form-group textarea { resize: vertical; min-height: 100px; }\r\n.contact__form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }\r\n.contact__form-group--file { position: relative; }\r\n.contact__form-group--file .file-drop-zone { border: 2px dashed #eef2f6; border-radius: 12px; padding: 1.5rem 1rem; text-align: center; cursor: pointer; transition: all 0.3s ease; background: #f8fafc; }\r\n.contact__form-group--file .file-drop-zone:hover { border-color: #1c7ec9; background: #eef6fc; }\r\n.contact__form-group--file .file-drop-zone.dragover { border-color: #f4a61a; background: rgba(244, 166, 26, 0.04); }\r\n.contact__form-group--file .file-drop-zone i { font-size: 2rem; color: #1c7ec9; display: block; margin-bottom: 0.5rem; }\r\n.contact__form-group--file .file-drop-zone p { font-family: 'Inter', sans-serif; font-weight: 400; font-size: 0.85rem; color: #6b7f94; margin: 0; }\r\n.contact__form-group--file .file-drop-zone .file-types { font-size: 0.7rem; color: #b0c0d0; margin-top: 0.3rem; }\r\n.contact__form-group--file input[type=\"file\"] { position: absolute; width: 100%; height: 100%; top: 0; left: 0; opacity: 0; cursor: pointer; }\r\n.contact__form-group--file .file-list { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.8rem; }\r\n.contact__form-group--file .file-item { display: inline-flex; align-items: center; gap: 0.5rem; background: #eef6fc; padding: 0.3rem 0.8rem 0.3rem 0.6rem; border-radius: 20px; font-family: 'Inter', sans-serif; font-size: 0.75rem; color: #1c7ec9; border: 1px solid #d6ebfb; }\r\n.contact__form-group--file .file-item i { font-size: 0.8rem; color: #1c7ec9; }\r\n.contact__form-group--file .file-item .file-remove { cursor: pointer; color: #6b7f94; transition: color 0.3s ease; font-size: 0.7rem; }\r\n.contact__form-group--file .file-item .file-remove:hover { color: #dc2626; }\r\n\r\n\/* ---- Consentement RGPD ---- *\/\r\n.contact__consent { display: flex; align-items: flex-start; gap: 0.7rem; margin-bottom: 1.5rem; }\r\n.contact__consent input[type=\"checkbox\"] { width: 18px; height: 18px; min-width: 18px; margin-top: 0.15rem; accent-color: #1c7ec9; cursor: pointer; flex-shrink: 0; }\r\n.contact__consent label { font-family: 'Inter', sans-serif; font-weight: 400; font-size: 0.8rem; line-height: 1.5; color: #6b7f94; text-transform: none; letter-spacing: 0; margin-bottom: 0; cursor: pointer; }\r\n.contact__consent label .required { color: #dc2626; }\r\n.contact__consent label a { color: #1c7ec9; text-decoration: underline; }\r\n.contact__consent label a:hover { color: #07294a; }\r\n\r\n.btn--contact { display: inline-flex; align-items: center; justify-content: center; gap: 0.75rem; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 0.85rem; letter-spacing: 0.02em; text-decoration: none; padding: 0.9rem 2.4rem; border-radius: 3rem; transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1); cursor: pointer; border: none; text-align: center; background: linear-gradient(135deg, #f4a61a 0%, #e0960e 100%); box-shadow: 0 4px 16px rgba(244, 166, 26, 0.25); color: #07294a; width: 100%; }\r\n.btn--contact:hover { transform: translateY(-3px); box-shadow: 0 8px 30px rgba(244, 166, 26, 0.40); color: #07294a; }\r\n.btn--contact .btn__icon { transition: transform 0.3s ease; }\r\n.btn--contact:hover .btn__icon { transform: translateX(4px); }\r\n.contact__info { display: flex; flex-direction: column; gap: 1.2rem; }\r\n.contact__info-card { background: #ffffff; border-radius: 16px; padding: 1.5rem 1.8rem; border: 1px solid #eef2f6; transition: all 0.4s ease; display: flex; align-items: center; gap: 1.2rem; box-shadow: 0 2px 8px rgba(7, 41, 74, 0.03); }\r\n.contact__info-card:hover { transform: translateX(6px); border-color: #1c7ec9; box-shadow: 0 8px 30px -8px rgba(7, 41, 74, 0.08); }\r\n.contact__info-icon { width: 50px; height: 50px; border-radius: 14px; background: #f0f4f8; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all 0.3s ease; }\r\n.contact__info-card:hover .contact__info-icon { background: #eef6fc; }\r\n.contact__info-icon i { font-size: 1.3rem; color: #1c7ec9; }\r\n.contact__info-content h4 { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 0.85rem; color: #07294a; margin-bottom: 0.1rem; }\r\n.contact__info-content p, .contact__info-content a { font-family: 'Inter', sans-serif; font-weight: 400; font-size: 0.9rem; color: #6b7f94; text-decoration: none; transition: color 0.3s ease; }\r\n.contact__info-content a:hover { color: #1c7ec9; }\r\n.contact__hours { background: #ffffff; border-radius: 16px; padding: 1.5rem 1.8rem; border: 1px solid #eef2f6; box-shadow: 0 2px 8px rgba(7, 41, 74, 0.03); transition: all 0.4s ease; }\r\n.contact__hours:hover { border-color: #d6ebfb; box-shadow: 0 8px 30px -8px rgba(7, 41, 74, 0.06); }\r\n.contact__hours-title { font-family: 'Sora', sans-serif; font-weight: 700; font-size: 0.85rem; color: #6b7f94; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 0.8rem; }\r\n.contact__hours-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.3rem 1rem; }\r\n.contact__hours-day { font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.85rem; color: #6b7f94; }\r\n.contact__hours-time { font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.85rem; color: #07294a; text-align: right; }\r\n.contact__hours-time .urgent { color: #1c7ec9; font-weight: 700; }\r\n.contact__map { border-radius: 16px; overflow: hidden; border: 1px solid #eef2f6; height: 200px; background: #f8fafc; transition: all 0.4s ease; }\r\n.contact__map:hover { border-color: #d6ebfb; box-shadow: 0 8px 30px -8px rgba(7, 41, 74, 0.06); }\r\n.contact__map iframe { width: 100%; height: 100%; border: none; }\r\n@media (max-width: 992px) {\r\n  .contact__grid { grid-template-columns: 1fr; gap: 2rem; }\r\n  .contact__form { padding: 2rem; }\r\n  .contact__info { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }\r\n  .contact__hours-grid { grid-template-columns: 1fr 1fr; }\r\n  .contact__map { height: 180px; }\r\n}\r\n@media (max-width: 768px) {\r\n  .contact { padding: 3.5rem 1.5rem 4rem; min-height: auto; }\r\n  .contact__form { padding: 1.5rem; border-radius: 16px; }\r\n  .contact__form-row { grid-template-columns: 1fr; gap: 0; }\r\n  .contact__info { grid-template-columns: 1fr; gap: 1rem; }\r\n  .contact__info-card { padding: 1.2rem 1.5rem; }\r\n  .contact__hours { padding: 1.2rem 1.5rem; }\r\n  .contact__hours-grid { grid-template-columns: 1fr 1fr; gap: 0.3rem 0.8rem; }\r\n  .contact__hours-day { font-size: 0.75rem; }\r\n  .contact__hours-time { font-size: 0.75rem; }\r\n  .contact__map { height: 150px; }\r\n  .btn--contact { padding: 0.7rem 1.8rem; font-size: 0.75rem; }\r\n  .contact__form-group--file .file-drop-zone { padding: 1rem; }\r\n  .contact__form-group--file .file-drop-zone i { font-size: 1.5rem; }\r\n  .contact__waves svg { height: 40px; }\r\n}\r\n@media (max-width: 480px) {\r\n  .contact__form { padding: 1rem; }\r\n  .contact__info-card { padding: 1rem; }\r\n  .contact__info-icon { width: 40px; height: 40px; }\r\n  .contact__info-icon i { font-size: 1rem; }\r\n  .contact__hours { padding: 1rem; }\r\n}\r\n<\/style>\r\n\r\n<section class=\"contact\">\r\n  <div class=\"contact__container\">\r\n\r\n    <div class=\"contact__header\">\r\n      <span class=\"contact__badge\"><span class=\"dot\"><\/span> Contactez-nous<\/span>\r\n      <h2 class=\"contact__title\">Pret a <span class=\"highlight\">securiser<\/span> vos reseaux ?<\/h2>\r\n      <p class=\"contact__subtitle\">Une question, un devis, une urgence ? Notre equipe est a votre ecoute 24h\/24 et 7j\/7.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"contact__grid\">\r\n\r\n      <!-- FORMULAIRE -->\r\n      <div class=\"contact__form\">\r\n        <h3 class=\"contact__form-title\">Demandez un diagnostic<\/h3>\r\n        <p class=\"contact__form-subtitle\">Remplissez le formulaire et nous vous recontacterons sous 24h.<\/p>\r\n\r\n        <!-- 1re soumission = FormSubmit envoie un email de confirmation a activer -->\r\n        <form id=\"contactForm\"\r\n              action=\"https:\/\/formsubmit.co\/info-contact@btplus.fr\"\r\n              method=\"POST\"\r\n              enctype=\"multipart\/form-data\">\r\n\r\n          <input type=\"hidden\" name=\"_subject\" value=\"Nouvelle demande de diagnostic - Site BT Plus\">\r\n          <input type=\"hidden\" name=\"_template\" value=\"table\">\r\n          <!-- Copie envoyee a la seconde adresse -->\r\n          <input type=\"hidden\" name=\"_cc\" value=\"marketing@btgroup-france.com\">\r\n          <input type=\"text\" name=\"_honey\" style=\"display:none\">\r\n          <!-- <input type=\"hidden\" name=\"_next\" value=\"https:\/\/votre-site.fr\/merci\"> -->\r\n\r\n          <div class=\"contact__form-row\">\r\n            <div class=\"contact__form-group\">\r\n              <label for=\"nom\">Nom complet <span class=\"required\">*<\/span><\/label>\r\n              <input type=\"text\" id=\"nom\" name=\"Nom complet\" placeholder=\"Jean Dupont\" required \/>\r\n            <\/div>\r\n            <div class=\"contact__form-group\">\r\n              <label for=\"email\">Email <span class=\"required\">*<\/span><\/label>\r\n              <input type=\"email\" id=\"email\" name=\"email\" placeholder=\"jean@exemple.fr\" required \/>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"contact__form-row\">\r\n            <div class=\"contact__form-group\">\r\n              <label for=\"telephone\">Telephone <span class=\"required\">*<\/span><\/label>\r\n              <input type=\"tel\" id=\"telephone\" name=\"Telephone\" placeholder=\"01 23 45 67 89\" required \/>\r\n            <\/div>\r\n            <div class=\"contact__form-group\">\r\n              <label for=\"cp\">Code postal<\/label>\r\n              <input type=\"text\" id=\"cp\" name=\"Code postal\" placeholder=\"75000\" \/>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"contact__form-group\">\r\n            <label for=\"type_batiment\">Type de batiment<\/label>\r\n            <select id=\"type_batiment\" name=\"Type de batiment\">\r\n              <option value=\"\">Selectionnez...<\/option>\r\n              <option value=\"copropriete\">Copropriete<\/option>\r\n              <option value=\"syndic\">Syndic<\/option>\r\n              <option value=\"bailleur\">Bailleur social<\/option>\r\n              <option value=\"erp\">ERP (Etablissement recevant du public)<\/option>\r\n              <option value=\"tertiaire\">Tertiaire (bureau, commerce)<\/option>\r\n              <option value=\"collectivite\">Collectivite<\/option>\r\n              <option value=\"particulier\">Particulier<\/option>\r\n            <\/select>\r\n          <\/div>\r\n\r\n          <div class=\"contact__form-group\">\r\n            <label for=\"type_besoin\">Type de besoin<\/label>\r\n            <select id=\"type_besoin\" name=\"Type de besoin\">\r\n              <option value=\"\">Selectionnez...<\/option>\r\n              <option value=\"urgence\">Urgence (debouchage, curage)<\/option>\r\n              <option value=\"entretien\">Entretien preventif<\/option>\r\n              <option value=\"diagnostic\">Diagnostic \/ Inspection<\/option>\r\n              <option value=\"travaux\">Travaux \/ Renovation<\/option>\r\n              <option value=\"contrat\">Contrat d'entretien<\/option>\r\n              <option value=\"devis\">Demande de devis<\/option>\r\n            <\/select>\r\n          <\/div>\r\n\r\n          <div class=\"contact__form-group\">\r\n            <label for=\"message\">Message<\/label>\r\n            <textarea id=\"message\" name=\"Message\" placeholder=\"Decrivez votre situation...\"><\/textarea>\r\n          <\/div>\r\n\r\n          <div class=\"contact__form-group contact__form-group--file\">\r\n            <label>Ajouter une photo <span style=\"font-weight:400;text-transform:none;color:#b0c0d0;\">(optionnel - une seule)<\/span><\/label>\r\n            <div class=\"file-drop-zone\" id=\"fileDropZone\">\r\n              <i class=\"fas fa-cloud-upload-alt\"><\/i>\r\n              <p>Glissez une photo ici ou cliquez pour la selectionner<\/p>\r\n              <div class=\"file-types\">JPG, PNG, GIF - une seule photo, 5MB max<\/div>\r\n              <input type=\"file\" id=\"fileInput\" name=\"attachment\" accept=\"image\/*\" \/>\r\n            <\/div>\r\n            <div class=\"file-list\" id=\"fileList\"><\/div>\r\n          <\/div>\r\n\r\n          <!-- ---- Consentement RGPD (obligatoire) ---- -->\r\n          <div class=\"contact__consent\">\r\n            <input type=\"checkbox\" id=\"consent\" name=\"Consentement RGPD\" value=\"J'accepte\" required \/>\r\n            <label for=\"consent\">\r\n              J'accepte que les informations saisies dans ce formulaire soient utilisees par BT Plus\r\n              afin de traiter ma demande et de me recontacter. Conformement au RGPD, je dispose d'un\r\n              droit d'acces, de rectification et de suppression de mes donnees, que je peux exercer en\r\n              ecrivant a <a href=\"mailto:info-contact@btplus.fr\">info-contact@btplus.fr<\/a>.\r\n              <a href=\"\/politique-de-confidentialite\" target=\"_blank\" rel=\"noopener\">En savoir plus<\/a>.\r\n              <span class=\"required\">*<\/span>\r\n            <\/label>\r\n          <\/div>\r\n\r\n          <button type=\"submit\" class=\"btn--contact\">\r\n            Envoyer <span class=\"btn__icon\">&rarr;<\/span>\r\n          <\/button>\r\n        <\/form>\r\n      <\/div>\r\n\r\n      <!-- INFORMATIONS -->\r\n      <div class=\"contact__info\">\r\n        <div class=\"contact__info-card\">\r\n          <div class=\"contact__info-icon\"><i class=\"fas fa-phone\"><\/i><\/div>\r\n          <div class=\"contact__info-content\"><h4>Telephone<\/h4><p><a href=\"tel:+331 86 95 77 77\">01 86 95 77 77<\/a><\/p><\/div>\r\n        <\/div>\r\n        <div class=\"contact__info-card\">\r\n          <div class=\"contact__info-icon\"><i class=\"fas fa-envelope\"><\/i><\/div>\r\n          <div class=\"contact__info-content\"><h4>Email<\/h4><p><a href=\"mailto:contact@btplus-intervention.fr\">info-contact@btplus.fr<\/a><\/p><\/div>\r\n        <\/div>\r\n        <div class=\"contact__info-card\">\r\n          <div class=\"contact__info-icon\"><i class=\"fas fa-map-marker-alt\"><\/i><\/div>\r\n          <div class=\"contact__info-content\"><h4>Adresse<\/h4><p>13 Rue Camille Desmoulins,\r\n92130 Issy-les-Moulineaux<\/p><\/div>\r\n        <\/div>\r\n\r\n        <div class=\"contact__hours\">\r\n          <div class=\"contact__hours-title\">Horaires d'ouverture<\/div>\r\n          <div class=\"contact__hours-grid\">\r\n            <span class=\"contact__hours-day\">Lundi - Vendredi<\/span><span class=\"contact__hours-time\">08:00 - 20:00<\/span>\r\n            <span class=\"contact__hours-day\">Samedi<\/span><span class=\"contact__hours-time\">09:00 - 18:00<\/span>\r\n            <span class=\"contact__hours-day\">Dimanche & jours feries<\/span><span class=\"contact__hours-time\"><span class=\"urgent\">Urgence 24\/7<\/span><\/span>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"contact__map\">\r\n          <iframe src=\"https:\/\/www.google.com\/maps\/embed?pb=!1m18!1m12!1m3!1d2623.5!2d2.366!3d48.916!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x47e66e2f8e5c8b3d%3A0x8e5c8b3d47e66e2f!2sAubervilliers!5e0!3m2!1sfr!2sfr!4v1700000000000\" allowfullscreen loading=\"lazy\" referrerpolicy=\"no-referrer-when-downgrade\"><\/iframe>\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"contact__waves\" aria-hidden=\"true\">\r\n    <svg viewBox=\"0 24 150 28\" preserveAspectRatio=\"none\">\r\n      <defs><path id=\"w9\" d=\"M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z\" \/><\/defs>\r\n      <g class=\"wave-back\"><use href=\"#w9\" x=\"0\" fill=\"#d6ebfb\"\/><use href=\"#w9\" x=\"176\" fill=\"#d6ebfb\"\/><\/g>\r\n      <g class=\"wave-mid\"><use href=\"#w9\" x=\"0\" fill=\"#a9d4f3\"\/><use href=\"#w9\" x=\"176\" fill=\"#a9d4f3\"\/><\/g>\r\n      <g class=\"wave-front\"><use href=\"#w9\" x=\"0\" fill=\"#ffffff\"\/><use href=\"#w9\" x=\"176\" fill=\"#ffffff\"\/><\/g>\r\n    <\/svg>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\n  var fileInput = document.getElementById('fileInput');\r\n  var fileList = document.getElementById('fileList');\r\n  var dropZone = document.getElementById('fileDropZone');\r\n  if (!fileInput || !dropZone) return;\r\n  var perFileMax = 5 * 1024 * 1024;\r\n  var totalMax = 10 * 1024 * 1024;\r\n\r\n  function updateFileList(files) {\r\n    fileList.innerHTML = '';\r\n    Array.from(files).forEach(function (file, index) {\r\n      var item = document.createElement('span');\r\n      item.className = 'file-item';\r\n      var icon = file.type.indexOf('image\/') === 0 ? 'fa-image' : 'fa-file';\r\n      item.innerHTML = '<i class=\"fas ' + icon + '\"><\/i><span>' + file.name + '<\/span><span class=\"file-remove\" data-index=\"' + index + '\"><i class=\"fas fa-times\"><\/i><\/span>';\r\n      fileList.appendChild(item);\r\n    });\r\n    document.querySelectorAll('.file-remove').forEach(function (btn) {\r\n      btn.addEventListener('click', function (e) {\r\n        e.stopPropagation();\r\n        var idx = parseInt(this.dataset.index);\r\n        var dt = new DataTransfer();\r\n        Array.from(fileInput.files).filter(function (_, i) { return i !== idx; }).forEach(function (f) { dt.items.add(f); });\r\n        fileInput.files = dt.files;\r\n        updateFileList(fileInput.files);\r\n      });\r\n    });\r\n  }\r\n\r\n  function applyFiles(candidate) {\r\n    var valid = candidate.filter(function (f) { return f.type.indexOf('image\/') === 0 && f.size <= perFileMax; });\r\n    if (candidate.length > 1) alert('Une seule photo peut etre envoyee. Seule la premiere a ete conservee.');\r\n    else if (valid.length !== candidate.length) alert('Fichier ignore (image uniquement, 5MB max).');\r\n    var dt = new DataTransfer();\r\n    if (valid.length > 0) dt.items.add(valid[0]);\r\n    fileInput.files = dt.files;\r\n    updateFileList(fileInput.files);\r\n  }\r\n\r\n  dropZone.addEventListener('click', function (e) { if (e.target === this || e.target.closest('.file-drop-zone')) fileInput.click(); });\r\n  fileInput.addEventListener('change', function () { applyFiles(Array.from(this.files)); });\r\n  dropZone.addEventListener('dragover', function (e) { e.preventDefault(); this.classList.add('dragover'); });\r\n  dropZone.addEventListener('dragleave', function (e) { e.preventDefault(); this.classList.remove('dragover'); });\r\n  dropZone.addEventListener('drop', function (e) {\r\n    e.preventDefault(); this.classList.remove('dragover');\r\n    applyFiles(Array.from(e.dataTransfer.files));\r\n  });\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Installation de station d&#8217;\u00e9puration \u2013 BT Plus \u00cele-de-France Installation de station d&#8217;\u00e9puration en \u00cele-de-France Sp\u00e9cialiste de l&#8217;installation de station d&#8217;\u00e9puration \u00e0 Paris et en \u00cele-de-France. Pose de micro-station d&#8217;assainissement pour le traitement des eaux us\u00e9es, mise en conformit\u00e9, remplacement de fili\u00e8res et entretien. Nous intervenons pour particuliers, copropri\u00e9t\u00e9s, restaurants, h\u00f4tels, campings et collectivit\u00e9s. Devis gratuit [&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-2717","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/pages\/2717","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=2717"}],"version-history":[{"count":23,"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/pages\/2717\/revisions"}],"predecessor-version":[{"id":2899,"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/pages\/2717\/revisions\/2899"}],"wp:attachment":[{"href":"https:\/\/sci-bme.fr\/index.php\/wp-json\/wp\/v2\/media?parent=2717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}