{"id":7437,"date":"2026-02-20T16:47:00","date_gmt":"2026-02-20T16:47:00","guid":{"rendered":"https:\/\/entretienlaurentides.ca\/?page_id=7437"},"modified":"2026-03-28T19:26:11","modified_gmt":"2026-03-28T19:26:11","slug":"home-home-home","status":"publish","type":"page","link":"https:\/\/entretienlaurentides.ca\/?page_id=7437","title":{"rendered":"ACCUEIL"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"7437\" class=\"elementor elementor-7437\">\n\t\t\t\t<div class=\"elementor-element elementor-element-151779f e-con-full e-flex e-con e-parent\" data-id=\"151779f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f69edf5 elementor-widget elementor-widget-html\" data-id=\"f69edf5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"wp-block-cover alignfull is-light hero-section\">\n\n  <!-- VIDEO BACKGROUND -->\n  <video class=\"hero-video\"\n    src=\"https:\/\/entretienlaurentides.ca\/wp-content\/uploads\/2026\/01\/Design-sans-titre-1-7.mp4\"\n    autoplay\n    loop\n    muted\n    playsinline>\n  <\/video>\n\n  <!-- OVERLAY -->\n  <div class=\"hero-overlay\"><\/div>\n\n  \n\n  <!-- CONTENU -->\n  <div class=\"hero-content\">\n    <h2>Vous r\u00eavez de votre ext\u00e9rieur,<br>nous le r\u00e9alisons.<\/h2>\n    <a class=\"hero-btn\" href=\"https:\/\/entretienlaurentides.ca\/?page_id=18\">\n      R\u00e9servez votre soumission gratuite\n    <\/a>\n  <\/div>\n\n<\/div>\n\n<style>\n\n\/* Header principal *\/\n.site-header,\nheader,\n.elementor-location-header,\n.wp-block-template-part,\n#masthead {\n  background: rgba(4, 21, 15, 0.75) !important;\n  backdrop-filter: blur(8px);\n  -webkit-backdrop-filter: blur(8px);\n  transition: background 0.3s ease;\n}\n\n\/* Supprime couleur*\/\n.site-header *,\nheader *,\n.elementor-location-header * {\n  background-color: transparent !important;\n}\n\n\/* menu blanc *\/\n.site-header a,\nheader a,\n.elementor-location-header a {\n  color: #ffffff !important;\n}\n\n\/* Hover  *\/\n.site-header a:hover,\nheader a:hover,\n.elementor-location-header a:hover {\n  color: #dddddd !important;\n}\n\/* ===============================\n   HERO STRUCTURE\n================================ *\/\n.hero-section {\n  position: relative;\n  width: 100%;\n  min-height: 100svh;\n  margin: 0;\n  padding: 0;\n  overflow: hidden;\n}\n\n\/* VIDEO *\/\n.hero-video {\n  position: absolute;\n  inset: 0;\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  z-index: 1;\n}\n\n\/* OVERLAY *\/\n.hero-overlay {\n  position: absolute;\n  inset: 0;\n  background: rgba(0,0,0,0.35);\n  z-index: 2;\n}\n\n\/* CONTENU *\/\n.hero-content {\n  position: relative;\n  z-index: 3;\n  min-height: 100svh;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  text-align: center;\n  padding: clamp(20px, 4vw, 40px);\n}\n\n.hero-content h2 {\n  color: #ffffff;\n  font-family: 'Montserrat', sans-serif;\n  font-size: clamp(1.8rem, 4.5vw, 4rem);\n  font-weight: 700;\n  line-height: 1.2;\n  margin-bottom: clamp(28px, 4vw, 42px);\n  max-width: 900px;\n}\n\n\/* CTA *\/\n.hero-btn {\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  padding: 18px 48px;\n  min-width: 260px;\n  background: rgba(255,255,255,0.08);\n  border: 2px solid rgba(255,255,255,0.95);\n  color: #ffffff;\n  font-family: 'Montserrat', sans-serif;\n  font-size: 0.95rem;\n  font-weight: 600;\n  letter-spacing: 0.18em;\n  text-transform: uppercase;\n  text-decoration: none;\n  transition: background 0.3s ease, transform 0.3s ease;\n}\n\n.hero-btn:hover {\n  background: rgba(255,255,255,0.18);\n  transform: translateY(-2px);\n}\n\n\/* AUDIO BUTTON *\/\n#audio-toggle {\n  position: absolute;\n  bottom: 24px;\n  left: 50%;\n  transform: translateX(-50%);\n  z-index: 4;\n  width: 46px;\n  height: 46px;\n  border-radius: 50%;\n  border: none;\n  background: rgba(0,0,0,0.75);\n  color: #ffffff;\n  font-size: 18px;\n  cursor: pointer;\n  backdrop-filter: blur(6px);\n}\n\n\/* MOBILE *\/\n@media (max-width: 600px) {\n  .hero-btn {\n    width: 100%;\n    max-width: 320px;\n    letter-spacing: 0.14em;\n  }\n}\n<\/style>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', () => {\n  const audio = document.getElementById('bg-audio');\n  const btn = document.getElementById('audio-toggle');\n  let started = false;\n\n  function startAudio() {\n    if (!started) {\n      audio.volume = 0.2;\n      audio.play().catch(() => {});\n      started = true;\n    }\n  }\n\n  window.addEventListener('scroll', startAudio, { once: true });\n  window.addEventListener('click', startAudio, { once: true });\n\n  btn.addEventListener('click', (e) => {\n    e.stopPropagation();\n    if (audio.paused) {\n      audio.play();\n      btn.textContent = \"\ud83d\udd0a\";\n    } else {\n      audio.pause();\n      btn.textContent = \"\ud83d\udd07\";\n    }\n  });\n});\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8c1d39a elementor-widget elementor-widget-html\" data-id=\"8c1d39a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section id=\"h1-marquee-section\" class=\"h1-marquee-section\">\n  <div class=\"h1-marquee-inner\">\n    <h1 class=\"h1-marquee-title\">\n      <div class=\"h1-marquee-track\" id=\"h1-marquee-track\">\n        <span class=\"h1-marquee-copy\" id=\"h1-marquee-copy\">\n          DES EXT\u00c9RIEURS PENS\u00c9S COMME DES ESPACES DE VIE DURABLES\n        <\/span>\n      <\/div>\n    <\/h1>\n  <\/div>\n<\/section>\n\n<style>\n\/* ===============================\n   SECTION\n================================ *\/\n.h1-marquee-section {\n  position: relative;\n  padding: clamp(40px, 18vh, 80px) 0;\n  background: #ffffff;\n  overflow: hidden;\n  font-family: 'Montserrat', sans-serif;\n}\n\n\/* ===============================\n   H1 MASSIF\n================================ *\/\n.h1-marquee-title {\n  margin: 0;\n  padding: 0;\n  font-weight: 900;\n  font-size: clamp(6rem, 18vw, 18rem);\n  letter-spacing: -0.05em;\n  text-transform: uppercase;\n  color: #111;\n  white-space: nowrap;\n  text-align: center;\n  line-height: 0.8; \n}\n\n\/* Track *\/\n.h1-marquee-track {\n  display: inline-flex;\n  white-space: nowrap;\n  will-change: transform;\n}\n\n\/* Copies *\/\n.h1-marquee-copy {\n  display: inline-block;\n  padding-right: 8rem;\n}\n<\/style>\n\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.12.5\/gsap.min.js\"><\/script>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.12.5\/ScrollTrigger.min.js\"><\/script>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n  gsap.registerPlugin(ScrollTrigger);\n\n  const section = document.getElementById(\"h1-marquee-section\");\n  const track = document.getElementById(\"h1-marquee-track\");\n  const copyTemplate = document.getElementById(\"h1-marquee-copy\");\n\n  if (!section || !track || !copyTemplate) return;\n\n  const baseSpeed = 100;\n  const maxExtraSpeed = 350;\n  const damping = 0.12;\n\n  let baseX = 0;\n  let lastTime = performance.now();\n  let scrollVelocity = 0;\n  let smoothVelocity = 0;\n\n  const singleWidth = copyTemplate.offsetWidth;\n  const viewportWidth = window.innerWidth;\n  const neededWidth = viewportWidth * 3;\n  const copies = Math.max(Math.ceil(neededWidth \/ singleWidth), 6);\n\n  copyTemplate.removeAttribute(\"id\");\n\n  for (let i = 1; i < copies; i++) {\n    const clone = copyTemplate.cloneNode(true);\n    track.appendChild(clone);\n  }\n\n  const totalWidth = singleWidth * copies;\n\n  function wrap(min, max, v) {\n    const range = max - min;\n    return (((v - min) % range) + range) % range + min;\n  }\n\n  function animate(currentTime) {\n    const delta = currentTime - lastTime;\n    lastTime = currentTime;\n    const dt = delta \/ 1000;\n\n    smoothVelocity += (scrollVelocity - smoothVelocity) * damping;\n\n    const normalized = Math.max(-900, Math.min(900, smoothVelocity));\n    const extraSpeed = (normalized \/ 900) * maxExtraSpeed;\n\n    const currentSpeed = baseSpeed + extraSpeed;\n\n    baseX -= currentSpeed * dt;\n\n    const x = wrap(-totalWidth, 0, baseX);\n    track.style.transform = `translateX(${x}px)`;\n\n    requestAnimationFrame(animate);\n  }\n\n  ScrollTrigger.create({\n    trigger: section,\n    start: \"top bottom\",\n    end: \"bottom top\",\n    onUpdate: (self) => {\n      scrollVelocity = self.getVelocity();\n    }\n  });\n\n  requestAnimationFrame(animate);\n});\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fda83e6 e-flex e-con-boxed e-con e-child\" data-id=\"fda83e6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-032a333 elementor-widget elementor-widget-html\" data-id=\"032a333\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n\/* ===============================\n   SECTION\n================================ *\/\n.section-services-bg {\n  background: #ffffff;\n  padding: clamp(20px, 6vh, 0px) 10px;\n}\n\n.services-inner {\n  max-width: 1200px;\n  margin: 0 auto;\n  text-align: center;\n}\n\n\/* TITRE *\/\n.services-inner h2 {\n  font-family: 'Montserrat', sans-serif;\n  font-size: clamp(2.2rem, 4vw, 3rem);\n  font-weight: 700;\n  letter-spacing: 0.25em;\n  text-transform: uppercase;\n  color: #1f7f4c;\n  margin-bottom: clamp(5px, 8vh, 80px);\n  margin-top: -120px;\n}\n\n\/* ===============================\n   GRID\n================================ *\/\n.services-grid-bg {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 40px;\n}\n\n\/* ===============================\n   CARD\n================================ *\/\n.service-card-bg {\n  position: relative;\n  width: 100%;\n  max-width: 360px;\n  border-radius: 6px;\n  overflow: hidden;\n  background-size: cover;\n  background-position: center;\n  box-shadow: 0 18px 45px rgba(0,0,0,0.15);\n  transition: transform 0.45s ease, box-shadow 0.45s ease;\n}\n\n\/* (fallback iOS) *\/\n.service-card-bg::after {\n  content: \"\";\n  display: block;\n  padding-top: 100%;\n}\n\n\/* HOVER desktop  *\/\n@media (hover: hover) {\n  .service-card-bg:hover {\n    transform: scale(1.025);\n    box-shadow: 0 28px 65px rgba(0,0,0,0.22);\n    z-index: 2;\n  }\n}\n\n\/* OVERLAY *\/\n.service-card-bg::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background: rgba(0,0,0,0.45);\n  z-index: 1;\n}\n\n\/* ===============================\n   CONTENU\n================================ *\/\n.service-content {\n  position: absolute;\n  inset: 0;\n  z-index: 2;\n  padding: 34px;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  text-align: center;\n  color: #ffffff;\n}\n\n\/* TITRE *\/\n.service-content h3 {\n  font-family: 'Montserrat', sans-serif;\n  font-size: 1.35rem;\n  font-weight: 700;\n  letter-spacing: 0.12em;\n  text-transform: uppercase;\n  margin-bottom: 12px;\n  color: #ffffff !important;\n}\n\n\/* TEXTE *\/\n.service-content p {\n  font-size: 0.95rem;\n  line-height: 1.9;\n  max-width: 85%;\n  margin-bottom: 30px;\n  opacity: 0.95;\n}\n\n\/* FORCER  *\/\n.line-break {\n  display: block;\n}\n\n\/* BOUTON *\/\n.service-btn {\n  padding: 14px 44px;\n  border: 2px solid #ffffff;\n  background: transparent;\n  color: #ffffff;\n  font-family: 'Montserrat', sans-serif;\n  font-size: 0.8rem;\n  font-weight: 600;\n  letter-spacing: 0.25em;\n  text-transform: uppercase;\n  text-decoration: none;\n  transition: background 0.3s ease, transform 0.3s ease;\n}\n\n.service-btn:hover {\n  background: rgba(255,255,255,0.15);\n  transform: translateY(-2px);\n}\n\n\/* ===============================\n   RESPONSIVE\n================================ *\/\n@media (min-width: 1024px) {\n  .service-card-bg {\n    flex: 0 0 calc(33.333% - 40px);\n  }\n}\n\n@media (min-width: 600px) and (max-width: 1023px) {\n  .service-card-bg {\n    flex: 0 0 calc(50% - 40px);\n  }\n}\n\n@media (max-width: 599px) {\n  .service-card-bg {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n}\n<\/style>\n\n<section class=\"section-services-bg\">\n  <div class=\"services-inner\">\n    <h2>NOS SERVICES<\/h2>\n\n    <div class=\"services-grid-bg\">\n\n      <div class=\"service-card-bg\" style=\"background-image:url('https:\/\/entretienlaurentides.ca\/wp-content\/uploads\/2026\/01\/cropped-1603153972_3556_dominique-filion-amenagement-paysager-facade_4-1.jpg');\">\n        <div class=\"service-content\">\n          <h3>Am\u00e9nagement paysager<\/h3>\n          <p>Conception et r\u00e9alisation d\u2019espaces ext\u00e9rieurs durables.<\/p>\n          <a class=\"service-btn\" href=\"https:\/\/entretienlaurentides.ca\/?p=7146\">Voir<\/a>\n        <\/div>\n      <\/div>\n\n      <div class=\"service-card-bg\" style=\"background-image:url('https:\/\/entretienlaurentides.ca\/wp-content\/uploads\/2026\/01\/24-Beautiful-Driveway-Landscaping-Ideas-2.jpeg');\">\n        <div class=\"service-content\">\n          <h3>Pav\u00e9 uni<\/h3>\n          <p>All\u00e9es et surfaces \u00e9l\u00e9gantes con\u00e7ues pour durer.<\/p>\n          <a class=\"service-btn\" href=\"https:\/\/entretienlaurentides.ca\/?p=6998\">Voir<\/a>\n        <\/div>\n      <\/div>\n\n      <div class=\"service-card-bg\" style=\"background-image:url('https:\/\/entretienlaurentides.ca\/wp-content\/uploads\/2026\/01\/1.jpeg');\">\n        <div class=\"service-content\">\n          <h3>Excavation<\/h3>\n          <p>Travaux pr\u00e9cis et s\u00e9curitaires pour vos projets.<\/p>\n          <a class=\"service-btn\" href=\"https:\/\/entretienlaurentides.ca\/?p=6999\">Voir<\/a>\n        <\/div>\n      <\/div>\n\n      <div class=\"service-card-bg\" style=\"background-image:url('https:\/\/entretienlaurentides.ca\/wp-content\/uploads\/2018\/11\/patio.jpeg');\">\n        <div class=\"service-content\">\n          <h3>Teinture <br> et Sablage <\/h3>\n          <p>\n            Espaces de vie <br> ext\u00e9rieurs sur mesure.\n          <\/p>\n          <a class=\"service-btn\" href=\"https:\/\/entretienlaurentides.ca\/?p=7000\">Voir<\/a>\n        <\/div>\n      <\/div>\n\n      <div class=\"service-card-bg\" style=\"background-image:url('https:\/\/entretienlaurentides.ca\/wp-content\/uploads\/2025\/03\/IMG_20240529_102304-scaled.jpg');\">\n        <div class=\"service-content\">\n          <h3>Asphalte<\/h3>\n          <p>\n            Entr\u00e9es r\u00e9sistantes ex\u00e9cut\u00e9es\n            <span class=\"line-break\">avec rigueur.<\/span>\n          <\/p>\n          <a class=\"service-btn\" href=\"https:\/\/entretienlaurentides.ca\/?p=7004\">Voir<\/a>\n        <\/div>\n      <\/div>\n\n      <div class=\"service-card-bg\" style=\"background-image:url('https:\/\/entretienlaurentides.ca\/wp-content\/uploads\/2026\/01\/unnamed-file-3.jpeg');\">\n        <div class=\"service-content\">\n          <h3>D\u00e9neigement<\/h3>\n          <p>\n            Services hivernaux fiables\n            <span class=\"line-break\">et s\u00e9curitaires.<\/span>\n          <\/p>\n          <a class=\"service-btn\" href=\"https:\/\/entretienlaurentides.ca\/?p=7085\">Voir<\/a>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/section>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1280313 elementor-widget elementor-widget-html\" data-id=\"1280313\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n\/* ===============================\n   SECTION ENGAGEMENT\n================================ *\/\n.section-engagement {\n  position: relative;\n  padding: 20px 24px 10px;\n  background: #ffffff;\n}\n\n.engagement-inner {\n  max-width: 1100px;\n  margin: 0 auto;\n  text-align: center;\n}\n\n\/* TITRE *\/\n.section-engagement h2 {\n  font-family: 'Montserrat', sans-serif;\n  font-size: clamp(2.2rem, 4vw, 2.8rem);\n  font-weight: 700;\n  color: #111;\n  margin-bottom: 24px;\n}\n\n\/* TEXTE *\/\n.engagement-text {\n  font-family: 'Montserrat', sans-serif;\n  font-size: 1rem;\n  line-height: 1.9;\n  color: #555;\n  max-width: 880px;\n  margin: 0 auto 70px;\n}\n\n.engagement-text strong {\n  color: #111;\n}\n\n\/* ===============================\n   GRID\n================================ *\/\n.engagement-stats {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 30px;\n}\n\n\/* ===============================\n   CARD \n================================ *\/\n.engagement-stat-box {\n  flex: 0 0 260px;\n  max-width: 280px;\n  border-radius: 16px;\n  border: 1px solid rgba(0,0,0,0.06);\n  background: linear-gradient(180deg, #ffffff, #f5f5f5);\n  padding: 32px 26px 28px;\n  text-align: center;\n  box-shadow: 0 22px 60px rgba(0,0,0,0.08);\n\n  opacity: 0;\n  transform: translateY(70px) scale(0.88);\n  filter: blur(14px);\n\n  transition:\n    opacity 1s cubic-bezier(.22,.61,.36,1),\n    transform 1s cubic-bezier(.22,.61,.36,1),\n    filter 1s cubic-bezier(.22,.61,.36,1),\n    box-shadow 0.4s ease;\n  will-change: transform;\n}\n\n\/* APPARITION *\/\n.engagement-stat-box.visible {\n  opacity: 1;\n  transform: translateY(0) scale(1);\n  filter: blur(0);\n}\n\n\/* ===============================\n   CONTENU\n================================ *\/\n.engagement-number {\n  font-family: 'Montserrat', sans-serif;\n  font-size: 2.8rem;\n  font-weight: 700;\n  color: #111;\n  margin-bottom: 8px;\n}\n\n.engagement-label {\n  font-family: 'Montserrat', sans-serif;\n  font-size: 0.9rem;\n  letter-spacing: 0.14em;\n  text-transform: uppercase;\n  color: #777;\n}\n\n.engagement-subtext {\n  font-family: 'Montserrat', sans-serif;\n  font-size: 0.9rem;\n  color: #777;\n  margin-top: 12px;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 768px) {\n  .engagement-stat-box {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n}\n<\/style>\n\n<section class=\"section-engagement\">\n  <div class=\"engagement-inner\">\n    <h2>Notre engagement<\/h2>\n\n    <p class=\"engagement-text\">\n      Depuis plus de <strong>10 ans<\/strong>, nous accompagnons nos clients dans leurs projets\n      d\u2019<strong>am\u00e9nagement paysager<\/strong> et de <strong>travaux ext\u00e9rieurs 4 saisons<\/strong>.\n      <br><br>\n      Notre priorit\u00e9 : des ext\u00e9rieurs <strong>durables<\/strong>, <strong>fiables<\/strong> et livr\u00e9s\n      dans le <strong>respect de vos d\u00e9lais<\/strong>.\n    <\/p>\n    \n    <\n\n    <div class=\"engagement-stats\">\n\n      <div class=\"engagement-stat-box\" data-target=\"10\" data-suffix=\"+\">\n        <div class=\"engagement-number\">0<\/div>\n        <div class=\"engagement-label\">Ann\u00e9es d'exp\u00e9rience<\/div>\n        <div class=\"engagement-subtext\">Expertise solide et \u00e9prouv\u00e9e.<\/div>\n      <\/div>\n\n      <div class=\"engagement-stat-box\" data-target=\"1400\" data-suffix=\"+\">\n        <div class=\"engagement-number\">0<\/div>\n        <div class=\"engagement-label\">Projets r\u00e9alis\u00e9s<\/div>\n        <div class=\"engagement-subtext\">R\u00e9sidentiel et commercial.<\/div>\n      <\/div>\n\n      <div class=\"engagement-stat-box\" data-target=\"4\">\n        <div class=\"engagement-number\">0<\/div>\n        <div class=\"engagement-label\">Saisons de service<\/div>\n        <div class=\"engagement-subtext\">Pr\u00e9sents toute l\u2019ann\u00e9e.<\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/section>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', () => {\n\n  const boxes = document.querySelectorAll('.engagement-stat-box');\n  const isTouch = window.matchMedia('(hover: none)').matches;\n\n  \/* =====  +  ===== *\/\n  const easeOutBack = t => {\n    const c1 = 1.70158;\n    const c3 = c1 + 1;\n    return 1 + c3 * Math.pow(t - 1, 3) + c1 * Math.pow(t - 1, 2);\n  };\n\n  const observer = new IntersectionObserver((entries, obs) => {\n    entries.forEach((entry, index) => {\n      if (entry.isIntersecting) {\n        const box = entry.target;\n\n        setTimeout(() => {\n          box.classList.add('visible');\n          animateCounter(box);\n        }, index * 260);\n\n        obs.unobserve(box);\n      }\n    });\n  }, { threshold: 0.35 });\n\n  boxes.forEach(box => observer.observe(box));\n\n  function animateCounter(box) {\n    const el = box.querySelector('.engagement-number');\n    const target = parseInt(box.dataset.target, 10);\n    const suffix = box.dataset.suffix || '';\n    const duration = 2000;\n    let start = null;\n\n    function frame(timestamp) {\n      if (!start) start = timestamp;\n      const progress = Math.min((timestamp - start) \/ duration, 1);\n      const eased = easeOutBack(progress);\n      el.textContent = Math.floor(eased * target) + suffix;\n      if (progress < 1) requestAnimationFrame(frame);\n    }\n    requestAnimationFrame(frame);\n  }\n\n  \/* ===== R\u00c9ACTIF ===== *\/\n  if (!isTouch) {\n    boxes.forEach(box => {\n      box.addEventListener('mousemove', e => {\n        const rect = box.getBoundingClientRect();\n        const x = (e.clientX - rect.left) \/ rect.width - 0.5;\n        const y = (e.clientY - rect.top) \/ rect.height - 0.5;\n\n        box.style.transform = `\n          scale(1.08)\n          translate(${x * 12}px, ${y * 12}px)\n        `;\n        box.style.boxShadow = '0 30px 80px rgba(0,0,0,0.18)';\n      });\n\n      box.addEventListener('mouseleave', () => {\n        box.style.transform = 'scale(1)';\n        box.style.boxShadow = '0 22px 60px rgba(0,0,0,0.08)';\n      });\n    });\n  }\n\n});\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f4c920a e-con-full e-flex e-con e-child\" data-id=\"f4c920a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4ff5e0d elementor-widget elementor-widget-text-editor\" data-id=\"4ff5e0d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<section class=\"section-contact-infos\">\n  <div class=\"contact-infos-inner\">\n    <div class=\"contact-infos-grid\">\n\n      <!-- ADRESSE -->\n      <div class=\"contact-box\">\n        <h3>Adresse<\/h3>\n        <p>\n          100 Bd Roland-Godard<br>\n          Saint-J\u00e9r\u00f4me, QC J7Y 4P7\n        <\/p>\n      <\/div>\n\n      <!-- HORAIRES -->\n      <div class=\"contact-box\">\n        <h3>Heures d\u2019ouverture<\/h3>\n        <p>\n          Lundi \u2013 Vendredi<br>\n          9h00 \u2013 16h30\n        <\/p>\n      <\/div>\n\n      <!-- COORDONN\u00c9ES -->\n      <div class=\"contact-box\">\n        <h3>Coordonn\u00e9es<\/h3>\n        <p>\n          T\u00e9l\u00e9phone :<br>\n          <a href=\"tel:+15142997551\">(514) 299-7551<\/a>\n        <\/p>\n        <p>\n          Courriel :<br>\n          <a href=\"mailto:info@entretienlaurentides.ca\">\n            info@entretienlaurentides.ca\n          <\/a>\n        <\/p>\n      <\/div>\n\n      <!-- FACEBOOK -->\n      <div class=\"contact-box\">\n        <h3>Suivez-nous<\/h3>\n        <p>D\u00e9couvrez nos projets et r\u00e9alisations.<\/p>\n\n        <a\n          class=\"fb-link\"\n          href=\"https:\/\/www.facebook.com\/profile.php?id=100063602407291\"\n          target=\"_blank\"\n          rel=\"noopener\"\n        >\n          Facebook\n        <\/a>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/section>\n\n<style>\n\/* ===============================\n   CONTACT INFOS \u2013 PRO\n================================ *\/\n.section-contact-infos {\n  background: #0f0f0f;\n  padding: clamp(50px, 6vw, 80px) 24px;\n  color: #ffffff;\n}\n\n.contact-infos-inner {\n  max-width: 1200px;\n  margin: 0 auto;\n}\n\n.contact-infos-grid {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 36px;\n}\n\n\/* BOX *\/\n.contact-box {\n  font-family: 'Montserrat', sans-serif;\n}\n\n\/* TITRES *\/\n.contact-box h3 {\n  font-size: 0.85rem;\n  letter-spacing: 0.22em;\n  text-transform: uppercase;\n  margin-bottom: 14px;\n  color: #ffffff;\n}\n\n\/* TEXTE *\/\n.contact-box p,\n.contact-box a {\n  font-size: 0.75rem;\n  line-height: 1.8;\n  color: rgba(255, 255, 255, 0.8);\n  text-decoration: none;\n}\n\n.contact-box a:hover {\n  color: #ffffff;\n}\n\n\/* FACEBOOK BOUTON *\/\n.fb-link {\n  display: inline-block;\n  margin-top: 14px;\n  padding: 10px 26px;\n  border: 1px solid rgba(255, 255, 255, 0.75);\n  color: #ffffff;\n  font-size: 0.65rem;\n  letter-spacing: 0.3em;\n  text-transform: uppercase;\n  transition: background 0.25s ease, color 0.25s ease;\n}\n\n.fb-link:hover {\n  background: rgba(255, 255, 255, 0.12);\n}\n\n\/* ===============================\n   RESPONSIVE\n================================ *\/\n@media (max-width: 1024px) {\n  .contact-infos-grid {\n    grid-template-columns: repeat(2, 1fr);\n  }\n}\n\n@media (max-width: 600px) {\n  .contact-infos-grid {\n    grid-template-columns: 1fr;\n    text-align: center;\n  }\n\n  .fb-link {\n    margin-left: auto;\n    margin-right: auto;\n  }\n}\n<\/style>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6ffa17a elementor-widget elementor-widget-google_maps\" data-id=\"6ffa17a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"google_maps.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-custom-embed\">\n\t\t\t<iframe loading=\"lazy\"\n\t\t\t\t\tsrc=\"https:\/\/maps.google.com\/maps?q=100%20ROLAND%20GODARD%20&#038;t=m&#038;z=10&#038;output=embed&#038;iwloc=near\"\n\t\t\t\t\ttitle=\"100 ROLAND GODARD \"\n\t\t\t\t\taria-label=\"100 ROLAND GODARD \"\n\t\t\t><\/iframe>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e49367e e-flex e-con-boxed e-con e-parent\" data-id=\"e49367e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Vous r\u00eavez de votre ext\u00e9rieur,nous le r\u00e9alisons. R\u00e9servez votre soumission gratuite DES EXT\u00c9RIEURS PENS\u00c9S COMME DES ESPACES DE VIE DURABLES NOS SERVICES Am\u00e9nagement paysager Conception et r\u00e9alisation d\u2019espaces ext\u00e9rieurs durables. Voir Pav\u00e9 uni All\u00e9es et surfaces \u00e9l\u00e9gantes con\u00e7ues pour durer. Voir Excavation Travaux pr\u00e9cis et s\u00e9curitaires pour vos projets. Voir Teinture et Sablage Espaces de &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/entretienlaurentides.ca\/?page_id=7437\" class=\"more-link\">Lire la suite de<span class=\"screen-reader-text\">\u00ab\u00a0ACCUEIL\u00a0\u00bb<\/span><\/a><\/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":{"_inspiro_hide_title":false,"footnotes":""},"class_list":["post-7437","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/entretienlaurentides.ca\/index.php?rest_route=\/wp\/v2\/pages\/7437","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/entretienlaurentides.ca\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/entretienlaurentides.ca\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/entretienlaurentides.ca\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/entretienlaurentides.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7437"}],"version-history":[{"count":31,"href":"https:\/\/entretienlaurentides.ca\/index.php?rest_route=\/wp\/v2\/pages\/7437\/revisions"}],"predecessor-version":[{"id":8440,"href":"https:\/\/entretienlaurentides.ca\/index.php?rest_route=\/wp\/v2\/pages\/7437\/revisions\/8440"}],"wp:attachment":[{"href":"https:\/\/entretienlaurentides.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7437"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}