Updated Doormile website

This commit is contained in:
R-Bharathraj
2026-05-15 11:21:50 +05:30
commit 4f39822cb7
287 changed files with 218662 additions and 0 deletions

View File

@@ -0,0 +1,286 @@
<div data-elementor-type="wp-page" data-elementor-id="108" class="elementor elementor-108">
<div class="elementor-element elementor-element-9b66268 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent" data-id="9b66268" data-element_type="container" data-e-type="container">
<div class="e-con-inner">
<div class="elementor-element elementor-element-8f6e334 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="8f6e334" data-element_type="container" data-e-type="container">
<!-- <div class="elementor-element elementor-element-30d596a elementor-widget__width-initial elementor-widget elementor-widget-counter" data-id="30d596a" data-element_type="widget" data-e-type="widget" data-widget_type="counter.default">
<div class="elementor-widget-container">
<div class="elementor-counter">
<div class="elementor-counter-number-wrapper">
<span class="elementor-counter-number-prefix"></span>
<span class="elementor-counter-number" data-duration="2000" data-to-value="223158482" data-from-value="222222222" data-delimiter=".">222222222</span>
<span class="elementor-counter-number-suffix"></span>
</div>
</div>
</div>
</div> -->
<!-- <div class="elementor-element elementor-element-b2a390e elementor-widget__width-initial e-transform e-transform elementor-widget elementor-widget-logico_heading" data-id="b2a390e" data-element_type="widget" data-e-type="widget" data-settings="{&quot;_transform_rotateZ_effect&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:-90,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_laptop&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_tablet_extra&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_tablet&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_mobile_extra&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_mobile&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:20,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_laptop&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_tablet_extra&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_tablet&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_mobile_extra&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_mobile&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_tablet&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_laptop&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_tablet_extra&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_mobile_extra&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_mobile&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}"
data-widget_type="logico_heading.default">
<div class="elementor-widget-container">
<div class="logico-title">Delivered tons of products
</div>
</div>
</div> -->
</div>
</div>
</div>
<div class="elementor-element elementor-element-e7c8c5f e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent" data-id="e7c8c5f" data-element_type="container" data-e-type="container">
<div class="e-con-inner">
<div class="elementor-element elementor-element-b172322 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="b172322" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-0194d9e e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="0194d9e" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-cfcc973 elementor-invisible elementor-widget elementor-widget-logico_heading" data-id="cfcc973" data-element_type="widget" data-e-type="widget" data-settings="{&quot;_animation&quot;:&quot;logico_heading_animation&quot;}"
data-widget_type="logico_heading.default">
<div class="elementor-widget-container">
<h3 class="logico-title">FMCG
</h3>
</div>
</div>
<div class="elementor-element elementor-element-676ec37 elementor-widget elementor-widget-text-editor" data-id="676ec37" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<p>High volume, tight margins, zero tolerance for stockouts</p>
</div>
</div>
<div class="elementor-element elementor-element-fec2f9b e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="fec2f9b" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-c4e32fc e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="c4e32fc" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-f578144 elementor-widget elementor-widget-logico_heading" data-id="f578144" data-element_type="widget" data-e-type="widget" data-widget_type="logico_heading.default">
<div class="elementor-widget-container">
<div class="logico-title">CHALLENGES
</div>
</div>
</div>
<div class="elementor-element elementor-element-95288a0 elementor-widget elementor-widget-text-editor" data-id="95288a0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<ul>
<li>Unpredictable demand spikes</li>
<li>Fresh product expiry constraints</li>
<li>Multi-stop route complexity</li>
</ul>
</div>
</div>
</div>
<div class="elementor-element elementor-element-8419cf5 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="8419cf5" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-b0fb188 elementor-widget elementor-widget-logico_heading" data-id="b0fb188" data-element_type="widget" data-e-type="widget" data-widget_type="logico_heading.default">
<div class="elementor-widget-container">
<div class="logico-title">DOORMILE SOLUTIONS
</div>
</div>
</div>
<div class="elementor-69">
<div class="elementor-element elementor-element-256f25a elementor-align-start elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="256f25a" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
<div class="elementor-widget-container">
<ul class="elementor-icon-list-items">
<li class="elementor-icon-list-item">
<span class="elementor-icon-list-icon">
<i aria-hidden="true" class="fontello icon-button-arrow-x-r-down" style="color: black;"></i> </span>
<span class="elementor-icon-list-text " style="color: Black;">AI-driven demand-responsive routing</span>
</li>
<li class="elementor-icon-list-item">
<span class="elementor-icon-list-icon">
<i aria-hidden="true" class="fontello icon-button-arrow-x-r-down" style="color: black;"></i> </span>
<span class="elementor-icon-list-text " style="color: Black;">Freshness-aware delivery prioritization</span>
</li>
<li class="elementor-icon-list-item">
<span class="elementor-icon-list-icon">
<i aria-hidden="true" class="fontello icon-button-arrow-x-r-down" style="color: black;"></i> </span>
<span class="elementor-icon-list-text " style="color: Black;">Dynamic batch optimization</span>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="elementor-element elementor-element-c47eab5 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="c47eab5" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-0ebbd17 elementor-widget elementor-widget-image" data-id="0ebbd17" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
<div class="elementor-widget-container">
<img fetchpriority="high" decoding="async" width="660" height="543" src="assets/images/FMCG.png" class="attachment-full size-full wp-image-1641" alt="" /> </div>
</div>
</div>
</div>
</div>
</div>
<div class="elementor-element elementor-element-ce72cd4 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent" data-id="ce72cd4" data-element_type="container" data-e-type="container">
<div class="e-con-inner">
<div class="elementor-element elementor-element-38f153a e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="38f153a" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-88c3237 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="88c3237" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
<div class="elementor-widget-container">
<div class="elementor-divider">
<span class="elementor-divider-separator">
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="elementor-element elementor-element-de5f637 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent" data-id="de5f637" data-element_type="container" data-e-type="container">
<div class="e-con-inner">
<div class="elementor-element elementor-element-4c23661 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="4c23661" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-3494fec e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="3494fec" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-2cf3498 elementor-widget elementor-widget-image" data-id="2cf3498" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
<div class="elementor-widget-container">
<img loading="lazy" decoding="async" width="916" height="594" src="assets/images/Pharma.png" class="attachment-full size-full wp-image-1642" alt="" /> </div>
</div>
</div>
<div class="elementor-element elementor-element-5207177 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="5207177" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-bd237f3 elementor-invisible elementor-widget elementor-widget-logico_heading" data-id="bd237f3" data-element_type="widget" data-e-type="widget" data-settings="{&quot;_animation&quot;:&quot;logico_heading_animation&quot;}"
data-widget_type="logico_heading.default">
<div class="elementor-widget-container">
<h3 class="logico-title">Pharmaceuticals
</h3>
</div>
</div>
<div class="elementor-element elementor-element-88a27ab elementor-widget elementor-widget-text-editor" data-id="88a27ab" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<p>Temperature-sensitive, compliance-critical, life-saving.</p>
</div>
</div>
<div class="elementor-element elementor-element-920208b e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="920208b" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-1efdb49 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="1efdb49" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-e0a766d elementor-widget elementor-widget-logico_heading" data-id="e0a766d" data-element_type="widget" data-e-type="widget" data-widget_type="logico_heading.default">
<div class="elementor-widget-container">
<div class="logico-title">CHALLENGES
</div>
</div>
</div>
<div class="elementor-element elementor-element-083809e elementor-widget elementor-widget-text-editor" data-id="083809e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<ul>
<li>Cold chain integrity requirements</li>
<li>Regulatory compliance tracking</li>
<li>Critical delivery time windows</li>
</ul>
</div>
</div>
</div>
<div class="elementor-element elementor-element-ec0e3c0 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="ec0e3c0" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-99d4f2f elementor-widget elementor-widget-logico_heading" data-id="99d4f2f" data-element_type="widget" data-e-type="widget" data-widget_type="logico_heading.default">
<div class="elementor-widget-container">
<div class="logico-title">DOORMILE SOLUTIONS
</div>
</div>
</div>
<div class="elementor-69">
<div class="elementor-element elementor-element-256f25a elementor-align-start elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="256f25a" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
<div class="elementor-widget-container">
<ul class="elementor-icon-list-items">
<li class="elementor-icon-list-item">
<span class="elementor-icon-list-icon">
<i aria-hidden="true" class="fontello icon-button-arrow-x-r-down" style="color: black;"></i> </span>
<span class="elementor-icon-list-text " style="color: Black;">Real-time temperature monitoring</span>
</li>
<li class="elementor-icon-list-item">
<span class="elementor-icon-list-icon">
<i aria-hidden="true" class="fontello icon-button-arrow-x-r-down" style="color: black;"></i> </span>
<span class="elementor-icon-list-text " style="color: Black;">Chain-of-custody documentation</span>
</li>
<li class="elementor-icon-list-item">
<span class="elementor-icon-list-icon">
<i aria-hidden="true" class="fontello icon-button-arrow-x-r-down" style="color: black;"></i> </span>
<span class="elementor-icon-list-text " style="color: Black;">Priority override for critical shipments</span>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="elementor-element elementor-element-68d569c e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent" data-id="68d569c" data-element_type="container" data-e-type="container">
<div class="e-con-inner">
<div class="elementor-element elementor-element-47ad046 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="47ad046" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-357dbac elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="357dbac" data-element_type="widget" data-e-type="widget" data-widget_type="divider.default">
<div class="elementor-widget-container">
<div class="elementor-divider">
<span class="elementor-divider-separator">
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="elementor-element elementor-element-f555abf e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent" data-id="f555abf" data-element_type="container" data-e-type="container">
<div class="e-con-inner">
<div class="elementor-element elementor-element-f955e02 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="f955e02" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-5780d04 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="5780d04" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-e9aa529 elementor-invisible elementor-widget elementor-widget-logico_heading" data-id="e9aa529" data-element_type="widget" data-e-type="widget" data-settings="{&quot;_animation&quot;:&quot;logico_heading_animation&quot;}"
data-widget_type="logico_heading.default">
<div class="elementor-widget-container">
<h3 class="logico-title">Enterprise & B2B
</h3>
</div>
</div>
<div class="elementor-element elementor-element-63fe8fb elementor-widget elementor-widget-text-editor" data-id="63fe8fb" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<p>High-value shipments with complex delivery requirements.</p>
</div>
</div>
<div class="elementor-element elementor-element-89de240 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="89de240" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-170797f e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="170797f" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-91ca1e1 elementor-widget elementor-widget-logico_heading" data-id="91ca1e1" data-element_type="widget" data-e-type="widget" data-widget_type="logico_heading.default">
<div class="elementor-widget-container">
<div class="logico-title">CHALLENGES
</div>
</div>
</div>
<div class="elementor-element elementor-element-14d48b2 elementor-widget elementor-widget-text-editor" data-id="14d48b2" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<ul>
<li>Appointment scheduling coordination</li>
<li>White-glove delivery standards</li>
<li>Multi-location routing complexity</li>
</ul>
</div>
</div>
</div>
<div class="elementor-element elementor-element-624849c e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="624849c" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-4475806 elementor-widget elementor-widget-logico_heading" data-id="4475806" data-element_type="widget" data-e-type="widget" data-widget_type="logico_heading.default">
<div class="elementor-widget-container">
<div class="logico-title">DOORMILE SOLUTIONS
</div>
</div>
</div>
<div class="elementor-69">
<div class="elementor-element elementor-element-256f25a elementor-align-start elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="256f25a" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
<div class="elementor-widget-container">
<ul class="elementor-icon-list-items">
<li class="elementor-icon-list-item">
<span class="elementor-icon-list-icon">
<i aria-hidden="true" class="fontello icon-button-arrow-x-r-down" style="color: black;"></i> </span>
<span class="elementor-icon-list-text " style="color: Black;">Automated appointment optimization</span>
</li>
<li class="elementor-icon-list-item">
<span class="elementor-icon-list-icon">
<i aria-hidden="true" class="fontello icon-button-arrow-x-r-down" style="color: black;"></i> </span>
<span class="elementor-icon-list-text " style="color: Black;">Service level guarantee tracking</span>
</li>
<li class="elementor-icon-list-item">
<span class="elementor-icon-list-icon">
<i aria-hidden="true" class="fontello icon-button-arrow-x-r-down" style="color: black;"></i> </span>
<span class="elementor-icon-list-text " style="color: Black;">Enterprise integration APIs</span>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="elementor-element elementor-element-34d9395 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child" data-id="34d9395" data-element_type="container" data-e-type="container">
<div class="elementor-element elementor-element-bad700d elementor-widget elementor-widget-image" data-id="bad700d" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
<div class="elementor-widget-container">
<img loading="lazy" decoding="async" width="650" height="472" src="assets/images/B2B.png" class="attachment-full size-full wp-image-1646" alt="" /> </div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,122 @@
<div class="elementor-element elementor-element-86f3204 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent"
data-id="86f3204" data-element_type="container">
<div class="elementor-element elementor-element-0b7a484 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child"
data-id="0b7a484" data-element_type="container"
data-settings="{&quot;background_background&quot;:&quot;video&quot;,&quot;background_video_link&quot;:&quot;https:\/\/demo.artureanec.com\/themes\/logico-rounded\/wp-content\/uploads\/2024\/10\/home3-slide1.mp4&quot;,&quot;background_play_on_mobile&quot;:&quot;yes&quot;}">
<div class="e-con-inner">
<div class="elementor-background-video-container" aria-hidden="true">
<video class="elementor-background-video-hosted" autoplay muted playsinline
loop></video>
</div>
<div class="elementor-element elementor-element-f34eebd e-con-full e-flex cut-corner-no sticky-container-off e-con e-child"
data-id="f34eebd" data-element_type="container">
<div class="elementor-element elementor-element-9ee80cf elementor-widget__width-initial elementor-invisible elementor-widget elementor-widget-logico_heading"
data-id="9ee80cf" data-element_type="widget"
data-settings="{&quot;_animation&quot;:&quot;logico_heading_animation&quot;}"
data-widget_type="logico_heading.default">
<div class="elementor-widget-container">
<h3 class="logico-title">
Ready to See MileTruth&trade; in Action?
</h3>
</div>
</div>
<div class="elementor-element elementor-element-f8249f2 elementor-widget__width-initial elementor-widget elementor-widget-text-editor"
data-id="f8249f2" data-element_type="widget"
data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<p>Schedule a personalized demo and see how AI can transform your logistics operations.</p>
</div>
</div>
<div class="elementor-element elementor-element-438af04 elementor-widget elementor-widget-logico_button"
data-id="438af04" data-element_type="widget"
data-widget_type="logico_button.default">
<div class="elementor-widget-container">
<div class="button-widget">
<div class="button-container">
<a href="#"
target="_blank" class="logico-alter-button">Explore more
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- <div class="elementor-element elementor-element-8e5c81e e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child"
data-id="8e5c81e" data-element_type="container"
data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
<div class="e-con-inner">
<div class="elementor-element elementor-element-628123a e-con-full e-grid cut-corner-no sticky-container-off e-con e-child"
data-id="628123a" data-element_type="container">
<div class="elementor-element elementor-element-d6bdc87 elementor-widget elementor-widget-counter"
data-id="d6bdc87" data-element_type="widget"
data-widget_type="counter.default">
<div class="elementor-widget-container">
<div class="elementor-counter">
<div class="elementor-counter-title">Delivered packages</div>
<div class="elementor-counter-number-wrapper">
<span class="elementor-counter-number-prefix"></span>
<span class="elementor-counter-number" data-duration="2000"
data-to-value="7500" data-from-value="7000"
data-delimiter=".">7000</span>
<span class="elementor-counter-number-suffix"></span>
</div>
</div>
</div>
</div>
<div class="elementor-element elementor-element-1da88b5 elementor-widget elementor-widget-counter"
data-id="1da88b5" data-element_type="widget"
data-widget_type="counter.default">
<div class="elementor-widget-container">
<div class="elementor-counter">
<div class="elementor-counter-title">Tons of goods</div>
<div class="elementor-counter-number-wrapper">
<span class="elementor-counter-number-prefix">2.</span>
<span class="elementor-counter-number" data-duration="2000"
data-to-value="6" data-from-value="1"
data-delimiter=".">1</span>
<span
class="elementor-counter-number-suffix">&nbsp;bil</span>
</div>
</div>
</div>
</div>
<div class="elementor-element elementor-element-18333ba elementor-widget elementor-widget-counter"
data-id="18333ba" data-element_type="widget"
data-widget_type="counter.default">
<div class="elementor-widget-container">
<div class="elementor-counter">
<div class="elementor-counter-title">Countries covered</div>
<div class="elementor-counter-number-wrapper">
<span class="elementor-counter-number-prefix"></span>
<span class="elementor-counter-number" data-duration="2000"
data-to-value="100" data-from-value="10"
data-delimiter=".">10</span>
<span class="elementor-counter-number-suffix">+</span>
</div>
</div>
</div>
</div>
<div class="elementor-element elementor-element-a1cf3d4 elementor-widget elementor-widget-counter"
data-id="a1cf3d4" data-element_type="widget"
data-widget_type="counter.default">
<div class="elementor-widget-container">
<div class="elementor-counter">
<div class="elementor-counter-title">Warehouses</div>
<div class="elementor-counter-number-wrapper">
<span class="elementor-counter-number-prefix"></span>
<span class="elementor-counter-number" data-duration="2000"
data-to-value="550" data-from-value="100"
data-delimiter=".">100</span>
<span class="elementor-counter-number-suffix">+</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div> -->
</div>

View File

@@ -0,0 +1,526 @@
<style>
/* ── ALL STYLES SCOPED UNDER .dm-compare-section ── */
.dm-compare-section *,
.dm-compare-section *::before,
.dm-compare-section *::after {
box-sizing: border-box;
}
.dm-compare-section {
--dm-red: #c01227;
--dm-red-light: #fdf0f2;
--dm-red-border: rgba(192, 18, 39, 0.12);
--dm-red-hover: rgba(192, 18, 39, 0.025);
--dm-green: #1dab6e;
--dm-green-light: #edfaf4;
--dm-dark: #1a1e2e;
--dm-muted: #8d93a8;
--dm-white: #ffffff;
--dm-border: rgba(0, 0, 0, 0.07);
width: 100%;
max-width: 1100px;
margin: 0 auto;
padding: 50px 40px 0px;
position: relative;
font-family: 'Manrope', sans-serif;
}
/* grid background */
.dm-compare-section::before {
content: '';
position: absolute;
inset: 0;
background-image:
linear-gradient(to right, rgba(0,0,0,0.035) 1px, transparent 1px),
linear-gradient(to bottom, rgba(0,0,0,0.035) 1px, transparent 1px);
background-size: 70px 70px;
pointer-events: none;
mask-image: radial-gradient(ellipse 85% 85% at 50% 50%, black 40%, transparent 100%);
-webkit-mask-image: radial-gradient(ellipse 85% 85% at 50% 50%, black 40%, transparent 100%);
z-index: 0;
border-radius: 24px;
}
/* ── HEADER ── */
.dm-compare-section .dm-section-header {
text-align: center;
margin-bottom: 56px;
position: relative;
z-index: 1;
}
.dm-compare-section .dm-eyebrow {
display: inline-flex;
align-items: center;
gap: 10px;
font-family: 'Manrope', sans-serif;
font-size: 11px;
font-weight: 700;
letter-spacing: 3.5px;
text-transform: uppercase;
color: var(--dm-red);
margin-bottom: 18px;
opacity: 0;
transform: translateY(18px);
transition: opacity 0.55s ease, transform 0.55s ease;
}
.dm-compare-section .dm-eyebrow::before,
.dm-compare-section .dm-eyebrow::after {
content: '';
display: block;
width: 28px;
height: 1px;
background: var(--dm-red);
}
.dm-compare-section .dm-section-title {
font-family: 'Manrope', sans-serif;
font-size: clamp(36px, 5vw, 62px);
font-weight: 800;
color: var(--dm-dark);
line-height: 1.05;
letter-spacing: -1px;
margin: 0;
opacity: 0;
transform: translateY(28px);
transition: opacity 0.65s ease 0.12s, transform 0.65s ease 0.12s;
}
.dm-compare-section .dm-section-title em {
font-style: normal;
color: var(--dm-red);
position: relative;
}
.dm-compare-section .dm-section-title em::after {
content: '';
position: absolute;
bottom: 3px; left: 0; right: 0;
height: 3px;
background: var(--dm-red);
border-radius: 2px;
transform: scaleX(0);
transform-origin: left;
transition: transform 0.8s cubic-bezier(.16,1,.3,1) 0.85s;
}
.dm-compare-section .dm-section-sub {
margin-top: 18px;
font-size: 15.5px;
color: var(--dm-muted);
line-height: 1.7;
opacity: 0;
transform: translateY(18px);
transition: opacity 0.65s ease 0.26s, transform 0.65s ease 0.26s;
}
/* ── IN-VIEW TRIGGERS ── */
.dm-compare-section.dm-in-view .dm-eyebrow { opacity: 1; transform: translateY(0); }
.dm-compare-section.dm-in-view .dm-section-title { opacity: 1; transform: translateY(0); }
.dm-compare-section.dm-in-view .dm-section-title em::after { transform: scaleX(1); }
.dm-compare-section.dm-in-view .dm-section-sub { opacity: 1; transform: translateY(0); }
/* ── TABLE WRAPPER ── */
.dm-compare-section .dm-compare-wrap {
position: relative;
z-index: 1;
border-radius: 22px;
overflow: hidden;
box-shadow: 0 8px 50px rgba(0,0,0,0.09);
background: var(--dm-white);
opacity: 0;
transform: translateY(40px);
transition: opacity 0.75s cubic-bezier(.16,1,.3,1) 0.35s,
transform 0.75s cubic-bezier(.16,1,.3,1) 0.35s;
}
.dm-compare-section.dm-in-view .dm-compare-wrap { opacity: 1; transform: translateY(0); }
/* ── COLUMN HEADERS ── */
.dm-compare-section .dm-col-headers {
display: grid;
grid-template-columns: 1fr 1fr;
position: relative;
}
.dm-compare-section .dm-col-headers::after {
content: '';
position: absolute;
top: 0; bottom: 0; left: 50%;
width: 1px;
background: var(--dm-border);
}
.dm-compare-section .dm-col-head {
padding: 26px 40px;
font-family: 'Manrope', sans-serif;
font-size: 13px;
font-weight: 700;
letter-spacing: 2.5px;
text-transform: uppercase;
display: flex;
align-items: center;
gap: 10px;
}
.dm-compare-section .dm-col-head.dm-traditional {
background: #f7f8fa;
color: var(--dm-muted);
border-bottom: 1px solid var(--dm-border);
}
.dm-compare-section .dm-col-head.dm-doormile {
background: var(--dm-red-light);
color: var(--dm-red);
border-bottom: 1px solid var(--dm-red-border);
position: relative;
overflow: hidden;
}
.dm-compare-section .dm-col-head.dm-doormile::after {
content: '';
position: absolute;
top: 0; left: -100%;
width: 60%; height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
animation: dm-shimmer 3s ease-in-out infinite 1.2s;
}
@keyframes dm-shimmer {
0% { left: -100%; }
50% { left: 140%; }
100% { left: 140%; }
}
.dm-compare-section .dm-col-head-icon {
width: 28px; height: 28px;
border-radius: 8px;
display: flex; align-items: center; justify-content: center;
flex-shrink: 0;
}
.dm-compare-section .dm-col-head.dm-traditional .dm-col-head-icon { background: #ececee; }
.dm-compare-section .dm-col-head.dm-doormile .dm-col-head-icon { background: rgba(192,18,39,0.15); }
.dm-compare-section .dm-col-head-icon svg {
width: 14px; height: 14px;
stroke-width: 2.5;
stroke-linecap: round; stroke-linejoin: round;
fill: none;
}
.dm-compare-section .dm-col-head.dm-traditional .dm-col-head-icon svg { stroke: var(--dm-muted); }
.dm-compare-section .dm-col-head.dm-doormile .dm-col-head-icon svg { stroke: var(--dm-red); }
/* ── ROWS ── */
.dm-compare-section .dm-compare-row {
display: grid;
grid-template-columns: 1fr 1fr;
border-top: 1px solid var(--dm-border);
position: relative;
overflow: hidden;
opacity: 0;
transform: translateX(-16px);
transition: opacity 0.5s ease, transform 0.5s cubic-bezier(.16,1,.3,1);
}
.dm-compare-section.dm-in-view .dm-compare-row:nth-child(1) { opacity: 1; transform: translateX(0); transition-delay: 0.55s; }
.dm-compare-section.dm-in-view .dm-compare-row:nth-child(2) { opacity: 1; transform: translateX(0); transition-delay: 0.68s; }
.dm-compare-section.dm-in-view .dm-compare-row:nth-child(3) { opacity: 1; transform: translateX(0); transition-delay: 0.81s; }
.dm-compare-section.dm-in-view .dm-compare-row:nth-child(4) { opacity: 1; transform: translateX(0); transition-delay: 0.94s; }
.dm-compare-section .dm-compare-row::before {
content: '';
position: absolute;
inset: 0;
background: var(--dm-red-hover);
opacity: 0;
transition: opacity 0.25s;
pointer-events: none;
}
.dm-compare-section .dm-compare-row:hover::before { opacity: 1; }
/* ── CELLS ── */
.dm-compare-section .dm-cell {
padding: 28px 40px;
display: flex;
align-items: center;
gap: 16px;
font-size: 15px;
line-height: 1.5;
position: relative;
}
.dm-compare-section .dm-cell.dm-right {
border-left: 1px solid var(--dm-border);
background: rgba(253,248,248,0.4);
}
/* ── ICONS ── */
.dm-compare-section .dm-cell-icon {
flex-shrink: 0;
width: 32px; height: 32px;
border-radius: 50%;
display: flex; align-items: center; justify-content: center;
transition: transform 0.35s cubic-bezier(.16,1,.3,1);
}
.dm-compare-section .dm-compare-row:hover .dm-cell-icon { transform: scale(1.18) rotate(-5deg); }
.dm-compare-section .dm-cell-icon.dm-bad { background: var(--dm-red-light); }
.dm-compare-section .dm-cell-icon.dm-good { background: var(--dm-green-light); }
.dm-compare-section .dm-cell-icon svg {
width: 15px; height: 15px;
stroke-width: 2.5;
stroke-linecap: round; stroke-linejoin: round;
fill: none;
}
.dm-compare-section .dm-cell-icon.dm-bad svg { stroke: var(--dm-red); }
.dm-compare-section .dm-cell-icon.dm-good svg { stroke: var(--dm-green); }
.dm-compare-section .dm-cell-text {
font-weight: 500;
color: var(--dm-dark);
transition: color 0.2s;
margin: 0;
}
.dm-compare-section .dm-cell.dm-left .dm-cell-text { color: var(--dm-muted); }
.dm-compare-section .dm-compare-row:hover .dm-cell.dm-right .dm-cell-text { color: var(--dm-dark); }
/* ── FOOTER BAR ── */
.dm-compare-section .dm-compare-footer {
display: grid;
grid-template-columns: 1fr 1fr;
border-top: 1px solid var(--dm-border);
}
.dm-compare-section .dm-footer-cell {
padding: 22px 40px;
font-size: 12px;
font-family: 'Manrope', sans-serif;
font-weight: 700;
letter-spacing: 1.5px;
text-transform: uppercase;
color: var(--dm-muted);
background: #f9fafb;
}
.dm-compare-section .dm-footer-cell.dm-right {
background: var(--dm-red-light);
color: var(--dm-red);
border-left: 1px solid var(--dm-red-border);
display: flex;
align-items: center;
gap: 8px;
}
.dm-compare-section .dm-footer-cell .dm-dot {
width: 7px; height: 7px;
border-radius: 50%;
background: var(--dm-red);
flex-shrink: 0;
animation: dm-pulse 1.8s ease-in-out infinite;
}
@keyframes dm-pulse {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.35; transform: scale(0.55); }
}
/* ─── ULTRA-WIDE SCREENS (1440px to 2560px+) ─── */
/* Merged and optimized for cleaner structure */
@media (min-width: 1440px) {
.dm-compare-section {
max-width: 1400px; /* Increased for wider screens */
padding: 80px 40px;
}
.dm-compare-section .dm-section-title { font-size: clamp(40px, 4vw, 72px); }
.dm-compare-section .dm-col-head { padding: 32px 48px; font-size: 14px; }
.dm-compare-section .dm-cell { padding: 32px 48px; font-size: 16px; }
}
/* ─── TABLET (768px to 1200px) ─── */
@media (max-width: 1200px) {
.dm-compare-section {
padding: 60px 24px;
/* background: #1f1f1f; Remove if already set globally or in parent */
}
.dm-compare-section .dm-section-title { font-size: clamp(32px, 6vw, 48px); }
.dm-compare-section .dm-col-head,
.dm-compare-section .dm-cell {
padding: 24px 30px;
font-size: 14px;
}
.dm-compare-section .dm-footer-cell { padding: 16px 30px; }
}
/* ─── MOBILE (Below 768px) ─── */
@media (max-width: 767px) {
.dm-compare-section {
padding: 20px 16px;
border-radius: 0; /* Full width mobile feel */
}
.dm-compare-section .dm-section-header { margin-bottom: 32px; }
.dm-compare-section .dm-section-sub { font-size: 14px; padding: 0 10px; }
/* Stack the layout */
.dm-compare-section .dm-col-headers,
.dm-compare-section .dm-compare-row,
.dm-compare-section .dm-compare-footer {
grid-template-columns: 1fr;
}
/* Remove vertical divider */
.dm-compare-section .dm-col-headers::after { display: none; }
.dm-compare-section .dm-col-head {
justify-content: center;
text-align: center;
padding: 20px;
border-bottom: 1px solid var(--dm-border);
}
.dm-compare-section .dm-col-head.dm-doormile {
border-top: 1px solid var(--dm-red-border);
}
.dm-compare-section .dm-cell {
padding: 18px 20px;
border-left: none !important;
border-right: none !important;
}
/* Distinguish columns in stacked mode */
.dm-compare-section .dm-cell.dm-left {
background: #fafafa;
border-bottom: 1px dashed var(--dm-border);
}
.dm-compare-section .dm-cell.dm-right {
background: var(--dm-red-light);
border-bottom: 1px solid var(--dm-border);
}
.dm-compare-section .dm-compare-row:last-child .dm-cell.dm-right {
border-bottom: none;
}
/* Footer adjustments */
.dm-compare-section .dm-footer-cell {
text-align: center;
justify-content: center;
padding: 16px;
font-size: 10px;
}
.dm-compare-section .dm-footer-cell.dm-right {
border-left: none;
border-top: 1px solid var(--dm-red-border);
}
/* Fix Icon/Text scale for mobile */
.dm-compare-section .dm-cell-icon {
width: 28px;
height: 28px;
}
.dm-compare-section .dm-cell-text {
font-size: 14px;
}
}
</style>
<!-- ── SECTION HTML ── -->
<div class="elementor-element elementor-element-89a0ca1 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent" data-id="89a0ca1" data-element_type="container">
<section class="dm-compare-section" id="dm-compare">
<div class="dm-section-header">
<div class="dm-eyebrow">Why It Matters</div>
<h2 class="dm-section-title" style="color:black;">Two Approaches.<br><em>One Clear Winner.</em></h2>
<p class="dm-section-sub">See how the Doormile way eliminates the friction that traditional logistics creates at every step.</p>
</div>
<div class="dm-compare-wrap">
<div class="dm-col-headers">
<div class="dm-col-head dm-traditional">
<div class="dm-col-head-icon">
<svg viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
</div>
Traditional Approach
</div>
<div class="dm-col-head dm-doormile">
<div class="dm-col-head-icon">
<svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>
</div>
The Doormile Way
</div>
</div>
<div class="dm-rows-wrap">
<div class="dm-compare-row">
<div class="dm-cell dm-left">
<div class="dm-cell-icon dm-bad"><svg viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></div>
<span class="dm-cell-text">First mile ignores last mile SLA</span>
</div>
<div class="dm-cell dm-right">
<div class="dm-cell-icon dm-good"><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg></div>
<span class="dm-cell-text">Every mile protects the final delivery</span>
</div>
</div>
<div class="dm-compare-row">
<div class="dm-cell dm-left">
<div class="dm-cell-icon dm-bad"><svg viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></div>
<span class="dm-cell-text">Reactive problem discovery</span>
</div>
<div class="dm-cell dm-right">
<div class="dm-cell-icon dm-good"><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg></div>
<span class="dm-cell-text">Proactive delay prevention</span>
</div>
</div>
<div class="dm-compare-row">
<div class="dm-cell dm-left">
<div class="dm-cell-icon dm-bad"><svg viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></div>
<span class="dm-cell-text">Multiple vendors, no accountability</span>
</div>
<div class="dm-cell dm-right">
<div class="dm-cell-icon dm-good"><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg></div>
<span class="dm-cell-text">Single owner, single promise</span>
</div>
</div>
<div class="dm-compare-row">
<div class="dm-cell dm-left">
<div class="dm-cell-icon dm-bad"><svg viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></div>
<span class="dm-cell-text">Static plans break at first variance</span>
</div>
<div class="dm-cell dm-right">
<div class="dm-cell-icon dm-good"><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg></div>
<span class="dm-cell-text">Dynamic AI-driven adjustments</span>
</div>
</div>
</div>
<div class="dm-compare-footer">
<div class="dm-footer-cell">Outdated · Fragmented · Reactive</div>
<div class="dm-footer-cell dm-right">
<span class="dm-dot"></span>
Unified · Intelligent · Proactive
</div>
</div>
</div>
</section>
</div>
<script>
(function () {
var section = document.getElementById('dm-compare');
if (!section) return;
function activate() { section.classList.add('dm-in-view'); }
if ('IntersectionObserver' in window) {
var io = new IntersectionObserver(function (entries) {
entries.forEach(function (e) {
if (e.isIntersecting) { activate(); io.unobserve(e.target); }
});
}, { threshold: 0.15 });
io.observe(section);
} else {
setTimeout(activate, 300);
}
})();
</script>

View File

@@ -0,0 +1,461 @@
<style>
/* ── ALL STYLES SCOPED UNDER .dm-compare-section ── */
.dm-compare-section *,
.dm-compare-section *::before,
.dm-compare-section *::after {
box-sizing: border-box;
}
.dm-compare-section {
--dm-red: #c01227;
--dm-red-light: #fdf0f2;
--dm-red-border: rgba(192, 18, 39, 0.12);
--dm-red-hover: rgba(192, 18, 39, 0.025);
--dm-green: #1dab6e;
--dm-green-light: #edfaf4;
--dm-dark: #1a1e2e;
--dm-muted: #8d93a8;
--dm-white: #ffffff;
--dm-border: rgba(0, 0, 0, 0.07);
width: 100%;
max-width: 1100px;
margin: 0 auto;
padding: 50px 40px 20px;
position: relative;
font-family: 'Manrope', sans-serif;
}
/* grid background */
.dm-compare-section::before {
content: '';
position: absolute;
inset: 0;
background-image:
linear-gradient(to right, rgba(0,0,0,0.035) 1px, transparent 1px),
linear-gradient(to bottom, rgba(0,0,0,0.035) 1px, transparent 1px);
background-size: 70px 70px;
pointer-events: none;
mask-image: radial-gradient(ellipse 85% 85% at 50% 50%, black 40%, transparent 100%);
-webkit-mask-image: radial-gradient(ellipse 85% 85% at 50% 50%, black 40%, transparent 100%);
z-index: 0;
border-radius: 24px;
}
/* ── HEADER ── */
.dm-compare-section .dm-section-header {
text-align: center;
margin-bottom: 56px;
position: relative;
z-index: 1;
}
.dm-compare-section .dm-eyebrow {
display: inline-flex;
align-items: center;
gap: 10px;
font-family: 'Manrope', sans-serif;
font-size: 11px;
font-weight: 700;
letter-spacing: 3.5px;
text-transform: uppercase;
color: var(--dm-red);
margin-bottom: 18px;
opacity: 0;
transform: translateY(18px);
transition: opacity 0.55s ease, transform 0.55s ease;
}
.dm-compare-section .dm-eyebrow::before,
.dm-compare-section .dm-eyebrow::after {
content: '';
display: block;
width: 28px;
height: 1px;
background: var(--dm-red);
}
.dm-compare-section .dm-section-title {
font-family: 'Manrope', sans-serif;
font-size: clamp(36px, 5vw, 62px);
font-weight: 800;
color: var(--dm-dark);
line-height: 1.05;
letter-spacing: -1px;
margin: 0;
opacity: 0;
transform: translateY(28px);
transition: opacity 0.65s ease 0.12s, transform 0.65s ease 0.12s;
}
.dm-compare-section .dm-section-title em {
font-style: normal;
color: var(--dm-red);
position: relative;
}
.dm-compare-section .dm-section-title em::after {
content: '';
position: absolute;
bottom: 3px; left: 0; right: 0;
height: 3px;
background: var(--dm-red);
border-radius: 2px;
transform: scaleX(0);
transform-origin: left;
transition: transform 0.8s cubic-bezier(.16,1,.3,1) 0.85s;
}
.dm-compare-section .dm-section-sub {
margin-top: 18px;
font-size: 15.5px;
color: var(--dm-muted);
line-height: 1.7;
opacity: 0;
transform: translateY(18px);
transition: opacity 0.65s ease 0.26s, transform 0.65s ease 0.26s;
}
/* ── IN-VIEW TRIGGERS ── */
.dm-compare-section.dm-in-view .dm-eyebrow { opacity: 1; transform: translateY(0); }
.dm-compare-section.dm-in-view .dm-section-title { opacity: 1; transform: translateY(0); }
.dm-compare-section.dm-in-view .dm-section-title em::after { transform: scaleX(1); }
.dm-compare-section.dm-in-view .dm-section-sub { opacity: 1; transform: translateY(0); }
/* ── TABLE WRAPPER ── */
.dm-compare-section .dm-compare-wrap {
position: relative;
z-index: 1;
border-radius: 22px;
overflow: hidden;
box-shadow: 0 8px 50px rgba(0,0,0,0.09);
background: var(--dm-white);
opacity: 0;
transform: translateY(40px);
transition: opacity 0.75s cubic-bezier(.16,1,.3,1) 0.35s,
transform 0.75s cubic-bezier(.16,1,.3,1) 0.35s;
}
.dm-compare-section.dm-in-view .dm-compare-wrap { opacity: 1; transform: translateY(0); }
/* ── COLUMN HEADERS ── */
.dm-compare-section .dm-col-headers {
display: grid;
grid-template-columns: 1fr 1fr;
position: relative;
}
.dm-compare-section .dm-col-headers::after {
content: '';
position: absolute;
top: 0; bottom: 0; left: 50%;
width: 1px;
background: var(--dm-border);
}
.dm-compare-section .dm-col-head {
padding: 26px 40px;
font-family: 'Manrope', sans-serif;
font-size: 13px;
font-weight: 700;
letter-spacing: 2.5px;
text-transform: uppercase;
display: flex;
align-items: center;
gap: 10px;
}
.dm-compare-section .dm-col-head.dm-traditional {
background: #f7f8fa;
color: var(--dm-muted);
border-bottom: 1px solid var(--dm-border);
}
.dm-compare-section .dm-col-head.dm-doormile {
background: var(--dm-red-light);
color: var(--dm-red);
border-bottom: 1px solid var(--dm-red-border);
position: relative;
overflow: hidden;
}
.dm-compare-section .dm-col-head.dm-doormile::after {
content: '';
position: absolute;
top: 0; left: -100%;
width: 60%; height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
animation: dm-shimmer 3s ease-in-out infinite 1.2s;
}
@keyframes dm-shimmer {
0% { left: -100%; }
50% { left: 140%; }
100% { left: 140%; }
}
.dm-compare-section .dm-col-head-icon {
width: 28px; height: 28px;
border-radius: 8px;
display: flex; align-items: center; justify-content: center;
flex-shrink: 0;
}
.dm-compare-section .dm-col-head.dm-traditional .dm-col-head-icon { background: #ececee; }
.dm-compare-section .dm-col-head.dm-doormile .dm-col-head-icon { background: rgba(192,18,39,0.15); }
.dm-compare-section .dm-col-head-icon svg {
width: 14px; height: 14px;
stroke-width: 2.5;
stroke-linecap: round; stroke-linejoin: round;
fill: none;
}
.dm-compare-section .dm-col-head.dm-traditional .dm-col-head-icon svg { stroke: var(--dm-muted); }
.dm-compare-section .dm-col-head.dm-doormile .dm-col-head-icon svg { stroke: var(--dm-red); }
/* ── ROWS ── */
.dm-compare-section .dm-compare-row {
display: grid;
grid-template-columns: 1fr 1fr;
border-top: 1px solid var(--dm-border);
position: relative;
overflow: hidden;
opacity: 0;
transform: translateX(-16px);
transition: opacity 0.5s ease, transform 0.5s cubic-bezier(.16,1,.3,1);
}
.dm-compare-section.dm-in-view .dm-compare-row:nth-child(1) { opacity: 1; transform: translateX(0); transition-delay: 0.55s; }
.dm-compare-section.dm-in-view .dm-compare-row:nth-child(2) { opacity: 1; transform: translateX(0); transition-delay: 0.68s; }
.dm-compare-section.dm-in-view .dm-compare-row:nth-child(3) { opacity: 1; transform: translateX(0); transition-delay: 0.81s; }
.dm-compare-section.dm-in-view .dm-compare-row:nth-child(4) { opacity: 1; transform: translateX(0); transition-delay: 0.94s; }
.dm-compare-section .dm-compare-row::before {
content: '';
position: absolute;
inset: 0;
background: var(--dm-red-hover);
opacity: 0;
transition: opacity 0.25s;
pointer-events: none;
}
.dm-compare-section .dm-compare-row:hover::before { opacity: 1; }
/* ── CELLS ── */
.dm-compare-section .dm-cell {
padding: 28px 40px;
display: flex;
align-items: center;
gap: 16px;
font-size: 15px;
line-height: 1.5;
position: relative;
}
.dm-compare-section .dm-cell.dm-right {
border-left: 1px solid var(--dm-border);
background: rgba(253,248,248,0.4);
}
/* ── ICONS ── */
.dm-compare-section .dm-cell-icon {
flex-shrink: 0;
width: 32px; height: 32px;
border-radius: 50%;
display: flex; align-items: center; justify-content: center;
transition: transform 0.35s cubic-bezier(.16,1,.3,1);
}
.dm-compare-section .dm-compare-row:hover .dm-cell-icon { transform: scale(1.18) rotate(-5deg); }
.dm-compare-section .dm-cell-icon.dm-bad { background: var(--dm-red-light); }
.dm-compare-section .dm-cell-icon.dm-good { background: var(--dm-green-light); }
.dm-compare-section .dm-cell-icon svg {
width: 15px; height: 15px;
stroke-width: 2.5;
stroke-linecap: round; stroke-linejoin: round;
fill: none;
}
.dm-compare-section .dm-cell-icon.dm-bad svg { stroke: var(--dm-red); }
.dm-compare-section .dm-cell-icon.dm-good svg { stroke: var(--dm-green); }
.dm-compare-section .dm-cell-text {
font-weight: 500;
color: var(--dm-dark);
transition: color 0.2s;
margin: 0;
}
.dm-compare-section .dm-cell.dm-left .dm-cell-text { color: var(--dm-muted); }
.dm-compare-section .dm-compare-row:hover .dm-cell.dm-right .dm-cell-text { color: var(--dm-dark); }
/* ── FOOTER BAR ── */
.dm-compare-section .dm-compare-footer {
display: grid;
grid-template-columns: 1fr 1fr;
border-top: 1px solid var(--dm-border);
}
.dm-compare-section .dm-footer-cell {
padding: 22px 40px;
font-size: 12px;
font-family: 'Manrope', sans-serif;
font-weight: 700;
letter-spacing: 1.5px;
text-transform: uppercase;
color: var(--dm-muted);
background: #f9fafb;
}
.dm-compare-section .dm-footer-cell.dm-right {
background: var(--dm-red-light);
color: var(--dm-red);
border-left: 1px solid var(--dm-red-border);
display: flex;
align-items: center;
gap: 8px;
}
.dm-compare-section .dm-footer-cell .dm-dot {
width: 7px; height: 7px;
border-radius: 50%;
background: var(--dm-red);
flex-shrink: 0;
animation: dm-pulse 1.8s ease-in-out infinite;
}
@keyframes dm-pulse {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.35; transform: scale(0.55); }
}
/* ─── DESKTOP (1200px) ─── */
@media (max-width: 1200px) {
.dm-compare-section { max-width: 960px; padding: 50px 30px 0; }
.dm-compare-section .dm-section-title { font-size: 52px; }
}
/* ─── TABLET (1024px) ─── */
@media (max-width: 1024px) {
.dm-compare-section { max-width: 100%; padding: 50px 40px; }
.dm-compare-section .dm-section-title { font-size: 46px; }
.dm-compare-section .dm-col-head,
.dm-compare-section .dm-cell { padding: 25px 30px; }
.dm-compare-section .dm-section-sub { font-size: 15px; }
}
/* ─── MOBILE (768px) ─── */
@media (max-width: 768px) {
.dm-compare-section { padding: 60px 20px 80px; }
.dm-compare-section .dm-section-header { margin-bottom: 40px; }
.dm-compare-section .dm-section-title { font-size: 38px; }
.dm-compare-section .dm-section-sub { font-size: 14.5px; margin-top: 15px; }
.dm-compare-section .dm-col-head { padding: 20px 20px; font-size: 11.5px; letter-spacing: 2px; }
.dm-compare-section .dm-cell { padding: 22px 20px; font-size: 14px; gap: 12px; }
.dm-compare-section .dm-cell-icon { width: 28px; height: 28px; }
.dm-compare-section .dm-footer-cell { padding: 18px 20px; font-size: 11px; letter-spacing: 1px; }
}
/* ─── SMALL PHONE (480px) ─── */
@media (max-width: 480px) {
.dm-compare-section { padding: 50px 15px 60px; }
.dm-compare-section .dm-eyebrow { font-size: 10px; letter-spacing: 2.5px; }
.dm-compare-section::before { background-size: 50px 50px; }
.dm-compare-section .dm-section-title { font-size: 32px; letter-spacing: -0.5px; }
.dm-compare-section .dm-col-head { padding: 18px 15px; font-size: 10px; letter-spacing: 1px; gap: 8px; }
.dm-compare-section .dm-col-head-icon { width: 22px; height: 22px; }
.dm-compare-section .dm-cell { padding: 18px 12px; font-size: 13px; gap: 10px; }
.dm-compare-section .dm-cell-icon { width: 24px; height: 24px; }
.dm-compare-section .dm-footer-cell { padding: 15px 12px; font-size: 9px; letter-spacing: 0.5px; }
.dm-compare-section .dm-footer-cell.dm-right { gap: 6px; }
}
</style>
<!-- ── SECTION HTML ── -->
<section class="dm-compare-section" id="dm-compare">
<div class="dm-section-header">
<div class="dm-eyebrow">Why It Matters</div>
<h2 class="dm-section-title">Traditional Approach<br><em>The Doormile Way</em></h2>
<p class="dm-section-sub">See how the Doormile way eliminates the friction that traditional logistics creates at every step.</p>
</div>
<!-- <div class="dm-compare-wrap">
<div class="dm-col-headers">
<div class="dm-col-head dm-traditional">
<div class="dm-col-head-icon">
<svg viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
</div>
Traditional Approach
</div>
<div class="dm-col-head dm-doormile">
<div class="dm-col-head-icon">
<svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg>
</div>
The Doormile Way
</div>
</div>
<div class="dm-rows-wrap">
<div class="dm-compare-row">
<div class="dm-cell dm-left">
<div class="dm-cell-icon dm-bad"><svg viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></div>
<span class="dm-cell-text">3+ vendors to manage</span>
</div>
<div class="dm-cell dm-right">
<div class="dm-cell-icon dm-good"><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg></div>
<span class="dm-cell-text">Single integrated partner</span>
</div>
</div>
<div class="dm-compare-row">
<div class="dm-cell dm-left">
<div class="dm-cell-icon dm-bad"><svg viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></div>
<span class="dm-cell-text">Fragmented tracking</span>
</div>
<div class="dm-cell dm-right">
<div class="dm-cell-icon dm-good"><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg></div>
<span class="dm-cell-text">Unified timeline view</span>
</div>
</div>
<div class="dm-compare-row">
<div class="dm-cell dm-left">
<div class="dm-cell-icon dm-bad"><svg viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></div>
<span class="dm-cell-text">Blame games on delays</span>
</div>
<div class="dm-cell dm-right">
<div class="dm-cell-icon dm-good"><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg></div>
<span class="dm-cell-text">Clear accountability</span>
</div>
</div>
<div class="dm-compare-row">
<div class="dm-cell dm-left">
<div class="dm-cell-icon dm-bad"><svg viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></div>
<span class="dm-cell-text">Reactive problem solving</span>
</div>
<div class="dm-cell dm-right">
<div class="dm-cell-icon dm-good"><svg viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"/></svg></div>
<span class="dm-cell-text">AI-powered predictions</span>
</div>
</div>
</div>
<div class="dm-compare-footer">
<div class="dm-footer-cell">Outdated · Fragmented · Reactive</div>
<div class="dm-footer-cell dm-right">
<span class="dm-dot"></span>
Unified · Intelligent · Proactive
</div>
</div>
</div> -->
</section>
<script>
(function () {
var section = document.getElementById('dm-compare');
if (!section) return;
function activate() { section.classList.add('dm-in-view'); }
if ('IntersectionObserver' in window) {
var io = new IntersectionObserver(function (entries) {
entries.forEach(function (e) {
if (e.isIntersecting) { activate(); io.unobserve(e.target); }
});
}, { threshold: 0.15 });
io.observe(section);
} else {
setTimeout(activate, 300);
}
})();
</script>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,768 @@
<style>
*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
:root {
--red: #c01227;
--red-light: #fff0ee;
--dark: #1a1e2e;
--mid: #3d4259;
--muted: #8d93a8;
--bg: #f3f4f7;
--white: #ffffff;
--card-shadow: 0 4px 30px rgba(0, 0, 0, 0.07);
--card-shadow-hover: 0 16px 60px rgba(232, 55, 42, 0.13);
}
body {
font-family: "Manrope", Sans-serif;
background: var(--bg);
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
overflow-x: hidden;
}
/* ─── SECTION WRAPPER ─── */
.problem-section {
width: 100%;
max-width: 1400px;
margin: auto;
padding: 50px 40px 50px;
position: relative;
align-items: center;
justify-content: center;
}
/* Decorative dashed grid lines (Logico style) */
.problem-section::before {
content: '';
position: absolute;
inset: 0;
background-image:
linear-gradient(to right, rgba(0, 0, 0, 0.04) 1px, transparent 1px),
linear-gradient(to bottom, rgba(0, 0, 0, 0.04) 1px, transparent 1px);
background-size: 80px 80px;
pointer-events: none;
border-radius: 24px;
mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 40%, transparent 100%);
}
/* ─── HEADER ─── */
.section-header {
text-align: center;
margin-bottom: 70px;
position: relative;
}
.eyebrow {
display: inline-flex;
align-items: center;
gap: 10px;
font-family: 'Manrope', sans-serif;
font-size: 12px;
font-weight: 700;
letter-spacing: 3px;
text-transform: uppercase;
color: var(--red);
margin-bottom: 20px;
opacity: 0;
transform: translateY(20px);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.eyebrow::before,
.eyebrow::after {
content: '';
display: block;
width: 30px;
height: 1px;
background: var(--red);
}
.section-title {
font-family: 'Manrope', sans-serif;
font-size: clamp(40px, 6vw, 72px);
font-weight: 800;
color: var(--dark);
line-height: 1.0;
letter-spacing: -1px;
opacity: 0;
transform: translateY(30px);
transition: opacity 0.7s ease 0.15s, transform 0.7s ease 0.15s;
}
.section-title em {
font-style: normal;
color: var(--red);
position: relative;
}
.section-title em::after {
content: '';
position: absolute;
bottom: 4px;
left: 0;
right: 0;
height: 3px;
background: var(--red);
border-radius: 2px;
transform: scaleX(0);
transform-origin: left;
transition: transform 0.8s cubic-bezier(.16, 1, .3, 1) 0.9s;
}
.section-subtitle {
margin-top: 22px;
font-size: 16px;
color: #454545;
line-height: 1.75;
max-width: 520px;
margin-left: auto;
margin-right: auto;
opacity: 0;
transform: translateY(20px);
transition: opacity 0.7s ease 0.3s, transform 0.7s ease 0.3s;
display: inline-block;
justify-content: center;
align-items: center;
}
/* ─── IN-VIEW TRIGGERS ─── */
.in-view .eyebrow {
opacity: 1;
transform: translateY(0);
}
.in-view .section-title {
opacity: 1;
transform: translateY(0);
}
.in-view .section-title em::after {
transform: scaleX(1);
}
.in-view .section-subtitle {
opacity: 1;
transform: translateY(0);
}
/* ─── STAT CARDS ─── */
.cards-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.stat-card {
background: var(--white);
border-radius: 20px;
padding: 36px 28px 32px;
position: relative;
overflow: hidden;
box-shadow: var(--card-shadow);
cursor: default;
opacity: 0;
transform: translateY(50px) scale(0.97);
transition:
opacity 0.65s cubic-bezier(.16, 1, .3, 1),
transform 0.65s cubic-bezier(.16, 1, .3, 1),
box-shadow 0.3s ease;
}
.stat-card:nth-child(1) {
transition-delay: 0.1s;
}
.stat-card:nth-child(2) {
transition-delay: 0.25s;
}
.stat-card:nth-child(3) {
transition-delay: 0.4s;
}
.in-view .stat-card {
opacity: 1;
transform: translateY(0) scale(1);
}
.stat-card:hover {
box-shadow: var(--card-shadow-hover);
transform: translateY(-6px) scale(1.01) !important;
}
/* Corner accent stripe */
.stat-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, var(--red), transparent);
transform: scaleX(0);
transform-origin: left;
transition: transform 0.5s cubic-bezier(.16, 1, .3, 1);
}
.stat-card:hover::before,
.in-view .stat-card::before {
transform: scaleX(1);
}
/* Subtle radial glow on hover */
.stat-card::after {
content: '';
position: absolute;
top: -60px;
left: -60px;
width: 200px;
height: 200px;
background: radial-gradient(circle, rgba(232, 55, 42, 0.06) 0%, transparent 70%);
opacity: 0;
transition: opacity 0.4s ease;
pointer-events: none;
}
.stat-card:hover::after {
opacity: 1;
}
/* ─── ICON ─── */
.card-icon-wrap {
width: 60px;
height: 60px;
border-radius: 16px;
background: var(--red-light);
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 28px;
transition: transform 0.35s cubic-bezier(.16, 1, .3, 1), background 0.3s;
}
.stat-card:hover .card-icon-wrap {
transform: rotate(-6deg) scale(1.1);
background: var(--red);
}
.card-icon-wrap svg {
width: 26px;
height: 26px;
stroke: var(--red);
fill: none;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
transition: stroke 0.3s;
}
.stat-card:hover .card-icon-wrap svg {
stroke: #fff;
}
/* ─── NUMBER COUNTER ─── */
.card-number {
font-family: 'Manrope', sans-serif;
font-size: 56px;
font-weight: 800;
color: var(--dark);
line-height: 1;
letter-spacing: -2px;
display: flex;
align-items: baseline;
gap: 2px;
margin-bottom: 12px;
}
.card-number .suffix {
font-size: 38px;
font-weight: 700;
color: var(--red);
}
.card-label {
font-size: 14.5px;
color: var(--muted);
line-height: 1.55;
font-weight: 400;
}
/* Progress bar accent */
.card-bar {
margin-top: 28px;
height: 3px;
border-radius: 3px;
background: #ebebed;
overflow: hidden;
}
.card-bar-fill {
height: 100%;
border-radius: 3px;
background: linear-gradient(90deg, var(--red), #ff7b6e);
width: 0%;
transition: width 1.4s cubic-bezier(.16, 1, .3, 1);
}
.in-view .stat-card:nth-child(1) .card-bar-fill {
width: 73%;
transition-delay: 0.8s;
}
.in-view .stat-card:nth-child(2) .card-bar-fill {
width: 40%;
transition-delay: 0.95s;
}
.in-view .stat-card:nth-child(3) .card-bar-fill {
width: 60%;
transition-delay: 1.1s;
}
/* ─── FLOATING BADGE ─── */
.float-badge {
position: absolute;
top: 20px;
right: 20px;
font-family: 'Manrope', sans-serif;
font-size: 10px;
font-weight: 700;
letter-spacing: 2px;
text-transform: uppercase;
color: var(--red);
background: var(--red-light);
padding: 4px 10px;
border-radius: 20px;
opacity: 0;
transform: translateY(-6px);
transition: opacity 0.3s, transform 0.3s;
}
.stat-card:hover .float-badge {
opacity: 1;
transform: translateY(0);
}
/* ─── LARGE DESKTOP (1440px+) ─── */
@media (min-width: 1440px) {
.problem-section {
max-width: 1400px;
padding: 60px 52px 60px;
}
.problem-section::before {
background-size: 90px 90px;
}
.section-header {
margin-bottom: 78px;
}
.eyebrow {
font-size: 13px;
letter-spacing: 3.5px;
gap: 12px;
margin-bottom: 23px;
}
.eyebrow::before,
.eyebrow::after {
width: 34px;
}
.section-title {
font-size: clamp(44px, 5.5vw, 78px);
letter-spacing: -1.2px;
}
.section-subtitle {
font-size: 17px;
max-width: 580px;
margin-top: 25px;
line-height: 1.78;
}
.cards-grid {
gap: 24px;
}
.stat-card {
border-radius: 22px;
padding: 40px 32px 36px;
}
.card-icon-wrap {
width: 66px;
height: 66px;
border-radius: 18px;
margin-bottom: 30px;
}
.card-icon-wrap svg {
width: 29px;
height: 29px;
}
.card-number {
font-size: 60px;
letter-spacing: -2.2px;
margin-bottom: 14px;
}
.card-number .suffix {
font-size: 41px;
}
.card-label {
font-size: 15.5px;
line-height: 1.6;
}
.card-bar {
margin-top: 30px;
height: 3px;
}
.float-badge {
font-size: 11px;
letter-spacing: 2.2px;
padding: 4px 12px;
top: 22px;
right: 22px;
}
}
/* ─── EXTRA-LARGE DESKTOP (1920px+) ─── */
@media (min-width: 1920px) {
.problem-section {
max-width: 1780px;
padding: 72px 64px 72px;
}
.problem-section::before {
background-size: 100px 100px;
}
.section-header {
margin-bottom: 88px;
}
.eyebrow {
font-size: 14px;
letter-spacing: 3.8px;
gap: 13px;
margin-bottom: 26px;
}
.eyebrow::before,
.eyebrow::after {
width: 38px;
}
.section-title {
font-size: clamp(50px, 5.2vw, 84px);
letter-spacing: -1.4px;
}
.section-subtitle {
font-size: 18px;
max-width: 640px;
margin-top: 28px;
line-height: 1.8;
}
.cards-grid {
gap: 28px;
}
.stat-card {
border-radius: 24px;
padding: 44px 36px 40px;
}
.card-icon-wrap {
width: 72px;
height: 72px;
border-radius: 20px;
margin-bottom: 34px;
}
.card-icon-wrap svg {
width: 32px;
height: 32px;
}
.card-number {
font-size: 64px;
letter-spacing: -2.4px;
margin-bottom: 15px;
}
.card-number .suffix {
font-size: 44px;
}
.card-label {
font-size: 16.5px;
line-height: 1.62;
}
.card-bar {
margin-top: 34px;
height: 3.5px;
}
.float-badge {
font-size: 11.5px;
letter-spacing: 2.4px;
padding: 5px 13px;
top: 23px;
right: 23px;
}
}
/* ─── ULTRA-WIDE (2560px+) ─── */
@media (min-width: 2560px) {
/* Section wrapper — wider container, more breathing room */
.problem-section {
max-width: 2000px;
padding: 80px 72px 80px;
}
/* Grid lines scale up */
.problem-section::before {
background-size: 110px 110px;
}
/* Header spacing */
.section-header {
margin-bottom: 96px;
}
/* Eyebrow */
.eyebrow {
font-size: 15px;
letter-spacing: 4px;
gap: 14px;
margin-bottom: 28px;
}
.eyebrow::before,
.eyebrow::after {
width: 42px;
}
/* Section title */
.section-title {
font-size: clamp(56px, 5vw, 88px);
letter-spacing: -1.5px;
}
/* Subtitle */
.section-subtitle {
font-size: 19px;
max-width: 680px;
margin-top: 30px;
line-height: 1.8;
}
/* Stat cards grid — wider gaps */
.cards-grid {
gap: 32px;
}
/* Individual cards — more internal space */
.stat-card {
border-radius: 24px;
padding: 48px 38px 42px;
}
/* Icon */
.card-icon-wrap {
width: 76px;
height: 76px;
border-radius: 20px;
margin-bottom: 36px;
}
.card-icon-wrap svg {
width: 34px;
height: 34px;
}
/* Number counter */
.card-number {
font-size: 68px;
letter-spacing: -2.5px;
margin-bottom: 16px;
}
.card-number .suffix {
font-size: 46px;
}
/* Card label */
.card-label {
font-size: 17px;
line-height: 1.65;
}
/* Progress bar */
.card-bar {
margin-top: 36px;
height: 4px;
}
/* Floating badge */
.float-badge {
font-size: 12px;
letter-spacing: 2.5px;
padding: 5px 14px;
top: 24px;
right: 24px;
}
}
</style>
</head>
<body>
<section class="problem-section" id="problem">
<div class="section-header">
<div class="eyebrow">The Problem</div>
<h2 class="section-title">Fragmented Logistics<br>is <em>Broken</em></h2>
<p class="section-subtitle">When first, mid, and last mile operate independently, nobody owns the outcome.
Handoffs become failure points. Delays cascade.</p>
</div>
<!-- <div class="cards-grid">
<div class="stat-card">
<span class="float-badge">Critical</span>
<div class="card-icon-wrap">
<svg viewBox="0 0 24 24">
<path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/>
<line x1="12" y1="9" x2="12" y2="13"/>
<line x1="12" y1="17" x2="12.01" y2="17"/>
</svg>
</div>
<div class="card-number">
<span class="counter" data-target="73">0</span><span class="suffix">%</span>
</div>
<div class="card-label">of delays happen at handoffs between logistics segments</div>
<div class="card-bar"><div class="card-bar-fill"></div></div>
</div>
<div class="stat-card">
<span class="float-badge">High Risk</span>
<div class="card-icon-wrap">
<svg viewBox="0 0 24 24">
<polyline points="22 7 13.5 15.5 8.5 10.5 2 17"/>
<polyline points="16 7 22 7 22 13"/>
</svg>
</div>
<div class="card-number">
<span class="counter" data-target="40">0</span><span class="suffix">%</span>
</div>
<div class="card-label">of all shipments require manual intervention to complete delivery</div>
<div class="card-bar"><div class="card-bar-fill"></div></div>
</div>
<div class="stat-card">
<span class="float-badge">Inefficiency</span>
<div class="card-icon-wrap">
<svg viewBox="0 0 24 24">
<circle cx="12" cy="12" r="10"/>
<polyline points="12 6 12 12 16 14"/>
</svg>
</div>
<div class="card-number">
<span class="counter" data-target="2" data-decimals="1" data-step="0.1">0</span><span class="suffix">x</span>
</div>
<div class="card-label">more time wasted on coordination across fragmented logistics providers</div>
<div class="card-bar"><div class="card-bar-fill"></div></div>
</div>
</div> -->
<?php include 'includes/section2.php'; ?>
</section>
<script>
// ─── INTERSECTION OBSERVER ───
const section = document.getElementById('problem');
const observer = new IntersectionObserver(entries => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('in-view');
startCounters();
observer.unobserve(entry.target);
}
});
}, { threshold: 0.2 });
observer.observe(section);
// Auto-trigger since we're in a standalone demo
setTimeout(() => {
section.classList.add('in-view');
startCounters();
}, 300);
// ─── COUNTER ANIMATION ───
function startCounters() {
document.querySelectorAll('.counter').forEach(el => {
const target = parseFloat(el.dataset.target);
const decimals = parseInt(el.dataset.decimals || '0');
const step = parseFloat(el.dataset.step || '1');
const duration = 1800;
const startTime = performance.now();
function update(now) {
const elapsed = now - startTime;
const progress = Math.min(elapsed / duration, 1);
// Ease out expo
const ease = progress === 1 ? 1 : 1 - Math.pow(2, -10 * progress);
const current = ease * target;
el.textContent = decimals > 0 ? current.toFixed(decimals) : Math.floor(current);
if (progress < 1) requestAnimationFrame(update);
}
requestAnimationFrame(update);
});
}
// ─── PARALLAX TILT ON CARDS ───
document.querySelectorAll('.stat-card').forEach(card => {
card.addEventListener('mousemove', e => {
const rect = card.getBoundingClientRect();
const x = (e.clientX - rect.left) / rect.width - 0.5;
const y = (e.clientY - rect.top) / rect.height - 0.5;
card.style.transform = `translateY(-6px) scale(1.01) rotateX(${-y * 5}deg) rotateY(${x * 5}deg)`;
});
card.addEventListener('mouseleave', () => {
card.style.transform = '';
});
});
</script>
</body>
</html>

View File

@@ -0,0 +1,100 @@
<div class="stats-bar">
<div class="stats-inner1">
<div class="stat-item reveal reveal-d1">
<div class="stat-num">99.2 <span>%</span></div>
<div class="stat-lbl">On-Time Delivery</div>
</div>
<div class="stat-item reveal reveal-d2">
<div class="stat-num">3<span>x</span></div>
<div class="stat-lbl">Faster Response</div>
</div>
<div class="stat-item reveal reveal-d3">
<div class="stat-num">40<span>%</span></div>
<div class="stat-lbl">Cost Reduction</div>
</div>
<!-- <div class="stat-item reveal reveal-d4">
<div class="stat-num">15 </div>
<div class="stat-lbl">Cities Covered</div>
</div> -->
</div>
</div>
<style>
.stats-bar {
width: 100%;
padding: 50px 0;
position: relative;
}
.stats-inner1 {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
position: relative;
z-index: 2;
}
.stat-item {
text-align: center;
transition: transform 0.3s ease;
}
.stat-num {
font-size: clamp(40px, 6vw, 70px);
font-weight: 900;
color: #111;
line-height: 1;
margin-bottom: 8px;
font-family: "Manrope", sans-serif;
letter-spacing: -2px;
}
.stat-num span {
font-size: 0.5em;
color: #E31E24;
margin-left: 5px;
vertical-align: middle;
}
.stat-lbl {
font-size: clamp(13px, 1.5vw, 16px);
font-weight: 700;
color: #64748B;
text-transform: uppercase;
letter-spacing: 1.5px;
}
/* Tablet Scale (1024px) */
@media (max-width: 1024px) {
.stats-inner1 {
max-width: 90%;
gap: 20px;
}
}
/* Mobile Stack (767px) */
@media (max-width: 767px) {
.stats-bar {
padding: 40px 0;
}
.stats-inner1 {
grid-template-columns: 1fr;
gap: 45px;
}
.stat-num {
font-size: 56px; /* Explicit size for mobile for clarity */
}
}
/* Small Phone Scaling (480px) */
@media (max-width: 480px) {
.stat-num {
font-size: 44px;
}
.stat-lbl {
font-size: 11px;
letter-spacing: 1px;
}
}
</style>

View File

@@ -0,0 +1,573 @@
<style>
/* ══════════════════════════════════════════
MILETRUTH SHOWCASE — FULL REDESIGN
══════════════════════════════════════════ */
#mts-root {
font-family: 'Manrope', sans-serif;
/* background: #f8f7f5; */
padding: 100px 0 80px;
position: relative;
overflow: hidden;
margin-top: 80px;
}
#mts-root::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0;
height: 6px;
background: linear-gradient(90deg, #c01227 0%, #ff4d6d 50%, #c01227 100%);
}
.mts-wrap {
max-width: 1260px;
margin: 0 auto;
padding: 0 40px;
}
/* ── INTRO ROW ── */
.mts-intro {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: end;
margin-bottom: 70px;
}
.mts-label {
font-size: 0.72rem;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 4px;
color: #c01227;
margin-bottom: 16px;
}
.mts-heading {
font-size: clamp(2rem, 3.5vw, 3.2rem);
font-weight: 900;
color: #0f0f0f;
line-height: 1.1;
margin: 0;
letter-spacing: -1.5px;
}
.mts-heading span {
color: #c01227;
position: relative;
}
.mts-heading span::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 100%;
height: 3px;
background: #c01227;
border-radius: 2px;
}
.mts-sub {
font-size: 1rem;
color: #666;
line-height: 1.75;
margin: 0 0 32px;
max-width: 440px;
}
/* Stats pills */
.mts-pills {
display: flex;
gap: 12px;
flex-wrap: wrap;
}
.mts-pill {
display: flex;
align-items: center;
gap: 10px;
background: #fff;
border: 1px solid #e8e4e0;
border-radius: 50px;
padding: 10px 20px;
box-shadow: 0 2px 12px rgba(0,0,0,0.06);
transition: all 0.3s;
}
.mts-pill:hover {
border-color: #c01227;
box-shadow: 0 4px 20px rgba(192,18,39,0.12);
transform: translateY(-2px);
}
.mts-pill-num {
font-size: 1.25rem;
font-weight: 900;
color: #c01227;
line-height: 1;
}
.mts-pill-text {
font-size: 0.75rem;
font-weight: 600;
color: #888;
text-transform: uppercase;
letter-spacing: 0.5px;
line-height: 1.3;
max-width: 70px;
}
/* ── MAIN BENTO GRID ── */
.mts-bento {
display: grid;
grid-template-columns: 1.4fr 1fr 1fr;
grid-template-rows: auto auto;
gap: 16px;
}
/* Base card */
.mts-card {
background: #f8f7f5;
border-radius: 24px;
padding: 40px;
position: relative;
overflow: hidden;
border: 1px solid #eee;
transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
cursor: default;
}
.mts-card:hover {
transform: translateY(-4px);
box-shadow: 0 20px 60px rgba(0,0,0,0.08);
border-color: rgba(192,18,39,0.2);
}
/* Large hero card — spans 2 rows */
.mts-card--hero {
grid-row: 1 / 3;
background: #0f0f12;
border-color: #1e1e24;
padding: 52px 48px;
display: flex;
flex-direction: column;
justify-content: space-between;
min-height: 460px;
}
.mts-card--hero::before {
content: '';
position: absolute;
top: -80px; right: -80px;
width: 280px; height: 280px;
border-radius: 50%;
background: radial-gradient(circle, rgba(192,18,39,0.25) 0%, transparent 70%);
pointer-events: none;
}
.mts-card--hero::after {
content: '';
position: absolute;
bottom: -40px; left: -40px;
width: 200px; height: 200px;
border-radius: 50%;
background: radial-gradient(circle, rgba(192,18,39,0.1) 0%, transparent 70%);
pointer-events: none;
}
.mts-hero-badge {
display: inline-flex;
align-items: center;
gap: 6px;
background: rgba(192,18,39,0.15);
border: 1px solid rgba(192,18,39,0.3);
border-radius: 50px;
padding: 6px 14px;
font-size: 0.72rem;
font-weight: 700;
color: #ff4d6d;
text-transform: uppercase;
letter-spacing: 2px;
width: fit-content;
margin-bottom: 40px;
}
.mts-hero-badge::before {
content: '';
width: 6px; height: 6px;
border-radius: 50%;
background: #ff4d6d;
animation: blink 1.5s infinite;
}
@keyframes blink {
0%, 100% { opacity: 1; }
50% { opacity: 0.3; }
}
.mts-hero-num {
font-size: 8rem;
font-weight: 900;
color: rgba(255,255,255,0.08);
line-height: 0.8;
margin-bottom: 20px;
letter-spacing: -6px;
user-select: none;
}
.mts-hero-title {
font-size: 2rem;
font-weight: 800;
color: #fff;
line-height: 1.2;
margin: 0 0 16px;
letter-spacing: -0.5px;
position: relative;
z-index: 1;
}
.mts-hero-desc {
font-size: 0.95rem;
color: rgba(255,255,255,0.5);
line-height: 1.75;
margin: 0 0 40px;
position: relative;
z-index: 1;
}
.mts-hero-link {
display: inline-flex;
align-items: center;
gap: 10px;
font-size: 0.8rem;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 2px;
color: #fff;
text-decoration: none;
position: relative;
z-index: 1;
transition: gap 0.3s;
}
.mts-hero-link::after {
content: '→';
width: 36px;
height: 36px;
border-radius: 50%;
background: #c01227;
display: flex;
align-items: center;
justify-content: center;
font-size: 1rem;
transition: background 0.3s, transform 0.3s;
}
.mts-card--hero:hover .mts-hero-link::after {
background: #ff4d6d;
transform: translateX(4px);
}
/* Standard cards */
.mts-card-no {
font-size: 0.72rem;
font-weight: 800;
color: #c01227;
text-transform: uppercase;
letter-spacing: 2px;
margin-bottom: 20px;
}
.mts-card-icon-wrap {
width: 48px;
height: 48px;
border-radius: 14px;
background: #fff5f6;
border: 1px solid rgba(192,18,39,0.15);
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20px;
transition: all 0.35s;
}
.mts-card:hover .mts-card-icon-wrap {
background: #c01227;
border-color: #c01227;
}
.mts-card-icon-wrap svg {
width: 20px;
height: 20px;
stroke: #c01227;
fill: none;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
transition: stroke 0.35s;
}
.mts-card:hover .mts-card-icon-wrap svg {
stroke: #fff;
}
.mts-card-title {
font-size: 1rem;
font-weight: 800;
color: #111;
line-height: 1.3;
margin: 0 0 10px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.mts-card-text {
font-size: 0.875rem;
color: #888;
line-height: 1.7;
margin: 0;
}
/* Accent card — wide bottom-right */
.mts-card--accent {
background: linear-gradient(135deg, #c01227 0%, #8b0c1b 100%);
border-color: #c01227;
display: flex;
align-items: center;
gap: 24px;
padding: 32px 36px;
}
.mts-card--accent .mts-card-title {
color: #fff;
}
.mts-card--accent .mts-card-text {
color: rgba(255,255,255,0.65);
}
.mts-card--accent .mts-card-icon-wrap {
background: rgba(255,255,255,0.15);
border-color: rgba(255,255,255,0.2);
flex-shrink: 0;
width: 56px;
height: 56px;
}
.mts-card--accent:hover .mts-card-icon-wrap {
background: rgba(255,255,255,0.25);
border-color: rgba(255,255,255,0.35);
}
.mts-card--accent .mts-card-icon-wrap svg {
stroke: #fff;
width: 24px;
height: 24px;
}
.mts-card--accent:hover .mts-card-icon-wrap svg {
stroke: #fff;
}
.mts-card--accent:hover {
box-shadow: 0 20px 60px rgba(192,18,39,0.3);
}
/* Ghost number decoration on small cards */
.mts-card::after {
content: attr(data-num);
position: absolute;
bottom: -10px;
right: 16px;
font-size: 5.5rem;
font-weight: 900;
color: rgba(0,0,0,0.04);
line-height: 1;
user-select: none;
pointer-events: none;
letter-spacing: -4px;
}
.mts-card--hero::after { display: none; }
.mts-card--accent::after { color: rgba(255,255,255,0.08); }
/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
.mts-bento {
grid-template-columns: 1fr 1fr;
grid-template-rows: auto;
}
.mts-card--hero {
grid-column: 1 / 3;
grid-row: auto;
min-height: 380px;
}
.mts-intro {
grid-template-columns: 1fr;
gap: 30px;
}
}
@media (max-width: 680px) {
#mts-root { padding: 60px 0 50px; }
.mts-wrap { padding: 0 20px; }
.mts-bento {
grid-template-columns: 1fr;
}
.mts-card--hero {
grid-column: auto;
min-height: 340px;
}
.mts-card--accent {
flex-direction: column;
align-items: flex-start;
gap: 16px;
}
.mts-hero-num { font-size: 5rem; }
.mts-pills { gap: 8px; }
}
</style>
<section id="mts-root">
<div class="mts-wrap">
<!-- Intro Row -->
<div class="mts-intro">
<div>
<div class="mts-label">AI Intelligence</div>
<h2 class="mts-heading">Why <span>MileTruth&trade;</span><br>is Different</h2>
</div>
<div>
<p class="mts-sub">Unlike generic AI tools, MileTruth&trade; is trained exclusively on logistics data millions of deliveries, routes, exceptions, and outcomes.</p>
<div class="mts-pills">
<div class="mts-pill">
<span class="mts-pill-num" data-target="98" data-suffix="%">0%</span>
<span class="mts-pill-text">ETA Accuracy</span>
</div>
<div class="mts-pill">
<span class="mts-pill-num" data-target="50" data-suffix="+">0+</span>
<span class="mts-pill-text">Data Variables</span>
</div>
<div class="mts-pill">
<span class="mts-pill-num" data-target="30" data-suffix="%">0%</span>
<span class="mts-pill-text">Fewer Exceptions</span>
</div>
<div class="mts-pill">
<span class="mts-pill-num">46</span>
<span class="mts-pill-text">Hours Ahead</span>
</div>
</div>
</div>
</div>
<!-- Bento Grid -->
<div class="mts-bento">
<!-- HERO CARD -->
<div class="mts-card mts-card--hero">
<div>
<div class="mts-hero-badge">Live AI · Always On</div>
<div class="mts-hero-num">01</div>
<h3 class="mts-hero-title">Predictive Delay<br>Detection</h3>
<p class="mts-hero-desc">AI analyses 50+ variables traffic, weather, carrier patterns, and historical exceptions to predict delays 46 hours before they occur, giving your team time to act before customers notice.</p>
</div>
<a href="#" class="mts-hero-link">Explore Feature</a>
</div>
<!-- CARD 2 -->
<div class="mts-card" data-num="02">
<div class="mts-card-no">02</div>
<div class="mts-card-icon-wrap">
<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="3"/><path d="M19.07 4.93a10 10 0 010 14.14M4.93 4.93a10 10 0 000 14.14"/><path d="M15.54 8.46a5 5 0 010 7.07M8.46 8.46a5 5 0 000 7.07"/></svg>
</div>
<h5 class="mts-card-title">Smart Route Optimisation</h5>
<p class="mts-card-text">Real-time traffic, weather, and capacity data feed into dynamic routing that adapts on the fly.</p>
</div>
<!-- CARD 3 -->
<div class="mts-card" data-num="03">
<div class="mts-card-no">03</div>
<div class="mts-card-icon-wrap">
<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
</div>
<h5 class="mts-card-title">Accurate ETA Predictions</h5>
<p class="mts-card-text">Machine learning models trained on millions of deliveries provide 98% accurate arrival times.</p>
</div>
<!-- CARD 4 ACCENT -->
<div class="mts-card mts-card--accent" data-num="04">
<div class="mts-card-icon-wrap">
<svg viewBox="0 0 24 24"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/></svg>
</div>
<div>
<h5 class="mts-card-title" style="color: white;">Exception Management</h5>
<p class="mts-card-text" style="color: white;">Automatic escalation protocols trigger when deliveries deviate from expected patterns.</p>
</div>
</div>
<!-- CARD 5 -->
<div class="mts-card" data-num="05">
<div class="mts-card-no">05</div>
<div class="mts-card-icon-wrap">
<svg viewBox="0 0 24 24"><line x1="18" y1="20" x2="18" y2="10"/><line x1="12" y1="20" x2="12" y2="4"/><line x1="6" y1="20" x2="6" y2="14"/></svg>
</div>
<h5 class="mts-card-title">Performance Analytics</h5>
<p class="mts-card-text">Deep insights into carrier performance, route efficiency, and cost optimisation opportunities.</p>
</div>
<!-- CARD 6 -->
<!-- <div class="mts-card" data-num="06">
<div class="mts-card-no">06</div>
<div class="mts-card-icon-wrap">
<svg viewBox="0 0 24 24"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg>
</div>
<h5 class="mts-card-title">Automated Recommendations</h5>
<p class="mts-card-text">AI suggests carrier selection, consolidation opportunities, and capacity planning adjustments.</p>
</div> -->
</div><!-- /bento -->
</div><!-- /wrap -->
</section>
<script>
(function () {
var section = document.getElementById('mts-root');
if (!section) return;
var fired = false;
function activate() {
if (fired) return;
fired = true;
animateCounters();
}
function animateCounters() {
section.querySelectorAll('[data-target]').forEach(function (el) {
var target = parseInt(el.dataset.target, 10);
var suffix = el.dataset.suffix || '';
var start = performance.now();
var dur = 1800;
(function tick(now) {
var p = Math.min((now - start) / dur, 1);
var ease = 1 - Math.pow(2, -10 * p);
el.textContent = Math.round(ease * target) + suffix;
if (p < 1) requestAnimationFrame(tick);
})(start);
});
}
if ('IntersectionObserver' in window) {
var io = new IntersectionObserver(function (entries) {
if (entries[0].isIntersecting) { activate(); io.disconnect(); }
}, { threshold: 0.15 });
io.observe(section);
} else {
setTimeout(activate, 500);
}
})();
</script>