508 lines
48 KiB
Plaintext
508 lines
48 KiB
Plaintext
1:"$Sreact.fragment"
|
||
8:I[22016,["/_next/static/chunks/06n0m6ck5r8gy.js","/_next/static/chunks/0n.gft-j~h_v_.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0b1w.nc77tlwk.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""]
|
||
9:I[2018,["/_next/static/chunks/06n0m6ck5r8gy.js","/_next/static/chunks/0n.gft-j~h_v_.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0b1w.nc77tlwk.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"]
|
||
14:I[97367,["/_next/static/chunks/06n0m6ck5r8gy.js","/_next/static/chunks/0n.gft-j~h_v_.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0b1w.nc77tlwk.js"],"OutletBoundary"]
|
||
15:"$Sreact.suspense"
|
||
17:I[5500,["/_next/static/chunks/06n0m6ck5r8gy.js","/_next/static/chunks/0n.gft-j~h_v_.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0b1w.nc77tlwk.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"]
|
||
18:I[23096,["/_next/static/chunks/06n0m6ck5r8gy.js","/_next/static/chunks/0n.gft-j~h_v_.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0b1w.nc77tlwk.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"]
|
||
2:T3d21,
|
||
.dm-single-blog {
|
||
--dm-red: #c01227;
|
||
--dm-red-hover: #e31d32;
|
||
--dm-radius-card: 22px;
|
||
--dm-radius-img: 20px;
|
||
--dm-radius-badge: 8px;
|
||
--dm-shadow-card: 0 4px 24px rgba(15, 23, 42, 0.05);
|
||
--dm-border: 1px solid rgba(15, 23, 42, 0.09);
|
||
--dm-space-p: 24px;
|
||
--dm-space-h: 32px;
|
||
--dm-space-img: 32px;
|
||
--dm-space-quote: 40px;
|
||
--dm-sticky-top: 138px;
|
||
--dm-measure: min(1100px, 100%);
|
||
font-family: var(--font-manrope), sans-serif;
|
||
}
|
||
|
||
/* Heading normalization — beat the global theme's .elementor-kit-5 h1–h6
|
||
(120/80/60px UPPERCASE) rules with !important on our own classes. */
|
||
.dm-single-blog :where(h1, h2, h3, h4, h5, h6) {
|
||
font-family: var(--font-manrope), sans-serif !important;
|
||
text-transform: none !important;
|
||
font-style: normal !important;
|
||
font-weight: 800;
|
||
}
|
||
/* Neutralize the theme's .elementor-kit-5 a (red color + underline,
|
||
specificity 0-1-1) so blog links keep our colors and never get underlined. */
|
||
.dm-single-blog a { text-decoration: none !important; }
|
||
|
||
/* ── Page banner — tall (homepage-scale); only badge + title inside ── */
|
||
/* Compound selector (specificity 20) + !important beats the global 800px
|
||
single-class height rules so the blog banner can use viewport heights. */
|
||
.custom-standard-hero-card.dm-banner-card {
|
||
height: 90vh !important;
|
||
min-height: 85vh !important;
|
||
}
|
||
@media (max-width: 1024px) {
|
||
.custom-standard-hero-card.dm-banner-card { height: 80vh !important; min-height: 75vh !important; }
|
||
}
|
||
@media (max-width: 600px) {
|
||
.custom-standard-hero-card.dm-banner-card { height: 78vh !important; min-height: 72vh !important; }
|
||
}
|
||
|
||
.dm-banner-inner {
|
||
position: relative; width: 100%; height: 100%;
|
||
display: flex; flex-direction: column; align-items: center; justify-content: center;
|
||
text-align: center; gap: clamp(22px, 2.6vw, 34px);
|
||
padding: clamp(48px, 8vh, 96px) clamp(20px, 5vw, 48px);
|
||
}
|
||
|
||
.dm-banner-category {
|
||
display: inline-block; background: var(--dm-red); color: #fff;
|
||
font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.6px;
|
||
padding: 9px 18px; border-radius: 999px; box-shadow: 0 8px 22px rgba(192,18,39,0.45);
|
||
}
|
||
.dm-banner-title {
|
||
font-family: var(--font-manrope), sans-serif !important;
|
||
font-size: clamp(34px, 5vw, 60px) !important; font-weight: 850 !important;
|
||
line-height: 1.16 !important; letter-spacing: -1.2px !important;
|
||
color: #ffffff !important; margin: 0; max-width: 820px;
|
||
text-wrap: balance; text-shadow: 0 2px 30px rgba(0,0,0,0.38);
|
||
}
|
||
@media (max-width: 1024px) { .dm-banner-title { font-size: clamp(32px, 6vw, 48px) !important; max-width: 90%; } }
|
||
@media (max-width: 600px) { .dm-banner-title { font-size: clamp(28px, 8vw, 38px) !important; max-width: 90%; } }
|
||
|
||
/* ── Content wrap — begins immediately below the banner ── */
|
||
/* Shared content container: the SAME max-width + horizontal padding is used
|
||
by BlogPostFooter (.dm-blog-footer-inner) so the article body, headings,
|
||
images, Prev/Next, Related Articles and the CTA banner all align to one
|
||
grid with identical left/right edges. Keep both in sync. */
|
||
.dm-blog-wrap {
|
||
max-width: 1280px; margin: 0 auto;
|
||
/* 20px mobile padding floor → 40px on desktop; matches the footer container. */
|
||
padding: clamp(14px, 2vw, 26px) clamp(20px, 4vw, 40px) 0;
|
||
}
|
||
|
||
/* ── Article meta bar (directly under the hero) ── */
|
||
.dm-meta-bar {
|
||
display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px 24px;
|
||
padding: clamp(20px, 2.6vw, 30px) 0; margin-bottom: clamp(26px, 3vw, 44px);
|
||
border-bottom: 1px solid rgba(15,23,42,0.10);
|
||
}
|
||
.dm-meta-breadcrumb ol {
|
||
list-style: none; display: flex; flex-wrap: wrap; align-items: center;
|
||
gap: 8px; margin: 0; padding: 0; font-size: 13px; font-weight: 600; color: #64748b;
|
||
}
|
||
.dm-meta-breadcrumb a { color: #64748b !important; text-decoration: none; transition: color .2s ease; }
|
||
.dm-meta-breadcrumb a:hover { color: var(--dm-red) !important; }
|
||
.dm-meta-sep { color: #cbd5e1; }
|
||
.dm-meta-current {
|
||
color: #0f172a; font-weight: 700;
|
||
max-width: min(40ch, 46vw); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
|
||
}
|
||
@media (max-width: 600px) { .dm-meta-current { max-width: 56vw; } }
|
||
.dm-meta-items { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; }
|
||
.dm-meta-item {
|
||
display: inline-flex; align-items: center; gap: 7px;
|
||
font-size: 13.5px; font-weight: 600; color: #475569;
|
||
}
|
||
.dm-meta-item svg { color: var(--dm-red); flex: 0 0 auto; }
|
||
.dm-meta-author { color: #0f172a; font-weight: 700; }
|
||
@media (max-width: 600px) { .dm-meta-bar { gap: 12px; } }
|
||
.dm-blog-layout {
|
||
display: grid; grid-template-columns: minmax(0,1fr) 320px;
|
||
/* Tighter gap gives the reading column more room next to the 320px sidebar. */
|
||
gap: clamp(28px, 3vw, 56px); align-items: start;
|
||
}
|
||
@media (max-width: 1024px) {
|
||
.dm-blog-layout { grid-template-columns: 1fr; gap: 48px; }
|
||
/* Single-column (tablet/mobile): cap the reading column and centre it so the
|
||
article never sits left-aligned with a large empty right gutter. */
|
||
.dm-blog-main { max-width: 900px; margin-inline: auto; }
|
||
}
|
||
.dm-blog-main { min-width: 0; }
|
||
|
||
/* ── Intro lead ── */
|
||
.dm-blog-intro {
|
||
max-width: var(--dm-measure);
|
||
font-size: clamp(18px, 1.5vw, 20px); line-height: 1.65; font-weight: 500;
|
||
color: #475569; margin: 0 0 clamp(26px, 3vw, 38px); padding-left: 20px;
|
||
border-left: 3px solid var(--dm-red);
|
||
}
|
||
|
||
/* ── Article body ── */
|
||
.dm-article-body { max-width: var(--dm-measure); }
|
||
.dm-article-p {
|
||
font-size: 18px !important; line-height: 1.8 !important; color: #334155; font-weight: 450;
|
||
margin: 0 0 var(--dm-space-p);
|
||
}
|
||
.dm-article-h2 {
|
||
font-size: clamp(23px, 2vw, 30px) !important; font-weight: 800 !important; letter-spacing: -.3px !important;
|
||
color: #0f172a !important; line-height: 1.3 !important; margin: 48px 0 var(--dm-space-h);
|
||
text-wrap: balance;
|
||
}
|
||
/* Each article block is wrapped in its OWN ScrollReveal <div>, so a bare
|
||
:first-child rule matched every heading (each is the only child of its
|
||
wrapper) and zeroed its top margin — collapsing the gap above every
|
||
section heading. Scope the reset to only the article body's first block. */
|
||
.dm-article-body > :first-child :where(.dm-article-h2, .dm-article-h3),
|
||
.dm-article-body > .dm-article-h2:first-child,
|
||
.dm-article-body > .dm-article-h3:first-child { margin-top: 0; }
|
||
.dm-article-h3 {
|
||
font-size: clamp(19px, 1.5vw, 23px) !important; font-weight: 800 !important; letter-spacing: -.2px !important;
|
||
color: #1e293b !important; line-height: 1.34 !important; margin: 40px 0 18px;
|
||
text-wrap: balance;
|
||
}
|
||
@media (max-width: 600px) {
|
||
.dm-article-p { font-size: 16px !important; }
|
||
.dm-article-ul li, .dm-article-ol li { font-size: 15.5px; }
|
||
.dm-article-h2 { font-size: clamp(22px, 6vw, 28px) !important; margin-top: 38px; }
|
||
.dm-article-h3 { font-size: clamp(18px, 5vw, 22px) !important; }
|
||
}
|
||
|
||
.dm-article-ul, .dm-article-ol {
|
||
/* Top margin (was 0) separates the list from the paragraph above it;
|
||
matching bottom margin keeps it clear of the next heading/paragraph.
|
||
Slightly larger than --dm-space-p so the list reads as its own block. */
|
||
margin: clamp(26px, 2.4vw, 32px) 0 clamp(26px, 2.4vw, 32px);
|
||
padding-left: 2px; list-style: none;
|
||
display: flex; flex-direction: column; gap: 15px;
|
||
}
|
||
/* Prefixed with .dm-article-body so these beat the theme's global
|
||
".logico-front-end ul li:before" fontello-glyph bullet (specificity 0,1,3),
|
||
which otherwise replaces our clean red dot with a misaligned checkmark glyph
|
||
and adds its own 1.7em indent. */
|
||
.dm-article-body .dm-article-ul li, .dm-article-body .dm-article-ol li {
|
||
position: relative; padding-left: 34px;
|
||
font-size: 17px; line-height: 1.65; color: #334155; font-weight: 450;
|
||
}
|
||
.dm-article-body .dm-article-ul li::before {
|
||
content: ""; position: absolute; left: 7px; top: 10px;
|
||
width: 8px; height: 8px; border-radius: 50%; background: var(--dm-red);
|
||
/* kill any inherited fontello glyph from the global rule */
|
||
font-size: 0; line-height: 0;
|
||
}
|
||
.dm-article-ol { counter-reset: dm-li; }
|
||
.dm-article-body .dm-article-ol li { counter-increment: dm-li; }
|
||
.dm-article-body .dm-article-ol li::before {
|
||
content: counter(dm-li); position: absolute; left: 0; top: 0;
|
||
width: 24px; height: 24px; border-radius: 7px;
|
||
background: rgba(192,18,39,0.10); color: var(--dm-red);
|
||
font-size: 12px; font-weight: 800; display: flex; align-items: center; justify-content: center;
|
||
}
|
||
|
||
/* ── Quote ── */
|
||
.dm-article-quote {
|
||
position: relative; margin: var(--dm-space-quote) 0; padding: 30px 32px 30px 64px;
|
||
background: linear-gradient(135deg, #fbf2f3 0%, #fdf7f8 100%);
|
||
border-left: 4px solid var(--dm-red); border-radius: 0 18px 18px 0;
|
||
box-shadow: 0 8px 28px rgba(192, 18, 39, 0.06);
|
||
}
|
||
.dm-article-quote::before {
|
||
content: "\201C"; position: absolute; left: 22px; top: 8px;
|
||
font-family: Georgia, "Times New Roman", serif;
|
||
font-size: 64px; line-height: 1; color: rgba(192, 18, 39, 0.28); font-weight: 700;
|
||
}
|
||
.dm-article-quote p {
|
||
font-size: clamp(19px, 2vw, 23px); line-height: 1.5; font-weight: 600;
|
||
font-style: italic; color: #1e293b; margin: 0;
|
||
}
|
||
.dm-article-quote cite {
|
||
display: block; margin-top: 16px; font-size: 13px; font-weight: 700;
|
||
font-style: normal; color: var(--dm-red); text-transform: uppercase; letter-spacing: .6px;
|
||
}
|
||
@media (max-width: 600px) { .dm-article-quote { padding: 26px 22px; } .dm-article-quote::before { display: none; } }
|
||
|
||
/* ── Images ── */
|
||
.dm-article-figure { margin: var(--dm-space-img) 0; }
|
||
.dm-article-figure-img {
|
||
position: relative; display: block; width: 100%; aspect-ratio: 16 / 9;
|
||
border-radius: var(--dm-radius-img); overflow: hidden; box-shadow: 0 14px 34px rgba(15,23,42,0.10);
|
||
}
|
||
.dm-article-figure figcaption {
|
||
margin-top: 14px; font-size: 13.5px; color: #94a3b8; font-weight: 500;
|
||
text-align: center; font-style: italic;
|
||
}
|
||
|
||
/* ── Sidebar ── */
|
||
.dm-blog-aside-wrap { position: relative; }
|
||
.dm-blog-sidebar {
|
||
display: flex; flex-direction: column; gap: 18px;
|
||
position: sticky; top: var(--dm-sticky-top);
|
||
}
|
||
@media (max-width: 1024px) { .dm-blog-sidebar { position: static; gap: 20px; } }
|
||
|
||
.dm-blog-widget {
|
||
background: #fff; border: var(--dm-border); border-radius: var(--dm-radius-card);
|
||
padding: 20px; box-shadow: var(--dm-shadow-card);
|
||
}
|
||
.dm-blog-widget-title {
|
||
font-size: 13px !important; font-weight: 700 !important; text-transform: uppercase !important;
|
||
letter-spacing: .8px !important; line-height: 1.35 !important; color: #0f172a !important;
|
||
margin: 0 0 15px; padding: 0 0 12px;
|
||
border-bottom: 1px solid rgba(15,23,42,0.08);
|
||
overflow: visible; white-space: normal; word-break: normal;
|
||
}
|
||
|
||
/* Search */
|
||
.dm-sr-only {
|
||
position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
|
||
overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
|
||
}
|
||
.dm-blog-search { position: relative; }
|
||
.dm-blog-search-form { position: relative; }
|
||
.dm-blog-search-input {
|
||
width: 100%; height: 46px; border: 1.5px solid #e2e8f0; border-radius: 12px;
|
||
padding: 0 42px 0 15px; font-size: 14px; font-family: inherit; color: #0f172a;
|
||
background: #f8fafc; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
|
||
}
|
||
.dm-blog-search-input::placeholder { color: #9c9c9c; }
|
||
.dm-blog-search-input:focus {
|
||
outline: none; border-color: var(--dm-red); background: #fff;
|
||
box-shadow: 0 0 0 3px rgba(192,18,39,0.11);
|
||
}
|
||
.dm-blog-search-icon {
|
||
position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
|
||
color: #94a3b8; pointer-events: none; display: flex;
|
||
}
|
||
.dm-blog-search-results {
|
||
position: absolute; z-index: 20; top: calc(100% + 8px); left: 0; right: 0;
|
||
background: #fff; border: 1px solid rgba(15,23,42,0.10); border-radius: 14px;
|
||
box-shadow: 0 18px 42px rgba(15,23,42,0.14); overflow: hidden;
|
||
}
|
||
.dm-blog-search-results ul { list-style: none; margin: 0; padding: 6px; }
|
||
.dm-blog-search-result {
|
||
display: flex; flex-direction: column; gap: 3px; padding: 10px 12px;
|
||
border-radius: 10px; text-decoration: none; transition: background .15s ease;
|
||
}
|
||
.dm-blog-search-result:hover { background: #f8fafc; }
|
||
.dm-blog-search-result-cat {
|
||
font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .8px; color: var(--dm-red);
|
||
}
|
||
.dm-blog-search-result-title { font-size: 13.5px; font-weight: 600; color: #1e293b; line-height: 1.35; }
|
||
.dm-blog-search-empty { margin: 0; padding: 14px 12px; font-size: 13px; color: #64748b; }
|
||
|
||
/* Recent posts */
|
||
.dm-blog-recent { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 15px; }
|
||
.dm-blog-recent-item { display: flex; gap: 13px; align-items: center; text-decoration: none; }
|
||
.dm-blog-recent-thumb {
|
||
position: relative; flex: 0 0 62px; width: 62px; height: 62px;
|
||
border-radius: 13px; overflow: hidden; background: #f1f5f9;
|
||
}
|
||
.dm-blog-recent-meta { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
|
||
.dm-blog-recent-title {
|
||
font-size: 13.5px; font-weight: 700; color: #1e293b; line-height: 1.35;
|
||
display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
|
||
transition: color .2s ease;
|
||
}
|
||
.dm-blog-recent-item:hover .dm-blog-recent-title { color: var(--dm-red); }
|
||
.dm-blog-recent-date { font-size: 11.5px; font-weight: 600; color: #94a3b8; }
|
||
|
||
/* Categories */
|
||
.dm-blog-categories { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
|
||
.dm-blog-category-item {
|
||
display: flex; align-items: center; justify-content: space-between; gap: 10px;
|
||
padding: 11px 2px; text-decoration: none; font-size: 14px; font-weight: 600; color: #334155 !important;
|
||
border-bottom: 1px solid rgba(15,23,42,0.06); transition: color .2s ease, padding-left .2s ease;
|
||
}
|
||
.dm-blog-categories li:last-child .dm-blog-category-item { border-bottom: none; }
|
||
.dm-blog-category-item:hover { color: var(--dm-red); padding-left: 6px; }
|
||
.dm-blog-category-item > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
||
.dm-blog-category-count {
|
||
flex: 0 0 auto; font-size: 11px; font-weight: 800; color: #94a3b8; background: #f1f5f9;
|
||
min-width: 24px; height: 22px; border-radius: 7px; display: inline-flex;
|
||
align-items: center; justify-content: center; padding: 0 7px;
|
||
}
|
||
|
||
/* CTA card */
|
||
.dm-blog-cta-card { background: #1f1f1f; border-color: #1f1f1f; }
|
||
.dm-blog-cta-title { font-size: 18px !important; font-weight: 800 !important; color: #fff !important; line-height: 1.32 !important; margin: 0 0 10px; letter-spacing: -.2px !important; }
|
||
.dm-blog-cta-text { font-size: 13.5px; line-height: 1.6; color: #c7c7c7; margin: 0 0 20px; font-weight: 450; }
|
||
.dm-blog-cta-btn {
|
||
display: inline-flex; align-items: center; gap: 8px;
|
||
background: var(--dm-red); color: #fff !important; font-size: 13.5px; font-weight: 700;
|
||
padding: 12px 22px; border-radius: 12px; text-decoration: none;
|
||
transition: background .2s ease, transform .2s ease;
|
||
}
|
||
.dm-blog-cta-btn:hover { background: var(--dm-red-hover); transform: translateY(-2px); }
|
||
0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":[["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"42% Less Distance: Insights from Our Hyderabad Hub\",\"description\":\"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-15.png\"],\"datePublished\":\"2025-09-18T00:00:00.000Z\",\"dateModified\":\"2025-09-18T00:00:00.000Z\",\"author\":{\"@type\":\"Organization\",\"name\":\"Doormile Team\",\"url\":\"https://www.doormile.com\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"Doormile\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://www.doormile.com/images/cropped-image-2.png\"}},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://www.doormile.com/blog/42-less-distance-insights-from-our-hyderabad-hub\"},\"articleSection\":\"Case Study\"}"}}],["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https://www.doormile.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https://www.doormile.com/blog\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"42% Less Distance: Insights from Our Hyderabad Hub\",\"item\":\"https://www.doormile.com/blog/42-less-distance-insights-from-our-hyderabad-hub\"}]}"}}],["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":[["$","article",null,{"className":"dm-single-blog","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$2"}}],"$L3","$L4"]}],"$L5"]}]}]]}],["$L6"],"$L7"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"uc1oXJgPa5XVvnkq-VyVO"}
|
||
3:["$","div",null,{"className":"custom-standard-hero-container","children":["$","div",null,{"className":"custom-standard-hero-card dm-banner-card","style":{"backgroundImage":"url(/images/blog-post-pic-15.png)","--hero-overlay":"linear-gradient(180deg, rgba(0,0,0,0.38) 0%, rgba(0,0,0,0.46) 55%, rgba(0,0,0,0.60) 100%)"},"children":["$","div",null,{"className":"e-con-inner dm-banner-inner","children":[["$","span",null,{"className":"dm-banner-category","children":"Case Study"}],["$","h1",null,{"className":"dm-banner-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}]]}]}]}]
|
||
4:["$","div",null,{"className":"dm-blog-wrap","children":[["$","div",null,{"className":"dm-meta-bar","children":[["$","nav",null,{"className":"dm-meta-breadcrumb","aria-label":"Breadcrumb","children":["$","ol",null,{"children":[["$","li",null,{"children":["$","$L8",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L8",null,{"href":"/blog","children":"Blog"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"aria-current":"page","className":"dm-meta-current","children":"42% Less Distance: Insights from Our Hyderabad Hub"}]]}]}],["$","div",null,{"className":"dm-meta-items","children":[["$","span",null,{"className":"dm-meta-item dm-meta-author","children":[["$","svg",null,{"width":"15","height":"15","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","children":[["$","path",null,{"d":"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"}],["$","circle",null,{"cx":"12","cy":"7","r":"4"}]]}],"Doormile Team"]}],["$","span",null,{"className":"dm-meta-item","children":[["$","svg",null,{"width":"15","height":"15","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","children":[["$","rect",null,{"x":"3","y":"4","width":"18","height":"18","rx":"2"}],["$","line",null,{"x1":"16","y1":"2","x2":"16","y2":"6"}],["$","line",null,{"x1":"8","y1":"2","x2":"8","y2":"6"}],["$","line",null,{"x1":"3","y1":"10","x2":"21","y2":"10"}]]}],["$","time",null,{"dateTime":"2025-09-18","children":"Sep 18, 2025"}]]}],["$","span",null,{"className":"dm-meta-item","children":[["$","svg",null,{"width":"15","height":"15","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","children":[["$","circle",null,{"cx":"12","cy":"12","r":"9"}],["$","polyline",null,{"points":"12 7 12 12 15 14"}]]}],2," min read"]}]]}]]}],["$","div",null,{"className":"dm-blog-layout","children":[["$","div",null,{"className":"dm-blog-main","children":[["$","p",null,{"className":"dm-blog-intro","children":"Numbers settle arguments. When we deployed MileTruth™ at our Hyderabad hub, the goal was simple: prove that precision routing changes the economics of last-mile delivery. The result — a 42% reduction in total distance travelled — did exactly that."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L9","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Hyderabad is a demanding test bed: dense urban cores, sprawling new suburbs, unpredictable traffic and tight delivery windows. If a routing approach works here, it works almost anywhere. We ran it side by side against the hub's existing manual-plus-rules dispatch process over a sustained period, holding order volume constant."}]}],["$","$L9","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"The baseline"}]}],["$","$L9","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Before MileTruth, the hub planned routes the conventional way — zones drawn by experience, sequences set by dispatchers, adjustments made on the fly. It worked, but it left distance on the table every single day, and that distance translated directly into fuel, hours and vehicles."}]}],["$","$L9","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Zone-based allocation that ignored cross-zone efficiencies"}],["$","li","1",{"children":"Manual sequencing that couldn't evaluate every alternative"}],["$","li","2",{"children":"No pre-validation of ETAs against real travel times"}],["$","li","3",{"children":"Reactive rather than predictive handling of disruptions"}]]}]}],["$","$L9","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"What changed"}]}],["$","$L9","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"MileTruth treated the day's deliveries as one large optimisation problem rather than a set of independent zones. It evaluated routing strategies in parallel, selected the optimal plan against real constraints, and validated every ETA before dispatch. The same orders, the same city — a fundamentally tighter plan."}]}],"$La","$Lb","$Lc","$Ld","$Le","$Lf","$L10"]}]]}],"$L11"]}]]}]
|
||
12:T1fa8,
|
||
.dm-blog-footer {
|
||
font-family: var(--font-manrope), sans-serif; --dm-red: #c01227; --dm-red-hover: #e31d32;
|
||
/* The global theme applies 72px top/bottom section padding — strip it so the
|
||
inner container is the single source of vertical rhythm (no double gap). */
|
||
padding: 0 !important;
|
||
}
|
||
/* Neutralize the global theme's 120/80/60px UPPERCASE heading rules */
|
||
.dm-blog-footer :where(h1, h2, h3, h4, h5, h6) {
|
||
font-family: var(--font-manrope), sans-serif !important;
|
||
text-transform: none !important;
|
||
font-style: normal !important;
|
||
font-weight: 800;
|
||
}
|
||
/* Neutralize the theme's .elementor-kit-5 a (red color + underline) */
|
||
.dm-blog-footer a { text-decoration: none !important; }
|
||
/* Shared content container — mirrors SingleBlog's .dm-blog-wrap (same 1280px
|
||
max-width + 20→40px horizontal padding) so Prev/Next, Related and the CTA
|
||
align to the exact same left/right edges as the article body above.
|
||
Vertical rhythm: ~64px from the article end to the Prev/Next divider, then a
|
||
consistent ~64–72px section→section gap (no 120px+ voids). */
|
||
.dm-blog-footer-inner {
|
||
max-width: 1280px; margin: 0 auto;
|
||
/* Compact vertical rhythm on an 8px system. Top padding sets the
|
||
article→Prev/Next gap (~24–32px); the inter-section gap sets the
|
||
Prev/Next→Related gap (~32–48px). No large arbitrary voids. */
|
||
/* Minimal bottom padding — the global site footer already contributes its
|
||
own 20px top inset, so the CTA banner sits close to it without a void. */
|
||
padding: clamp(24px, 3vw, 32px) clamp(20px, 4vw, 40px) clamp(8px, 1.5vw, 16px);
|
||
display: flex; flex-direction: column; gap: clamp(32px, 4vw, 48px);
|
||
}
|
||
|
||
/* Prev / Next */
|
||
.dm-prevnext {
|
||
display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
|
||
/* Halved from 40px: tight divider→cards spacing without crowding. */
|
||
padding-top: clamp(16px, 2vw, 24px); border-top: 1px solid rgba(15,23,42,0.08);
|
||
}
|
||
@media (max-width: 640px) { .dm-prevnext { grid-template-columns: 1fr; } }
|
||
.dm-prevnext-placeholder { display: block; }
|
||
.dm-prevnext-card {
|
||
display: flex; gap: 16px; align-items: center; padding: 16px;
|
||
background: #fff; border: 1px solid rgba(15,23,42,0.09); border-radius: 22px;
|
||
text-decoration: none; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
|
||
}
|
||
.dm-prevnext-card:hover {
|
||
transform: translateY(-4px); border-color: rgba(192,18,39,0.2);
|
||
box-shadow: 0 16px 34px rgba(192,18,39,0.10);
|
||
}
|
||
.dm-prevnext-thumb {
|
||
position: relative; flex: 0 0 80px; width: 80px; height: 80px;
|
||
border-radius: 16px; overflow: hidden; background: #f1f5f9;
|
||
}
|
||
.dm-prevnext-text { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
|
||
.dm-prevnext-next { text-align: right; }
|
||
.dm-prevnext-next .dm-prevnext-text { align-items: flex-end; }
|
||
.dm-prevnext-label {
|
||
display: inline-flex; align-items: center; gap: 6px;
|
||
font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; color: var(--dm-red);
|
||
}
|
||
.dm-prevnext-cat { font-size: 11px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: .5px; }
|
||
.dm-prevnext-title {
|
||
font-size: 15.5px; font-weight: 700; color: #1e293b; line-height: 1.4;
|
||
display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
|
||
transition: color .2s ease;
|
||
}
|
||
.dm-prevnext-card:hover .dm-prevnext-title { color: var(--dm-red); }
|
||
|
||
/* Related */
|
||
.dm-related-heading {
|
||
font-size: clamp(22px, 2.2vw, 28px) !important; font-weight: 850 !important; letter-spacing: -.4px !important;
|
||
line-height: 1.25 !important; color: #0f172a !important; margin: 0 0 24px;
|
||
}
|
||
.dm-related-grid {
|
||
display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;
|
||
}
|
||
@media (max-width: 1024px) { .dm-related-grid { grid-template-columns: repeat(2, 1fr); } }
|
||
@media (max-width: 700px) { .dm-related-grid { grid-template-columns: 1fr; gap: 24px; } }
|
||
|
||
.dm-related-card {
|
||
display: flex; flex-direction: column; height: 100%;
|
||
background: #fff; border: 1px solid rgba(15,23,42,0.09); border-radius: 22px;
|
||
overflow: hidden; box-shadow: 0 4px 24px rgba(15,23,42,0.05); text-decoration: none;
|
||
transition: transform .4s cubic-bezier(0.2,0.8,0.2,1), box-shadow .4s ease, border-color .4s ease;
|
||
}
|
||
.dm-related-card:hover {
|
||
transform: translateY(-8px); box-shadow: 0 22px 44px rgba(192,18,39,0.13);
|
||
border-color: rgba(192,18,39,0.2);
|
||
}
|
||
.dm-related-img {
|
||
position: relative; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; background: #f1f5f9;
|
||
}
|
||
.dm-related-img img { transition: transform .5s cubic-bezier(0.2,0.8,0.2,1); }
|
||
.dm-related-card:hover .dm-related-img img { transform: scale(1.05); }
|
||
.dm-related-badge {
|
||
position: absolute; top: 14px; left: 14px; z-index: 5; background: var(--dm-red); color: #fff;
|
||
font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.2px;
|
||
padding: 5px 11px; border-radius: 8px; box-shadow: 0 4px 12px rgba(192,18,39,0.25);
|
||
}
|
||
.dm-related-body { display: flex; flex-direction: column; flex: 1; padding: 22px; }
|
||
.dm-related-card-title {
|
||
font-size: 17px !important; font-weight: 800 !important; color: #1e293b !important; line-height: 1.4 !important;
|
||
letter-spacing: -.2px !important; margin: 0 0 10px;
|
||
display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
|
||
transition: color .2s ease;
|
||
}
|
||
.dm-related-card:hover .dm-related-card-title { color: var(--dm-red); }
|
||
.dm-related-card-excerpt {
|
||
font-size: 13.5px; font-weight: 500; color: #64748b; line-height: 1.6; margin: 0 0 18px;
|
||
display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
|
||
}
|
||
.dm-related-readmore {
|
||
margin-top: auto; display: inline-flex; align-items: center; gap: 7px;
|
||
font-size: 12.5px; font-weight: 800; color: var(--dm-red);
|
||
text-transform: uppercase; letter-spacing: .6px;
|
||
}
|
||
.dm-related-readmore-arrow { transition: transform .3s cubic-bezier(0.2,0.8,0.2,1); }
|
||
.dm-related-card:hover .dm-related-readmore-arrow { transform: translateX(5px); }
|
||
|
||
/* Contact CTA banner */
|
||
.dm-blog-contact-cta {
|
||
display: flex; align-items: center; justify-content: space-between; gap: 32px;
|
||
flex-wrap: wrap;
|
||
background: linear-gradient(135deg, #1a1a1a 0%, #2d1417 100%);
|
||
border-radius: 30px; padding: clamp(32px, 4vw, 56px);
|
||
position: relative; overflow: hidden;
|
||
}
|
||
.dm-blog-contact-cta::after {
|
||
content: ""; position: absolute; right: -80px; top: -80px; width: 300px; height: 300px;
|
||
background: radial-gradient(circle, rgba(192,18,39,0.40), transparent 70%);
|
||
pointer-events: none;
|
||
}
|
||
.dm-blog-contact-cta-content { position: relative; z-index: 1; max-width: 640px; }
|
||
.dm-blog-contact-eyebrow {
|
||
display: inline-block; font-size: 12px; font-weight: 800; text-transform: uppercase;
|
||
letter-spacing: 1.4px; color: #ff8088; margin-bottom: 14px;
|
||
}
|
||
.dm-blog-contact-title {
|
||
font-size: clamp(22px, 2.2vw, 28px) !important; font-weight: 800 !important; line-height: 1.25 !important;
|
||
letter-spacing: -.3px !important; color: #ffffff !important; margin: 0 0 12px; text-wrap: balance;
|
||
}
|
||
.dm-blog-contact-sub {
|
||
font-size: 15.5px; line-height: 1.65; color: #e2e2e2; margin: 0; font-weight: 450;
|
||
}
|
||
.dm-blog-contact-btn {
|
||
position: relative; z-index: 1; flex-shrink: 0;
|
||
display: inline-flex; align-items: center; justify-content: center; gap: 10px;
|
||
background: var(--dm-red); color: #fff !important; font-size: 15px; font-weight: 700;
|
||
padding: 16px 32px; border-radius: 16px; text-decoration: none;
|
||
box-shadow: 0 10px 26px rgba(192,18,39,0.34);
|
||
transition: background .2s ease, transform .2s ease;
|
||
}
|
||
.dm-blog-contact-btn:hover { background: var(--dm-red-hover); transform: translateY(-2px); }
|
||
@media (max-width: 720px) {
|
||
.dm-blog-contact-cta { flex-direction: column; align-items: flex-start; gap: 26px; }
|
||
.dm-blog-contact-btn { width: 100%; }
|
||
}
|
||
5:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$12"}}],"$L13"]}]
|
||
6:["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true}]
|
||
7:["$","$L14",null,{"children":["$","$15",null,{"name":"Next.MetadataOutlet","children":"$@16"}]}]
|
||
a:["$","$L9","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L17",null,{"src":"/images/last-mile-approach.jpg","alt":"Hyderabad delivery hub routing analysis","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"Consolidating the day's deliveries into a single optimisation removed redundant cross-town travel."}]]}]}]
|
||
b:["$","$L9","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"The results"}]}]
|
||
c:["$","$L9","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"42% reduction in total distance travelled across the hub"}],["$","li","1",{"children":"37% fewer vehicles required for the same delivery volume"}],["$","li","2",{"children":"Zero SLA misses across the measured deployment window"}],["$","li","3",{"children":"Proportional drop in fuel cost and per-parcel emissions"}]]}]}]
|
||
d:["$","$L9","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"Fewer vehicles, less fuel, zero missed SLAs — and not by working the team harder. By making a better decision before the wheels turned."}],["$","cite",null,{"children":["— ","Hyderabad Hub Operations"]}]]}]}]
|
||
e:["$","$L9","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"Why it generalises"}]}]
|
||
f:["$","$L9","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The Hyderabad gains were not a quirk of one city. The inefficiencies MileTruth removed — redundant travel, conservative sequencing, unvalidated ETAs — exist in nearly every manual operation. The engine simply makes them visible, then eliminates them. That is why the same approach now anchors deployments well beyond this hub."}]}]
|
||
10:["$","$L9","12",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"A 42% cut in distance is not a rounding error — it is a structural change in what the operation costs to run. And it came from intelligence, not additional resources."}]}]
|
||
11:["$","div",null,{"className":"dm-blog-aside-wrap","children":["$","aside",null,{"className":"dm-blog-sidebar","aria-label":"Blog sidebar","children":[["$","section",null,{"className":"dm-blog-widget","children":[["$","h2",null,{"className":"dm-blog-widget-title","children":"Search"}],["$","$L18",null,{}]]}],["$","section",null,{"className":"dm-blog-widget","children":[["$","h2",null,{"className":"dm-blog-widget-title","children":"Recent Posts"}],["$","ul",null,{"className":"dm-blog-recent","children":[["$","li","how-ai-is-transforming-last-mile-ev-delivery",{"children":["$","$L8",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L17",null,{"src":"/images/blog-post-pic-17.png","alt":"How AI Is Transforming Last-Mile EV Delivery","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"How AI Is Transforming Last-Mile EV Delivery"}],["$","time",null,{"dateTime":"2025-10-02","className":"dm-blog-recent-date","children":"Oct 2, 2025"}]]}]]}]}],["$","li","miletruth-ai-10-stages-to-smarter-dispatch",{"children":["$","$L8",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L17",null,{"src":"/images/blog-post-pic-31.png","alt":"MileTruth™ AI — 10 Stages to Smarter Dispatch","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}],["$","time",null,{"dateTime":"2025-09-05","className":"dm-blog-recent-date","children":"Sep 5, 2025"}]]}]]}]}],["$","li","the-ev-paradox-solving-range-anxiety-for-urban-fleets",{"children":["$","$L8",null,{"href":"/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L17",null,{"src":"/images/ev-paradox.png","alt":"The EV Paradox: Solving Range Anxiety for Urban Fleets","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}],["$","time",null,{"dateTime":"2025-08-21","className":"dm-blog-recent-date","children":"Aug 21, 2025"}]]}]]}]}],["$","li","why-mathematical-precision-beats-heuristics-in-routing",{"children":["$","$L8",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L17",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"Why Mathematical Precision Beats Heuristics in Routing"}],["$","time",null,{"dateTime":"2025-08-07","className":"dm-blog-recent-date","children":"Aug 7, 2025"}]]}]]}]}]]}]]}],["$","section",null,{"className":"dm-blog-widget","children":[["$","h2",null,{"className":"dm-blog-widget-title","children":"Categories"}],["$","ul",null,{"className":"dm-blog-categories","children":[["$","li","Case Study",{"children":["$","$L8",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Case Study"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],["$","li","EV Fleet",{"children":["$","$L8",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"EV Fleet"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}],["$","li","Fleet Management",{"children":["$","$L8",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Fleet Management"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],["$","li","MileTruth",{"children":["$","$L8",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],"$L19"]}]}],"$L1a","$L1b","$L1c"]}]]}],"$L1d"]}]}]
|
||
13:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L8",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L17",null,{"src":"/images/blog-post-pic-17.png","alt":"How AI Is Transforming Last-Mile EV Delivery","fill":true,"sizes":"80px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-prevnext-text","children":[["$","span",null,{"className":"dm-prevnext-label","children":[["$","svg",null,{"width":"15","height":"15","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2.5","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","children":[["$","line",null,{"x1":"19","y1":"12","x2":"5","y2":"12"}],["$","polyline",null,{"points":"12 19 5 12 12 5"}]]}],"Previous"]}],["$","span",null,{"className":"dm-prevnext-cat","children":"Technology"}],["$","span",null,{"className":"dm-prevnext-title","children":"How AI Is Transforming Last-Mile EV Delivery"}]]}]]}],["$","$L8",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-prevnext-card dm-prevnext-next","children":[["$","span",null,{"className":"dm-prevnext-text","children":[["$","span",null,{"className":"dm-prevnext-label","children":["Next",["$","svg",null,{"width":"15","height":"15","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2.5","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","children":[["$","line",null,{"x1":"5","y1":"12","x2":"19","y2":"12"}],["$","polyline",null,{"points":"12 5 19 12 12 19"}]]}]]}],["$","span",null,{"className":"dm-prevnext-cat","children":"MileTruth"}],["$","span",null,{"className":"dm-prevnext-title","children":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L17",null,{"src":"/images/blog-post-pic-31.png","alt":"MileTruth™ AI — 10 Stages to Smarter Dispatch","fill":true,"sizes":"80px","style":{"objectFit":"cover"}}]}]]}]]}],["$","div",null,{"className":"dm-related","children":[["$","h2",null,{"className":"dm-related-heading","children":"Related Articles"}],["$","div",null,{"className":"dm-related-grid","children":[["$","$L9","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L8",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L17",null,{"src":"/images/blog-post-pic-17.png","alt":"How AI Is Transforming Last-Mile EV Delivery","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Technology"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"How AI Is Transforming Last-Mile EV Delivery"}],["$","p",null,{"className":"dm-related-card-excerpt","children":"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last."}],["$","span",null,{"className":"dm-related-readmore","children":["Read More",["$","svg",null,{"className":"dm-related-readmore-arrow","width":"16","height":"16","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2.5","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","children":[["$","line",null,{"x1":"5","y1":"12","x2":"19","y2":"12"}],["$","polyline",null,{"points":"12 5 19 12 12 19"}]]}]]}]]}]]}]}],["$","$L9","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L8",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L17",null,{"src":"/images/blog-post-pic-31.png","alt":"MileTruth™ AI — 10 Stages to Smarter Dispatch","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"MileTruth"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}],["$","p",null,{"className":"dm-related-card-excerpt","children":"From order ingestion to final route output in under 45ms — a technical walkthrough of the ten-stage pipeline at the heart of our routing engine."}],"$L1e"]}]]}]}],"$L1f"]}]]}],"$L20"]}]
|
||
16:null
|
||
19:["$","span",null,{"className":"dm-blog-category-count","children":1}]
|
||
1a:["$","li","Operations",{"children":["$","$L8",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}]
|
||
1b:["$","li","Sustainability",{"children":["$","$L8",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}]
|
||
1c:["$","li","Technology",{"children":["$","$L8",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}]
|
||
1d:["$","section",null,{"className":"dm-blog-widget dm-blog-cta-card","children":[["$","h2",null,{"className":"dm-blog-cta-title","children":"Ready to optimise your fleet?"}],["$","p",null,{"className":"dm-blog-cta-text","children":"See how MileTruth™ AI cuts distance, vehicles and emissions — without missing an SLA."}],["$","$L8",null,{"href":"/contact","className":"dm-blog-cta-btn","children":["Contact Us",["$","svg",null,{"width":"18","height":"18","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2.5","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","children":[["$","line",null,{"x1":"5","y1":"12","x2":"19","y2":"12"}],["$","polyline",null,{"points":"12 5 19 12 12 19"}]]}]]}]]}]
|
||
1e:["$","span",null,{"className":"dm-related-readmore","children":["Read More",["$","svg",null,{"className":"dm-related-readmore-arrow","width":"16","height":"16","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2.5","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","children":[["$","line",null,{"x1":"5","y1":"12","x2":"19","y2":"12"}],["$","polyline",null,{"points":"12 5 19 12 12 19"}]]}]]}]
|
||
1f:["$","$L9","the-ev-paradox-solving-range-anxiety-for-urban-fleets",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L8",null,{"href":"/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L17",null,{"src":"/images/ev-paradox.png","alt":"The EV Paradox: Solving Range Anxiety for Urban Fleets","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"EV Fleet"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}],["$","p",null,{"className":"dm-related-card-excerpt","children":"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch."}],["$","span",null,{"className":"dm-related-readmore","children":["Read More",["$","svg",null,{"className":"dm-related-readmore-arrow","width":"16","height":"16","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2.5","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","children":[["$","line",null,{"x1":"5","y1":"12","x2":"19","y2":"12"}],["$","polyline",null,{"points":"12 5 19 12 12 19"}]]}]]}]]}]]}]}]
|
||
20:["$","div",null,{"className":"dm-blog-contact-cta","children":[["$","div",null,{"className":"dm-blog-contact-cta-content","children":[["$","span",null,{"className":"dm-blog-contact-eyebrow","children":"Let's talk logistics"}],["$","h2",null,{"className":"dm-blog-contact-title","children":"Ready to move smarter with Doormile?"}],["$","p",null,{"className":"dm-blog-contact-sub","children":"Tell us about your fleet and routes — we'll show you where the distance, vehicles and emissions are hiding."}]]}],["$","$L8",null,{"href":"/contact","className":"dm-blog-contact-btn","children":["Get in Touch",["$","svg",null,{"width":"20","height":"20","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2.5","strokeLinecap":"round","strokeLinejoin":"round","aria-hidden":"true","children":[["$","line",null,{"x1":"5","y1":"12","x2":"19","y2":"12"}],["$","polyline",null,{"points":"12 5 19 12 12 19"}]]}]]}]]}]
|