{"id":2,"date":"2026-07-27T09:35:38","date_gmt":"2026-07-27T07:35:38","guid":{"rendered":"https:\/\/terrassementforcesolution.re\/?page_id=2"},"modified":"2026-08-28T07:19:21","modified_gmt":"2026-08-28T05:19:21","slug":"page-d-exemple","status":"publish","type":"page","link":"https:\/\/terrassementforcesolution.re\/","title":{"rendered":"Accueil"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2\" class=\"elementor elementor-2\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b4f8211 e-con e-atomic-element e-flexbox-base e-cd0ac43 \" data-id=\"b4f8211\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"b4f8211\" data-e-type=\"e-flexbox\" data-id=\"b4f8211\">\n    \t\t<div class=\"elementor-element elementor-element-23905cd elementor-widget elementor-widget-html\" data-id=\"23905cd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- 1. TOP BAR TICKER -->\r\n<div class=\"topbar\">\r\n  <div class=\"ticker\">\r\n    <div class=\"ticker-track\">\r\n      <div class=\"ticker-group\">\r\n        <span class=\"ticker-item\"><i class=\"ic ic-phone\"><\/i> 0692 27 33 94<\/span>\r\n        <span class=\"dot\"><\/span>\r\n        <span class=\"ticker-item\"><i class=\"ic ic-mail\"><\/i> contact@terrassementforcesolution.re<\/span>\r\n        <span class=\"dot\"><\/span>\r\n        <span class=\"ticker-item\"><i class=\"ic ic-pin\"><\/i> 18 Chemin du Takamaka, Le Tampon 97430, La R\u00e9union<\/span>\r\n        <span class=\"dot\"><\/span>\r\n        <span class=\"ticker-item\"><i class=\"ic ic-truck\"><\/i> Intervention dans toute Le Sud l'\u00eele de La R\u00e9union<\/span>\r\n        <span class=\"dot\"><\/span>\r\n      <\/div>\r\n      <div class=\"ticker-group\" aria-hidden=\"true\">\r\n        <span class=\"ticker-item\"><i class=\"ic ic-phone\"><\/i> 0692 27 33 94<\/span>\r\n        <span class=\"dot\"><\/span>\r\n        <span class=\"ticker-item\"><i class=\"ic ic-mail\"><\/i> contact@terrassementforcesolution.re<\/span>\r\n        <span class=\"dot\"><\/span>\r\n        <span class=\"ticker-item\"><i class=\"ic ic-pin\"><\/i> 18 Chemin du Takamaka, Le Tampon 97430, La R\u00e9union<\/span>\r\n        <span class=\"dot\"><\/span>\r\n        <span class=\"ticker-item\"><i class=\"ic ic-truck\"><\/i> Intervention sur toute l'\u00eele de La R\u00e9union<\/span>\r\n        <span class=\"dot\"><\/span>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- HEADER PRINCIPAL -->\r\n<header class=\"header\" id=\"header\">\r\n  <div class=\"header-inner\">\r\n    <a href=\"https:\/\/terrassementforcesolution.re\/\" class=\"logo\">\r\n      <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/07\/Lofo-TFS-.jpg\" alt=\"Terrassement Force Solution\" class=\"logo-img\" width=\"500\" height=\"200\" \/>\r\n    <\/a>\r\n\r\n    <nav class=\"nav-desktop\">\r\n      <a href=\"https:\/\/terrassementforcesolution.re\/\">Accueil<\/a>\r\n      <a href=\"#services\">Services<\/a>\r\n      <a href=\"#realisations\">R\u00e9alisations<\/a>\r\n      <a href=\"#a-propos\">\u00c0 Propos<\/a>\r\n      <a href=\"#contact\">Contact<\/a>\r\n    <\/nav>\r\n\r\n    <div class=\"header-actions\">\r\n      <a href=\"#contact\" class=\"btn-quote\">Demander un devis<\/a>\r\n      <button class=\"burger\" id=\"burger\" aria-label=\"Ouvrir le menu\">\r\n        <span><\/span><span><\/span><span><\/span>\r\n      <\/button>\r\n    <\/div>\r\n  <\/div>\r\n<\/header>\r\n\r\n<!-- MENU LAT\u00c9RAL (DRAWER) -->\r\n<div class=\"overlay\" id=\"overlay\"><\/div>\r\n<aside class=\"drawer\" id=\"drawer\">\r\n  <div class=\"drawer-glow\"><\/div>\r\n  <div class=\"drawer-head\">\r\n    <span class=\"drawer-title\">Menu<\/span>\r\n    <button class=\"drawer-close\" id=\"drawerClose\" aria-label=\"Fermer\">\r\n      <span><\/span><span><\/span>\r\n    <\/button>\r\n  <\/div>\r\n\r\n  <nav class=\"drawer-nav\">\r\n    <a href=\"https:\/\/terrassementforcesolution.re\/\" style=\"--i:1\"><em>01<\/em><span>Accueil<\/span><i class=\"arrow\"><\/i><\/a>\r\n    <a href=\"#services\" style=\"--i:2\"><em>02<\/em><span>Services<\/span><i class=\"arrow\"><\/i><\/a>\r\n    <a href=\"#realisations\" style=\"--i:3\"><em>03<\/em><span>R\u00e9alisations<\/span><i class=\"arrow\"><\/i><\/a>\r\n    <a href=\"#a-propos\" style=\"--i:4\"><em>04<\/em><span>\u00c0 Propos<\/span><i class=\"arrow\"><\/i><\/a>\r\n    <a href=\"#contact\" style=\"--i:5\"><em>05<\/em><span>Contact<\/span><i class=\"arrow\"><\/i><\/a>\r\n  <\/nav>\r\n\r\n  <div class=\"drawer-footer\">\r\n    <a href=\"#contact\" class=\"drawer-cta\">Demander un devis<\/a>\r\n    <p><i class=\"ic ic-phone\"><\/i> 0692 27 33 94<\/p>\r\n    <p><i class=\"ic ic-mail\"><\/i> contact@terrassementforcesolution.re<\/p>\r\n    <div class=\"socials\">\r\n      <a href=\"#\">Fb<\/a><a href=\"#\">In<\/a><a href=\"#\">Yt<\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/aside>\r\n\r\n<script>\r\n  document.addEventListener('DOMContentLoaded', () => {\r\n    const burger = document.getElementById('burger');\r\n    const drawer = document.getElementById('drawer');\r\n    const overlay = document.getElementById('overlay');\r\n    const drawerClose = document.getElementById('drawerClose');\r\n    const header = document.getElementById('header');\r\n\r\n    function openMenu() {\r\n      burger.classList.add('active');\r\n      drawer.classList.add('active');\r\n      overlay.classList.add('active');\r\n      document.body.classList.add('menu-open');\r\n    }\r\n\r\n    function closeMenu() {\r\n      burger.classList.remove('active');\r\n      drawer.classList.remove('active');\r\n      overlay.classList.remove('active');\r\n      document.body.classList.remove('menu-open');\r\n    }\r\n\r\n    if (burger) burger.addEventListener('click', () => {\r\n      drawer.classList.contains('active') ? closeMenu() : openMenu();\r\n    });\r\n\r\n    if (overlay) overlay.addEventListener('click', closeMenu);\r\n    if (drawerClose) drawerClose.addEventListener('click', closeMenu);\r\n\r\n    const drawerLinks = document.querySelectorAll('.drawer-nav a');\r\n    drawerLinks.forEach(link => link.addEventListener('click', closeMenu));\r\n\r\n    window.addEventListener('scroll', () => {\r\n      if (window.scrollY > 50) {\r\n        header.classList.add('scrolled');\r\n      } else {\r\n        header.classList.remove('scrolled');\r\n      }\r\n    });\r\n  });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-36b7519 elementor-widget elementor-widget-html\" data-id=\"36b7519\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- LOADER -->\r\n<div id=\"tfs-loader\" class=\"tfs-loader\" aria-hidden=\"true\">\r\n  <div class=\"loader-inner\">\r\n    <div class=\"loader-logo\">\r\n      <span class=\"loader-mark\">TFS<\/span>\r\n      <span class=\"loader-ring\"><\/span>\r\n      <span class=\"loader-ring loader-ring--2\"><\/span>\r\n    <\/div>\r\n    <div class=\"loader-brand\">\r\n      Terrassement<strong>Force Solution<\/strong>\r\n    <\/div>\r\n    <div class=\"loader-bar\"><span id=\"loaderBarFill\"><\/span><\/div>\r\n    <div class=\"loader-meta\">\r\n      <span class=\"loader-label\">Chargement<\/span>\r\n      <span class=\"loader-percent\" id=\"loaderPercent\">0%<\/span>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- CURSEUR PERSONNALIS\u00c9 (PELLE CAT 305.5E) -->\r\n<div id=\"tfs-cursor\" class=\"tfs-cursor\" aria-hidden=\"true\">\r\n  <svg class=\"excavator-svg\" viewBox=\"0 0 100 70\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n    <ellipse cx=\"25\" cy=\"58\" rx=\"22\" ry=\"4\" fill=\"rgba(0,0,0,0.3)\" \/>\r\n\r\n    <!-- CHENILLES -->\r\n    <g class=\"cat-tracks\">\r\n      <rect x=\"5\" y=\"46\" width=\"40\" height=\"12\" rx=\"6\" fill=\"#1e2229\" stroke=\"#0e1116\" stroke-width=\"1.5\" \/>\r\n      <circle cx=\"11\" cy=\"52\" r=\"3.5\" fill=\"#5a6272\" \/>\r\n      <circle cx=\"20\" cy=\"52\" r=\"2.5\" fill=\"#3a404d\" \/>\r\n      <circle cx=\"28\" cy=\"52\" r=\"2.5\" fill=\"#3a404d\" \/>\r\n      <circle cx=\"37\" cy=\"52\" r=\"3.5\" fill=\"#5a6272\" \/>\r\n      <path d=\"M 6 52 L 44 52\" stroke=\"#111\" stroke-width=\"1\" stroke-dasharray=\"2,2\" \/>\r\n    <\/g>\r\n\r\n    <!-- CH\u00c2SSIS & LAME DOZER -->\r\n    <rect x=\"38\" y=\"48\" width=\"8\" height=\"9\" fill=\"#2a303c\" rx=\"1\" \/>\r\n    <path d=\"M 44 47 L 48 57 L 45 57 Z\" fill=\"#FFB800\" \/>\r\n\r\n    <!-- CORPS -->\r\n    <g class=\"cat-body\">\r\n      <rect x=\"6\" y=\"30\" width=\"10\" height=\"17\" rx=\"2\" fill=\"#1e2229\" \/>\r\n      <path d=\"M 7 32 L 15 32 L 15 40 L 7 40 Z\" fill=\"#FFB800\" \/>\r\n      <rect x=\"14\" y=\"28\" width=\"22\" height=\"19\" rx=\"2\" fill=\"#FFB800\" \/>\r\n      <rect x=\"16\" y=\"38\" width=\"14\" height=\"4\" fill=\"#1e2229\" rx=\"1\" \/>\r\n      <text x=\"17\" y=\"41\" font-family=\"sans-serif\" font-size=\"2.8\" font-weight=\"900\" fill=\"#FFB800\">305.5E<\/text>\r\n      <path d=\"M 22 16 L 33 16 L 36 28 L 22 28 Z\" fill=\"#1a2332\" stroke=\"#FFB800\" stroke-width=\"1.5\" \/>\r\n      <path d=\"M 25 18 L 31 18 L 33 26 L 25 26 Z\" fill=\"#64b5f6\" opacity=\"0.6\" \/>\r\n      <rect x=\"23\" y=\"14\" width=\"3\" height=\"2\" fill=\"#ff9800\" rx=\"0.5\" \/>\r\n      <rect id=\"exhaust-pipe\" x=\"11\" y=\"22\" width=\"2\" height=\"8\" fill=\"#111\" \/>\r\n    <\/g>\r\n\r\n    <!-- BRAS ARTICUL\u00c9 & GODET -->\r\n    <g class=\"cat-arm-main\">\r\n      <path d=\"M 32 32 L 42 16 L 54 20\" fill=\"none\" stroke=\"#FFB800\" stroke-width=\"5.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\r\n      <path d=\"M 32 32 L 42 16 L 54 20\" fill=\"none\" stroke=\"#D49B00\" stroke-width=\"1\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\r\n      <line x1=\"30\" y1=\"28\" x2=\"44\" y2=\"19\" stroke=\"#b0bec5\" stroke-width=\"1.8\" \/>\r\n      <line x1=\"30\" y1=\"28\" x2=\"37\" y2=\"23\" stroke=\"#37474f\" stroke-width=\"2.5\" \/>\r\n\r\n      <g class=\"cat-arm-sub\">\r\n        <path d=\"M 53 19 L 65 35\" fill=\"none\" stroke=\"#FFB800\" stroke-width=\"4\" stroke-linecap=\"round\" \/>\r\n        <line x1=\"46\" y1=\"17\" x2=\"58\" y2=\"26\" stroke=\"#b0bec5\" stroke-width=\"1.5\" \/>\r\n\r\n        <g class=\"cat-bucket\">\r\n          <path d=\"M 64 34 L 73 38 L 71 47 L 61 44 Z\" fill=\"#2a303c\" stroke=\"#111\" stroke-width=\"1\" \/>\r\n          <path d=\"M 73 38 L 77 39 L 75 41 L 72 40 Z\" fill=\"#d50000\" \/>\r\n          <path d=\"M 72 41 L 76 42.5 L 74 44.5 L 71 43 Z\" fill=\"#d50000\" \/>\r\n          <path d=\"M 71 44 L 74.5 L 72.5 47.5 L 69.5 46 Z\" fill=\"#d50000\" \/>\r\n        <\/g>\r\n      <\/g>\r\n    <\/g>\r\n  <\/svg>\r\n<\/div>\r\n\r\n<script>\r\n  document.addEventListener('DOMContentLoaded', () => {\r\n    \/* 1. SCRIPT LOADER *\/\r\n    const loader = document.getElementById('tfs-loader');\r\n    const barFill = document.getElementById('loaderBarFill');\r\n    const percentText = document.getElementById('loaderPercent');\r\n\r\n    let progress = 0;\r\n    const interval = setInterval(() => {\r\n      progress += Math.floor(Math.random() * 12) + 5;\r\n      if (progress >= 100) {\r\n        progress = 100;\r\n        clearInterval(interval);\r\n        if (barFill) barFill.style.width = '100%';\r\n        if (percentText) percentText.textContent = '100%';\r\n        setTimeout(() => {\r\n          if (loader) loader.classList.add('done');\r\n        }, 400);\r\n      } else {\r\n        if (barFill) barFill.style.width = progress + '%';\r\n        if (percentText) percentText.textContent = progress + '%';\r\n      }\r\n    }, 80);\r\n\r\n    \/* 2. SCRIPT CURSEUR PERSONNALIS\u00c9 *\/\r\n    const cursor = document.getElementById('tfs-cursor');\r\n    const isTouchDevice = window.matchMedia('(hover: none) or (max-width: 1024px)').matches;\r\n\r\n    if (cursor && !isTouchDevice) {\r\n      document.body.classList.add('has-custom-cursor');\r\n\r\n      let mouseX = window.innerWidth \/ 2;\r\n      let mouseY = window.innerHeight \/ 2;\r\n      let cursorX = mouseX;\r\n      let cursorY = mouseY;\r\n\r\n      window.addEventListener('mousemove', (e) => {\r\n        mouseX = e.clientX;\r\n        mouseY = e.clientY;\r\n      });\r\n\r\n      function animateCursor() {\r\n        cursorX += (mouseX - cursorX) * 0.25;\r\n        cursorY += (mouseY - cursorY) * 0.25;\r\n        cursor.style.transform = `translate3d(${cursorX}px, ${cursorY}px, 0)`;\r\n        requestAnimationFrame(animateCursor);\r\n      }\r\n      animateCursor();\r\n\r\n      const clickables = document.querySelectorAll('a, button, input, textarea, select, .btn, .burger');\r\n      clickables.forEach(el => {\r\n        el.addEventListener('mouseenter', () => cursor.classList.add('active'));\r\n        el.addEventListener('mouseleave', () => cursor.classList.remove('active'));\r\n      });\r\n\r\n      window.addEventListener('mousedown', (e) => {\r\n        cursor.classList.add('digging');\r\n        createSmoke(e.clientX, e.clientY);\r\n      });\r\n      window.addEventListener('mouseup', () => {\r\n        cursor.classList.remove('digging');\r\n      });\r\n\r\n      function createSmoke(x, y) {\r\n        for (let i = 0; i < 4; i++) {\r\n          const smoke = document.createElement('div');\r\n          smoke.className = 'smoke-part';\r\n          const size = Math.random() * 12 + 8;\r\n          smoke.style.width = `${size}px`;\r\n          smoke.style.height = `${size}px`;\r\n          smoke.style.left = `${x - size \/ 2}px`;\r\n          smoke.style.top = `${y - size \/ 2}px`;\r\n\r\n          const dx = (Math.random() - 0.5) * 60;\r\n          const dy = -Math.random() * 50 - 20;\r\n          smoke.style.setProperty('--dx', `${dx}px`);\r\n          smoke.style.setProperty('--dy', `${dy}px`);\r\n\r\n          document.body.appendChild(smoke);\r\n          setTimeout(() => smoke.remove(), 600);\r\n        }\r\n      }\r\n    }\r\n  });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e6104a3 elementor-widget elementor-widget-html\" data-id=\"e6104a3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Import des polices (\u00e0 placer dans le <head> de votre site ou au d\u00e9but du bloc si non incluses) -->\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500&family=Montserrat:wght@700;800&display=swap\" rel=\"stylesheet\">\r\n\r\n<section class=\"tfs-hero\">\r\n  <!-- Vid\u00e9o en arri\u00e8re-plan -->\r\n  <video class=\"hero-video-bg\" autoplay muted loop playsinline>\r\n    <source src=\"https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/08\/Video-Hero-Banner.mp4\" type=\"video\/mp4\">\r\n  <\/video>\r\n  \r\n  <div class=\"video-overlay\"><\/div>\r\n\r\n  <!-- Contenu -->\r\n  <div class=\"hero-content\">\r\n    <h1 class=\"hero-title\">Terrassement <br\/>pour <span>tous d\u00e9fis.<\/span><\/h1>\r\n    <p class=\"hero-desc\">\r\n      L'expertise technique au service de vos projets. Un accompagnement artisanal pour des r\u00e9sultats professionnels \u00e0 La R\u00e9union.\r\n    <\/p>\r\n    <div class=\"hero-actions\">\r\n      <a href=\"#contact\" class=\"hero-cta\">Demander un devis<\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<style>\r\n.tfs-hero {\r\n  position: relative;\r\n  height: 85vh;\r\n  display: flex;\r\n  align-items: center;\r\n  overflow: hidden;\r\n  font-family: 'Inter', sans-serif;\r\n}\r\n\r\n\/* La vid\u00e9o remplit tout le fond *\/\r\n.hero-video-bg {\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\r\n\/* Overlay sombre avec d\u00e9grad\u00e9 premium *\/\r\n.video-overlay {\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  width: 100%;\r\n  height: 100%;\r\n  background: linear-gradient(135deg, rgba(8, 12, 20, 0.8) 0%, rgba(8, 12, 20, 0.4) 100%);\r\n  z-index: 2;\r\n}\r\n\r\n\/* Contenu textuel *\/\r\n.hero-content {\r\n  position: relative;\r\n  z-index: 3;\r\n  padding: 0 10%;\r\n  max-width: 850px;\r\n}\r\n\r\n.hero-title {\r\n  font-family: 'Montserrat', sans-serif;\r\n  font-size: clamp(35px, 5vw, 55px);\r\n  font-weight: 800;\r\n  color: #ffffff;\r\n  line-height: 1.2;\r\n  margin-bottom: 20px;\r\n  letter-spacing: -0.01em;\r\n}\r\n\r\n.hero-title span { \r\n  color: #0056B3; \r\n}\r\n\r\n.hero-desc {\r\n  color: #e5e7eb;\r\n  font-size: 18px;\r\n  max-width: 550px;\r\n  margin-bottom: 40px;\r\n  line-height: 1.5;\r\n  font-weight: 400;\r\n}\r\n\r\n.hero-cta {\r\n  background: #0056B3;\r\n  color: #ffffff;\r\n  padding: 16px 36px;\r\n  font-size: 16px;\r\n  font-weight: 600;\r\n  text-transform: none;\r\n  text-decoration: none;\r\n  border-radius: 4px;\r\n  transition: all 0.3s ease;\r\n  display: inline-block;\r\n  box-shadow: 0 4px 15px rgba(0, 86, 179, 0.3);\r\n}\r\n\r\n.hero-cta:hover { \r\n  background: #006ae0; \r\n  transform: translateY(-2px);\r\n  box-shadow: 0 8px 20px rgba(0, 86, 179, 0.4);\r\n}\r\n\r\n\/* Responsive *\/\r\n@media (max-width: 768px) {\r\n  .hero-content { \r\n    padding: 0 5%; \r\n    text-align: center; \r\n  }\r\n  .hero-title { \r\n    font-size: 32px; \r\n  }\r\n  .hero-desc { \r\n    margin: 0 auto 30px auto; \r\n  }\r\n}\r\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6a62bf4 elementor-widget elementor-widget-html\" data-id=\"6a62bf4\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"a-propos\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section id=\"tfs-about\" class=\"tfs-about\">\r\n  <div class=\"tfs-about__container\">\r\n    <div class=\"tfs-about__grid\">\r\n      \r\n      <!-- Visuel gauche -->\r\n      <div class=\"tfs-about__visual\">\r\n        <figure class=\"tfs-about__figure\">\r\n          <img decoding=\"async\" src=\"https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/08\/79293.jpg\" alt=\"Chantier\" class=\"tfs-about__img\">\r\n        <\/figure>\r\n      <\/div>\r\n\r\n      <!-- Contenu droit -->\r\n      <div class=\"tfs-about__content\">\r\n        <span class=\"tfs-about__eyebrow\">QUI SOMMES-NOUS<\/span>\r\n        <h2 class=\"tfs-about__title\">On b\u00e2tit des <span>fondations solides<\/span> pour vos projets<\/h2>\r\n        <p class=\"tfs-about__text\">Cr\u00e9\u00e9e en 2024, Terrassement Force Solution transforme le sol brut en terrain pr\u00eat \u00e0 construire. Bas\u00e9s dans le Sud de La R\u00e9union, nous mettons pr\u00e9cision, mat\u00e9riel adapt\u00e9 et s\u00e9rieux au service de chaque chantier, du premier coup de godet \u00e0 la finition.<\/p>\r\n        \r\n        <ul class=\"tfs-about__list\">\r\n          <li><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg> Mat\u00e9riel moderne et entretenu<\/li>\r\n          <li><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg> Respect strict des d\u00e9lais<\/li>\r\n          <li><svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg> Intervention dans tout le Sud de l'\u00eele<\/li>\r\n        <\/ul>\r\n\r\n        <div class=\"tfs-about__stats\">\r\n            <div class=\"tfs-stat\"><span class=\"tfs-stat__num\">40+<\/span><span class=\"tfs-stat__label\">Chantiers r\u00e9alis\u00e9s<\/span><\/div>\r\n            <div class=\"tfs-stat\"><span class=\"tfs-stat__num\">100 %<\/span><span class=\"tfs-stat__label\">Clients satisfaits<\/span><\/div>\r\n            <div class=\"tfs-stat\"><span class=\"tfs-stat__num\">7j\/7<\/span><span class=\"tfs-stat__label\">Disponibilit\u00e9<\/span><\/div>\r\n        <\/div>\r\n\r\n        <a href=\"#contact\" class=\"tfs-about__cta\">\r\n            Demander un devis gratuit \r\n            <svg viewBox=\"0 0 24 24\" width=\"17\" height=\"17\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line><polyline points=\"12 5 19 12 12 19\"><\/polyline><\/svg>\r\n        <\/a>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n  const observer = new IntersectionObserver((entries) => {\r\n    entries.forEach(entry => {\r\n      if (entry.isIntersecting) {\r\n        entry.target.style.opacity = \"1\";\r\n        entry.target.style.transform = \"translateY(0)\";\r\n      }\r\n    });\r\n  });\r\n  const section = document.querySelector('#tfs-about');\r\n  section.style.opacity = \"0\"; \r\n  section.style.transform = \"translateY(30px)\";\r\n  section.style.transition = \"all 0.8s ease-out\";\r\n  observer.observe(section);\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5a9e5ae elementor-widget elementor-widget-html\" data-id=\"5a9e5ae\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"services\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ================= SECTION SERVICES ================= -->\r\n<section id=\"tfs-services\" class=\"tfs-serv\">\r\n  <div class=\"tfs-serv__container\">\r\n\r\n    <!-- En-t\u00eate -->\r\n    <header class=\"tfs-serv__header\">\r\n      <span class=\"tfs-serv__eyebrow\"><i><\/i>Ce que nous faisons<\/span>\r\n      <h2 class=\"tfs-serv__title\">Nos <span>prestations<\/span><\/h2>\r\n      <p class=\"tfs-serv__subtitle\">\r\n        Du terrassement au g\u00e9nie civil, nous mettons notre savoir-faire au service de vos projets.\r\n      <\/p>\r\n    <\/header>\r\n\r\n    <!-- Grille de cartes -->\r\n    <div class=\"tfs-serv__grid\">\r\n      <!-- Carte 1 -->\r\n      <article class=\"tfs-card\">\r\n        <div class=\"tfs-card__icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 21h18\"\/><path d=\"M5 21V10l4-3 4 3\"\/><path d=\"M13 21V6l3-2 3 3v14\"\/><path d=\"M9 21v-4h4\"\/><\/svg><\/div>\r\n        <h3 class=\"tfs-card__title\">Terrassement<\/h3>\r\n        <p class=\"tfs-card__desc\">Pr\u00e9paration de terrain, fondations et nivellement pr\u00e9cis pour des bases solides et durables.<\/p>\r\n      <\/article>\r\n\r\n      <!-- Carte 2 -->\r\n      <article class=\"tfs-card\">\r\n        <div class=\"tfs-card__icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 2s6 6 6 10a6 6 0 0 1-12 0c0-4 6-10 6-10z\"\/><path d=\"M9 14a3 3 0 0 0 3 3\"\/><\/svg><\/div>\r\n        <h3 class=\"tfs-card__title\">Assainissement<\/h3>\r\n        <p class=\"tfs-card__desc\">Installation de syst\u00e8mes autonomes ou collectifs, conformes aux normes en vigueur.<\/p>\r\n      <\/article>\r\n\r\n      <!-- Carte 3 -->\r\n      <article class=\"tfs-card\">\r\n        <div class=\"tfs-card__icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 21L8 3\"\/><path d=\"M20 21L16 3\"\/><path d=\"M12 6v2\"\/><path d=\"M12 11v2\"\/><path d=\"M12 16v2\"\/><\/svg><\/div>\r\n        <h3 class=\"tfs-card__title\">Voirie & R\u00e9seaux<\/h3>\r\n        <p class=\"tfs-card__desc\">Am\u00e9nagement des acc\u00e8s, canalisations et infrastructures pour vos projets.<\/p>\r\n      <\/article>\r\n\r\n      <!-- Carte 4 -->\r\n      <article class=\"tfs-card\">\r\n        <div class=\"tfs-card__icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"\/><\/svg><\/div>\r\n        <h3 class=\"tfs-card__title\">Am\u00e9nagement ext.<\/h3>\r\n        <p class=\"tfs-card__desc\">Dallage, pavage et enrochement pour valoriser et s\u00e9curiser vos espaces.<\/p>\r\n      <\/article>\r\n\r\n      <!-- Carte 5 -->\r\n      <article class=\"tfs-card\">\r\n        <div class=\"tfs-card__icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 21h16\"\/><path d=\"M6 21V8h12v13\"\/><path d=\"M6 12h12\"\/><path d=\"M10 8V4h4v4\"\/><\/svg><\/div>\r\n        <h3 class=\"tfs-card__title\">G\u00e9nie civil<\/h3>\r\n        <p class=\"tfs-card__desc\">D\u00e9molition ma\u00eetris\u00e9e et ouvrages r\u00e9alis\u00e9s avec s\u00e9curit\u00e9 et performance.<\/p>\r\n      <\/article>\r\n\r\n      <!-- Carte 6 : CTA -->\r\n      <article class=\"tfs-card tfs-card--cta\">\r\n        <div class=\"tfs-card__icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\/><path d=\"M14 2v6h6\"\/><path d=\"M9 13h6\"\/><path d=\"M9 17h6\"\/><\/svg><\/div>\r\n        <h3 class=\"tfs-card__title\">Un projet en t\u00eate ?<\/h3>\r\n        <p class=\"tfs-card__desc\">Obtenez une estimation gratuite et personnalis\u00e9e pour votre chantier.<\/p>\r\n        <a href=\"#contact\" class=\"tfs-card__btn\">Demander un devis<\/a>\r\n      <\/article>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-004f146 elementor-widget elementor-widget-html\" data-id=\"004f146\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"realisations\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================= -->\r\n<!-- SECTION R\u00c9ALISATIONS - TERRASSEMENT FORCE SOLUTION -->\r\n<!-- ============================================= -->\r\n<section id=\"section-realisations-tfs\">\r\n  <div class=\"tfs-real-container\">\r\n\r\n    <!-- === EN-T\u00caTE DE SECTION === -->\r\n    <div class=\"tfs-real-header reveal-on-scroll\">\r\n      <span class=\"tfs-real-eyebrow\">NOTRE PORTFOLIO<\/span>\r\n      <h2 class=\"tfs-real-title\">Nos <span>r\u00e9alisations<\/span><\/h2>\r\n      <p class=\"tfs-real-subtitle\">\r\n        D\u00e9couvrez nos chantiers r\u00e9alis\u00e9s avec pr\u00e9cision, puissance et savoir-faire,\r\n        pour les particuliers, les professionnels et les collectivit\u00e9s.\r\n      <\/p>\r\n    <\/div>\r\n\r\n    \r\n\r\n    <!-- === GALERIE DE PROJETS === -->\r\n    <div class=\"tfs-real-grid\" id=\"tfsRealGrid\">\r\n\r\n      <!-- Projet 1 -->\r\n      <article class=\"tfs-project-card reveal-on-scroll\" data-category=\"particulier\">\r\n        <div class=\"tfs-project-img\">\r\n          <img decoding=\"async\" src=\"https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/08\/Terrassement-Force-Solution-21.jpg\"\r\n               alt=\"Terrassement maison individuelle\" loading=\"lazy\"\r\n               onerror=\"this.src='https:\/\/placehold.co\/800x600\/1C1E21\/F9B233?text=Terrassement'\">\r\n          \r\n        <\/div>\r\n        <div class=\"tfs-project-overlay\">\r\n          <div class=\"tfs-project-info\">\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- Projet 2 -->\r\n      <article class=\"tfs-project-card reveal-on-scroll\" data-category=\"enrochement\">\r\n        <div class=\"tfs-project-img\">\r\n          <img decoding=\"async\" src=\"https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/07\/Terrassement-Force-Solution-10.jpg\"\r\n               alt=\"Mur d'enrochement\" loading=\"lazy\"\r\n               onerror=\"this.src='https:\/\/placehold.co\/800x600\/1C1E21\/F9B233?text=Enrochement'\">\r\n          \r\n        <\/div>\r\n        <div class=\"tfs-project-overlay\">\r\n          <div class=\"tfs-project-info\">\r\n \r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- Projet 3 -->\r\n      <article class=\"tfs-project-card reveal-on-scroll\" data-category=\"collectivite\">\r\n        <div class=\"tfs-project-img\">\r\n          <img decoding=\"async\" src=\"https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/08\/Terrassement-Force-Solution-20.jpg\"\r\n               alt=\"Chantier de voirie\" loading=\"lazy\"\r\n               onerror=\"this.src='https:\/\/placehold.co\/800x600\/1C1E21\/F9B233?text=Voirie'\">\r\n          \r\n        <\/div>\r\n        <div class=\"tfs-project-overlay\">\r\n          <div class=\"tfs-project-info\">\r\n            \r\n            <h3 class=\"tfs-project-name\"\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- Projet 4 -->\r\n      <article class=\"tfs-project-card reveal-on-scroll\" data-category=\"vrd\">\r\n        <div class=\"tfs-project-img\">\r\n          <img decoding=\"async\" src=\"https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/07\/Terrassement-Force-Solution-14.jpg\"\r\n               alt=\"Tranch\u00e9es VRD\" loading=\"lazy\"\r\n               onerror=\"this.src='https:\/\/placehold.co\/800x600\/1C1E21\/F9B233?text=VRD'\">\r\n          \r\n        <\/div>\r\n        <div class=\"tfs-project-overlay\">\r\n          <div class=\"tfs-project-info\">\r\n         \r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- Projet 5 -->\r\n      <article class=\"tfs-project-card reveal-on-scroll\" data-category=\"pro\">\r\n        <div class=\"tfs-project-img\">\r\n          <img decoding=\"async\" src=\"https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/07\/unnamed.jpg\"\r\n               alt=\"Plateforme industrielle\" loading=\"lazy\"\r\n               onerror=\"this.src='https:\/\/placehold.co\/800x600\/1C1E21\/F9B233?text=Industriel'\">\r\n         \r\n        <\/div>\r\n        <div class=\"tfs-project-overlay\">\r\n          <div class=\"tfs-project-info\">\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n\r\n      <!-- Projet 6 -->\r\n      <article class=\"tfs-project-card reveal-on-scroll\" data-category=\"particulier\">\r\n        <div class=\"tfs-project-img\">\r\n          <img decoding=\"async\" src=\"https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/07\/Terrassement-Force-Solution-11.jpg\"\r\n               alt=\"Am\u00e9nagement ext\u00e9rieur\" loading=\"lazy\"\r\n               onerror=\"this.src='https:\/\/placehold.co\/800x600\/1C1E21\/F9B233?text=Amenagement'\">\r\n         \r\n        <\/div>\r\n        <div class=\"tfs-project-overlay\">\r\n          <div class=\"tfs-project-info\">\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n      \r\n      \r\n      <!-- Projet 7 -->\r\n      <article class=\"tfs-project-card reveal-on-scroll\" data-category=\"particulier\">\r\n        <div class=\"tfs-project-img\">\r\n          <img decoding=\"async\" src=\"https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/08\/Terrassement-Force-Solution-24.jpg\"\r\n               alt=\"Am\u00e9nagement ext\u00e9rieur\" loading=\"lazy\"\r\n               onerror=\"this.src='https:\/\/placehold.co\/800x600\/1C1E21\/F9B233?text=Amenagement'\">\r\n         \r\n        <\/div>\r\n        <div class=\"tfs-project-overlay\">\r\n          <div class=\"tfs-project-info\">\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n      \r\n      <!-- Projet 8 -->\r\n      <article class=\"tfs-project-card reveal-on-scroll\" data-category=\"particulier\">\r\n        <div class=\"tfs-project-img\">\r\n          <img decoding=\"async\" src=\"https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/08\/Terrassement-Force-Solution-23.jpg\"\r\n               alt=\"Am\u00e9nagement ext\u00e9rieur\" loading=\"lazy\"\r\n               onerror=\"this.src='https:\/\/placehold.co\/800x600\/1C1E21\/F9B233?text=Amenagement'\">\r\n         \r\n        <\/div>\r\n        <div class=\"tfs-project-overlay\">\r\n          <div class=\"tfs-project-info\">\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n      \r\n      \r\n      <!-- Projet 9 -->\r\n      <article class=\"tfs-project-card reveal-on-scroll\" data-category=\"particulier\">\r\n        <div class=\"tfs-project-img\">\r\n          <img decoding=\"async\" src=\"https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/08\/Terrassement-Force-Solution-22.jpg\"\r\n               alt=\"Am\u00e9nagement ext\u00e9rieur\" loading=\"lazy\"\r\n               onerror=\"this.src='https:\/\/placehold.co\/800x600\/1C1E21\/F9B233?text=Amenagement'\">\r\n         \r\n        <\/div>\r\n        <div class=\"tfs-project-overlay\">\r\n          <div class=\"tfs-project-info\">\r\n          <\/div>\r\n        <\/div>\r\n      <\/article>\r\n      \r\n      \r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function () {\r\n  const section = document.getElementById('section-realisations-tfs');\r\n  if (!section) return;\r\n\r\n  \/* ===== 1. FILTRAGE DES PROJETS ===== *\/\r\n  const filterBtns = section.querySelectorAll('.tfs-filter-btn');\r\n  const cards = section.querySelectorAll('.tfs-project-card');\r\n  const noResult = section.querySelector('#tfsNoResult');\r\n\r\n  filterBtns.forEach(btn => {\r\n    btn.addEventListener('click', () => {\r\n      \/\/ Bouton actif\r\n      filterBtns.forEach(b => b.classList.remove('active'));\r\n      btn.classList.add('active');\r\n\r\n      const filter = btn.getAttribute('data-filter');\r\n      let visibleCount = 0;\r\n\r\n      cards.forEach((card, index) => {\r\n        const match = filter === 'all' || card.getAttribute('data-category') === filter;\r\n        if (match) {\r\n          card.classList.remove('is-hidden');\r\n          \/\/ Animation d'apparition d\u00e9cal\u00e9e\r\n          card.style.animation = 'none';\r\n          void card.offsetWidth; \/\/ reflow\r\n          card.style.animation = `tfsCardPop 0.5s ${index * 0.07}s both`;\r\n          visibleCount++;\r\n        } else {\r\n          card.classList.add('is-hidden');\r\n        }\r\n      });\r\n\r\n      noResult.style.display = visibleCount === 0 ? 'block' : 'none';\r\n    });\r\n  });\r\n\r\n  \/* ===== 2. ANIMATION AU SCROLL (Intersection Observer) ===== *\/\r\n  const reveals = section.querySelectorAll('.reveal-on-scroll');\r\n  const observer = new IntersectionObserver((entries) => {\r\n    entries.forEach(entry => {\r\n      if (entry.isIntersecting) {\r\n        entry.target.classList.add('revealed');\r\n        observer.unobserve(entry.target);\r\n      }\r\n    });\r\n  }, { threshold: 0.15 });\r\n\r\n  reveals.forEach(el => observer.observe(el));\r\n\r\n  \/* ===== 3. CARROUSEL MOBILE (scroll par cartes) ===== *\/\r\n  const grid = section.querySelector('#tfsRealGrid');\r\n  let isDown = false, startX, scrollLeft;\r\n\r\n  grid.addEventListener('touchstart', () => { isDown = true; }, { passive: true });\r\n  grid.addEventListener('touchend', () => { isDown = false; });\r\n\r\n  \/* ===== 4. BOUTON \"VOIR PLUS\" (feedback) ===== *\/\r\n  const moreBtn = section.querySelector('.tfs-btn-more');\r\n  moreBtn.addEventListener('click', () => {\r\n    moreBtn.classList.add('loading');\r\n    setTimeout(() => moreBtn.classList.remove('loading'), 1200);\r\n    \/\/ Ici : logique de chargement de projets suppl\u00e9mentaires\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-25aed4c elementor-widget elementor-widget-html\" data-id=\"25aed4c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================= -->\r\n<!-- SECTION T\u00c9MOIGNAGES - TERRASSEMENT FORCE SOLUTION -->\r\n<!-- ============================================= -->\r\n<section id=\"section-temoignages-tfs\">\r\n  <div class=\"tfs-temoignages-container\">\r\n\r\n    <div class=\"tfs-temoignages-header\">\r\n      <span class=\"tfs-temoignages-surtitre\">T\u00c9MOIGNAGES<\/span>\r\n      <h2 class=\"tfs-temoignages-titre\">Ils nous font confiance<\/h2>\r\n      <p class=\"tfs-temoignages-soustitre\">La satisfaction de nos clients dans le Sud de l'\u00eele est le reflet de notre engagement.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"tfs-carousel-wrapper\">\r\n      <div class=\"tfs-temoignages-track\" id=\"tfs-track\">\r\n\r\n        <!-- Les avis originaux -->\r\n        <article class=\"tfs-temoignage-card\">\r\n          <div class=\"tfs-quote-icon\">\"<\/div>\r\n          <div class=\"tfs-stars\" data-stars=\"5\"><\/div>\r\n          <p class=\"tfs-temoignage-texte\">Une \u00e9quipe extr\u00eamement professionnelle. Le terrassement de notre terrain a \u00e9t\u00e9 r\u00e9alis\u00e9 dans les d\u00e9lais avec une pr\u00e9cision remarquable. Je recommande vivement !<\/p>\r\n          <div class=\"tfs-temoignage-author\">\r\n            <div class=\"tfs-author-photo\" style=\"background-image:url('https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/08\/142063.jpg')\"><\/div>\r\n            <div class=\"tfs-author-info\"><h4>Julien Moreau<\/h4><span>Particulier \u2014 Saint-Philippe<\/span><\/div>\r\n          <\/div>\r\n        <\/article>\r\n\r\n        <article class=\"tfs-temoignage-card\">\r\n          <div class=\"tfs-quote-icon\">\"<\/div>\r\n          <div class=\"tfs-stars\" data-stars=\"5\"><\/div>\r\n          <p class=\"tfs-temoignage-texte\">Nous collaborons depuis 3 ans sur nos chantiers VRD. R\u00e9activit\u00e9, mat\u00e9riel de pointe et respect des budgets : un partenaire fiable dans le Sud.<\/p>\r\n          <div class=\"tfs-temoignage-author\">\r\n            <div class=\"tfs-author-photo\" style=\"background-image:url('https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/08\/141100.jpg')\"><\/div>\r\n            <div class=\"tfs-author-info\"><h4>Marc Delaunay<\/h4><span>Directeur \u2014 BTP Sud<\/span><\/div>\r\n          <\/div>\r\n        <\/article>\r\n\r\n        <article class=\"tfs-temoignage-card\">\r\n          <div class=\"tfs-quote-icon\">\"<\/div>\r\n          <div class=\"tfs-stars\" data-stars=\"5\"><\/div>\r\n          <p class=\"tfs-temoignage-texte\">Travail de sout\u00e8nement exemplaire pour prot\u00e9ger notre terrasse. Le r\u00e9sultat est propre, solide et correspond parfaitement \u00e0 nos attentes. Merci pour le professionnalisme.<\/p>\r\n          <div class=\"tfs-temoignage-author\">\r\n            <div class=\"tfs-author-photo\" style=\"background-image:url('https:\/\/randomuser.me\/api\/portraits\/men\/66.jpg')\"><\/div>\r\n            <div class=\"tfs-author-info\"><h4>Jean-Claude Payet<\/h4><span>G\u00e9rant \u2014 Resto du Sud<\/span><\/div>\r\n          <\/div>\r\n        <\/article>\r\n\r\n        <article class=\"tfs-temoignage-card\">\r\n          <div class=\"tfs-quote-icon\">\"<\/div>\r\n          <div class=\"tfs-stars\" data-stars=\"5\"><\/div>\r\n          <p class=\"tfs-temoignage-texte\">Pr\u00e9paration et nivellement de notre projet de lotissement g\u00e9r\u00e9s de A \u00e0 Z. Communication impeccable et finitions au top. Nous ferons de nouveau appel \u00e0 eux.<\/p>\r\n          <div class=\"tfs-temoignage-author\">\r\n            <div class=\"tfs-author-photo\" style=\"background-image:url('https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/08\/4387859.jpg')\"><\/div>\r\n            <div class=\"tfs-author-info\"><h4>Thomas Girard<\/h4><span>Promoteur \u2014 Habitat Sud<\/span><\/div>\r\n          <\/div>\r\n        <\/article>\r\n\r\n        <article class=\"tfs-temoignage-card\">\r\n          <div class=\"tfs-quote-icon\">\"<\/div>\r\n          <div class=\"tfs-stars\" data-stars=\"5\"><\/div>\r\n          <p class=\"tfs-temoignage-texte\">D\u00e9molition d'un ancien b\u00e2timent effectu\u00e9e avec une ma\u00eetrise totale de la s\u00e9curit\u00e9. Chantier laiss\u00e9 propre. Prestation irr\u00e9prochable dans le secteur.<\/p>\r\n          <div class=\"tfs-temoignage-author\">\r\n            <div class=\"tfs-author-photo\" style=\"background-image:url('https:\/\/randomuser.me\/api\/portraits\/women\/44.jpg')\"><\/div>\r\n            <div class=\"tfs-author-info\"><h4>Camille Fontaine<\/h4><span>Responsable \u2014 Groupe Indus'Pro<\/span><\/div>\r\n          <\/div>\r\n        <\/article>\r\n\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n  <script>\r\n  (function () {\r\n    const section = document.getElementById('section-temoignages-tfs');\r\n    if (!section) return;\r\n\r\n    \/* ---- G\u00e9n\u00e9ration dynamique des \u00e9toiles ---- *\/\r\n    section.querySelectorAll('.tfs-stars').forEach((el) => {\r\n      const count = parseInt(el.dataset.stars, 10) || 5;\r\n      let html = '';\r\n      for (let i = 0; i < 5; i++) {\r\n        const filled = i < count ? 'tfs-star-filled' : 'tfs-star-empty';\r\n        html += `<svg class=\"tfs-star ${filled}\" viewBox=\"0 0 24 24\" width=\"20\" height=\"20\"><path fill=\"currentColor\" d=\"m12 17.3 6.2 3.7-1.6-7 5.4-4.7-7.1-.6L12 2 9.1 8.7l-7.1.6 5.4 4.7-1.6 7z\"\/><\/svg>`;\r\n      }\r\n      el.innerHTML = html;\r\n    });\r\n\r\n    \/* ---- Boucle infinie fluide pour le d\u00e9filement ---- *\/\r\n    const track = document.getElementById('tfs-track');\r\n    if (track) {\r\n      track.innerHTML += track.innerHTML; \/\/ Duplication automatique pour un d\u00e9filement infini sans \u00e0-coup\r\n    }\r\n  })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-16a79e0 elementor-widget elementor-widget-html\" data-id=\"16a79e0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================= -->\r\n<!-- SECTION CTA INTERM\u00c9DIAIRE - TERRASSEMENT FORCE SOLUTION -->\r\n<!-- ============================================= -->\r\n<section id=\"section-cta-tfs\">\r\n  <div class=\"cta-tfs__container\">\r\n\r\n    <!-- Motif d\u00e9coratif -->\r\n    <div class=\"cta-tfs__pattern\" aria-hidden=\"true\"><\/div>\r\n\r\n    <!-- Contenu principal -->\r\n    <div class=\"cta-tfs__content\">\r\n\r\n      <!-- Badge d'accroche -->\r\n      <span class=\"cta-tfs__badge\">\r\n        <svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"currentColor\">\r\n          <path d=\"M13 2L3 14h7l-1 8 10-12h-7l1-8z\"\/>\r\n        <\/svg>\r\n        R\u00e9ponse rapide sous 48h\r\n      <\/span>\r\n\r\n      <!-- Titre -->\r\n      <h2 class=\"cta-tfs__title\">Pr\u00eat \u00e0 d\u00e9marrer votre projet ?<\/h2>\r\n\r\n      <!-- Sous-titre -->\r\n      <p class=\"cta-tfs__subtitle\">\r\n        Contactez-nous pour un devis <strong>gratuit<\/strong> et personnalis\u00e9\r\n      <\/p>\r\n\r\n      <!-- Bouton CTA -->\r\n      <div class=\"cta-tfs__actions\">\r\n        <a href=\"#contact\" class=\"cta-tfs__btn\">\r\n          <span>Demander un devis<\/span>\r\n          <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n            <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/>\r\n            <polyline points=\"12 5 19 12 12 19\"\/>\r\n          <\/svg>\r\n        <\/a>\r\n\r\n        <!-- Contact rapide secondaire -->\r\n        <a href=\"tel:+262692273394\" class=\"cta-tfs__phone\">\r\n          <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n            <path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z\"\/>\r\n          <\/svg>\r\n          <span>0692 27 33 94<\/span>\r\n        <\/a>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script>\r\n    \/\/ ===== ANIMATION D'APPARITION AU SCROLL =====\r\n    (function () {\r\n      const ctaSection = document.getElementById('section-cta-tfs');\r\n\r\n      const observer = new IntersectionObserver(\r\n        (entries) => {\r\n          entries.forEach((entry) => {\r\n            if (entry.isIntersecting) {\r\n              entry.target.classList.add('cta-tfs--visible');\r\n              observer.unobserve(entry.target);\r\n            }\r\n          });\r\n        },\r\n        { threshold: 0.3 }\r\n      );\r\n\r\n      if (ctaSection) observer.observe(ctaSection);\r\n    })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4958594 elementor-widget elementor-widget-html\" data-id=\"4958594\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"contact\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ==================================================== -->\r\n<!-- SECTION CONTACT WHATSAPP \u2014 TH\u00c8ME CLAIR & BLEU -->\r\n<!-- ==================================================== -->\r\n<section class=\"tfs-wa\" id=\"contact\">\r\n\r\n  <!-- D\u00e9cor de fond anim\u00e9 (blobs lumineux doux) -->\r\n  <div class=\"tfs-wa__blobs\" aria-hidden=\"true\">\r\n    <span class=\"tfs-wa__blob b1\"><\/span>\r\n    <span class=\"tfs-wa__blob b2\"><\/span>\r\n    <span class=\"tfs-wa__blob b3\"><\/span>\r\n  <\/div>\r\n\r\n  <div class=\"tfs-wa__inner\">\r\n\r\n    <!-- Colonne gauche : infos & coordonn\u00e9es -->\r\n    <div class=\"tfs-wa__info\">\r\n      <span class=\"tfs-wa__eyebrow\">Contact direct<\/span>\r\n      <h2 class=\"tfs-wa__title\">Discutons de <span>votre chantier<\/span><\/h2>\r\n      <p class=\"tfs-wa__lead\">\r\n        Un projet de terrassement, de viabilisation ou d'am\u00e9nagement&nbsp;?\r\n        Choisissez votre besoin ci-contre et lancez la conversation en un clic \u2014\r\n        on vous r\u00e9pond directement sur WhatsApp.\r\n      <\/p>\r\n\r\n      <ul class=\"tfs-wa__coords\">\r\n        <li>\r\n          <span class=\"tfs-wa__ico\"><i class=\"ic ic-phone\"><\/i><\/span>\r\n          <div>\r\n            <small>T\u00e9l\u00e9phone<\/small>\r\n            <a href=\"tel:+262692273394\">0692 27 33 94<\/a>\r\n          <\/div>\r\n        <\/li>\r\n        <li>\r\n          <span class=\"tfs-wa__ico\"><i class=\"ic ic-mail\"><\/i><\/span>\r\n          <div>\r\n            <small>E-mail<\/small>\r\n            <a href=\"mailto:contact@terrassementforcesolution.re\">contact@terrassementforcesolution.re<\/a>\r\n          <\/div>\r\n        <\/li>\r\n        <li>\r\n          <span class=\"tfs-wa__ico\"><i class=\"ic ic-pin\"><\/i><\/span>\r\n          <div>\r\n            <small>Adresse<\/small>\r\n            <span>18 Chemin du Takamaka, Le Tampon 97430<\/span>\r\n          <\/div>\r\n        <\/li>\r\n      <\/ul>\r\n\r\n      <span class=\"tfs-wa__badge\">\r\n        <span class=\"tfs-wa__pulse\"><\/span> En ligne \u00b7 R\u00e9ponse rapide 7j\/7\r\n      <\/span>\r\n    <\/div>\r\n\r\n    <!-- Colonne droite : carte conversation WhatsApp -->\r\n    <div class=\"tfs-wa__card\">\r\n\r\n      <div class=\"tfs-wa__head\">\r\n        <span class=\"tfs-wa__avatar\">TFS<\/span>\r\n        <div class=\"tfs-wa__meta\">\r\n          <strong>Terrassement Force Solution<\/strong>\r\n          <span><i class=\"tfs-wa__dot\"><\/i> en ligne<\/span>\r\n        <\/div>\r\n        <svg class=\"tfs-wa__logo\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"#25D366\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n          <path d=\"M12 2a10 10 0 0 0-8.6 15l-1.3 4.9 5-1.3A10 10 0 1 0 12 2zm5.3 14.1c-.2.6-1.3 1.2-1.8 1.2-.5.1-1 .1-1.7-.1-.4-.1-.9-.3-1.6-.6a9 9 0 0 1-3.5-3.1c-.3-.4-.7-1.1-.7-2.1s.5-1.5.7-1.7c.2-.2.4-.3.6-.3h.5c.2 0 .4 0 .6.4l.7 1.6c.1.1.1.3 0 .4l-.3.4-.3.3c-.1.1-.2.2-.1.4a6.3 6.3 0 0 0 2.9 2.5c.2.1.3.1.4-.1l.6-.7c.1-.2.3-.1.4-.1l1.6.8c.2.1.3.1.4.2s.1.6-.1 1.2z\"\/>\r\n        <\/svg>\r\n      <\/div>\r\n\r\n      <div class=\"tfs-wa__body\">\r\n\r\n        <!-- Message d'accueil -->\r\n        <div class=\"tfs-wa__bubble tfs-wa__bubble--in\">\r\n          \ud83d\udc4b Bonjour ! S\u00e9lectionnez votre besoin et votre message est pr\u00eat \u00e0 envoyer.\r\n        <\/div>\r\n\r\n        <!-- S\u00e9lecteur unique -->\r\n        <label class=\"tfs-wa__field\">\r\n          <span>Votre besoin<\/span>\r\n          <div class=\"tfs-wa__select\">\r\n            <select id=\"waSubject\">\r\n              <option value=\"un devis de terrassement\">Devis de terrassement<\/option>\r\n              <option value=\"la viabilisation d'un terrain\">Viabilisation de terrain<\/option>\r\n              <option value=\"un am\u00e9nagement ext\u00e9rieur\">Am\u00e9nagement ext\u00e9rieur<\/option>\r\n              <option value=\"une location d'engin avec chauffeur\">Location d'engin<\/option>\r\n              <option value=\"un renseignement g\u00e9n\u00e9ral\">Autre demande<\/option>\r\n            <\/select>\r\n            <i><\/i>\r\n          <\/div>\r\n        <\/label>\r\n\r\n        <!-- Indicateur \"en train d'\u00e9crire\" -->\r\n        <div class=\"tfs-wa__typing\" id=\"waTyping\">\r\n          <span><\/span><span><\/span><span><\/span>\r\n        <\/div>\r\n\r\n        <!-- Aper\u00e7u du message g\u00e9n\u00e9r\u00e9 -->\r\n        <div class=\"tfs-wa__bubble tfs-wa__bubble--out\" id=\"waPreview\"><\/div>\r\n\r\n      <\/div>\r\n\r\n      <!-- Bouton d'envoi WhatsApp -->\r\n      <a class=\"tfs-wa__send\" id=\"waSend\" href=\"#\" target=\"_blank\" rel=\"noopener\">\r\n        <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"#fff\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n          <path d=\"M12 2a10 10 0 0 0-8.6 15l-1.3 4.9 5-1.3A10 10 0 1 0 12 2zm5.3 14.1c-.2.6-1.3 1.2-1.8 1.2-.5.1-1 .1-1.7-.1-.4-.1-.9-.3-1.6-.6a9 9 0 0 1-3.5-3.1c-.3-.4-.7-1.1-.7-2.1s.5-1.5.7-1.7c.2-.2.4-.3.6-.3h.5c.2 0 .4 0 .6.4l.7 1.6c.1.1.1.3 0 .4l-.3.4-.3.3c-.1.1-.2.2-.1.4a6.3 6.3 0 0 0 2.9 2.5c.2.1.3.1.4-.1l.6-.7c.1-.2.3-.1.4-.1l1.6.8c.2.1.3.1.4.2s.1.6-.1 1.2z\"\/>\r\n        <\/svg>\r\n        D\u00e9marrer la conversation\r\n      <\/a>\r\n\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- ==================================================== -->\r\n  <!-- SCRIPT DE LA SECTION WHATSAPP                      -->\r\n  <!-- ==================================================== -->\r\n  <script>\r\n  (function () {\r\n    \"use strict\";\r\n\r\n    const PHONE = \"262692273394\";\r\n\r\n    const subject = document.getElementById(\"waSubject\");\r\n    const sendBtn = document.getElementById(\"waSend\");\r\n    const preview = document.getElementById(\"waPreview\");\r\n    const typing  = document.getElementById(\"waTyping\");\r\n\r\n    if (!subject || !sendBtn || !preview || !typing) return;\r\n\r\n    function buildMessage() {\r\n      const besoin = subject.value;\r\n      return `Bonjour Terrassement Force Solution, je vous contacte pour ${besoin}. Pouvez-vous me recontacter ? Merci !`;\r\n    }\r\n\r\n    function update() {\r\n      const msg = buildMessage();\r\n      sendBtn.href = `https:\/\/wa.me\/${PHONE}?text=${encodeURIComponent(msg)}`;\r\n\r\n      typing.classList.add(\"show\");\r\n      preview.classList.remove(\"show\");\r\n      clearTimeout(update._t);\r\n      update._t = setTimeout(() => {\r\n        typing.classList.remove(\"show\");\r\n        preview.textContent = msg;\r\n        preview.classList.add(\"show\");\r\n      }, 650);\r\n    }\r\n\r\n    subject.addEventListener(\"change\", update);\r\n\r\n    const section = document.querySelector(\".tfs-wa\");\r\n    if (\"IntersectionObserver\" in window && section) {\r\n      const io = new IntersectionObserver((entries) => {\r\n        entries.forEach((e) => {\r\n          if (e.isIntersecting) {\r\n            section.classList.add(\"in-view\");\r\n            io.unobserve(e.target);\r\n          }\r\n        });\r\n      }, { threshold: 0.25 });\r\n      io.observe(section);\r\n    }\r\n\r\n    update();\r\n  })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4ccaafd elementor-widget elementor-widget-html\" data-id=\"4ccaafd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ================= FOOTER - TERRASSEMENT FORCE SOLUTION ================= -->\r\n<footer class=\"tfs-footer\">\r\n\r\n  <!-- Vague \/ terrain bleu anim\u00e9 -->\r\n  <div class=\"tfs-footer__topline\" aria-hidden=\"true\">\r\n    <svg viewBox=\"0 0 1440 60\" preserveAspectRatio=\"none\">\r\n      <path d=\"M0,30 C240,0 480,60 720,30 C960,0 1200,60 1440,30 L1440,0 L0,0 Z\"><\/path>\r\n    <\/svg>\r\n  <\/div>\r\n\r\n  <!-- Bouton retour en haut -->\r\n  <button class=\"tfs-footer__top\" id=\"tfsTop\" aria-label=\"Retour en haut\">\r\n    <svg viewBox=\"0 0 24 24\"><path d=\"M18 15l-6-6-6 6\"\/><\/svg>\r\n  <\/button>\r\n\r\n  <div class=\"tfs-footer__container\">\r\n    <div class=\"tfs-footer__grid\">\r\n\r\n      <!-- Marque -->\r\n      <div class=\"tfs-footer__brand\" data-tfs-fa>\r\n        <h3>Terrassement <span>Force Solution<\/span><\/h3>\r\n        <p>On transforme le sol brut en terrain pr\u00eat \u00e0 construire. Pr\u00e9cision,\r\n           mat\u00e9riel de pointe et \u00e9quipes passionn\u00e9es au service de vos projets.<\/p>\r\n        <div class=\"tfs-footer__socials\">\r\n          <a href=\"#\" aria-label=\"Facebook\"><svg viewBox=\"0 0 24 24\"><path d=\"M13 22v-8h3l1-4h-4V8c0-1 .3-1.7 1.7-1.7H17V2.8C16.4 2.7 15.4 2.6 14.3 2.6c-2.6 0-4.3 1.6-4.3 4.5V10H7v4h3v8h3z\"\/><\/svg><\/a>\r\n          <a href=\"#\" aria-label=\"Instagram\"><svg viewBox=\"0 0 24 24\"><path d=\"M12 2.2c3.2 0 3.6 0 4.8.1 3.3.1 4.8 1.7 4.9 4.9.1 1.2.1 1.6.1 4.8s0 3.6-.1 4.8c-.1 3.2-1.6 4.8-4.9 4.9-1.2.1-1.6.1-4.8.1s-3.6 0-4.8-.1c-3.3-.1-4.8-1.7-4.9-4.9C2.2 15.6 2.2 15.2 2.2 12s0-3.6.1-4.8C2.4 4 3.9 2.4 7.2 2.3 8.4 2.2 8.8 2.2 12 2.2zm0 3.2A6.6 6.6 0 1 0 18.6 12 6.6 6.6 0 0 0 12 5.4zm0 10.9A4.3 4.3 0 1 1 16.3 12 4.3 4.3 0 0 1 12 16.3zM18.8 5a1.5 1.5 0 1 0 1.5 1.5A1.5 1.5 0 0 0 18.8 5z\"\/><\/svg><\/a>\r\n          <a href=\"#\" aria-label=\"LinkedIn\"><svg viewBox=\"0 0 24 24\"><path d=\"M4.98 3.5A2.5 2.5 0 1 0 5 8.5a2.5 2.5 0 0 0 0-5zM3 9h4v12H3zM9 9h3.8v1.7h.1c.5-.9 1.8-1.9 3.6-1.9 3.9 0 4.6 2.5 4.6 5.8V21h-4v-5c0-1.2 0-2.7-1.7-2.7s-1.9 1.3-1.9 2.6V21H9z\"\/><\/svg><\/a>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Navigation -->\r\n      <div class=\"tfs-footer__col\" data-tfs-fa>\r\n        <h4>Navigation<\/h4>\r\n        <ul>\r\n          <li><a href=\"#\">Accueil<\/a><\/li>\r\n          <li><a href=\"#tfs-about\">\u00c0 propos<\/a><\/li>\r\n          <li><a href=\"#\">Services<\/a><\/li>\r\n          <li><a href=\"#\">R\u00e9alisations<\/a><\/li>\r\n          <li><a href=\"#\">Contact<\/a><\/li>\r\n        <\/ul>\r\n      <\/div>\r\n\r\n      <!-- Services -->\r\n      <div class=\"tfs-footer__col\" data-tfs-fa>\r\n        <h4>Nos services<\/h4>\r\n        <ul>\r\n          <li><a href=\"#\">Terrassement<\/a><\/li>\r\n          <li><a href=\"#\">Nivellement<\/a><\/li>\r\n          <li><a href=\"#\">Excavation<\/a><\/li>\r\n          <li><a href=\"#\">Compactage<\/a><\/li>\r\n          <li><a href=\"#\">Voirie &amp; r\u00e9seaux<\/a><\/li>\r\n        <\/ul>\r\n      <\/div>\r\n\r\n      <!-- Contact -->\r\n      <div class=\"tfs-footer__col\" data-tfs-fa>\r\n        <h4>Contact<\/h4>\r\n        <ul class=\"tfs-footer__contact\">\r\n          <li><svg viewBox=\"0 0 24 24\"><path d=\"M21 10c0 7-9 12-9 12s-9-5-9-12a9 9 0 0 1 18 0z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg> 18 Chemin du Takamaka, Le Tampon 97430, La R\u00e9union<\/li>\r\n          <li><svg viewBox=\"0 0 24 24\"><path d=\"M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3-8.6A2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7l.6 3a2 2 0 0 1-.6 1.9L7.6 10a16 16 0 0 0 6 6l1.4-1.5a2 2 0 0 1 1.9-.5l3 .6a2 2 0 0 1 1.7 2z\"\/><\/svg> <a href=\"tel:+262692273394\">0692 27 33 94<\/a><\/li>\r\n          <li><svg viewBox=\"0 0 24 24\"><path d=\"M4 4h16v16H4z\"\/><path d=\"m22 6-10 7L2 6\"\/><\/svg> <a href=\"mailto:contact@terrassementforcesolution.re\">contact@terrassementforcesolution.re<\/a><\/li>\r\n        <\/ul>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- Barre du bas -->\r\n    <div class=\"tfs-footer__bottom\" data-tfs-fa>\r\n      <p>\u00a9 <span id=\"tfsYear\"><\/span> <a href=\"#\">Terrassement Force Solution<\/a>. Tous droits r\u00e9serv\u00e9s. Propuls\u00e9e par <a href=\"https:\/\/adamkom.com\/\">Adamkom by JJP<\/a><\/p>\r\n      <div class=\"tfs-footer__legal\">\r\n        <button class=\"tfs-footer__link-btn\" data-tfs-modal=\"mentions\">Mentions l\u00e9gales<\/button>\r\n        <button class=\"tfs-footer__link-btn\" data-tfs-modal=\"privacy\">Politique de confidentialit\u00e9<\/button>\r\n        <button class=\"tfs-footer__link-btn\" data-tfs-modal=\"terms\">Termes &amp; conditions<\/button>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"tfs-footer__tracks\" aria-hidden=\"true\"><\/div>\r\n\r\n  <!-- ================= POPUP ================= -->\r\n  <div class=\"tfs-modal\" id=\"tfsModal\" role=\"dialog\" aria-modal=\"true\">\r\n    <div class=\"tfs-modal__overlay\" data-tfs-close><\/div>\r\n    <div class=\"tfs-modal__box\">\r\n      <div class=\"tfs-modal__head\">\r\n        <h3 id=\"tfsModalTitle\">Titre<\/h3>\r\n        <button class=\"tfs-modal__close\" data-tfs-close aria-label=\"Fermer\">&times;<\/button>\r\n      <\/div>\r\n      <div class=\"tfs-modal__body\" id=\"tfsModalBody\"><\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- ================= JS ================= -->\r\n  <script>\r\n  (function(){\r\n    const footer = document.querySelector('.tfs-footer');\r\n    if (!footer) return;\r\n\r\n    \/* 1. Ann\u00e9e dynamique *\/\r\n    const yearEl = document.getElementById('tfsYear');\r\n    if (yearEl) yearEl.textContent = new Date().getFullYear();\r\n\r\n    \/* 2. Retour en haut s\u00e9curis\u00e9 *\/\r\n    const topBtn = document.getElementById('tfsTop');\r\n    if (topBtn) {\r\n      topBtn.addEventListener('click', () => window.scrollTo({top:0, behavior:'smooth'}));\r\n    }\r\n\r\n    \/* 3. Poussi\u00e8re flottante g\u00e9n\u00e9r\u00e9e dynamiquement *\/\r\n    for(let i=0;i<12;i++){\r\n      const d = document.createElement('span');\r\n      d.className = 'tfs-footer__dust';\r\n      d.style.left = Math.random()*100+'%';\r\n      d.style.animationDelay = (Math.random()*7)+'s';\r\n      d.style.animationDuration = (5+Math.random()*4)+'s';\r\n      d.style.transform = 'scale('+(0.4+Math.random())+')';\r\n      footer.appendChild(d);\r\n    }\r\n\r\n    \/* 4. Apparition au scroll *\/\r\n    const io = new IntersectionObserver((es)=>{\r\n      es.forEach((e,i)=>{ if(e.isIntersecting){\r\n        setTimeout(()=>e.target.classList.add('is-in'), i*100);\r\n        io.unobserve(e.target);\r\n      }});\r\n    },{threshold:.2});\r\n    footer.querySelectorAll('[data-tfs-fa]').forEach(el=>io.observe(el));\r\n\r\n    \/* 5. Contenu des popups *\/\r\n    const content = {\r\n      mentions:{\r\n        title:'Mentions <span>l\u00e9gales<\/span>',\r\n        html:`<h4>\u00c9diteur du site<\/h4>\r\n          <p>Terrassement Force Solution \u2013 Si\u00e8ge social : 18 Chemin du Takamaka, Le Tampon 97430, La R\u00e9union.<\/p>\r\n          <h4>Directeur de la publication<\/h4>\r\n          <p>Le repr\u00e9sentant l\u00e9gal de Terrassement Force Solution.<\/p>\r\n          <h4>H\u00e9bergement<\/h4>\r\n          <p>Site h\u00e9berg\u00e9 par un prestataire d'h\u00e9bergement web professionnel.<\/p>\r\n          <h4>Propri\u00e9t\u00e9 intellectuelle<\/h4>\r\n          <p>L'ensemble des contenus (textes, images, logos) est la propri\u00e9t\u00e9 exclusive de Terrassement Force Solution. Toute reproduction est interdite sans autorisation pr\u00e9alable.<\/p>`\r\n      },\r\n      privacy:{\r\n        title:'Politique de <span>confidentialit\u00e9<\/span>',\r\n        html:`<h4>Collecte des donn\u00e9es<\/h4>\r\n          <p>Nous collectons uniquement les donn\u00e9es n\u00e9cessaires au traitement de vos demandes (nom, e-mail, t\u00e9l\u00e9phone) via nos outils de contact direct.<\/p>\r\n          <h4>Utilisation<\/h4>\r\n          <p>Vos donn\u00e9es servent exclusivement \u00e0 vous recontacter et \u00e0 am\u00e9liorer nos services. Elles ne sont jamais revendues \u00e0 des tiers.<\/p>\r\n          <h4>Vos droits (RGPD)<\/h4>\r\n          <p>Vous disposez d'un droit d'acc\u00e8s, de rectification et de suppression de vos donn\u00e9es personnelles. Contactez-nous \u00e0 contact@terrassementforcesolution.re.<\/p>\r\n          <h4>Cookies<\/h4>\r\n          <p>Ce site utilise des cookies de mesure d'audience pour am\u00e9liorer votre exp\u00e9rience de navigation.<\/p>`\r\n      },\r\n      terms:{\r\n        title:'Termes &amp; <span>conditions<\/span>',\r\n        html:`<h4>Objet<\/h4>\r\n          <p>Les pr\u00e9sentes conditions r\u00e9gissent l'utilisation du site et des services propos\u00e9s par Terrassement Force Solution.<\/p>\r\n          <h4>Devis &amp; prestations<\/h4>\r\n          <p>Tout devis est gratuit et sans engagement. Les prestations d\u00e9butent apr\u00e8s acceptation \u00e9crite du devis par le client.<\/p>\r\n          <h4>Responsabilit\u00e9<\/h4>\r\n          <p>Nos \u00e9quipes s'engagent \u00e0 respecter les normes de s\u00e9curit\u00e9 en vigueur sur l'ensemble de nos chantiers \u00e0 La R\u00e9union.<\/p>\r\n          <h4>Litiges<\/h4>\r\n          <p>Tout litige sera soumis \u00e0 la juridiction comp\u00e9tente \u00e0 d\u00e9faut de r\u00e8glement amiable.<\/p>`\r\n      }\r\n    };\r\n\r\n    \/* 6. Gestion du modal s\u00e9curis\u00e9e *\/\r\n    const modal = document.getElementById('tfsModal');\r\n    const mTitle = document.getElementById('tfsModalTitle');\r\n    const mBody  = document.getElementById('tfsModalBody');\r\n\r\n    if (modal && mTitle && mBody) {\r\n      const openModal = (key)=>{\r\n        const c = content[key]; if(!c) return;\r\n        mTitle.innerHTML = c.title;\r\n        mBody.innerHTML  = c.html;\r\n        modal.classList.add('is-open');\r\n        document.body.style.overflow = 'hidden';\r\n      };\r\n      const closeModal = ()=>{\r\n        modal.classList.remove('is-open');\r\n        document.body.style.overflow = '';\r\n      };\r\n\r\n      footer.querySelectorAll('[data-tfs-modal]').forEach(btn=>{\r\n        btn.addEventListener('click',()=>openModal(btn.dataset.tfsModal));\r\n      });\r\n      modal.querySelectorAll('[data-tfs-close]').forEach(el=>\r\n        el.addEventListener('click',closeModal)\r\n      );\r\n      document.addEventListener('keydown',e=>{\r\n        if(e.key === 'Escape') closeModal();\r\n      });\r\n    }\r\n  })();\r\n  <\/script>\r\n<\/footer>\t\t\t\t<\/div>\n\t\t\n<\/div>\n\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>0692 27 33 94 contact@terrassementforcesolution.re 18 Chemin du Takamaka, Le Tampon 97430, La R\u00e9union Intervention dans toute Le Sud l&rsquo;\u00eele de La R\u00e9union 0692 27 33 94 contact@terrassementforcesolution.re 18 Chemin du Takamaka, Le Tampon 97430, La R\u00e9union Intervention sur toute l&rsquo;\u00eele de La R\u00e9union Accueil Services R\u00e9alisations \u00c0 Propos Contact Demander un devis Menu 01Accueil [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-2","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Accueil - Terrassement Force Solution<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/terrassementforcesolution.re\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Accueil - Terrassement Force Solution\" \/>\n<meta property=\"og:description\" content=\"0692 27 33 94 contact@terrassementforcesolution.re 18 Chemin du Takamaka, Le Tampon 97430, La R\u00e9union Intervention dans toute Le Sud l&rsquo;\u00eele de La R\u00e9union 0692 27 33 94 contact@terrassementforcesolution.re 18 Chemin du Takamaka, Le Tampon 97430, La R\u00e9union Intervention sur toute l&rsquo;\u00eele de La R\u00e9union Accueil Services R\u00e9alisations \u00c0 Propos Contact Demander un devis Menu 01Accueil [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/terrassementforcesolution.re\/\" \/>\n<meta property=\"og:site_name\" content=\"Terrassement Force Solution\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-28T05:19:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/07\/Lofo-TFS-.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/terrassementforcesolution.re\\\/\",\"url\":\"https:\\\/\\\/terrassementforcesolution.re\\\/\",\"name\":\"Accueil - Terrassement Force Solution\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/terrassementforcesolution.re\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/terrassementforcesolution.re\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/terrassementforcesolution.re\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/terrassementforcesolution.re\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/Lofo-TFS-.jpg\",\"datePublished\":\"2026-07-27T07:35:38+00:00\",\"dateModified\":\"2026-08-28T05:19:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/terrassementforcesolution.re\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/terrassementforcesolution.re\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/terrassementforcesolution.re\\\/#primaryimage\",\"url\":\"https:\\\/\\\/terrassementforcesolution.re\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/Lofo-TFS-.jpg\",\"contentUrl\":\"https:\\\/\\\/terrassementforcesolution.re\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/Lofo-TFS-.jpg\",\"width\":500,\"height\":200},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/terrassementforcesolution.re\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/terrassementforcesolution.re\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Accueil\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/terrassementforcesolution.re\\\/#website\",\"url\":\"https:\\\/\\\/terrassementforcesolution.re\\\/\",\"name\":\"Terrassement Force Solution\",\"description\":\"Terrassement\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/terrassementforcesolution.re\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Accueil - Terrassement Force Solution","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/terrassementforcesolution.re\/","og_locale":"fr_FR","og_type":"article","og_title":"Accueil - Terrassement Force Solution","og_description":"0692 27 33 94 contact@terrassementforcesolution.re 18 Chemin du Takamaka, Le Tampon 97430, La R\u00e9union Intervention dans toute Le Sud l&rsquo;\u00eele de La R\u00e9union 0692 27 33 94 contact@terrassementforcesolution.re 18 Chemin du Takamaka, Le Tampon 97430, La R\u00e9union Intervention sur toute l&rsquo;\u00eele de La R\u00e9union Accueil Services R\u00e9alisations \u00c0 Propos Contact Demander un devis Menu 01Accueil [&hellip;]","og_url":"https:\/\/terrassementforcesolution.re\/","og_site_name":"Terrassement Force Solution","article_modified_time":"2026-08-28T05:19:21+00:00","og_image":[{"url":"https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/07\/Lofo-TFS-.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/terrassementforcesolution.re\/","url":"https:\/\/terrassementforcesolution.re\/","name":"Accueil - Terrassement Force Solution","isPartOf":{"@id":"https:\/\/terrassementforcesolution.re\/#website"},"primaryImageOfPage":{"@id":"https:\/\/terrassementforcesolution.re\/#primaryimage"},"image":{"@id":"https:\/\/terrassementforcesolution.re\/#primaryimage"},"thumbnailUrl":"https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/07\/Lofo-TFS-.jpg","datePublished":"2026-07-27T07:35:38+00:00","dateModified":"2026-08-28T05:19:21+00:00","breadcrumb":{"@id":"https:\/\/terrassementforcesolution.re\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/terrassementforcesolution.re\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/terrassementforcesolution.re\/#primaryimage","url":"https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/07\/Lofo-TFS-.jpg","contentUrl":"https:\/\/terrassementforcesolution.re\/wp-content\/uploads\/2026\/07\/Lofo-TFS-.jpg","width":500,"height":200},{"@type":"BreadcrumbList","@id":"https:\/\/terrassementforcesolution.re\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/terrassementforcesolution.re\/"},{"@type":"ListItem","position":2,"name":"Accueil"}]},{"@type":"WebSite","@id":"https:\/\/terrassementforcesolution.re\/#website","url":"https:\/\/terrassementforcesolution.re\/","name":"Terrassement Force Solution","description":"Terrassement","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/terrassementforcesolution.re\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"}]}},"_links":{"self":[{"href":"https:\/\/terrassementforcesolution.re\/index.php\/wp-json\/wp\/v2\/pages\/2","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/terrassementforcesolution.re\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/terrassementforcesolution.re\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/terrassementforcesolution.re\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/terrassementforcesolution.re\/index.php\/wp-json\/wp\/v2\/comments?post=2"}],"version-history":[{"count":388,"href":"https:\/\/terrassementforcesolution.re\/index.php\/wp-json\/wp\/v2\/pages\/2\/revisions"}],"predecessor-version":[{"id":495,"href":"https:\/\/terrassementforcesolution.re\/index.php\/wp-json\/wp\/v2\/pages\/2\/revisions\/495"}],"wp:attachment":[{"href":"https:\/\/terrassementforcesolution.re\/index.php\/wp-json\/wp\/v2\/media?parent=2"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}