{"id":2410,"date":"2025-07-22T18:37:52","date_gmt":"2025-07-22T18:37:52","guid":{"rendered":"https:\/\/wizardly-gagarin.23-128-160-42.plesk.page\/laser-digital-terrain-mapping-system-pavemetrics-ldtm\/"},"modified":"2026-02-02T17:39:51","modified_gmt":"2026-02-02T17:39:51","slug":"systeme-laser-cartographie-digitale-ltdm","status":"publish","type":"page","link":"https:\/\/www.pavemetrics.com\/fr\/systeme-laser-cartographie-digitale-ltdm\/","title":{"rendered":"Syst\u00e8me laser de cartographie digitale (LDTM)"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2410\" class=\"elementor elementor-2410 elementor-369\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9e2d97c e-con-full e-flex e-con e-parent\" data-id=\"9e2d97c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5f0e842 elementor-widget elementor-widget-html\" data-id=\"5f0e842\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n    * {\r\n        margin: 0;\r\n        padding: 0;\r\n        box-sizing: border-box;\r\n    }\r\n\r\n    body {\r\n        font-family: 'Raleway', sans-serif;\r\n        color: #000000;\r\n        background: #ffffff;\r\n        overflow-x: hidden;\r\n        line-height: 1.6;\r\n    }\r\n\r\n    .hero {\r\n        min-height: 80vh;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        position: relative;\r\n        background: linear-gradient(135deg, #fafafa 0%, #ffffff 100%);\r\n    }\r\n\r\n    .hero-content {\r\n        max-width: 1400px;\r\n        width: 100%;\r\n        display: grid;\r\n        grid-template-columns: 1fr 1fr;\r\n        gap: 100px;\r\n        align-items: center;\r\n    }\r\n\r\n    .hero-text {\r\n        opacity: 0;\r\n        animation: fadeInUp 1.2s cubic-bezier(0.19, 1, 0.22, 1) forwards;\r\n    }\r\n\r\n    .hero-text h1 {\r\n        font-size: clamp(1.8rem, 4vw, 3.5rem);\r\n        font-weight: 300;\r\n        line-height: 1.1;\r\n        margin-bottom: 35px;\r\n        color: #000000;\r\n        letter-spacing: -0.02em;\r\n    }\r\n\r\n    .hero-text h1 strong {\r\n        font-weight: 700;\r\n        background: linear-gradient(135deg, #ED8B00 0%, #BDA865 100%);\r\n        -webkit-background-clip: text;\r\n        -webkit-text-fill-color: transparent;\r\n        background-clip: text;\r\n    }\r\n\r\n    .hero-text p {\r\n        font-size: clamp(1rem, 2vw, 1rem);\r\n        font-weight: 400;\r\n        color: #333;\r\n        margin-bottom: 50px;\r\n        line-height: 1.8;\r\n    }\r\n\r\n    .cta-button {\r\n        display: inline-flex;\r\n        align-items: center;\r\n        gap: 12px;\r\n        padding: 20px 50px;\r\n        background: #ED8B00 !important;\r\n        color: #ffffff !important;\r\n        text-decoration: none;\r\n        font-weight: 600;\r\n        font-size: 1.1rem;\r\n        border-radius: 60px;\r\n        transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);\r\n        border: 2px solid #ED8B00 !important;\r\n        position: relative;\r\n        overflow: hidden;\r\n        box-shadow: 0 10px 40px rgba(237, 139, 0, 0.3) !important;\r\n    }\r\n\r\n    .cta-button::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: -100%;\r\n        width: 100%;\r\n        height: 100%;\r\n        background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);\r\n        transition: left 0.7s;\r\n        z-index: 0;\r\n    }\r\n\r\n    .cta-button:hover::before {\r\n        left: 100%;\r\n    }\r\n\r\n    .cta-button span {\r\n        position: relative;\r\n        z-index: 1;\r\n        color: #ffffff !important;\r\n    }\r\n\r\n    .cta-button:hover {\r\n        background: #BDA865;\r\n        border-color: #BDA865;\r\n        transform: translateY(-3px);\r\n        box-shadow: 0 15px 50px rgba(237, 139, 0, 0.4);\r\n        color: #ffffff !important;\r\n    }\r\n\r\n    .carousel-container {\r\n        position: relative;\r\n        border-radius: 24px;\r\n        overflow: hidden;\r\n        box-shadow: 0 40px 80px rgba(0,0,0,0.12);\r\n        opacity: 0;\r\n        animation: fadeInUp 1.2s cubic-bezier(0.19, 1, 0.22, 1) 0.3s forwards;\r\n        max-width: 80%;\r\n        margin: 0 auto;\r\n    }\r\n    \r\n    .carousel-wrapper {\r\n        position: relative;\r\n        overflow: hidden;\r\n        transition: height 0.8s cubic-bezier(0.19, 1, 0.22, 1);\r\n        max-height: 70vh;\r\n    }\r\n\r\n    .carousel-track {\r\n        display: flex;\r\n        transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);\r\n        height: 100%;\r\n    }\r\n\r\n    .carousel-slide {\r\n        min-width: 100%;\r\n        height: 100%;\r\n        background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        color: #999;\r\n        font-size: 1.3rem;\r\n        font-weight: 500;\r\n    }\r\n\r\n    .carousel-slide img {\r\n        width: 100%;\r\n        height: 100%;\r\n        object-fit: contain !important;\r\n        object-position: center;\r\n    }\r\n\r\n    .carousel-nav {\r\n        position: absolute;\r\n        bottom: 30px;\r\n        left: 50%;\r\n        transform: translateX(-50%);\r\n        display: flex;\r\n        gap: 12px;\r\n        z-index: 10;\r\n    }\r\n\r\n    .carousel-dot {\r\n        width: 12px;\r\n        height: 12px;\r\n        border-radius: 50%;\r\n        background: rgba(255,255,255,0.5);\r\n        border: 2px solid rgba(237, 139, 0, 0.3);\r\n        cursor: pointer;\r\n        transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);\r\n    }\r\n\r\n    .carousel-dot.active {\r\n        background: #ED8B00;\r\n        border-color: #ED8B00;\r\n        width: 32px;\r\n        border-radius: 6px;\r\n    }\r\n\r\n    .carousel-arrow {\r\n        position: absolute;\r\n        top: 50%;\r\n        transform: translateY(-50%);\r\n        width: 50px;\r\n        height: 50px;\r\n        background: rgba(255,255,255,0.95) !important;\r\n        border: none !important;\r\n        border-radius: 50% !important;\r\n        cursor: pointer;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        font-size: 20px;\r\n        color: #ED8B00 !important;\r\n        transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1) !important;\r\n        box-shadow: 0 4px 20px rgba(0,0,0,0.1);\r\n        z-index: 10;\r\n        padding: 0 !important;\r\n    }\r\n\r\n    .carousel-arrow:hover {\r\n        background: #ED8B00 !important;\r\n        color: #ffffff !important;\r\n        border: none !important;\r\n        transform: translateY(-50%) scale(1.1);\r\n    }\r\n\r\n    .carousel-arrow.prev {\r\n        left: 20px;\r\n    }\r\n\r\n    .carousel-arrow.next {\r\n        right: 20px;\r\n    }\r\n\r\n    .highlights {\r\n        background: #ffffff;\r\n        position: relative;\r\n        padding: 60px 20px;\r\n    }\r\n\r\n    .container {\r\n        max-width: 1400px;\r\n        margin: 0 auto;\r\n    }\r\n\r\n    .highlights-grid {\r\n        display: grid;\r\n        grid-template-columns: repeat(5, 1fr);\r\n        gap: 25px;\r\n    }\r\n\r\n    .highlight-card {\r\n        padding: 40px 30px;\r\n        background: linear-gradient(135deg, #fafafa 0%, #ffffff 100%);\r\n        border-radius: 20px;\r\n        transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);\r\n        border: 1px solid transparent;\r\n        opacity: 0;\r\n        animation: fadeInUp 1s cubic-bezier(0.19, 1, 0.22, 1) forwards;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .highlight-card::before {\r\n        content: '';\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(237, 139, 0, 0.05) 0%, rgba(189, 168, 101, 0.05) 100%);\r\n        opacity: 0;\r\n        transition: opacity 0.6s cubic-bezier(0.19, 1, 0.22, 1);\r\n    }\r\n\r\n    .highlight-card:hover::before {\r\n        opacity: 1;\r\n    }\r\n\r\n    .highlight-card:nth-child(1) { animation-delay: 0.1s; }\r\n    .highlight-card:nth-child(2) { animation-delay: 0.2s; }\r\n    .highlight-card:nth-child(3) { animation-delay: 0.3s; }\r\n    .highlight-card:nth-child(4) { animation-delay: 0.4s; }\r\n    .highlight-card:nth-child(5) { animation-delay: 0.5s; }\r\n\r\n    .highlight-card:hover {\r\n        transform: translateY(-12px);\r\n        box-shadow: 0 30px 60px rgba(237, 139, 0, 0.15);\r\n        border-color: #ED8B00;\r\n    }\r\n\r\n    .highlight-icon {\r\n        width: 45px;\r\n        height: 45px;\r\n        background: #e0e0e0;\r\n        border-radius: 50%;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        margin-bottom: 20px;\r\n        position: relative;\r\n        transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);\r\n    }\r\n\r\n    .highlight-icon::after {\r\n        content: '';\r\n        width: 12px;\r\n        height: 12px;\r\n        background: #999;\r\n        border-radius: 50%;\r\n        display: block;\r\n    }\r\n\r\n    .highlight-card:hover .highlight-icon {\r\n        background: #d0d0d0;\r\n        transform: scale(1.05);\r\n    }\r\n\r\n    .highlight-card h3 {\r\n        font-size: 1.2rem;\r\n        font-weight: 600;\r\n        margin-bottom: 12px;\r\n        color: #000000;\r\n        position: relative;\r\n    }\r\n\r\n    .highlight-card p {\r\n        color: #555;\r\n        font-size: 0.95rem;\r\n        line-height: 1.6;\r\n        position: relative;\r\n    }\r\n\r\n    .product-description {\r\n        padding: 40px 20px;\r\n        background: linear-gradient(180deg, #fafafa 0%, #ffffff 50%, #fafafa 100%);\r\n        position: relative;\r\n    }\r\n\r\n    .description-wrapper {\r\n        max-width: 1400px;\r\n        margin: 0 auto;\r\n        gap: 80px;\r\n        align-items: center;\r\n    }\r\n\r\n    .description-content h2 {\r\n        font-size: clamp(2.5rem, 4.5vw, 3.8rem);\r\n        font-weight: 600;\r\n        margin-bottom: 40px;\r\n        color: #000000;\r\n        line-height: 1.2;\r\n        letter-spacing: -0.02em;\r\n    }\r\n\r\n    .description-text {\r\n        font-size: 1.15rem;\r\n        line-height: 1.9;\r\n        color: #333;\r\n        margin-bottom: 30px;\r\n    }\r\n\r\n    .video-container {\r\n        position: relative;\r\n        border-radius: 24px;\r\n        overflow: hidden;\r\n        box-shadow: 0 40px 80px rgba(0,0,0,0.15);\r\n        transform: perspective(1000px) rotateY(-5deg);\r\n        transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);\r\n        aspect-ratio: 16\/9;\r\n    }\r\n\r\n    .video-container:hover {\r\n        transform: perspective(1000px) rotateY(0deg);\r\n    }\r\n\r\n    .video-container iframe {\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        width: 100%;\r\n        height: 100%;\r\n    }\r\n\r\n    .tabs-section {\r\n        background: #ffffff;\r\n        padding: 60px 20px;\r\n    }\r\n\r\n    .tabs-container {\r\n        max-width: 1400px;\r\n        margin: 0 auto;\r\n    }\r\n\r\n    .tabs-nav {\r\n        display: flex;\r\n        gap: 0;\r\n        margin-bottom: 70px;\r\n        justify-content: center;\r\n        position: relative;\r\n        background: #fafafa;\r\n        border-radius: 60px;\r\n        padding: 8px;\r\n        max-width: 800px;\r\n        margin-left: auto;\r\n        margin-right: auto;\r\n        margin-bottom: 70px;\r\n    }\r\n\r\n    .tab-button {\r\n        flex: 1;\r\n        padding: 18px 40px !important;\r\n        background: transparent !important;\r\n        border: none !important;\r\n        font-family: 'Raleway', sans-serif !important;\r\n        font-size: 1.05rem !important;\r\n        font-weight: 600 !important;\r\n        color: #666 !important;\r\n        cursor: pointer;\r\n        position: relative;\r\n        transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1) !important;\r\n        border-radius: 50px !important;\r\n        z-index: 1;\r\n    }\r\n\r\n    .tab-button:hover {\r\n        color: #ED8B00 !important;\r\n        border: none !important;\r\n    }\r\n\r\n    .tab-button.active {\r\n        color: #ffffff !important;\r\n        background: linear-gradient(135deg, #ED8B00 0%, #BDA865 100%) !important;\r\n        box-shadow: 0 8px 24px rgba(237, 139, 0, 0.3) !important;\r\n        border: none !important;\r\n    }\r\n\r\n    .tab-content {\r\n        display: none;\r\n        animation: fadeIn 0.8s cubic-bezier(0.19, 1, 0.22, 1);\r\n    }\r\n\r\n    .tab-content.active {\r\n        display: block;\r\n    }\r\n\r\n    \/* Accordion Styles *\/\r\n    .accordion-list {\r\n        list-style: none;\r\n        padding: 0;\r\n        margin: 0;\r\n    }\r\n\r\n    .accordion-item {\r\n        margin-bottom: 12px;\r\n        border: 1px solid #e8e8e8;\r\n        border-radius: 12px;\r\n        overflow: hidden;\r\n        background: #ffffff;\r\n        transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);\r\n    }\r\n\r\n    .accordion-item:hover {\r\n        border-color: #ED8B00;\r\n        box-shadow: 0 4px 12px rgba(237, 139, 0, 0.08);\r\n    }\r\n\r\n    .accordion-header {\r\n        padding: 20px 25px;\r\n        cursor: pointer;\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n        background: #fafafa;\r\n        transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);\r\n        user-select: none;\r\n    }\r\n\r\n    .accordion-header:hover {\r\n        background: #f5f5f5;\r\n    }\r\n\r\n    .accordion-item.active .accordion-header {\r\n        background: linear-gradient(135deg, rgba(237, 139, 0, 0.05) 0%, rgba(189, 168, 101, 0.05) 100%);\r\n        border-bottom: 1px solid #e8e8e8;\r\n    }\r\n\r\n    .accordion-title {\r\n        font-size: 1.1rem;\r\n        font-weight: 600;\r\n        color: #000000;\r\n        margin: 0;\r\n    }\r\n\r\n    .accordion-icon {\r\n        width: 24px;\r\n        height: 24px;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        color: #ED8B00;\r\n        font-size: 18px;\r\n        transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);\r\n        flex-shrink: 0;\r\n    }\r\n\r\n    .accordion-item.active .accordion-icon {\r\n        transform: rotate(180deg);\r\n    }\r\n\r\n    .accordion-content {\r\n        max-height: 0;\r\n        overflow: hidden;\r\n        transition: max-height 0.4s cubic-bezier(0.19, 1, 0.22, 1), padding 0.4s cubic-bezier(0.19, 1, 0.22, 1);\r\n        padding: 0 25px;\r\n    }\r\n\r\n    .accordion-item.active .accordion-content {\r\n        max-height: 500px;\r\n        padding: 20px 25px;\r\n    }\r\n\r\n    .accordion-text {\r\n        color: #555;\r\n        font-size: 1rem;\r\n        line-height: 1.7;\r\n        margin: 0;\r\n    }\r\n\r\n    .standards-section {\r\n        display: grid;\r\n        grid-template-columns: 1fr 1fr;\r\n        gap: 60px;\r\n    }\r\n\r\n    .standards-list h4 {\r\n        font-size: 2rem;\r\n        color: #ED8B00;\r\n        margin-bottom: 30px;\r\n        font-weight: 700;\r\n    }\r\n\r\n    .standards-list ul {\r\n        list-style: none;\r\n        padding-left: 0;\r\n    }\r\n\r\n    .standards-list li {\r\n        padding: 20px 25px;\r\n        border-bottom: 1px solid #f0f0f0;\r\n        color: #333;\r\n        font-size: 1.05rem;\r\n        transition: all 0.3s ease;\r\n        border-radius: 8px;\r\n    }\r\n\r\n    .standards-list li:hover {\r\n        background: #fafafa;\r\n        padding-left: 35px;\r\n    }\r\n\r\n    .standards-list li strong {\r\n        color: #000000;\r\n        font-weight: 700;\r\n        font-size: 1.1rem;\r\n    }\r\n\r\n    .cta-section {\r\n        padding: 60px 20px;\r\n        background: linear-gradient(135deg, #fafafa 0%, #ffffff 100%);\r\n        text-align: center;\r\n    }\r\n\r\n    .cta-buttons {\r\n        display: flex;\r\n        gap: 25px;\r\n        justify-content: center;\r\n        flex-wrap: wrap;\r\n    }\r\n\r\n    .cta-secondary {\r\n        display: inline-flex;\r\n        align-items: center;\r\n        gap: 12px;\r\n        padding: 20px 50px;\r\n        background: transparent;\r\n        color: #ED8B00;\r\n        text-decoration: none;\r\n        font-weight: 600;\r\n        font-size: 1.1rem;\r\n        border-radius: 60px;\r\n        border: 2px solid #ED8B00;\r\n        transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);\r\n        position: relative;\r\n        z-index: 1;\r\n    }\r\n\r\n    .cta-secondary:hover {\r\n        background: #ED8B00;\r\n        color: #ffffff !important;\r\n        transform: translateY(-3px);\r\n        box-shadow: 0 15px 50px rgba(237, 139, 0, 0.3);\r\n    }\r\n\r\n    .link-accent {\r\n        color: #ED8B00;\r\n        text-decoration: none;\r\n        font-weight: 600;\r\n        transition: all 0.3s ease;\r\n        border-bottom: 2px solid transparent;\r\n    }\r\n\r\n    .link-accent:hover {\r\n        border-bottom-color: #ED8B00;\r\n    }\r\n\r\n    \/* Research & Publications Styles *\/\r\n    .search-container {\r\n        margin-bottom: 40px;\r\n        max-width: 600px;\r\n        margin-left: auto;\r\n        margin-right: auto;\r\n    }\r\n\r\n    .search-box {\r\n        width: 100%;\r\n        max-width: 500px;\r\n        padding: 15px 20px;\r\n        font-size: 1rem;\r\n        border: 2px solid #e8e8e8;\r\n        border-radius: 50px;\r\n        font-family: 'Raleway', sans-serif;\r\n        transition: all 0.3s ease;\r\n        outline: none;\r\n    }\r\n\r\n    .search-box:focus {\r\n        border-color: #ED8B00;\r\n        box-shadow: 0 4px 12px rgba(237, 139, 0, 0.15);\r\n    }\r\n\r\n    .research-accordion-item {\r\n        margin-bottom: 15px;\r\n        border: 1px solid #e8e8e8;\r\n        border-radius: 12px;\r\n        overflow: hidden;\r\n        background: #ffffff;\r\n        transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);\r\n    }\r\n\r\n    .research-accordion-item:hover {\r\n        border-color: #ED8B00;\r\n        box-shadow: 0 4px 12px rgba(237, 139, 0, 0.08);\r\n    }\r\n\r\n    .research-accordion-header {\r\n        padding: 20px 25px;\r\n        cursor: pointer;\r\n        background: #fafafa;\r\n        transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);\r\n    }\r\n\r\n    .research-accordion-header:hover {\r\n        background: #f5f5f5;\r\n    }\r\n\r\n    .research-accordion-item.active .research-accordion-header {\r\n        background: linear-gradient(135deg, rgba(237, 139, 0, 0.05) 0%, rgba(189, 168, 101, 0.05) 100%);\r\n        border-bottom: 1px solid #e8e8e8;\r\n    }\r\n\r\n    .research-title-row {\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: flex-start;\r\n        gap: 15px;\r\n        margin-bottom: 8px;\r\n    }\r\n\r\n    .research-title {\r\n        font-size: 1.1rem;\r\n        font-weight: 600;\r\n        color: #ED8B00;\r\n        text-decoration: none;\r\n        line-height: 1.4;\r\n        transition: color 0.3s ease;\r\n    }\r\n\r\n    .research-title:hover {\r\n        color: #BDA865;\r\n    }\r\n\r\n    .research-expand-icon {\r\n        color: #ED8B00;\r\n        font-size: 14px;\r\n        transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);\r\n        flex-shrink: 0;\r\n        margin-top: 4px;\r\n    }\r\n\r\n    .research-accordion-item.active .research-expand-icon {\r\n        transform: rotate(180deg);\r\n    }\r\n\r\n    .research-authors {\r\n        font-size: 0.9rem;\r\n        color: #666;\r\n        margin: 0;\r\n        font-style: italic;\r\n    }\r\n\r\n    .research-accordion-content {\r\n        max-height: 0;\r\n        overflow: hidden;\r\n        transition: max-height 0.4s cubic-bezier(0.19, 1, 0.22, 1), padding 0.4s cubic-bezier(0.19, 1, 0.22, 1);\r\n        padding: 0 25px;\r\n    }\r\n\r\n    .research-accordion-item.active .research-accordion-content {\r\n        max-height: 800px;\r\n        padding: 20px 25px;\r\n    }\r\n\r\n    .research-abstract {\r\n        color: #555;\r\n        font-size: 0.95rem;\r\n        line-height: 1.7;\r\n        margin: 0;\r\n    }\r\n\r\n    .no-results {\r\n        text-align: center;\r\n        padding: 40px;\r\n        color: #666;\r\n        font-size: 1.1rem;\r\n    }\r\n\r\n    @keyframes fadeInUp {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateY(40px);\r\n        }\r\n        to {\r\n            opacity: 1;\r\n            transform: translateY(0);\r\n        }\r\n    }\r\n\r\n    @keyframes fadeIn {\r\n        from {\r\n            opacity: 0;\r\n        }\r\n        to {\r\n            opacity: 1;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 1200px) {\r\n        .hero-content {\r\n            gap: 60px;\r\n        }\r\n\r\n        .highlights-grid {\r\n            grid-template-columns: repeat(3, 1fr);\r\n        }\r\n\r\n        .description-wrapper {\r\n            gap: 60px;\r\n        }\r\n\r\n        .standards-section {\r\n            gap: 40px;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 1024px) {\r\n        .hero-content {\r\n            grid-template-columns: 1fr;\r\n            gap: 50px;\r\n        }\r\n\r\n        .description-wrapper {\r\n            grid-template-columns: 1fr;\r\n            gap: 50px;\r\n        }\r\n\r\n        .video-container {\r\n            transform: none;\r\n        }\r\n\r\n        .features-grid {\r\n            grid-template-columns: 1fr;\r\n        }\r\n\r\n        .standards-section {\r\n            grid-template-columns: 1fr;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 768px) {\r\n        .hero {\r\n            padding: 40px 20px 60px;\r\n        }\r\n\r\n        .highlights {\r\n            padding: 40px 20px;\r\n        }\r\n\r\n        .highlights-grid {\r\n            grid-template-columns: 1fr;\r\n        }\r\n\r\n        .product-description {\r\n            padding: 20px 20px;\r\n        }\r\n\r\n        .tabs-section {\r\n            padding: 40px 20px;\r\n        }\r\n\r\n        .tabs-nav {\r\n            flex-direction: column;\r\n            border-radius: 20px;\r\n            gap: 5px;\r\n        }\r\n\r\n        .tab-button {\r\n            padding: 15px 30px;\r\n            font-size: 1rem;\r\n        }\r\n\r\n        .specs-grid {\r\n            grid-template-columns: 1fr;\r\n        }\r\n\r\n        .cta-section {\r\n            padding: 20px 20px;\r\n        }\r\n\r\n        .cta-buttons {\r\n            flex-direction: column;\r\n            align-items: center;\r\n        }\r\n\r\n        .cta-button,\r\n        .cta-secondary {\r\n            width: 100%;\r\n            max-width: 350px;\r\n            justify-content: center;\r\n        }\r\n\r\n        .carousel-arrow {\r\n            width: 40px;\r\n            height: 40px;\r\n            font-size: 16px;\r\n        }\r\n\r\n        .carousel-arrow.prev {\r\n            left: 10px;\r\n        }\r\n\r\n        .carousel-arrow.next {\r\n            right: 10px;\r\n        }\r\n        .carousel-wrapper {\r\n            max-height: 50vh; \/* Adjust for smaller screens *\/\r\n        }\r\n\r\n        .research-accordion-header {\r\n            padding: 15px 20px;\r\n        }\r\n\r\n        .research-accordion-content {\r\n            padding: 0 20px;\r\n        }\r\n\r\n        .research-accordion-item.active .research-accordion-content {\r\n            padding: 15px 20px;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 480px) {\r\n        .hero-text h1 {\r\n            font-size: 2.2rem;\r\n        }\r\n\r\n        .highlight-card {\r\n            padding: 30px 20px;\r\n        }\r\n\r\n        .accordion-header {\r\n            padding: 16px 20px;\r\n        }\r\n\r\n        .accordion-content {\r\n            padding: 0 20px;\r\n        }\r\n\r\n        .accordion-item.active .accordion-content {\r\n            padding: 16px 20px;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<div>\r\n\r\n\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>LCMS-2 | Pavemetrics<\/title>\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Raleway:wght@300;400;500;600;700&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n    * {\r\n        margin: 0;\r\n        padding: 0;\r\n        box-sizing: border-box;\r\n    }\r\n\r\n    body {\r\n        font-family: 'Raleway', sans-serif;\r\n        color: #000000;\r\n        background: #ffffff;\r\n        overflow-x: hidden;\r\n        line-height: 1.6;\r\n    }\r\n\r\n    .hero {\r\n        min-height: 80vh;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        position: relative;\r\n        background: linear-gradient(135deg, #fafafa 0%, #ffffff 100%);\r\n    }\r\n\r\n    .hero-content {\r\n        max-width: 1400px;\r\n        width: 100%;\r\n        display: grid;\r\n        grid-template-columns: 1fr 1fr;\r\n        gap: 100px;\r\n        align-items: center;\r\n    }\r\n\r\n    .hero-text {\r\n        opacity: 0;\r\n        animation: fadeInUp 1.2s cubic-bezier(0.19, 1, 0.22, 1) forwards;\r\n    }\r\n\r\n    .hero-text h1 {\r\n        font-size: clamp(1.8rem, 4vw, 3.5rem);\r\n        font-weight: 300;\r\n        line-height: 1.1;\r\n        margin-bottom: 35px;\r\n        color: #000000;\r\n        letter-spacing: -0.02em;\r\n    }\r\n\r\n    .hero-text h1 strong {\r\n        font-weight: 700;\r\n        background: linear-gradient(135deg, #ED8B00 0%, #BDA865 100%);\r\n        -webkit-background-clip: text;\r\n        -webkit-text-fill-color: transparent;\r\n        background-clip: text;\r\n    }\r\n\r\n    .hero-text p {\r\n        font-size: clamp(1rem, 2vw, 1rem);\r\n        font-weight: 400;\r\n        color: #333;\r\n        margin-bottom: 50px;\r\n        line-height: 1.8;\r\n    }\r\n\r\n    .cta-button {\r\n        display: inline-flex;\r\n        align-items: center;\r\n        gap: 12px;\r\n        padding: 20px 50px;\r\n        background: #ED8B00 !important;\r\n        color: #ffffff !important;\r\n        text-decoration: none;\r\n        font-weight: 600;\r\n        font-size: 1.1rem;\r\n        border-radius: 60px;\r\n        transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);\r\n        border: 2px solid #ED8B00 !important;\r\n        position: relative;\r\n        overflow: hidden;\r\n        box-shadow: 0 10px 40px rgba(237, 139, 0, 0.3) !important;\r\n    }\r\n\r\n    .cta-button::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: -100%;\r\n        width: 100%;\r\n        height: 100%;\r\n        background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);\r\n        transition: left 0.7s;\r\n        z-index: 0;\r\n    }\r\n\r\n    .cta-button:hover::before {\r\n        left: 100%;\r\n    }\r\n\r\n    .cta-button span {\r\n        position: relative;\r\n        z-index: 1;\r\n        color: #ffffff !important;\r\n    }\r\n\r\n    .cta-button:hover {\r\n        background: #BDA865;\r\n        border-color: #BDA865;\r\n        transform: translateY(-3px);\r\n        box-shadow: 0 15px 50px rgba(237, 139, 0, 0.4);\r\n        color: #ffffff !important;\r\n    }\r\n\r\n    .carousel-container {\r\n        position: relative;\r\n        border-radius: 24px;\r\n        overflow: hidden;\r\n        box-shadow: 0 40px 80px rgba(0,0,0,0.12);\r\n        opacity: 0;\r\n        animation: fadeInUp 1.2s cubic-bezier(0.19, 1, 0.22, 1) 0.3s forwards;\r\n        max-width: 80%;\r\n        margin: 0 auto;\r\n    }\r\n    \r\n    .carousel-wrapper {\r\n        position: relative;\r\n        overflow: hidden;\r\n        transition: height 0.8s cubic-bezier(0.19, 1, 0.22, 1);\r\n        max-height: 70vh;\r\n    }\r\n\r\n    .carousel-track {\r\n        display: flex;\r\n        transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);\r\n        height: 100%;\r\n    }\r\n\r\n    .carousel-slide {\r\n        min-width: 100%;\r\n        height: 100%;\r\n        background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        color: #999;\r\n        font-size: 1.3rem;\r\n        font-weight: 500;\r\n    }\r\n\r\n    .carousel-slide img {\r\n        width: 100%;\r\n        height: 100%;\r\n        object-fit: contain !important;\r\n        object-position: center;\r\n    }\r\n\r\n    .carousel-nav {\r\n        position: absolute;\r\n        bottom: 30px;\r\n        left: 50%;\r\n        transform: translateX(-50%);\r\n        display: flex;\r\n        gap: 12px;\r\n        z-index: 10;\r\n    }\r\n\r\n    .carousel-dot {\r\n        width: 12px;\r\n        height: 12px;\r\n        border-radius: 50%;\r\n        background: rgba(255,255,255,0.5);\r\n        border: 2px solid rgba(237, 139, 0, 0.3);\r\n        cursor: pointer;\r\n        transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);\r\n    }\r\n\r\n    .carousel-dot.active {\r\n        background: #ED8B00;\r\n        border-color: #ED8B00;\r\n        width: 32px;\r\n        border-radius: 6px;\r\n    }\r\n\r\n    .carousel-arrow {\r\n        position: absolute;\r\n        top: 50%;\r\n        transform: translateY(-50%);\r\n        width: 50px;\r\n        height: 50px;\r\n        background: rgba(255,255,255,0.95) !important;\r\n        border: none !important;\r\n        border-radius: 50% !important;\r\n        cursor: pointer;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        font-size: 20px;\r\n        color: #ED8B00 !important;\r\n        transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1) !important;\r\n        box-shadow: 0 4px 20px rgba(0,0,0,0.1);\r\n        z-index: 10;\r\n        padding: 0 !important;\r\n    }\r\n\r\n    .carousel-arrow:hover {\r\n        background: #ED8B00 !important;\r\n        color: #ffffff !important;\r\n        border: none !important;\r\n        transform: translateY(-50%) scale(1.1);\r\n    }\r\n\r\n    .carousel-arrow.prev {\r\n        left: 20px;\r\n    }\r\n\r\n    .carousel-arrow.next {\r\n        right: 20px;\r\n    }\r\n\r\n    .highlights {\r\n        background: #ffffff;\r\n        position: relative;\r\n        padding: 60px 20px;\r\n    }\r\n\r\n    .container {\r\n        max-width: 1400px;\r\n        margin: 0 auto;\r\n    }\r\n\r\n    .highlights-grid {\r\n        display: grid;\r\n        grid-template-columns: repeat(5, 1fr);\r\n        gap: 25px;\r\n    }\r\n\r\n    .highlight-card {\r\n        padding: 40px 30px;\r\n        background: linear-gradient(135deg, #fafafa 0%, #ffffff 100%);\r\n        border-radius: 20px;\r\n        transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);\r\n        border: 1px solid transparent;\r\n        opacity: 0;\r\n        animation: fadeInUp 1s cubic-bezier(0.19, 1, 0.22, 1) forwards;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .highlight-card::before {\r\n        content: '';\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(237, 139, 0, 0.05) 0%, rgba(189, 168, 101, 0.05) 100%);\r\n        opacity: 0;\r\n        transition: opacity 0.6s cubic-bezier(0.19, 1, 0.22, 1);\r\n    }\r\n\r\n    .highlight-card:hover::before {\r\n        opacity: 1;\r\n    }\r\n\r\n    .highlight-card:nth-child(1) { animation-delay: 0.1s; }\r\n    .highlight-card:nth-child(2) { animation-delay: 0.2s; }\r\n    .highlight-card:nth-child(3) { animation-delay: 0.3s; }\r\n    .highlight-card:nth-child(4) { animation-delay: 0.4s; }\r\n    .highlight-card:nth-child(5) { animation-delay: 0.5s; }\r\n\r\n    .highlight-card:hover {\r\n        transform: translateY(-12px);\r\n        box-shadow: 0 30px 60px rgba(237, 139, 0, 0.15);\r\n        border-color: #ED8B00;\r\n    }\r\n\r\n    .highlight-icon {\r\n        width: 45px;\r\n        height: 45px;\r\n        background: #e0e0e0;\r\n        border-radius: 50%;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        margin-bottom: 20px;\r\n        position: relative;\r\n        transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);\r\n    }\r\n\r\n    .highlight-icon::after {\r\n        content: '';\r\n        width: 12px;\r\n        height: 12px;\r\n        background: #999;\r\n        border-radius: 50%;\r\n        display: block;\r\n    }\r\n\r\n    .highlight-card:hover .highlight-icon {\r\n        background: #d0d0d0;\r\n        transform: scale(1.05);\r\n    }\r\n\r\n    .highlight-card h3 {\r\n        font-size: 1.2rem;\r\n        font-weight: 600;\r\n        margin-bottom: 12px;\r\n        color: #000000;\r\n        position: relative;\r\n    }\r\n\r\n    .highlight-card p {\r\n        color: #555;\r\n        font-size: 0.95rem;\r\n        line-height: 1.6;\r\n        position: relative;\r\n    }\r\n\r\n    .product-description {\r\n        padding: 40px 20px;\r\n        background: linear-gradient(180deg, #fafafa 0%, #ffffff 50%, #fafafa 100%);\r\n        position: relative;\r\n    }\r\n\r\n    .description-wrapper {\r\n        max-width: 1400px;\r\n        margin: 0 auto;\r\n        gap: 80px;\r\n        align-items: center;\r\n    }\r\n\r\n    .description-content h2 {\r\n        font-size: clamp(2.5rem, 4.5vw, 3.8rem);\r\n        font-weight: 600;\r\n        margin-bottom: 40px;\r\n        color: #000000;\r\n        line-height: 1.2;\r\n        letter-spacing: -0.02em;\r\n    }\r\n\r\n    .description-text {\r\n        font-size: 1.15rem;\r\n        line-height: 1.9;\r\n        color: #333;\r\n        margin-bottom: 30px;\r\n    }\r\n\r\n    .video-container {\r\n        position: relative;\r\n        border-radius: 24px;\r\n        overflow: hidden;\r\n        box-shadow: 0 40px 80px rgba(0,0,0,0.15);\r\n        transform: perspective(1000px) rotateY(-5deg);\r\n        transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);\r\n        aspect-ratio: 16\/9;\r\n    }\r\n\r\n    .video-container:hover {\r\n        transform: perspective(1000px) rotateY(0deg);\r\n    }\r\n\r\n    .video-container iframe {\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        width: 100%;\r\n        height: 100%;\r\n    }\r\n\r\n    .tabs-section {\r\n        background: #ffffff;\r\n        padding: 60px 20px;\r\n    }\r\n\r\n    .tabs-container {\r\n        max-width: 1400px;\r\n        margin: 0 auto;\r\n    }\r\n\r\n    .tabs-nav {\r\n        display: flex;\r\n        gap: 0;\r\n        margin-bottom: 70px;\r\n        justify-content: center;\r\n        position: relative;\r\n        background: #fafafa;\r\n        border-radius: 60px;\r\n        padding: 8px;\r\n        max-width: 800px;\r\n        margin-left: auto;\r\n        margin-right: auto;\r\n        margin-bottom: 70px;\r\n    }\r\n\r\n    .tab-button {\r\n        flex: 1;\r\n        padding: 18px 40px !important;\r\n        background: transparent !important;\r\n        border: none !important;\r\n        font-family: 'Raleway', sans-serif !important;\r\n        font-size: 1.05rem !important;\r\n        font-weight: 600 !important;\r\n        color: #666 !important;\r\n        cursor: pointer;\r\n        position: relative;\r\n        transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1) !important;\r\n        border-radius: 50px !important;\r\n        z-index: 1;\r\n    }\r\n\r\n    .tab-button:hover {\r\n        color: #ED8B00 !important;\r\n        border: none !important;\r\n    }\r\n\r\n    .tab-button.active {\r\n        color: #ffffff !important;\r\n        background: linear-gradient(135deg, #ED8B00 0%, #BDA865 100%) !important;\r\n        box-shadow: 0 8px 24px rgba(237, 139, 0, 0.3) !important;\r\n        border: none !important;\r\n    }\r\n\r\n    .tab-content {\r\n        display: none;\r\n        animation: fadeIn 0.8s cubic-bezier(0.19, 1, 0.22, 1);\r\n    }\r\n\r\n    .tab-content.active {\r\n        display: block;\r\n    }\r\n\r\n    \/* Accordion Styles *\/\r\n    .accordion-list {\r\n        list-style: none;\r\n        padding: 0;\r\n        margin: 0;\r\n    }\r\n\r\n    .accordion-item {\r\n        margin-bottom: 12px;\r\n        border: 1px solid #e8e8e8;\r\n        border-radius: 12px;\r\n        overflow: hidden;\r\n        background: #ffffff;\r\n        transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);\r\n    }\r\n\r\n    .accordion-item:hover {\r\n        border-color: #ED8B00;\r\n        box-shadow: 0 4px 12px rgba(237, 139, 0, 0.08);\r\n    }\r\n\r\n    .accordion-header {\r\n        padding: 20px 25px;\r\n        cursor: pointer;\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n        background: #fafafa;\r\n        transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);\r\n        user-select: none;\r\n    }\r\n\r\n    .accordion-header:hover {\r\n        background: #f5f5f5;\r\n    }\r\n\r\n    .accordion-item.active .accordion-header {\r\n        background: linear-gradient(135deg, rgba(237, 139, 0, 0.05) 0%, rgba(189, 168, 101, 0.05) 100%);\r\n        border-bottom: 1px solid #e8e8e8;\r\n    }\r\n\r\n    .accordion-title {\r\n        font-size: 1.1rem;\r\n        font-weight: 600;\r\n        color: #000000;\r\n        margin: 0;\r\n    }\r\n\r\n    .accordion-icon {\r\n        width: 24px;\r\n        height: 24px;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        color: #ED8B00;\r\n        font-size: 18px;\r\n        transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1);\r\n        flex-shrink: 0;\r\n    }\r\n\r\n    .accordion-item.active .accordion-icon {\r\n        transform: rotate(180deg);\r\n    }\r\n\r\n    .accordion-content {\r\n        max-height: 0;\r\n        overflow: hidden;\r\n        transition: max-height 0.4s cubic-bezier(0.19, 1, 0.22, 1), padding 0.4s cubic-bezier(0.19, 1, 0.22, 1);\r\n        padding: 0 25px;\r\n    }\r\n\r\n    .accordion-item.active .accordion-content {\r\n        max-height: 500px;\r\n        padding: 20px 25px;\r\n    }\r\n\r\n    .accordion-text {\r\n        color: #555;\r\n        font-size: 1rem;\r\n        line-height: 1.7;\r\n        margin: 0;\r\n    }\r\n\r\n    .standards-section {\r\n        display: grid;\r\n        grid-template-columns: 1fr 1fr;\r\n        gap: 60px;\r\n    }\r\n\r\n    .standards-list h4 {\r\n        font-size: 2rem;\r\n        color: #ED8B00;\r\n        margin-bottom: 30px;\r\n        font-weight: 700;\r\n    }\r\n\r\n    .standards-list ul {\r\n        list-style: none;\r\n        padding-left: 0;\r\n    }\r\n\r\n    .standards-list li {\r\n        padding: 20px 25px;\r\n        border-bottom: 1px solid #f0f0f0;\r\n        color: #333;\r\n        font-size: 1.05rem;\r\n        transition: all 0.3s ease;\r\n        border-radius: 8px;\r\n    }\r\n\r\n    .standards-list li:hover {\r\n        background: #fafafa;\r\n        padding-left: 35px;\r\n    }\r\n\r\n    .standards-list li strong {\r\n        color: #000000;\r\n        font-weight: 700;\r\n        font-size: 1.1rem;\r\n    }\r\n\r\n    .cta-section {\r\n        padding: 60px 20px;\r\n        background: linear-gradient(135deg, #fafafa 0%, #ffffff 100%);\r\n        text-align: center;\r\n    }\r\n\r\n    .cta-buttons {\r\n        display: flex;\r\n        gap: 25px;\r\n        justify-content: center;\r\n        flex-wrap: wrap;\r\n    }\r\n\r\n    .cta-secondary {\r\n        display: inline-flex;\r\n        align-items: center;\r\n        gap: 12px;\r\n        padding: 20px 50px;\r\n        background: transparent;\r\n        color: #ED8B00;\r\n        text-decoration: none;\r\n        font-weight: 600;\r\n        font-size: 1.1rem;\r\n        border-radius: 60px;\r\n        border: 2px solid #ED8B00;\r\n        transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);\r\n        position: relative;\r\n        z-index: 1;\r\n    }\r\n\r\n    .cta-secondary:hover {\r\n        background: #ED8B00;\r\n        color: #ffffff !important;\r\n        transform: translateY(-3px);\r\n        box-shadow: 0 15px 50px rgba(237, 139, 0, 0.3);\r\n    }\r\n\r\n    .link-accent {\r\n        color: #ED8B00;\r\n        text-decoration: none;\r\n        font-weight: 600;\r\n        transition: all 0.3s ease;\r\n        border-bottom: 2px solid transparent;\r\n    }\r\n\r\n    .link-accent:hover {\r\n        border-bottom-color: #ED8B00;\r\n    }\r\n\r\n    @keyframes fadeInUp {\r\n        from {\r\n            opacity: 0;\r\n            transform: translateY(40px);\r\n        }\r\n        to {\r\n            opacity: 1;\r\n            transform: translateY(0);\r\n        }\r\n    }\r\n\r\n    @keyframes fadeIn {\r\n        from {\r\n            opacity: 0;\r\n        }\r\n        to {\r\n            opacity: 1;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 1200px) {\r\n        .hero-content {\r\n            gap: 60px;\r\n        }\r\n\r\n        .highlights-grid {\r\n            grid-template-columns: repeat(3, 1fr);\r\n        }\r\n\r\n        .description-wrapper {\r\n            gap: 60px;\r\n        }\r\n\r\n        .standards-section {\r\n            gap: 40px;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 1024px) {\r\n        .hero-content {\r\n            grid-template-columns: 1fr;\r\n            gap: 50px;\r\n        }\r\n\r\n        .description-wrapper {\r\n            grid-template-columns: 1fr;\r\n            gap: 50px;\r\n        }\r\n\r\n        .video-container {\r\n            transform: none;\r\n        }\r\n\r\n        .features-grid {\r\n            grid-template-columns: 1fr;\r\n        }\r\n\r\n        .standards-section {\r\n            grid-template-columns: 1fr;\r\n        }\r\n    }\r\n\r\n    @media (max-width: 768px) {\r\n        .hero {\r\n            padding: 40px 20px 60px;\r\n        }\r\n\r\n        .highlights {\r\n            padding: 40px 20px;\r\n        }\r\n\r\n        .highlights-grid {\r\n            grid-template-columns: 1fr;\r\n        }\r\n\r\n        .product-description {\r\n            padding: 20px 20px;\r\n        }\r\n\r\n        .tabs-section {\r\n            padding: 40px 20px;\r\n        }\r\n\r\n        .tabs-nav {\r\n            flex-direction: column;\r\n            border-radius: 20px;\r\n            gap: 5px;\r\n        }\r\n\r\n        .tab-button {\r\n            padding: 15px 30px;\r\n            font-size: 1rem;\r\n        }\r\n\r\n        .specs-grid {\r\n            grid-template-columns: 1fr;\r\n        }\r\n\r\n        .cta-section {\r\n            padding: 20px 20px;\r\n        }\r\n\r\n        .cta-buttons {\r\n            flex-direction: column;\r\n            align-items: center;\r\n        }\r\n\r\n        .cta-button,\r\n        .cta-secondary {\r\n            width: 100%;\r\n            max-width: 350px;\r\n            justify-content: center;\r\n        }\r\n\r\n        .carousel-arrow {\r\n            width: 40px;\r\n            height: 40px;\r\n            font-size: 16px;\r\n        }\r\n\r\n        .carousel-arrow.prev {\r\n            left: 10px;\r\n        }\r\n\r\n        .carousel-arrow.next {\r\n            right: 10px;\r\n        }\r\n        .carousel-wrapper {\r\n            max-height: 50vh; \/* Adjust for smaller screens *\/\r\n        }\r\n    }\r\n\r\n    @media (max-width: 480px) {\r\n        .hero-text h1 {\r\n            font-size: 2.2rem;\r\n        }\r\n\r\n        .highlight-card {\r\n            padding: 30px 20px;\r\n        }\r\n\r\n        .accordion-header {\r\n            padding: 16px 20px;\r\n        }\r\n\r\n        .accordion-content {\r\n            padding: 0 20px;\r\n        }\r\n\r\n        .accordion-item.active .accordion-content {\r\n            padding: 16px 20px;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n\r\n<!-- Hero Section with Image Carousel -->\r\n<section class=\"hero\">\r\n    <div class=\"hero-content\">\r\n        <div class=\"hero-text\">\r\n            <h1>Une cartographie red\u00e9finie \u00e0 la <strong>pr\u00e9cision millim\u00e9trique.<\/strong><\/h1>\r\n            <p>LDTM fournit des mod\u00e8les topographiques 2D et 3D de qualit\u00e9 g\u00e9om\u00e8tre \u00e0 vitesse autorouti\u00e8re \u2014 en un seul passage fluide.<\/p>\r\n            <a href=\"\/wp-content\/uploads\/2025\/10\/LDTM-Flyer-WEBSITE.pdf\" target=\"_blank\" class=\"cta-button\">\r\n                <span>Voir la fiche technique (Anglais)<\/span>\r\n            <\/a>\r\n        <\/div>\r\n        <div class=\"carousel-container\">\r\n            <div class=\"carousel-wrapper\">\r\n                <div class=\"carousel-track\">\r\n                    <div class=\"carousel-slide\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/10\/Carousel-LCMS-2-1.png\" alt=\"LCMS-2 Product View 1\" style=\"width: 100%; height: 100%; object-fit: contain;\"><\/div>\r\n                    <div class=\"carousel-slide\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/10\/LDTM-2.jpg\" alt=\"LCMS-2 Product View 2\" style=\"width: 100%; height: 100%; object-fit: contain;\"><\/div>\r\n                    <div class=\"carousel-slide\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/10\/LDTM-3.jpg\" alt=\"LCMS-2 Product View 3\" style=\"width: 100%; height: 100%; object-fit: contain;\"><\/div>\r\n                    <div class=\"carousel-slide\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/10\/LDTM-4.jpg\" alt=\"LCMS-2 Product View 4\" style=\"width: 100%; height: 100%; object-fit: contain;\"><\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <button class=\"carousel-arrow prev\" aria-label=\"Previous slide\">\u2039<\/button>\r\n<button class=\"carousel-arrow next\" aria-label=\"Next slide\">\u203a<\/button>\r\n            <div class=\"carousel-nav\">\r\n                <span class=\"carousel-dot active\"><\/span>\r\n                <span class=\"carousel-dot\"><\/span>\r\n                <span class=\"carousel-dot\"><\/span>\r\n                <span class=\"carousel-dot\"><\/span>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/section>\r\n<!-- Icon Highlights -->\r\n<section class=\"highlights\">\r\n    <div class=\"container\">\r\n        <div class=\"highlights-grid\">\r\n            <div class=\"highlight-card\">\r\n                <div class=\"highlight-icon\"><\/div>\r\n                <h3>Pr\u00e9cision millim\u00e9trique<\/h3>\r\n                <p>R\u00e9solution de 1 mm sur toute la largeur d\u2019une voie de 4 m.<\/p>\r\n            <\/div>\r\n            <div class=\"highlight-card\">\r\n                <div class=\"highlight-icon\"><\/div>\r\n                <h3>Vitesse de niveau g\u00e9om\u00e8tre<\/h3>\r\n                <p>Collecte jusqu\u2019\u00e0 45 millions de points par seconde \u00e0 des vitesses pouvant atteindre 100 km\/h.<\/p>\r\n            <\/div>\r\n            <div class=\"highlight-card\">\r\n                <div class=\"highlight-icon\"><\/div>\r\n                <h3>Int\u00e9gration transparente<\/h3>\r\n                <p>Combine images 2D, profils 3D, GPS et IMU pour une pr\u00e9cision in\u00e9gal\u00e9e.<\/p>\r\n            <\/div>\r\n            <div class=\"highlight-card\">\r\n                <div class=\"highlight-icon\"><\/div>\r\n                <h3>R\u00e9sultats rapides<\/h3>\r\n                <p>G\u00e9n\u00e8re automatiquement lignes de rupture, bordures, accotements, pentes, d\u00e9vers et plus encore.<\/p>\r\n            <\/div>\r\n            <div class=\"highlight-card\">\r\n                <div class=\"highlight-icon\"><\/div>\r\n                <h3>Technologie \u00e9prouv\u00e9e<\/h3>\r\n                <p>Bas\u00e9 sur la plateforme LCMS\u00ae de Pavemetrics, largement d\u00e9ploy\u00e9e avec plus de 100 unit\u00e9s dans le monde.<\/p>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/section>\r\n<!-- Product Description with Video -->\r\n<section class=\"product-description\">\r\n    <div class=\"description-wrapper\">\r\n        <div class=\"description-content\">\r\n            <h2>Le Laser Digital Terrain Mapping System Pavemetrics\u00ae (LDTM)<\/h2>\r\n            <p class=\"description-text\">Le Laser Digital Terrain Mapping System Pavemetrics\u00ae (LDTM) utilise des projecteurs laser lin\u00e9aires, des cam\u00e9ras haute vitesse et une optique de pr\u00e9cision pour acqu\u00e9rir des profils 3D haute r\u00e9solution de la surface de la route. Combin\u00e9 \u00e0 un GPS et \u00e0 des unit\u00e9s de mesure inertielle (IMU), le syst\u00e8me corrige les mouvements du v\u00e9hicule et g\u00e9or\u00e9f\u00e9rence avec pr\u00e9cision chaque balayage. <\/p>\r\n            <p class=\"description-text\">En un seul passage, le LDTM acquiert simultan\u00e9ment des images 2D et des nuages de points 3D, qu\u2019il fusionne de mani\u00e8re fluide pour cr\u00e9er une carte num\u00e9rique du terrain \u00e0 haute pr\u00e9cision.<\/p>\r\n        <\/div>\r\n    <\/div>\r\n<\/section>\r\n<!-- Tabs Section -->\r\n<section class=\"tabs-section\">\r\n    <div class=\"tabs-container\">\r\n        <div class=\"tabs-nav\" style=\"max-width: 1000px;\">\r\n            <button class=\"tab-button active\" data-tab=\"features\">Caract\u00e9ristiques cl\u00e9s<\/button>\r\n            <button class=\"tab-button\" data-tab=\"specs\">Sp\u00e9cifications techniques<\/button>\r\n            <button class=\"tab-button\" data-tab=\"research\">Articles<\/button>\r\n        <\/div>\r\n        <!-- Key Features Tab -->\r\n        <div class=\"tab-content active\" id=\"features\">\r\n            <ul class=\"accordion-list\">\r\n                <li class=\"accordion-item\">\r\n                    <div class=\"accordion-header\">\r\n                        <h3 class=\"accordion-title\">G\u00e9n\u00e9ration automatique de lignes de rupture<\/h3>\r\n                        <span class=\"accordion-icon\">\u25bc<\/span>\r\n                    <\/div>\r\n                    <div class=\"accordion-content\">\r\n                        <p class=\"accordion-text\">produit des lignes de rupture pr\u00e9cises directement \u00e0 partir des donn\u00e9es 3D.<\/p>\r\n                    <\/div>\r\n                <\/li>\r\n                <li class=\"accordion-item\">\r\n                    <div class=\"accordion-header\">\r\n                        <h3 class=\"accordion-title\">D\u00e9tection des bords de route, marquages et bordures<\/h3>\r\n                        <span class=\"accordion-icon\">\u25bc<\/span>\r\n                    <\/div>\r\n                    <div class=\"accordion-content\">\r\n                        <p class=\"accordion-text\">identifie tous les \u00e9l\u00e9ments cl\u00e9s de la chauss\u00e9e en un seul passage.<\/p>\r\n                    <\/div>\r\n                <\/li>\r\n                <li class=\"accordion-item\">\r\n                    <div class=\"accordion-header\">\r\n                        <h3 class=\"accordion-title\">Fonctionnement de jour comme de nuit<\/h3>\r\n                        <span class=\"accordion-icon\">\u25bc<\/span>\r\n                    <\/div>\r\n                    <div class=\"accordion-content\">\r\n                        <p class=\"accordion-text\">assure une performance fiable quelles que soient les conditions d\u2019\u00e9clairage.<\/p>\r\n                    <\/div>\r\n                <\/li>\r\n                <li class=\"accordion-item\">\r\n                    <div class=\"accordion-header\">\r\n                        <h3 class=\"accordion-title\">Faible consommation d\u2019\u00e9nergie<\/h3>\r\n                        <span class=\"accordion-icon\">\u25bc<\/span>\r\n                    <\/div>\r\n                    <div class=\"accordion-content\">\r\n                        <p class=\"accordion-text\">conception efficace optimis\u00e9e pour les v\u00e9hicules d\u2019arpentage.<\/p>\r\n                    <\/div>\r\n                <\/li>\r\n                <li class=\"accordion-item\">\r\n                    <div class=\"accordion-header\">\r\n                        <h3 class=\"accordion-title\">Imagerie haute r\u00e9solution (1 mm) orient\u00e9e vers le sol<\/h3>\r\n                        <span class=\"accordion-icon\">\u25bc<\/span>\r\n                    <\/div>\r\n                    <div class=\"accordion-content\">\r\n                        <p class=\"accordion-text\">capture des d\u00e9tails au millim\u00e8tre sur toute la largeur de la voie.<\/p>\r\n                    <\/div>\r\n                <\/li>\r\n                <li class=\"accordion-item\">\r\n                    <div class=\"accordion-header\">\r\n                        <h3 class=\"accordion-title\">Mesure de la pente, de la courbure et du d\u00e9vers<\/h3>\r\n                        <span class=\"accordion-icon\">\u25bc<\/span>\r\n                    <\/div>\r\n                    <div class=\"accordion-content\">\r\n                        <p class=\"accordion-text\">fournit l\u2019ensemble des param\u00e8tres g\u00e9om\u00e9triques de la chauss\u00e9e.<\/p>\r\n                    <\/div>\r\n                <\/li>\r\n            <\/ul>\r\n        <\/div>\r\n        <!-- Technical Specs Tab -->\r\n        <div class=\"tab-content\" id=\"specs\">\r\n            <ul class=\"accordion-list\">\r\n                <li class=\"accordion-item\">\r\n                    <div class=\"accordion-header\">\r\n                        <h3 class=\"accordion-title\">Mod\u00e8les num\u00e9riques de terrain \u00e0 pr\u00e9cision millim\u00e9trique<\/h3>\r\n                        <span class=\"accordion-icon\">\u25bc<\/span>\r\n                    <\/div>\r\n                    <div class=\"accordion-content\">\r\n                        <p class=\"accordion-text\">fournissent des cartes altim\u00e9triques de qualit\u00e9 topographique.<\/p>\r\n                    <\/div>\r\n                <\/li>\r\n                <li class=\"accordion-item\">\r\n                    <div class=\"accordion-header\">\r\n                        <h3 class=\"accordion-title\">G\u00e9n\u00e9ration de points \u00e0 45 MHz<\/h3>\r\n                        <span class=\"accordion-icon\">\u25bc<\/span>\r\n                    <\/div>\r\n                    <div class=\"accordion-content\">\r\n                        <p class=\"accordion-text\">capture jusqu\u2019\u00e0 45 millions de points par seconde.<\/p>\r\n                    <\/div>\r\n                <\/li>\r\n                <li class=\"accordion-item\">\r\n                    <div class=\"accordion-header\">\r\n                        <h3 class=\"accordion-title\">Intervalle de balayage longitudinal de 1 mm<\/h3>\r\n                        <span class=\"accordion-icon\">\u25bc<\/span>\r\n                    <\/div>\r\n                    <div class=\"accordion-content\">\r\n                        <p class=\"accordion-text\">garantit une couverture dense et haute r\u00e9solution.<\/p>\r\n                    <\/div>\r\n                <\/li>\r\n                <li class=\"accordion-item\">\r\n                    <div class=\"accordion-header\">\r\n                        <h3 class=\"accordion-title\">R\u00e9solution transversale de 1 mm<\/h3>\r\n                        <span class=\"accordion-icon\">\u25bc<\/span>\r\n                    <\/div>\r\n                    <div class=\"accordion-content\">\r\n                        <p class=\"accordion-text\">offre un niveau de d\u00e9tail pr\u00e9cis sur toute la largeur de la voie (4 m).<\/p>\r\n                    <\/div>\r\n                <\/li>\r\n            <\/ul>\r\n        <\/div>\r\n\r\n        <!-- Research & Publications Tab -->\r\n        <div class=\"tab-content\" id=\"research\">\r\n            <div class=\"search-container\">\r\n                <input type=\"text\" id=\"researchSearch\" class=\"search-box\" placeholder=\"Rechercher par titre, auteur ou mot-cl\u00e9...\">\r\n            <\/div>\r\n            <div id=\"researchList\">\r\n                <div class=\"research-accordion-item\" data-keywords=\"enriching 3d pavement condition survey datasets paving project cost estimates planning designs automated machine guidance dot pavemetrics gnss ins laser triangulation\">\r\n                    <div class=\"research-accordion-header\">\r\n                        <div class=\"research-title-row\">\r\n                            <a href=\"\/wp-content\/uploads\/2026\/01\/Enriching-Existing-3D-Pavement-Condition-Survey-Datasets-to-Support-Paving-Project-Cost-Estimates-Project-Planning-Designs-and-Automated....pdf\" target=\"_blank\" class=\"research-title\">Enriching Existing 3D Pavement Condition Survey Datasets to Support Paving Project Cost Estimates, Project Planning, Designs, and Automated Machine Guidance \ud83d\udd17<\/a>\r\n                            <span class=\"research-expand-icon\">\u25bc<\/span>\r\n                        <\/div>\r\n                        <p class=\"research-authors\">Authors: Richard Fox-Ivey, John Laurent and Benoit Petitclerc (Pavemetrics)<\/p>\r\n                    <\/div>\r\n                    <div class=\"research-accordion-content\">\r\n                        <p class=\"research-abstract\"><strong>Abstract:<\/strong> State departments of transportation (DOTs) typically perform annual pavement condition inspections, which serve as an important input into pavement management systems (PMS) software. Road surface defects (cracking, rutting, smoothness, etc.) are analyzed by PMS software to model the deterioration of pavements and to make budget and performance-based recommendations about which roads to maintain and how and when to maintain them. Increasingly at the state DOT level, these data are captured using high-speed 3D lasers (laser triangulation systems) that acquire the 3D shape of the road surface to evaluate its condition. Traditionally the capture of road elevation data relied entirely on the use of survey crews. Although accuracy can be quite high, the process of capturing elevations can require a lot of manpower, is time-consuming, requires lane closures, and results in a relatively small number of points per kilometer of road with which to perform all of the tasks from early project planning through construction. This paper explores an alternate approach that leverages existing 3D laser technology utilized by DOTs to measure the condition of in-service pavements. Typically, these laser systems capture ''relatively referenced'' 3D profiles of the roadway to evaluate pavement condition based on surface distortion. However, there is often no connection between these ''relative'' 3D profiles and real-world locations. This new approach involves the addition of high-accuracy blended global navigation satellite system + inertial navigation system positioning systems, as well as specialized software, to map the absolute position of 3D profiles in real-world coordinates.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"research-accordion-item\" data-keywords=\"high resolution multi-lane road surface mapping 3d laser profilers paving milling projects dot pavemetrics gnss ins survey digital terrain model\">\r\n                    <div class=\"research-accordion-header\">\r\n                        <div class=\"research-title-row\">\r\n                            <a href=\"\/wp-content\/uploads\/2026\/01\/HIGH-RESOLUTION-MULTI-LANE-ROAD-SURFACE-MAPPING-USING-3D-LASER.pdf\" target=\"_blank\" class=\"research-title\">High Resolution Multi-Lane Road Surface Mapping Using 3D Laser Profilers for 3D Paving and Milling Projects \ud83d\udd17<\/a>\r\n                            <span class=\"research-expand-icon\">\u25bc<\/span>\r\n                        <\/div>\r\n                        <p class=\"research-authors\">Authors: John Laurent, Richard Fox-Ivey and Benoit Petitclerc (Pavemetrics)<\/p>\r\n                    <\/div>\r\n                    <div class=\"research-accordion-content\">\r\n                        <p class=\"research-abstract\"><strong>Abstract:<\/strong> Road Transportation and Public Works Departments (DOTs) typically perform annual pavement condition inspections to record cracking, rutting, smoothness, etc., which serve as an important input into Pavement Management Systems (PMS) software. Road surface defects are analysed by PMS software in order to model the deterioration of pavements and to make budget and performance-based recommendations regarding which roads to maintain, what maintenance treatments to apply, and when to apply them. Increasingly pavement condition data are captured using high-speed 3D lasers which acquire the 3D shape of the road surface. These technologies automatically analyse 3D scans in order to detect and quantify pavement defects. There is an untapped opportunity to enhance and repurpose this data in order for it to also be used for the design of reconstruction projects. In the past, designers have relied upon traditional survey to capture elevation data for volumetric estimates as well as Preliminary and Final Designs; however, traditional surveys require lengthy road closures, are costly, limited in resolution, and present dangerous working conditions for survey staff. Alternatively, 3D pavement condition survey scans can be enhanced through the addition high-accuracy Latitude, Longitudinal and Elevation data (via \"blended\" GNSS + INS systems). When further processed, these 3D scans can provide elevations with comparable accuracy and repeatability to traditional methods, but for a significantly larger number of measurement points (as dense as a 1mm x 1mm grid), without the need for a road closure, in a fraction of the time. Thus, repurposing these data presents a significant opportunity for DOTs to reduce their survey costs, minimize traffic interruptions, decrease turnaround times, improve staff safety, reduce milling, paving and compaction quantities, and deliver superior road surfaces. This paper explores the necessary hardware and software as well as the steps required to generate high-accuracy elevations from 3D pavement scans. Importantly the accuracy and repeatability of this new method is thoroughly evaluated through direct comparison to a large network of surveyed control points.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"research-accordion-item\" data-keywords=\"optimizing surface characteristics data collection project level road design lcms laser crack measuring system applanix pos-lv trimble gnss ins road surface model survey\">\r\n                    <div class=\"research-accordion-header\">\r\n                        <div class=\"research-title-row\">\r\n                            <a href=\"\/wp-content\/uploads\/2026\/01\/SURF-2018-Paper-Optimizing-Surface-Characteristics-data-collection.pdf\" target=\"_blank\" class=\"research-title\">Optimizing Surface Characteristics Data Collection by Re-Using the Data for Project Level Road Design \ud83d\udd17<\/a>\r\n                            <span class=\"research-expand-icon\">\u25bc<\/span>\r\n                        <\/div>\r\n                        <p class=\"research-authors\">Authors: Benoit Petitclerc, John Laurent and Richard Habel (Pavemetrics)<\/p>\r\n                    <\/div>\r\n                    <div class=\"research-accordion-content\">\r\n                        <p class=\"research-abstract\"><strong>Abstract:<\/strong> This article proposes a way to reuse the 3D road surface condition data to create road surface model and avoid expensive manual road surface surveys that require road closures. This new approach provides a way to tag collected high resolution high accuracy transverse road profile data acquired by a LCMS system (Laser Crack Measuring System \u2013 Pavemetrics) with a highly accurate GNSS-INS system (Applanix POS-LV \u2013 Trimble) to measure both road surface condition and to generate a survey grade accuracy terrain map of any road surface. The information provided by the 3D LCMS system, DMI, Applanix POS-LV, GPS with local RTK corrections and post processing (POSPac-Trimble) software are used to generate the road surface models with repeatable measurements and accuracy compared to surveyed control points. This process results in significant productivity improvements, optimization of the quantity of material that needs to be carried in and out, lower survey costs, decreased traffic interruptions and improved safety of surveyors while improving the quality and resolution of the road surface models.<\/p>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div id=\"noResults\" class=\"no-results\" style=\"display: none;\">\r\n                Aucune publication trouv\u00e9e correspondant \u00e0 votre recherche.\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/section>\r\n<!-- CTA Section -->\r\n<section class=\"cta-section\">\r\n    <div class=\"container\">\r\n        <div class=\"cta-buttons\">\r\n             <a href=\"\/wp-content\/uploads\/2025\/10\/LDTM-Flyer-WEBSITE.pdf\" target=\"_blank\" class=\"cta-button\">\r\nVoir la fiche technique (Anglais)\r\n<\/a>\r\n<a href=\"https:\/\/www.pavemetrics.com\/fr\/nous-joindre\/\" class=\"cta-secondary\">\r\nNous joindre\r\n<\/a> \r\n        <\/div>\r\n    <\/div>\r\n<\/section>\r\n<script>\r\n    const track = document.querySelector('.carousel-track');\r\n    const slides = document.querySelectorAll('.carousel-slide');\r\n    const dots = document.querySelectorAll('.carousel-dot');\r\n    const prevBtn = document.querySelector('.carousel-arrow.prev');\r\n    const nextBtn = document.querySelector('.carousel-arrow.next');\r\n    const carouselWrapper = document.querySelector('.carousel-wrapper');\r\n    const images = document.querySelectorAll('.carousel-slide img');\r\n    let currentSlide = 0;\r\n    let aspects = [];\r\n    let imagesLoaded = 0;\r\n\r\n    function checkAllLoaded() {\r\n        imagesLoaded++;\r\n        if (imagesLoaded === images.length) {\r\n            calculateAspects();\r\n            updateCarousel();\r\n        }\r\n    }\r\n\r\n    images.forEach(img => {\r\n        if (img.complete) {\r\n            checkAllLoaded();\r\n        } else {\r\n            img.addEventListener('load', checkAllLoaded);\r\n        }\r\n    });\r\n\r\n    function calculateAspects() {\r\n        aspects = Array.from(images).map(img => img.naturalWidth \/ img.naturalHeight);\r\n    }\r\n\r\n    function updateHeight() {\r\n        const aspect = aspects[currentSlide];\r\n        if (aspect) {\r\n            const width = carouselWrapper.clientWidth;\r\n            let height = width \/ aspect;\r\n            if (aspect < 1) { \/\/ portrait\r\n                height *= 0.8;\r\n            }\r\n            carouselWrapper.style.height = `${height}px`;\r\n        }\r\n    }\r\n\r\n    function updateCarousel() {\r\n        track.style.transform = `translateX(-${currentSlide * 100}%)`;\r\n        dots.forEach((dot, index) => {\r\n            dot.classList.toggle('active', index === currentSlide);\r\n        });\r\n        updateHeight();\r\n    }\r\n\r\n    function nextSlide() {\r\n        currentSlide = (currentSlide + 1) % slides.length;\r\n        updateCarousel();\r\n    }\r\n\r\n    function prevSlide() {\r\n        currentSlide = (currentSlide - 1 + slides.length) % slides.length;\r\n        updateCarousel();\r\n    }\r\n\r\n    nextBtn.addEventListener('click', nextSlide);\r\n    prevBtn.addEventListener('click', prevSlide);\r\n    dots.forEach((dot, index) => {\r\n        dot.addEventListener('click', () => {\r\n            currentSlide = index;\r\n            updateCarousel();\r\n        });\r\n    });\r\n\r\n    window.addEventListener('resize', updateHeight);\r\n\r\n    const tabButtons = document.querySelectorAll('.tab-button');\r\n    const tabContents = document.querySelectorAll('.tab-content');\r\n    tabButtons.forEach(button => {\r\n        button.addEventListener('click', () => {\r\n            const targetTab = button.getAttribute('data-tab');\r\n            tabButtons.forEach(btn => btn.classList.remove('active'));\r\n            tabContents.forEach(content => content.classList.remove('active'));\r\n            button.classList.add('active');\r\n            document.getElementById(targetTab).classList.add('active');\r\n        });\r\n    });\r\n    \/\/ Accordion functionality\r\n    const accordionItems = document.querySelectorAll('.accordion-item');\r\n    accordionItems.forEach(item => {\r\n        const header = item.querySelector('.accordion-header');\r\n        header.addEventListener('click', () => {\r\n            const isActive = item.classList.contains('active');\r\n           \r\n            \/\/ Close all accordions\r\n            accordionItems.forEach(acc => acc.classList.remove('active'));\r\n           \r\n            \/\/ Open clicked accordion if it wasn't active\r\n            if (!isActive) {\r\n                item.classList.add('active');\r\n            }\r\n        });\r\n    });\r\n    const observerOptions = {\r\n        threshold: 0.15,\r\n        rootMargin: '0px 0px -80px 0px'\r\n    };\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    }, observerOptions);\r\n    document.querySelectorAll('.highlight-card').forEach(el => {\r\n        observer.observe(el);\r\n    });\r\n\r\n    \/\/ Research accordion functionality\r\n    const researchAccordionItems = document.querySelectorAll('.research-accordion-item');\r\n    researchAccordionItems.forEach(item => {\r\n        const header = item.querySelector('.research-accordion-header');\r\n        header.addEventListener('click', (e) => {\r\n            \/\/ Don't toggle if clicking on the link\r\n            if (e.target.classList.contains('research-title')) {\r\n                return;\r\n            }\r\n            const isActive = item.classList.contains('active');\r\n            \r\n            \/\/ Close all research accordions\r\n            researchAccordionItems.forEach(acc => acc.classList.remove('active'));\r\n            \r\n            \/\/ Open clicked accordion if it wasn't active\r\n            if (!isActive) {\r\n                item.classList.add('active');\r\n            }\r\n        });\r\n    });\r\n\r\n    \/\/ Research search functionality\r\n    const searchBox = document.getElementById('researchSearch');\r\n    if (searchBox) {\r\n        searchBox.addEventListener('input', (e) => {\r\n            const searchTerm = e.target.value.toLowerCase();\r\n            const items = document.querySelectorAll('.research-accordion-item');\r\n            const noResults = document.getElementById('noResults');\r\n            let visibleCount = 0;\r\n            \r\n            items.forEach(item => {\r\n                const title = item.querySelector('.research-title').textContent.toLowerCase();\r\n                const authors = item.querySelector('.research-authors').textContent.toLowerCase();\r\n                const keywords = item.getAttribute('data-keywords').toLowerCase();\r\n                const abstract = item.querySelector('.research-abstract').textContent.toLowerCase();\r\n                \r\n                if (title.includes(searchTerm) || authors.includes(searchTerm) || keywords.includes(searchTerm) || abstract.includes(searchTerm)) {\r\n                    item.style.display = 'block';\r\n                    visibleCount++;\r\n                } else {\r\n                    item.style.display = 'none';\r\n                }\r\n            });\r\n            \r\n            if (noResults) {\r\n                noResults.style.display = visibleCount === 0 ? 'block' : 'none';\r\n            }\r\n        });\r\n    }\r\n<\/script>\r\n\r\n<\/div>\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>LCMS-2 | Pavemetrics Une cartographie red\u00e9finie \u00e0 la pr\u00e9cision millim\u00e9trique. LDTM fournit des mod\u00e8les topographiques 2D et 3D de qualit\u00e9 g\u00e9om\u00e8tre \u00e0 vitesse autorouti\u00e8re \u2014 en un seul passage fluide. Voir la fiche technique (Anglais) \u2039 \u203a Pr\u00e9cision millim\u00e9trique R\u00e9solution de 1 mm sur toute la largeur d\u2019une voie de 4 m. Vitesse de niveau [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-2410","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.5 (Yoast SEO v27.1.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\r\n<title>Pavemetrics | Syst\u00e8me laser de cartographie digitale (LDTM)<\/title>\r\n<meta name=\"description\" content=\"Cartographie digitale haute r\u00e9solution avec LDTM. Acquisition laser rapide pour mod\u00e9liser routes et infrastructures avec pr\u00e9cision g\u00e9om\u00e9trique.\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/www.pavemetrics.com\/fr\/systeme-laser-cartographie-digitale-ltdm\/\" \/>\r\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Syst\u00e8me laser de cartographie digitale (LDTM)\" \/>\r\n<meta property=\"og:description\" content=\"Cartographie digitale haute r\u00e9solution avec LDTM. Acquisition laser rapide pour mod\u00e9liser routes et infrastructures avec pr\u00e9cision g\u00e9om\u00e9trique.\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/www.pavemetrics.com\/fr\/systeme-laser-cartographie-digitale-ltdm\/\" \/>\r\n<meta property=\"og:site_name\" content=\"Pavemetrics | Automated Inspection of Transportation Infrastructures\" \/>\r\n<meta property=\"article:modified_time\" content=\"2026-02-02T17:39:51+00:00\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.pavemetrics.com\/fr\/systeme-laser-cartographie-digitale-ltdm\/\",\"url\":\"https:\/\/www.pavemetrics.com\/fr\/systeme-laser-cartographie-digitale-ltdm\/\",\"name\":\"Pavemetrics | Syst\u00e8me laser de cartographie digitale (LDTM)\",\"isPartOf\":{\"@id\":\"https:\/\/www.pavemetrics.com\/fr\/#website\"},\"datePublished\":\"2025-07-22T18:37:52+00:00\",\"dateModified\":\"2026-02-02T17:39:51+00:00\",\"description\":\"Cartographie digitale haute r\u00e9solution avec LDTM. Acquisition laser rapide pour mod\u00e9liser routes et infrastructures avec pr\u00e9cision g\u00e9om\u00e9trique.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.pavemetrics.com\/fr\/systeme-laser-cartographie-digitale-ltdm\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.pavemetrics.com\/fr\/systeme-laser-cartographie-digitale-ltdm\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.pavemetrics.com\/fr\/systeme-laser-cartographie-digitale-ltdm\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.pavemetrics.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Syst\u00e8me laser de cartographie digitale (LDTM)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.pavemetrics.com\/fr\/#website\",\"url\":\"https:\/\/www.pavemetrics.com\/fr\/\",\"name\":\"Pavemetrics | Automated Inspection of Transportation Infrastructures\",\"description\":\"Pavemetrics is the leader in vision systems for the automated inspection of transportation infrastructures.\",\"publisher\":{\"@id\":\"https:\/\/www.pavemetrics.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.pavemetrics.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.pavemetrics.com\/fr\/#organization\",\"name\":\"Pavemetrics | Automated Inspection of Transportation Infrastructures\",\"url\":\"https:\/\/www.pavemetrics.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.pavemetrics.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.pavemetrics.com\/wp-content\/uploads\/2025\/07\/Logo_Eddyfi_Pavemetrics.png\",\"contentUrl\":\"https:\/\/www.pavemetrics.com\/wp-content\/uploads\/2025\/07\/Logo_Eddyfi_Pavemetrics.png\",\"width\":507,\"height\":110,\"caption\":\"Pavemetrics | Automated Inspection of Transportation Infrastructures\"},\"image\":{\"@id\":\"https:\/\/www.pavemetrics.com\/fr\/#\/schema\/logo\/image\/\"}}]}<\/script>\r\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Pavemetrics | Syst\u00e8me laser de cartographie digitale (LDTM)","description":"Cartographie digitale haute r\u00e9solution avec LDTM. Acquisition laser rapide pour mod\u00e9liser routes et infrastructures avec pr\u00e9cision g\u00e9om\u00e9trique.","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:\/\/www.pavemetrics.com\/fr\/systeme-laser-cartographie-digitale-ltdm\/","og_locale":"fr_FR","og_type":"article","og_title":"Syst\u00e8me laser de cartographie digitale (LDTM)","og_description":"Cartographie digitale haute r\u00e9solution avec LDTM. Acquisition laser rapide pour mod\u00e9liser routes et infrastructures avec pr\u00e9cision g\u00e9om\u00e9trique.","og_url":"https:\/\/www.pavemetrics.com\/fr\/systeme-laser-cartographie-digitale-ltdm\/","og_site_name":"Pavemetrics | Automated Inspection of Transportation Infrastructures","article_modified_time":"2026-02-02T17:39:51+00:00","twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.pavemetrics.com\/fr\/systeme-laser-cartographie-digitale-ltdm\/","url":"https:\/\/www.pavemetrics.com\/fr\/systeme-laser-cartographie-digitale-ltdm\/","name":"Pavemetrics | Syst\u00e8me laser de cartographie digitale (LDTM)","isPartOf":{"@id":"https:\/\/www.pavemetrics.com\/fr\/#website"},"datePublished":"2025-07-22T18:37:52+00:00","dateModified":"2026-02-02T17:39:51+00:00","description":"Cartographie digitale haute r\u00e9solution avec LDTM. Acquisition laser rapide pour mod\u00e9liser routes et infrastructures avec pr\u00e9cision g\u00e9om\u00e9trique.","breadcrumb":{"@id":"https:\/\/www.pavemetrics.com\/fr\/systeme-laser-cartographie-digitale-ltdm\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pavemetrics.com\/fr\/systeme-laser-cartographie-digitale-ltdm\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.pavemetrics.com\/fr\/systeme-laser-cartographie-digitale-ltdm\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pavemetrics.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Syst\u00e8me laser de cartographie digitale (LDTM)"}]},{"@type":"WebSite","@id":"https:\/\/www.pavemetrics.com\/fr\/#website","url":"https:\/\/www.pavemetrics.com\/fr\/","name":"Pavemetrics | Automated Inspection of Transportation Infrastructures","description":"Pavemetrics is the leader in vision systems for the automated inspection of transportation infrastructures.","publisher":{"@id":"https:\/\/www.pavemetrics.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.pavemetrics.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.pavemetrics.com\/fr\/#organization","name":"Pavemetrics | Automated Inspection of Transportation Infrastructures","url":"https:\/\/www.pavemetrics.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.pavemetrics.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.pavemetrics.com\/wp-content\/uploads\/2025\/07\/Logo_Eddyfi_Pavemetrics.png","contentUrl":"https:\/\/www.pavemetrics.com\/wp-content\/uploads\/2025\/07\/Logo_Eddyfi_Pavemetrics.png","width":507,"height":110,"caption":"Pavemetrics | Automated Inspection of Transportation Infrastructures"},"image":{"@id":"https:\/\/www.pavemetrics.com\/fr\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.pavemetrics.com\/fr\/wp-json\/wp\/v2\/pages\/2410","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pavemetrics.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.pavemetrics.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.pavemetrics.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pavemetrics.com\/fr\/wp-json\/wp\/v2\/comments?post=2410"}],"version-history":[{"count":0,"href":"https:\/\/www.pavemetrics.com\/fr\/wp-json\/wp\/v2\/pages\/2410\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.pavemetrics.com\/fr\/wp-json\/wp\/v2\/media?parent=2410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}