diff --git a/build/404.html b/build/404.html index 959f751..b4d9621 100644 --- a/build/404.html +++ b/build/404.html @@ -1,4 +1,4 @@ -404: This page could not be found.Doormile — Delivering Trust. Beyond Boundaries

404

This page could not be found.

404

This page could not be found.

\ No newline at end of file + + /* Compact footer link columns on phones (<=480px). The kit only sets + column --width at min-width:481px, so below that all four blocks + fall back to 100% and stack into one very tall column. Put the + logo+social full-width on top, then lay the three link groups out + in a 2-up grid (matching the tablet 47% intent) so the footer is + roughly half as tall. */ + /* Inline icon beside each contact label (Call Center / Our Location / + Email / Social network). */ + .elementor-6585 .dm-foot-label { + display: inline-flex !important; + align-items: center; + gap: 8px; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { + flex: 0 0 auto; + color: #C01227; + } + + /* ── Compact mobile contact footer (<=600px) ── + On phones the upper contact section stacked into one very tall + column with 50px margins between every block. Tighten the heading, + collapse those stack margins, and pair Email + Social side-by-side + (both are short) so the footer is far shorter without losing the + full-width address readability. */ + @media (max-width: 600px) { + /* Trim the band's oversized top/bottom padding on phones. */ + .elementor-6585 .elementor-element.elementor-element-b29b8fc > .e-con-inner { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .elementor-6585 .elementor-element.elementor-element-687d944 .logico-title { + font-size: clamp(24px, 6.6vw, 32px) !important; + line-height: 1.2 !important; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { width: 14px; height: 14px; } + /* The Call Center / Our Location group carries a 10px side padding + the Email / Social group doesn't, leaving its labels indented + 10px out of line with everything else — zero it so all four + contact blocks share the same left edge as the heading. */ + .elementor-6585 .elementor-element.elementor-element-2631b42 { + padding-left: 0 !important; + padding-right: 0 !important; + } + /* All four contact blocks stack in one left-aligned column with a + consistent gap (Social network sits below Email). */ + .elementor-6585 .elementor-element.elementor-element-2631b42, + .elementor-6585 .elementor-element.elementor-element-f5d8e63, + .elementor-6585 .elementor-element.elementor-element-645be8d, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + margin-top: 22px !important; + } + .elementor-6585 .elementor-element.elementor-element-645be8d > .e-con-inner { + flex-direction: column !important; + gap: 0 !important; + align-items: stretch !important; + } + .elementor-6585 .elementor-element.elementor-element-a96d151, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + width: 100% !important; + } + } + + @media (max-width: 480px) { + .elementor-6585 .elementor-element.elementor-element-3f1ba7a { + display: flex !important; + flex-direction: row !important; + flex-wrap: wrap !important; + gap: 36px 16px !important; + } + .elementor-6585 .elementor-element.elementor-element-64e2e81 { + flex: 0 0 100% !important; + width: 100% !important; + } + .elementor-6585 .elementor-element.elementor-element-5b73dd3, + .elementor-6585 .elementor-element.elementor-element-451f15c, + .elementor-6585 .elementor-element.elementor-element-44a1f5d { + flex: 1 1 calc(50% - 8px) !important; + width: calc(50% - 8px) !important; + min-width: 0 !important; + } + /* Allow long links (e.g. "Women entrepreneurship") to wrap inside + the narrow columns instead of overflowing. */ + .elementor-6585 .logico-custom-menu-widget li a { + white-space: normal !important; + } + /* Trim the large social-icons top gap so the brand block stays tight. */ + .elementor-6585 .elementor-element.elementor-element-e4e6486 > .elementor-widget-container { + margin-top: 24px !important; + } + } + \ No newline at end of file diff --git a/build/__next.__PAGE__.txt b/build/__next.__PAGE__.txt index 2b7b0ed..7b0ae11 100644 --- a/build/__next.__PAGE__.txt +++ b/build/__next.__PAGE__.txt @@ -1,25 +1,25 @@ 1:"$Sreact.fragment" -2:I[97677,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"default"] -3:I[58140,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"default"] -4:I[36854,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"default"] -11:I[32693,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"default"] -12:I[24911,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"default"] -13:I[14224,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"default"] -18:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] -19:"$Sreact.suspense" -1b:I[2018,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"ScrollReveal"] -1c:I[22016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],""] -1d:I[85437,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"Image"] -0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"61","className":"elementor elementor-61","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{}],["$","div",null,{"className":"elementor-element elementor-element-b62c0b3 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"b62c0b3","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-592e9e8 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"592e9e8","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-ab41b28 elementor-widget elementor-widget-logico_marquee","data-id":"ab41b28","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_marquee.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-ticker-wrapper","style":{"overflow":"hidden","position":"relative","width":"100%"},"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n @keyframes cssMarquee {\n 0% { transform: translate3d(0, 0, 0); }\n 100% { transform: translate3d(-33.33%, 0, 0); }\n }\n .marquee-container-css {\n display: flex;\n width: max-content;\n animation: cssMarquee 25s linear infinite;\n }\n .marquee-container-css:hover {\n animation-play-state: paused;\n }\n "}}],["$","div",null,{"className":"marquee-container-css","children":[["$","div","0",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","1",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","2",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","3",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","4",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":"$L5"}]]}],"$L6","$L7","$L8","$L9"]}]]}]}]}]}]}],"$La","$Lb","$Lc","$Ld"]}]}]}]}],["$Le","$Lf"],"$L10"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +2:I[97677,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"default"] +3:I[58140,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"default"] +4:I[36854,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"default"] +10:I[32693,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"default"] +11:I[24911,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"default"] +12:I[14224,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"default"] +17:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +18:"$Sreact.suspense" +1a:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"ScrollReveal"] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],""] +1c:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"Image"] +0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"61","className":"elementor elementor-61","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{}],["$","div",null,{"className":"elementor-element elementor-element-b62c0b3 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"b62c0b3","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-592e9e8 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"592e9e8","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-ab41b28 elementor-widget elementor-widget-logico_marquee","data-id":"ab41b28","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_marquee.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-ticker-wrapper","style":{"overflow":"hidden","position":"relative","width":"100%"},"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n @keyframes cssMarquee {\n 0% { transform: translate3d(0, 0, 0); }\n 100% { transform: translate3d(-33.33%, 0, 0); }\n }\n .marquee-container-css {\n display: flex;\n width: max-content;\n animation: cssMarquee 25s linear infinite;\n }\n .marquee-container-css:hover {\n animation-play-state: paused;\n }\n "}}],["$","div",null,{"className":"marquee-container-css","children":[["$","div","0",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","1",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","2",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","3",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","4",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":"$L5"}]]}],"$L6","$L7","$L8","$L9"]}]]}]}]}]}]}],"$La","$Lb","$Lc","$Ld"]}]}]}]}],["$Le"],"$Lf"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} 5:["$","i",null,{"className":"fontello icon-half-logo"}] 6:["$","div","5",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}] 7:["$","div","6",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}] 8:["$","div","7",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}] 9:["$","div","8",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}] -a:["$","$L11",null,{}] -b:["$","$L12",null,{}] -c:["$","$L13",null,{}] -14:T65e, +a:["$","$L10",null,{}] +b:["$","$L11",null,{}] +c:["$","$L12",null,{}] +13:T65e, /* Minimal section label — matches the "/ Doormile Approach /" pattern */ .industry-section-label { width: 100%; @@ -56,15 +56,14 @@ c:["$","$L13",null,{}] letter-spacing: 1.5px; } } - d:["$","div",null,{"className":"elementor-element elementor-element-3b4a7cc e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"3b4a7cc","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-d602f7f e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"d602f7f","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-f64bd88 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"f64bd88","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-5ed2dbb e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5ed2dbb","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-c8162c4 elementor-widget elementor-widget-logico_heading industry-section-label","data-id":"c8162c4","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$14"}}],["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-title","children":"/ Industry Solutions /"}]}]]}],["$","div",null,{"className":"elementor-element elementor-element-1487241 elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"1487241","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","style":{"margin":"30px 0 0 0"},"children":["$","h3",null,{"className":"logico-title","style":{"fontSize":"clamp(28px, 3.5vw, 48px)","lineHeight":"1.1","fontWeight":800,"textTransform":"uppercase","maxWidth":"900px"},"children":"$L15"}]}]}]]}],"$L16"]}],"$L17"]}]}]}] -e:["$","script","script-0",{"src":"/_next/static/chunks/0662liixyy6d6.js","async":true}] -f:["$","script","script-1",{"src":"/_next/static/chunks/09evlrjkg19-o.js","async":true}] -10:["$","$L18",null,{"children":["$","$19",null,{"name":"Next.MetadataOutlet","children":"$@1a"}]}] -15:["$","$L1b",null,{"delay":0.05,"duration":0.8,"yOffset":25,"children":["Smart solutions built exclusively for your ",["$","span",null,{"style":{"color":"#c01227"},"children":"industry"}]]}] -16:["$","div",null,{"className":"elementor-element elementor-element-4af73cb e-con-full elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"4af73cb","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-46f2f7d elementor-widget__width-initial elementor-widget elementor-widget-logico_button","data-id":"46f2f7d","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_button.default","children":["$","div",null,{"className":"elementor-widget-container"}]}]}] -17:["$","div",null,{"className":"elementor-element elementor-element-6829276 e-grid e-con-full cut-corner-no sticky-container-off e-con e-child","data-id":"6829276","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"industry-solutions-grid","children":[["$","$L1c",null,{"href":"/solutions","className":"industry-card-link","children":[["$","div",null,{"className":"industry-card-bg","children":["$","$L1d",null,{"src":"/images/tab-pic-1.jpeg","alt":"FMCG Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"}]}],["$","div",null,{"className":"industry-card-overlay"}],["$","div",null,{"className":"industry-card-hover-bg"}],["$","div",null,{"className":"industry-card-default-content","children":["$","h4",null,{"className":"industry-card-default-title","children":"FMCG"}]}],["$","div",null,{"className":"industry-card-hover-content","children":[["$","div",null,{"className":"industry-card-hover-top","children":[["$","p",null,{"className":"industry-card-description","children":"High volume, tight margins, zero tolerance for stockouts."}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Challenges"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-1","children":"Unpredictable demand spikes"}],["$","li",null,{"className":"industry-card-list-item bullet-2","children":"Fresh product expiry constraints"}],["$","li",null,{"className":"industry-card-list-item bullet-3","children":"Multi-stop route complexity"}]]}]]}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Doormile Solutions"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-4","children":"AI-driven demand-responsive routing"}],["$","li",null,{"className":"industry-card-list-item bullet-5","children":"Freshness-aware delivery prioritization"}],["$","li",null,{"className":"industry-card-list-item bullet-6","children":"Dynamic batch optimization"}]]}]]}]]}],["$","div",null,{"className":"industry-card-hover-bottom","children":[["$","div",null,{"className":"industry-card-hover-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeLinejoin":"round","style":{"width":"20px","height":"20px"},"children":[["$","line",null,{"x1":"7","y1":"17","x2":"17","y2":"7"}],["$","polyline",null,{"points":"7 7 17 7 17 17"}]]}]}],["$","h4",null,{"className":"industry-card-hover-title","children":"FMCG"}]]}]]}]]}],["$","$L1c",null,{"href":"/solutions","className":"industry-card-link","children":[["$","div",null,{"className":"industry-card-bg","children":["$","$L1d",null,{"src":"/images/tab-pic-2.jpeg","alt":"Pharma Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"}]}],["$","div",null,{"className":"industry-card-overlay"}],["$","div",null,{"className":"industry-card-hover-bg"}],["$","div",null,{"className":"industry-card-default-content","children":["$","h4",null,{"className":"industry-card-default-title","children":"Pharmaceutical"}]}],["$","div",null,{"className":"industry-card-hover-content","children":[["$","div",null,{"className":"industry-card-hover-top","children":[["$","p",null,{"className":"industry-card-description","children":"Temperature-sensitive, compliance-critical, life-saving."}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Challenges"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-1","children":"Cold chain integrity requirements"}],["$","li",null,{"className":"industry-card-list-item bullet-2","children":"Regulatory compliance tracking"}],["$","li",null,{"className":"industry-card-list-item bullet-3","children":"Critical delivery time windows"}]]}]]}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Doormile Solutions"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-4","children":"Real-time temperature monitoring"}],"$L1e","$L1f"]}]]}]]}],"$L20"]}]]}],"$L21"]}]}] -1a:null -1e:["$","li",null,{"className":"industry-card-list-item bullet-5","children":"Chain-of-custody documentation"}] -1f:["$","li",null,{"className":"industry-card-list-item bullet-6","children":"Priority override for critical shipments"}] -20:["$","div",null,{"className":"industry-card-hover-bottom","children":[["$","div",null,{"className":"industry-card-hover-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeLinejoin":"round","style":{"width":"20px","height":"20px"},"children":[["$","line",null,{"x1":"7","y1":"17","x2":"17","y2":"7"}],["$","polyline",null,{"points":"7 7 17 7 17 17"}]]}]}],["$","h4",null,{"className":"industry-card-hover-title","children":"Pharmaceutical"}]]}] -21:["$","$L1c",null,{"href":"/solutions","className":"industry-card-link","children":[["$","div",null,{"className":"industry-card-bg","children":["$","$L1d",null,{"src":"/images/tab-pic-3.jpeg","alt":"Enterprise Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"}]}],["$","div",null,{"className":"industry-card-overlay"}],["$","div",null,{"className":"industry-card-hover-bg"}],["$","div",null,{"className":"industry-card-default-content","children":["$","h4",null,{"className":"industry-card-default-title","children":"Enterprise & B2B"}]}],["$","div",null,{"className":"industry-card-hover-content","children":[["$","div",null,{"className":"industry-card-hover-top","children":[["$","p",null,{"className":"industry-card-description","children":"High-value shipments with complex delivery requirements."}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Challenges"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-1","children":"Appointment scheduling coordination"}],["$","li",null,{"className":"industry-card-list-item bullet-2","children":"White-glove delivery standards"}],["$","li",null,{"className":"industry-card-list-item bullet-3","children":"Multi-location routing complexity"}]]}]]}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Doormile Solutions"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-4","children":"Automated appointment optimization"}],["$","li",null,{"className":"industry-card-list-item bullet-5","children":"Service level guarantee tracking"}],["$","li",null,{"className":"industry-card-list-item bullet-6","children":"Enterprise integration APIs"}]]}]]}]]}],["$","div",null,{"className":"industry-card-hover-bottom","children":[["$","div",null,{"className":"industry-card-hover-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeLinejoin":"round","style":{"width":"20px","height":"20px"},"children":[["$","line",null,{"x1":"7","y1":"17","x2":"17","y2":"7"}],["$","polyline",null,{"points":"7 7 17 7 17 17"}]]}]}],["$","h4",null,{"className":"industry-card-hover-title","children":"Enterprise & B2B"}]]}]]}]]}] + d:["$","div",null,{"className":"elementor-element elementor-element-3b4a7cc e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"3b4a7cc","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-d602f7f e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"d602f7f","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-f64bd88 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"f64bd88","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-5ed2dbb e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5ed2dbb","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-c8162c4 elementor-widget elementor-widget-logico_heading industry-section-label","data-id":"c8162c4","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$13"}}],["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-title","children":"/ Industry Solutions /"}]}]]}],["$","div",null,{"className":"elementor-element elementor-element-1487241 elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"1487241","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","style":{"margin":"30px 0 0 0"},"children":["$","h3",null,{"className":"logico-title","style":{"fontSize":"clamp(28px, 3.5vw, 48px)","lineHeight":"1.1","fontWeight":800,"textTransform":"uppercase","maxWidth":"900px"},"children":"$L14"}]}]}]]}],"$L15"]}],"$L16"]}]}]}] +e:["$","script","script-0",{"src":"/_next/static/chunks/000jk3-x5hh9p.js","async":true}] +f:["$","$L17",null,{"children":["$","$18",null,{"name":"Next.MetadataOutlet","children":"$@19"}]}] +14:["$","$L1a",null,{"delay":0.05,"duration":0.8,"yOffset":25,"children":["Smart solutions built exclusively for your ",["$","span",null,{"style":{"color":"#c01227"},"children":"industry"}]]}] +15:["$","div",null,{"className":"elementor-element elementor-element-4af73cb e-con-full elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"4af73cb","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-46f2f7d elementor-widget__width-initial elementor-widget elementor-widget-logico_button","data-id":"46f2f7d","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_button.default","children":["$","div",null,{"className":"elementor-widget-container"}]}]}] +16:["$","div",null,{"className":"elementor-element elementor-element-6829276 e-grid e-con-full cut-corner-no sticky-container-off e-con e-child","data-id":"6829276","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"industry-solutions-grid","children":[["$","$L1b",null,{"href":"/solutions","className":"industry-card-link","children":[["$","div",null,{"className":"industry-card-bg","children":["$","$L1c",null,{"src":"/images/tab-pic-1.jpeg","alt":"FMCG Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"}]}],["$","div",null,{"className":"industry-card-overlay"}],["$","div",null,{"className":"industry-card-hover-bg"}],["$","div",null,{"className":"industry-card-default-content","children":["$","h4",null,{"className":"industry-card-default-title","children":"FMCG"}]}],["$","div",null,{"className":"industry-card-hover-content","children":[["$","div",null,{"className":"industry-card-hover-top","children":[["$","p",null,{"className":"industry-card-description","children":"High volume, tight margins, zero tolerance for stockouts."}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Challenges"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-1","children":"Unpredictable demand spikes"}],["$","li",null,{"className":"industry-card-list-item bullet-2","children":"Fresh product expiry constraints"}],["$","li",null,{"className":"industry-card-list-item bullet-3","children":"Multi-stop route complexity"}]]}]]}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Doormile Solutions"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-4","children":"AI-driven demand-responsive routing"}],["$","li",null,{"className":"industry-card-list-item bullet-5","children":"Freshness-aware delivery prioritization"}],["$","li",null,{"className":"industry-card-list-item bullet-6","children":"Dynamic batch optimization"}]]}]]}]]}],["$","div",null,{"className":"industry-card-hover-bottom","children":[["$","div",null,{"className":"industry-card-hover-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeLinejoin":"round","style":{"width":"20px","height":"20px"},"children":[["$","line",null,{"x1":"7","y1":"17","x2":"17","y2":"7"}],["$","polyline",null,{"points":"7 7 17 7 17 17"}]]}]}],["$","h4",null,{"className":"industry-card-hover-title","children":"FMCG"}]]}]]}]]}],["$","$L1b",null,{"href":"/solutions","className":"industry-card-link","children":[["$","div",null,{"className":"industry-card-bg","children":["$","$L1c",null,{"src":"/images/tab-pic-2.jpeg","alt":"Pharma Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"}]}],["$","div",null,{"className":"industry-card-overlay"}],["$","div",null,{"className":"industry-card-hover-bg"}],["$","div",null,{"className":"industry-card-default-content","children":["$","h4",null,{"className":"industry-card-default-title","children":"Pharmaceutical"}]}],["$","div",null,{"className":"industry-card-hover-content","children":[["$","div",null,{"className":"industry-card-hover-top","children":[["$","p",null,{"className":"industry-card-description","children":"Temperature-sensitive, compliance-critical, life-saving."}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Challenges"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-1","children":"Cold chain integrity requirements"}],["$","li",null,{"className":"industry-card-list-item bullet-2","children":"Regulatory compliance tracking"}],["$","li",null,{"className":"industry-card-list-item bullet-3","children":"Critical delivery time windows"}]]}]]}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Doormile Solutions"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-4","children":"Real-time temperature monitoring"}],"$L1d","$L1e"]}]]}]]}],"$L1f"]}]]}],"$L20"]}]}] +19:null +1d:["$","li",null,{"className":"industry-card-list-item bullet-5","children":"Chain-of-custody documentation"}] +1e:["$","li",null,{"className":"industry-card-list-item bullet-6","children":"Priority override for critical shipments"}] +1f:["$","div",null,{"className":"industry-card-hover-bottom","children":[["$","div",null,{"className":"industry-card-hover-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeLinejoin":"round","style":{"width":"20px","height":"20px"},"children":[["$","line",null,{"x1":"7","y1":"17","x2":"17","y2":"7"}],["$","polyline",null,{"points":"7 7 17 7 17 17"}]]}]}],["$","h4",null,{"className":"industry-card-hover-title","children":"Pharmaceutical"}]]}] +20:["$","$L1b",null,{"href":"/solutions","className":"industry-card-link","children":[["$","div",null,{"className":"industry-card-bg","children":["$","$L1c",null,{"src":"/images/tab-pic-3.jpeg","alt":"Enterprise Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"}]}],["$","div",null,{"className":"industry-card-overlay"}],["$","div",null,{"className":"industry-card-hover-bg"}],["$","div",null,{"className":"industry-card-default-content","children":["$","h4",null,{"className":"industry-card-default-title","children":"Enterprise & B2B"}]}],["$","div",null,{"className":"industry-card-hover-content","children":[["$","div",null,{"className":"industry-card-hover-top","children":[["$","p",null,{"className":"industry-card-description","children":"High-value shipments with complex delivery requirements."}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Challenges"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-1","children":"Appointment scheduling coordination"}],["$","li",null,{"className":"industry-card-list-item bullet-2","children":"White-glove delivery standards"}],["$","li",null,{"className":"industry-card-list-item bullet-3","children":"Multi-location routing complexity"}]]}]]}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Doormile Solutions"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-4","children":"Automated appointment optimization"}],["$","li",null,{"className":"industry-card-list-item bullet-5","children":"Service level guarantee tracking"}],["$","li",null,{"className":"industry-card-list-item bullet-6","children":"Enterprise integration APIs"}]]}]]}]]}],["$","div",null,{"className":"industry-card-hover-bottom","children":[["$","div",null,{"className":"industry-card-hover-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeLinejoin":"round","style":{"width":"20px","height":"20px"},"children":[["$","line",null,{"x1":"7","y1":"17","x2":"17","y2":"7"}],["$","polyline",null,{"points":"7 7 17 7 17 17"}]]}]}],["$","h4",null,{"className":"industry-card-hover-title","children":"Enterprise & B2B"}]]}]]}]]}] diff --git a/build/__next._full.txt b/build/__next._full.txt index 523805f..4de2128 100644 --- a/build/__next._full.txt +++ b/build/__next._full.txt @@ -1,19 +1,19 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -c:I[97677,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"default"] -d:I[58140,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"default"] -e:I[36854,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"default"] -18:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +c:I[97677,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"default"] +d:I[58140,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"default"] +e:I[36854,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"default"] +17:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -21,19 +21,19 @@ e:I[36854,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4 :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"61","className":"elementor elementor-61","children":[["$","$Lc",null,{}],["$","$Ld",null,{}],["$","$Le",null,{}],["$","div",null,{"className":"elementor-element elementor-element-b62c0b3 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"b62c0b3","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-592e9e8 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"592e9e8","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-ab41b28 elementor-widget elementor-widget-logico_marquee","data-id":"ab41b28","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_marquee.default","children":["$","div",null,{"className":"elementor-widget-container","children":"$Lf"}]}]}]}],"$L10","$L11","$L12","$L13"]}]}]}]}],["$L14","$L15"],"$L16"]}],{},null,false,null]},null,false,null],"$L17",false]],"m":"$undefined","G":["$18",["$L19"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} -1c:I[32693,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"default"] -1d:I[24911,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"default"] -1e:I[14224,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"default"] -23:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] -24:"$Sreact.suspense" -26:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -28:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] -f:["$","div",null,{"className":"logico-ticker-wrapper","style":{"overflow":"hidden","position":"relative","width":"100%"},"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n @keyframes cssMarquee {\n 0% { transform: translate3d(0, 0, 0); }\n 100% { transform: translate3d(-33.33%, 0, 0); }\n }\n .marquee-container-css {\n display: flex;\n width: max-content;\n animation: cssMarquee 25s linear infinite;\n }\n .marquee-container-css:hover {\n animation-play-state: paused;\n }\n "}}],["$","div",null,{"className":"marquee-container-css","children":[["$","div","0",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","1",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","2",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","3",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","4",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","5",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","6",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","7",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":"$L1a"}]]}],"$L1b"]}]]}] -10:["$","$L1c",null,{}] -11:["$","$L1d",null,{}] -12:["$","$L1e",null,{}] -1f:T65e, +0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"61","className":"elementor elementor-61","children":[["$","$Lc",null,{}],["$","$Ld",null,{}],["$","$Le",null,{}],["$","div",null,{"className":"elementor-element elementor-element-b62c0b3 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"b62c0b3","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-592e9e8 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"592e9e8","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-ab41b28 elementor-widget elementor-widget-logico_marquee","data-id":"ab41b28","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_marquee.default","children":["$","div",null,{"className":"elementor-widget-container","children":"$Lf"}]}]}]}],"$L10","$L11","$L12","$L13"]}]}]}]}],["$L14"],"$L15"]}],{},null,false,null]},null,false,null],"$L16",false]],"m":"$undefined","G":["$17",["$L18"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +1b:I[32693,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"default"] +1c:I[24911,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"default"] +1d:I[14224,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"default"] +22:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +23:"$Sreact.suspense" +25:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +27:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +f:["$","div",null,{"className":"logico-ticker-wrapper","style":{"overflow":"hidden","position":"relative","width":"100%"},"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n @keyframes cssMarquee {\n 0% { transform: translate3d(0, 0, 0); }\n 100% { transform: translate3d(-33.33%, 0, 0); }\n }\n .marquee-container-css {\n display: flex;\n width: max-content;\n animation: cssMarquee 25s linear infinite;\n }\n .marquee-container-css:hover {\n animation-play-state: paused;\n }\n "}}],["$","div",null,{"className":"marquee-container-css","children":[["$","div","0",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","1",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","2",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","3",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","4",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","5",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","6",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","7",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":"$L19"}]]}],"$L1a"]}]]}] +10:["$","$L1b",null,{}] +11:["$","$L1c",null,{}] +12:["$","$L1d",null,{}] +1e:T65e, /* Minimal section label — matches the "/ Doormile Approach /" pattern */ .industry-section-label { width: 100%; @@ -70,25 +70,24 @@ f:["$","div",null,{"className":"logico-ticker-wrapper","style":{"overflow":"hidd letter-spacing: 1.5px; } } - 13:["$","div",null,{"className":"elementor-element elementor-element-3b4a7cc e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"3b4a7cc","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-d602f7f e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"d602f7f","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-f64bd88 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"f64bd88","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-5ed2dbb e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5ed2dbb","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-c8162c4 elementor-widget elementor-widget-logico_heading industry-section-label","data-id":"c8162c4","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$1f"}}],["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-title","children":"/ Industry Solutions /"}]}]]}],["$","div",null,{"className":"elementor-element elementor-element-1487241 elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"1487241","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","style":{"margin":"30px 0 0 0"},"children":["$","h3",null,{"className":"logico-title","style":{"fontSize":"clamp(28px, 3.5vw, 48px)","lineHeight":"1.1","fontWeight":800,"textTransform":"uppercase","maxWidth":"900px"},"children":"$L20"}]}]}]]}],"$L21"]}],"$L22"]}]}]}] -14:["$","script","script-0",{"src":"/_next/static/chunks/0662liixyy6d6.js","async":true,"nonce":"$undefined"}] -15:["$","script","script-1",{"src":"/_next/static/chunks/09evlrjkg19-o.js","async":true,"nonce":"$undefined"}] -16:["$","$L23",null,{"children":["$","$24",null,{"name":"Next.MetadataOutlet","children":"$@25"}]}] -17:["$","$1","h",{"children":[null,["$","$L26",null,{"children":"$L27"}],["$","div",null,{"hidden":true,"children":["$","$L28",null,{"children":["$","$24",null,{"name":"Next.Metadata","children":"$L29"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] -19:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] -2a:I[2018,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"ScrollReveal"] -2b:I[22016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],""] -2c:I[85437,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"Image"] -1a:["$","i",null,{"className":"fontello icon-half-logo"}] -1b:["$","div","8",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}] -20:["$","$L2a",null,{"delay":0.05,"duration":0.8,"yOffset":25,"children":["Smart solutions built exclusively for your ",["$","span",null,{"style":{"color":"#c01227"},"children":"industry"}]]}] -21:["$","div",null,{"className":"elementor-element elementor-element-4af73cb e-con-full elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"4af73cb","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-46f2f7d elementor-widget__width-initial elementor-widget elementor-widget-logico_button","data-id":"46f2f7d","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_button.default","children":["$","div",null,{"className":"elementor-widget-container"}]}]}] -22:["$","div",null,{"className":"elementor-element elementor-element-6829276 e-grid e-con-full cut-corner-no sticky-container-off e-con e-child","data-id":"6829276","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"industry-solutions-grid","children":[["$","$L2b",null,{"href":"/solutions","className":"industry-card-link","children":[["$","div",null,{"className":"industry-card-bg","children":["$","$L2c",null,{"src":"/images/tab-pic-1.jpeg","alt":"FMCG Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"}]}],["$","div",null,{"className":"industry-card-overlay"}],["$","div",null,{"className":"industry-card-hover-bg"}],["$","div",null,{"className":"industry-card-default-content","children":["$","h4",null,{"className":"industry-card-default-title","children":"FMCG"}]}],["$","div",null,{"className":"industry-card-hover-content","children":[["$","div",null,{"className":"industry-card-hover-top","children":[["$","p",null,{"className":"industry-card-description","children":"High volume, tight margins, zero tolerance for stockouts."}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Challenges"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-1","children":"Unpredictable demand spikes"}],["$","li",null,{"className":"industry-card-list-item bullet-2","children":"Fresh product expiry constraints"}],["$","li",null,{"className":"industry-card-list-item bullet-3","children":"Multi-stop route complexity"}]]}]]}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Doormile Solutions"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-4","children":"AI-driven demand-responsive routing"}],["$","li",null,{"className":"industry-card-list-item bullet-5","children":"Freshness-aware delivery prioritization"}],["$","li",null,{"className":"industry-card-list-item bullet-6","children":"Dynamic batch optimization"}]]}]]}]]}],["$","div",null,{"className":"industry-card-hover-bottom","children":[["$","div",null,{"className":"industry-card-hover-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeLinejoin":"round","style":{"width":"20px","height":"20px"},"children":[["$","line",null,{"x1":"7","y1":"17","x2":"17","y2":"7"}],["$","polyline",null,{"points":"7 7 17 7 17 17"}]]}]}],["$","h4",null,{"className":"industry-card-hover-title","children":"FMCG"}]]}]]}]]}],["$","$L2b",null,{"href":"/solutions","className":"industry-card-link","children":[["$","div",null,{"className":"industry-card-bg","children":["$","$L2c",null,{"src":"/images/tab-pic-2.jpeg","alt":"Pharma Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"}]}],["$","div",null,{"className":"industry-card-overlay"}],["$","div",null,{"className":"industry-card-hover-bg"}],["$","div",null,{"className":"industry-card-default-content","children":["$","h4",null,{"className":"industry-card-default-title","children":"Pharmaceutical"}]}],["$","div",null,{"className":"industry-card-hover-content","children":[["$","div",null,{"className":"industry-card-hover-top","children":[["$","p",null,{"className":"industry-card-description","children":"Temperature-sensitive, compliance-critical, life-saving."}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Challenges"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-1","children":"Cold chain integrity requirements"}],["$","li",null,{"className":"industry-card-list-item bullet-2","children":"Regulatory compliance tracking"}],["$","li",null,{"className":"industry-card-list-item bullet-3","children":"Critical delivery time windows"}]]}]]}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Doormile Solutions"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-4","children":"Real-time temperature monitoring"}],"$L2d","$L2e"]}]]}]]}],"$L2f"]}]]}],"$L30"]}]}] -2d:["$","li",null,{"className":"industry-card-list-item bullet-5","children":"Chain-of-custody documentation"}] -2e:["$","li",null,{"className":"industry-card-list-item bullet-6","children":"Priority override for critical shipments"}] -2f:["$","div",null,{"className":"industry-card-hover-bottom","children":[["$","div",null,{"className":"industry-card-hover-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeLinejoin":"round","style":{"width":"20px","height":"20px"},"children":[["$","line",null,{"x1":"7","y1":"17","x2":"17","y2":"7"}],["$","polyline",null,{"points":"7 7 17 7 17 17"}]]}]}],["$","h4",null,{"className":"industry-card-hover-title","children":"Pharmaceutical"}]]}] -30:["$","$L2b",null,{"href":"/solutions","className":"industry-card-link","children":[["$","div",null,{"className":"industry-card-bg","children":["$","$L2c",null,{"src":"/images/tab-pic-3.jpeg","alt":"Enterprise Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"}]}],["$","div",null,{"className":"industry-card-overlay"}],["$","div",null,{"className":"industry-card-hover-bg"}],["$","div",null,{"className":"industry-card-default-content","children":["$","h4",null,{"className":"industry-card-default-title","children":"Enterprise & B2B"}]}],["$","div",null,{"className":"industry-card-hover-content","children":[["$","div",null,{"className":"industry-card-hover-top","children":[["$","p",null,{"className":"industry-card-description","children":"High-value shipments with complex delivery requirements."}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Challenges"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-1","children":"Appointment scheduling coordination"}],["$","li",null,{"className":"industry-card-list-item bullet-2","children":"White-glove delivery standards"}],["$","li",null,{"className":"industry-card-list-item bullet-3","children":"Multi-location routing complexity"}]]}]]}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Doormile Solutions"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-4","children":"Automated appointment optimization"}],["$","li",null,{"className":"industry-card-list-item bullet-5","children":"Service level guarantee tracking"}],["$","li",null,{"className":"industry-card-list-item bullet-6","children":"Enterprise integration APIs"}]]}]]}]]}],["$","div",null,{"className":"industry-card-hover-bottom","children":[["$","div",null,{"className":"industry-card-hover-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeLinejoin":"round","style":{"width":"20px","height":"20px"},"children":[["$","line",null,{"x1":"7","y1":"17","x2":"17","y2":"7"}],["$","polyline",null,{"points":"7 7 17 7 17 17"}]]}]}],["$","h4",null,{"className":"industry-card-hover-title","children":"Enterprise & B2B"}]]}]]}]]}] -27:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -31:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] -25:null -29:[["$","title","0",{"children":"Doormile — Delivering Trust. Beyond Boundaries"}],["$","meta","1",{"name":"description","content":"Doormile helps logistics companies track every mile with MileTruth™ AI. Real-time SLA protection and connected miles visibility."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L31","7",{}]] + 13:["$","div",null,{"className":"elementor-element elementor-element-3b4a7cc e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"3b4a7cc","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-d602f7f e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"d602f7f","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-f64bd88 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"f64bd88","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-5ed2dbb e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5ed2dbb","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-c8162c4 elementor-widget elementor-widget-logico_heading industry-section-label","data-id":"c8162c4","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$1e"}}],["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-title","children":"/ Industry Solutions /"}]}]]}],["$","div",null,{"className":"elementor-element elementor-element-1487241 elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"1487241","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","style":{"margin":"30px 0 0 0"},"children":["$","h3",null,{"className":"logico-title","style":{"fontSize":"clamp(28px, 3.5vw, 48px)","lineHeight":"1.1","fontWeight":800,"textTransform":"uppercase","maxWidth":"900px"},"children":"$L1f"}]}]}]]}],"$L20"]}],"$L21"]}]}]}] +14:["$","script","script-0",{"src":"/_next/static/chunks/000jk3-x5hh9p.js","async":true,"nonce":"$undefined"}] +15:["$","$L22",null,{"children":["$","$23",null,{"name":"Next.MetadataOutlet","children":"$@24"}]}] +16:["$","$1","h",{"children":[null,["$","$L25",null,{"children":"$L26"}],["$","div",null,{"hidden":true,"children":["$","$L27",null,{"children":["$","$23",null,{"name":"Next.Metadata","children":"$L28"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] +18:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +29:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"ScrollReveal"] +2a:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],""] +2b:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"Image"] +19:["$","i",null,{"className":"fontello icon-half-logo"}] +1a:["$","div","8",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}] +1f:["$","$L29",null,{"delay":0.05,"duration":0.8,"yOffset":25,"children":["Smart solutions built exclusively for your ",["$","span",null,{"style":{"color":"#c01227"},"children":"industry"}]]}] +20:["$","div",null,{"className":"elementor-element elementor-element-4af73cb e-con-full elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"4af73cb","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-46f2f7d elementor-widget__width-initial elementor-widget elementor-widget-logico_button","data-id":"46f2f7d","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_button.default","children":["$","div",null,{"className":"elementor-widget-container"}]}]}] +21:["$","div",null,{"className":"elementor-element elementor-element-6829276 e-grid e-con-full cut-corner-no sticky-container-off e-con e-child","data-id":"6829276","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"industry-solutions-grid","children":[["$","$L2a",null,{"href":"/solutions","className":"industry-card-link","children":[["$","div",null,{"className":"industry-card-bg","children":["$","$L2b",null,{"src":"/images/tab-pic-1.jpeg","alt":"FMCG Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"}]}],["$","div",null,{"className":"industry-card-overlay"}],["$","div",null,{"className":"industry-card-hover-bg"}],["$","div",null,{"className":"industry-card-default-content","children":["$","h4",null,{"className":"industry-card-default-title","children":"FMCG"}]}],["$","div",null,{"className":"industry-card-hover-content","children":[["$","div",null,{"className":"industry-card-hover-top","children":[["$","p",null,{"className":"industry-card-description","children":"High volume, tight margins, zero tolerance for stockouts."}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Challenges"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-1","children":"Unpredictable demand spikes"}],["$","li",null,{"className":"industry-card-list-item bullet-2","children":"Fresh product expiry constraints"}],["$","li",null,{"className":"industry-card-list-item bullet-3","children":"Multi-stop route complexity"}]]}]]}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Doormile Solutions"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-4","children":"AI-driven demand-responsive routing"}],["$","li",null,{"className":"industry-card-list-item bullet-5","children":"Freshness-aware delivery prioritization"}],["$","li",null,{"className":"industry-card-list-item bullet-6","children":"Dynamic batch optimization"}]]}]]}]]}],["$","div",null,{"className":"industry-card-hover-bottom","children":[["$","div",null,{"className":"industry-card-hover-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeLinejoin":"round","style":{"width":"20px","height":"20px"},"children":[["$","line",null,{"x1":"7","y1":"17","x2":"17","y2":"7"}],["$","polyline",null,{"points":"7 7 17 7 17 17"}]]}]}],["$","h4",null,{"className":"industry-card-hover-title","children":"FMCG"}]]}]]}]]}],["$","$L2a",null,{"href":"/solutions","className":"industry-card-link","children":[["$","div",null,{"className":"industry-card-bg","children":["$","$L2b",null,{"src":"/images/tab-pic-2.jpeg","alt":"Pharma Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"}]}],["$","div",null,{"className":"industry-card-overlay"}],["$","div",null,{"className":"industry-card-hover-bg"}],["$","div",null,{"className":"industry-card-default-content","children":["$","h4",null,{"className":"industry-card-default-title","children":"Pharmaceutical"}]}],["$","div",null,{"className":"industry-card-hover-content","children":[["$","div",null,{"className":"industry-card-hover-top","children":[["$","p",null,{"className":"industry-card-description","children":"Temperature-sensitive, compliance-critical, life-saving."}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Challenges"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-1","children":"Cold chain integrity requirements"}],["$","li",null,{"className":"industry-card-list-item bullet-2","children":"Regulatory compliance tracking"}],["$","li",null,{"className":"industry-card-list-item bullet-3","children":"Critical delivery time windows"}]]}]]}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Doormile Solutions"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-4","children":"Real-time temperature monitoring"}],"$L2c","$L2d"]}]]}]]}],"$L2e"]}]]}],"$L2f"]}]}] +2c:["$","li",null,{"className":"industry-card-list-item bullet-5","children":"Chain-of-custody documentation"}] +2d:["$","li",null,{"className":"industry-card-list-item bullet-6","children":"Priority override for critical shipments"}] +2e:["$","div",null,{"className":"industry-card-hover-bottom","children":[["$","div",null,{"className":"industry-card-hover-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeLinejoin":"round","style":{"width":"20px","height":"20px"},"children":[["$","line",null,{"x1":"7","y1":"17","x2":"17","y2":"7"}],["$","polyline",null,{"points":"7 7 17 7 17 17"}]]}]}],["$","h4",null,{"className":"industry-card-hover-title","children":"Pharmaceutical"}]]}] +2f:["$","$L2a",null,{"href":"/solutions","className":"industry-card-link","children":[["$","div",null,{"className":"industry-card-bg","children":["$","$L2b",null,{"src":"/images/tab-pic-3.jpeg","alt":"Enterprise Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"}]}],["$","div",null,{"className":"industry-card-overlay"}],["$","div",null,{"className":"industry-card-hover-bg"}],["$","div",null,{"className":"industry-card-default-content","children":["$","h4",null,{"className":"industry-card-default-title","children":"Enterprise & B2B"}]}],["$","div",null,{"className":"industry-card-hover-content","children":[["$","div",null,{"className":"industry-card-hover-top","children":[["$","p",null,{"className":"industry-card-description","children":"High-value shipments with complex delivery requirements."}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Challenges"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-1","children":"Appointment scheduling coordination"}],["$","li",null,{"className":"industry-card-list-item bullet-2","children":"White-glove delivery standards"}],["$","li",null,{"className":"industry-card-list-item bullet-3","children":"Multi-location routing complexity"}]]}]]}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Doormile Solutions"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-4","children":"Automated appointment optimization"}],["$","li",null,{"className":"industry-card-list-item bullet-5","children":"Service level guarantee tracking"}],["$","li",null,{"className":"industry-card-list-item bullet-6","children":"Enterprise integration APIs"}]]}]]}]]}],["$","div",null,{"className":"industry-card-hover-bottom","children":[["$","div",null,{"className":"industry-card-hover-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeLinejoin":"round","style":{"width":"20px","height":"20px"},"children":[["$","line",null,{"x1":"7","y1":"17","x2":"17","y2":"7"}],["$","polyline",null,{"points":"7 7 17 7 17 17"}]]}]}],["$","h4",null,{"className":"industry-card-hover-title","children":"Enterprise & B2B"}]]}]]}]]}] +26:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +30:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +24:null +28:[["$","title","0",{"children":"Doormile — Delivering Trust. Beyond Boundaries"}],["$","meta","1",{"name":"description","content":"Doormile helps logistics companies track every mile with MileTruth™ AI. Real-time SLA protection and connected miles visibility."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L30","7",{}]] diff --git a/build/__next._head.txt b/build/__next._head.txt index f42f850..fa456ee 100644 --- a/build/__next._head.txt +++ b/build/__next._head.txt @@ -1,6 +1,6 @@ 1:"$Sreact.fragment" -2:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -3:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] 4:"$Sreact.suspense" -5:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] -0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Doormile — Delivering Trust. Beyond Boundaries"}],["$","meta","1",{"name":"description","content":"Doormile helps logistics companies track every mile with MileTruth™ AI. Real-time SLA protection and connected miles visibility."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Doormile — Delivering Trust. Beyond Boundaries"}],["$","meta","1",{"name":"description","content":"Doormile helps logistics companies track every mile with MileTruth™ AI. Real-time SLA protection and connected miles visibility."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/__next._index.txt b/build/__next._index.txt index d8e09a9..9c09249 100644 --- a/build/__next._index.txt +++ b/build/__next._index.txt @@ -1,15 +1,15 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/__next._tree.txt b/build/__next._tree.txt index 279290e..3595d9d 100644 --- a/build/__next._tree.txt +++ b/build/__next._tree.txt @@ -1,4 +1,4 @@ -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -6,4 +6,4 @@ :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/_next/static/stHCYLWgK385AnoV1Kxkn/_buildManifest.js b/build/_next/static/TAuyMDUsvWIfF6U_s0MKe/_buildManifest.js similarity index 100% rename from build/_next/static/stHCYLWgK385AnoV1Kxkn/_buildManifest.js rename to build/_next/static/TAuyMDUsvWIfF6U_s0MKe/_buildManifest.js diff --git a/build/_next/static/stHCYLWgK385AnoV1Kxkn/_clientMiddlewareManifest.js b/build/_next/static/TAuyMDUsvWIfF6U_s0MKe/_clientMiddlewareManifest.js similarity index 100% rename from build/_next/static/stHCYLWgK385AnoV1Kxkn/_clientMiddlewareManifest.js rename to build/_next/static/TAuyMDUsvWIfF6U_s0MKe/_clientMiddlewareManifest.js diff --git a/build/_next/static/TAuyMDUsvWIfF6U_s0MKe/_ssgManifest.js b/build/_next/static/TAuyMDUsvWIfF6U_s0MKe/_ssgManifest.js new file mode 100644 index 0000000..becaacd --- /dev/null +++ b/build/_next/static/TAuyMDUsvWIfF6U_s0MKe/_ssgManifest.js @@ -0,0 +1 @@ +self.__SSG_MANIFEST=new Set(["\u002Fblog\u002F[slug]"]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB() \ No newline at end of file diff --git a/build/_next/static/chunks/0-kxqnmnjtk7l.js b/build/_next/static/chunks/0-kxqnmnjtk7l.js new file mode 100644 index 0000000..1686cf0 --- /dev/null +++ b/build/_next/static/chunks/0-kxqnmnjtk7l.js @@ -0,0 +1,57 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,69986,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(75056),i=e.i(25234),s=e.i(79877),o=e.i(33623),a=e.i(90072);let l="#08080c",c="#C01227",u="#E2354A",d="#7E1420",p="#F2667A",h="#3c3c46",m="#6a6a76",f="#43434d",x="#7c7c86",g="#22C55E",y="#FFFFFF",M=[c,f,x,f,x,f],b=["Multi-Trip","Proximity","Balanced","Fuel Saver","EV-Aware","Time-Aware"],j=[{at:0,pos:[0,20,27],look:[0,1.4,0]},{at:.13,pos:[-2.5,20,26.5],look:[-.5,1.2,0]},{at:.28,pos:[3,18.5,25.5],look:[.6,.8,-.8]},{at:.44,pos:[0,23,24.5],look:[0,1,0]},{at:.6,pos:[2.5,21,25.5],look:[0,1.2,0]},{at:.74,pos:[-2,20,26.5],look:[0,1.2,0]},{at:.88,pos:[0,22,25.5],look:[0,1.8,0]},{at:1,pos:[0,21.5,25.5],look:[0,2,0]}];function v(e){return e<0?0:e>1?1:e}function w(e,t,r){let n=v((r-e)/(t-e||1));return n*n*(3-2*n)}function A(e,t,r,n){return e+(t-e)*(1-Math.exp(-r*n))}function B(e){let t=43758.5453*Math.sin(127.1*e+311.7);return t-Math.floor(t)}function z(e,t=0){let r=new Float32Array(3*e),n=Math.PI*(3-Math.sqrt(5));for(let i=0;iz(j,.18),[j]),S=(0,r.useMemo)(()=>z(B,.55),[B]),W=(0,r.useMemo)(()=>z(Math.floor(.6*B),.7),[B]);return(0,i.useFrame)((t,r)=>{let n=e.current??0;b.current=A(b.current,n,3,r);let i=b.current,a=t.clock.elapsedTime,u=s.current;if(!u)return;let d=w(0,.13,i),p=w(.44,.5,i)*(1-w(.74,.88,i)),h=w(.88,1,i),m=.5*(.001+.999*d)*(1-.32*p)*(1+.18*h)*(1+.03*Math.sin(.9*a));if(u.scale.setScalar(m),u.position.y=3+.18*Math.sin(.6*a),u.rotation.y=.12*a,o.current&&o.current.rotation.set(.18*a,.24*a,0),l.current&&l.current.rotation.set(-(.22*a),.16*a,.1*a),x.current&&(x.current.rotation.y=.06*a),g.current&&(g.current.rotation.y=.35*a,g.current.rotation.x=.3*Math.sin(.2*a)),M.current&&(M.current.rotation.y=-(.28*a),M.current.rotation.z=.18*a),c.current){let e=1+.06*Math.sin(1.6*a)+.4*h;c.current.scale.setScalar(e)}f.current&&(f.current.opacity=v(.22+.05*Math.sin(1.6*a)+.25*h)*d)}),(0,t.jsxs)("group",{ref:s,position:[0,3,0],children:[(0,t.jsxs)("mesh",{children:[(0,t.jsx)("sphereGeometry",{args:[.95,24,24]}),(0,t.jsx)("meshBasicMaterial",{color:d,transparent:!0,opacity:.18,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("mesh",{children:[(0,t.jsx)("sphereGeometry",{args:[.42,24,24]}),(0,t.jsx)("meshBasicMaterial",{color:y,transparent:!0,opacity:.9,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("mesh",{ref:o,children:[(0,t.jsx)("icosahedronGeometry",{args:[1.35,1]}),(0,t.jsx)("meshBasicMaterial",{color:u,wireframe:!0,transparent:!0,opacity:.55,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("mesh",{ref:l,children:[(0,t.jsx)("icosahedronGeometry",{args:[1.7,2]}),(0,t.jsx)("meshBasicMaterial",{color:h,wireframe:!0,transparent:!0,opacity:.32,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("points",{ref:x,children:[(0,t.jsx)("bufferGeometry",{children:(0,t.jsx)("bufferAttribute",{attach:"attributes-position",args:[R,3]})}),(0,t.jsx)("pointsMaterial",{size:n?.05:.045,color:p,transparent:!0,opacity:.85,sizeAttenuation:!0,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("points",{ref:g,scale:1.6,children:[(0,t.jsx)("bufferGeometry",{children:(0,t.jsx)("bufferAttribute",{attach:"attributes-position",args:[S,3]})}),(0,t.jsx)("pointsMaterial",{size:.04,color:u,transparent:!0,opacity:.6,sizeAttenuation:!0,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("points",{ref:M,scale:2,children:[(0,t.jsx)("bufferGeometry",{children:(0,t.jsx)("bufferAttribute",{attach:"attributes-position",args:[W,3]})}),(0,t.jsx)("pointsMaterial",{size:.035,color:m,transparent:!0,opacity:.45,sizeAttenuation:!0,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("mesh",{ref:c,rotation:[Math.PI/2,0,0],children:[(0,t.jsx)("ringGeometry",{args:[2.1,2.25,64]}),(0,t.jsx)("meshBasicMaterial",{ref:f,color:u,transparent:!0,opacity:.22,side:a.DoubleSide,blending:a.AdditiveBlending,depthWrite:!1})]})]})}),S=new a.Object3D,W=new a.Color,k=` + attribute vec3 aSize; + attribute float aSeed; + varying vec2 vWinUv; + varying vec3 vWinNrm; + varying vec3 vWinSize; + varying float vWinSeed; +`,G=` + vWinUv = uv; + vWinNrm = normal; + vWinSize = aSize; + vWinSeed = aSeed; +`,C=` + uniform float uTime; + varying vec2 vWinUv; + varying vec3 vWinNrm; + varying vec3 vWinSize; + varying float vWinSeed; + float h11(float p){ p = fract(p*0.1031); p *= p+33.33; p *= p+p; return fract(p); } + float h21(vec2 p){ vec3 p3 = fract(vec3(p.xyx)*0.1031); p3 += dot(p3, p3.yzx+33.33); return fract((p3.x+p3.y)*p3.z); } +`,I=` + // facade tint varies per building — dark neutral charcoal (brand: near-black) + vec3 baseA = vec3(0.040, 0.040, 0.048); + vec3 baseB = vec3(0.065, 0.058, 0.066); + diffuseColor.rgb = mix(baseA, baseB, h11(vWinSeed*1.7)); + + // windows only on the four vertical faces (skip roof/floor) + float isVert = 1.0 - step(0.5, abs(vWinNrm.y)); + vec2 faceDim = abs(vWinNrm.x) > 0.5 ? vec2(vWinSize.z, vWinSize.y) : vec2(vWinSize.x, vWinSize.y); + vec2 cells = max(vec2(1.0), floor(faceDim / 0.52)); + vec2 g = vWinUv * cells; + vec2 id = floor(g); + vec2 f = fract(g); + float m = 0.16; // mullion margin + float pane = step(m, f.x) * step(f.x, 1.0 - m) * step(m, f.y) * step(f.y, 1.0 - m); + + float rnd = h21(id + vWinSeed * 37.0); + float lit = step(0.68, rnd); // ~32% of windows lit (dimmer skyline backdrop) + float toggle = step(0.97, h21(id * 1.31 + vWinSeed * 5.0 + floor(uTime * 0.5))); + lit = clamp(lit + toggle, 0.0, 1.0); // a few flick on/off over time + float flick = 0.9 + 0.1 * sin(uTime * 2.0 + rnd * 30.0); + + // Brand-tinted windows: mostly warm white with occasional brand-red panes. + vec3 warmWhite = vec3(1.0, 0.88, 0.80); + vec3 brandRed = vec3(0.82, 0.18, 0.24); + vec3 wcol = mix(warmWhite, brandRed, step(0.7, h21(id * 0.7 + vWinSeed))); + + float glow = isVert * pane * lit * flick; + totalEmissiveRadiance += wcol * glow * 0.85; + + // dark mullion grid + dimmer unlit glass + diffuseColor.rgb *= (0.42 + 0.58 * pane); +`,F=r.default.memo(function({progress:e,isMobile:n=!1}){let s=(0,r.useRef)(null),o=(0,r.useRef)(null),l=(0,r.useRef)(null),p=(0,r.useRef)(null),m=(0,r.useRef)(null),f=(0,r.useRef)(null),x=(0,r.useRef)(null),g=(0,r.useRef)(null),y=(0,r.useRef)(null),b=(0,r.useRef)(null),j=(0,r.useRef)(0),v=n?20:34,z=(0,r.useMemo)(()=>{let e=[];for(let t=0;t3.4&&B(13.3*t)>.42,d=u?.62*l:l,p=Math.floor(4*B(17.7*t))*Math.PI/8+.12*B(4.1*t),h=l>5;e.push({x:i,z:s,w:o,d:a,h:l,bodyH:d,rot:p,ci:c,tier:u,tall:h})}let t=e.filter(e=>e.tier),r=e.filter(e=>e.tall),n=new a.BoxGeometry(1,1,1),i=new Float32Array(3*v),s=new Float32Array(v);e.forEach((e,t)=>{i[3*t]=e.w,i[3*t+1]=e.bodyH,i[3*t+2]=e.d,s[t]=10*B(23.1*t)}),n.setAttribute("aSize",new a.InstancedBufferAttribute(i,3)),n.setAttribute("aSeed",new a.InstancedBufferAttribute(s,1));let o=new a.BoxGeometry(1,1,1),l=new Float32Array(3*Math.max(1,t.length)),c=new Float32Array(Math.max(1,t.length));return t.forEach((e,t)=>{let r=.64*e.w,n=.64*e.d,i=e.h-e.bodyH;l[3*t]=r,l[3*t+1]=i,l[3*t+2]=n,c[t]=10*B(29.7*t)}),o.setAttribute("aSize",new a.InstancedBufferAttribute(l,3)),o.setAttribute("aSeed",new a.InstancedBufferAttribute(c,1)),{buildings:e,tierList:t,tallList:r,bodyGeom:n,tierGeom:o}},[v]),R=(0,r.useMemo)(()=>{let e=new a.MeshStandardMaterial({color:"#0c1226",emissive:"#000000",metalness:.35,roughness:.62});return e.onBeforeCompile=e=>{e.uniforms.uTime={value:0},b.current=e,e.vertexShader=e.vertexShader.replace("#include ",`#include +${k}`).replace("#include ",`#include +${G}`),e.fragmentShader=e.fragmentShader.replace("#include ",`#include +${C}`).replace("#include ",`#include +${I}`)},e},[]),F=(0,r.useMemo)(()=>{let e=[];for(let t=0;t<12;t++){let r=t/12*Math.PI*2,n=19*(.72+.26*B(4.4*t));e.push(+Math.cos(r),.04,+Math.sin(r)),e.push(Math.cos(r)*n,.04,Math.sin(r)*n)}for(let t of[3.5,7,11,15])for(let r=0;r<64;r++){let n=r/64*Math.PI*2,i=(r+1)/64*Math.PI*2;e.push(Math.cos(n)*t,.04,Math.sin(n)*t),e.push(Math.cos(i)*t,.04,Math.sin(i)*t)}let t=new a.BufferGeometry;return t.setAttribute("position",new a.Float32BufferAttribute(e,3)),t},[]);return(0,r.useLayoutEffect)(()=>{let{buildings:e,tierList:t,tallList:r}=z;o.current&&(e.forEach((e,t)=>{S.position.set(e.x,e.bodyH/2,e.z),S.rotation.set(0,e.rot,0),S.scale.set(e.w,e.bodyH,e.d),S.updateMatrix(),o.current.setMatrixAt(t,S.matrix)}),o.current.instanceMatrix.needsUpdate=!0),l.current&&(t.forEach((e,t)=>{let r=e.h-e.bodyH;S.position.set(e.x,e.bodyH+r/2,e.z),S.rotation.set(0,e.rot,0),S.scale.set(.64*e.w,r,.64*e.d),S.updateMatrix(),l.current.setMatrixAt(t,S.matrix)}),l.current.instanceMatrix.needsUpdate=!0),p.current&&(e.forEach((e,t)=>{let r=e.h,n=e.tier?.64*e.w:e.w,i=e.tier?.64*e.d:e.d;S.position.set(e.x,r+.03,e.z),S.rotation.set(0,e.rot,0),S.scale.set(1.02*n,.07,1.02*i),S.updateMatrix(),p.current.setMatrixAt(t,S.matrix),p.current.setColorAt(t,W.set(M[e.ci]))}),p.current.instanceMatrix.needsUpdate=!0,p.current.instanceColor&&(p.current.instanceColor.needsUpdate=!0)),m.current&&f.current&&(r.forEach((e,t)=>{S.position.set(e.x,e.h+.34,e.z),S.rotation.set(0,0,0),S.scale.set(.05,.68,.05),S.updateMatrix(),m.current.setMatrixAt(t,S.matrix),S.position.set(e.x,e.h+.7,e.z),S.scale.set(1,1,1),S.updateMatrix(),f.current.setMatrixAt(t,S.matrix)}),m.current.instanceMatrix.needsUpdate=!0,f.current.instanceMatrix.needsUpdate=!0)},[z]),(0,i.useFrame)((t,r)=>{let n=e.current??0;j.current=A(j.current,n,3,r);let i=j.current,o=t.clock.elapsedTime;b.current&&(b.current.uniforms.uTime.value=o);let a=w(.01,.15,i);s.current&&(s.current.scale.y=.001+.999*a),f.current&&(f.current.material.opacity=(.5+.3*Math.sin(2.2*o))*a),x.current&&(x.current.opacity=(0+.6*w(.02,.13,i))*(.78+.22*Math.sin(2.2*o)));let l=w(0,.13,i);if(g.current){let e=1+.35*o%1*6;g.current.scale.set(e,e,e),g.current.material.opacity=(1-.35*o%1)*.28*l}if(y.current){let e=1+(.35*o+.5)%1*6;y.current.scale.set(e,e,e),y.current.material.opacity=(1-(.35*o+.5)%1)*.28*l}}),(0,t.jsxs)("group",{children:[(0,t.jsx)("gridHelper",{args:[49.4,60,d,d],position:[0,0,0],children:(0,t.jsx)("lineBasicMaterial",{attach:"material",color:d,transparent:!0,opacity:.11,depthWrite:!1})}),(0,t.jsx)("lineSegments",{geometry:F,children:(0,t.jsx)("lineBasicMaterial",{ref:x,color:u,transparent:!0,opacity:0,blending:a.AdditiveBlending,depthWrite:!1})}),(0,t.jsxs)("mesh",{ref:g,rotation:[-Math.PI/2,0,0],position:[0,.03,0],children:[(0,t.jsx)("ringGeometry",{args:[1,1.12,48]}),(0,t.jsx)("meshBasicMaterial",{color:u,transparent:!0,opacity:0,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("mesh",{ref:y,rotation:[-Math.PI/2,0,0],position:[0,.03,0],children:[(0,t.jsx)("ringGeometry",{args:[1,1.12,48]}),(0,t.jsx)("meshBasicMaterial",{color:h,transparent:!0,opacity:0,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("group",{ref:s,children:[(0,t.jsx)("instancedMesh",{ref:o,args:[z.bodyGeom,R,z.buildings.length]}),z.tierList.length>0&&(0,t.jsx)("instancedMesh",{ref:l,args:[z.tierGeom,R,z.tierList.length]}),(0,t.jsxs)("instancedMesh",{ref:p,args:[void 0,void 0,z.buildings.length],children:[(0,t.jsx)("boxGeometry",{args:[1,1,1]}),(0,t.jsx)("meshBasicMaterial",{toneMapped:!1,transparent:!0,opacity:.9,blending:a.AdditiveBlending})]}),z.tallList.length>0&&(0,t.jsxs)("instancedMesh",{ref:m,args:[void 0,void 0,z.tallList.length],children:[(0,t.jsx)("boxGeometry",{args:[1,1,1]}),(0,t.jsx)("meshStandardMaterial",{color:"#11182c",metalness:.7,roughness:.4})]}),z.tallList.length>0&&(0,t.jsxs)("instancedMesh",{ref:f,args:[void 0,void 0,z.tallList.length],children:[(0,t.jsx)("sphereGeometry",{args:[.07,8,8]}),(0,t.jsx)("meshBasicMaterial",{color:c,toneMapped:!1,transparent:!0,opacity:.8,blending:a.AdditiveBlending,depthWrite:!1})]})]})]})});var P=e.i(60099);let V=[98,76,84,68,58,90],E={display:"flex",alignItems:"center",gap:"6px",padding:"4px 11px",borderRadius:"999px",background:"rgba(7,11,22,0.72)",border:"1px solid rgba(255,255,255,0.16)",color:"#eaf2ff",fontSize:"11px",fontWeight:600,letterSpacing:"0.04em",whiteSpace:"nowrap",backdropFilter:"blur(6px)",WebkitBackdropFilter:"blur(6px)",fontFamily:"var(--font-space-grotesk), system-ui, sans-serif",opacity:0,pointerEvents:"none",willChange:"opacity"},T=.36,U=new a.Color(g),L=new a.Color("#F59E0B"),H=new a.Color(c),D=new a.Color,$=r.default.memo(function({progress:e,isMobile:n=!1}){let s=(0,r.useRef)(0),o=(0,r.useRef)([]),l=(0,r.useRef)([]),d=(0,r.useRef)(null),h=(0,r.useRef)(null),m=(0,r.useRef)(null),f=(0,r.useRef)(null),x=(0,r.useRef)(null),j=(0,r.useRef)(null),z=(0,r.useMemo)(()=>M.map((e,t)=>{let r,n,i,s,o,l;return r=t/M.length*Math.PI*2+.4,n=9+4*B(6.1*t),i=new a.Vector3(Math.cos(r)*n,.16,Math.sin(r)*n),s=(B(3.7*t)-.5)*5,o=new a.Vector3(Math.cos(r)*n*.4+Math.cos(r+Math.PI/2)*s,.18,Math.sin(r)*n*.4+Math.sin(r+Math.PI/2)*s),l=new a.Vector3(0,.2,0),new a.CatmullRomCurve3([l,o,i])}),[]),R=(0,r.useMemo)(()=>z.map(e=>new a.TubeGeometry(e,60,.05,8,!1)),[z]),S=(0,r.useMemo)(()=>new a.CatmullRomCurve3([new a.Vector3(-11,.3,7),new a.Vector3(-4,.3,3),new a.Vector3(2.6,.3,-1.2),new a.Vector3(9.5,.3,-6.5)]),[]),W=(0,r.useMemo)(()=>new a.TubeGeometry(S,70,.07,8,!1),[S]),k=(0,r.useMemo)(()=>{let e=new a.CatmullRomCurve3([new a.Vector3(-11,.3,7),new a.Vector3(-3.5,.3,1.5),new a.Vector3(2.6,.6,-1.2),new a.Vector3(6.5,.3,-3),new a.Vector3(9.5,.3,-6.5)]);return new a.TubeGeometry(e,80,.08,8,!1)},[]),G=(0,r.useMemo)(()=>new a.Vector3(2.6,0,-1.2),[]),C=(0,r.useMemo)(()=>new a.Vector3,[]),I=(0,r.useMemo)(()=>M.map(e=>new a.Color(e)),[]),F=(0,r.useMemo)(()=>new a.Color(c),[]),$=(0,r.useRef)([]),N=(0,r.useRef)([]),O=(0,r.useRef)(null),_=(0,r.useMemo)(()=>z.map(e=>{let t=e.getPointAt(.82).clone();return t.y+=1,t}),[z]);return(0,i.useFrame)((t,r)=>{let n=e.current??0;s.current=A(s.current,n,3.2,r);let i=s.current,a=t.clock.elapsedTime,c=w(.1,.18,i),u=w(.13,.18,i),p=w(.28,.33,i),g=w(.6,.74,i),y=w(.74,.8,i),M=v((i-.74)/.26),b=w(.97,1,i);for(let e=0;e.02;if(r.visible=n,!n)continue;let i=((.14*a+.34*t)%1+1)%1;e.getPointAt(i,C),r.position.set(C.x,.3,C.z),e.getPointAt(Math.min(.999,i+.02),C),r.lookAt(C.x,.3,C.z),r.scale.setScalar(1e-4+w(0,.12,M)*(1-b))}}let R=w(.26,.28+.03,i),W=1-w(.46,.54,i),G=w(T-.015,T+.03,i),P=R*W,V=v((i-.28)/.15999999999999998);if(d.current){let e=G>.5?k.parameters.path:S;e.getPointAt(v(V),C),d.current.position.set(C.x,.32,C.z),e.getPointAt(v(V+.01),C),d.current.lookAt(C.x,.32,C.z),d.current.visible=P>.02,d.current.scale.setScalar(1e-4+P)}let E=v((i-.28)/(T-.28)),_=G>0?.14+.86*G:v(1-.92*E);if(h.current&&(h.current.scale.x=.02+.98*_,h.current.position.x=-.18*(1-_)),m.current&&(_>.5?D.copy(L).lerp(U,(_-.5)*2):D.copy(H).lerp(L,2*_),m.current.color.copy(D)),x.current){let e=w(T-.06,T,i);x.current.opacity=.55*Math.max(.4*R,e)*P*(1-G)*(.7+.3*Math.sin(5*a))}if(j.current&&(j.current.opacity=P*G*(.65+.25*Math.sin(3*a))),f.current&&(f.current.scale.y=1e-4+G,f.current.visible=G>.01&&W>.02),O.current){let e=G*W;O.current.style.opacity=e.toFixed(3),O.current.style.display=e<.02?"none":"flex"}}),(0,t.jsxs)("group",{children:[R.map((e,r)=>(0,t.jsxs)("group",{children:[(0,t.jsx)("mesh",{geometry:e,children:(0,t.jsx)("meshBasicMaterial",{ref:e=>{o.current[r]=e},color:M[r],toneMapped:!1,transparent:!0,opacity:0,blending:a.AdditiveBlending,depthWrite:!1})}),(0,t.jsxs)("mesh",{ref:e=>{l.current[r]=e},children:[(0,t.jsx)("sphereGeometry",{args:[1,12,12]}),(0,t.jsx)("meshBasicMaterial",{color:y,toneMapped:!1,transparent:!0,opacity:.95,blending:a.AdditiveBlending,depthWrite:!1})]})]},r)),_.map((e,r)=>{let i=0===r,s=4===r;if(n)return null;let o=i||s?c:M[r];return(0,t.jsx)(P.Html,{position:[e.x,e.y,e.z],center:!0,zIndexRange:[30,0],style:{pointerEvents:"none"},children:(0,t.jsxs)("div",{ref:e=>{N.current[r]=e},style:{...E,border:i?"1px solid rgba(226,53,66,0.85)":s?"1px solid rgba(239,68,68,0.7)":E.border,background:i?"rgba(28,8,11,0.85)":E.background,boxShadow:i?"0 0 22px rgba(192,18,39,0.6)":"none"},children:[(0,t.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:o,boxShadow:`0 0 8px ${o}`}}),b[r],(0,t.jsx)("span",{style:{fontWeight:800,color:s?"#fca5a5":"#fff",marginLeft:2},children:V[r]}),i?(0,t.jsx)("span",{style:{color:"#4ade80",fontWeight:700},children:" ✓ Best"}):null,s?(0,t.jsx)("span",{style:{color:"#fca5a5",fontWeight:700},children:" ✕ Over range"}):null]})},`lbl${r}`)}),(0,t.jsx)("mesh",{geometry:W,children:(0,t.jsx)("meshBasicMaterial",{ref:x,color:c,toneMapped:!1,transparent:!0,opacity:0,blending:a.AdditiveBlending,depthWrite:!1})}),(0,t.jsx)("mesh",{geometry:k,children:(0,t.jsx)("meshBasicMaterial",{ref:j,color:g,toneMapped:!1,transparent:!0,opacity:0,blending:a.AdditiveBlending,depthWrite:!1})}),(0,t.jsxs)("group",{ref:f,position:G,visible:!1,children:[(0,t.jsxs)("mesh",{position:[0,.55,0],children:[(0,t.jsx)("boxGeometry",{args:[.32,1.1,.32]}),(0,t.jsx)("meshStandardMaterial",{color:"#0e1b14",emissive:g,emissiveIntensity:.6,metalness:.4,roughness:.5})]}),(0,t.jsxs)("mesh",{position:[0,1.18,0],children:[(0,t.jsx)("boxGeometry",{args:[.5,.18,.42]}),(0,t.jsx)("meshBasicMaterial",{color:g,toneMapped:!1,transparent:!0,opacity:.9,blending:a.AdditiveBlending})]}),(0,t.jsxs)("mesh",{rotation:[-Math.PI/2,0,0],position:[0,.03,0],children:[(0,t.jsx)("ringGeometry",{args:[.5,.62,40]}),(0,t.jsx)("meshBasicMaterial",{color:g,toneMapped:!1,transparent:!0,opacity:.7,side:a.DoubleSide,blending:a.AdditiveBlending,depthWrite:!1})]})]}),!n&&(0,t.jsx)(P.Html,{position:[G.x,1.7,G.z],center:!0,zIndexRange:[30,0],style:{pointerEvents:"none"},children:(0,t.jsxs)("div",{ref:O,style:{...E,border:"1px solid rgba(34,197,94,0.65)",boxShadow:"0 0 18px rgba(34,197,94,0.45)"},children:[(0,t.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:g,boxShadow:`0 0 8px ${g}`}}),"Recharge Hub"]})}),(0,t.jsxs)("group",{ref:d,visible:!1,children:[(0,t.jsxs)("mesh",{position:[0,.12,0],children:[(0,t.jsx)("boxGeometry",{args:[.5,.16,.22]}),(0,t.jsx)("meshStandardMaterial",{color:"#11203a",emissive:u,emissiveIntensity:.5,metalness:.5,roughness:.4})]}),(0,t.jsxs)("mesh",{position:[.18,.26,0],children:[(0,t.jsx)("boxGeometry",{args:[.06,.28,.12]}),(0,t.jsx)("meshStandardMaterial",{color:"#0d1830",emissive:u,emissiveIntensity:.4,metalness:.5,roughness:.4})]}),(0,t.jsxs)("mesh",{position:[.3,.14,0],children:[(0,t.jsx)("sphereGeometry",{args:[.06,10,10]}),(0,t.jsx)("meshBasicMaterial",{color:y,toneMapped:!1})]}),[-.16,.16].map((e,r)=>(0,t.jsxs)("mesh",{position:[e,.05,0],rotation:[Math.PI/2,0,0],children:[(0,t.jsx)("cylinderGeometry",{args:[.09,.09,.05,14]}),(0,t.jsx)("meshStandardMaterial",{color:"#05070d",metalness:.6,roughness:.5})]},r)),(0,t.jsxs)("group",{position:[0,.62,0],children:[(0,t.jsxs)("mesh",{children:[(0,t.jsx)("boxGeometry",{args:[.42,.12,.02]}),(0,t.jsx)("meshBasicMaterial",{color:"#0a0f1c",toneMapped:!1,transparent:!0,opacity:.85})]}),(0,t.jsxs)("mesh",{ref:h,position:[0,0,.012],children:[(0,t.jsx)("boxGeometry",{args:[.38,.08,.02]}),(0,t.jsx)("meshBasicMaterial",{ref:m,color:g,toneMapped:!1,blending:a.AdditiveBlending})]})]})]}),[{w:.34,h:.16,d:.2,col:p},{w:.46,h:.22,d:.26,col:y},{w:.6,h:.3,d:.32,col:c}].map((e,r)=>(0,t.jsxs)("mesh",{ref:e=>{$.current[r]=e},visible:!1,children:[(0,t.jsx)("boxGeometry",{args:[e.w,e.h,e.d]}),(0,t.jsx)("meshStandardMaterial",{color:"#12060a",emissive:e.col,emissiveIntensity:.7,metalness:.5,roughness:.4})]},`disp${r}`))]})}),N=new a.Object3D,O=new a.Color(d),_=new a.Color(g),q=new a.Color,K=new a.Vector3,X=r.default.memo(function({progress:e,isMobile:n=!1}){let s=(0,r.useRef)(0),o=(0,r.useRef)(null),l=(0,r.useRef)([]),c=(0,r.useRef)(null),m=(0,r.useRef)(null),f=(0,r.useRef)(null),x=(0,r.useRef)(null),g=n?40:70,y=n?70:150,M=n?12:24,b=(0,r.useMemo)(()=>Array.from({length:5},(e,t)=>{let r=t/5*Math.PI*2+.6;return new a.Vector3(6.5*Math.cos(r),0,6.5*Math.sin(r))}),[]),j=(0,r.useMemo)(()=>Array.from({length:g},(e,t)=>{let r=B(3.3*t+1)*Math.PI*2,n=3+17*B(1.9*t+5);return new a.Vector3(Math.cos(r)*n,.12,Math.sin(r)*n)}),[g]),z=(0,r.useMemo)(()=>j.map(e=>{let t=b[0],r=1/0;for(let n of b){let i=e.distanceToSquared(n);i{let e=[];for(let t of z)e.push(t.a.x,t.a.y,t.a.z,t.b.x,t.b.y,t.b.z);let t=new a.BufferGeometry;return t.setAttribute("position",new a.Float32BufferAttribute(e,3)),t},[z]),S=(0,r.useMemo)(()=>{let e=new Float32Array(3*j.length);j.forEach((t,r)=>{e[3*r]=t.x,e[3*r+1]=t.y,e[3*r+2]=t.z});let t=new a.BufferGeometry;return t.setAttribute("position",new a.BufferAttribute(e,3)),t},[j]),W=(0,r.useMemo)(()=>Array.from({length:y},(e,t)=>({seg:Math.floor(B(4.7*t)*z.length),speed:.12+.25*B(2.1*t),phase:B(8.3*t)})),[y,z.length]),k=(0,r.useMemo)(()=>{let e=new a.BufferGeometry;return e.setAttribute("position",new a.BufferAttribute(new Float32Array(3*y),3)),e},[y]),G=(0,r.useMemo)(()=>Array.from({length:M},(e,t)=>({seg:Math.floor(B(5.9*t+3)*z.length),speed:.06+.08*B(3.7*t),phase:B(6.6*t),kind:Math.floor(3*B(9.2*t))})),[M,z.length]);return(0,r.useLayoutEffect)(()=>{x.current&&(j.forEach((e,t)=>{N.position.set(e.x,.18,e.z),N.scale.set(.06,.36,.06),N.rotation.set(0,0,0),N.updateMatrix(),x.current.setMatrixAt(t,N.matrix),x.current.setColorAt(t,O)}),x.current.instanceMatrix.needsUpdate=!0,x.current.instanceColor&&(x.current.instanceColor.needsUpdate=!0)),f.current&&(G.forEach((e,t)=>{N.position.set(0,-50,0),N.updateMatrix(),f.current.setMatrixAt(t,N.matrix);let r=0===e.kind?u:1===e.kind?h:p;f.current.setColorAt(t,q.set(r))}),f.current.instanceMatrix.needsUpdate=!0,f.current.instanceColor&&(f.current.instanceColor.needsUpdate=!0))},[j,G]),(0,i.useFrame)((t,r)=>{let n=e.current??0;s.current=A(s.current,n,3,r);let i=s.current,a=t.clock.elapsedTime,u=w(.11,.19,i),d=w(.71,.8,i),p=w(.88,1,i);if(l.current.forEach((e,t)=>{e&&(e.emissiveIntensity=(.3+1.5*d)*(.85+.15*Math.sin(2*a+t)))}),o.current&&(o.current.visible=u>.02),c.current&&(c.current.opacity=(.05+.16*u+.1*p)*(.8+.2*Math.sin(1.5*a))),m.current){let e=m.current.geometry.getAttribute("position");for(let t=0;t.02}if(x.current){for(let e=0;e(0,t.jsxs)("group",{position:[e.x,0,e.z],children:[(0,t.jsxs)("mesh",{position:[0,.5,0],children:[(0,t.jsx)("boxGeometry",{args:[1.6,1,1.3]}),(0,t.jsx)("meshStandardMaterial",{ref:e=>{l.current[r]=e},color:"#0b1426",emissive:d,emissiveIntensity:.3,metalness:.4,roughness:.5})]}),(0,t.jsxs)("mesh",{rotation:[-Math.PI/2,0,0],position:[0,.03,0],children:[(0,t.jsx)("ringGeometry",{args:[1.2,1.4,36]}),(0,t.jsx)("meshBasicMaterial",{color:u,toneMapped:!1,transparent:!0,opacity:.4,side:a.DoubleSide,blending:a.AdditiveBlending,depthWrite:!1})]})]},r))})]})}),Y=r.default.memo(function({progress:e,isMobile:n=!1}){let s=(0,r.useRef)(0),o=(0,r.useRef)(null),l=(0,r.useRef)(null),p=(0,r.useRef)(null),h=(0,r.useRef)([]),m=(0,r.useRef)(null),f=(0,r.useRef)(null),x=n?90:180,M=(0,r.useMemo)(()=>{let e=[];for(let t=0;t{let e=new a.BufferGeometry;return e.setAttribute("position",new a.BufferAttribute(new Float32Array(3*x),3)),e},[x]),j=(0,r.useMemo)(()=>{let e=new a.CatmullRomCurve3([new a.Vector3(-6,.3,5),new a.Vector3(-2,1.6,1),new a.Vector3(3,.3,-4)]);return new a.TubeGeometry(e,50,.07,8,!1)},[]),z=(0,r.useMemo)(()=>new a.Vector3(-2,.6,1),[]);return(0,i.useFrame)((t,r)=>{let n=e.current??0;s.current=A(s.current,n,3,r);let i=s.current,a=t.clock.elapsedTime,c=w(.57,.65,i),u=c*(1-w(.74,.82,i));o.current&&(o.current.visible=u>.02,o.current.position.y=2.6+1.9999999999999996*c,o.current.scale.setScalar(1e-4+1.5*u),o.current.rotation.z=.02*Math.sin(.3*a)),l.current&&(l.current.rotation.z=-(1.4*a)),p.current&&(p.current.opacity=u*(.6+.2*Math.sin(4*a))),h.current.forEach(e=>{e&&(e.opacity=.8*u)});let d=w(.62,.6+.08,i),x=.45*a%1;if(f.current&&(f.current.opacity=u*d*(1-x)*(.6+.4*Math.sin(6*a))),m.current){let e=m.current.geometry.getAttribute("position"),t=3.4*x;for(let r=0;r{let n=r/12*Math.PI*2;return(0,t.jsxs)("mesh",{position:[.88*Math.cos(n),.88*Math.sin(n),0],rotation:[0,0,n],children:[(0,t.jsx)("boxGeometry",{args:[.1,.02,.02]}),(0,t.jsx)("meshBasicMaterial",{ref:e=>{e&&(h.current[r]=e)},color:r%3==0?y:u,toneMapped:!1,transparent:!0,opacity:.8,blending:a.AdditiveBlending,depthWrite:!1})]},r)}),(0,t.jsxs)("mesh",{ref:l,position:[0,0,.02],children:[(0,t.jsx)("boxGeometry",{args:[.04,1.5,.02]}),(0,t.jsx)("meshBasicMaterial",{ref:p,color:g,toneMapped:!1,transparent:!0,opacity:.7,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("mesh",{children:[(0,t.jsx)("sphereGeometry",{args:[.07,16,16]}),(0,t.jsx)("meshBasicMaterial",{color:y,toneMapped:!1})]})]}),(0,t.jsx)("mesh",{geometry:j,children:(0,t.jsx)("meshBasicMaterial",{ref:f,color:c,toneMapped:!1,transparent:!0,opacity:0,blending:a.AdditiveBlending,depthWrite:!1})}),(0,t.jsx)("points",{ref:m,geometry:b,children:(0,t.jsx)("pointsMaterial",{size:n?.12:.1,color:c,transparent:!0,opacity:0,sizeAttenuation:!0,blending:a.AdditiveBlending,depthWrite:!1})})]})}),Z=new a.Vector3,J=new a.Vector3;function Q({progress:e}){let t=(0,r.useRef)(new a.Vector3(0,6,0)),n=(0,r.useRef)(!1);return(0,i.useFrame)((r,i)=>{var s,o,a,l,c,u;let d=v(e.current??0),p=0;for(let e=0;e=j[e].at&&d<=j[e+1].at){p=e;break}d>j[j.length-1].at&&(p=j.length-2)}let h=j[p],m=j[p+1],f=m.at-h.at||1,x=w(0,1,v((d-h.at)/f));Z.set((s=h.pos[0],s+(m.pos[0]-s)*x),(o=h.pos[1],o+(m.pos[1]-o)*x),(a=h.pos[2],a+(m.pos[2]-a)*x)),J.set((l=h.look[0],l+(m.look[0]-l)*x),(c=h.look[1],c+(m.look[1]-c)*x),(u=h.look[2],u+(m.look[2]-u)*x));let g=r.clock.elapsedTime;Z.x+=.14*Math.sin(.16*g),Z.y+=.07*Math.sin(.21*g);let y=r.camera;n.current?(y.position.x=A(y.position.x,Z.x,2.6,i),y.position.y=A(y.position.y,Z.y,2.6,i),y.position.z=A(y.position.z,Z.z,2.6,i),t.current.x=A(t.current.x,J.x,3,i),t.current.y=A(t.current.y,J.y,3,i),t.current.z=A(t.current.z,J.z,3,i)):(y.position.copy(Z),t.current.copy(J),n.current=!0),y.lookAt(t.current)}),null}let ee=r.default.memo(function({progress:e,reduced:r=!1,isMobile:i=!1,active:a=!0}){return(0,t.jsxs)(n.Canvas,{flat:!0,dpr:[1,i||r?1.25:1.5],camera:{position:j[0].pos,fov:52,near:.1,far:200},gl:{antialias:!i,powerPreference:"high-performance",alpha:!1},frameloop:a?"always":"never",children:[(0,t.jsx)("color",{attach:"background",args:[l]}),(0,t.jsx)("fog",{attach:"fog",args:[l,40,100]}),(0,t.jsx)("ambientLight",{intensity:.55}),(0,t.jsx)("directionalLight",{position:[8,18,10],intensity:.7,color:p}),(0,t.jsx)("pointLight",{position:[-10,8,-8],intensity:40,distance:60,color:m}),(0,t.jsx)("pointLight",{position:[0,9,0],intensity:30,distance:40,color:u}),(0,t.jsx)(Q,{progress:e}),(0,t.jsx)(F,{progress:e,reduced:r,isMobile:i}),(0,t.jsx)($,{progress:e,reduced:r,isMobile:i}),(0,t.jsx)(X,{progress:e,reduced:r,isMobile:i}),(0,t.jsx)(Y,{progress:e,reduced:r,isMobile:i}),(0,t.jsx)(R,{progress:e,reduced:r,isMobile:i}),!r&&(0,t.jsx)(s.EffectComposer,{multisampling:2*!i,children:(0,t.jsx)(s.Bloom,{mipmapBlur:!0,intensity:i?.9:1.25,luminanceThreshold:.12,luminanceSmoothing:.045,radius:i?.65:.82,kernelSize:o.KernelSize.MEDIUM})})]})});e.s(["default",0,ee],69986)},39184,e=>{e.n(e.i(69986))}]); \ No newline at end of file diff --git a/build/_next/static/chunks/0-u0mnwn1ei4e.js b/build/_next/static/chunks/0-u0mnwn1ei4e.js new file mode 100644 index 0000000..2376a03 --- /dev/null +++ b/build/_next/static/chunks/0-u0mnwn1ei4e.js @@ -0,0 +1 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,48228,t=>{"use strict";let e=[{n:"01",key:"input",kicker:"Input",theme:"#22C55E"},{n:"02",key:"parallel",kicker:"Parallel Execution",theme:"#8B5CF6"},{n:"03",key:"optimize",kicker:"Smart Optimization",theme:"#3B82F6"},{n:"04",key:"grading",kicker:"Performance Grading",theme:"#F59E0B"},{n:"05",key:"winner",kicker:"Strategy Comparison",theme:"#C01227"}],i=e.length;function n(t){return[(t%2==0?-1:1)*1.4,0,-(13*t)]}t.s(["N",0,i,"STAGES",0,e,"cameraFor",0,function(t){let e,r,a,o,c,l,[k,s,h]=(r=Math.floor(e=Math.max(0,Math.min(i-1,t))),a=Math.min(i-1,r+1),o=e-r,c=n(r),l=n(a),[c[0]+(l[0]-c[0])*o,c[1]+(l[1]-c[1])*o,c[2]+(l[2]-c[2])*o]);return{pos:[.7*k,s+4,h+8.2],look:[.55*k,s+1.05,h-1.6]}},"districtPosition",0,n])},30860,t=>{t.v(e=>Promise.all(["static/chunks/04dzth4udk0lf.js","static/chunks/0a.~l01a83_pb.js","static/chunks/0ovd-l8hud6qg.js"].map(e=>t.l(e))).then(()=>e(20927)))}]); \ No newline at end of file diff --git a/build/_next/static/chunks/000jk3-x5hh9p.js b/build/_next/static/chunks/000jk3-x5hh9p.js new file mode 100644 index 0000000..62993e2 --- /dev/null +++ b/build/_next/static/chunks/000jk3-x5hh9p.js @@ -0,0 +1,929 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24911,e=>{"use strict";var t=e.i(43476),n=e.i(2018);e.s(["default",0,function(){return(0,t.jsxs)("div",{className:"elementor-61",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-88745f4 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"88745f4","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"e-con-inner",children:(0,t.jsxs)("div",{className:"elementor-element elementor-element-343b363 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"343b363","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)(n.ScrollReveal,{delay:.05,duration:.7,yOffset:20,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-7afb238 elementor-widget elementor-widget-logico_heading","data-id":"7afb238","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"/ Doormile Approach /"})})})}),(0,t.jsx)(n.ScrollReveal,{delay:.15,duration:.85,yOffset:30,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-1cc335a elementor-widget elementor-widget-logico_heading","data-id":"1cc335a","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",style:{WebkitTextStroke:"4px #c01227",color:"#fff",fontWeight:800},children:"The Doormile Way"})})})}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-4c3e632 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"4c3e632","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)(n.ScrollReveal,{delay:.2,duration:.8,yOffset:25,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-5ba6bbf e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5ba6bbf","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-9363070 elementor-widget elementor-widget-logico_heading","data-id":"9363070","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("h3",{className:"logico-title",children:" Smarter, Faster, Connected Logistics"})})})})}),(0,t.jsx)(n.ScrollReveal,{delay:.3,duration:.8,yOffset:25,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-e7609a5 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"e7609a5","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-c134b96 elementor-widget elementor-widget-text-editor","data-id":"c134b96","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsxs)("div",{className:"elementor-widget-container",children:[(0,t.jsx)("p",{children:(0,t.jsxs)("strong",{children:["We connect first mile and last mile into one seamless system, reducing delays and improving efficiency. With real-time tracking and digital workflows,",(0,t.jsx)("br",{})," every delivery is faster, reliable, and fully transparent."]})}),(0,t.jsx)("p",{children:"Seamless logistics powered by real-time tracking, digital processes, and reliable delivery execution."})]})})})})]})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-5041fcc e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"5041fcc","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"e-con-inner",children:(0,t.jsxs)(n.StaggerChildren,{stagger:.12,duration:.7,yOffset:35,className:"elementor-element elementor-element-2d7c3ee e-con-full e-grid cut-corner-no sticky-container-off e-con e-child",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-d11b050 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"d11b050","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-3a6f50f elementor-view-default elementor-widget elementor-widget-icon","data-id":"3a6f50f","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-icon-wrapper",children:(0,t.jsx)("div",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-light-delivery"})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-1025248 elementor-widget elementor-widget-logico_heading","data-id":"1025248","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"End-to-End Protection"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-c7c19bd elementor-widget elementor-widget-text-editor","data-id":"c7c19bd","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"End-to-end visibility ensures every shipment stays secure and on schedule."})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-2c82e54 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"2c82e54","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-f51735e elementor-view-default elementor-widget elementor-widget-icon","data-id":"f51735e","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-icon-wrapper",children:(0,t.jsx)("div",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-light-container"})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-c682633 elementor-widget elementor-widget-logico_heading","data-id":"c682633","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Proactive delay prevention"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-74d14e3 elementor-widget elementor-widget-text-editor","data-id":"74d14e3","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"Real-time monitoring helps prevent delays before they impact deliveries."})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-08b9b20 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"08b9b20","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-612c459 elementor-view-default elementor-widget elementor-widget-icon","data-id":"612c459","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-icon-wrapper",children:(0,t.jsx)("div",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-light-directions"})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-aa49275 elementor-widget elementor-widget-logico_heading","data-id":"aa49275","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Single owner, single promise"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-74cfdf7 elementor-widget elementor-widget-text-editor","data-id":"74cfdf7","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"One unified system manages the entire delivery process seamlessly."})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-04989ee e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"04989ee","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-11a657e elementor-view-default elementor-widget elementor-widget-icon","data-id":"11a657e","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-icon-wrapper",children:(0,t.jsx)("div",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-light-storage"})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-b317d31 elementor-widget elementor-widget-logico_heading","data-id":"b317d31","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Dynamic AI-driven adjustments"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-8fe5662 elementor-widget elementor-widget-text-editor","data-id":"8fe5662","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"AI-powered routing adapts instantly to improve speed and efficiency."})})})]})]})})})]})}])},14224,e=>{"use strict";var t=e.i(43476),n=e.i(71645),i=e.i(89970),a=e.i(83495);i.default.registerPlugin(a.ScrollTrigger);let r=[{icon:(0,t.jsx)("svg",{className:"evnd-icon",viewBox:"0 0 24 24",fill:"none",stroke:"#f59e0b",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2"})}),title:"Battery-Aware Routing",desc:"Battery level, health, and degradation are first-class inputs to route optimization — not afterthoughts."},{icon:(0,t.jsx)("svg",{className:"evnd-icon",viewBox:"0 0 24 24",fill:"none",stroke:"#94a3b8",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"M18 10h-1.28A6 6 0 0 0 12 5V3M12 5V3M6 10h1.28A6 6 0 0 0 12 5M12 18v2M12 18v2M8 10v6a4 4 0 0 0 8 0v-6"})}),title:"Charging Integration",desc:"Seamlessly integrate charging stops without compromising delivery windows or SLA commitments."},{icon:(0,t.jsx)("svg",{className:"evnd-icon",viewBox:"0 0 24 24",fill:"none",stroke:"#ef4444",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"m8 3 4 8 5-5 5 15H2L8 3z"})}),title:"Energy-Optimized Paths",desc:"Factor in elevation, speed limits, payload weight, and live weather for maximum range efficiency."},{icon:(0,t.jsx)("svg",{className:"evnd-icon",viewBox:"0 0 24 24",fill:"none",stroke:"#ef4444",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"})}),title:"Predictable Operations",desc:"EVs become predictable assets, not operational risks. Full visibility from depot to doorstep."}],d=[{value:"100%",label:"ELECTRIC FLEET"},{value:"-40%",label:"COST / MILE"}],l=[{value:99.9,decimals:1,suffix:"%",label:"SLA Compliance"},{value:42,suffix:"%",label:"Distance Saved"},{value:37,suffix:"%",label:"Fewer Vehicles"},{value:45,suffix:"ms",label:"Dispatch Latency"}];function o({value:e,decimals:i=0,suffix:a="",duration:r=1700,className:d}){let[l,s]=(0,n.useState)(0),c=(0,n.useRef)(null),m=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{let t=c.current;if(!t)return;if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return void requestAnimationFrame(()=>s(e));let n=new IntersectionObserver(t=>{for(let i of t)if(i.isIntersecting&&!m.current){m.current=!0;let t=performance.now(),i=e=>1-Math.pow(1-e,3),a=n=>{let d=Math.min(1,(n-t)/r);s(e*i(d)),d<1?requestAnimationFrame(a):s(e)};requestAnimationFrame(a),n.disconnect()}},{threshold:.2});return n.observe(t),()=>n.disconnect()},[e,r]),(0,t.jsxs)("b",{ref:c,className:d,children:[l.toFixed(i),a]})}function s({value:e,decimals:i=0,suffix:a="",active:r}){let[d,l]=(0,n.useState)(e),o=(0,n.useRef)(0);return(0,n.useEffect)(()=>{if(!r)return;if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return o.current=requestAnimationFrame(()=>l(e)),()=>cancelAnimationFrame(o.current);let t=performance.now(),n=i=>{let a=Math.min(1,Math.max(0,(i-t)/850));l(e*(1-Math.pow(1-a,3))),a<1?o.current=requestAnimationFrame(n):l(e)};return o.current=requestAnimationFrame(n),()=>cancelAnimationFrame(o.current)},[r,e]),(0,t.jsxs)("span",{className:"evnd__card-metric",children:[d.toFixed(i),(0,t.jsx)("i",{children:a})]})}let c=[[40,90],[150,150],[120,280],[250,330],[360,250],[60,420],[300,120],[330,430]],m=["M40 90 L150 150 L120 280 L250 330 L360 250","M60 420 L150 150 L300 120 L360 250","M120 280 L60 420 L250 330 L330 430"],p=[[14,22,0,13],[78,16,-3,16],[33,64,-7,14],[62,48,-1,18],[88,70,-5,15],[22,86,-9,17],[50,30,-4,19],[70,90,-2,14]];function g(){let e=(0,n.useRef)(null);return(0,n.useEffect)(()=>{let t=e.current;if(!t||window.matchMedia?.("(prefers-reduced-motion: reduce)").matches||window.matchMedia?.("(max-width: 767px)").matches)return;i.default.registerPlugin(a.ScrollTrigger);let n=Array.from(t.querySelectorAll("[data-depth]")),r=a.ScrollTrigger.create({trigger:t,start:"top bottom",end:"bottom top",scrub:!0,onUpdate:e=>{let t=e.progress-.5;for(let e of n){let n=parseFloat(e.dataset.depth||"0");i.default.set(e,{yPercent:t*n})}}});return()=>r.kill()},[]),(0,t.jsxs)("div",{ref:e,className:"evnd__bg","aria-hidden":"true",children:[(0,t.jsx)("div",{className:"evnd__bg-grid","data-depth":"4"}),(0,t.jsxs)("svg",{className:"evnd__bg-net","data-depth":"8",viewBox:"0 0 400 520",preserveAspectRatio:"xMidYMid slice",children:[(0,t.jsx)("g",{className:"evnd__bg-mesh",stroke:"currentColor",strokeWidth:"0.8",fill:"none",children:m.map((e,n)=>(0,t.jsx)("path",{d:e},n))}),(0,t.jsx)("g",{className:"evnd__bg-nodes",fill:"currentColor",children:c.map(([e,n],i)=>(0,t.jsx)("circle",{cx:e,cy:n,r:i%3==0?3:2,style:{animationDelay:`${-(.7*i)}s`}},i))}),(0,t.jsx)("path",{className:"evnd__bg-flow",d:m[0],fill:"none",stroke:"currentColor",strokeWidth:"1.4"}),(0,t.jsx)("path",{className:"evnd__bg-flow evnd__bg-flow--2",d:m[1],fill:"none",stroke:"currentColor",strokeWidth:"1.4"})]}),(0,t.jsx)("div",{className:"evnd__bg-glow evnd__bg-glow--a","data-depth":"11"}),(0,t.jsx)("div",{className:"evnd__bg-glow evnd__bg-glow--b","data-depth":"15"}),(0,t.jsx)("div",{className:"evnd__bg-particles","data-depth":"18",children:p.map(([e,n,i,a],r)=>(0,t.jsx)("span",{style:{left:`${e}%`,top:`${n}%`,animationDelay:`${i}s`,animationDuration:`${a}s`}},r))})]})}function h({slides:e,heading:i,theme:a}){let[r,d]=(0,n.useState)(0),[l,o]=(0,n.useState)(!1),[c,m]=(0,n.useState)(!1),p=(0,n.useRef)(null);(0,n.useEffect)(()=>{let e=p.current;if(!e)return;let t=new IntersectionObserver(([e])=>m(e.isIntersecting),{threshold:.35});return t.observe(e),()=>t.disconnect()},[]),(0,n.useEffect)(()=>{if(!c||l||e.length<2)return;let t=setTimeout(()=>{d(t=>(t+1)%e.length)},4e3);return()=>clearTimeout(t)},[r,c,l,e.length]);let x=a?{"--ca":a.accent,"--ca2":a.accent2,"--cg":a.glow}:void 0;return(0,t.jsxs)("div",{ref:p,className:"evnd__cards",style:x,onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),children:[(0,t.jsx)(g,{}),i&&(0,t.jsxs)("div",{className:"evnd__cards-head",children:[(0,t.jsxs)("span",{className:"evnd__cards-live",children:[(0,t.jsx)("span",{className:"evnd__cards-livedot"}),i]}),(0,t.jsx)("span",{className:"evnd__cards-sys",children:"AI ENGINE"})]}),(0,t.jsx)("div",{className:"evnd__cards-stage",children:e.map((e,n)=>(0,t.jsxs)("div",{className:`evnd__card ${n===r?"is-active":""}`,"aria-hidden":n!==r||void 0,children:[(0,t.jsxs)("span",{className:"evnd__card-status",children:[(0,t.jsx)("span",{className:"evnd__card-statusdot"}),e.status]}),(0,t.jsxs)("div",{className:"evnd__card-hero",children:[(0,t.jsx)(s,{value:e.value,decimals:e.decimals,suffix:e.suffix,active:n===r}),(0,t.jsx)("span",{className:"evnd__card-metriclabel",children:e.metricLabel})]}),(0,t.jsx)("h3",{className:"evnd__card-title",children:e.title}),(0,t.jsx)("ul",{className:"evnd__card-kpis",children:e.kpis.map(e=>(0,t.jsxs)("li",{children:[(0,t.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,t.jsx)("polyline",{points:"20 6 9 17 4 12"})}),e]},e))}),(0,t.jsx)("p",{className:"evnd__card-desc",children:e.desc})]},e.title))}),(0,t.jsxs)("div",{className:"evnd__cards-nav",children:[(0,t.jsxs)("span",{className:"evnd__cards-counter",children:[String(r+1).padStart(2,"0"),"/",String(e.length).padStart(2,"0")]}),(0,t.jsx)("div",{className:"evnd__cards-bars",children:e.map((e,n)=>(0,t.jsx)("button",{type:"button","aria-label":`Go to ${e.title}`,className:`evnd__cards-bar ${n===r?"is-active":""}`,onClick:()=>d(n)},e.title))})]})]})}e.s(["default",0,function({bannerImage:e="/images/bg-header-5.png",cardNumber:s="",cardTitle:c="EV Logistics",cardSubtitle:m="Cleaner miles, lower costs",eyebrow:p="/ EV-Native Design /",titleLead:g="BUILT FOR ELECTRIC. ",titleAccent:x="NOT ADAPTED.",features:f=r,image:v="/images/premium-ev-van.png",imageAlt:u="DoorMile electric delivery van",badges:w=d,stats:_=l,gapTop:b=!1,gapBottom:y=!1,ariaLabel:j,mediaSlot:N,slides:k,cardsHeading:z,cardsTheme:S}){let R=(0,n.useRef)(null),A=!!k&&k.length>0;return(0,n.useEffect)(()=>{let e=R.current;if(!e)return;let t=a.ScrollTrigger.create({trigger:e,start:"top bottom",end:"bottom top",scrub:!0,onUpdate:()=>{if(window.innerWidth>=1021){let t=window.scrollY,n=e.getBoundingClientRect().top+t;i.default.set(e,{backgroundPosition:`center ${.3*(t-n)}px`})}else i.default.set(e,{backgroundPosition:""})}});return()=>t?.kill()},[]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:` + /* ============================================================ + EV-Native Design — redesigned section + bg #080808 \xb7 red #ef4444 \xb7 Manrope + ============================================================ */ + + .evnd, .evnd * { font-family: "Manrope", Sans-serif !important; } + + /* External gap helpers — keep stacked workflow sections on one rhythm + (Desktop 40 \xb7 Tablet 32 \xb7 Mobile 24). Single-sided per boundary. */ + .evnd-gap-top { margin-top: 40px !important; } + .evnd-gap-bottom { margin-bottom: 40px !important; } + + .evnd { + position: relative; + isolation: isolate; + overflow: hidden; + background: #080808; + /* flat top so it connects seamlessly to the banner above; rounded + bottom only, and no top margin so there is no white gap */ + border-radius: 0 0 clamp(16px, 2vw, 28px) clamp(16px, 2vw, 28px); + margin: 0 0 clamp(28px, 5vw, 64px); + padding: 64px 48px clamp(48px, 6vw, 80px); + } + /* subtle diagonal light band for depth (matches reference) */ + .evnd::before { + content: ''; + position: absolute; + inset: 0; + z-index: 0; + pointer-events: none; + background: linear-gradient(120deg, transparent 28%, rgba(255,255,255,0.015) 50%, transparent 72%); + } + .evnd__inner { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; } + + /* ---- MAIN GRID ---- */ + .evnd__grid { + display: grid; + grid-template-columns: 1.15fr 1fr; + gap: clamp(32px, 4vw, 56px); + align-items: center; + } + /* Split-screen workflow layout: ~60/40 so the live dashboard column + carries enough weight to balance the Three.js scene. align-items: + stretch lets the cards panel match the scene height. */ + .evnd__grid--cards { + grid-template-columns: 1.5fr 1fr; + align-items: stretch; + } + .evnd__grid--cards .evnd__left { justify-content: center; } + .evnd__grid--cards .evnd__left, + .evnd__grid--cards .evnd__media { width: 100%; } + + /* ---- Desktop height alignment: scene and insight panel share one row + height. A min-height floor on the scene column sets the baseline row + height (≥620px so the tallest slide's status → metric → title → KPIs → + description fits with the footer fully clear). Both columns stretch to + the row via grid align-items: stretch. + + The panel uses min-height:100% (not a hard height) and its card stage + is flex: 1 0 auto — it grows to fill the row but, crucially, NEVER + shrinks below its own content. So a long description can only push the + panel taller, never overlap the nav footer; the grid row grows with it + and the scene (height:100%) stretches to match. Result: the card height + always equals the scene height AND the 01/04 counter + pagination stay + pinned to the bottom with dedicated, un-overlappable space. */ + @media (min-width: 992px) { + .evnd__grid--cards .evnd__left { + min-height: clamp(620px, 44vw, 680px); + } + .evnd__grid--cards .evnd__media, + .evnd__grid--cards .evnd__imgwrap--media, + .evnd__grid--cards .wf-scene { height: 100%; } + .evnd__grid--cards .wf-scene { aspect-ratio: auto; } + .evnd__grid--cards .evnd__cards { min-height: 100%; } + /* grow to fill the row, but hold content height as a hard floor so + the footer can never ride up over the description */ + .evnd__grid--cards .evnd__cards-stage { flex: 1 0 auto; min-height: 0; } + /* centre the slide content in the taller stage for a balanced panel */ + .evnd__grid--cards .evnd__card { justify-content: center; } + } + + .evnd__left { + display: flex; + flex-direction: column; + align-items: flex-start; + } + + .evnd__right { + display: flex; + flex-direction: column; + } + + .evnd__eyebrow { + display: inline-flex; + align-items: center; + gap: 12px; + color: #ef4444 !important; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 0.16em; + font-size: 13px; + margin-bottom: 20px; + } + .evnd__eyebrow::before { + content: ''; + width: 16px; + height: 2px; + background: #ef4444; + } + + .evnd__title { + color: #fff !important; + font-weight: 800 !important; + font-size: clamp(32px, 3.8vw, 48px) !important; + line-height: 1.15 !important; + letter-spacing: -0.01em; + margin: 0 0 36px 0; + } + @media (min-width: 768px) { + .evnd__title { + white-space: nowrap; + } + } + .evnd__title .accent { + color: #ef4444 !important; + } + + .evnd__media { + position: relative; + width: 100%; + } + .evnd__glow { + position: absolute; + left: 50%; bottom: -4%; + width: 80%; height: 80px; + transform: translateX(-50%); + background: radial-gradient(50% 50% at 50% 50%, rgba(239,68,68,0.3), transparent 72%); + filter: blur(35px); + z-index: 0; + animation: evndGlow 4s ease-in-out infinite; + } + .evnd__imgwrap { + position: relative; + z-index: 1; + overflow: hidden; + border-radius: 16px; + border: 1px solid rgba(255,255,255,0.06); + box-shadow: 0 30px 60px -25px rgba(0,0,0,0.85); + } + .evnd__img { + display: block; + width: 100%; + height: auto; + object-fit: cover; + transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1); + } + .evnd__imgwrap:hover .evnd__img { + transform: scale(1.03); + } + + /* Badge overlay styling */ + .evnd__badge { + position: absolute; + z-index: 2; + display: flex; + flex-direction: column; + gap: 2px; + padding: 12px 16px; + background: rgba(13,13,13,0.72); + border: 1px solid rgba(255,255,255,0.08); + border-radius: 8px; + backdrop-filter: blur(12px); + -webkit-backdrop-filter: blur(12px); + } + .evnd__badge b { + color: #ef4444 !important; + font-weight: 800; + font-size: 24px; + line-height: 1; + } + .evnd__badge span { + color: rgba(255,255,255,0.7) !important; + font-size: 10px; + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + } + .evnd__badge--tl { top: 20px; left: 20px; } + .evnd__badge--br { bottom: 20px; right: 20px; } + + /* ---- Feature cards ---- */ + .evnd__features { + display: flex; + flex-direction: column; + gap: 16px; + height: 100%; + justify-content: space-between; + } + .evnd-feature { + position: relative; + display: grid; + grid-template-columns: 48px minmax(0, 1fr) auto; + gap: 20px; + align-items: start; + background: rgba(255,255,255,0.02); + border: 1px solid rgba(255,255,255,0.05); + border-radius: 16px; + padding: 24px; + overflow: hidden; + transition: background-color 0.4s ease, border-color 0.4s ease, transform 0.4s cubic-bezier(.25,1,.5,1); + } + .evnd-feature__body { min-width: 0; } + .evnd-feature::before { + content: ''; + position: absolute; + left: 0; top: 0; bottom: 0; + width: 3px; + background: #ef4444; + transform: scaleY(0); + transform-origin: bottom; + transition: transform 0.4s ease; + } + .evnd-feature:hover { + background: rgba(239,68,68,0.03); + border-color: rgba(239,68,68,0.2); + transform: translateY(-2px); + } + .evnd-feature:hover::before { transform: scaleY(1); } + + .evnd-feature__icon-container { + width: 48px; height: 48px; + display: flex; align-items: center; justify-content: center; + background: rgba(255,255,255,0.03); + border: 1px solid rgba(255,255,255,0.08); + border-radius: 12px; + transition: background-color 0.3s ease, border-color 0.3s ease; + } + .evnd-feature:hover .evnd-feature__icon-container { + background: rgba(239,68,68,0.08); + border-color: rgba(239,68,68,0.25); + } + + .evnd-icon { + width: 22px; + height: 22px; + display: block; + } + + .evnd-feature__title { + color: #fff !important; + font-weight: 700; + font-size: 15px !important; + text-transform: uppercase; + letter-spacing: 0.05em; + margin: 4px 0 8px; + transition: color 0.3s ease; + } + .evnd-feature:hover .evnd-feature__title { color: #ef4444 !important; } + .evnd-feature__desc { + color: rgba(255,255,255,0.65) !important; + font-weight: 400 !important; + font-size: 14px !important; + line-height: 1.6 !important; + margin: 0; + } + .evnd-feature__arrow { + color: rgba(255,255,255,0.25); + font-size: 16px; + align-self: flex-start; + margin-top: 4px; + transition: color 0.3s ease, transform 0.3s ease; + } + .evnd-feature:hover .evnd-feature__arrow { color: #ef4444; transform: translate(3px, -3px); } + + /* When the left media is a live 3D scene, let it define its own height + (via aspect-ratio) — drop the image-only hover zoom container quirks. */ + .evnd__imgwrap--media { box-shadow: 0 30px 60px -25px rgba(0,0,0,0.85); } + + /* ============================================================ + Rotating "live AI insight" cards (split-screen right column). + Themed per-workflow via CSS vars (--ca accent \xb7 --ca2 secondary \xb7 + --cg glow). Falls back to the section red when no theme is passed. + ============================================================ */ + .evnd__cards { + --ca: #ef4444; + --ca2: #f59e0b; + --cg: rgba(239,68,68,0.22); + position: relative; + display: flex; + flex-direction: column; + gap: 22px; + width: 100%; + /* panel surface so the column reads as a real dashboard, not empty space */ + background: + radial-gradient(120% 80% at 100% 0%, color-mix(in srgb, var(--ca) 9%, transparent) 0%, transparent 55%), + linear-gradient(180deg, rgba(255,255,255,0.025) 0%, rgba(255,255,255,0.01) 100%); + border: 1px solid rgba(255,255,255,0.07); + border-radius: 20px; + padding: 26px 26px 22px; + overflow: hidden; + isolation: isolate; + } + /* ============================================================ + Layered "AI intelligence" backdrop (behind the card content). + Overscanned by 12% on every side so the scroll-parallax never + exposes a panel edge. Whole stack is colour = accent, individual + layers stay inside a 5–12% opacity budget. z-index 0; content is z 1. + ============================================================ */ + .evnd__bg { + position: absolute; + /* generous overscan so scroll-parallax never exposes a panel edge */ + inset: -20%; + z-index: 0; + color: var(--ca); + pointer-events: none; + overflow: hidden; + } + .evnd__bg > * { position: absolute; inset: 0; } + + /* Layer B — technical grid (large spacing, softer than the 3D floor) */ + .evnd__bg-grid { + background-image: + linear-gradient(to right, currentColor 1px, transparent 1px), + linear-gradient(to bottom, currentColor 1px, transparent 1px); + background-size: 64px 64px; + opacity: 0.05; + -webkit-mask-image: radial-gradient(120% 100% at 80% 0%, #000 30%, transparent 85%); + mask-image: radial-gradient(120% 100% at 80% 0%, #000 30%, transparent 85%); + } + + /* Layer A — routing network graph */ + .evnd__bg-net { width: 100%; height: 100%; opacity: 0.11; } + .evnd__bg-mesh { opacity: 0.55; } + .evnd__bg-nodes circle { + transform-box: fill-box; + transform-origin: center; + animation: evndNode 3.6s ease-in-out infinite; + } + @keyframes evndNode { 0%,100% { opacity: 0.45; } 50% { opacity: 1; } } + .evnd__bg-flow { + opacity: 0.85; + stroke-dasharray: 14 320; + animation: evndFlow 7s linear infinite; + } + .evnd__bg-flow--2 { animation-duration: 9s; animation-delay: -3s; } + @keyframes evndFlow { to { stroke-dashoffset: -334; } } + + /* Layer C — ambient glow field (slow breathing, 9–11s) */ + .evnd__bg-glow { inset: auto; border-radius: 50%; filter: blur(46px); } + .evnd__bg-glow--a { + top: -6%; right: -6%; + width: 58%; height: 50%; + background: radial-gradient(50% 50% at 50% 50%, var(--cg), transparent 72%); + animation: evndBreathe 9.5s ease-in-out infinite; + } + .evnd__bg-glow--b { + bottom: -8%; left: -10%; + width: 52%; height: 46%; + background: radial-gradient(50% 50% at 50% 50%, color-mix(in srgb, var(--ca2) 55%, var(--cg)), transparent 72%); + opacity: 0.6; + animation: evndBreathe 11.5s ease-in-out infinite; + animation-delay: -4s; + } + @keyframes evndBreathe { + 0%,100% { opacity: 0.4; transform: scale(0.96); } + 50% { opacity: 0.85; transform: scale(1.06); } + } + + /* Layer D — data particles (sparse, slow drift) */ + .evnd__bg-particles span { + position: absolute; + width: 3px; height: 3px; + border-radius: 50%; + background: currentColor; + opacity: 0; + box-shadow: 0 0 6px currentColor; + animation-name: evndParticle; + animation-timing-function: ease-in-out; + animation-iteration-count: infinite; + } + @keyframes evndParticle { + 0% { opacity: 0; transform: translateY(8px); } + 20% { opacity: 0.5; } + 80% { opacity: 0.5; } + 100% { opacity: 0; transform: translateY(-22px); } + } + + .evnd__cards-head, + .evnd__cards-stage, + .evnd__cards-nav { position: relative; z-index: 1; } + + /* dashboard header row */ + .evnd__cards-head { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + padding-bottom: 4px; + } + .evnd__cards-live { + display: inline-flex; + align-items: center; + gap: 9px; + color: var(--ca) !important; + font-weight: 800; + font-size: 12px; + letter-spacing: 0.16em; + text-transform: uppercase; + } + .evnd__cards-livedot { + width: 8px; height: 8px; + border-radius: 50%; + background: var(--ca); + box-shadow: 0 0 0 0 var(--cg); + animation: evndPulse 1.8s ease-out infinite; + } + @keyframes evndPulse { + 0% { box-shadow: 0 0 0 0 var(--cg); opacity: 1; } + 70% { box-shadow: 0 0 0 8px transparent; opacity: 0.7; } + 100% { box-shadow: 0 0 0 0 transparent; opacity: 1; } + } + .evnd__cards-sys { + color: rgba(255,255,255,0.4) !important; + font-weight: 700; + font-size: 11px; + letter-spacing: 0.18em; + text-transform: uppercase; + } + + .evnd__cards-stage { display: grid; } + + .evnd__card { + grid-area: 1 / 1; + position: relative; + display: flex; + flex-direction: column; + opacity: 0; + transform: translateY(14px); + transition: opacity 0.6s ease, transform 0.6s cubic-bezier(.25,1,.5,1); + pointer-events: none; + } + .evnd__card.is-active { + opacity: 1; + transform: translateY(0); + pointer-events: auto; + } + + /* status pill */ + .evnd__card-status { + display: inline-flex; + align-items: center; + gap: 8px; + align-self: flex-start; + color: rgba(255,255,255,0.82) !important; + font-weight: 700; + font-size: 11px; + letter-spacing: 0.14em; + text-transform: uppercase; + padding: 7px 13px; + background: color-mix(in srgb, var(--ca) 12%, rgba(255,255,255,0.02)); + border: 1px solid color-mix(in srgb, var(--ca) 35%, transparent); + border-radius: 999px; + margin-bottom: 20px; + } + .evnd__card-statusdot { + width: 7px; height: 7px; + border-radius: 50%; + background: var(--ca); + box-shadow: 0 0 8px var(--ca); + animation: evndPulse 1.8s ease-out infinite; + } + + /* hero metric */ + .evnd__card-hero { + display: flex; + flex-direction: column; + gap: 4px; + margin-bottom: 22px; + } + .evnd__card-metric { + display: inline-flex; + align-items: baseline; + color: #fff !important; + font-weight: 800; + font-size: clamp(48px, 6vw, 68px); + line-height: 0.95; + letter-spacing: -0.02em; + background: linear-gradient(120deg, #fff 0%, var(--ca) 120%); + -webkit-background-clip: text; + background-clip: text; + -webkit-text-fill-color: transparent; + } + .evnd__card-metric i { + font-style: normal; + font-size: 0.5em; + font-weight: 800; + margin-left: 4px; + -webkit-text-fill-color: var(--ca); + color: var(--ca); + } + .evnd__card-metriclabel { + color: rgba(255,255,255,0.6) !important; + font-weight: 600; + font-size: 14px; + letter-spacing: 0.02em; + } + + .evnd__card-title { + color: #fff !important; + font-weight: 800 !important; + font-size: clamp(17px, 1.7vw, 20px) !important; + line-height: 1.2 !important; + letter-spacing: 0.02em; + text-transform: uppercase; + margin: 0 0 16px 0 !important; + } + + /* outcome indicators */ + .evnd__card-kpis { + list-style: none; + margin: 0 0 18px 0; + padding: 0; + display: grid; + gap: 11px; + } + .evnd__cards .evnd__card-kpis li { + display: flex; + align-items: center; + gap: 11px; + /* override the global ".logico-front-end ul li" padding + ::before glyph */ + padding: 0; + color: rgba(255,255,255,0.82) !important; + font-weight: 600; + font-size: 14px; + letter-spacing: 0.01em; + } + .evnd__cards .evnd__card-kpis li::before { content: none !important; display: none !important; } + .evnd__card-kpis svg { + flex: none; + width: 18px; height: 18px; + padding: 3px; + color: var(--ca); + background: color-mix(in srgb, var(--ca) 14%, transparent); + border: 1px solid color-mix(in srgb, var(--ca) 34%, transparent); + border-radius: 6px; + } + + .evnd__card-desc { + color: rgba(255,255,255,0.58) !important; + font-weight: 400 !important; + font-size: 15.5px !important; + line-height: 1.7 !important; + margin: 0 !important; + } + + .evnd__cards-nav { + display: flex; + align-items: center; + justify-content: space-between; + gap: 16px; + margin-top: 6px; + padding-top: 18px; + border-top: 1px solid rgba(255,255,255,0.06); + } + .evnd__cards-counter { + color: rgba(255,255,255,0.5) !important; + font-weight: 700; + font-size: 13px; + letter-spacing: 0.08em; + } + .evnd__cards-bars { display: flex; gap: 8px; } + .evnd__cards-bar { + width: 40px; + height: 3px; + border: none; + padding: 0; + background: rgba(255,255,255,0.15); + border-radius: 999px; + cursor: pointer; + transition: background-color 0.3s ease, width 0.3s ease; + } + .evnd__cards-bar.is-active { width: 56px; background: var(--ca); } + .evnd__cards-bar:hover { background: rgba(255,255,255,0.35); } + .evnd__cards-bar.is-active:hover { background: var(--ca); } + + @media (prefers-reduced-motion: reduce) { + .evnd__bg-flow, .evnd__bg-nodes circle, .evnd__bg-glow, .evnd__bg-particles span, + .evnd__cards-livedot, .evnd__card-statusdot { animation: none !important; } + .evnd__bg-particles span { opacity: 0.4; } + } + + /* ---- BOTTOM BAR ---- */ + .evnd__bar { + display: grid; + grid-template-columns: repeat(4, 1fr); + background: rgba(255,255,255,0.02); + border: 1px solid rgba(255,255,255,0.06); + border-radius: 16px; + overflow: hidden; + margin-top: 60px; + padding: 38px 0; + } + .evnd__bar-item { + position: relative; + display: flex; + flex-direction: column; + gap: 12px; + align-items: center; + justify-content: center; + text-align: center; + padding: 12px 24px; + } + .evnd__bar-item:not(:last-child)::after { + content: ''; + position: absolute; + right: 0; + top: 15%; + height: 70%; + width: 1px; + background: rgba(255, 255, 255, 0.08); + } + + .evnd__bar-val { + color: #ef4444 !important; + font-weight: 800; + font-size: clamp(32px, 4vw, 56px); + line-height: 1; + } + .evnd__bar-label { + color: #fff !important; + font-size: 14px; + font-weight: 600; + letter-spacing: 0.02em; + text-transform: none; + opacity: 0.9; + } + + @keyframes evndGlow { 0%,100% { opacity: 0.75; } 50% { opacity: 1; } } + + /* ---- Responsive ---- */ + @media (max-width: 1024px) { + .evnd-gap-top { margin-top: 32px !important; } + .evnd-gap-bottom { margin-bottom: 32px !important; } + } + @media (max-width: 991px) { + .evnd { padding: 48px 32px 56px; } + .evnd__grid { grid-template-columns: 1fr; gap: 40px; } + .evnd__title { margin-bottom: 28px; } + .evnd__features { gap: 14px; } + } + @media (max-width: 767px) { + .evnd-gap-top { margin-top: 24px !important; } + .evnd-gap-bottom { margin-bottom: 24px !important; } + /* Pull the KPI bar up close to the card (was a 60px desktop gap) so + there's no large vertical dead zone before the KPIs on mobile. */ + .evnd__bar { grid-template-columns: repeat(2, 1fr); gap: 24px 0; padding: 24px 0; margin-top: 24px; } + .evnd__bar-item:nth-child(even)::after { display: none; } + .evnd__bar-item:nth-child(2)::after { display: none; } + .evnd__bar-item { padding: 12px 16px; } + + /* ---- Scene overlay cleanup (mobile) ---- + Keep only the primary top-left KPI badge; the second (bottom-right) + badge duplicates info in the insight card and covers the route + visualization, so it is removed. The remaining badge is scaled down + (~0.72) so it never dominates the now-shorter scene. */ + .evnd__badge--br { display: none !important; } + .evnd__badge--tl { transform: scale(0.72); transform-origin: top left; } + + /* ---- Horizontal alignment (WF1 / WF2 only) ---- + The stacked scene column is a grid 1fr track whose auto-minimum + equals the Three.js canvas min-content (~244px). At 320px that floor + is wider than the available column, forcing the whole section ~18px + past its container (left-aligned) → unequal left/right gaps. + minmax(0,1fr) + min-width:0 let the scene/card columns shrink to the + container so the scene, card and KPI bar share one symmetric width and + centre perfectly. Scoped to .evnd__grid--cards (WF1/WF2), so the + homepage EV section is untouched. */ + .evnd__grid--cards { grid-template-columns: minmax(0, 1fr); } + .evnd__grid--cards .evnd__left, + .evnd__grid--cards .evnd__right, + .evnd__grid--cards .evnd__media, + .evnd__grid--cards .evnd__cards { min-width: 0; } + } + @media (max-width: 480px) { + .evnd { padding: 40px 16px 48px; } + /* keep the stat bar a compact 2\xd72 on phones (inherits the centre + divider from the ≤767 rules) instead of a tall single column */ + .evnd__bar { grid-template-columns: repeat(2, 1fr); gap: 18px 0; padding: 22px 0; } + .evnd__bar-item { padding: 10px 12px; gap: 8px; } + .evnd__bar-val { font-size: clamp(26px, 9vw, 34px); } + .evnd__bar-label { font-size: 12.5px; } + /* badge already scaled to 0.72 via the ≤767 rule — keep desktop + internals so the scale (not double-reduction) controls its size */ + + /* feature cards: tighter, no overflow, more room for text */ + .evnd-feature { + grid-template-columns: 40px minmax(0, 1fr); + gap: 14px; + padding: 18px 16px; + } + .evnd-feature__icon-container { width: 40px; height: 40px; border-radius: 10px; } + .evnd-icon { width: 20px; height: 20px; } + .evnd-feature__title { font-size: 14px !important; letter-spacing: 0.03em; margin: 2px 0 6px; padding-right: 22px; } + .evnd-feature__desc { font-size: 13px !important; line-height: 1.55 !important; } + /* arrow occupies its own slot to the right of the icon, no extra column */ + .evnd-feature__arrow { position: absolute; top: 16px; right: 16px; margin: 0; } + + /* ---- Compact mobile insight card (standard mobile, 390–480px). + Tighter spacing, smaller typography and a 2-line-clamped + description so the card stays ~380–480px tall and the KPI bar + is reached with far less scrolling. ---- */ + .evnd__cards { padding: 20px 18px 16px; gap: 14px; } + .evnd__cards-sys { display: none; } + .evnd__cards-head { padding-bottom: 0; } + .evnd__cards-live { font-size: 11px; } + .evnd__card-status { margin-bottom: 14px; padding: 6px 12px; font-size: 10.5px; } + .evnd__card-hero { margin-bottom: 12px; gap: 2px; } + .evnd__card-metric { font-size: clamp(38px, 12vw, 50px); } + .evnd__card-metriclabel { font-size: 13px; } + .evnd__card-title { font-size: 15px !important; margin: 0 0 12px 0 !important; } + .evnd__card-kpis { margin: 0; gap: 9px; } + .evnd__card-kpis li { font-size: 14px; } + .evnd__card-kpis svg { width: 17px; height: 17px; } + /* Drop the paragraph on mobile — the status, metric, title and + bullets carry the meaning; this is the single biggest height + saving and matches the compact mobile structure. */ + .evnd__card-desc { display: none; } + .evnd__cards-nav { margin-top: 14px; padding-top: 14px; } + .evnd__cards-bar { width: 30px; } + .evnd__cards-bar.is-active { width: 44px; } + } + /* ---- Medium mobile (≤389px, e.g. 360/375): a notch tighter ---- */ + @media (max-width: 389px) { + .evnd__cards { padding: 18px 16px 14px; gap: 12px; } + .evnd__card-status { margin-bottom: 12px; } + .evnd__card-hero { margin-bottom: 10px; } + .evnd__card-metric { font-size: clamp(36px, 11.5vw, 46px); } + .evnd__card-title { font-size: 14.5px !important; margin-bottom: 10px !important; } + .evnd__card-kpis { gap: 8px; } + .evnd__card-kpis li { font-size: 13.5px; } + .evnd__cards-nav { margin-top: 12px; padding-top: 12px; } + } + /* ---- Compact mobile (≤340px, e.g. 320): tightest. Drop the paragraph + entirely — the bullets carry the meaning — so nothing overflows. ---- */ + @media (max-width: 340px) { + .evnd__cards { padding: 16px 14px 12px; gap: 10px; } + .evnd__card-status { margin-bottom: 10px; padding: 5px 10px; font-size: 10px; letter-spacing: 0.1em; } + .evnd__card-hero { margin-bottom: 8px; } + .evnd__card-metric { font-size: 34px; } + .evnd__card-metriclabel { font-size: 12px; } + .evnd__card-title { font-size: 13.5px !important; margin-bottom: 8px !important; } + .evnd__card-kpis { gap: 7px; } + .evnd__card-kpis li { font-size: 13px; gap: 9px; } + .evnd__card-kpis svg { width: 16px; height: 16px; } + .evnd__cards-nav { margin-top: 10px; padding-top: 10px; } + } + `}}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-bbc6760 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent"+(b?" evnd-gap-top":"")+(y?" evnd-gap-bottom":""),"data-id":"bbc6760","data-element_type":"container","data-e-type":"container","aria-label":j,style:{backgroundColor:"#0d0d0d",width:"calc(100% - 40px)",marginLeft:"20px",marginRight:"20px",borderRadius:"25px",overflow:"hidden"},children:[(0,t.jsx)("div",{ref:R,className:"elementor-element elementor-element-7da6646 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"7da6646","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}',style:{backgroundPosition:"center 0px",backgroundImage:`url(${e})`,backgroundSize:"cover",backgroundRepeat:"no-repeat",position:"relative",zIndex:2,borderRadius:"25px 25px 0 0",overflow:"hidden"}}),(0,t.jsx)("div",{className:"elementor-element elementor-element-8b5d6e6 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"8b5d6e6","data-element_type":"container","data-e-type":"container",children:(0,t.jsxs)("div",{className:"elementor-element elementor-element-1f766ea e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"1f766ea","data-element_type":"container","data-e-type":"container",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-3b61435 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"3b61435","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}',children:[s&&(0,t.jsx)("div",{className:"elementor-element elementor-element-c364d1c elementor-widget elementor-widget-text-editor","data-id":"c364d1c","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:s})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-239afbb elementor-widget elementor-widget-logico_heading","data-id":"239afbb","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("h5",{className:"logico-title",children:c})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-0d307dd elementor-widget elementor-widget-text-editor","data-id":"0d307dd","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:m})})})]}),(0,t.jsx)("div",{className:"elementor-element elementor-element-5aea22e e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5aea22e","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}'})]})}),(0,t.jsx)("section",{className:"evnd","aria-label":j??"EV-Native Design",children:(0,t.jsxs)("div",{className:"evnd__inner",children:[(0,t.jsx)("span",{className:"evnd__eyebrow",children:p}),(0,t.jsxs)("h2",{className:"evnd__title",children:[g,(0,t.jsx)("span",{className:"accent",children:x})]}),(0,t.jsxs)("div",{className:`evnd__grid${A?" evnd__grid--cards":""}`,children:[(0,t.jsx)("div",{className:"evnd__left",children:(0,t.jsxs)("div",{className:"evnd__media",children:[(0,t.jsx)("div",{className:"evnd__glow"}),(0,t.jsxs)("div",{className:`evnd__imgwrap${N?" evnd__imgwrap--media":""}`,children:[N||(0,t.jsx)("img",{className:"evnd__img",src:v,alt:u,decoding:"async"}),w[0]&&(0,t.jsxs)("div",{className:"evnd__badge evnd__badge--tl",children:[(0,t.jsx)("b",{children:w[0].value}),(0,t.jsx)("span",{children:w[0].label})]}),w[1]&&(0,t.jsxs)("div",{className:"evnd__badge evnd__badge--br",children:[(0,t.jsx)("b",{children:w[1].value}),(0,t.jsx)("span",{children:w[1].label})]})]})]})}),(0,t.jsx)("div",{className:"evnd__right",children:A?(0,t.jsx)(h,{slides:k,heading:z,theme:S}):(0,t.jsx)("div",{className:"evnd__features",children:f.map(e=>(0,t.jsxs)("div",{className:"evnd-feature",children:[(0,t.jsx)("div",{className:"evnd-feature__icon-container","aria-hidden":"true",children:e.icon}),(0,t.jsxs)("div",{className:"evnd-feature__body",children:[(0,t.jsx)("div",{className:"evnd-feature__title",children:e.title}),(0,t.jsx)("p",{className:"evnd-feature__desc",children:e.desc})]}),(0,t.jsx)("span",{className:"evnd-feature__arrow","aria-hidden":"true",children:"↗"})]},e.title))})})]}),(0,t.jsx)("div",{className:"evnd__bar",children:_.map(e=>(0,t.jsxs)("div",{className:"evnd__bar-item",children:[(0,t.jsx)("span",{className:"evnd__bar-label",children:e.label}),(0,t.jsx)(o,{value:e.value,decimals:e.decimals,suffix:e.suffix,className:"evnd__bar-val"})]},e.label))})]})})]})]})}])},97677,e=>{"use strict";var t=e.i(43476),n=e.i(71645),i=e.i(89970),a=e.i(2018);e.s(["default",0,function(){let[e,r]=(0,n.useState)(0),d=(0,n.useRef)(null);(0,n.useEffect)(()=>{let e=setInterval(()=>{r(e=>+(0===e))},7e3);return()=>clearInterval(e)},[]);let l=e=>{r(e)};return(0,n.useEffect)(()=>{if(!d.current)return;let e=d.current.querySelector(".owl-item.active");if(!e)return;let t=e.querySelector(".heading-content"),n=e.querySelector(".text-content");t&&n&&(i.default.killTweensOf([t,n]),i.default.fromTo(t,{y:55,opacity:0,scale:.95},{y:0,opacity:1,scale:1,duration:1.1,ease:"power4.out"}),i.default.fromTo(n,{y:30,opacity:0},{y:0,opacity:1,duration:.95,ease:"power3.out",delay:.25}))},[e]),(0,t.jsxs)("div",{className:"elementor-element elementor-element-741f56c e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"741f56c","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:` + /* Fluid responsive font size override for hero headings */ + .logico-content-slider-widget .content-slider-item-heading { + font-size: clamp(30px, 5.5vw, 80px) !important; + word-wrap: break-word !important; + overflow-wrap: break-word !important; + white-space: normal !important; + } + + /* Prevent horizontal overflow on slider and stage containers */ + .logico-content-slider-widget, + .content-slider-wrapper, + .content-slider-container, + .content-slider, + .owl-stage-outer, + .owl-stage, + .owl-item, + .slider-item, + .slide-content, + .slide-content-inner { + width: 100% !important; + max-width: 100% !important; + box-sizing: border-box !important; + } + + /* Force word wrapping and responsive spacing for heading and text */ + .logico-content-slider-widget .content-slider-item-heading, + .logico-content-slider-widget .content-slider-item-heading span, + .logico-content-slider-widget .content-slider-item-heading .heading-content { + white-space: normal !important; + word-wrap: break-word !important; + overflow-wrap: break-word !important; + max-width: 100% !important; + } + + .logico-content-slider-widget .content-slider-item-heading { + padding-left: 15px !important; + padding-right: 15px !important; + } + + .logico-content-slider-widget .text-content { + width: 100% !important; + max-width: min(780px, 100%) !important; + box-sizing: border-box !important; + padding-left: 15px !important; + padding-right: 15px !important; + } + + /* Larger, more readable hero subtitle on large/4K screens */ + .logico-content-slider-widget .content-slider-item-text p { + font-size: clamp(16px, 1.35vw, 23px) !important; + line-height: 1.65 !important; + } + + /* Responsive slider heights */ + .logico-content-slider-widget .owl-stage-outer { + height: 800px !important; + } + + @media (max-width: 840px) { + .logico-content-slider-widget .owl-stage-outer { + height: 600px !important; + } + } + + @media (max-width: 480px) { + .logico-content-slider-widget .owl-stage-outer { + height: 520px !important; + } + } + + @media (max-width: 660px) { + .logico-content-slider-widget .content-slider-item-heading { + font-size: clamp(20px, 7vw, 32px) !important; + } + } + + /* Slide counter ("01/02" + progress line): site.css pushes it ~80px in + from the right and only 9px off the bottom on mobile, so it sits in an + awkward spot. Pin it cleanly to the bottom-right with even padding. */ + @media (max-width: 767px) { + .elementor-61 .elementor-element.elementor-element-6c7cbcb .slider-footer { + text-align: right !important; + margin-bottom: 24px !important; + } + .elementor-61 .elementor-element.elementor-element-6c7cbcb .slider-footer .slider-pagination { + justify-content: flex-end !important; + margin-left: 22px !important; + margin-right: 22px !important; + } + .elementor-61 .elementor-element.elementor-element-6c7cbcb .slider-progress-wrapper { + margin-right: 0 !important; + } + /* The prev/next arrows sit in the bottom-right corner and overlap the + counter once it's pinned right. Hide them on mobile — slides + auto-rotate and the counter shows progress. */ + .elementor-61 .elementor-element.elementor-element-6c7cbcb .owl-nav { + display: none !important; + } + } + `}}),(0,t.jsx)("div",{className:"elementor-element elementor-element-6c7cbcb elementor-widget elementor-widget-logico_content_slider","data-id":"6c7cbcb","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_content_slider.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-content-slider-widget",children:(0,t.jsx)("div",{className:"content-slider-wrapper",children:(0,t.jsx)("div",{className:"content-slider-container",children:(0,t.jsxs)("div",{className:"content-slider owl-carousel owl-theme nav-view-vertical nav-h-position-right nav-v-position-bottom owl-loaded owl-drag",ref:d,children:[(0,t.jsx)("div",{className:"owl-stage-outer",style:{position:"relative",overflow:"hidden"},children:(0,t.jsxs)("div",{className:"owl-stage",style:{position:"relative",width:"100%",height:"100%"},children:[(0,t.jsx)("div",{className:`owl-item ${0===e?"active":""}`,style:{position:"relative",width:"100%",opacity:+(0===e),visibility:0===e?"visible":"hidden",transition:"opacity 0.8s ease-in-out, visibility 0.8s ease-in-out",zIndex:0===e?2:1},children:(0,t.jsx)("div",{className:"content-item slider-item elementor-repeater-item-3264830 slide-style-standard",style:{backgroundImage:"url('/images/home-bg-1.png')",backgroundPosition:"center center",backgroundRepeat:"no-repeat",backgroundSize:"cover"},children:(0,t.jsx)("div",{className:"slide-content",style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",width:"100%",height:"100%"},children:(0,t.jsxs)("div",{className:"slide-content-inner",style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",textAlign:"center",margin:"0 auto",width:"100%",maxWidth:"1000px"},children:[(0,t.jsx)("h1",{className:"content-slider-item-heading logico-content-wrapper-1",style:{textAlign:"center",width:"100%"},children:(0,t.jsxs)("span",{className:"heading-content block",children:["ONE CONNECTED SYSTEM.",(0,t.jsx)("br",{}),(0,t.jsx)(a.ShimmerText,{className:"font-extrabold",children:"ONE PROMISE KEPT."})]})}),(0,t.jsx)("div",{className:"content-slider-item-text logico-content-wrapper-2",style:{display:"flex",justifyContent:"center",width:"100%",marginTop:"23px"},children:(0,t.jsx)("div",{className:"text-content",style:{textAlign:"center",maxWidth:"680px",margin:"0 auto"},children:(0,t.jsx)("p",{children:"Stop managing three separate logistics services. Doormile unifies first, mid and last mile into a single intelligent delivery system powered by MileTruth™ AI."})})})]})})})}),(0,t.jsx)("div",{className:`owl-item ${1===e?"active":""}`,style:{position:"absolute",top:0,left:0,width:"100%",opacity:+(1===e),visibility:1===e?"visible":"hidden",transition:"opacity 0.8s ease-in-out, visibility 0.8s ease-in-out",zIndex:1===e?2:1},children:(0,t.jsx)("div",{className:"content-item slider-item elementor-repeater-item-6867061 slide-style-standard",style:{backgroundImage:"url('/images/home-bg-1.png')",backgroundPosition:"center center",backgroundRepeat:"no-repeat",backgroundSize:"cover"},children:(0,t.jsx)("div",{className:"slide-content",style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",width:"100%",height:"100%"},children:(0,t.jsxs)("div",{className:"slide-content-inner",style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",textAlign:"center",margin:"0 auto",width:"100%",maxWidth:"1000px"},children:[(0,t.jsx)("h1",{className:"content-slider-item-heading logico-content-wrapper-1",style:{textAlign:"center",width:"100%"},children:(0,t.jsxs)("span",{className:"heading-content block",children:[(0,t.jsx)(a.ShimmerText,{className:"font-extrabold",children:"AI-POWERED"}),(0,t.jsx)("br",{}),"CONNECTED LOGISTICS"]})}),(0,t.jsx)("div",{className:"content-slider-item-text logico-content-wrapper-2",style:{display:"flex",justifyContent:"center",width:"100%",marginTop:"23px"},children:(0,t.jsx)("div",{className:"text-content",style:{textAlign:"center",maxWidth:"680px",margin:"0 auto"},children:(0,t.jsx)("p",{children:"Behind every successful business is a strong supply chain. Logistics turns plans into reality."})})})]})})})})]})}),(0,t.jsxs)("div",{className:"owl-nav",children:[(0,t.jsx)("button",{type:"button",className:"owl-next",onClick:()=>r(e=>+(0===e)),"aria-label":"Next",style:{cursor:"pointer",border:"none",outline:"none"}}),(0,t.jsx)("button",{type:"button",className:"owl-prev",onClick:()=>r(e=>+(0===e)),"aria-label":"Previous",style:{cursor:"pointer",border:"none",outline:"none"}})]}),(0,t.jsx)("div",{className:"slider-footer slider-footer-position-after slider-footer-width-full slider-footer-view-inside",children:(0,t.jsx)("div",{className:"slider-footer-content",children:(0,t.jsxs)("div",{className:"slider-pagination",style:{display:"flex",justifyContent:"flex-end",alignItems:"center"},children:[(0,t.jsxs)("div",{className:"slider-progress-wrapper",style:{marginRight:"35px",display:"flex",flexDirection:"column",alignItems:"flex-start"},children:[(0,t.jsxs)("div",{style:{fontSize:"16px",fontWeight:600,color:"#FFFFFF",marginBottom:"4px"},children:[(0,t.jsx)("span",{className:"slider-progress-current",children:0===e?"01":"02"})," / ",(0,t.jsx)("span",{className:"slider-progress-all",style:{opacity:.6},children:"02"})]}),(0,t.jsx)("div",{style:{width:"80px",height:"2px",background:"rgba(255, 255, 255, 0.2)",position:"relative",borderRadius:"1px",overflow:"hidden"},children:(0,t.jsx)("div",{style:{position:"absolute",left:0===e?"0":"50%",width:"50%",height:"100%",background:"#c01227",transition:"left 0.3s ease"}})})]}),(0,t.jsxs)("div",{className:"owl-dots owl-dots-6c7cbcb",style:{display:"none"},children:[(0,t.jsx)("button",{type:"button",className:`owl-dot ${0===e?"active":""}`,onClick:()=>l(0),children:(0,t.jsx)("span",{})}),(0,t.jsx)("button",{type:"button",className:`owl-dot ${1===e?"active":""}`,onClick:()=>l(1),children:(0,t.jsx)("span",{})})]})]})})})]})})})})})})]})}])},58140,e=>{"use strict";var t=e.i(43476),n=e.i(22016),i=e.i(2018);e.s(["default",0,function(){return(0,t.jsxs)(i.StaggerChildren,{stagger:.15,duration:.7,yOffset:30,className:"elementor-element elementor-element-9b26234 e-con-full e-grid cut-corner-no sticky-container-off e-con e-parent",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-ca6bc63 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child","data-id":"ca6bc63","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}',children:(0,t.jsxs)("div",{className:"e-con-inner",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-cc55905 elementor-widget-divider--view-line elementor-widget elementor-widget-divider","data-id":"cc55905","data-element_type":"widget","data-e-type":"widget","data-widget_type":"divider.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-divider",children:(0,t.jsx)("span",{className:"elementor-divider-separator"})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-3fb5639 elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"3fb5639","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"logico-title",children:[(0,t.jsx)(i.CountUp,{end:99.2,decimals:1,suffix:"%",duration:2.2})," ",(0,t.jsx)("br",{}),(0,t.jsx)("span",{style:{fontSize:"20px"},children:"On-Time Delivery"})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-94c3ff1 elementor-widget elementor-widget-logico_button","data-id":"94c3ff1","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_button.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"button-widget",children:(0,t.jsx)("div",{className:"button-container",children:(0,t.jsxs)(n.default,{href:"/solutions",className:"logico-small-button",children:["Connected Miles",(0,t.jsx)("svg",{viewBox:"0 0 13 20",children:(0,t.jsx)("polyline",{points:"0.5 19.5 3 19.5 12.5 10 3 0.5"})})]})})})})})]})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-4c0903b e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child","data-id":"4c0903b","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}',children:(0,t.jsxs)("div",{className:"e-con-inner",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-c8adeeb elementor-widget-divider--view-line elementor-widget elementor-widget-divider","data-id":"c8adeeb","data-element_type":"widget","data-e-type":"widget","data-widget_type":"divider.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-divider",children:(0,t.jsx)("span",{className:"elementor-divider-separator"})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-5e64d7b elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"5e64d7b","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"logico-title",children:[(0,t.jsx)(i.CountUp,{end:3,suffix:"x Faster",duration:1.8})," ",(0,t.jsx)("br",{}),(0,t.jsx)("span",{style:{fontSize:"20px"},children:"Faster Response"})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-20db156 elementor-widget elementor-widget-logico_button","data-id":"20db156","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_button.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"button-widget",children:(0,t.jsx)("div",{className:"button-container",children:(0,t.jsxs)(n.default,{href:"/miletruth",className:"logico-small-button",children:["MileTruth™ AI",(0,t.jsx)("svg",{viewBox:"0 0 13 20",children:(0,t.jsx)("polyline",{points:"0.5 19.5 3 19.5 12.5 10 3 0.5"})})]})})})})})]})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-f003242 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child","data-id":"f003242","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}',children:(0,t.jsxs)("div",{className:"e-con-inner",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-d58ef3c elementor-widget-divider--view-line elementor-widget elementor-widget-divider","data-id":"d58ef3c","data-element_type":"widget","data-e-type":"widget","data-widget_type":"divider.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-divider",children:(0,t.jsx)("span",{className:"elementor-divider-separator"})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-d00253e elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"d00253e","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"logico-title",children:[(0,t.jsx)(i.CountUp,{end:40,suffix:"%",duration:2})," ",(0,t.jsx)("br",{}),(0,t.jsx)("span",{style:{fontSize:"20px"},children:"Cost Reduction"})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-3481e66 elementor-widget elementor-widget-logico_button","data-id":"3481e66","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_button.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"button-widget",children:(0,t.jsx)("div",{className:"button-container",children:(0,t.jsxs)(n.default,{href:"/solutions",className:"logico-small-button",children:["SLA Protection",(0,t.jsx)("svg",{viewBox:"0 0 13 20",children:(0,t.jsx)("polyline",{points:"0.5 19.5 3 19.5 12.5 10 3 0.5"})})]})})})})})]})})]})}])},36854,e=>{"use strict";var t=e.i(43476),n=e.i(2018);e.s(["default",0,function(){return(0,t.jsx)("div",{className:"elementor-element elementor-element-30fd9d1 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent section-shrink-custom","data-id":"30fd9d1","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"e-con-inner",children:(0,t.jsxs)("div",{className:"elementor-element elementor-element-03db5d7 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"03db5d7","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)(n.ScrollReveal,{delay:.05,duration:.8,yOffset:20,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-3fe4ca3 elementor-widget elementor-widget-logico_heading","data-id":"3fe4ca3","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"/ The Problem /"})})})}),(0,t.jsx)(n.ScrollReveal,{delay:.15,duration:.85,yOffset:30,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-ffd1f7d elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"ffd1f7d","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("h3",{className:"logico-title",children:"Fragmented Logistics is Broken"})})})}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-e09c20e e-grid e-con-full cut-corner-no sticky-container-off e-con e-child","data-id":"e09c20e","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)(n.ScrollReveal,{delay:.1,duration:.7,yOffset:35,className:"w-full",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-81a7690 elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box","data-id":"81a7690","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon-box.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-icon-box-wrapper",children:[(0,t.jsx)("div",{className:"elementor-icon-box-icon",children:(0,t.jsx)("span",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-air-delivery"})})}),(0,t.jsx)("div",{className:"elementor-icon-box-content",children:(0,t.jsxs)("div",{className:"elementor-icon-box-title",children:[(0,t.jsx)("p",{className:"logico-title",style:{fontSize:"42px",fontWeight:800,color:"#111111",marginBottom:0,textAlign:"left",lineHeight:"1.1"},children:"73%"}),(0,t.jsx)("span",{style:{textAlign:"left",display:"block",fontSize:"16px",fontWeight:600,color:"#111111",marginTop:"8px",lineHeight:"1.4"},children:"of delays happen at handoffs"})]})})]})})})}),(0,t.jsx)(n.ScrollReveal,{delay:.2,duration:.7,yOffset:35,className:"w-full",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-0f4aa27 elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box","data-id":"0f4aa27","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon-box.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-icon-box-wrapper",children:[(0,t.jsx)("div",{className:"elementor-icon-box-icon",children:(0,t.jsx)("span",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-container"})})}),(0,t.jsx)("div",{className:"elementor-icon-box-content",children:(0,t.jsxs)("div",{className:"elementor-icon-box-title",children:[(0,t.jsx)("p",{className:"logico-title",style:{fontSize:"42px",fontWeight:800,color:"#111111",marginBottom:0,textAlign:"left",lineHeight:"1.1"},children:"3x"}),(0,t.jsx)("span",{style:{textAlign:"left",display:"block",fontSize:"16px",fontWeight:600,color:"#111111",marginTop:"8px",lineHeight:"1.4"},children:"higher risk of missed SLAs"})]})})]})})})}),(0,t.jsx)(n.ScrollReveal,{delay:.3,duration:.7,yOffset:35,className:"w-full",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-6cfd203 elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box","data-id":"6cfd203","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon-box.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-icon-box-wrapper",children:[(0,t.jsx)("div",{className:"elementor-icon-box-icon",children:(0,t.jsx)("span",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-trolley"})})}),(0,t.jsx)("div",{className:"elementor-icon-box-content",children:(0,t.jsxs)("div",{className:"elementor-icon-box-title",children:[(0,t.jsx)("p",{className:"logico-title",style:{fontSize:"42px",fontWeight:800,color:"#111111",marginBottom:0,textAlign:"left",lineHeight:"1.1"},children:"2.5x"}),(0,t.jsx)("span",{style:{textAlign:"left",display:"block",fontSize:"16px",fontWeight:600,color:"#111111",marginTop:"8px",lineHeight:"1.4"},children:"more time spent on coordination"})]})})]})})})}),(0,t.jsx)(n.ScrollReveal,{delay:.4,duration:.7,yOffset:35,className:"w-full",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-0d343e1 elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box","data-id":"0d343e1","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon-box.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-icon-box-wrapper",children:[(0,t.jsx)("div",{className:"elementor-icon-box-icon",children:(0,t.jsx)("span",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-supply-chain"})})}),(0,t.jsx)("div",{className:"elementor-icon-box-content",children:(0,t.jsxs)("div",{className:"elementor-icon-box-title",children:[(0,t.jsx)("p",{className:"logico-title",style:{fontSize:"42px",fontWeight:800,color:"#111111",marginBottom:0,textAlign:"left",lineHeight:"1.1"},children:"28%"}),(0,t.jsx)("span",{style:{textAlign:"left",display:"block",fontSize:"16px",fontWeight:600,color:"#111111",marginTop:"8px",lineHeight:"1.4"},children:"increase in operational costs"})]})})]})})})})]})]})})})}])},32693,e=>{"use strict";var t=e.i(43476),n=e.i(22016),i=e.i(57688),a=e.i(2018);e.s(["default",0,function(){return(0,t.jsxs)("div",{className:"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","data-e-type":"container",children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:` + /* Ensure the inner content wrapper is responsive and never overflows */ + .elementor-element-fdb2e58 { + width: 100% !important; + max-width: 650px !important; + } + + /* Make heading font size fluid and responsive */ + .elementor-element-7500280 .logico-title { + font-size: clamp(26px, 3.5vw, 54px) !important; + line-height: 1.25em !important; + word-wrap: break-word !important; + overflow-wrap: break-word !important; + } + + /* Make sure paragraphs are responsive on all screen widths */ + .elementor-element-165dfa5 { + width: 100% !important; + max-width: min(619px, 100%) !important; + } + .elementor-element-3888a1e { + width: 100% !important; + max-width: min(526px, 100%) !important; + } + + /* Desktop/Laptop (min-width: 1025px) column width and flex rules */ + @media (min-width: 1025px) { + .elementor-element-9ffed33 { + display: flex !important; + flex-direction: row !important; + flex-wrap: nowrap !important; + align-items: center !important; + } + + .elementor-element-96343ba, + .elementor-element-71c3e1d { + width: 50% !important; + max-width: 50% !important; + flex: 1 1 50% !important; + box-sizing: border-box !important; + } + } + + @media (max-width: 1024px) { + /* Force columns to stack vertically on mobile/tablet */ + .elementor-element-9ffed33 { + flex-direction: column !important; + align-items: stretch !important; + } + + /* Force both children to be full width */ + .elementor-element-96343ba, + .elementor-element-71c3e1d { + width: 100% !important; + max-width: 100% !important; + padding-left: 0 !important; + padding-right: 0 !important; + } + + /* Show image at the bottom or top depending on order */ + .elementor-element-96343ba { + margin-top: 30px !important; + } + + /* Override desktop fixed widths on mobile/tablet */ + .elementor-element-165dfa5, + .elementor-element-3888a1e { + width: 100% !important; + max-width: 100% !important; + } + } + `}}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-9ffed33 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"9ffed33","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}',children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-96343ba e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"96343ba","data-element_type":"container",children:(0,t.jsx)(a.ScrollReveal,{delay:.1,duration:.9,yOffset:30,className:"w-full h-full",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-99768ba elementor-widget elementor-widget-image","data-id":"99768ba","data-element_type":"widget","data-e-type":"widget","data-widget_type":"image.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)(i.default,{fetchPriority:"high",priority:!0,width:578,height:790,src:"/images/home2-pic-3.png",className:"attachment-full size-full wp-image-4481",alt:"Connected Logistics",style:{width:"100%",height:"auto",objectFit:"cover",borderRadius:"25px"}})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-71c3e1d e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"71c3e1d","data-element_type":"container","data-e-type":"container",children:(0,t.jsxs)("div",{className:"elementor-element elementor-element-fdb2e58 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"fdb2e58","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)(a.ScrollReveal,{delay:.1,duration:.8,yOffset:20,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-0136e6e elementor-widget elementor-widget-logico_heading","data-id":"0136e6e","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"/ Connected Logistics /"})})})}),(0,t.jsx)(a.ScrollReveal,{delay:.2,duration:.85,yOffset:25,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-7500280 elementor-widget elementor-widget-logico_heading","data-id":"7500280","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("h3",{className:"logico-title",children:"Smart logistics solutions we deliver for modern supply chains"})})})}),(0,t.jsxs)(a.ScrollReveal,{delay:.25,duration:.8,yOffset:25,children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-4cc07a7 elementor-widget elementor-widget-logico_heading","data-id":"4cc07a7","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Real-Time Visibility"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-165dfa5 elementor-widget__width-initial elementor-widget elementor-widget-text-editor","data-id":"165dfa5","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"See every shipment, every vehicle, every handoff—live. No blind spots."})})})]}),(0,t.jsxs)(a.ScrollReveal,{delay:.35,duration:.8,yOffset:25,children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-da9d310 elementor-widget elementor-widget-logico_heading","data-id":"da9d310","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Dynamic Route Adjustment"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-3888a1e elementor-widget__width-initial elementor-widget elementor-widget-text-editor","data-id":"3888a1e","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"AI continuously optimizes routes based on traffic, weather, and real-world conditions."})})})]}),(0,t.jsxs)(a.ScrollReveal,{delay:.45,duration:.8,yOffset:25,children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-4cc07a7 elementor-widget elementor-widget-logico_heading","data-id":"4cc07a7","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Proactive Delay Prevention"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-165dfa5 elementor-widget__width-initial elementor-widget elementor-widget-text-editor","data-id":"165dfa5","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"Detect SLA risks hours before they become problems. Act, don't react."})})})]}),(0,t.jsxs)(a.ScrollReveal,{delay:.55,duration:.8,yOffset:25,children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-4cc07a7 elementor-widget elementor-widget-logico_heading","data-id":"4cc07a7","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Execution Intelligence"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-165dfa5 elementor-widget__width-initial elementor-widget elementor-widget-text-editor","data-id":"165dfa5","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"Learn from every delivery. Get smarter with every mile traveled."})})})]}),(0,t.jsx)(a.ScrollReveal,{delay:.65,duration:.8,yOffset:20,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-c0a45e4 elementor-widget elementor-widget-logico_button","data-id":"c0a45e4","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_button.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"button-widget",children:(0,t.jsx)("div",{className:"button-container",children:(0,t.jsx)(a.Magnetic,{children:(0,t.jsx)(n.default,{href:"/solutions",className:"logico-alter-button",children:"Explore more"})})})})})})})]})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-0efc59e elementor-absolute elementor-widget elementor-widget-logico_block_decoration","data-id":"0efc59e","data-element_type":"widget","data-settings":'{"_position":"absolute"}',"data-widget_type":"logico_block_decoration.default",style:{position:"absolute"},children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"block-decoration animation-enable block-decoration-style-1",children:(0,t.jsx)("div",{className:"block-decoration-item"})})})})]})]})}])}]); \ No newline at end of file diff --git a/build/_next/static/chunks/00p7g7z6lnrfl.js b/build/_next/static/chunks/00p7g7z6lnrfl.js deleted file mode 100644 index bafb450..0000000 --- a/build/_next/static/chunks/00p7g7z6lnrfl.js +++ /dev/null @@ -1,31 +0,0 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,90317,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={bindSnapshot:function(){return l},createAsyncLocalStorage:function(){return a},createSnapshot:function(){return c}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class u{disable(){throw i}getStore(){}run(){throw i}exit(){throw i}enterWith(){throw i}static bind(e){return e}}let s="u">typeof globalThis&&globalThis.AsyncLocalStorage;function a(){return s?new s:new u}function l(e){return s?s.bind(e):u.bind(e)}function c(){return s?s.snapshot():function(e,...t){return e(...t)}}},35451,(e,t,r)=>{var n={229:function(e){var t,r,n,o=e.exports={};function i(){throw Error("setTimeout has not been defined")}function u(){throw Error("clearTimeout has not been defined")}try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:u}catch(e){r=u}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}var a=[],l=!1,c=-1;function f(){l&&n&&(l=!1,n.length?a=n.concat(a):c=-1,a.length&&d())}function d(){if(!l){var e=s(f);l=!0;for(var t=a.length;t;){for(n=a,a=[];++c1)for(var r=1;r{"use strict";var n,o;t.exports=(null==(n=e.g.process)?void 0:n.env)&&"object"==typeof(null==(o=e.g.process)?void 0:o.env)?e.g.process:e.r(35451)},45689,(e,t,r)=>{"use strict";var n=Symbol.for("react.transitional.element");function o(e,t,r){var o=null;if(void 0!==r&&(o=""+r),void 0!==t.key&&(o=""+t.key),"key"in t)for(var i in r={},t)"key"!==i&&(r[i]=t[i]);else r=t;return{$$typeof:n,type:e,key:o,ref:void 0!==(t=r.ref)?t:null,props:r}}r.Fragment=Symbol.for("react.fragment"),r.jsx=o,r.jsxs=o},43476,(e,t,r)=>{"use strict";t.exports=e.r(45689)},50740,(e,t,r)=>{"use strict";var n=e.i(47167),o=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),c=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),g=Symbol.for("react.activity"),h=Symbol.for("react.view_transition"),_=Symbol.iterator,b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,m={};function x(e,t,r){this.props=e,this.context=t,this.refs=m,this.updater=r||b}function O(){}function S(e,t,r){this.props=e,this.context=t,this.refs=m,this.updater=r||b}x.prototype.isReactComponent={},x.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},x.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},O.prototype=x.prototype;var j=S.prototype=new O;j.constructor=S,v(j,x.prototype),j.isPureReactComponent=!0;var E=Array.isArray;function T(){}var w={H:null,A:null,T:null,S:null},R=Object.prototype.hasOwnProperty;function P(e,t,r){var n=r.ref;return{$$typeof:o,type:e,key:t,ref:void 0!==n?n:null,props:r}}function A(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var M=/\/+/g;function C(e,t){var r,n;return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,n={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,function(e){return n[e]})):t.toString(36)}function k(e,t,r){if(null==e)return e;var n=[],u=0;return!function e(t,r,n,u,s){var a,l,c,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case o:case i:d=!0;break;case y:return e((d=t._init)(t._payload),r,n,u,s)}}if(d)return s=s(t),d=""===u?"."+C(t,0):u,E(s)?(n="",null!=d&&(n=d.replace(M,"$&/")+"/"),e(s,r,n,"",function(e){return e})):null!=s&&(A(s)&&(a=s,l=n+(null==s.key||t&&t.key===s.key?"":(""+s.key).replace(M,"$&/")+"/")+d,s=P(a.type,l,a.props)),r.push(s)),1;d=0;var p=""===u?".":u+":";if(E(t))for(var g=0;g{"use strict";t.exports=e.r(50740)},18800,(e,t,r)=>{"use strict";var n=e.r(71645);function o(e){var t="https://react.dev/errors/"+e;if(1{"use strict";!function e(){if("u">typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),t.exports=e.r(18800)},55682,(e,t,r)=>{"use strict";r._=function(e){return e&&e.__esModule?e:{default:e}}},43369,(e,t,r)=>{"use strict";let n;Object.defineProperty(r,"__esModule",{value:!0});var o={getAssetToken:function(){return a},getAssetTokenQuery:function(){return l},getDeploymentId:function(){return u},getDeploymentIdQuery:function(){return s}};for(var i in o)Object.defineProperty(r,i,{enumerable:!0,get:o[i]});function u(){return n}function s(e=!1){let t=n;return t?`${e?"&":"?"}dpl=${t}`:""}function a(){return!1}function l(e=!1){return""}"u">typeof window?(n=document.documentElement.dataset.dplId,delete document.documentElement.dataset.dplId):n=void 0},90809,(e,t,r)=>{"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}r._=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var s=i?Object.getOwnPropertyDescriptor(e,u):null;s&&(s.get||s.set)?Object.defineProperty(o,u,s):o[u]=e[u]}return o.default=e,r&&r.set(e,o),o}},42344,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},63599,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=e.r(42344)},32061,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={BailoutToCSRError:function(){return u},isBailoutToCSRError:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i="BAILOUT_TO_CLIENT_SIDE_RENDERING";class u extends Error{constructor(e){super(`Bail out to client-side rendering: ${e}`),this.reason=e,this.digest=i}}function s(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===i}},12354,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"handleISRError",{enumerable:!0,get:function(){return o}});let n="u"{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useUntrackedPathname",{enumerable:!0,get:function(){return i}});let n=e.r(71645),o=e.r(61994);function i(){return!function(){if("u"0}}return!1}()?(0,n.useContext)(o.PathnameContext):null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},78377,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={handleHardNavError:function(){return u},useNavFailureHandler:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});e.r(71645);let i=e.r(51191);function u(e){return!!(e&&"u">typeof window)&&!!window.next.__pendingUrl&&(0,i.createHrefFromUrl)(new URL(window.location.href))!==(0,i.createHrefFromUrl)(window.next.__pendingUrl)&&(console.error("Error occurred during navigation, falling back to hard navigation",e),window.location.href=window.next.__pendingUrl.toString(),!0)}function s(){}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},72383,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ErrorBoundary:function(){return g},ErrorBoundaryHandler:function(){return y}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(90809),u=e.r(43476),s=i._(e.r(71645)),a=e.r(90373),l=e.r(65713);e.r(78377);let c=e.r(12354),f=e.r(82604),d=e.r(8372),p="u">typeof window&&(0,f.isBot)(window.navigator.userAgent);class y extends s.default.Component{static{this.contextType=d.AppRouterContext}constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.unstable_retry=()=>{(0,s.startTransition)(()=>{this.context?.refresh(),this.reset()})},this.state={error:null,previousPathname:this.props.pathname}}static getDerivedStateFromError(e){if((0,l.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){let{error:r}=t;return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error&&!p?((0,c.handleISRError)({error:this.state.error}),(0,u.jsxs)(u.Fragment,{children:[this.props.errorStyles,this.props.errorScripts,(0,u.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset,unstable_retry:this.unstable_retry})]})):this.props.children}}function g({errorComponent:e,errorStyles:t,errorScripts:r,children:n}){let o=(0,a.useUntrackedPathname)();return e?(0,u.jsx)(y,{pathname:o,errorComponent:e,errorStyles:t,errorScripts:r,children:n}):(0,u.jsx)(u.Fragment,{children:n})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},58442,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={RedirectBoundary:function(){return p},RedirectErrorBoundary:function(){return d}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(90809),u=e.r(43476),s=i._(e.r(71645)),a=e.r(76562),l=e.r(24063),c=e.r(68391);function f({redirect:e,reset:t,redirectType:r}){let n=(0,a.useRouter)();return(0,s.useEffect)(()=>{s.default.startTransition(()=>{"push"===r?n.push(e,{}):n.replace(e,{}),t()})},[e,r,t,n]),null}class d extends s.default.Component{constructor(e){super(e),this.state={redirect:null,redirectType:null}}static getDerivedStateFromError(e){if((0,c.isRedirectError)(e)){let t=(0,l.getURLFromRedirectError)(e),r=(0,l.getRedirectTypeFromError)(e);return"handled"in e?{redirect:null,redirectType:null}:{redirect:t,redirectType:r}}throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,u.jsx)(f,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}}function p({children:e}){let t=(0,a.useRouter)();return(0,u.jsx)(d,{router:t,children:e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},70725,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRouterCacheKey",{enumerable:!0,get:function(){return o}});let n=e.r(13258);function o(e,t=!1){return Array.isArray(e)?`${e[0]}|${e[1]}|${e[2]}`:t&&e.startsWith(n.PAGE_SEGMENT_KEY)?n.PAGE_SEGMENT_KEY:e}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},1244,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unresolvedThenable",{enumerable:!0,get:function(){return n}});let n={then:()=>{}};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},97367,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={MetadataBoundary:function(){return s},OutletBoundary:function(){return l},RootLayoutBoundary:function(){return c},ViewportBoundary:function(){return a}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(54839),u={[i.METADATA_BOUNDARY_NAME]:function({children:e}){return e},[i.VIEWPORT_BOUNDARY_NAME]:function({children:e}){return e},[i.OUTLET_BOUNDARY_NAME]:function({children:e}){return e},[i.ROOT_LAYOUT_BOUNDARY_NAME]:function({children:e}){return e}},s=u[i.METADATA_BOUNDARY_NAME.slice(0)],a=u[i.VIEWPORT_BOUNDARY_NAME.slice(0)],l=u[i.OUTLET_BOUNDARY_NAME.slice(0)],c=u[i.ROOT_LAYOUT_BOUNDARY_NAME.slice(0)]},42732,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=e.r(55682)._(e.r(71645)).default.createContext({})},18576,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={WarningIcon:function(){return a},errorStyles:function(){return u},errorThemeCss:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});e.r(55682);let i=e.r(43476);e.r(71645);let u={container:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",display:"flex",alignItems:"center",justifyContent:"center"},card:{marginTop:"-32px",maxWidth:"325px",padding:"32px 28px",textAlign:"left"},icon:{marginBottom:"24px"},title:{fontSize:"24px",fontWeight:500,letterSpacing:"-0.02em",lineHeight:"32px",margin:"0 0 12px 0",color:"var(--next-error-title)"},message:{fontSize:"14px",fontWeight:400,lineHeight:"21px",margin:"0 0 20px 0",color:"var(--next-error-message)"},form:{margin:0},buttonGroup:{display:"flex",gap:"8px",alignItems:"center"},button:{display:"inline-flex",alignItems:"center",justifyContent:"center",height:"32px",padding:"0 12px",fontSize:"14px",fontWeight:500,lineHeight:"20px",borderRadius:"6px",cursor:"pointer",color:"var(--next-error-btn-text)",background:"var(--next-error-btn-bg)",border:"var(--next-error-btn-border)"},buttonSecondary:{display:"inline-flex",alignItems:"center",justifyContent:"center",height:"32px",padding:"0 12px",fontSize:"14px",fontWeight:500,lineHeight:"20px",borderRadius:"6px",cursor:"pointer",color:"var(--next-error-btn-secondary-text)",background:"var(--next-error-btn-secondary-bg)",border:"var(--next-error-btn-secondary-border)"},digestFooter:{position:"fixed",bottom:"32px",left:"0",right:"0",textAlign:"center",fontFamily:'ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace',fontSize:"12px",lineHeight:"18px",fontWeight:400,margin:"0",color:"var(--next-error-digest)"}},s=` -:root { - --next-error-bg: #fff; - --next-error-text: #171717; - --next-error-title: #171717; - --next-error-message: #171717; - --next-error-digest: #666666; - --next-error-btn-text: #fff; - --next-error-btn-bg: #171717; - --next-error-btn-border: none; - --next-error-btn-secondary-text: #171717; - --next-error-btn-secondary-bg: transparent; - --next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08); -} -@media (prefers-color-scheme: dark) { - :root { - --next-error-bg: #0a0a0a; - --next-error-text: #ededed; - --next-error-title: #ededed; - --next-error-message: #ededed; - --next-error-digest: #a0a0a0; - --next-error-btn-text: #0a0a0a; - --next-error-btn-bg: #ededed; - --next-error-btn-border: none; - --next-error-btn-secondary-text: #ededed; - --next-error-btn-secondary-bg: transparent; - --next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14); - } -} -body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); } -`.replace(/\n\s*/g,"");function a(){return(0,i.jsx)("svg",{width:"32",height:"32",viewBox:"-0.2 -1.5 32 32",fill:"none",style:u.icon,children:(0,i.jsx)("path",{d:"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z",fill:"var(--next-error-title)"})})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68027,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return u}}),e.r(55682);let n=e.r(43476);e.r(71645);let o=e.r(12354),i=e.r(18576),u=function({error:e}){let t=e?.digest,r=!!t;return(0,o.handleISRError)({error:e}),(0,n.jsxs)("html",{id:"__next_error__",children:[(0,n.jsx)("head",{children:(0,n.jsx)("style",{dangerouslySetInnerHTML:{__html:i.errorThemeCss}})}),(0,n.jsxs)("body",{children:[(0,n.jsx)("div",{style:i.errorStyles.container,children:(0,n.jsxs)("div",{style:i.errorStyles.card,children:[(0,n.jsx)(i.WarningIcon,{}),(0,n.jsx)("h1",{style:i.errorStyles.title,children:"This page couldn’t load"}),(0,n.jsx)("p",{style:i.errorStyles.message,children:r?"A server error occurred. Reload to try again.":"Reload to try again, or go back."}),(0,n.jsxs)("div",{style:i.errorStyles.buttonGroup,children:[(0,n.jsx)("form",{style:i.errorStyles.form,children:(0,n.jsx)("button",{type:"submit",style:i.errorStyles.button,children:"Reload"})}),!r&&(0,n.jsx)("button",{type:"button",style:i.errorStyles.buttonSecondary,onClick:()=>{window.history.length>1?window.history.back():window.location.href="/"},children:"Back"})]})]})}),t&&(0,n.jsxs)("p",{style:i.errorStyles.digestFooter,children:["ERROR ",t]})]})]})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)}]); \ No newline at end of file diff --git a/build/_next/static/chunks/02wozf8tof0sv.js b/build/_next/static/chunks/02wozf8tof0sv.js new file mode 100644 index 0000000..32a6ec6 --- /dev/null +++ b/build/_next/static/chunks/02wozf8tof0sv.js @@ -0,0 +1,31 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,55682,(e,t,r)=>{"use strict";r._=function(e){return e&&e.__esModule?e:{default:e}}},90317,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={bindSnapshot:function(){return l},createAsyncLocalStorage:function(){return a},createSnapshot:function(){return c}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class u{disable(){throw i}getStore(){}run(){throw i}exit(){throw i}enterWith(){throw i}static bind(e){return e}}let s="u">typeof globalThis&&globalThis.AsyncLocalStorage;function a(){return s?new s:new u}function l(e){return s?s.bind(e):u.bind(e)}function c(){return s?s.snapshot():function(e,...t){return e(...t)}}},35451,(e,t,r)=>{var n={229:function(e){var t,r,n,o=e.exports={};function i(){throw Error("setTimeout has not been defined")}function u(){throw Error("clearTimeout has not been defined")}try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:u}catch(e){r=u}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}var a=[],l=!1,c=-1;function f(){l&&n&&(l=!1,n.length?a=n.concat(a):c=-1,a.length&&d())}function d(){if(!l){var e=s(f);l=!0;for(var t=a.length;t;){for(n=a,a=[];++c1)for(var r=1;r{"use strict";var n,o;t.exports=(null==(n=e.g.process)?void 0:n.env)&&"object"==typeof(null==(o=e.g.process)?void 0:o.env)?e.g.process:e.r(35451)},45689,(e,t,r)=>{"use strict";var n=Symbol.for("react.transitional.element");function o(e,t,r){var o=null;if(void 0!==r&&(o=""+r),void 0!==t.key&&(o=""+t.key),"key"in t)for(var i in r={},t)"key"!==i&&(r[i]=t[i]);else r=t;return{$$typeof:n,type:e,key:o,ref:void 0!==(t=r.ref)?t:null,props:r}}r.Fragment=Symbol.for("react.fragment"),r.jsx=o,r.jsxs=o},43476,(e,t,r)=>{"use strict";t.exports=e.r(45689)},50740,(e,t,r)=>{"use strict";var n=e.i(47167),o=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),c=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),g=Symbol.for("react.activity"),h=Symbol.for("react.view_transition"),_=Symbol.iterator,b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,m={};function x(e,t,r){this.props=e,this.context=t,this.refs=m,this.updater=r||b}function O(){}function S(e,t,r){this.props=e,this.context=t,this.refs=m,this.updater=r||b}x.prototype.isReactComponent={},x.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},x.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},O.prototype=x.prototype;var j=S.prototype=new O;j.constructor=S,v(j,x.prototype),j.isPureReactComponent=!0;var E=Array.isArray;function T(){}var w={H:null,A:null,T:null,S:null},R=Object.prototype.hasOwnProperty;function P(e,t,r){var n=r.ref;return{$$typeof:o,type:e,key:t,ref:void 0!==n?n:null,props:r}}function A(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var M=/\/+/g;function C(e,t){var r,n;return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,n={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,function(e){return n[e]})):t.toString(36)}function k(e,t,r){if(null==e)return e;var n=[],u=0;return!function e(t,r,n,u,s){var a,l,c,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case o:case i:d=!0;break;case y:return e((d=t._init)(t._payload),r,n,u,s)}}if(d)return s=s(t),d=""===u?"."+C(t,0):u,E(s)?(n="",null!=d&&(n=d.replace(M,"$&/")+"/"),e(s,r,n,"",function(e){return e})):null!=s&&(A(s)&&(a=s,l=n+(null==s.key||t&&t.key===s.key?"":(""+s.key).replace(M,"$&/")+"/")+d,s=P(a.type,l,a.props)),r.push(s)),1;d=0;var p=""===u?".":u+":";if(E(t))for(var g=0;g{"use strict";t.exports=e.r(50740)},18800,(e,t,r)=>{"use strict";var n=e.r(71645);function o(e){var t="https://react.dev/errors/"+e;if(1{"use strict";!function e(){if("u">typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),t.exports=e.r(18800)},43369,(e,t,r)=>{"use strict";let n;Object.defineProperty(r,"__esModule",{value:!0});var o={getAssetToken:function(){return a},getAssetTokenQuery:function(){return l},getDeploymentId:function(){return u},getDeploymentIdQuery:function(){return s}};for(var i in o)Object.defineProperty(r,i,{enumerable:!0,get:o[i]});function u(){return n}function s(e=!1){let t=n;return t?`${e?"&":"?"}dpl=${t}`:""}function a(){return!1}function l(e=!1){return""}"u">typeof window?(n=document.documentElement.dataset.dplId,delete document.documentElement.dataset.dplId):n=void 0},90809,(e,t,r)=>{"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}r._=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var s=i?Object.getOwnPropertyDescriptor(e,u):null;s&&(s.get||s.set)?Object.defineProperty(o,u,s):o[u]=e[u]}return o.default=e,r&&r.set(e,o),o}},42344,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},63599,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=e.r(42344)},32061,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={BailoutToCSRError:function(){return u},isBailoutToCSRError:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i="BAILOUT_TO_CLIENT_SIDE_RENDERING";class u extends Error{constructor(e){super(`Bail out to client-side rendering: ${e}`),this.reason=e,this.digest=i}}function s(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===i}},12354,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"handleISRError",{enumerable:!0,get:function(){return o}});let n="u"{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useUntrackedPathname",{enumerable:!0,get:function(){return i}});let n=e.r(71645),o=e.r(61994);function i(){return!function(){if("u"0}}return!1}()?(0,n.useContext)(o.PathnameContext):null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},78377,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={handleHardNavError:function(){return u},useNavFailureHandler:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});e.r(71645);let i=e.r(51191);function u(e){return!!(e&&"u">typeof window)&&!!window.next.__pendingUrl&&(0,i.createHrefFromUrl)(new URL(window.location.href))!==(0,i.createHrefFromUrl)(window.next.__pendingUrl)&&(console.error("Error occurred during navigation, falling back to hard navigation",e),window.location.href=window.next.__pendingUrl.toString(),!0)}function s(){}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},72383,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ErrorBoundary:function(){return g},ErrorBoundaryHandler:function(){return y}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(90809),u=e.r(43476),s=i._(e.r(71645)),a=e.r(90373),l=e.r(65713);e.r(78377);let c=e.r(12354),f=e.r(82604),d=e.r(8372),p="u">typeof window&&(0,f.isBot)(window.navigator.userAgent);class y extends s.default.Component{static{this.contextType=d.AppRouterContext}constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.unstable_retry=()=>{(0,s.startTransition)(()=>{this.context?.refresh(),this.reset()})},this.state={error:null,previousPathname:this.props.pathname}}static getDerivedStateFromError(e){if((0,l.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){let{error:r}=t;return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error&&!p?((0,c.handleISRError)({error:this.state.error}),(0,u.jsxs)(u.Fragment,{children:[this.props.errorStyles,this.props.errorScripts,(0,u.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset,unstable_retry:this.unstable_retry})]})):this.props.children}}function g({errorComponent:e,errorStyles:t,errorScripts:r,children:n}){let o=(0,a.useUntrackedPathname)();return e?(0,u.jsx)(y,{pathname:o,errorComponent:e,errorStyles:t,errorScripts:r,children:n}):(0,u.jsx)(u.Fragment,{children:n})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},58442,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={RedirectBoundary:function(){return p},RedirectErrorBoundary:function(){return d}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(90809),u=e.r(43476),s=i._(e.r(71645)),a=e.r(76562),l=e.r(24063),c=e.r(68391);function f({redirect:e,reset:t,redirectType:r}){let n=(0,a.useRouter)();return(0,s.useEffect)(()=>{s.default.startTransition(()=>{"push"===r?n.push(e,{}):n.replace(e,{}),t()})},[e,r,t,n]),null}class d extends s.default.Component{constructor(e){super(e),this.state={redirect:null,redirectType:null}}static getDerivedStateFromError(e){if((0,c.isRedirectError)(e)){let t=(0,l.getURLFromRedirectError)(e),r=(0,l.getRedirectTypeFromError)(e);return"handled"in e?{redirect:null,redirectType:null}:{redirect:t,redirectType:r}}throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,u.jsx)(f,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}}function p({children:e}){let t=(0,a.useRouter)();return(0,u.jsx)(d,{router:t,children:e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},70725,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRouterCacheKey",{enumerable:!0,get:function(){return o}});let n=e.r(13258);function o(e,t=!1){return Array.isArray(e)?`${e[0]}|${e[1]}|${e[2]}`:t&&e.startsWith(n.PAGE_SEGMENT_KEY)?n.PAGE_SEGMENT_KEY:e}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},1244,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unresolvedThenable",{enumerable:!0,get:function(){return n}});let n={then:()=>{}};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},97367,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={MetadataBoundary:function(){return s},OutletBoundary:function(){return l},RootLayoutBoundary:function(){return c},ViewportBoundary:function(){return a}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let i=e.r(54839),u={[i.METADATA_BOUNDARY_NAME]:function({children:e}){return e},[i.VIEWPORT_BOUNDARY_NAME]:function({children:e}){return e},[i.OUTLET_BOUNDARY_NAME]:function({children:e}){return e},[i.ROOT_LAYOUT_BOUNDARY_NAME]:function({children:e}){return e}},s=u[i.METADATA_BOUNDARY_NAME.slice(0)],a=u[i.VIEWPORT_BOUNDARY_NAME.slice(0)],l=u[i.OUTLET_BOUNDARY_NAME.slice(0)],c=u[i.ROOT_LAYOUT_BOUNDARY_NAME.slice(0)]},42732,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=e.r(55682)._(e.r(71645)).default.createContext({})},18576,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={WarningIcon:function(){return a},errorStyles:function(){return u},errorThemeCss:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});e.r(55682);let i=e.r(43476);e.r(71645);let u={container:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",display:"flex",alignItems:"center",justifyContent:"center"},card:{marginTop:"-32px",maxWidth:"325px",padding:"32px 28px",textAlign:"left"},icon:{marginBottom:"24px"},title:{fontSize:"24px",fontWeight:500,letterSpacing:"-0.02em",lineHeight:"32px",margin:"0 0 12px 0",color:"var(--next-error-title)"},message:{fontSize:"14px",fontWeight:400,lineHeight:"21px",margin:"0 0 20px 0",color:"var(--next-error-message)"},form:{margin:0},buttonGroup:{display:"flex",gap:"8px",alignItems:"center"},button:{display:"inline-flex",alignItems:"center",justifyContent:"center",height:"32px",padding:"0 12px",fontSize:"14px",fontWeight:500,lineHeight:"20px",borderRadius:"6px",cursor:"pointer",color:"var(--next-error-btn-text)",background:"var(--next-error-btn-bg)",border:"var(--next-error-btn-border)"},buttonSecondary:{display:"inline-flex",alignItems:"center",justifyContent:"center",height:"32px",padding:"0 12px",fontSize:"14px",fontWeight:500,lineHeight:"20px",borderRadius:"6px",cursor:"pointer",color:"var(--next-error-btn-secondary-text)",background:"var(--next-error-btn-secondary-bg)",border:"var(--next-error-btn-secondary-border)"},digestFooter:{position:"fixed",bottom:"32px",left:"0",right:"0",textAlign:"center",fontFamily:'ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace',fontSize:"12px",lineHeight:"18px",fontWeight:400,margin:"0",color:"var(--next-error-digest)"}},s=` +:root { + --next-error-bg: #fff; + --next-error-text: #171717; + --next-error-title: #171717; + --next-error-message: #171717; + --next-error-digest: #666666; + --next-error-btn-text: #fff; + --next-error-btn-bg: #171717; + --next-error-btn-border: none; + --next-error-btn-secondary-text: #171717; + --next-error-btn-secondary-bg: transparent; + --next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08); +} +@media (prefers-color-scheme: dark) { + :root { + --next-error-bg: #0a0a0a; + --next-error-text: #ededed; + --next-error-title: #ededed; + --next-error-message: #ededed; + --next-error-digest: #a0a0a0; + --next-error-btn-text: #0a0a0a; + --next-error-btn-bg: #ededed; + --next-error-btn-border: none; + --next-error-btn-secondary-text: #ededed; + --next-error-btn-secondary-bg: transparent; + --next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14); + } +} +body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); } +`.replace(/\n\s*/g,"");function a(){return(0,i.jsx)("svg",{width:"32",height:"32",viewBox:"-0.2 -1.5 32 32",fill:"none",style:u.icon,children:(0,i.jsx)("path",{d:"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z",fill:"var(--next-error-title)"})})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68027,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return u}}),e.r(55682);let n=e.r(43476);e.r(71645);let o=e.r(12354),i=e.r(18576),u=function({error:e}){let t=e?.digest,r=!!t;return(0,o.handleISRError)({error:e}),(0,n.jsxs)("html",{id:"__next_error__",children:[(0,n.jsx)("head",{children:(0,n.jsx)("style",{dangerouslySetInnerHTML:{__html:i.errorThemeCss}})}),(0,n.jsxs)("body",{children:[(0,n.jsx)("div",{style:i.errorStyles.container,children:(0,n.jsxs)("div",{style:i.errorStyles.card,children:[(0,n.jsx)(i.WarningIcon,{}),(0,n.jsx)("h1",{style:i.errorStyles.title,children:"This page couldn’t load"}),(0,n.jsx)("p",{style:i.errorStyles.message,children:r?"A server error occurred. Reload to try again.":"Reload to try again, or go back."}),(0,n.jsxs)("div",{style:i.errorStyles.buttonGroup,children:[(0,n.jsx)("form",{style:i.errorStyles.form,children:(0,n.jsx)("button",{type:"submit",style:i.errorStyles.button,children:"Reload"})}),!r&&(0,n.jsx)("button",{type:"button",style:i.errorStyles.buttonSecondary,onClick:()=>{window.history.length>1?window.history.back():window.location.href="/"},children:"Back"})]})]})}),t&&(0,n.jsxs)("p",{style:i.errorStyles.digestFooter,children:["ERROR ",t]})]})]})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)}]); \ No newline at end of file diff --git a/build/_next/static/chunks/03-hxrp~efw2j.js b/build/_next/static/chunks/03-hxrp~efw2j.js new file mode 100644 index 0000000..32834e4 --- /dev/null +++ b/build/_next/static/chunks/03-hxrp~efw2j.js @@ -0,0 +1,3 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return u},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return a}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});function o(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function l(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function a(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,l(e));else t.set(r,l(n));return t}function u(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return _},MissingStaticPage:function(){return w},NormalizeError:function(){return v},PageNotFoundError:function(){return b},SP:function(){return h},ST:function(){return m},WEB_VITALS:function(){return o},execOnce:function(){return l},getDisplayName:function(){return f},getLocationOrigin:function(){return s},getURL:function(){return c},isAbsoluteUrl:function(){return u},isResSent:function(){return d},loadGetInitialProps:function(){return g},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return x}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function l(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let a=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,u=e=>a.test(e);function s(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=s();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function g(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await g(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&d(r))return n;if(!n)throw Object.defineProperty(Error(`"${f(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let h="u">typeof performance,m=h&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class v extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class w extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class _ extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function x(e){return JSON.stringify({message:e.message,stack:e.stack})}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return i}});let n=e.r(71645);function i(e,t){let r=(0,n.useRef)(null),i=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(r.current=o(e,n)),t&&(i.current=o(t,n))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return a},formatWithValidation:function(){return s},urlObjectKeys:function(){return u}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(90809)._(e.r(98183)),l=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,n=e.protocol||"",i=e.pathname||"",a=e.hash||"",u=e.query||"",s=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?s=t+e.host:r&&(s=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(s+=":"+e.port)),u&&"object"==typeof u&&(u=String(o.urlQueryToSearchParams(u)));let c=e.search||u&&`?${u}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||l.test(n))&&!1!==s?(s="//"+(s||""),i&&"/"!==i[0]&&(i="/"+i)):s||(s=""),a&&"#"!==a[0]&&(a="#"+a),c&&"?"!==c[0]&&(c="?"+c),i=i.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${s}${i}${c}${a}`}let u=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function s(e){return a(e)}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let n=e.r(18967),i=e.r(52817);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,i.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return y},useLinkStatus:function(){return b}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(90809),l=e.r(43476),a=o._(e.r(71645)),u=e.r(95057),s=e.r(8372),c=e.r(18581),f=e.r(18967),d=e.r(5550);e.r(33525);let p=e.r(88540),g=e.r(91949),h=e.r(73668),m=e.r(9396);function y(t){var r,n;let i,o,y,[b,w]=(0,a.useOptimistic)(g.IDLE_LINK_STATUS),_=(0,a.useRef)(null),{href:x,as:P,children:j,prefetch:E=null,passHref:S,replace:O,shallow:C,scroll:R,onClick:M,onMouseEnter:T,onTouchStart:N,legacyBehavior:k=!1,onNavigate:I,transitionTypes:$,ref:A,unstable_dynamicOnHover:L,...z}=t;i=j,k&&("string"==typeof i||"number"==typeof i)&&(i=(0,l.jsx)("a",{children:i}));let D=a.default.useContext(s.AppRouterContext),U=!1!==E,B=!1!==E?null===(n=E)||"auto"===n?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,F="string"==typeof(r=P||x)?r:(0,u.formatUrl)(r);if(k){if(i?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=a.default.Children.only(i)}let q=k?o&&"object"==typeof o&&o.ref:A,W=a.default.useCallback(e=>(null!==D&&(_.current=(0,g.mountLinkInstance)(e,F,D,B,U,w)),()=>{_.current&&((0,g.unmountLinkForCurrentNavigation)(_.current),_.current=null),(0,g.unmountPrefetchableInstance)(e)}),[U,F,D,B,w]),X={ref:(0,c.useMergedRef)(W,q),onClick(t){k||"function"!=typeof M||M(t),k&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!D||t.defaultPrevented||function(t,r,n,i,o,l,u){if("u">typeof window){let s,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((s=t.currentTarget.getAttribute("target"))&&"_self"!==s||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(r)){i&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(99781);a.default.startTransition(()=>{f(r,i?"replace":"push",!1===o?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,n.current,u)})}}(t,F,_,O,R,I,$)},onMouseEnter(e){k||"function"!=typeof T||T(e),k&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),D&&U&&(0,g.onNavigationIntent)(e.currentTarget,!0===L)},onTouchStart:function(e){k||"function"!=typeof N||N(e),k&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),D&&U&&(0,g.onNavigationIntent)(e.currentTarget,!0===L)}};return(0,f.isAbsoluteUrl)(F)?X.href=F:k&&!S&&("a"!==o.type||"href"in o.props)||(X.href=(0,d.addBasePath)(F)),y=k?a.default.cloneElement(o,X):(0,l.jsx)("a",{...z,...X,children:i}),(0,l.jsx)(v.Provider,{value:b,children:y})}e.r(84508);let v=(0,a.createContext)(g.IDLE_LINK_STATUS),b=()=>(0,a.useContext)(v);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},88143,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:i,blurDataURL:o,objectFit:l}){let a=r?40*r:e,u=i?40*i:t,s=a&&u?`viewBox='0 0 ${a} ${u}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${s}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${s?"none":"contain"===l?"xMidYMid":"cover"===l?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${o}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},87690,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return o},imageConfigDefault:function(){return l}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=["default","imgix","cloudinary","akamai","custom"],l={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},8927,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return s}}),e.r(33525);let n=e.r(43369),i=e.r(88143),o=e.r(87690),l=["-moz-initial","fill","none","scale-down",void 0];function a(e){return void 0!==e.default}function u(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function s({src:e,sizes:t,unoptimized:r=!1,priority:c=!1,preload:f=!1,loading:d,className:p,quality:g,width:h,height:m,fill:y=!1,style:v,overrideSrc:b,onLoad:w,onLoadingComplete:_,placeholder:x="empty",blurDataURL:P,fetchPriority:j,decoding:E="async",layout:S,objectFit:O,objectPosition:C,lazyBoundary:R,lazyRoot:M,...T},N){var k;let I,$,A,{imgConf:L,showAltText:z,blurComplete:D,defaultLoader:U}=N,B=L||o.imageConfigDefault;if("allSizes"in B)I=B;else{let e=[...B.deviceSizes,...B.imageSizes].sort((e,t)=>e-t),t=B.deviceSizes.sort((e,t)=>e-t),r=B.qualities?.sort((e,t)=>e-t);I={...B,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===U)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let F=T.loader||U;delete T.loader,delete T.srcSet;let q="__next_img_default"in F;if(q){if("custom"===I.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop. +Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=F;F=t=>{let{config:r,...n}=t;return e(n)}}if(S){"fill"===S&&(y=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[S];e&&(v={...v,...e});let r={responsive:"100vw",fill:"100vw"}[S];r&&!t&&(t=r)}let W="",X=u(h),G=u(m);if((k=e)&&"object"==typeof k&&(a(k)||void 0!==k.src)){let t=a(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if($=t.blurWidth,A=t.blurHeight,P=P||t.blurDataURL,W=t.src,!y)if(X||G){if(X&&!G){let e=X/t.width;G=Math.round(t.height*e)}else if(!X&&G){let e=G/t.height;X=Math.round(t.width*e)}}else X=t.width,G=t.height}let H=!c&&!f&&("lazy"===d||void 0===d);(!(e="string"==typeof e?e:W)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,H=!1),I.unoptimized&&(r=!0),q&&!I.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let K=u(g),V=Object.assign(y?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:O,objectPosition:C}:{},z?{}:{color:"transparent"},v),Y=D||"empty"===x?null:"blur"===x?`url("data:image/svg+xml;charset=utf-8,${(0,i.getImageBlurSvg)({widthInt:X,heightInt:G,blurWidth:$,blurHeight:A,blurDataURL:P||"",objectFit:V.objectFit})}")`:`url("${x}")`,Q=l.includes(V.objectFit)?"fill"===V.objectFit?"100% 100%":"cover":V.objectFit,J=Y?{backgroundSize:Q,backgroundPosition:V.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Y}:{},Z=function({config:e,src:t,unoptimized:r,width:i,quality:o,sizes:l,loader:a}){if(r){if(t.startsWith("/")&&!t.startsWith("//")){let e=(0,n.getDeploymentId)();if(e){let r=t.indexOf("?");if(-1!==r){let n=new URLSearchParams(t.slice(r+1));n.get("dpl")||(n.append("dpl",e),t=t.slice(0,r)+"?"+n.toString())}else t+=`?dpl=${e}`}}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:u,kind:s}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,i=[];for(let e;e=r.exec(n);)i.push(parseInt(e[2]));if(i.length){let r=.01*Math.min(...i);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,i,l),c=u.length-1;return{sizes:l||"w"!==s?l:"100vw",srcSet:u.map((r,n)=>`${a({config:e,src:t,quality:o,width:r})} ${"w"===s?r:n+1}${s}`).join(", "),src:a({config:e,src:t,quality:o,width:u[c]})}}({config:I,src:e,unoptimized:r,width:X,quality:K,sizes:t,loader:F}),ee=H?"lazy":d;return{props:{...T,loading:ee,fetchPriority:j,width:X,height:G,decoding:E,className:p,style:{...V,...J},sizes:Z.sizes,srcSet:Z.srcSet,src:b||Z.src},meta:{unoptimized:r,preload:f||c,placeholder:x,fill:y}}}},98879,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return a}});let n=e.r(71645),i="u"{}:n.useLayoutEffect,l=i?()=>{}:n.useEffect;function a(e){let{headManager:t,reduceComponentsToState:r}=e;function a(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return i&&(t?.mountedInstances?.add(e.children),a()),o(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),o(()=>(t&&(t._pendingUpdate=a),()=>{t&&(t._pendingUpdate=a)})),l(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},25633,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return h},defaultHead:function(){return f}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(55682),l=e.r(90809),a=e.r(43476),u=l._(e.r(71645)),s=o._(e.r(98879)),c=e.r(42732);function f(){return[(0,a.jsx)("meta",{charSet:"utf-8"},"charset"),(0,a.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function d(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===u.default.Fragment?e.concat(u.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(33525);let p=["name","httpEquiv","charSet","itemProp"];function g(e){let t,r,n,i;return e.reduce(d,[]).reverse().concat(f().reverse()).filter((t=new Set,r=new Set,n=new Set,i={},e=>{let o=!0,l=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){l=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?o=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?o=!1:r.add(e.type);break;case"meta":for(let t=0,r=p.length;t{let r=e.key||t;return u.default.cloneElement(e,{key:r})})}let h=function({children:e}){let t=(0,u.useContext)(c.HeadManagerContext);return(0,a.jsx)(s.default,{reduceComponentsToState:g,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18556,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return o}});let n=e.r(55682)._(e.r(71645)),i=e.r(87690),o=n.default.createContext(i.imageConfigDefault)},65856,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(55682)._(e.r(71645)).default.createContext(null)},70965,(e,t,r)=>{"use strict";function n(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return l}});let n=e.r(70965),i=e.r(43369);function o({config:e,src:t,width:r,quality:l}){let a=(0,i.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")){let e=t.indexOf("?");if(-1!==e){let r=new URLSearchParams(t.slice(e+1)),n=r.get("dpl");if(n){a=n,r.delete("dpl");let i=r.toString();t=t.slice(0,e)+(i?"?"+i:"")}}}if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns. +Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let u=(0,n.findClosestQuality)(l,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${u}${t.startsWith("/")&&a?`&dpl=${a}`:""}`}o.__next_img_default=!0;let l=o},5500,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return w}});let n=e.r(55682),i=e.r(90809),o=e.r(43476),l=i._(e.r(71645)),a=n._(e.r(74080)),u=n._(e.r(25633)),s=e.r(8927),c=e.r(87690),f=e.r(18556);e.r(33525);let d=e.r(65856),p=n._(e.r(1948)),g=e.r(18581),h={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function m(e,t,r,n,i,o,l){let a=e?.src;e&&e["data-loaded-src"]!==a&&(e["data-loaded-src"]=a,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function y(e){return l.use?{fetchPriority:e}:{fetchpriority:e}}"u"{let O=(0,l.useCallback)(e=>{e&&(j&&(e.src=e.src),e.complete&&m(e,f,v,b,w,p,x))},[e,f,v,b,w,j,p,x]),C=(0,g.useMergedRef)(S,O);return(0,o.jsx)("img",{...E,...y(c),loading:d,width:i,height:n,decoding:a,"data-nimg":h?"fill":"1",className:u,style:s,sizes:r,srcSet:t,src:e,ref:C,onLoad:e=>{m(e.currentTarget,f,v,b,w,p,x)},onError:e=>{_(!0),"empty"!==f&&w(!0),j&&j(e)}})});function b({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...y(t.fetchPriority)};return e&&a.default.preload?(a.default.preload(t.src,r),null):(0,o.jsx)(u.default,{children:(0,o.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let w=(0,l.forwardRef)((e,t)=>{let r=(0,l.useContext)(d.RouterContext),n=(0,l.useContext)(f.ImageConfigContext),i=(0,l.useMemo)(()=>{let e=h||n||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),i=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:i,localPatterns:"u"{g.current=a},[a]);let m=(0,l.useRef)(u);(0,l.useEffect)(()=>{m.current=u},[u]);let[y,w]=(0,l.useState)(!1),[_,x]=(0,l.useState)(!1),{props:P,meta:j}=(0,s.getImgProps)(e,{defaultLoader:p.default,imgConf:i,blurComplete:y,showAltText:_});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(v,{...P,unoptimized:j.unoptimized,placeholder:j.placeholder,fill:j.fill,onLoadRef:g,onLoadingCompleteRef:m,setBlurComplete:w,setShowAltText:x,sizesInput:e.sizes,ref:t}),j.preload?(0,o.jsx)(b,{isAppRouter:!r,imgAttributes:P}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},2018,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(89970),i=e.i(83495);function o(e){let{trigger:t,start:r="top 88%",show:n,hide:o,triggerOnce:l=!1}=e;if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return n(),()=>{};let a=i.ScrollTrigger.create({trigger:t,start:r,onEnter:e=>{n(),l&&e.kill()},onEnterBack:()=>{l||n()},onLeave:()=>{l||o()},onLeaveBack:()=>{l||o()}}),u=requestAnimationFrame(()=>{let e=t.getBoundingClientRect(),r=window.innerHeight||document.documentElement.clientHeight;e.top0&&(n(),l&&a.kill())});return()=>{cancelAnimationFrame(u),a.kill()}}n.default.registerPlugin(i.ScrollTrigger),e.s(["CountUp",0,function({end:e,start:i=0,duration:l=2,decimals:a=0,suffix:u="",prefix:s="",className:c="",triggerOnce:f=!1}){let[d,p]=(0,r.useState)(i),g=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let t=g.current;if(t)return o({trigger:t,start:"top 90%",show:()=>{let t={val:i};n.default.to(t,{val:e,duration:l,ease:"power2.out",onUpdate:()=>p(t.val)})},hide:()=>p(i),triggerOnce:f})},[i,e,l,f]),(0,t.jsxs)("span",{ref:g,className:c,children:[s,d.toFixed(a),u]})},"Magnetic",0,function({children:e,range:i=45,strength:o=.35}){let l=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=l.current;if(!e)return;let t=e.firstElementChild;if(!t)return;let r=r=>{let l=e.getBoundingClientRect(),a=r.clientX-(l.left+l.width/2),u=r.clientY-(l.top+l.height/2);Math.sqrt(a*a+u*u){n.default.to(t,{x:0,y:0,ease:"elastic.out(1.2, 0.4)",duration:.8})};return e.addEventListener("mousemove",r),e.addEventListener("mouseleave",a),()=>{e.removeEventListener("mousemove",r),e.removeEventListener("mouseleave",a)}},[i,o]),(0,t.jsx)("div",{ref:l,className:"inline-block",children:e})},"ParallaxSection",0,function({children:e,speed:o=.15,className:l=""}){let a=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=a.current;if(e&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches)return n.default.to(e,{y:()=>-i.ScrollTrigger.maxScroll(window)*o*.1,ease:"none",scrollTrigger:{trigger:e,start:"top bottom",end:"bottom top",scrub:1.5,invalidateOnRefresh:!0}}),()=>{i.ScrollTrigger.getAll().forEach(t=>{t.trigger===e&&t.kill()})}},[o]),(0,t.jsx)("div",{ref:a,className:l,style:{willChange:"transform"},children:e})},"RevealText",0,function({children:e,type:i="words",delay:l=0,duration:a=.85,className:u="",triggerOnce:s=!1}){let c=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=c.current;if(!e)return;let t=e.querySelectorAll(".reveal-item");return t.length?(n.default.set(t,{y:"110%",opacity:0}),o({trigger:e,show:()=>n.default.to(t,{y:"0%",opacity:1,duration:a,ease:"power4.out",stagger:"chars"===i?.02:.04,delay:l,overwrite:"auto"}),hide:()=>n.default.set(t,{y:"110%",opacity:0}),triggerOnce:s})):void 0},[e,i,l,a,s]),(0,t.jsx)("div",{ref:c,className:u,style:{display:"flex",flexWrap:"wrap"},children:"chars"===i?e.split("").map((e,r)=>(0,t.jsx)("span",{className:"inline-block overflow-hidden",style:{height:"1.2em",lineHeight:"1.2em",verticalAlign:"middle"},children:(0,t.jsx)("span",{className:"reveal-item inline-block",children:" "===e?" ":e})},r)):e.split(" ").map((e,r)=>(0,t.jsx)("span",{className:"inline-block overflow-hidden",style:{height:"1.2em",lineHeight:"1.2em",marginRight:"0.25em",verticalAlign:"middle"},children:(0,t.jsx)("span",{className:"reveal-item inline-block",children:e})},r))})},"ScaleReveal",0,function({children:e,delay:i=0,duration:l=.8,className:a="",triggerOnce:u=!1}){let s=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=s.current;return e?(n.default.set(e,{scale:.85,opacity:0}),o({trigger:e,show:()=>n.default.to(e,{scale:1,opacity:1,duration:l,ease:"power3.out",delay:i,overwrite:"auto"}),hide:()=>n.default.set(e,{scale:.85,opacity:0}),triggerOnce:u})):void 0},[i,l,u]),(0,t.jsx)("div",{ref:s,className:a,children:e})},"ScrollReveal",0,function({children:e,delay:i=0,duration:l=.8,yOffset:a=40,xOffset:u=0,className:s="",triggerOnce:c=!1}){let f=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=f.current;return e?(n.default.set(e,{y:a,x:u,opacity:0}),o({trigger:e,show:()=>n.default.to(e,{y:0,x:0,opacity:1,duration:l,ease:"power3.out",delay:i,overwrite:"auto"}),hide:()=>n.default.set(e,{y:a,x:u,opacity:0}),triggerOnce:c})):void 0},[i,l,a,u,c]),(0,t.jsx)("div",{ref:f,className:s,children:e})},"ShimmerText",0,function({children:e,className:r=""}){return(0,t.jsx)("span",{className:`inline-block bg-clip-text text-transparent bg-[linear-gradient(110deg,#ffffff,45%,#c01227,55%,#ffffff)] bg-[length:250%_100%] animate-[shimmer-sweep_6s_infinite_linear] ${r}`,style:{WebkitBackgroundClip:"text",backgroundClip:"text"},children:e})},"SlideReveal",0,function({children:e,direction:i="left",delay:l=0,duration:a=.9,className:u="",triggerOnce:s=!1}){let c=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=c.current;if(!e)return;let t="left"===i?-60:60;return n.default.set(e,{x:t,opacity:0}),o({trigger:e,show:()=>n.default.to(e,{x:0,opacity:1,duration:a,ease:"power3.out",delay:l,overwrite:"auto"}),hide:()=>n.default.set(e,{x:t,opacity:0}),triggerOnce:s})},[i,l,a,s]),(0,t.jsx)("div",{ref:c,className:u,children:e})},"StaggerChildren",0,function({children:e,stagger:i=.1,duration:l=.7,yOffset:a=35,className:u="",triggerOnce:s=!1}){let c=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=c.current;if(!e)return;let t=e.children;return t.length?(n.default.set(t,{y:a,opacity:0}),o({trigger:e,start:"top 85%",show:()=>n.default.to(t,{y:0,opacity:1,duration:l,ease:"power3.out",stagger:i,overwrite:"auto"}),hide:()=>n.default.set(t,{y:a,opacity:0}),triggerOnce:s})):void 0},[i,l,a,s]),(0,t.jsx)("div",{ref:c,className:u,children:e})},"Tilt3D",0,function({children:e,intensity:i=8,className:o=""}){let l=(0,r.useRef)(null),a=(0,r.useCallback)(e=>{let t=l.current;if(!t)return;let r=t.getBoundingClientRect(),o=(e.clientX-r.left)/r.width-.5,a=(e.clientY-r.top)/r.height-.5;n.default.to(t,{rotateY:o*i,rotateX:-a*i,duration:.5,ease:"power2.out"})},[i]),u=(0,r.useCallback)(()=>{let e=l.current;e&&n.default.to(e,{rotateY:0,rotateX:0,duration:.8,ease:"elastic.out(1, 0.5)"})},[]);return(0,t.jsx)("div",{style:{perspective:"1000px"},children:(0,t.jsx)("div",{ref:l,className:o,onMouseMove:a,onMouseLeave:u,style:{transformStyle:"preserve-3d",willChange:"transform"},children:e})})}])}]); \ No newline at end of file diff --git a/build/_next/static/chunks/04syu-h-mffeu.js b/build/_next/static/chunks/04syu-h-mffeu.js new file mode 100644 index 0000000..8405268 --- /dev/null +++ b/build/_next/static/chunks/04syu-h-mffeu.js @@ -0,0 +1,1056 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,67585,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"BailoutToCSR",{enumerable:!0,get:function(){return i}});let a=e.r(32061);function i({reason:e,children:t}){if("u"{"use strict";function a(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"encodeURIPath",{enumerable:!0,get:function(){return a}})},52157,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"PreloadChunks",{enumerable:!0,get:function(){return d}});let a=e.r(43476),i=e.r(74080),r=e.r(63599),o=e.r(9885),s=e.r(43369);function d({moduleIds:e}){if("u">typeof window)return null;let t=r.workAsyncStorage.getStore();if(void 0===t)return null;let n=[];if(t.reactLoadableManifest&&e){let a=t.reactLoadableManifest;for(let t of e){if(!a[t])continue;let e=a[t].files;n.push(...e)}}if(0===n.length)return null;let l=(0,s.getAssetTokenQuery)();return(0,a.jsx)(a.Fragment,{children:n.map(e=>{let n=`${t.assetPrefix}/_next/${(0,o.encodeURIPath)(e)}${l}`;return e.endsWith(".css")?(0,a.jsx)("link",{precedence:"dynamic",href:n,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,i.preload)(n,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},69093,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return l}});let a=e.r(43476),i=e.r(71645),r=e.r(67585),o=e.r(52157);function s(e){return{default:e&&"default"in e?e.default:e}}let d={loader:()=>Promise.resolve(s(()=>null)),loading:null,ssr:!0},l=function(e){let t={...d,...e},n=(0,i.lazy)(()=>t.loader().then(s)),l=t.loading;function c(e){let s=l?(0,a.jsx)(l,{isLoading:!0,pastDelay:!0,error:null}):null,d=!t.ssr||!!t.loading,c=d?i.Suspense:i.Fragment,p=t.ssr?(0,a.jsxs)(a.Fragment,{children:["u"{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return i}});let a=e.r(55682)._(e.r(69093));function i(e,t){let n={};"function"==typeof e&&(n.loader=e);let i={...n,...t};return(0,a.default)({...i,modules:i.loadableGenerated?.modules})}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},14224,e=>{"use strict";var t=e.i(43476),n=e.i(71645),a=e.i(89970),i=e.i(83495);a.default.registerPlugin(i.ScrollTrigger);let r=[{icon:(0,t.jsx)("svg",{className:"evnd-icon",viewBox:"0 0 24 24",fill:"none",stroke:"#f59e0b",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2"})}),title:"Battery-Aware Routing",desc:"Battery level, health, and degradation are first-class inputs to route optimization — not afterthoughts."},{icon:(0,t.jsx)("svg",{className:"evnd-icon",viewBox:"0 0 24 24",fill:"none",stroke:"#94a3b8",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"M18 10h-1.28A6 6 0 0 0 12 5V3M12 5V3M6 10h1.28A6 6 0 0 0 12 5M12 18v2M12 18v2M8 10v6a4 4 0 0 0 8 0v-6"})}),title:"Charging Integration",desc:"Seamlessly integrate charging stops without compromising delivery windows or SLA commitments."},{icon:(0,t.jsx)("svg",{className:"evnd-icon",viewBox:"0 0 24 24",fill:"none",stroke:"#ef4444",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"m8 3 4 8 5-5 5 15H2L8 3z"})}),title:"Energy-Optimized Paths",desc:"Factor in elevation, speed limits, payload weight, and live weather for maximum range efficiency."},{icon:(0,t.jsx)("svg",{className:"evnd-icon",viewBox:"0 0 24 24",fill:"none",stroke:"#ef4444",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"})}),title:"Predictable Operations",desc:"EVs become predictable assets, not operational risks. Full visibility from depot to doorstep."}],o=[{value:"100%",label:"ELECTRIC FLEET"},{value:"-40%",label:"COST / MILE"}],s=[{value:99.9,decimals:1,suffix:"%",label:"SLA Compliance"},{value:42,suffix:"%",label:"Distance Saved"},{value:37,suffix:"%",label:"Fewer Vehicles"},{value:45,suffix:"ms",label:"Dispatch Latency"}];function d({value:e,decimals:a=0,suffix:i="",duration:r=1700,className:o}){let[s,l]=(0,n.useState)(0),c=(0,n.useRef)(null),p=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{let t=c.current;if(!t)return;if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return void requestAnimationFrame(()=>l(e));let n=new IntersectionObserver(t=>{for(let a of t)if(a.isIntersecting&&!p.current){p.current=!0;let t=performance.now(),a=e=>1-Math.pow(1-e,3),i=n=>{let o=Math.min(1,(n-t)/r);l(e*a(o)),o<1?requestAnimationFrame(i):l(e)};requestAnimationFrame(i),n.disconnect()}},{threshold:.2});return n.observe(t),()=>n.disconnect()},[e,r]),(0,t.jsxs)("b",{ref:c,className:o,children:[s.toFixed(a),i]})}function l({value:e,decimals:a=0,suffix:i="",active:r}){let[o,s]=(0,n.useState)(e),d=(0,n.useRef)(0);return(0,n.useEffect)(()=>{if(!r)return;if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return d.current=requestAnimationFrame(()=>s(e)),()=>cancelAnimationFrame(d.current);let t=performance.now(),n=a=>{let i=Math.min(1,Math.max(0,(a-t)/850));s(e*(1-Math.pow(1-i,3))),i<1?d.current=requestAnimationFrame(n):s(e)};return d.current=requestAnimationFrame(n),()=>cancelAnimationFrame(d.current)},[r,e]),(0,t.jsxs)("span",{className:"evnd__card-metric",children:[o.toFixed(a),(0,t.jsx)("i",{children:i})]})}let c=[[40,90],[150,150],[120,280],[250,330],[360,250],[60,420],[300,120],[330,430]],p=["M40 90 L150 150 L120 280 L250 330 L360 250","M60 420 L150 150 L300 120 L360 250","M120 280 L60 420 L250 330 L330 430"],m=[[14,22,0,13],[78,16,-3,16],[33,64,-7,14],[62,48,-1,18],[88,70,-5,15],[22,86,-9,17],[50,30,-4,19],[70,90,-2,14]];function g(){let e=(0,n.useRef)(null);return(0,n.useEffect)(()=>{let t=e.current;if(!t||window.matchMedia?.("(prefers-reduced-motion: reduce)").matches||window.matchMedia?.("(max-width: 767px)").matches)return;a.default.registerPlugin(i.ScrollTrigger);let n=Array.from(t.querySelectorAll("[data-depth]")),r=i.ScrollTrigger.create({trigger:t,start:"top bottom",end:"bottom top",scrub:!0,onUpdate:e=>{let t=e.progress-.5;for(let e of n){let n=parseFloat(e.dataset.depth||"0");a.default.set(e,{yPercent:t*n})}}});return()=>r.kill()},[]),(0,t.jsxs)("div",{ref:e,className:"evnd__bg","aria-hidden":"true",children:[(0,t.jsx)("div",{className:"evnd__bg-grid","data-depth":"4"}),(0,t.jsxs)("svg",{className:"evnd__bg-net","data-depth":"8",viewBox:"0 0 400 520",preserveAspectRatio:"xMidYMid slice",children:[(0,t.jsx)("g",{className:"evnd__bg-mesh",stroke:"currentColor",strokeWidth:"0.8",fill:"none",children:p.map((e,n)=>(0,t.jsx)("path",{d:e},n))}),(0,t.jsx)("g",{className:"evnd__bg-nodes",fill:"currentColor",children:c.map(([e,n],a)=>(0,t.jsx)("circle",{cx:e,cy:n,r:a%3==0?3:2,style:{animationDelay:`${-(.7*a)}s`}},a))}),(0,t.jsx)("path",{className:"evnd__bg-flow",d:p[0],fill:"none",stroke:"currentColor",strokeWidth:"1.4"}),(0,t.jsx)("path",{className:"evnd__bg-flow evnd__bg-flow--2",d:p[1],fill:"none",stroke:"currentColor",strokeWidth:"1.4"})]}),(0,t.jsx)("div",{className:"evnd__bg-glow evnd__bg-glow--a","data-depth":"11"}),(0,t.jsx)("div",{className:"evnd__bg-glow evnd__bg-glow--b","data-depth":"15"}),(0,t.jsx)("div",{className:"evnd__bg-particles","data-depth":"18",children:m.map(([e,n,a,i],r)=>(0,t.jsx)("span",{style:{left:`${e}%`,top:`${n}%`,animationDelay:`${a}s`,animationDuration:`${i}s`}},r))})]})}function h({slides:e,heading:a,theme:i}){let[r,o]=(0,n.useState)(0),[s,d]=(0,n.useState)(!1),[c,p]=(0,n.useState)(!1),m=(0,n.useRef)(null);(0,n.useEffect)(()=>{let e=m.current;if(!e)return;let t=new IntersectionObserver(([e])=>p(e.isIntersecting),{threshold:.35});return t.observe(e),()=>t.disconnect()},[]),(0,n.useEffect)(()=>{if(!c||s||e.length<2)return;let t=setTimeout(()=>{o(t=>(t+1)%e.length)},4e3);return()=>clearTimeout(t)},[r,c,s,e.length]);let u=i?{"--ca":i.accent,"--ca2":i.accent2,"--cg":i.glow}:void 0;return(0,t.jsxs)("div",{ref:m,className:"evnd__cards",style:u,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),children:[(0,t.jsx)(g,{}),a&&(0,t.jsxs)("div",{className:"evnd__cards-head",children:[(0,t.jsxs)("span",{className:"evnd__cards-live",children:[(0,t.jsx)("span",{className:"evnd__cards-livedot"}),a]}),(0,t.jsx)("span",{className:"evnd__cards-sys",children:"AI ENGINE"})]}),(0,t.jsx)("div",{className:"evnd__cards-stage",children:e.map((e,n)=>(0,t.jsxs)("div",{className:`evnd__card ${n===r?"is-active":""}`,"aria-hidden":n!==r||void 0,children:[(0,t.jsxs)("span",{className:"evnd__card-status",children:[(0,t.jsx)("span",{className:"evnd__card-statusdot"}),e.status]}),(0,t.jsxs)("div",{className:"evnd__card-hero",children:[(0,t.jsx)(l,{value:e.value,decimals:e.decimals,suffix:e.suffix,active:n===r}),(0,t.jsx)("span",{className:"evnd__card-metriclabel",children:e.metricLabel})]}),(0,t.jsx)("h3",{className:"evnd__card-title",children:e.title}),(0,t.jsx)("ul",{className:"evnd__card-kpis",children:e.kpis.map(e=>(0,t.jsxs)("li",{children:[(0,t.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,t.jsx)("polyline",{points:"20 6 9 17 4 12"})}),e]},e))}),(0,t.jsx)("p",{className:"evnd__card-desc",children:e.desc})]},e.title))}),(0,t.jsxs)("div",{className:"evnd__cards-nav",children:[(0,t.jsxs)("span",{className:"evnd__cards-counter",children:[String(r+1).padStart(2,"0"),"/",String(e.length).padStart(2,"0")]}),(0,t.jsx)("div",{className:"evnd__cards-bars",children:e.map((e,n)=>(0,t.jsx)("button",{type:"button","aria-label":`Go to ${e.title}`,className:`evnd__cards-bar ${n===r?"is-active":""}`,onClick:()=>o(n)},e.title))})]})]})}e.s(["default",0,function({bannerImage:e="/images/bg-header-5.png",cardNumber:l="",cardTitle:c="EV Logistics",cardSubtitle:p="Cleaner miles, lower costs",eyebrow:m="/ EV-Native Design /",titleLead:g="BUILT FOR ELECTRIC. ",titleAccent:u="NOT ADAPTED.",features:f=r,image:x="/images/premium-ev-van.png",imageAlt:v="DoorMile electric delivery van",badges:b=o,stats:_=s,gapTop:w=!1,gapBottom:y=!1,ariaLabel:j,mediaSlot:k,slides:N,cardsHeading:z,cardsTheme:L}){let S=(0,n.useRef)(null),E=!!N&&N.length>0;return(0,n.useEffect)(()=>{let e=S.current;if(!e)return;let t=i.ScrollTrigger.create({trigger:e,start:"top bottom",end:"bottom top",scrub:!0,onUpdate:()=>{if(window.innerWidth>=1021){let t=window.scrollY,n=e.getBoundingClientRect().top+t;a.default.set(e,{backgroundPosition:`center ${.3*(t-n)}px`})}else a.default.set(e,{backgroundPosition:""})}});return()=>t?.kill()},[]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:` + /* ============================================================ + EV-Native Design — redesigned section + bg #080808 \xb7 red #ef4444 \xb7 Manrope + ============================================================ */ + + .evnd, .evnd * { font-family: "Manrope", Sans-serif !important; } + + /* External gap helpers — keep stacked workflow sections on one rhythm + (Desktop 40 \xb7 Tablet 32 \xb7 Mobile 24). Single-sided per boundary. */ + .evnd-gap-top { margin-top: 40px !important; } + .evnd-gap-bottom { margin-bottom: 40px !important; } + + .evnd { + position: relative; + isolation: isolate; + overflow: hidden; + background: #080808; + /* flat top so it connects seamlessly to the banner above; rounded + bottom only, and no top margin so there is no white gap */ + border-radius: 0 0 clamp(16px, 2vw, 28px) clamp(16px, 2vw, 28px); + margin: 0 0 clamp(28px, 5vw, 64px); + padding: 64px 48px clamp(48px, 6vw, 80px); + } + /* subtle diagonal light band for depth (matches reference) */ + .evnd::before { + content: ''; + position: absolute; + inset: 0; + z-index: 0; + pointer-events: none; + background: linear-gradient(120deg, transparent 28%, rgba(255,255,255,0.015) 50%, transparent 72%); + } + .evnd__inner { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; } + + /* ---- MAIN GRID ---- */ + .evnd__grid { + display: grid; + grid-template-columns: 1.15fr 1fr; + gap: clamp(32px, 4vw, 56px); + align-items: center; + } + /* Split-screen workflow layout: ~60/40 so the live dashboard column + carries enough weight to balance the Three.js scene. align-items: + stretch lets the cards panel match the scene height. */ + .evnd__grid--cards { + grid-template-columns: 1.5fr 1fr; + align-items: stretch; + } + .evnd__grid--cards .evnd__left { justify-content: center; } + .evnd__grid--cards .evnd__left, + .evnd__grid--cards .evnd__media { width: 100%; } + + /* ---- Desktop height alignment: scene and insight panel share one row + height. A min-height floor on the scene column sets the baseline row + height (≥620px so the tallest slide's status → metric → title → KPIs → + description fits with the footer fully clear). Both columns stretch to + the row via grid align-items: stretch. + + The panel uses min-height:100% (not a hard height) and its card stage + is flex: 1 0 auto — it grows to fill the row but, crucially, NEVER + shrinks below its own content. So a long description can only push the + panel taller, never overlap the nav footer; the grid row grows with it + and the scene (height:100%) stretches to match. Result: the card height + always equals the scene height AND the 01/04 counter + pagination stay + pinned to the bottom with dedicated, un-overlappable space. */ + @media (min-width: 992px) { + .evnd__grid--cards .evnd__left { + min-height: clamp(620px, 44vw, 680px); + } + .evnd__grid--cards .evnd__media, + .evnd__grid--cards .evnd__imgwrap--media, + .evnd__grid--cards .wf-scene { height: 100%; } + .evnd__grid--cards .wf-scene { aspect-ratio: auto; } + .evnd__grid--cards .evnd__cards { min-height: 100%; } + /* grow to fill the row, but hold content height as a hard floor so + the footer can never ride up over the description */ + .evnd__grid--cards .evnd__cards-stage { flex: 1 0 auto; min-height: 0; } + /* centre the slide content in the taller stage for a balanced panel */ + .evnd__grid--cards .evnd__card { justify-content: center; } + } + + .evnd__left { + display: flex; + flex-direction: column; + align-items: flex-start; + } + + .evnd__right { + display: flex; + flex-direction: column; + } + + .evnd__eyebrow { + display: inline-flex; + align-items: center; + gap: 12px; + color: #ef4444 !important; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 0.16em; + font-size: 13px; + margin-bottom: 20px; + } + .evnd__eyebrow::before { + content: ''; + width: 16px; + height: 2px; + background: #ef4444; + } + + .evnd__title { + color: #fff !important; + font-weight: 800 !important; + font-size: clamp(32px, 3.8vw, 48px) !important; + line-height: 1.15 !important; + letter-spacing: -0.01em; + margin: 0 0 36px 0; + } + @media (min-width: 768px) { + .evnd__title { + white-space: nowrap; + } + } + .evnd__title .accent { + color: #ef4444 !important; + } + + .evnd__media { + position: relative; + width: 100%; + } + .evnd__glow { + position: absolute; + left: 50%; bottom: -4%; + width: 80%; height: 80px; + transform: translateX(-50%); + background: radial-gradient(50% 50% at 50% 50%, rgba(239,68,68,0.3), transparent 72%); + filter: blur(35px); + z-index: 0; + animation: evndGlow 4s ease-in-out infinite; + } + .evnd__imgwrap { + position: relative; + z-index: 1; + overflow: hidden; + border-radius: 16px; + border: 1px solid rgba(255,255,255,0.06); + box-shadow: 0 30px 60px -25px rgba(0,0,0,0.85); + } + .evnd__img { + display: block; + width: 100%; + height: auto; + object-fit: cover; + transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1); + } + .evnd__imgwrap:hover .evnd__img { + transform: scale(1.03); + } + + /* Badge overlay styling */ + .evnd__badge { + position: absolute; + z-index: 2; + display: flex; + flex-direction: column; + gap: 2px; + padding: 12px 16px; + background: rgba(13,13,13,0.72); + border: 1px solid rgba(255,255,255,0.08); + border-radius: 8px; + backdrop-filter: blur(12px); + -webkit-backdrop-filter: blur(12px); + } + .evnd__badge b { + color: #ef4444 !important; + font-weight: 800; + font-size: 24px; + line-height: 1; + } + .evnd__badge span { + color: rgba(255,255,255,0.7) !important; + font-size: 10px; + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + } + .evnd__badge--tl { top: 20px; left: 20px; } + .evnd__badge--br { bottom: 20px; right: 20px; } + + /* ---- Feature cards ---- */ + .evnd__features { + display: flex; + flex-direction: column; + gap: 16px; + height: 100%; + justify-content: space-between; + } + .evnd-feature { + position: relative; + display: grid; + grid-template-columns: 48px minmax(0, 1fr) auto; + gap: 20px; + align-items: start; + background: rgba(255,255,255,0.02); + border: 1px solid rgba(255,255,255,0.05); + border-radius: 16px; + padding: 24px; + overflow: hidden; + transition: background-color 0.4s ease, border-color 0.4s ease, transform 0.4s cubic-bezier(.25,1,.5,1); + } + .evnd-feature__body { min-width: 0; } + .evnd-feature::before { + content: ''; + position: absolute; + left: 0; top: 0; bottom: 0; + width: 3px; + background: #ef4444; + transform: scaleY(0); + transform-origin: bottom; + transition: transform 0.4s ease; + } + .evnd-feature:hover { + background: rgba(239,68,68,0.03); + border-color: rgba(239,68,68,0.2); + transform: translateY(-2px); + } + .evnd-feature:hover::before { transform: scaleY(1); } + + .evnd-feature__icon-container { + width: 48px; height: 48px; + display: flex; align-items: center; justify-content: center; + background: rgba(255,255,255,0.03); + border: 1px solid rgba(255,255,255,0.08); + border-radius: 12px; + transition: background-color 0.3s ease, border-color 0.3s ease; + } + .evnd-feature:hover .evnd-feature__icon-container { + background: rgba(239,68,68,0.08); + border-color: rgba(239,68,68,0.25); + } + + .evnd-icon { + width: 22px; + height: 22px; + display: block; + } + + .evnd-feature__title { + color: #fff !important; + font-weight: 700; + font-size: 15px !important; + text-transform: uppercase; + letter-spacing: 0.05em; + margin: 4px 0 8px; + transition: color 0.3s ease; + } + .evnd-feature:hover .evnd-feature__title { color: #ef4444 !important; } + .evnd-feature__desc { + color: rgba(255,255,255,0.65) !important; + font-weight: 400 !important; + font-size: 14px !important; + line-height: 1.6 !important; + margin: 0; + } + .evnd-feature__arrow { + color: rgba(255,255,255,0.25); + font-size: 16px; + align-self: flex-start; + margin-top: 4px; + transition: color 0.3s ease, transform 0.3s ease; + } + .evnd-feature:hover .evnd-feature__arrow { color: #ef4444; transform: translate(3px, -3px); } + + /* When the left media is a live 3D scene, let it define its own height + (via aspect-ratio) — drop the image-only hover zoom container quirks. */ + .evnd__imgwrap--media { box-shadow: 0 30px 60px -25px rgba(0,0,0,0.85); } + + /* ============================================================ + Rotating "live AI insight" cards (split-screen right column). + Themed per-workflow via CSS vars (--ca accent \xb7 --ca2 secondary \xb7 + --cg glow). Falls back to the section red when no theme is passed. + ============================================================ */ + .evnd__cards { + --ca: #ef4444; + --ca2: #f59e0b; + --cg: rgba(239,68,68,0.22); + position: relative; + display: flex; + flex-direction: column; + gap: 22px; + width: 100%; + /* panel surface so the column reads as a real dashboard, not empty space */ + background: + radial-gradient(120% 80% at 100% 0%, color-mix(in srgb, var(--ca) 9%, transparent) 0%, transparent 55%), + linear-gradient(180deg, rgba(255,255,255,0.025) 0%, rgba(255,255,255,0.01) 100%); + border: 1px solid rgba(255,255,255,0.07); + border-radius: 20px; + padding: 26px 26px 22px; + overflow: hidden; + isolation: isolate; + } + /* ============================================================ + Layered "AI intelligence" backdrop (behind the card content). + Overscanned by 12% on every side so the scroll-parallax never + exposes a panel edge. Whole stack is colour = accent, individual + layers stay inside a 5–12% opacity budget. z-index 0; content is z 1. + ============================================================ */ + .evnd__bg { + position: absolute; + /* generous overscan so scroll-parallax never exposes a panel edge */ + inset: -20%; + z-index: 0; + color: var(--ca); + pointer-events: none; + overflow: hidden; + } + .evnd__bg > * { position: absolute; inset: 0; } + + /* Layer B — technical grid (large spacing, softer than the 3D floor) */ + .evnd__bg-grid { + background-image: + linear-gradient(to right, currentColor 1px, transparent 1px), + linear-gradient(to bottom, currentColor 1px, transparent 1px); + background-size: 64px 64px; + opacity: 0.05; + -webkit-mask-image: radial-gradient(120% 100% at 80% 0%, #000 30%, transparent 85%); + mask-image: radial-gradient(120% 100% at 80% 0%, #000 30%, transparent 85%); + } + + /* Layer A — routing network graph */ + .evnd__bg-net { width: 100%; height: 100%; opacity: 0.11; } + .evnd__bg-mesh { opacity: 0.55; } + .evnd__bg-nodes circle { + transform-box: fill-box; + transform-origin: center; + animation: evndNode 3.6s ease-in-out infinite; + } + @keyframes evndNode { 0%,100% { opacity: 0.45; } 50% { opacity: 1; } } + .evnd__bg-flow { + opacity: 0.85; + stroke-dasharray: 14 320; + animation: evndFlow 7s linear infinite; + } + .evnd__bg-flow--2 { animation-duration: 9s; animation-delay: -3s; } + @keyframes evndFlow { to { stroke-dashoffset: -334; } } + + /* Layer C — ambient glow field (slow breathing, 9–11s) */ + .evnd__bg-glow { inset: auto; border-radius: 50%; filter: blur(46px); } + .evnd__bg-glow--a { + top: -6%; right: -6%; + width: 58%; height: 50%; + background: radial-gradient(50% 50% at 50% 50%, var(--cg), transparent 72%); + animation: evndBreathe 9.5s ease-in-out infinite; + } + .evnd__bg-glow--b { + bottom: -8%; left: -10%; + width: 52%; height: 46%; + background: radial-gradient(50% 50% at 50% 50%, color-mix(in srgb, var(--ca2) 55%, var(--cg)), transparent 72%); + opacity: 0.6; + animation: evndBreathe 11.5s ease-in-out infinite; + animation-delay: -4s; + } + @keyframes evndBreathe { + 0%,100% { opacity: 0.4; transform: scale(0.96); } + 50% { opacity: 0.85; transform: scale(1.06); } + } + + /* Layer D — data particles (sparse, slow drift) */ + .evnd__bg-particles span { + position: absolute; + width: 3px; height: 3px; + border-radius: 50%; + background: currentColor; + opacity: 0; + box-shadow: 0 0 6px currentColor; + animation-name: evndParticle; + animation-timing-function: ease-in-out; + animation-iteration-count: infinite; + } + @keyframes evndParticle { + 0% { opacity: 0; transform: translateY(8px); } + 20% { opacity: 0.5; } + 80% { opacity: 0.5; } + 100% { opacity: 0; transform: translateY(-22px); } + } + + .evnd__cards-head, + .evnd__cards-stage, + .evnd__cards-nav { position: relative; z-index: 1; } + + /* dashboard header row */ + .evnd__cards-head { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + padding-bottom: 4px; + } + .evnd__cards-live { + display: inline-flex; + align-items: center; + gap: 9px; + color: var(--ca) !important; + font-weight: 800; + font-size: 12px; + letter-spacing: 0.16em; + text-transform: uppercase; + } + .evnd__cards-livedot { + width: 8px; height: 8px; + border-radius: 50%; + background: var(--ca); + box-shadow: 0 0 0 0 var(--cg); + animation: evndPulse 1.8s ease-out infinite; + } + @keyframes evndPulse { + 0% { box-shadow: 0 0 0 0 var(--cg); opacity: 1; } + 70% { box-shadow: 0 0 0 8px transparent; opacity: 0.7; } + 100% { box-shadow: 0 0 0 0 transparent; opacity: 1; } + } + .evnd__cards-sys { + color: rgba(255,255,255,0.4) !important; + font-weight: 700; + font-size: 11px; + letter-spacing: 0.18em; + text-transform: uppercase; + } + + .evnd__cards-stage { display: grid; } + + .evnd__card { + grid-area: 1 / 1; + position: relative; + display: flex; + flex-direction: column; + opacity: 0; + transform: translateY(14px); + transition: opacity 0.6s ease, transform 0.6s cubic-bezier(.25,1,.5,1); + pointer-events: none; + } + .evnd__card.is-active { + opacity: 1; + transform: translateY(0); + pointer-events: auto; + } + + /* status pill */ + .evnd__card-status { + display: inline-flex; + align-items: center; + gap: 8px; + align-self: flex-start; + color: rgba(255,255,255,0.82) !important; + font-weight: 700; + font-size: 11px; + letter-spacing: 0.14em; + text-transform: uppercase; + padding: 7px 13px; + background: color-mix(in srgb, var(--ca) 12%, rgba(255,255,255,0.02)); + border: 1px solid color-mix(in srgb, var(--ca) 35%, transparent); + border-radius: 999px; + margin-bottom: 20px; + } + .evnd__card-statusdot { + width: 7px; height: 7px; + border-radius: 50%; + background: var(--ca); + box-shadow: 0 0 8px var(--ca); + animation: evndPulse 1.8s ease-out infinite; + } + + /* hero metric */ + .evnd__card-hero { + display: flex; + flex-direction: column; + gap: 4px; + margin-bottom: 22px; + } + .evnd__card-metric { + display: inline-flex; + align-items: baseline; + color: #fff !important; + font-weight: 800; + font-size: clamp(48px, 6vw, 68px); + line-height: 0.95; + letter-spacing: -0.02em; + background: linear-gradient(120deg, #fff 0%, var(--ca) 120%); + -webkit-background-clip: text; + background-clip: text; + -webkit-text-fill-color: transparent; + } + .evnd__card-metric i { + font-style: normal; + font-size: 0.5em; + font-weight: 800; + margin-left: 4px; + -webkit-text-fill-color: var(--ca); + color: var(--ca); + } + .evnd__card-metriclabel { + color: rgba(255,255,255,0.6) !important; + font-weight: 600; + font-size: 14px; + letter-spacing: 0.02em; + } + + .evnd__card-title { + color: #fff !important; + font-weight: 800 !important; + font-size: clamp(17px, 1.7vw, 20px) !important; + line-height: 1.2 !important; + letter-spacing: 0.02em; + text-transform: uppercase; + margin: 0 0 16px 0 !important; + } + + /* outcome indicators */ + .evnd__card-kpis { + list-style: none; + margin: 0 0 18px 0; + padding: 0; + display: grid; + gap: 11px; + } + .evnd__cards .evnd__card-kpis li { + display: flex; + align-items: center; + gap: 11px; + /* override the global ".logico-front-end ul li" padding + ::before glyph */ + padding: 0; + color: rgba(255,255,255,0.82) !important; + font-weight: 600; + font-size: 14px; + letter-spacing: 0.01em; + } + .evnd__cards .evnd__card-kpis li::before { content: none !important; display: none !important; } + .evnd__card-kpis svg { + flex: none; + width: 18px; height: 18px; + padding: 3px; + color: var(--ca); + background: color-mix(in srgb, var(--ca) 14%, transparent); + border: 1px solid color-mix(in srgb, var(--ca) 34%, transparent); + border-radius: 6px; + } + + .evnd__card-desc { + color: rgba(255,255,255,0.58) !important; + font-weight: 400 !important; + font-size: 15.5px !important; + line-height: 1.7 !important; + margin: 0 !important; + } + + .evnd__cards-nav { + display: flex; + align-items: center; + justify-content: space-between; + gap: 16px; + margin-top: 6px; + padding-top: 18px; + border-top: 1px solid rgba(255,255,255,0.06); + } + .evnd__cards-counter { + color: rgba(255,255,255,0.5) !important; + font-weight: 700; + font-size: 13px; + letter-spacing: 0.08em; + } + .evnd__cards-bars { display: flex; gap: 8px; } + .evnd__cards-bar { + width: 40px; + height: 3px; + border: none; + padding: 0; + background: rgba(255,255,255,0.15); + border-radius: 999px; + cursor: pointer; + transition: background-color 0.3s ease, width 0.3s ease; + } + .evnd__cards-bar.is-active { width: 56px; background: var(--ca); } + .evnd__cards-bar:hover { background: rgba(255,255,255,0.35); } + .evnd__cards-bar.is-active:hover { background: var(--ca); } + + @media (prefers-reduced-motion: reduce) { + .evnd__bg-flow, .evnd__bg-nodes circle, .evnd__bg-glow, .evnd__bg-particles span, + .evnd__cards-livedot, .evnd__card-statusdot { animation: none !important; } + .evnd__bg-particles span { opacity: 0.4; } + } + + /* ---- BOTTOM BAR ---- */ + .evnd__bar { + display: grid; + grid-template-columns: repeat(4, 1fr); + background: rgba(255,255,255,0.02); + border: 1px solid rgba(255,255,255,0.06); + border-radius: 16px; + overflow: hidden; + margin-top: 60px; + padding: 38px 0; + } + .evnd__bar-item { + position: relative; + display: flex; + flex-direction: column; + gap: 12px; + align-items: center; + justify-content: center; + text-align: center; + padding: 12px 24px; + } + .evnd__bar-item:not(:last-child)::after { + content: ''; + position: absolute; + right: 0; + top: 15%; + height: 70%; + width: 1px; + background: rgba(255, 255, 255, 0.08); + } + + .evnd__bar-val { + color: #ef4444 !important; + font-weight: 800; + font-size: clamp(32px, 4vw, 56px); + line-height: 1; + } + .evnd__bar-label { + color: #fff !important; + font-size: 14px; + font-weight: 600; + letter-spacing: 0.02em; + text-transform: none; + opacity: 0.9; + } + + @keyframes evndGlow { 0%,100% { opacity: 0.75; } 50% { opacity: 1; } } + + /* ---- Responsive ---- */ + @media (max-width: 1024px) { + .evnd-gap-top { margin-top: 32px !important; } + .evnd-gap-bottom { margin-bottom: 32px !important; } + } + @media (max-width: 991px) { + .evnd { padding: 48px 32px 56px; } + .evnd__grid { grid-template-columns: 1fr; gap: 40px; } + .evnd__title { margin-bottom: 28px; } + .evnd__features { gap: 14px; } + } + @media (max-width: 767px) { + .evnd-gap-top { margin-top: 24px !important; } + .evnd-gap-bottom { margin-bottom: 24px !important; } + /* Pull the KPI bar up close to the card (was a 60px desktop gap) so + there's no large vertical dead zone before the KPIs on mobile. */ + .evnd__bar { grid-template-columns: repeat(2, 1fr); gap: 24px 0; padding: 24px 0; margin-top: 24px; } + .evnd__bar-item:nth-child(even)::after { display: none; } + .evnd__bar-item:nth-child(2)::after { display: none; } + .evnd__bar-item { padding: 12px 16px; } + + /* ---- Scene overlay cleanup (mobile) ---- + Keep only the primary top-left KPI badge; the second (bottom-right) + badge duplicates info in the insight card and covers the route + visualization, so it is removed. The remaining badge is scaled down + (~0.72) so it never dominates the now-shorter scene. */ + .evnd__badge--br { display: none !important; } + .evnd__badge--tl { transform: scale(0.72); transform-origin: top left; } + + /* ---- Horizontal alignment (WF1 / WF2 only) ---- + The stacked scene column is a grid 1fr track whose auto-minimum + equals the Three.js canvas min-content (~244px). At 320px that floor + is wider than the available column, forcing the whole section ~18px + past its container (left-aligned) → unequal left/right gaps. + minmax(0,1fr) + min-width:0 let the scene/card columns shrink to the + container so the scene, card and KPI bar share one symmetric width and + centre perfectly. Scoped to .evnd__grid--cards (WF1/WF2), so the + homepage EV section is untouched. */ + .evnd__grid--cards { grid-template-columns: minmax(0, 1fr); } + .evnd__grid--cards .evnd__left, + .evnd__grid--cards .evnd__right, + .evnd__grid--cards .evnd__media, + .evnd__grid--cards .evnd__cards { min-width: 0; } + } + @media (max-width: 480px) { + .evnd { padding: 40px 16px 48px; } + /* keep the stat bar a compact 2\xd72 on phones (inherits the centre + divider from the ≤767 rules) instead of a tall single column */ + .evnd__bar { grid-template-columns: repeat(2, 1fr); gap: 18px 0; padding: 22px 0; } + .evnd__bar-item { padding: 10px 12px; gap: 8px; } + .evnd__bar-val { font-size: clamp(26px, 9vw, 34px); } + .evnd__bar-label { font-size: 12.5px; } + /* badge already scaled to 0.72 via the ≤767 rule — keep desktop + internals so the scale (not double-reduction) controls its size */ + + /* feature cards: tighter, no overflow, more room for text */ + .evnd-feature { + grid-template-columns: 40px minmax(0, 1fr); + gap: 14px; + padding: 18px 16px; + } + .evnd-feature__icon-container { width: 40px; height: 40px; border-radius: 10px; } + .evnd-icon { width: 20px; height: 20px; } + .evnd-feature__title { font-size: 14px !important; letter-spacing: 0.03em; margin: 2px 0 6px; padding-right: 22px; } + .evnd-feature__desc { font-size: 13px !important; line-height: 1.55 !important; } + /* arrow occupies its own slot to the right of the icon, no extra column */ + .evnd-feature__arrow { position: absolute; top: 16px; right: 16px; margin: 0; } + + /* ---- Compact mobile insight card (standard mobile, 390–480px). + Tighter spacing, smaller typography and a 2-line-clamped + description so the card stays ~380–480px tall and the KPI bar + is reached with far less scrolling. ---- */ + .evnd__cards { padding: 20px 18px 16px; gap: 14px; } + .evnd__cards-sys { display: none; } + .evnd__cards-head { padding-bottom: 0; } + .evnd__cards-live { font-size: 11px; } + .evnd__card-status { margin-bottom: 14px; padding: 6px 12px; font-size: 10.5px; } + .evnd__card-hero { margin-bottom: 12px; gap: 2px; } + .evnd__card-metric { font-size: clamp(38px, 12vw, 50px); } + .evnd__card-metriclabel { font-size: 13px; } + .evnd__card-title { font-size: 15px !important; margin: 0 0 12px 0 !important; } + .evnd__card-kpis { margin: 0; gap: 9px; } + .evnd__card-kpis li { font-size: 14px; } + .evnd__card-kpis svg { width: 17px; height: 17px; } + /* Drop the paragraph on mobile — the status, metric, title and + bullets carry the meaning; this is the single biggest height + saving and matches the compact mobile structure. */ + .evnd__card-desc { display: none; } + .evnd__cards-nav { margin-top: 14px; padding-top: 14px; } + .evnd__cards-bar { width: 30px; } + .evnd__cards-bar.is-active { width: 44px; } + } + /* ---- Medium mobile (≤389px, e.g. 360/375): a notch tighter ---- */ + @media (max-width: 389px) { + .evnd__cards { padding: 18px 16px 14px; gap: 12px; } + .evnd__card-status { margin-bottom: 12px; } + .evnd__card-hero { margin-bottom: 10px; } + .evnd__card-metric { font-size: clamp(36px, 11.5vw, 46px); } + .evnd__card-title { font-size: 14.5px !important; margin-bottom: 10px !important; } + .evnd__card-kpis { gap: 8px; } + .evnd__card-kpis li { font-size: 13.5px; } + .evnd__cards-nav { margin-top: 12px; padding-top: 12px; } + } + /* ---- Compact mobile (≤340px, e.g. 320): tightest. Drop the paragraph + entirely — the bullets carry the meaning — so nothing overflows. ---- */ + @media (max-width: 340px) { + .evnd__cards { padding: 16px 14px 12px; gap: 10px; } + .evnd__card-status { margin-bottom: 10px; padding: 5px 10px; font-size: 10px; letter-spacing: 0.1em; } + .evnd__card-hero { margin-bottom: 8px; } + .evnd__card-metric { font-size: 34px; } + .evnd__card-metriclabel { font-size: 12px; } + .evnd__card-title { font-size: 13.5px !important; margin-bottom: 8px !important; } + .evnd__card-kpis { gap: 7px; } + .evnd__card-kpis li { font-size: 13px; gap: 9px; } + .evnd__card-kpis svg { width: 16px; height: 16px; } + .evnd__cards-nav { margin-top: 10px; padding-top: 10px; } + } + `}}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-bbc6760 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent"+(w?" evnd-gap-top":"")+(y?" evnd-gap-bottom":""),"data-id":"bbc6760","data-element_type":"container","data-e-type":"container","aria-label":j,style:{backgroundColor:"#0d0d0d",width:"calc(100% - 40px)",marginLeft:"20px",marginRight:"20px",borderRadius:"25px",overflow:"hidden"},children:[(0,t.jsx)("div",{ref:S,className:"elementor-element elementor-element-7da6646 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"7da6646","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}',style:{backgroundPosition:"center 0px",backgroundImage:`url(${e})`,backgroundSize:"cover",backgroundRepeat:"no-repeat",position:"relative",zIndex:2,borderRadius:"25px 25px 0 0",overflow:"hidden"}}),(0,t.jsx)("div",{className:"elementor-element elementor-element-8b5d6e6 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"8b5d6e6","data-element_type":"container","data-e-type":"container",children:(0,t.jsxs)("div",{className:"elementor-element elementor-element-1f766ea e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"1f766ea","data-element_type":"container","data-e-type":"container",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-3b61435 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"3b61435","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}',children:[l&&(0,t.jsx)("div",{className:"elementor-element elementor-element-c364d1c elementor-widget elementor-widget-text-editor","data-id":"c364d1c","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:l})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-239afbb elementor-widget elementor-widget-logico_heading","data-id":"239afbb","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("h5",{className:"logico-title",children:c})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-0d307dd elementor-widget elementor-widget-text-editor","data-id":"0d307dd","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:p})})})]}),(0,t.jsx)("div",{className:"elementor-element elementor-element-5aea22e e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5aea22e","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}'})]})}),(0,t.jsx)("section",{className:"evnd","aria-label":j??"EV-Native Design",children:(0,t.jsxs)("div",{className:"evnd__inner",children:[(0,t.jsx)("span",{className:"evnd__eyebrow",children:m}),(0,t.jsxs)("h2",{className:"evnd__title",children:[g,(0,t.jsx)("span",{className:"accent",children:u})]}),(0,t.jsxs)("div",{className:`evnd__grid${E?" evnd__grid--cards":""}`,children:[(0,t.jsx)("div",{className:"evnd__left",children:(0,t.jsxs)("div",{className:"evnd__media",children:[(0,t.jsx)("div",{className:"evnd__glow"}),(0,t.jsxs)("div",{className:`evnd__imgwrap${k?" evnd__imgwrap--media":""}`,children:[k||(0,t.jsx)("img",{className:"evnd__img",src:x,alt:v,decoding:"async"}),b[0]&&(0,t.jsxs)("div",{className:"evnd__badge evnd__badge--tl",children:[(0,t.jsx)("b",{children:b[0].value}),(0,t.jsx)("span",{children:b[0].label})]}),b[1]&&(0,t.jsxs)("div",{className:"evnd__badge evnd__badge--br",children:[(0,t.jsx)("b",{children:b[1].value}),(0,t.jsx)("span",{children:b[1].label})]})]})]})}),(0,t.jsx)("div",{className:"evnd__right",children:E?(0,t.jsx)(h,{slides:N,heading:z,theme:L}):(0,t.jsx)("div",{className:"evnd__features",children:f.map(e=>(0,t.jsxs)("div",{className:"evnd-feature",children:[(0,t.jsx)("div",{className:"evnd-feature__icon-container","aria-hidden":"true",children:e.icon}),(0,t.jsxs)("div",{className:"evnd-feature__body",children:[(0,t.jsx)("div",{className:"evnd-feature__title",children:e.title}),(0,t.jsx)("p",{className:"evnd-feature__desc",children:e.desc})]}),(0,t.jsx)("span",{className:"evnd-feature__arrow","aria-hidden":"true",children:"↗"})]},e.title))})})]}),(0,t.jsx)("div",{className:"evnd__bar",children:_.map(e=>(0,t.jsxs)("div",{className:"evnd__bar-item",children:[(0,t.jsx)("span",{className:"evnd__bar-label",children:e.label}),(0,t.jsx)(d,{value:e.value,decimals:e.decimals,suffix:e.suffix,className:"evnd__bar-val"})]},e.label))})]})})]})]})}])},58829,e=>{"use strict";var t=e.i(43476),n=e.i(71645);function a({from:e,to:i,duration:r=2e3,decimals:o=0,suffix:s=""}){let[d,l]=(0,n.useState)(e);return(0,n.useEffect)(()=>{let t=null,n=a=>{t||(t=a);let o=Math.min((a-t)/r,1);l(o*(i-e)+e),o<1&&window.requestAnimationFrame(n)};window.requestAnimationFrame(n)},[e,i,r]),(0,t.jsxs)(t.Fragment,{children:[d.toFixed(o),s]})}e.s(["default",0,function(){let[e,i]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{requestAnimationFrame(()=>i(!0))},[]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:` + /* ── Hero wrapper: column layout, zero gap between hero + stats ── */ + .miletruth-hero .elementor-element-86f3204 { + display: flex; + flex-direction: column; + gap: 0; + margin: 0; + padding: 0 20px; + } + + /* ── Hero slider card ── */ + .miletruth-hero-container { + background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.15) 55%, rgba(0, 0, 0, 0.3) 100%), url('/images/miletruth-bg.png') !important; + background-size: cover !important; + background-position: center !important; + background-repeat: no-repeat !important; + /* Match the home page hero card (800px) so MileTruth has the same visual + presence on large desktop, MacBook M1/Pro, and standard laptops. */ + min-height: 800px; + display: flex; + flex-direction: column; + justify-content: center; + border-radius: 25px 25px 0 0; + margin-top: 20px; + padding: 100px 40px; + } + .miletruth-hero-container::before { + display: none !important; + } + .miletruth-content { + position: relative; + z-index: 2; + width: 100%; + padding: 0 40px !important; + box-sizing: border-box; + } + .miletruth-hero .content-slider-item-heading, + .miletruth-hero .content-slider-item-heading .heading-content { + color: rgba(255, 255, 255, 0.96) !important; + font-family: var(--font-manrope), "Manrope", sans-serif !important; + font-size: clamp(34px, 5.5vw, 72px) !important; + font-weight: 850 !important; + line-height: 1.05 !important; + letter-spacing: -1.5px !important; + text-transform: uppercase !important; + text-align: center !important; + display: block; + } + .miletruth-hero .content-slider-item-text { + margin-top: 22px !important; + text-align: center !important; + } + .miletruth-hero .content-slider-item-text p { + color: rgba(255, 255, 255, 0.72) !important; + font-family: var(--font-manrope), "Manrope", sans-serif !important; + font-size: clamp(17px, 1.6vw, 23px) !important; + font-weight: 500 !important; + line-height: 1.65 !important; + margin: 0 auto !important; + max-width: 820px; + } + .miletruth-hero .slide-content { + display: flex !important; + flex-direction: column !important; + align-items: center !important; + justify-content: center !important; + text-align: center !important; + width: 100% !important; + height: 100% !important; + padding: 0 40px !important; + box-sizing: border-box !important; + } + .miletruth-hero .slide-content, + .miletruth-hero .slide-content-inner { + /* These carry inherited 20px padding from the slider theme with + content-box sizing, so width:100% + padding overflowed the viewport + by ~40px and pushed the hero off-center. Force border-box so the + padding is contained and the block stays centered. */ + box-sizing: border-box !important; + } + .miletruth-hero .slide-content-inner { + display: flex !important; + flex-direction: column !important; + align-items: center !important; + justify-content: center !important; + text-align: center !important; + margin-left: auto !important; + margin-right: auto !important; + max-width: 1000px !important; + width: 100% !important; + } + .miletruth-hero .content-slider-item-heading, + .miletruth-hero .content-slider-item-heading .heading-content { + text-align: center !important; + display: block !important; + width: 100% !important; + margin-left: auto !important; + margin-right: auto !important; + } + .miletruth-hero .content-slider-item-text { + display: flex !important; + justify-content: center !important; + width: 100% !important; + margin-top: 23px !important; + text-align: center !important; + } + .miletruth-hero .text-content { + text-align: center !important; + max-width: 800px !important; + margin: 0 auto !important; + } + /* The "logico" slider reveal animation leaves these at opacity:0 until + its JS runs (absent in this rebuild), hiding the heading + subtitle. + Force them visible. */ + .miletruth-hero .content-slider-item-heading, + .miletruth-hero .content-slider-item-text, + .miletruth-hero .logico-content-wrapper-1, + .miletruth-hero .logico-content-wrapper-2 { + opacity: 1 !important; + transform: none !important; + visibility: visible !important; + } + + /* ══════════════════════════════════════════════════════════════════ + Stats bar — dark rounded card overlapping the hero bottom + ══════════════════════════════════════════════════════════════════ */ + .miletruth-hero .elementor-element-8e5c81e { + display: flex !important; + flex-direction: column !important; + justify-content: center !important; + width: 100% !important; + margin: -25px 0 0 0 !important; + background-color: #1F1F1F !important; + border-radius: 25px !important; + padding: 40px 0 !important; + position: relative !important; + z-index: 1 !important; + } + .miletruth-hero .elementor-element-8e5c81e > .e-con-inner { + width: 100% !important; + max-width: 1440px !important; + height: auto !important; + margin: 0 auto !important; + padding: 0 40px !important; + flex-grow: 0 !important; + box-sizing: border-box !important; + } + + /* 4-col grid for counter widgets — rows size to content (not 1fr of the + container) so the counters aren't parked at the top of a tall row. */ + .miletruth-hero .elementor-element-628123a { + display: grid !important; + grid-template-columns: repeat(4, 1fr) !important; + grid-template-rows: auto !important; + height: auto !important; + gap: 40px !important; + width: 100% !important; + justify-items: start !important; + align-items: start !important; + align-content: start !important; + } + + /* Counter: title on top, number below, left-aligned */ + .miletruth-hero .elementor-counter { + display: flex !important; + flex-direction: column !important; + align-items: flex-start !important; + text-align: left !important; + } + + /* Counter title — above the number */ + .miletruth-hero .elementor-counter-title { + font-family: var(--font-manrope), "Manrope", sans-serif !important; + font-size: 20px !important; + font-weight: 600 !important; + line-height: 1.3em !important; + color: #FFFFFF !important; + margin-bottom: 12px !important; + text-transform: none !important; + } + + /* Counter number wrapper — centered */ + .miletruth-hero .elementor-counter-number-wrapper { + font-family: var(--font-space-grotesk), "Space Grotesk", var(--font-manrope), "Manrope", sans-serif !important; + font-size: clamp(48px, 6.5vw, 100px) !important; + font-weight: 700 !important; + line-height: 1em !important; + color: #C01227 !important; + letter-spacing: -0.03em !important; + display: flex !important; + align-items: baseline !important; + justify-content: flex-start !important; + } + .miletruth-hero .elementor-counter-number { + color: #C01227 !important; + font-size: inherit !important; + font-weight: inherit !important; + } + .miletruth-hero .elementor-counter-number-suffix { + color: #C01227 !important; + font-size: inherit !important; + font-weight: inherit !important; + letter-spacing: -0.03em !important; + } + + /* ── Responsive ── */ + @media (max-width: 1200px) { + .miletruth-hero .content-slider-item-heading, + .miletruth-hero .content-slider-item-heading .heading-content { + font-size: 60px !important; + } + } + @media (max-width: 1024px) { + .miletruth-hero-container { + min-height: 600px; + padding: 120px 0; + } + .miletruth-hero .elementor-element-8e5c81e { + padding: 40px 0 !important; + } + .miletruth-hero .elementor-element-628123a { + grid-template-columns: repeat(2, 1fr) !important; + gap: 50px 40px !important; + } + .miletruth-hero .content-slider-item-heading, + .miletruth-hero .content-slider-item-heading .heading-content { + font-size: 50px !important; + line-height: 1.1 !important; + } + } + @media (max-width: 768px) { + .miletruth-hero .content-slider-item-heading, + .miletruth-hero .content-slider-item-heading .heading-content { + font-size: 40px !important; + line-height: 1.12 !important; + } + .miletruth-hero .content-slider-item-text p { + font-size: 16px !important; + } + } + @media (max-width: 580px) { + .miletruth-hero-container { + min-height: 500px; + padding: 100px 0; + } + .miletruth-hero .elementor-element-86f3204 { + padding: 0 12px; + } + /* Collapse the nested horizontal padding (was 40px + 40px on top of the + 12px wrapper) — at 320px that left only ~136px for text and the long + heading words overflowed, causing horizontal scroll + off-center look. */ + .miletruth-content { + padding: 0 14px !important; + } + .miletruth-hero .slide-content { + padding: 0 !important; + } + .miletruth-hero .elementor-element-8e5c81e { + padding: 30px 0 !important; + border-radius: 20px !important; + } + .miletruth-hero .elementor-element-8e5c81e > .e-con-inner { + padding: 0 20px !important; + } + .miletruth-hero .elementor-element-628123a { + grid-template-columns: 1fr !important; + gap: 36px !important; + } + .miletruth-hero .content-slider-item-heading, + .miletruth-hero .content-slider-item-heading .heading-content { + font-size: clamp(26px, 8vw, 32px) !important; + letter-spacing: -0.5px !important; + /* never let a single long word push past the viewport */ + overflow-wrap: break-word; + word-break: break-word; + } + } + `}}),(0,t.jsx)("div",{className:"elementor-63 miletruth-hero",children:(0,t.jsxs)("div",{className:"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","data-e-type":"container",children:[(0,t.jsx)("div",{className:"miletruth-hero-container",children:(0,t.jsx)("div",{className:"e-con-inner miletruth-content",children:(0,t.jsx)("div",{className:"logico-content-slider-widget",children:(0,t.jsx)("div",{className:"content-slider-wrapper",children:(0,t.jsx)("div",{className:"content-slider-container",children:(0,t.jsx)("div",{className:"content-slider owl-carousel owl-theme",children:(0,t.jsx)("div",{className:"content-item slider-item elementor-repeater-item-6867061 slide-style-standard",children:(0,t.jsx)("div",{className:"slide-content",style:{paddingLeft:0,paddingRight:0},children:(0,t.jsxs)("div",{className:"slide-content-inner",children:[(0,t.jsx)("h1",{className:"content-slider-item-heading logico-content-wrapper-1",children:(0,t.jsxs)("span",{className:"heading-content",children:["The Only AI Built",(0,t.jsx)("br",{}),"Exclusively for Logistics"]})}),(0,t.jsx)("div",{className:"content-slider-item-text logico-content-wrapper-2",children:(0,t.jsx)("div",{className:"text-content",children:(0,t.jsx)("p",{children:"Optimizes every stage of the delivery journey for maximum efficiency."})})})]})})})})})})})})}),(0,t.jsx)("div",{className:"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-e-type":"container","data-settings":'{"background_background":"classic"}',children:(0,t.jsx)("div",{className:"e-con-inner",children:(0,t.jsxs)("div",{className:"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","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-1da88b5 elementor-widget elementor-widget-counter","data-id":"1da88b5","data-element_type":"widget","data-e-type":"widget","data-widget_type":"counter.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-counter",children:[(0,t.jsx)("div",{className:"elementor-counter-title",children:"SLA Compliance"}),(0,t.jsxs)("div",{className:"elementor-counter-number-wrapper",children:[(0,t.jsx)("span",{className:"elementor-counter-number",children:e?(0,t.jsx)(a,{from:1,to:99.9,decimals:1,suffix:""}):"1"}),(0,t.jsx)("span",{className:"elementor-counter-number-suffix",children:" %"})]})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-1da88b5 elementor-widget elementor-widget-counter","data-id":"1da88b5-2","data-element_type":"widget","data-e-type":"widget","data-widget_type":"counter.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-counter",children:[(0,t.jsx)("div",{className:"elementor-counter-title",children:"Distance Saved"}),(0,t.jsxs)("div",{className:"elementor-counter-number-wrapper",children:[(0,t.jsx)("span",{className:"elementor-counter-number",children:e?(0,t.jsx)(a,{from:1,to:42,decimals:0,suffix:""}):"1"}),(0,t.jsx)("span",{className:"elementor-counter-number-suffix",children:" %"})]})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-1da88b5 elementor-widget elementor-widget-counter","data-id":"1da88b5-3","data-element_type":"widget","data-e-type":"widget","data-widget_type":"counter.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-counter",children:[(0,t.jsx)("div",{className:"elementor-counter-title",children:"Fewer Vehicles"}),(0,t.jsxs)("div",{className:"elementor-counter-number-wrapper",children:[(0,t.jsx)("span",{className:"elementor-counter-number",children:e?(0,t.jsx)(a,{from:1,to:37,decimals:0,suffix:""}):"1"}),(0,t.jsx)("span",{className:"elementor-counter-number-suffix",children:" %"})]})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-a1cf3d4 elementor-widget elementor-widget-counter","data-id":"a1cf3d4","data-element_type":"widget","data-e-type":"widget","data-widget_type":"counter.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-counter",children:[(0,t.jsx)("div",{className:"elementor-counter-title",children:"Dispatch Latency"}),(0,t.jsxs)("div",{className:"elementor-counter-number-wrapper",children:[(0,t.jsx)("span",{className:"elementor-counter-number",children:e?(0,t.jsx)(a,{from:1,to:45,decimals:0,suffix:""}):"45"}),(0,t.jsx)("span",{className:"elementor-counter-number-suffix",children:"ms"})]})]})})})]})})})]})})]})}])},16971,e=>{"use strict";var t=e.i(43476),n=e.i(71645),a=e.i(70703);let i=(0,a.default)(()=>e.A(49712),{loadableGenerated:{modules:[29539]},ssr:!1}),r=(0,a.default)(()=>e.A(40999),{loadableGenerated:{modules:[39184]},ssr:!1}),o={optimization:"#020617",logistics:"#08080c"},s={optimization:{center:.78,amp:.14,speed:.5,still:.85},logistics:{center:.5,amp:.13,speed:.4,still:.52}};e.s(["default",0,function({variant:e,ariaLabel:a}){let d=(0,n.useRef)(null),l=(0,n.useRef)(s[e].still),[c,p]=(0,n.useState)(!1),[m,g]=(0,n.useState)(!1),[h,u]=(0,n.useState)(!1),[f,x]=(0,n.useState)(!1),[v,b]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{let e=window.matchMedia("(max-width: 767px)"),t=window.matchMedia("(min-width: 768px) and (max-width: 1024px)"),n=window.matchMedia("(prefers-reduced-motion: reduce)"),a=()=>{u(e.matches),x(t.matches),b(n.matches)};return a(),e.addEventListener("change",a),t.addEventListener("change",a),n.addEventListener("change",a),()=>{e.removeEventListener("change",a),t.removeEventListener("change",a),n.removeEventListener("change",a)}},[]),(0,n.useEffect)(()=>{let e=d.current;if(!e)return;let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(p(!0),g(!0),t.disconnect())},{rootMargin:"60% 0px"}),n=new IntersectionObserver(e=>g(e.some(e=>e.isIntersecting)),{rootMargin:"10% 0px"});return t.observe(e),n.observe(e),()=>{t.disconnect(),n.disconnect()}},[]),(0,n.useEffect)(()=>{let t=s[e];if(v){l.current=t.still;return}if(!m)return;let n=0,a=()=>{let e=performance.now()/1e3;l.current=t.center+Math.sin(e*t.speed)*t.amp,n=requestAnimationFrame(a)};return n=requestAnimationFrame(a),()=>cancelAnimationFrame(n)},[e,v,m]),(0,t.jsxs)("div",{ref:d,className:"wf-scene",role:"img","aria-label":a??"DoorMile 3D logistics scene",style:{background:o[e]},children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:` + .wf-scene { + position: relative; + width: 100%; + /* Compact, fixed-ratio media panel — replaces the multi-viewport pinned + scroll experience so the workflow is dramatically shorter. */ + aspect-ratio: 4 / 3; + border-radius: 16px; + overflow: hidden; + } + .wf-scene__canvas { position: absolute; inset: 0; } + .wf-scene__canvas canvas { display: block; width: 100% !important; height: 100% !important; } + @media (max-width: 991px) { + .wf-scene { aspect-ratio: 16 / 10; } + } + /* Phones: shorter scene panel (~17% less tall than the old 4/3) so the + card + KPI bar are reached sooner. The closer mobile camera framing + keeps the depot/routes/vehicles readable in the reduced height. */ + @media (max-width: 480px) { + .wf-scene { aspect-ratio: 16 / 10; } + } + `}}),(0,t.jsx)("div",{className:"wf-scene__canvas",children:c&&("optimization"===e?(0,t.jsx)(i,{progress:l,reduced:v,isMobile:h,isTablet:f,active:m}):(0,t.jsx)(r,{progress:l,reduced:v,isMobile:h,active:m}))})]})}])},76756,e=>{"use strict";var t=e.i(43476),n=e.i(14224),a=e.i(16971);let i={accent:"#00E5FF",accent2:"#3B82F6",glow:"rgba(0,229,255,0.22)"},r=[{status:"Optimization Running",title:"Route Optimization",value:42,suffix:"%",metricLabel:"Distance Saved",kpis:["Route optimization active","37% fewer vehicles required","SLA compliance 99.9%"],desc:"AI selects the most efficient delivery paths across every zone, cutting unnecessary travel and fuel and battery consumption."},{status:"Fleet Balancing",title:"Distance Reduction",value:37,suffix:"%",metricLabel:"Fewer Vehicles",kpis:["Load balancing engaged","Same volume, leaner fleet","Lower maintenance & staffing"],desc:"Intelligent load balancing fulfils the same order volume with a leaner, better-utilised fleet — fewer miles, fewer vehicles."},{status:"Dispatch Active",title:"Fleet Efficiency",value:31,suffix:"%",metricLabel:"Lower Operating Cost",kpis:["Higher fleet utilisation","Predictable operations","Reduced fuel & overhead"],desc:"Smart grouping and dispatch keep operations smooth and predictable while reducing maintenance and staffing cost."},{status:"SLA Safe",title:"SLA Performance",value:99.9,decimals:1,suffix:"%",metricLabel:"On-Time Delivery",kpis:["Real-time route correction","Consistent delivery windows","100% order fulfilment"],desc:"Real-time routing keeps deliveries on time across all zones, sustaining high customer satisfaction and SLA performance."}],o=[{value:"-42%",label:"DISTANCE SAVED"},{value:"-37%",label:"FEWER VEHICLES"}],s=[{value:42,suffix:"%",label:"Distance Saved"},{value:28,suffix:"%",label:"Faster Routes"},{value:31,suffix:"%",label:"Lower Cost"},{value:99.9,decimals:1,suffix:"%",label:"On-Time"}];e.s(["default",0,function(){return(0,t.jsx)(n.default,{ariaLabel:"Workflow 1 — Performance",gapTop:!0,gapBottom:!0,bannerImage:"/images/home3-slide-1.jpg",cardTitle:"OPTIMIZE EVERY MILE",cardSubtitle:"Cut travel distance, reduce operating cost, and improve fleet productivity across every route.",eyebrow:"/ Performance /",titleLead:"SMARTER ROUTES. ",titleAccent:"LOWER COSTS.",mediaSlot:(0,t.jsx)(a.default,{variant:"optimization",ariaLabel:"Live route optimization engine"}),slides:r,cardsHeading:"Performance Insight",cardsTheme:i,badges:o,stats:s})}])},38730,e=>{"use strict";var t=e.i(43476),n=e.i(14224),a=e.i(16971);let i={accent:"#E2354A",accent2:"#F59E0B",glow:"rgba(226,53,74,0.24)"},r=[{status:"Generating Routes",title:"Generate Routes",value:6,suffix:" plans",metricLabel:"Route Plans Generated",kpis:["Parallel strategies explored","59 orders in scope","Real-time combinations"],desc:"The Parallel Universe Engine evaluates many routing strategies at once for every dispatch window, exploring route combinations in real time."},{status:"Constraints Passed",title:"Check Constraints",value:5,metricLabel:"Constraints Evaluated",kpis:["Battery aware","Capacity & distance checked","Powered by Google OR-Tools"],desc:"Battery, distance, capacity and time are first-class inputs — battery-aware simulation solves the EV routing challenge."},{status:"Scoring Routes",title:"Score & Compare",value:12,suffix:"+",metricLabel:"Strategies Compared",kpis:["Ranked by total cost","SLA protected","Real-time ETA validation"],desc:"Every plan is benchmarked in parallel and ranked by total cost, with sub-45ms inference at production scale."},{status:"Delivery Ready",title:"Select Best Plan",value:45,suffix:"ms",metricLabel:"Decision Latency",kpis:["Late plans rejected","Best plan locked in","Dispatched to the fleet"],desc:"Late plans are rejected automatically and the highest-performing, SLA-first plan is locked in and dispatched."}],o=[{value:"45ms",label:"INFERENCE"},{value:"100%",label:"SLA-FIRST"}],s=[{value:45,suffix:"ms",label:"Inference"},{value:12,suffix:"+",label:"Strategies"},{value:99.9,decimals:1,suffix:"%",label:"SLA Met"},{value:24,suffix:"/7",label:"Adaptive"}];e.s(["default",0,function(){return(0,t.jsx)(n.default,{ariaLabel:"Workflow 2 — Innovation",gapBottom:!0,bannerImage:"/images/mid-mile-approach.jpg",cardTitle:"CHOOSE THE BEST PLAN",cardSubtitle:"Analyze thousands of route possibilities and automatically select the most efficient delivery strategy.",eyebrow:"/ Innovation /",titleLead:"MANY STRATEGIES. ",titleAccent:"ONE BEST PLAN.",mediaSlot:(0,t.jsx)(a.default,{variant:"logistics",ariaLabel:"Live multi-route logistics brain"}),slides:r,cardsHeading:"AI Decision Engine",cardsTheme:i,badges:o,stats:s})}])},33016,e=>{"use strict";var t=e.i(43476),n=e.i(71645);let a=(0,e.i(70703).default)(()=>e.A(15756),{loadableGenerated:{modules:[55819]},ssr:!1,loading:()=>null});e.s(["default",0,function(){let e=(0,n.useRef)(null),[i,r]=(0,n.useState)(!1);return((0,n.useEffect)(()=>{let t=e.current;if(!t)return;let n=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(r(!0),n.disconnect())},{rootMargin:"150% 0px"});return n.observe(t),()=>n.disconnect()},[]),i)?(0,t.jsx)("div",{ref:e,style:{display:"contents"},children:(0,t.jsx)(a,{})}):(0,t.jsx)("div",{ref:e,"aria-hidden":!0,style:{minHeight:"100vh"}})}])},49712,e=>{e.v(t=>Promise.all(["static/chunks/0ckcqe5on274m.js","static/chunks/0z6t9sni_7re~.js"].map(t=>e.l(t))).then(()=>t(29539)))},40999,e=>{e.v(t=>Promise.all(["static/chunks/04dzth4udk0lf.js","static/chunks/0z6t9sni_7re~.js","static/chunks/0-kxqnmnjtk7l.js"].map(t=>e.l(t))).then(()=>t(39184)))},15756,e=>{e.v(t=>Promise.all(["static/chunks/0-u0mnwn1ei4e.js","static/chunks/0w2vl4s.138yn.js"].map(t=>e.l(t))).then(()=>t(55819)))}]); \ No newline at end of file diff --git a/build/_next/static/chunks/0662liixyy6d6.js b/build/_next/static/chunks/0662liixyy6d6.js deleted file mode 100644 index aec2541..0000000 --- a/build/_next/static/chunks/0662liixyy6d6.js +++ /dev/null @@ -1 +0,0 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24911,e=>{"use strict";var t=e.i(43476),n=e.i(2018);e.s(["default",0,function(){return(0,t.jsxs)("div",{className:"elementor-61",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-88745f4 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"88745f4","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"e-con-inner",children:(0,t.jsxs)("div",{className:"elementor-element elementor-element-343b363 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"343b363","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)(n.ScrollReveal,{delay:.05,duration:.7,yOffset:20,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-7afb238 elementor-widget elementor-widget-logico_heading","data-id":"7afb238","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"/ Doormile Approach /"})})})}),(0,t.jsx)(n.ScrollReveal,{delay:.15,duration:.85,yOffset:30,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-1cc335a elementor-widget elementor-widget-logico_heading","data-id":"1cc335a","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",style:{WebkitTextStroke:"4px #c01227",color:"#fff",fontWeight:800},children:"The Doormile Way"})})})}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-4c3e632 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"4c3e632","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)(n.ScrollReveal,{delay:.2,duration:.8,yOffset:25,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-5ba6bbf e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5ba6bbf","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-9363070 elementor-widget elementor-widget-logico_heading","data-id":"9363070","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("h3",{className:"logico-title",children:" Smarter, Faster, Connected Logistics"})})})})}),(0,t.jsx)(n.ScrollReveal,{delay:.3,duration:.8,yOffset:25,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-e7609a5 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"e7609a5","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-c134b96 elementor-widget elementor-widget-text-editor","data-id":"c134b96","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsxs)("div",{className:"elementor-widget-container",children:[(0,t.jsx)("p",{children:(0,t.jsxs)("strong",{children:["We connect first mile and last mile into one seamless system, reducing delays and improving efficiency. With real-time tracking and digital workflows,",(0,t.jsx)("br",{})," every delivery is faster, reliable, and fully transparent."]})}),(0,t.jsx)("p",{children:"Seamless logistics powered by real-time tracking, digital processes, and reliable delivery execution."})]})})})})]})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-5041fcc e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"5041fcc","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"e-con-inner",children:(0,t.jsxs)(n.StaggerChildren,{stagger:.12,duration:.7,yOffset:35,className:"elementor-element elementor-element-2d7c3ee e-con-full e-grid cut-corner-no sticky-container-off e-con e-child",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-d11b050 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"d11b050","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-3a6f50f elementor-view-default elementor-widget elementor-widget-icon","data-id":"3a6f50f","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-icon-wrapper",children:(0,t.jsx)("div",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-light-delivery"})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-1025248 elementor-widget elementor-widget-logico_heading","data-id":"1025248","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"End-to-End Protection"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-c7c19bd elementor-widget elementor-widget-text-editor","data-id":"c7c19bd","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"End-to-end visibility ensures every shipment stays secure and on schedule."})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-2c82e54 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"2c82e54","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-f51735e elementor-view-default elementor-widget elementor-widget-icon","data-id":"f51735e","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-icon-wrapper",children:(0,t.jsx)("div",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-light-container"})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-c682633 elementor-widget elementor-widget-logico_heading","data-id":"c682633","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Proactive delay prevention"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-74d14e3 elementor-widget elementor-widget-text-editor","data-id":"74d14e3","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"Real-time monitoring helps prevent delays before they impact deliveries."})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-08b9b20 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"08b9b20","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-612c459 elementor-view-default elementor-widget elementor-widget-icon","data-id":"612c459","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-icon-wrapper",children:(0,t.jsx)("div",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-light-directions"})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-aa49275 elementor-widget elementor-widget-logico_heading","data-id":"aa49275","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Single owner, single promise"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-74cfdf7 elementor-widget elementor-widget-text-editor","data-id":"74cfdf7","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"One unified system manages the entire delivery process seamlessly."})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-04989ee e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"04989ee","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-11a657e elementor-view-default elementor-widget elementor-widget-icon","data-id":"11a657e","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-icon-wrapper",children:(0,t.jsx)("div",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-light-storage"})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-b317d31 elementor-widget elementor-widget-logico_heading","data-id":"b317d31","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Dynamic AI-driven adjustments"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-8fe5662 elementor-widget elementor-widget-text-editor","data-id":"8fe5662","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"AI-powered routing adapts instantly to improve speed and efficiency."})})})]})]})})})]})}])}]); \ No newline at end of file diff --git a/build/_next/static/chunks/09319k21oxyrj.js b/build/_next/static/chunks/09319k21oxyrj.js new file mode 100644 index 0000000..005d93c --- /dev/null +++ b/build/_next/static/chunks/09319k21oxyrj.js @@ -0,0 +1 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,94909,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var o={default:function(){return f},getImageProps:function(){return d}};for(var i in o)Object.defineProperty(r,i,{enumerable:!0,get:o[i]});let l=e.r(55682),n=e.r(8927),u=e.r(5500),a=l._(e.r(1948));function d(e){let{props:t}=(0,n.getImgProps)(e,{defaultLoader:a.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let f=u.Image},57688,(e,t,r)=>{t.exports=e.r(94909)}]); \ No newline at end of file diff --git a/build/_next/static/chunks/09evlrjkg19-o.js b/build/_next/static/chunks/09evlrjkg19-o.js deleted file mode 100644 index 990da82..0000000 --- a/build/_next/static/chunks/09evlrjkg19-o.js +++ /dev/null @@ -1,446 +0,0 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,97677,e=>{"use strict";var t=e.i(43476),i=e.i(71645),n=e.i(89970),a=e.i(2018);e.s(["default",0,function(){let[e,l]=(0,i.useState)(0),o=(0,i.useRef)(null);(0,i.useEffect)(()=>{let e=setInterval(()=>{l(e=>+(0===e))},7e3);return()=>clearInterval(e)},[]);let d=e=>{l(e)};return(0,i.useEffect)(()=>{if(!o.current)return;let e=o.current.querySelector(".owl-item.active");if(!e)return;let t=e.querySelector(".heading-content"),i=e.querySelector(".text-content");t&&i&&(n.default.killTweensOf([t,i]),n.default.fromTo(t,{y:55,opacity:0,scale:.95},{y:0,opacity:1,scale:1,duration:1.1,ease:"power4.out"}),n.default.fromTo(i,{y:30,opacity:0},{y:0,opacity:1,duration:.95,ease:"power3.out",delay:.25}))},[e]),(0,t.jsxs)("div",{className:"elementor-element elementor-element-741f56c e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"741f56c","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:` - /* Fluid responsive font size override for hero headings */ - .logico-content-slider-widget .content-slider-item-heading { - font-size: clamp(30px, 5.5vw, 80px) !important; - word-wrap: break-word !important; - overflow-wrap: break-word !important; - white-space: normal !important; - } - - /* Prevent horizontal overflow on slider and stage containers */ - .logico-content-slider-widget, - .content-slider-wrapper, - .content-slider-container, - .content-slider, - .owl-stage-outer, - .owl-stage, - .owl-item, - .slider-item, - .slide-content, - .slide-content-inner { - width: 100% !important; - max-width: 100% !important; - box-sizing: border-box !important; - } - - /* Force word wrapping and responsive spacing for heading and text */ - .logico-content-slider-widget .content-slider-item-heading, - .logico-content-slider-widget .content-slider-item-heading span, - .logico-content-slider-widget .content-slider-item-heading .heading-content { - white-space: normal !important; - word-wrap: break-word !important; - overflow-wrap: break-word !important; - max-width: 100% !important; - } - - .logico-content-slider-widget .content-slider-item-heading { - padding-left: 15px !important; - padding-right: 15px !important; - } - - .logico-content-slider-widget .text-content { - width: 100% !important; - max-width: min(780px, 100%) !important; - box-sizing: border-box !important; - padding-left: 15px !important; - padding-right: 15px !important; - } - - /* Larger, more readable hero subtitle on large/4K screens */ - .logico-content-slider-widget .content-slider-item-text p { - font-size: clamp(16px, 1.35vw, 23px) !important; - line-height: 1.65 !important; - } - - /* Responsive slider heights */ - .logico-content-slider-widget .owl-stage-outer { - height: 800px !important; - } - - @media (max-width: 840px) { - .logico-content-slider-widget .owl-stage-outer { - height: 600px !important; - } - } - - @media (max-width: 480px) { - .logico-content-slider-widget .owl-stage-outer { - height: 520px !important; - } - } - - @media (max-width: 660px) { - .logico-content-slider-widget .content-slider-item-heading { - font-size: clamp(20px, 7vw, 32px) !important; - } - } - `}}),(0,t.jsx)("div",{className:"elementor-element elementor-element-6c7cbcb elementor-widget elementor-widget-logico_content_slider","data-id":"6c7cbcb","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_content_slider.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-content-slider-widget",children:(0,t.jsx)("div",{className:"content-slider-wrapper",children:(0,t.jsx)("div",{className:"content-slider-container",children:(0,t.jsxs)("div",{className:"content-slider owl-carousel owl-theme nav-view-vertical nav-h-position-right nav-v-position-bottom owl-loaded owl-drag",ref:o,children:[(0,t.jsx)("div",{className:"owl-stage-outer",style:{position:"relative",overflow:"hidden"},children:(0,t.jsxs)("div",{className:"owl-stage",style:{position:"relative",width:"100%",height:"100%"},children:[(0,t.jsx)("div",{className:`owl-item ${0===e?"active":""}`,style:{position:"relative",width:"100%",opacity:+(0===e),visibility:0===e?"visible":"hidden",transition:"opacity 0.8s ease-in-out, visibility 0.8s ease-in-out",zIndex:0===e?2:1},children:(0,t.jsx)("div",{className:"content-item slider-item elementor-repeater-item-3264830 slide-style-standard",style:{backgroundImage:"url('/images/home-bg-1.png')",backgroundPosition:"center center",backgroundRepeat:"no-repeat",backgroundSize:"cover"},children:(0,t.jsx)("div",{className:"slide-content",style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",width:"100%",height:"100%"},children:(0,t.jsxs)("div",{className:"slide-content-inner",style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",textAlign:"center",margin:"0 auto",width:"100%",maxWidth:"1000px"},children:[(0,t.jsx)("h1",{className:"content-slider-item-heading logico-content-wrapper-1",style:{textAlign:"center",width:"100%"},children:(0,t.jsxs)("span",{className:"heading-content block",children:["ONE CONNECTED SYSTEM.",(0,t.jsx)("br",{}),(0,t.jsx)(a.ShimmerText,{className:"font-extrabold",children:"ONE PROMISE KEPT."})]})}),(0,t.jsx)("div",{className:"content-slider-item-text logico-content-wrapper-2",style:{display:"flex",justifyContent:"center",width:"100%",marginTop:"23px"},children:(0,t.jsx)("div",{className:"text-content",style:{textAlign:"center",maxWidth:"680px",margin:"0 auto"},children:(0,t.jsx)("p",{children:"Stop managing three separate logistics services. Doormile unifies first, mid and last mile into a single intelligent delivery system powered by MileTruth™ AI."})})})]})})})}),(0,t.jsx)("div",{className:`owl-item ${1===e?"active":""}`,style:{position:"absolute",top:0,left:0,width:"100%",opacity:+(1===e),visibility:1===e?"visible":"hidden",transition:"opacity 0.8s ease-in-out, visibility 0.8s ease-in-out",zIndex:1===e?2:1},children:(0,t.jsx)("div",{className:"content-item slider-item elementor-repeater-item-6867061 slide-style-standard",style:{backgroundImage:"url('/images/home-bg-1.png')",backgroundPosition:"center center",backgroundRepeat:"no-repeat",backgroundSize:"cover"},children:(0,t.jsx)("div",{className:"slide-content",style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",width:"100%",height:"100%"},children:(0,t.jsxs)("div",{className:"slide-content-inner",style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",textAlign:"center",margin:"0 auto",width:"100%",maxWidth:"1000px"},children:[(0,t.jsx)("h1",{className:"content-slider-item-heading logico-content-wrapper-1",style:{textAlign:"center",width:"100%"},children:(0,t.jsxs)("span",{className:"heading-content block",children:[(0,t.jsx)(a.ShimmerText,{className:"font-extrabold",children:"AI-POWERED"}),(0,t.jsx)("br",{}),"CONNECTED LOGISTICS"]})}),(0,t.jsx)("div",{className:"content-slider-item-text logico-content-wrapper-2",style:{display:"flex",justifyContent:"center",width:"100%",marginTop:"23px"},children:(0,t.jsx)("div",{className:"text-content",style:{textAlign:"center",maxWidth:"680px",margin:"0 auto"},children:(0,t.jsx)("p",{children:"Behind every successful business is a strong supply chain. Logistics turns plans into reality."})})})]})})})})]})}),(0,t.jsxs)("div",{className:"owl-nav",children:[(0,t.jsx)("button",{type:"button",className:"owl-next",onClick:()=>l(e=>+(0===e)),"aria-label":"Next",style:{cursor:"pointer",border:"none",outline:"none"}}),(0,t.jsx)("button",{type:"button",className:"owl-prev",onClick:()=>l(e=>+(0===e)),"aria-label":"Previous",style:{cursor:"pointer",border:"none",outline:"none"}})]}),(0,t.jsx)("div",{className:"slider-footer slider-footer-position-after slider-footer-width-full slider-footer-view-inside",children:(0,t.jsx)("div",{className:"slider-footer-content",children:(0,t.jsxs)("div",{className:"slider-pagination",style:{display:"flex",justifyContent:"flex-end",alignItems:"center"},children:[(0,t.jsxs)("div",{className:"slider-progress-wrapper",style:{marginRight:"35px",display:"flex",flexDirection:"column",alignItems:"flex-start"},children:[(0,t.jsxs)("div",{style:{fontSize:"16px",fontWeight:600,color:"#FFFFFF",marginBottom:"4px"},children:[(0,t.jsx)("span",{className:"slider-progress-current",children:0===e?"01":"02"})," / ",(0,t.jsx)("span",{className:"slider-progress-all",style:{opacity:.6},children:"02"})]}),(0,t.jsx)("div",{style:{width:"80px",height:"2px",background:"rgba(255, 255, 255, 0.2)",position:"relative",borderRadius:"1px",overflow:"hidden"},children:(0,t.jsx)("div",{style:{position:"absolute",left:0===e?"0":"50%",width:"50%",height:"100%",background:"#c01227",transition:"left 0.3s ease"}})})]}),(0,t.jsxs)("div",{className:"owl-dots owl-dots-6c7cbcb",style:{display:"none"},children:[(0,t.jsx)("button",{type:"button",className:`owl-dot ${0===e?"active":""}`,onClick:()=>d(0),children:(0,t.jsx)("span",{})}),(0,t.jsx)("button",{type:"button",className:`owl-dot ${1===e?"active":""}`,onClick:()=>d(1),children:(0,t.jsx)("span",{})})]})]})})})]})})})})})})]})}])},58140,e=>{"use strict";var t=e.i(43476),i=e.i(22016),n=e.i(2018);e.s(["default",0,function(){return(0,t.jsxs)(n.StaggerChildren,{stagger:.15,duration:.7,yOffset:30,className:"elementor-element elementor-element-9b26234 e-con-full e-grid cut-corner-no sticky-container-off e-con e-parent",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-ca6bc63 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child","data-id":"ca6bc63","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}',children:(0,t.jsxs)("div",{className:"e-con-inner",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-cc55905 elementor-widget-divider--view-line elementor-widget elementor-widget-divider","data-id":"cc55905","data-element_type":"widget","data-e-type":"widget","data-widget_type":"divider.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-divider",children:(0,t.jsx)("span",{className:"elementor-divider-separator"})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-3fb5639 elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"3fb5639","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"logico-title",children:[(0,t.jsx)(n.CountUp,{end:99.2,decimals:1,suffix:"%",duration:2.2})," ",(0,t.jsx)("br",{}),(0,t.jsx)("span",{style:{fontSize:"20px"},children:"On-Time Delivery"})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-94c3ff1 elementor-widget elementor-widget-logico_button","data-id":"94c3ff1","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_button.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"button-widget",children:(0,t.jsx)("div",{className:"button-container",children:(0,t.jsxs)(i.default,{href:"/solutions",className:"logico-small-button",children:["Connected Miles",(0,t.jsx)("svg",{viewBox:"0 0 13 20",children:(0,t.jsx)("polyline",{points:"0.5 19.5 3 19.5 12.5 10 3 0.5"})})]})})})})})]})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-4c0903b e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child","data-id":"4c0903b","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}',children:(0,t.jsxs)("div",{className:"e-con-inner",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-c8adeeb elementor-widget-divider--view-line elementor-widget elementor-widget-divider","data-id":"c8adeeb","data-element_type":"widget","data-e-type":"widget","data-widget_type":"divider.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-divider",children:(0,t.jsx)("span",{className:"elementor-divider-separator"})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-5e64d7b elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"5e64d7b","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"logico-title",children:[(0,t.jsx)(n.CountUp,{end:3,suffix:"x Faster",duration:1.8})," ",(0,t.jsx)("br",{}),(0,t.jsx)("span",{style:{fontSize:"20px"},children:"Faster Response"})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-20db156 elementor-widget elementor-widget-logico_button","data-id":"20db156","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_button.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"button-widget",children:(0,t.jsx)("div",{className:"button-container",children:(0,t.jsxs)(i.default,{href:"/miletruth",className:"logico-small-button",children:["MileTruth™ AI",(0,t.jsx)("svg",{viewBox:"0 0 13 20",children:(0,t.jsx)("polyline",{points:"0.5 19.5 3 19.5 12.5 10 3 0.5"})})]})})})})})]})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-f003242 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child","data-id":"f003242","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}',children:(0,t.jsxs)("div",{className:"e-con-inner",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-d58ef3c elementor-widget-divider--view-line elementor-widget elementor-widget-divider","data-id":"d58ef3c","data-element_type":"widget","data-e-type":"widget","data-widget_type":"divider.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-divider",children:(0,t.jsx)("span",{className:"elementor-divider-separator"})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-d00253e elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"d00253e","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"logico-title",children:[(0,t.jsx)(n.CountUp,{end:40,suffix:"%",duration:2})," ",(0,t.jsx)("br",{}),(0,t.jsx)("span",{style:{fontSize:"20px"},children:"Cost Reduction"})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-3481e66 elementor-widget elementor-widget-logico_button","data-id":"3481e66","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_button.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"button-widget",children:(0,t.jsx)("div",{className:"button-container",children:(0,t.jsxs)(i.default,{href:"/solutions",className:"logico-small-button",children:["SLA Protection",(0,t.jsx)("svg",{viewBox:"0 0 13 20",children:(0,t.jsx)("polyline",{points:"0.5 19.5 3 19.5 12.5 10 3 0.5"})})]})})})})})]})})]})}])},36854,e=>{"use strict";var t=e.i(43476),i=e.i(2018);e.s(["default",0,function(){return(0,t.jsx)("div",{className:"elementor-element elementor-element-30fd9d1 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent section-shrink-custom","data-id":"30fd9d1","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"e-con-inner",children:(0,t.jsxs)("div",{className:"elementor-element elementor-element-03db5d7 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"03db5d7","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)(i.ScrollReveal,{delay:.05,duration:.8,yOffset:20,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-3fe4ca3 elementor-widget elementor-widget-logico_heading","data-id":"3fe4ca3","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"/ The Problem /"})})})}),(0,t.jsx)(i.ScrollReveal,{delay:.15,duration:.85,yOffset:30,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-ffd1f7d elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"ffd1f7d","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("h3",{className:"logico-title",children:"Fragmented Logistics is Broken"})})})}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-e09c20e e-grid e-con-full cut-corner-no sticky-container-off e-con e-child","data-id":"e09c20e","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)(i.ScrollReveal,{delay:.1,duration:.7,yOffset:35,className:"w-full",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-81a7690 elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box","data-id":"81a7690","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon-box.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-icon-box-wrapper",children:[(0,t.jsx)("div",{className:"elementor-icon-box-icon",children:(0,t.jsx)("span",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-air-delivery"})})}),(0,t.jsx)("div",{className:"elementor-icon-box-content",children:(0,t.jsxs)("div",{className:"elementor-icon-box-title",children:[(0,t.jsx)("p",{className:"logico-title",style:{fontSize:"42px",fontWeight:800,color:"#111111",marginBottom:0,textAlign:"left",lineHeight:"1.1"},children:"73%"}),(0,t.jsx)("span",{style:{textAlign:"left",display:"block",fontSize:"16px",fontWeight:600,color:"#111111",marginTop:"8px",lineHeight:"1.4"},children:"of delays happen at handoffs"})]})})]})})})}),(0,t.jsx)(i.ScrollReveal,{delay:.2,duration:.7,yOffset:35,className:"w-full",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-0f4aa27 elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box","data-id":"0f4aa27","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon-box.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-icon-box-wrapper",children:[(0,t.jsx)("div",{className:"elementor-icon-box-icon",children:(0,t.jsx)("span",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-container"})})}),(0,t.jsx)("div",{className:"elementor-icon-box-content",children:(0,t.jsxs)("div",{className:"elementor-icon-box-title",children:[(0,t.jsx)("p",{className:"logico-title",style:{fontSize:"42px",fontWeight:800,color:"#111111",marginBottom:0,textAlign:"left",lineHeight:"1.1"},children:"3x"}),(0,t.jsx)("span",{style:{textAlign:"left",display:"block",fontSize:"16px",fontWeight:600,color:"#111111",marginTop:"8px",lineHeight:"1.4"},children:"higher risk of missed SLAs"})]})})]})})})}),(0,t.jsx)(i.ScrollReveal,{delay:.3,duration:.7,yOffset:35,className:"w-full",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-6cfd203 elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box","data-id":"6cfd203","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon-box.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-icon-box-wrapper",children:[(0,t.jsx)("div",{className:"elementor-icon-box-icon",children:(0,t.jsx)("span",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-trolley"})})}),(0,t.jsx)("div",{className:"elementor-icon-box-content",children:(0,t.jsxs)("div",{className:"elementor-icon-box-title",children:[(0,t.jsx)("p",{className:"logico-title",style:{fontSize:"42px",fontWeight:800,color:"#111111",marginBottom:0,textAlign:"left",lineHeight:"1.1"},children:"2.5x"}),(0,t.jsx)("span",{style:{textAlign:"left",display:"block",fontSize:"16px",fontWeight:600,color:"#111111",marginTop:"8px",lineHeight:"1.4"},children:"more time spent on coordination"})]})})]})})})}),(0,t.jsx)(i.ScrollReveal,{delay:.4,duration:.7,yOffset:35,className:"w-full",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-0d343e1 elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box","data-id":"0d343e1","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon-box.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-icon-box-wrapper",children:[(0,t.jsx)("div",{className:"elementor-icon-box-icon",children:(0,t.jsx)("span",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-supply-chain"})})}),(0,t.jsx)("div",{className:"elementor-icon-box-content",children:(0,t.jsxs)("div",{className:"elementor-icon-box-title",children:[(0,t.jsx)("p",{className:"logico-title",style:{fontSize:"42px",fontWeight:800,color:"#111111",marginBottom:0,textAlign:"left",lineHeight:"1.1"},children:"28%"}),(0,t.jsx)("span",{style:{textAlign:"left",display:"block",fontSize:"16px",fontWeight:600,color:"#111111",marginTop:"8px",lineHeight:"1.4"},children:"increase in operational costs"})]})})]})})})})]})]})})})}])},32693,e=>{"use strict";var t=e.i(43476),i=e.i(22016),n=e.i(57688),a=e.i(2018);e.s(["default",0,function(){return(0,t.jsxs)("div",{className:"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","data-e-type":"container",children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:` - /* Ensure the inner content wrapper is responsive and never overflows */ - .elementor-element-fdb2e58 { - width: 100% !important; - max-width: 650px !important; - } - - /* Make heading font size fluid and responsive */ - .elementor-element-7500280 .logico-title { - font-size: clamp(26px, 3.5vw, 54px) !important; - line-height: 1.25em !important; - word-wrap: break-word !important; - overflow-wrap: break-word !important; - } - - /* Make sure paragraphs are responsive on all screen widths */ - .elementor-element-165dfa5 { - width: 100% !important; - max-width: min(619px, 100%) !important; - } - .elementor-element-3888a1e { - width: 100% !important; - max-width: min(526px, 100%) !important; - } - - /* Desktop/Laptop (min-width: 1025px) column width and flex rules */ - @media (min-width: 1025px) { - .elementor-element-9ffed33 { - display: flex !important; - flex-direction: row !important; - flex-wrap: nowrap !important; - align-items: center !important; - } - - .elementor-element-96343ba, - .elementor-element-71c3e1d { - width: 50% !important; - max-width: 50% !important; - flex: 1 1 50% !important; - box-sizing: border-box !important; - } - } - - @media (max-width: 1024px) { - /* Force columns to stack vertically on mobile/tablet */ - .elementor-element-9ffed33 { - flex-direction: column !important; - align-items: stretch !important; - } - - /* Force both children to be full width */ - .elementor-element-96343ba, - .elementor-element-71c3e1d { - width: 100% !important; - max-width: 100% !important; - padding-left: 0 !important; - padding-right: 0 !important; - } - - /* Show image at the bottom or top depending on order */ - .elementor-element-96343ba { - margin-top: 30px !important; - } - - /* Override desktop fixed widths on mobile/tablet */ - .elementor-element-165dfa5, - .elementor-element-3888a1e { - width: 100% !important; - max-width: 100% !important; - } - } - `}}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-9ffed33 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"9ffed33","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}',children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-96343ba e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"96343ba","data-element_type":"container",children:(0,t.jsx)(a.ScrollReveal,{delay:.1,duration:.9,yOffset:30,className:"w-full h-full",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-99768ba elementor-widget elementor-widget-image","data-id":"99768ba","data-element_type":"widget","data-e-type":"widget","data-widget_type":"image.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)(n.default,{fetchPriority:"high",priority:!0,width:578,height:790,src:"/images/home2-pic-3.png",className:"attachment-full size-full wp-image-4481",alt:"Connected Logistics",style:{width:"100%",height:"auto",objectFit:"cover",borderRadius:"25px"}})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-71c3e1d e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"71c3e1d","data-element_type":"container","data-e-type":"container",children:(0,t.jsxs)("div",{className:"elementor-element elementor-element-fdb2e58 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"fdb2e58","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)(a.ScrollReveal,{delay:.1,duration:.8,yOffset:20,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-0136e6e elementor-widget elementor-widget-logico_heading","data-id":"0136e6e","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"/ Connected Logistics /"})})})}),(0,t.jsx)(a.ScrollReveal,{delay:.2,duration:.85,yOffset:25,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-7500280 elementor-widget elementor-widget-logico_heading","data-id":"7500280","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("h3",{className:"logico-title",children:"Smart logistics solutions we deliver for modern supply chains"})})})}),(0,t.jsxs)(a.ScrollReveal,{delay:.25,duration:.8,yOffset:25,children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-4cc07a7 elementor-widget elementor-widget-logico_heading","data-id":"4cc07a7","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Real-Time Visibility"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-165dfa5 elementor-widget__width-initial elementor-widget elementor-widget-text-editor","data-id":"165dfa5","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"See every shipment, every vehicle, every handoff—live. No blind spots."})})})]}),(0,t.jsxs)(a.ScrollReveal,{delay:.35,duration:.8,yOffset:25,children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-da9d310 elementor-widget elementor-widget-logico_heading","data-id":"da9d310","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Dynamic Route Adjustment"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-3888a1e elementor-widget__width-initial elementor-widget elementor-widget-text-editor","data-id":"3888a1e","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"AI continuously optimizes routes based on traffic, weather, and real-world conditions."})})})]}),(0,t.jsxs)(a.ScrollReveal,{delay:.45,duration:.8,yOffset:25,children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-4cc07a7 elementor-widget elementor-widget-logico_heading","data-id":"4cc07a7","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Proactive Delay Prevention"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-165dfa5 elementor-widget__width-initial elementor-widget elementor-widget-text-editor","data-id":"165dfa5","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"Detect SLA risks hours before they become problems. Act, don't react."})})})]}),(0,t.jsxs)(a.ScrollReveal,{delay:.55,duration:.8,yOffset:25,children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-4cc07a7 elementor-widget elementor-widget-logico_heading","data-id":"4cc07a7","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Execution Intelligence"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-165dfa5 elementor-widget__width-initial elementor-widget elementor-widget-text-editor","data-id":"165dfa5","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"Learn from every delivery. Get smarter with every mile traveled."})})})]}),(0,t.jsx)(a.ScrollReveal,{delay:.65,duration:.8,yOffset:20,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-c0a45e4 elementor-widget elementor-widget-logico_button","data-id":"c0a45e4","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_button.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"button-widget",children:(0,t.jsx)("div",{className:"button-container",children:(0,t.jsx)(a.Magnetic,{children:(0,t.jsx)(i.default,{href:"/solutions",className:"logico-alter-button",children:"Explore more"})})})})})})})]})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-0efc59e elementor-absolute elementor-widget elementor-widget-logico_block_decoration","data-id":"0efc59e","data-element_type":"widget","data-settings":'{"_position":"absolute"}',"data-widget_type":"logico_block_decoration.default",style:{position:"absolute"},children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"block-decoration animation-enable block-decoration-style-1",children:(0,t.jsx)("div",{className:"block-decoration-item"})})})})]})]})}])},14224,e=>{"use strict";var t=e.i(43476),i=e.i(71645),n=e.i(89970),a=e.i(83495);n.default.registerPlugin(a.ScrollTrigger);let l=[{icon:(0,t.jsx)("svg",{className:"evnd-icon",viewBox:"0 0 24 24",fill:"none",stroke:"#f59e0b",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2"})}),title:"Battery-Aware Routing",desc:"Battery level, health, and degradation are first-class inputs to route optimization — not afterthoughts."},{icon:(0,t.jsx)("svg",{className:"evnd-icon",viewBox:"0 0 24 24",fill:"none",stroke:"#94a3b8",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"M18 10h-1.28A6 6 0 0 0 12 5V3M12 5V3M6 10h1.28A6 6 0 0 0 12 5M12 18v2M12 18v2M8 10v6a4 4 0 0 0 8 0v-6"})}),title:"Charging Integration",desc:"Seamlessly integrate charging stops without compromising delivery windows or SLA commitments."},{icon:(0,t.jsx)("svg",{className:"evnd-icon",viewBox:"0 0 24 24",fill:"none",stroke:"#ef4444",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"m8 3 4 8 5-5 5 15H2L8 3z"})}),title:"Energy-Optimized Paths",desc:"Factor in elevation, speed limits, payload weight, and live weather for maximum range efficiency."},{icon:(0,t.jsx)("svg",{className:"evnd-icon",viewBox:"0 0 24 24",fill:"none",stroke:"#ef4444",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("path",{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"})}),title:"Predictable Operations",desc:"EVs become predictable assets, not operational risks. Full visibility from depot to doorstep."}],o=[{value:99.9,decimals:1,suffix:"%",label:"SLA Compliance"},{value:42,suffix:"%",label:"Distance Saved"},{value:37,suffix:"%",label:"Fewer Vehicles"},{value:45,suffix:"ms",label:"Dispatch Latency"}];function d({value:e,decimals:n=0,suffix:a="",duration:l=1700,className:o}){let[r,s]=(0,i.useState)(0),c=(0,i.useRef)(null),m=(0,i.useRef)(!1);return(0,i.useEffect)(()=>{let t=c.current;if(!t)return;if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return void requestAnimationFrame(()=>s(e));let i=new IntersectionObserver(t=>{for(let n of t)if(n.isIntersecting&&!m.current){m.current=!0;let t=performance.now(),n=e=>1-Math.pow(1-e,3),a=i=>{let o=Math.min(1,(i-t)/l);s(e*n(o)),o<1?requestAnimationFrame(a):s(e)};requestAnimationFrame(a),i.disconnect()}},{threshold:.2});return i.observe(t),()=>i.disconnect()},[e,l]),(0,t.jsxs)("b",{ref:c,className:o,children:[r.toFixed(n),a]})}e.s(["default",0,function(){let e=(0,i.useRef)(null);return(0,i.useEffect)(()=>{let t=e.current;if(!t)return;let i=a.ScrollTrigger.create({trigger:t,start:"top bottom",end:"bottom top",scrub:!0,onUpdate:()=>{if(window.innerWidth>=1021){let e=window.scrollY,i=t.getBoundingClientRect().top+e;n.default.set(t,{backgroundPosition:`center ${.3*(e-i)}px`})}else n.default.set(t,{backgroundPosition:""})}});return()=>i?.kill()},[]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:` - /* ============================================================ - EV-Native Design — redesigned section - bg #080808 \xb7 red #ef4444 \xb7 Manrope - ============================================================ */ - - #evnd, #evnd * { font-family: "Manrope", Sans-serif !important; } - - .evnd { - position: relative; - isolation: isolate; - overflow: hidden; - background: #080808; - /* flat top so it connects seamlessly to the banner above; rounded - bottom only, and no top margin so there is no white gap */ - border-radius: 0 0 clamp(16px, 2vw, 28px) clamp(16px, 2vw, 28px); - margin: 0 0 clamp(28px, 5vw, 64px); - padding: 64px 48px clamp(48px, 6vw, 80px); - } - /* subtle diagonal light band for depth (matches reference) */ - .evnd::before { - content: ''; - position: absolute; - inset: 0; - z-index: 0; - pointer-events: none; - background: linear-gradient(120deg, transparent 28%, rgba(255,255,255,0.015) 50%, transparent 72%); - } - .evnd__inner { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; } - - /* ---- MAIN GRID ---- */ - .evnd__grid { - display: grid; - grid-template-columns: 1.15fr 1fr; - gap: clamp(32px, 4vw, 56px); - align-items: center; - } - - .evnd__left { - display: flex; - flex-direction: column; - align-items: flex-start; - } - - .evnd__right { - display: flex; - flex-direction: column; - } - - .evnd__eyebrow { - display: inline-flex; - align-items: center; - gap: 12px; - color: #ef4444 !important; - font-weight: 800; - text-transform: uppercase; - letter-spacing: 0.16em; - font-size: 13px; - margin-bottom: 20px; - } - .evnd__eyebrow::before { - content: ''; - width: 16px; - height: 2px; - background: #ef4444; - } - - .evnd__title { - color: #fff !important; - font-weight: 800 !important; - font-size: clamp(32px, 3.8vw, 48px) !important; - line-height: 1.15 !important; - letter-spacing: -0.01em; - margin: 0 0 36px 0; - } - @media (min-width: 768px) { - .evnd__title { - white-space: nowrap; - } - } - .evnd__title .accent { - color: #ef4444 !important; - } - - .evnd__media { - position: relative; - width: 100%; - } - .evnd__glow { - position: absolute; - left: 50%; bottom: -4%; - width: 80%; height: 80px; - transform: translateX(-50%); - background: radial-gradient(50% 50% at 50% 50%, rgba(239,68,68,0.3), transparent 72%); - filter: blur(35px); - z-index: 0; - animation: evndGlow 4s ease-in-out infinite; - } - .evnd__imgwrap { - position: relative; - z-index: 1; - overflow: hidden; - border-radius: 16px; - border: 1px solid rgba(255,255,255,0.06); - box-shadow: 0 30px 60px -25px rgba(0,0,0,0.85); - } - .evnd__img { - display: block; - width: 100%; - height: auto; - object-fit: cover; - transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1); - } - .evnd__imgwrap:hover .evnd__img { - transform: scale(1.03); - } - - /* Badge overlay styling */ - .evnd__badge { - position: absolute; - z-index: 2; - display: flex; - flex-direction: column; - gap: 2px; - padding: 12px 16px; - background: rgba(13,13,13,0.72); - border: 1px solid rgba(255,255,255,0.08); - border-radius: 8px; - backdrop-filter: blur(12px); - -webkit-backdrop-filter: blur(12px); - } - .evnd__badge b { - color: #ef4444 !important; - font-weight: 800; - font-size: 24px; - line-height: 1; - } - .evnd__badge span { - color: rgba(255,255,255,0.7) !important; - font-size: 10px; - font-weight: 700; - letter-spacing: 0.08em; - text-transform: uppercase; - } - .evnd__badge--tl { top: 20px; left: 20px; } - .evnd__badge--br { bottom: 20px; right: 20px; } - - /* ---- Feature cards ---- */ - .evnd__features { - display: flex; - flex-direction: column; - gap: 16px; - height: 100%; - justify-content: space-between; - } - .evnd-feature { - position: relative; - display: grid; - grid-template-columns: 48px 1fr auto; - gap: 20px; - align-items: start; - background: rgba(255,255,255,0.02); - border: 1px solid rgba(255,255,255,0.05); - border-radius: 16px; - padding: 24px; - overflow: hidden; - transition: background-color 0.4s ease, border-color 0.4s ease, transform 0.4s cubic-bezier(.25,1,.5,1); - } - .evnd-feature::before { - content: ''; - position: absolute; - left: 0; top: 0; bottom: 0; - width: 3px; - background: #ef4444; - transform: scaleY(0); - transform-origin: bottom; - transition: transform 0.4s ease; - } - .evnd-feature:hover { - background: rgba(239,68,68,0.03); - border-color: rgba(239,68,68,0.2); - transform: translateY(-2px); - } - .evnd-feature:hover::before { transform: scaleY(1); } - - .evnd-feature__icon-container { - width: 48px; height: 48px; - display: flex; align-items: center; justify-content: center; - background: rgba(255,255,255,0.03); - border: 1px solid rgba(255,255,255,0.08); - border-radius: 12px; - transition: background-color 0.3s ease, border-color 0.3s ease; - } - .evnd-feature:hover .evnd-feature__icon-container { - background: rgba(239,68,68,0.08); - border-color: rgba(239,68,68,0.25); - } - - .evnd-icon { - width: 22px; - height: 22px; - display: block; - } - - .evnd-feature__title { - color: #fff !important; - font-weight: 700; - font-size: 15px !important; - text-transform: uppercase; - letter-spacing: 0.05em; - margin: 4px 0 8px; - transition: color 0.3s ease; - } - .evnd-feature:hover .evnd-feature__title { color: #ef4444 !important; } - .evnd-feature__desc { - color: rgba(255,255,255,0.65) !important; - font-weight: 400 !important; - font-size: 14px !important; - line-height: 1.6 !important; - margin: 0; - } - .evnd-feature__arrow { - color: rgba(255,255,255,0.25); - font-size: 16px; - align-self: flex-start; - margin-top: 4px; - transition: color 0.3s ease, transform 0.3s ease; - } - .evnd-feature:hover .evnd-feature__arrow { color: #ef4444; transform: translate(3px, -3px); } - - /* ---- BOTTOM BAR ---- */ - .evnd__bar { - display: grid; - grid-template-columns: repeat(4, 1fr); - background: rgba(255,255,255,0.02); - border: 1px solid rgba(255,255,255,0.06); - border-radius: 16px; - overflow: hidden; - margin-top: 60px; - padding: 38px 0; - } - .evnd__bar-item { - position: relative; - display: flex; - flex-direction: column; - gap: 12px; - align-items: center; - justify-content: center; - text-align: center; - padding: 12px 24px; - } - .evnd__bar-item:not(:last-child)::after { - content: ''; - position: absolute; - right: 0; - top: 15%; - height: 70%; - width: 1px; - background: rgba(255, 255, 255, 0.08); - } - - .evnd__bar-val { - color: #ef4444 !important; - font-weight: 800; - font-size: clamp(32px, 4vw, 56px); - line-height: 1; - } - .evnd__bar-label { - color: #fff !important; - font-size: 14px; - font-weight: 600; - letter-spacing: 0.02em; - text-transform: none; - opacity: 0.9; - } - - @keyframes evndGlow { 0%,100% { opacity: 0.75; } 50% { opacity: 1; } } - - /* ---- Responsive ---- */ - @media (max-width: 991px) { - .evnd { padding: 48px 32px 56px; } - .evnd__grid { grid-template-columns: 1fr; gap: 40px; } - .evnd__title { margin-bottom: 28px; } - .evnd__features { gap: 14px; } - } - @media (max-width: 767px) { - .evnd__bar { grid-template-columns: repeat(2, 1fr); gap: 24px 0; padding: 24px 0; } - .evnd__bar-item:nth-child(even)::after { display: none; } - .evnd__bar-item:nth-child(2)::after { display: none; } - .evnd__bar-item { padding: 12px 16px; } - } - @media (max-width: 480px) { - .evnd { padding: 40px 16px 48px; } - .evnd__bar { grid-template-columns: 1fr; gap: 28px 0; } - .evnd__bar-item::after { display: none !important; } - .evnd__badge { padding: 8px 12px; } - .evnd__badge b { font-size: 20px; } - } - `}}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-bbc6760 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"bbc6760","data-element_type":"container","data-e-type":"container",style:{backgroundColor:"#0d0d0d",width:"calc(100% - 40px)",marginLeft:"20px",marginRight:"20px",borderRadius:"25px",overflow:"hidden"},children:[(0,t.jsx)("div",{ref:e,className:"elementor-element elementor-element-7da6646 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"7da6646","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}',style:{backgroundPosition:"center 0px",backgroundImage:"url(/images/bg-header-5.png)",backgroundSize:"cover",backgroundRepeat:"no-repeat",position:"relative",zIndex:2,borderRadius:"25px 25px 0 0",overflow:"hidden"}}),(0,t.jsx)("div",{className:"elementor-element elementor-element-8b5d6e6 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"8b5d6e6","data-element_type":"container","data-e-type":"container",children:(0,t.jsxs)("div",{className:"elementor-element elementor-element-1f766ea e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"1f766ea","data-element_type":"container","data-e-type":"container",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-3b61435 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"3b61435","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}',children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-c364d1c elementor-widget elementor-widget-text-editor","data-id":"c364d1c","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"01"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-239afbb elementor-widget elementor-widget-logico_heading","data-id":"239afbb","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("h5",{className:"logico-title",children:"EV Logistics"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-0d307dd elementor-widget elementor-widget-text-editor","data-id":"0d307dd","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"Cleaner miles, lower costs"})})})]}),(0,t.jsx)("div",{className:"elementor-element elementor-element-5aea22e e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5aea22e","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}'})]})}),(0,t.jsx)("section",{className:"evnd",id:"evnd","aria-label":"EV-Native Design",children:(0,t.jsxs)("div",{className:"evnd__inner",children:[(0,t.jsx)("span",{className:"evnd__eyebrow",children:"/ EV-Native Design /"}),(0,t.jsxs)("h2",{className:"evnd__title",children:["BUILT FOR ELECTRIC. ",(0,t.jsx)("span",{className:"accent",children:"NOT ADAPTED."})]}),(0,t.jsxs)("div",{className:"evnd__grid",children:[(0,t.jsx)("div",{className:"evnd__left",children:(0,t.jsxs)("div",{className:"evnd__media",children:[(0,t.jsx)("div",{className:"evnd__glow"}),(0,t.jsxs)("div",{className:"evnd__imgwrap",children:[(0,t.jsx)("img",{className:"evnd__img",src:"/images/premium-ev-van.png",alt:"DoorMile electric delivery van",decoding:"async"}),(0,t.jsxs)("div",{className:"evnd__badge evnd__badge--tl",children:[(0,t.jsx)("b",{children:"100%"}),(0,t.jsx)("span",{children:"ELECTRIC FLEET"})]}),(0,t.jsxs)("div",{className:"evnd__badge evnd__badge--br",children:[(0,t.jsx)("b",{children:"-40%"}),(0,t.jsx)("span",{children:"COST / MILE"})]})]})]})}),(0,t.jsx)("div",{className:"evnd__right",children:(0,t.jsx)("div",{className:"evnd__features",children:l.map(e=>(0,t.jsxs)("div",{className:"evnd-feature",children:[(0,t.jsx)("div",{className:"evnd-feature__icon-container","aria-hidden":"true",children:e.icon}),(0,t.jsxs)("div",{className:"evnd-feature__body",children:[(0,t.jsx)("div",{className:"evnd-feature__title",children:e.title}),(0,t.jsx)("p",{className:"evnd-feature__desc",children:e.desc})]}),(0,t.jsx)("span",{className:"evnd-feature__arrow","aria-hidden":"true",children:"↗"})]},e.title))})})]}),(0,t.jsx)("div",{className:"evnd__bar",children:o.map(e=>(0,t.jsxs)("div",{className:"evnd__bar-item",children:[(0,t.jsx)("span",{className:"evnd__bar-label",children:e.label}),(0,t.jsx)(d,{value:e.value,decimals:e.decimals,suffix:e.suffix,className:"evnd__bar-val"})]},e.label))})]})})]})]})}])}]); \ No newline at end of file diff --git a/build/_next/static/chunks/0a3t_oyn5arl-.js b/build/_next/static/chunks/0a3t_oyn5arl-.js new file mode 100644 index 0000000..0dc0900 --- /dev/null +++ b/build/_next/static/chunks/0a3t_oyn5arl-.js @@ -0,0 +1 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,23096,e=>{"use strict";var t=e.i(43476),a=e.i(71645),i=e.i(22016);let r=[{title:"How AI Is Transforming Last-Mile EV Delivery",excerpt:"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last.",category:"Technology",image:"/images/blog-post-pic-17.png",date:"2025-10-02",intro:"The last mile has always been logistics' most expensive and least predictable stretch. Add electric vehicles to the mix and the problem sharpens: now every route must respect not just time and capacity, but battery range. Artificial intelligence is what turns that constraint into an advantage.",content:[{type:"paragraph",text:"For decades, last-mile delivery was planned the way it was a generation ago — dispatchers, spreadsheets, and hard-won intuition. That approach scales poorly, and it breaks entirely when you electrify the fleet. EVs introduce a moving constraint that no static plan can absorb: a vehicle's remaining range changes with load, terrain, traffic and temperature, all at once."},{type:"heading",level:2,text:"The shift from rules to learning"},{type:"paragraph",text:"Traditional routing tools rely on fixed rules: nearest-stop-first, fixed zones, manual overrides. They are fast to set up and brittle in practice. Machine-learning-driven systems instead learn from outcomes — every completed delivery, every delay, every charge cycle becomes training signal that sharpens the next decision."},{type:"list",items:["Demand forecasting that anticipates volume spikes before they hit the hub","Travel-time models trained on the city's real traffic, not generic averages","Battery-draw prediction tuned to each vehicle class and load profile","Continuous feedback that improves accuracy with every dispatch"]},{type:"heading",level:3,text:"Real-time adaptation"},{type:"paragraph",text:"The real unlock is not planning — it is replanning. When a road closes, an order is added, or a vehicle's charge drops faster than expected, an AI-driven system re-optimises in milliseconds and reroutes the affected vehicles without a human in the loop. The plan stays optimal even as reality refuses to hold still."},{type:"image",src:"/images/ev-paradox.png",alt:"Electric delivery vehicle routing visualisation",caption:"AI continuously re-evaluates range, load and traffic to keep every EV route feasible."},{type:"quote",text:"An electric fleet is only as good as the intelligence that routes it. The battery sets the limit — the algorithm decides whether you ever reach it.",cite:"Doormile Engineering"},{type:"heading",level:2,text:"What it means for operators"},{type:"paragraph",text:"For fleet operators, the payoff is concrete: fewer vehicles covering the same ground, near-zero range-related failures, and ETAs accurate enough to commit to. AI does not replace the operator — it removes the guesswork, so the operator can run a larger, cleaner, more reliable fleet with the same team."},{type:"list",ordered:!0,items:["Capture real operational data — deliveries, delays, charge cycles.","Let models learn your city's actual travel and demand patterns.","Validate every route against live battery capacity before dispatch.","Re-optimise continuously as conditions change through the day."]},{type:"paragraph",text:"The fleets pulling ahead are not the ones with the most vehicles — they are the ones with the smartest kilometre. That is the promise AI brings to last-mile EV delivery, and it is already on the road."}]},{title:"42% Less Distance: Insights from Our Hyderabad Hub",excerpt:"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses.",category:"Case Study",image:"/images/blog-post-pic-15.png",date:"2025-09-18",intro:"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.",content:[{type:"paragraph",text:"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."},{type:"heading",level:2,text:"The baseline"},{type:"paragraph",text:"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."},{type:"list",items:["Zone-based allocation that ignored cross-zone efficiencies","Manual sequencing that couldn't evaluate every alternative","No pre-validation of ETAs against real travel times","Reactive rather than predictive handling of disruptions"]},{type:"heading",level:3,text:"What changed"},{type:"paragraph",text:"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."},{type:"image",src:"/images/last-mile-approach.jpg",alt:"Hyderabad delivery hub routing analysis",caption:"Consolidating the day's deliveries into a single optimisation removed redundant cross-town travel."},{type:"heading",level:2,text:"The results"},{type:"list",items:["42% reduction in total distance travelled across the hub","37% fewer vehicles required for the same delivery volume","Zero SLA misses across the measured deployment window","Proportional drop in fuel cost and per-parcel emissions"]},{type:"quote",text:"Fewer vehicles, less fuel, zero missed SLAs — and not by working the team harder. By making a better decision before the wheels turned.",cite:"Hyderabad Hub Operations"},{type:"heading",level:3,text:"Why it generalises"},{type:"paragraph",text:"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."},{type:"paragraph",text:"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."}]},{title:"MileTruth™ AI — 10 Stages to Smarter Dispatch",excerpt:"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.",category:"MileTruth",image:"/images/blog-post-pic-31.png",date:"2025-09-05",intro:"Behind every Doormile dispatch is a pipeline that turns raw orders into a validated, optimal route in under 45 milliseconds. This is how MileTruth™ does it — ten stages, each one removing a source of error before the next begins.",content:[{type:"paragraph",text:"Speed and correctness are usually a trade-off. MileTruth is engineered to deliver both: a routing decision fast enough to feel instant, yet rigorous enough to commit a fleet to. The secret is a staged pipeline where each step has a single responsibility and hands clean, validated data to the next."},{type:"heading",level:2,text:"The ten stages"},{type:"list",ordered:!0,items:["Ingestion — orders, constraints and fleet state are normalised on arrival.","Validation — addresses, time windows and capacities are checked and geocoded.","Demand modelling — volume and service-time estimates are attached to each stop.","Travel-time estimation — real-world, time-of-day travel matrices are built.","Constraint assembly — capacity, range, windows and rules are encoded.","Strategy generation — multiple routing universes are explored in parallel.","Optimisation — the solver searches for the minimum-cost feasible plan.","Battery / range validation — EV routes are checked against real charge capacity.","ETA pre-validation — promised times are verified before any commitment.","Output — the final, validated route is emitted to dispatch."]},{type:"heading",level:3,text:"Why staging matters"},{type:"paragraph",text:"Collapsing these steps into one monolithic calculation is how most tools accumulate hidden errors. By isolating each concern, MileTruth catches a bad address before it reaches the solver, and an infeasible battery plan before it reaches a rider. Each stage is independently testable, observable and fast."},{type:"image",src:"/images/blog-post-pic-31.png",alt:"MileTruth routing pipeline diagram",caption:"Ten focused stages turn raw orders into a validated route in well under 45 milliseconds."},{type:"quote",text:"Each stage exists to delete a category of mistake. By the time a route reaches dispatch, the questionable decisions have already been ruled out.",cite:"MileTruth Engineering"},{type:"heading",level:2,text:"Parallel strategy universes"},{type:"paragraph",text:"Stage six is where MileTruth diverges from conventional routers. Rather than committing to one heuristic, it generates several distinct routing strategies simultaneously — each a complete candidate plan — and lets the optimiser select the best. Powered by a mathematical solver, it evaluates trade-offs no dispatcher could hold in their head."},{type:"list",items:["Multiple candidate plans evaluated, not a single best guess","Mathematical optimisation instead of fixed heuristics","Range and ETA validated inside the loop, not bolted on after","Sub-45ms output that keeps dispatch genuinely real-time"]},{type:"paragraph",text:"Ten stages, one outcome: a route you can trust enough to commit a fleet to — calculated, validated, and delivered before a dispatcher could finish reading the order list."}]},{title:"The EV Paradox: Solving Range Anxiety for Urban Fleets",excerpt:"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch.",category:"EV Fleet",image:"/images/ev-paradox.png",date:"2025-08-21",intro:"Electric fleets promise cleaner cities and lower running costs — but they trade one problem for another. Range becomes a hard constraint on every route, and range anxiety becomes an operational risk. Solving it before dispatch is the whole game."},{title:"Why Mathematical Precision Beats Heuristics in Routing",excerpt:"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time.",category:"Technology",image:"/images/blog-post-pic-14.jpeg",date:"2025-08-07",intro:"Heuristics are fast to build and easy to trust — until they quietly cost you a vehicle a day. Mathematical optimisation asks more of the engine and gives more back: provably better routes, every dispatch, at scale."},{title:"Fleet Reduction Without Compromising Delivery Volume",excerpt:"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch.",category:"Fleet Management",image:"/images/blog-post-pic-8.jpeg",date:"2025-07-24",intro:"Cutting your fleet usually means cutting capacity — unless the kilometres you remove were never necessary in the first place. Smarter routing reclaims that wasted distance and turns it into headroom."},{title:"Building a Greener City: The Future of Urban Logistics",excerpt:"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale.",category:"Sustainability",image:"/images/blog-post-pic-6.jpeg",date:"2025-07-10",intro:"Zero-emission delivery is no longer a marketing line — it is becoming a regulatory expectation. The path there runs through two changes at once: electrifying the fleet, and routing it intelligently enough to make electrification viable."},{title:"How Doormile Maintains 99.9% SLA Compliance at Scale",excerpt:"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint.",category:"Operations",image:"/images/last-mile-approach.jpg",date:"2025-06-26",intro:"An SLA you hit 99.9% of the time is not an average you got lucky on — it is a system designed so that missing is the exception, not the risk. Reliability, it turns out, is an engineering decision made long before dispatch."},{title:"Battery Simulation: The Secret to EV Route Pre-Validation",excerpt:"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate.",category:"EV Fleet",image:"/images/blog-post-pic-3.jpeg",date:"2025-06-12",intro:"A stranded EV is not just a late delivery — it is a vehicle out of service, a customer let down, and a recovery cost. Simulating the route against real charge capacity before dispatch is how you make sure it never happens."}].map(e=>{var t;return{slug:e.title.toLowerCase().replace(/™/g,"").replace(/&/g," and ").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,""),title:e.title,excerpt:e.excerpt,category:e.category,image:e.image,date:e.date,author:"Doormile Team",intro:e.intro,content:e.content??(t={title:e.title,category:e.category,image:e.image},[{type:"paragraph",text:`In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. ${t.title} looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road.`},{type:"heading",level:2,text:"Why this matters for modern fleets"},{type:"paragraph",text:"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."},{type:"list",items:["Fewer vehicles deployed for the same delivery volume","Lower cost-per-drop through tighter, smarter sequencing","Predictable ETAs that protect customer trust and SLA targets","A cleaner, lower-emission footprint per parcel delivered"]},{type:"heading",level:3,text:"From data to decision"},{type:"paragraph",text:"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."},{type:"image",src:t.image,alt:t.title,caption:`${t.category} — operational intelligence applied at the point of dispatch.`},{type:"quote",text:"We don't guess the route. We calculate it — and we prove it works before the wheels start turning.",cite:"Doormile Operations"},{type:"heading",level:2,text:"Putting it into practice"},{type:"paragraph",text:"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."},{type:"list",ordered:!0,items:["Benchmark today's distance, fleet size and on-time rate.","Feed real constraints — capacity, windows, charge — into the engine.","Validate routes against real-world conditions before dispatch.","Measure the delta, then scale the approach across hubs."]},{type:"paragraph",text:"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}])}});e.s(["default",0,function(){let[e,s]=(0,a.useState)(""),[o,n]=(0,a.useState)(!1),l=(0,a.useRef)(null),c=(0,a.useMemo)(()=>{let t=e.trim().toLowerCase();return t?r.filter(e=>e.title.toLowerCase().includes(t)||e.category.toLowerCase().includes(t)||e.excerpt.toLowerCase().includes(t)).slice(0,6):[]},[e]);(0,a.useEffect)(()=>{function e(e){l.current&&!l.current.contains(e.target)&&n(!1)}return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let d=o&&e.trim().length>0;return(0,t.jsxs)("div",{className:"dm-blog-search",ref:l,children:[(0,t.jsxs)("form",{role:"search",className:"dm-blog-search-form",onSubmit:e=>e.preventDefault(),children:[(0,t.jsx)("label",{htmlFor:"dm-blog-search-input",className:"dm-sr-only",children:"Search articles"}),(0,t.jsx)("input",{id:"dm-blog-search-input",type:"search",className:"dm-blog-search-input",placeholder:"Search articles…",value:e,autoComplete:"off",onChange:e=>{s(e.target.value),n(!0)},onFocus:()=>n(!0),"aria-expanded":d,"aria-controls":"dm-blog-search-results"}),(0,t.jsx)("span",{className:"dm-blog-search-icon","aria-hidden":"true",children:(0,t.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("circle",{cx:"11",cy:"11",r:"7"}),(0,t.jsx)("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]})})]}),d&&(0,t.jsx)("div",{id:"dm-blog-search-results",className:"dm-blog-search-results",role:"listbox",children:0===c.length?(0,t.jsxs)("p",{className:"dm-blog-search-empty",children:["No articles match “",e.trim(),"”."]}):(0,t.jsx)("ul",{children:c.map(e=>(0,t.jsx)("li",{role:"option","aria-selected":"false",children:(0,t.jsxs)(i.default,{href:`/blog/${e.slug}`,className:"dm-blog-search-result",onClick:()=>n(!1),children:[(0,t.jsx)("span",{className:"dm-blog-search-result-cat",children:e.category}),(0,t.jsx)("span",{className:"dm-blog-search-result-title",children:e.title})]})},e.slug))})})]})}],23096)}]); \ No newline at end of file diff --git a/build/_next/static/chunks/0bq~re.i_tntr.css b/build/_next/static/chunks/0bq~re.i_tntr.css new file mode 100644 index 0000000..16a30d4 --- /dev/null +++ b/build/_next/static/chunks/0bq~re.i_tntr.css @@ -0,0 +1 @@ +.OfficeMap-module__ToIo3G__root{border-radius:inherit;isolation:isolate;background:#0b0b0b;width:100%;height:100%;position:relative;overflow:hidden}.OfficeMap-module__ToIo3G__map{width:100%;height:100%;font-family:var(--font-manrope), system-ui, -apple-system, sans-serif;background:#0b0b0b}.OfficeMap-module__ToIo3G__map:focus-visible{outline-offset:-2px;outline:2px solid #c01227}.OfficeMap-module__ToIo3G__controls{z-index:600;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:8px;display:flex;position:absolute;top:14px;left:12px;right:12px}.OfficeMap-module__ToIo3G__controlBtn{pointer-events:auto;appearance:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f5f5f5;font-family:var(--font-manrope), system-ui, -apple-system, sans-serif;letter-spacing:.01em;cursor:pointer;white-space:nowrap;background:#0f0f11d1;border:1px solid #ffffff2e;border-radius:999px;margin:0;padding:9px 16px;font-size:13px;font-weight:700;line-height:1;transition:background-color .2s,border-color .2s,color .2s,transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s}.OfficeMap-module__ToIo3G__controlBtn:hover{background:#c01227e6;border-color:#c01227;transform:translateY(-1px)}.OfficeMap-module__ToIo3G__controlBtn:focus-visible{outline-offset:2px;outline:2px solid #fff}.OfficeMap-module__ToIo3G__controlBtnActive,.OfficeMap-module__ToIo3G__controlBtnActive:hover{color:#fff;background:#c01227;border-color:#c01227;box-shadow:0 6px 18px #c0122773}@media (max-width:480px){.OfficeMap-module__ToIo3G__controls{flex-wrap:nowrap;gap:5px;top:12px}.OfficeMap-module__ToIo3G__controlBtn{padding:7px 9px;font-size:11px}}.OfficeMap-module__ToIo3G__markerIcon{filter:drop-shadow(0 4px 6px #0000008c);background:0 0;border:0;transition:transform .18s cubic-bezier(.16,1,.3,1)}.OfficeMap-module__ToIo3G__markerIcon:hover,.OfficeMap-module__ToIo3G__markerIcon:focus-visible{transform:translateY(-3px)scale(1.06)}.OfficeMap-module__ToIo3G__root .leaflet-container{background:#0b0b0b}.OfficeMap-module__ToIo3G__root .leaflet-bar{border:1px solid #ffffff1f;box-shadow:0 6px 18px #0006}.OfficeMap-module__ToIo3G__root .leaflet-bar a{color:#f5f5f5;background:#0f0f11eb;border-bottom-color:#ffffff1f;transition:background-color .2s,color .2s}.OfficeMap-module__ToIo3G__root .leaflet-bar a:hover{color:#fff;background:#c01227}.OfficeMap-module__ToIo3G__root .leaflet-bar a:focus-visible{outline-offset:2px;outline:2px solid #c01227}.OfficeMap-module__ToIo3G__root .leaflet-control-attribution{color:#ffffffa6;-webkit-backdrop-filter:blur(6px);background:#0a0a0ab8;border-radius:6px 0 0;padding:2px 8px;font-size:11px}.OfficeMap-module__ToIo3G__root .leaflet-control-attribution a{color:#ffffffd9}.OfficeMap-module__ToIo3G__root .leaflet-popup-content-wrapper{color:#fff;background:#141416;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 18px 40px #0000008c}.OfficeMap-module__ToIo3G__root .leaflet-popup-content{letter-spacing:-.01em;margin:12px 16px;font-size:14px;font-weight:700;line-height:1.3}.OfficeMap-module__ToIo3G__root .leaflet-popup-tip{background:#141416;border:1px solid #ffffff1a}.OfficeMap-module__ToIo3G__root .leaflet-popup-close-button{color:#fff9}.OfficeMap-module__ToIo3G__root .leaflet-popup-close-button:hover{color:#fff}.OfficeMap-module__ToIo3G__root .leaflet-popup-content .office-popup__name{display:block}.OfficeMap-module__ToIo3G__root .leaflet-popup-content .office-popup__dot{vertical-align:middle;background:#c01227;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.OfficeMap-module__ToIo3G__skeleton{border-radius:inherit;background-color:#101012;background-image:linear-gradient(100deg,#fff0 30%,#ffffff0d 50%,#fff0 70%),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:200% 100%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;width:100%;height:100%;animation:1.4s ease-in-out infinite OfficeMap-module__ToIo3G__shimmer}@keyframes OfficeMap-module__ToIo3G__shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.OfficeMap-module__ToIo3G__skeleton{animation:none}.OfficeMap-module__ToIo3G__markerIcon{transition:none}}.OfficeMap-module__ToIo3G__errorOverlay{z-index:500;text-align:center;color:#ffffffd1;font-family:var(--font-manrope), system-ui, sans-serif;background:#101012;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:absolute;inset:0}.OfficeMap-module__ToIo3G__errorTitle{color:#fff;margin:0;font-size:clamp(15px,2.4vw,18px);font-weight:800}.OfficeMap-module__ToIo3G__errorText{color:#fff9;max-width:38ch;margin:0;font-size:13px;line-height:1.55}.OfficeMap-module__ToIo3G__errorList{flex-wrap:wrap;justify-content:center;gap:8px 12px;margin:4px 0 0;padding:0;list-style:none;display:flex}.OfficeMap-module__ToIo3G__errorList li{color:#f1f1f1;align-items:center;gap:7px;font-size:13px;font-weight:700;display:inline-flex}.OfficeMap-module__ToIo3G__errorList li:before{content:"";background:#c01227;border-radius:50%;width:7px;height:7px}.OfficeMap-module__ToIo3G__srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden} diff --git a/build/_next/static/chunks/0ckcqe5on274m.js b/build/_next/static/chunks/0ckcqe5on274m.js new file mode 100644 index 0000000..70db684 --- /dev/null +++ b/build/_next/static/chunks/0ckcqe5on274m.js @@ -0,0 +1 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,64083,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(75056),i=e.i(25234),o=e.i(28600),s=e.i(79877),a=e.i(33623);let l="#020617",c="#00E5FF",u="#22C55E",h="#EF4444",p=(e,t,r)=>e+(t-e)*r;function m(e,t,r){let n,i=(n=(r-e)/(t-e||1))<0?0:n>1?1:n;return i*i*(3-2*i)}function f(e,t,r,n){return p(e,t,1-Math.exp(-r*n))}function d(e){let t=43758.5453*Math.sin(127.1*e+311.7);return t-Math.floor(t)}var g=e.i(90072);let x=new g.Color(c),j=new g.Color(h),M=new g.Color(u),y=Array.from({length:5},(e,t)=>{let r=t/5*Math.PI*2+.3,n=7+3*d(7*t+1),i=Math.cos(r)*n,o=Math.sin(r)*n;return new g.Vector3(i,.1,o)}),v=r.default.memo(function({progress:e}){let n=(0,r.useRef)(null),o=(0,r.useRef)([]),s=(0,r.useRef)([]),a=(0,r.useRef)([]),l=(0,r.useRef)(0),u=(0,r.useMemo)(()=>y.map(e=>{let t=[new g.Vector3(0,.15,0),new g.Vector3(.5*e.x,.6,.5*e.z),new g.Vector3(e.x,.15,e.z)];return new g.CatmullRomCurve3(t).getPoints(24)}),[]);return(0,i.useFrame)((t,r)=>{let i=e.current??0;l.current=f(l.current,i,3,r);let c=l.current,u=t.clock.elapsedTime;n.current&&(n.current.position.y=.04*Math.sin(1.2*u)),o.current.forEach((e,t)=>{e&&(e.rotation.y=u*(.8+.2*t))}),s.current.forEach((e,t)=>{if(e){let r=m(.45,.8,c);e.color.copy(j).lerp(t%2==0?x:M,r),e.opacity=p(.12,.7,r)*(.8+.2*Math.sin(4*u-.5*t))}}),a.current.forEach((e,t)=>{if(e){let r=m(.5,.82,c);e.color.copy(j).lerp(t%2==0?x:M,r),e.opacity=p(.06,.22,r)*(.85+.15*Math.sin(3*u-t))}})}),(0,t.jsxs)("group",{children:[(0,t.jsx)("gridHelper",{args:[60,48,c,c],position:[0,-.01,0],children:(0,t.jsx)("lineBasicMaterial",{attach:"material",color:c,transparent:!0,opacity:.05})}),u.map((e,r)=>(0,t.jsxs)("line",{children:[(0,t.jsx)("bufferGeometry",{children:(0,t.jsx)("float32BufferAttribute",{attach:"attributes-position",args:[new Float32Array(e.flatMap(e=>[e.x,e.y,e.z])),3]})}),(0,t.jsx)("lineBasicMaterial",{ref:e=>{s.current[r]=e},transparent:!0,opacity:.15,depthWrite:!1})]},`corr${r}`)),(0,t.jsxs)("group",{ref:n,position:[0,0,0],children:[(0,t.jsxs)("mesh",{position:[0,.35,0],children:[(0,t.jsx)("boxGeometry",{args:[2.2,.7,1.8]}),(0,t.jsx)("meshBasicMaterial",{color:"#0B1220"})]}),(0,t.jsxs)("mesh",{position:[0,.35,0],children:[(0,t.jsx)("boxGeometry",{args:[2.2,.7,1.8]}),(0,t.jsx)("meshBasicMaterial",{color:c,wireframe:!0,transparent:!0,opacity:.65})]}),[-.6,0,.6].map((e,r)=>(0,t.jsxs)("mesh",{position:[e,.18,.91],children:[(0,t.jsx)("boxGeometry",{args:[.3,.35,.06]}),(0,t.jsx)("meshBasicMaterial",{color:c,transparent:!0,opacity:.8})]},r)),(0,t.jsxs)("mesh",{position:[0,.85,0],children:[(0,t.jsx)("boxGeometry",{args:[1.2,.3,1]}),(0,t.jsx)("meshBasicMaterial",{color:c,transparent:!0,opacity:.15})]}),(0,t.jsxs)("mesh",{position:[0,.85,0],children:[(0,t.jsx)("boxGeometry",{args:[1.2,.3,1]}),(0,t.jsx)("meshBasicMaterial",{color:c,wireframe:!0,transparent:!0,opacity:.9})]}),[-.4,.4].map((e,r)=>(0,t.jsxs)("mesh",{position:[e,.71,-.4],rotation:[.15,0,0],children:[(0,t.jsx)("boxGeometry",{args:[.5,.03,.6]}),(0,t.jsx)("meshBasicMaterial",{color:"#1e293b"})]},r)),(0,t.jsxs)("group",{position:[0,1,0],children:[(0,t.jsxs)("mesh",{position:[0,.4,0],children:[(0,t.jsx)("cylinderGeometry",{args:[.03,.03,.8,8]}),(0,t.jsx)("meshBasicMaterial",{color:c})]}),(0,t.jsxs)("mesh",{position:[0,.8,0],children:[(0,t.jsx)("sphereGeometry",{args:[.12,16,16]}),(0,t.jsx)("meshBasicMaterial",{color:"#ffffff"})]})]}),(0,t.jsxs)("mesh",{rotation:[-Math.PI/2,0,0],position:[0,.02,0],children:[(0,t.jsx)("ringGeometry",{args:[1.8,2.2,32]}),(0,t.jsx)("meshBasicMaterial",{color:c,transparent:!0,opacity:.3,blending:g.AdditiveBlending})]})]})]})}),b=new g.Vector3(0,.5,0);function A(e){return new g.CatmullRomCurve3(e,!1,"catmullrom",.5)}let B=null;function w(){if(B)return B;let e=[],t=[];for(let r=0;r<5;r++){let n=r/5*Math.PI*2+.3,i=7+3*d(7*r+1),o=Math.cos(n)*i,s=Math.sin(n)*i,a=2+Math.floor(2*d(7*r+2)),l=[b.clone()];l.push(new g.Vector3(.35*o,.45+1.4,.35*s));let c=[];for(let e=0;e{if(!a.current||!l.current)return;let t=s/4*e.clock.elapsedTime%1;a.current.scale.setScalar(.4+t*(o-.4)),l.current.opacity=.72*Math.sin((1-t)*Math.PI)}),(0,t.jsxs)("mesh",{ref:a,position:[e.x,.03,e.z],rotation:[-Math.PI/2,0,0],children:[(0,t.jsx)("ringGeometry",{args:[.22,.28,24]}),(0,t.jsx)("meshBasicMaterial",{ref:l,color:n,transparent:!0,opacity:0,depthWrite:!1,blending:g.AdditiveBlending})]})}),P=new g.Vector3,S=new g.Vector3,G=r.default.memo(function({progress:e,chaoticCurves:n}){let o=4*n.length,s=(0,r.useRef)([]),a=(0,r.useRef)([]),l=(0,r.useMemo)(()=>Array.from({length:o},(e,t)=>d(13*t+3)),[o]),c=(0,r.useMemo)(()=>Array.from({length:2*n.length},(e,t)=>t%2/2),[n.length]);return(0,i.useFrame)(t=>{let r=1-m(.48,.6,e.current??0),i=r>.01;if(s.current.forEach(e=>{e&&(e.visible=i)}),a.current.forEach(e=>{e&&(e.visible=i)}),!i)return;let u=t.clock.elapsedTime;for(let e=0;e{let t=e.material;t&&"opacity"in t&&(t.opacity=.5*r*Math.sin(o*Math.PI))})}}),(0,t.jsxs)("group",{children:[Array.from({length:o}).map((e,r)=>(0,t.jsxs)("mesh",{ref:e=>{s.current[r]=e},visible:!1,children:[(0,t.jsx)("sphereGeometry",{args:[.06,6,6]}),(0,t.jsx)("meshBasicMaterial",{color:h,transparent:!0,opacity:0,depthWrite:!1,blending:g.AdditiveBlending})]},`cp-${r}`)),Array.from({length:2*n.length}).map((e,r)=>(0,t.jsx)("group",{ref:e=>{a.current[r]=e},visible:!1,children:(0,t.jsxs)("mesh",{rotation:[Math.PI/2,0,0],children:[(0,t.jsx)("coneGeometry",{args:[.06,.16,4]}),(0,t.jsx)("meshBasicMaterial",{color:h,transparent:!0,opacity:0,depthWrite:!1,blending:g.AdditiveBlending})]})},`cc-${r}`))]})}),E=new g.Vector3,T=new g.Vector3,k=r.default.memo(function({progress:e,optimizedCurves:n}){let o=6*n.length,s=(0,r.useRef)([]),a=(0,r.useRef)([]),l=(0,r.useRef)([]),h=(0,r.useMemo)(()=>Array.from({length:o},(e,t)=>d(17*t+4)),[o]),p=(0,r.useMemo)(()=>Array.from({length:3*n.length},(e,t)=>t%3/3),[n.length]);return(0,i.useFrame)(t=>{let r=m(.52,.7,e.current??0),i=r>.01;if(s.current.forEach(e=>{e&&(e.visible=i)}),a.current.forEach(e=>{e&&(e.visible=i)}),l.current.forEach(e=>{e&&(e.visible=i)}),!i)return;let c=t.clock.elapsedTime;for(let e=0;e{let t=e.material;t&&"opacity"in t&&(t.opacity=.85*r*Math.sin(o*Math.PI))})}for(let e=0;e{let n=Math.floor(r/6)%2==0?c:u;return(0,t.jsxs)("mesh",{ref:e=>{s.current[r]=e},visible:!1,children:[(0,t.jsx)("sphereGeometry",{args:[.05,8,8]}),(0,t.jsx)("meshBasicMaterial",{color:n,transparent:!0,opacity:0,depthWrite:!1,blending:g.AdditiveBlending})]},`op-${r}`)}),Array.from({length:3*n.length}).map((e,r)=>{let n=Math.floor(r/3)%2==0?c:u;return(0,t.jsx)("group",{ref:e=>{a.current[r]=e},visible:!1,children:(0,t.jsxs)("mesh",{rotation:[Math.PI/2,0,0],children:[(0,t.jsx)("coneGeometry",{args:[.07,.2,4]}),(0,t.jsx)("meshBasicMaterial",{color:n,transparent:!0,opacity:0,depthWrite:!1,blending:g.AdditiveBlending})]})},`oc-${r}`)}),n.map((e,r)=>(0,t.jsxs)("mesh",{ref:e=>{l.current[r]=e},visible:!1,children:[(0,t.jsx)("sphereGeometry",{args:[.07,12,12]}),(0,t.jsx)("meshBasicMaterial",{color:r%2==0?c:u,transparent:!0,opacity:0,depthWrite:!1,blending:g.AdditiveBlending})]},`pulse-${r}`))]})}),z=r.default.memo(function({progress:e,reduced:n=!1,isMobile:o=!1}){let{chaotic:s,optimized:a,chaosNodes:l,optimizedNodes:p}=(0,r.useMemo)(()=>w(),[]),f=(0,r.useRef)([]),d=(0,r.useRef)([]),x=(0,r.useRef)(null),j=(0,r.useRef)(null),M=(e,t)=>{if(!e.index)return;let r=Math.max(0,36*Math.floor(e.index.count*t/36));e.setDrawRange(0,r)};return(0,i.useFrame)(t=>{let r=e.current??0,n=t.clock.elapsedTime,i=1-m(.4,.56,r),o=(1-m(.38,.55,r))*.85,s=.7+.18*Math.sin(7*n);for(let e of f.current)e?.geo&&(M(e.geo,i),e.mat&&(e.mat.opacity=o*s));let a=m(.55,.74,r),l=m(.55,.66,r);for(let e=0;e(0,t.jsxs)("mesh",{frustumCulled:!1,children:[(0,t.jsx)("tubeGeometry",{ref:e=>{e&&(f.current[r]={...f.current[r]??{},geo:e})},args:[e.curve,120,.08,6,!1]}),(0,t.jsx)("meshBasicMaterial",{ref:e=>{e&&(f.current[r]={...f.current[r]??{},mat:e})},color:h,transparent:!0,opacity:.85,depthWrite:!1,blending:n?g.NormalBlending:g.AdditiveBlending})]},`c${r}`)),a.map((e,r)=>(0,t.jsxs)("mesh",{frustumCulled:!1,children:[(0,t.jsx)("tubeGeometry",{ref:e=>{e&&(d.current[r]={...d.current[r]??{},geo:e})},args:[e.curve,120,.1,6,!1]}),(0,t.jsx)("meshBasicMaterial",{ref:e=>{e&&(d.current[r]={...d.current[r]??{},mat:e})},color:r%2==0?c:u,transparent:!0,opacity:0,depthWrite:!1,blending:n?g.NormalBlending:g.AdditiveBlending})]},`o${r}`)),(0,t.jsx)("group",{ref:x,children:l.map((e,r)=>(0,t.jsxs)("group",{children:[(0,t.jsxs)("mesh",{position:e,children:[(0,t.jsx)("sphereGeometry",{args:[.18,12,12]}),(0,t.jsx)("meshBasicMaterial",{color:h,transparent:!0,opacity:.9,blending:g.AdditiveBlending})]}),(0,t.jsx)(R,{position:e,color:h})]},`cn-group-${r}`))}),(0,t.jsx)("group",{ref:j,scale:1e-4,children:p.map((e,r)=>(0,t.jsxs)("group",{children:[(0,t.jsxs)("mesh",{position:e,children:[(0,t.jsx)("sphereGeometry",{args:[.15,14,14]}),(0,t.jsx)("meshBasicMaterial",{color:u,transparent:!0,opacity:.95,blending:g.AdditiveBlending})]}),(0,t.jsx)(R,{position:e,color:u,maxScale:1.8,pulseSpeed:3})]},`on-group-${r}`))}),!o&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(G,{progress:e,chaoticCurves:s.map(e=>e.curve)}),(0,t.jsx)(k,{progress:e,optimizedCurves:a.map(e=>e.curve)})]})]})}),V=new g.Vector3,C=new g.Vector3,I=new g.Vector3,F=r.default.memo(function({texture:e,tint:r,width:n,aspect:i}){let o=n/i;return(0,t.jsxs)("mesh",{position:[0,o/2.4,0],children:[(0,t.jsx)("planeGeometry",{args:[n,o]}),(0,t.jsx)("meshBasicMaterial",{map:e,color:r,transparent:!0,depthWrite:!1,side:g.DoubleSide,toneMapped:!1})]})}),$=new g.Vector3(0,.5,0),W=r.default.memo(function({progress:e,reduced:n=!1}){let{chaotic:o,optimized:s}=(0,r.useMemo)(()=>w(),[]),a=["truck","van","bike"],l=(0,r.useMemo)(()=>Array.from({length:7},(e,t)=>({curve:o[t%o.length].curve,type:a[t%3],speed:.018+.03*d(5*t+1),offset:d(5*t+2),color:h,nodes:o[t%o.length].nodes||[]})),[o]),p=(0,r.useMemo)(()=>Array.from({length:5},(e,t)=>({curve:s[t%s.length].curve,type:a[t%3],speed:.05+.025*d(7*t+1),offset:d(7*t+2),color:t%2==0?c:u,nodes:s[t%s.length].nodes||[]})),[s]),f=(0,r.useRef)([]),x=(0,r.useRef)([]),j=(0,r.useRef)([]),M=(0,r.useMemo)(()=>{let e=new g.TextureLoader().load("/images/truck.png");return e.colorSpace=g.SRGBColorSpace,e.anisotropy=8,e},[]),y=1080/948,v=(0,r.useRef)([]),b=(0,r.useRef)([]),A=(e,t,r,n,i,o)=>{if(!e||!t?.curve)return;let s=o>.02;if(e.visible=s,!s)return;let a=r[n];(void 0===a||Number.isNaN(a))&&(a=r[n]=t.offset??0),t.curve.getPointAt(a,V);let l=V.distanceTo($);t.nodes&&t.nodes.length>0&&t.nodes.forEach(e=>{let t=V.distanceTo(e);t{let t=e.material;t&&"opacity"in t&&(t.opacity=o*B(e))})},B=e=>{let t=e.material;return!t||t.map||t.wireframe||t.color&&0xffffff===t.color.getHex()||t.color&&0xef4444===t.color.getHex()?1:.2};return(0,i.useFrame)((t,r)=>{v.current.length!==l.length&&(v.current=l.map(e=>e.offset)),b.current.length!==p.length&&(b.current=p.map(e=>e.offset));let n=e.current??0,i=t.clock.elapsedTime,o=Math.min(.06,r),s=m(.1,.22,n)*(1-m(.7,.82,n))*(.85+.1*Math.sin(6*i)),a=m(.68,.82,n),c=t.camera;for(let e=0;e(0,t.jsx)("group",{ref:e=>{f.current[r]=e},children:(0,t.jsx)(F,{texture:M,tint:"#ff5a5a",width:1.61,aspect:y})},`cv${r}`)),p.map((e,r)=>(0,t.jsx)("group",{visible:!1,ref:e=>{x.current[r]=e},children:(0,t.jsx)(F,{texture:M,tint:"#d7dce4",width:1.75,aspect:y})},`ov${r}`)),p.map((e,r)=>Array.from({length:16},(i,o)=>(0,t.jsxs)("mesh",{visible:!1,ref:e=>{j.current[16*r+o]=e},children:[(0,t.jsx)("sphereGeometry",{args:[.1,8,8]}),(0,t.jsx)("meshBasicMaterial",{color:e.color,transparent:!0,opacity:0,depthWrite:!1,blending:n?g.NormalBlending:g.AdditiveBlending})]},`ot-${r}-${o}`)))]})}),N=r.default.memo(function({offset:e,index:n,progress:o,color:s}){let a=(0,r.useRef)(null),l=(0,r.useRef)(null),c=(0,r.useRef)([]),u=(0,r.useMemo)(()=>Array.from({length:3},(e,t)=>t/3),[]);(0,i.useFrame)(t=>{let r=o.current??0,i=t.clock.elapsedTime,s=m(.2,.4,r)*(1-m(.72,.85,r)),h=s>.01;a.current&&(a.current.visible=h),l.current&&h&&(l.current.opacity=s*(.15+.08*Math.sin(12*i+n))),c.current.forEach((t,r)=>{if(!t||(t.visible=h,!h))return;let o=.8+.4*d(5*n+r),a=(u[r]+o/3*i)%1;t.position.copy(e).multiplyScalar(a),t.material.opacity=s*Math.sin(a*Math.PI)*.8;let l=.04+.015*Math.sin(8*i+r);t.scale.setScalar(l/.06)})});let h=(0,r.useMemo)(()=>{let t=new g.BufferGeometry,r=new Float32Array([0,0,0,e.x,e.y,e.z]);return t.setAttribute("position",new g.BufferAttribute(r,3)),t},[e]);return(0,t.jsxs)("group",{children:[(0,t.jsx)("lineSegments",{ref:a,geometry:h,children:(0,t.jsx)("lineBasicMaterial",{ref:l,color:s,transparent:!0,opacity:0,depthWrite:!1,blending:g.AdditiveBlending})}),Array.from({length:3}).map((e,r)=>(0,t.jsxs)("mesh",{ref:e=>{c.current[r]=e},visible:!1,children:[(0,t.jsx)("sphereGeometry",{args:[.06,8,8]}),(0,t.jsx)("meshBasicMaterial",{color:s,transparent:!0,opacity:0,depthWrite:!1,blending:g.AdditiveBlending})]},r))]})}),Y=r.default.memo(function({progress:e}){let n=(0,r.useRef)(null),o=(0,r.useMemo)(()=>Array.from({length:5},(e,t)=>{let r=t/5*Math.PI*2+.3,n=7+3*d(7*t+1),i=Math.cos(r)*n,o=Math.sin(r)*n;return new g.Vector3(i,-3.3,o)}),[]);return(0,i.useFrame)(e=>{let t=e.clock.elapsedTime;n.current&&(n.current.position.y=3.4+.12*Math.sin(.8*t))}),(0,t.jsxs)("group",{ref:n,position:[0,3.4,0],children:[(0,t.jsxs)("mesh",{children:[(0,t.jsx)("sphereGeometry",{args:[.06,12,12]}),(0,t.jsx)("meshBasicMaterial",{color:u,blending:g.AdditiveBlending})]}),o.map((r,n)=>(0,t.jsx)(N,{offset:r,index:n,progress:e,color:n%2==0?c:u},`calc-beam-${n}`))]})}),D={radiusStart:17,radiusEnd:13,heightStart:9,heightEnd:6.5,lookAtY:2.4,fov:50},H={radiusStart:19,radiusEnd:15,heightStart:9.5,heightEnd:7,lookAtY:2.6,fov:54},K={radiusStart:16,radiusEnd:12,heightStart:8.5,heightEnd:6,lookAtY:2.3,fov:58};function U({progress:e,framing:t}){let n=(0,r.useRef)(0),s=(0,o.useThree)(e=>e.camera);return(0,r.useEffect)(()=>{"fov"in s&&(s.fov=t.fov,s.updateProjectionMatrix())},[s,t.fov]),(0,i.useFrame)((r,i)=>{let o=e.current??0;n.current=f(n.current,o,1.5,i);let s=n.current,a=r.clock.elapsedTime,l=p(t.radiusStart,t.radiusEnd,s),c=p(-.5,.45,s)+.02*a,u=p(t.heightStart,t.heightEnd,s)+.3*Math.sin(.4*a),h=r.camera;h.position.x=Math.sin(c)*l,h.position.z=Math.cos(c)*l,h.position.y=u,h.lookAt(0,t.lookAtY,0)}),null}let L=r.default.memo(function({progress:e,reduced:r=!1,isMobile:i=!1,isTablet:o=!1,active:c=!0}){let u=i?K:o?H:D;return(0,t.jsxs)(n.Canvas,{flat:!0,dpr:[1,i||r?1.25:1.5],camera:{position:[0,u.heightStart,u.radiusStart],fov:u.fov,near:.1,far:120},gl:{antialias:!i,powerPreference:"high-performance",alpha:!1},frameloop:c?"always":"never",children:[(0,t.jsx)("color",{attach:"background",args:[l]}),(0,t.jsx)("fog",{attach:"fog",args:[l,18,52]}),(0,t.jsx)("ambientLight",{intensity:.6}),(0,t.jsx)(U,{progress:e,framing:u}),(0,t.jsx)(v,{progress:e,count:i?48:90,reduced:r}),(0,t.jsx)(z,{progress:e,reduced:r,isMobile:i}),(0,t.jsx)(W,{progress:e,reduced:r}),(0,t.jsx)(Y,{progress:e,reduced:r}),!r&&(0,t.jsx)(s.EffectComposer,{multisampling:2*!i,children:(0,t.jsx)(s.Bloom,{mipmapBlur:!0,intensity:i?.5:1,luminanceThreshold:.15,luminanceSmoothing:.04,radius:i?.55:.75,kernelSize:a.KernelSize.MEDIUM})})]})});e.s(["default",0,L],64083)},29539,e=>{e.n(e.i(64083))}]); \ No newline at end of file diff --git a/build/_next/static/chunks/0dk5i18w5.4u4.js b/build/_next/static/chunks/0dk5i18w5.4u4.js deleted file mode 100644 index 4a1bf0c..0000000 --- a/build/_next/static/chunks/0dk5i18w5.4u4.js +++ /dev/null @@ -1 +0,0 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,97202,e=>{"use strict";e.s(["COLORS",0,{bg:"#020617",cyan:"#00E5FF",green:"#22C55E",red:"#EF4444",amber:"#F59E0B",ink:"#0B1220",slate:"#64748B",textDim:"rgba(226,232,240,0.66)"},"KPIS",0,[{key:"distance",before:312,after:182,suffix:" km",labelBefore:"Route Distance",labelAfter:"Route Distance",goodWhenLower:!0},{key:"vehicles",before:8,after:5,labelBefore:"Vehicles",labelAfter:"Vehicles",goodWhenLower:!0},{key:"orders",before:59,after:59,labelBefore:"Orders",labelAfter:"Orders Fulfilled",goodWhenLower:!1},{key:"delayed",before:23,after:0,labelBefore:"Delayed",labelAfter:"Delayed",goodWhenLower:!0},{key:"cost",before:18,after:18,prefixBefore:"+",prefixAfter:"−",suffix:"%",labelBefore:"Cost Overrun",labelAfter:"Cost Saved",goodWhenLower:!1}],"PHASE_LABELS",0,{chaos:"Monitoring network",scan:"AI SCANNING NETWORK",dissolve:"AI OPTIMIZING ROUTES",optimize:"AI OPTIMIZING ROUTES",reorganize:"AI REASSIGNING VEHICLES",metrics:"AI COMPLETE"},"phaseFromProgress",0,function(e){return e>=.84?"metrics":e>=.7?"reorganize":e>=.56?"optimize":e>=.42?"dissolve":e>=.28?"scan":"chaos"},"rgba",0,function(e,t){let a=e.replace("#",""),r=parseInt(a.substring(0,2),16),o=parseInt(a.substring(2,4),16),s=parseInt(a.substring(4,6),16);return`rgba(${r}, ${o}, ${s}, ${t})`}])},92695,e=>{"use strict";let t={bg:"#08080c",red:"#C01227",cyan:"#E2354A",blue:"#7E1420",sky:"#F2667A",magenta:"#C8102E",violet:"#3c3c46",purple:"#6a6a76",steel:"#43434d",gray:"#7c7c86",green:"#22C55E",amber:"#F59E0B",white:"#FFFFFF"},a=[t.red,t.steel,t.gray,t.steel,t.gray,t.steel],r={birth:0,routes:.13,ev:.28,network:.44,sla:.6,ecosystem:.74,finale:.88},o=[{n:"01",at:r.routes,title:"Generate Routes",caption:"Many delivery plans created at once"},{n:"02",at:r.ev,title:"Check Constraints",caption:"Battery, distance, capacity & time"},{n:"03",at:r.network,title:"Score & Compare",caption:"Every plan ranked by total cost"},{n:"04",at:r.sla,title:"Guarantee On-Time",caption:"Late plans rejected automatically"},{n:"05",at:r.ecosystem,title:"Pick & Dispatch",caption:"Best plan sent to the fleet"},{n:"06",at:r.finale,title:"Delivered",caption:"Real business results"}];e.s(["BRAIN_Y",0,3,"C",0,t,"CITY_RADIUS",0,19,"CONSTRAINT_LIST",0,[{icon:"🔋",label:"Battery",note:"EV range & recharge stops"},{icon:"📍",label:"Distance",note:"Total km per route"},{icon:"📦",label:"Capacity",note:"Orders each vehicle can carry"},{icon:"⏱️",label:"Time / SLA",note:"Promised delivery windows"}],"ENGINE_STEPS",0,o,"P",0,r,"ROUTE_COLORS",0,a,"STRATEGIES",0,["Multi-Trip","Proximity","Balanced","Fuel Saver","EV-Aware","Time-Aware"],"STRATEGY_SCORES",0,[{name:"Multi-Trip",score:98,win:!0},{name:"Time-Aware",score:90},{name:"Balanced",score:84},{name:"Proximity",score:76},{name:"Fuel Saver",score:68},{name:"EV-Aware",score:58}],"WAYPOINTS",0,[{at:0,pos:[0,20,27],look:[0,1.4,0]},{at:.13,pos:[-2.5,20,26.5],look:[-.5,1.2,0]},{at:.28,pos:[3,18.5,25.5],look:[.6,.8,-.8]},{at:.44,pos:[0,23,24.5],look:[0,1,0]},{at:.6,pos:[2.5,21,25.5],look:[0,1.2,0]},{at:.74,pos:[-2,20,26.5],look:[0,1.2,0]},{at:.88,pos:[0,22,25.5],look:[0,1.8,0]},{at:1,pos:[0,21.5,25.5],look:[0,2,0]}],"WINNER_INDEX",0,0])},49712,e=>{e.v(t=>Promise.all(["static/chunks/0roya9vkvq6rl.js","static/chunks/0z6t9sni_7re~.js"].map(t=>e.l(t))).then(()=>t(29539)))},40999,e=>{e.v(t=>Promise.all(["static/chunks/04dzth4udk0lf.js","static/chunks/0z6t9sni_7re~.js","static/chunks/0lr8xk62out3u.js"].map(t=>e.l(t))).then(()=>t(39184)))},15756,e=>{e.v(t=>Promise.all(["static/chunks/10mjqoa6szzv3.js"].map(t=>e.l(t))).then(()=>t(55819)))}]); \ No newline at end of file diff --git a/build/_next/static/chunks/0mj5g~jkoe.ou.css b/build/_next/static/chunks/0ejo5d-~uyw2f.css similarity index 56% rename from build/_next/static/chunks/0mj5g~jkoe.ou.css rename to build/_next/static/chunks/0ejo5d-~uyw2f.css index afdeabe..502e079 100644 --- a/build/_next/static/chunks/0mj5g~jkoe.ou.css +++ b/build/_next/static/chunks/0ejo5d-~uyw2f.css @@ -3,4 +3,4 @@ @font-face{font-family:Syne;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ab624315db63c58d-s.1487dfs7-.~d~.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e94b8ab81811a983-s.02fsf_1p_avhz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ab624315db63c58d-s.1487dfs7-.~d~.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e94b8ab81811a983-s.02fsf_1p_avhz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(../media/ab624315db63c58d-s.1487dfs7-.~d~.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e94b8ab81811a983-s.02fsf_1p_avhz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne Fallback;src:local(Arial);ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.0%;size-adjust:98.47%}.syne_ef5854ac-module__2TJB3a__className{font-family:Syne,Syne Fallback;font-style:normal}.syne_ef5854ac-module__2TJB3a__variable{--font-syne:"Syne", "Syne Fallback"} @font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_2770e922-module__TdA3fW__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_2770e922-module__TdA3fW__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"} @font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5dbe1e89-module__i9oJOa__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_5dbe1e89-module__i9oJOa__variable{--font-inter:"Inter", "Inter Fallback"} -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-full{width:100%;height:100%}.h-full{height:100%}.w-full{width:100%}.flex-shrink,.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[shimmer-sweep_6s_infinite_linear\]{animation:6s linear infinite shimmer-sweep}.resize{resize:both}.columns-5{columns:5}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.overflow-hidden{overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.bg-\[linear-gradient\(110deg\,\#ffffff\,45\%\,\#c01227\,55\%\,\#ffffff\)\]{background-image:linear-gradient(110deg,#fff,45%,#c01227,55%,#fff)}.bg-\[length\:250\%_100\%\]{background-size:250% 100%}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.text-transparent{color:#0000}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}html{scroll-behavior:smooth}:root{--space-section:clamp(40px, 5vw, 64px);--space-section-lg:clamp(52px, 6vw, 80px);--space-hero-gap:clamp(36px, 4.5vw, 64px)}.dm-section{padding-top:var(--space-section)!important;padding-bottom:var(--space-section)!important}.dm-section-lg{padding-top:var(--space-section-lg)!important;padding-bottom:var(--space-section-lg)!important}.elementor-86 .elementor-element.elementor-element-88745f4{margin-top:var(--space-hero-gap)!important}.elementor.elementor-61 .elementor-element.elementor-element-30fd9d1,.elementor.elementor-61 .elementor-element.elementor-element-b62c0b3,.elementor.elementor-61 .elementor-element.elementor-element-89a0ca1,.elementor.elementor-61 .elementor-element.elementor-element-88745f4,.elementor.elementor-61 .elementor-element.elementor-element-bbc6760,.elementor.elementor-61 .elementor-element.elementor-element-3b4a7cc{margin-top:var(--space-section)!important;margin-bottom:0!important}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}*,:before,:after{font-family:var(--font-manrope), "Manrope", system-ui, -apple-system, sans-serif}:not(i):not(svg):not(path):not(canvas):not(.fa):not(.fas):not(.far):not(.fab):not([class*=fa-]):not([class*=eicon-]):not([class*=fontello]){font-family:var(--font-manrope), "Manrope", system-ui, -apple-system, sans-serif!important}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}@media (min-width:1025px){#masthead .elementor-element.elementor-element-466de1b{padding:0 28px!important;top:5px!important}#masthead .elementor-element.elementor-element-e052838{background:0 0!important;border-radius:28px!important;margin-left:1.4%!important}#masthead .elementor-element.elementor-element-d681ece{align-items:center!important;min-height:104px!important}#masthead .elementor-element.elementor-element-472172e{padding-top:18px!important;padding-bottom:18px!important}#masthead .elementor-element.elementor-element-846e53d .hfe-site-logo .hfe-site-logo-container img{width:190px!important;height:auto!important;margin-left:24px!important}#masthead .elementor-element.elementor-element-e44ee7e,#masthead .elementor-element.elementor-element-f961133{padding-top:14px!important;padding-bottom:14px!important}#masthead .elementor-element.elementor-element-0b7bf6f>.elementor-widget-container{border-radius:22px!important;padding:0 42px!important}#masthead .elementor-element.elementor-element-0b7bf6f .header-menu-container .main-menu>li>a{white-space:nowrap!important;padding:15px 14px 16px!important;font-size:15px!important;line-height:1.2!important}#masthead .header-menu-container .main-menu{gap:8px!important}#masthead .elementor-element.elementor-element-cabdb09 a.header-button{border-radius:24px!important;min-width:185px!important;min-height:58px!important;padding:0 34px!important;font-size:18px!important;line-height:58px!important}#masthead .elementor-element.elementor-element-466de1b.dm-header-scrolled{top:0!important}}.dm-contact-section{color:#fff;background:#1f1f1f;grid-template-columns:minmax(0,1fr) minmax(420px,48%);min-height:720px;margin:0;display:grid;position:relative;overflow:hidden}.dm-contact-left{min-width:0;padding:clamp(48px,5vw,76px) clamp(28px,5vw,72px);position:relative;overflow:hidden}.dm-contact-map{z-index:0;opacity:.34;pointer-events:none;-webkit-user-select:none;user-select:none;width:min(980px,112%);max-width:none;position:absolute;bottom:-1%;left:-5%}.dm-contact-kicker,.dm-contact-title,.dm-contact-copy,.dm-contact-info{z-index:1;position:relative}.dm-contact-kicker{color:#fff;margin:0 0 clamp(44px,5vw,64px);font-size:clamp(16px,1.2vw,20px);font-weight:600;line-height:1.2}.dm-contact-title{color:#fff;letter-spacing:0;text-transform:uppercase;max-width:850px;margin:0;font-size:clamp(44px,5.2vw,86px);font-weight:400;line-height:1.18}.dm-contact-copy{color:#ffffffeb;margin:clamp(36px,4.5vw,58px) 0 0;font-size:clamp(18px,1.55vw,26px);font-weight:400;line-height:1.45}.dm-contact-info{grid-template-columns:minmax(180px,.85fr) minmax(260px,1.45fr);gap:clamp(32px,5vw,74px);max-width:860px;margin-top:clamp(72px,7vw,114px);display:grid}.dm-contact-info-item h3{color:#fff;margin:0 0 32px;font-size:clamp(18px,1.5vw,25px);font-weight:800;line-height:1.2}.dm-contact-info-item p{color:#fff;margin:0;font-size:clamp(17px,1.35vw,24px);font-weight:500;line-height:1.6}.dm-contact-card{color:#1b1b1b;background:#fff;border-radius:34px 34px 0 0;align-self:stretch;min-width:0;margin:22px 34px 0 0;padding:clamp(72px,7vw,132px) clamp(42px,7.2vw,150px) clamp(50px,5.5vw,82px)}.dm-contact-card h3{color:#1b1b1b;letter-spacing:0;margin:0 0 clamp(44px,5vw,68px);font-size:clamp(34px,2.6vw,45px);font-weight:800;line-height:1.1}.dm-contact-form{flex-direction:column;gap:28px;display:flex}.dm-contact-form label{margin:0;display:block}.dm-contact-form label>span{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dm-contact-form input,.dm-contact-form textarea{color:#1b1b1b;width:100%;box-shadow:none;background:#fff;border:1.5px solid #a9a9a9;border-radius:14px;outline:none;margin:0;font-family:inherit;font-size:clamp(17px,1.05vw,20px);font-weight:500;line-height:1.4;transition:border-color .2s,box-shadow .2s}.dm-contact-form input{height:72px;padding:0 28px}.dm-contact-form textarea{resize:vertical;min-height:250px;padding:24px 28px}.dm-contact-form input::placeholder,.dm-contact-form textarea::placeholder{color:#9c9c9c;opacity:1}.dm-contact-form input:focus,.dm-contact-form textarea:focus{border-color:#c01227;box-shadow:0 0 0 3px #c012271c}.dm-contact-status{margin:-6px 0 0;font-size:15px;font-weight:700;line-height:1.4}.dm-contact-status-success{color:#247a3d}.dm-contact-status-error{color:#c01227}.dm-contact-submit{color:#2d2d2d;cursor:pointer;background:#fff;border:1.5px solid #e31d32;border-radius:14px;align-self:flex-start;align-items:stretch;height:72px;margin-top:26px;padding:0;font-family:inherit;font-size:clamp(16px,1.02vw,19px);font-weight:800;line-height:1;transition:transform .2s,border-color .2s,color .2s;display:inline-flex;overflow:hidden}.dm-contact-submit span:first-child{justify-content:center;align-items:center;min-width:220px;padding:0 34px;display:inline-flex}.dm-contact-submit-icon{background:#c01227;width:70px;min-width:70px;display:inline-flex;position:relative}.dm-contact-submit-icon:before,.dm-contact-submit-icon:after{content:"";background:#fff;position:absolute}.dm-contact-submit-icon:before{transform-origin:100%;width:28px;height:3px;top:35px;left:23px;transform:rotate(-45deg)}.dm-contact-submit-icon:after{background:0 0;border-top:3px solid #fff;border-right:3px solid #fff;width:16px;height:16px;top:25px;right:25px}.dm-contact-submit:hover,.dm-contact-submit:focus-visible{color:#111;border-color:#c01227;transform:translateY(-1px)}.dm-contact-submit:disabled{cursor:wait;opacity:.72}@media (max-width:1200px){.dm-contact-section{grid-template-columns:1fr}.dm-contact-left{min-height:640px}.dm-contact-card{border-radius:28px;margin:0 28px 40px}}@media (max-width:720px){.dm-contact-left{min-height:auto;padding:42px 22px 58px}.dm-contact-title{font-size:clamp(38px,12vw,58px)}.dm-contact-info{grid-template-columns:1fr;gap:42px;margin-top:54px}.dm-contact-info-item h3{margin-bottom:18px}.dm-contact-card{border-radius:24px;margin:0 16px 32px;padding:44px 22px 34px}.dm-contact-card h3{margin-bottom:34px}.dm-contact-form{gap:20px}.dm-contact-form input{height:60px;padding:0 20px}.dm-contact-form textarea{min-height:190px;padding:20px}.dm-contact-submit{width:100%;height:64px}.dm-contact-submit span:first-child{flex:auto;min-width:0;padding:0 22px}.dm-contact-submit-icon{width:64px;min-width:64px}}.industry-solutions-grid{grid-template-columns:repeat(3,1fr);gap:30px;width:100%;margin:30px 0 0;display:grid}@media (max-width:1024px){.industry-solutions-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.industry-solutions-grid{grid-template-columns:1fr}}.industry-card-link{background:#121212;border-radius:30px;height:600px;text-decoration:none;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s;display:block;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000001f}.industry-card-link:after{content:"";z-index:6;pointer-events:none;border:1px solid #ffffff14;border-radius:30px;transition:border-color .4s;position:absolute;inset:0}@keyframes shimmer-sweep{0%{background-position:200%}to{background-position:-200%}}.industry-card-link:before{content:"";z-index:7;pointer-events:none;background:linear-gradient(90deg,#fff0 0%,#ffffff2e 50%,#fff0 100%);width:60%;height:100%;position:absolute;top:0;left:0;transform:translate(-150%)skew(-25deg)}.industry-card-link:hover:before{animation:1.2s cubic-bezier(.2,.8,.2,1) forwards shimmer-sweep}.industry-card-link:hover{transform:translateY(-5px);box-shadow:0 20px 40px #c0122740}.industry-card-link:hover:after{border-color:#ffffff40}.industry-card-bg{z-index:1;transition:transform .6s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.industry-card-link:hover .industry-card-bg{transform:scale(1.04)}.industry-card-overlay{z-index:2;background:linear-gradient(#0000 0%,#0000004d 50%,#000000d9 100%);transition:opacity .4s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.industry-card-link:hover .industry-card-overlay{opacity:0}.industry-card-hover-bg{z-index:3;opacity:0;background:linear-gradient(#d71428cc 0%,#c01227e0 100%);transition:opacity .4s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.industry-card-link:hover .industry-card-hover-bg{opacity:1}.industry-card-default-content{z-index:4;opacity:1;transition:opacity .3s,transform .3s;position:absolute;bottom:40px;left:24px;transform:translateY(0)}.industry-card-link:hover .industry-card-default-content{opacity:0;transform:translateY(10px)}.industry-card-default-title{color:#fff!important;letter-spacing:-.3px!important;text-transform:none!important;font-size:22px!important;font-weight:700!important;line-height:1.2!important;font-family:var(--font-manrope), "Manrope", system-ui, -apple-system, sans-serif!important;margin:0!important}.industry-card-hover-content{z-index:5;opacity:0;pointer-events:none;flex-direction:column;justify-content:space-between;padding:40px 24px;transition:opacity .4s cubic-bezier(.2,.8,.2,1),transform .4s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;inset:0;transform:translateY(6px)}.industry-card-link:hover .industry-card-hover-content{opacity:1;pointer-events:auto;transform:translateY(0)}.industry-card-hover-top{flex-direction:column;gap:20px;display:flex}.industry-card-hover-top:before{content:"";background:#ffffff40;width:100%;height:1px;margin-bottom:5px;display:block}.industry-card-description{color:#fff!important;letter-spacing:-.2px!important;font-size:18px!important;font-weight:600!important;line-height:1.4!important;font-family:var(--font-manrope), "Manrope", system-ui, -apple-system, sans-serif!important;margin:0!important}.industry-card-section-title{color:#fff!important;letter-spacing:1.5px!important;text-transform:uppercase!important;opacity:.9!important;font-size:12px!important;font-weight:800!important;font-family:var(--font-manrope), "Manrope", system-ui, -apple-system, sans-serif!important;margin-bottom:10px!important}.industry-card-list{flex-direction:column!important;gap:6px!important;margin:0!important;padding:0!important;list-style:none!important;display:flex!important}.industry-card-list-item{opacity:0;transition:opacity .3s cubic-bezier(.2,.8,.2,1),transform .3s cubic-bezier(.2,.8,.2,1);transform:translateY(5px);color:#ffffffe6!important;font-size:15px!important;line-height:1.4!important;font-family:var(--font-manrope), "Manrope", system-ui, -apple-system, sans-serif!important;padding-left:18px!important;position:relative!important}.industry-card-link:hover .industry-card-list-item{opacity:1;transform:translateY(0)}.industry-card-list-item.bullet-1{transition-delay:40ms}.industry-card-list-item.bullet-2{transition-delay:80ms}.industry-card-list-item.bullet-3{transition-delay:.12s}.industry-card-list-item.bullet-4{transition-delay:.16s}.industry-card-list-item.bullet-5{transition-delay:.2s}.industry-card-list-item.bullet-6{transition-delay:.24s}.industry-card-list-item:before{content:""!important;background-color:#fff!important;border-radius:50%!important;width:6px!important;height:6px!important;position:absolute!important;top:7px!important;left:0!important}.industry-card-hover-bottom{align-items:center;gap:15px;display:flex}.industry-card-hover-icon{color:#c01227;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .4s cubic-bezier(.2,.8,.2,1),background-color .3s,color .3s;display:flex;box-shadow:0 4px 10px #0000001a}.industry-card-link:hover .industry-card-hover-icon{color:#c01227;background-color:#fff;transform:scale(1.08)translateY(-2px)}.industry-card-hover-title{color:#fff!important;font-size:24px!important;font-weight:700!important;font-family:var(--font-manrope), "Manrope", system-ui, -apple-system, sans-serif!important;text-transform:none!important;letter-spacing:-.5px!important;margin:0!important}.elementor.elementor-61 .elementor-element.elementor-element-3b4a7cc{display:flex}.elementor.elementor-61 .elementor-element.elementor-element-3b4a7cc>.e-con-inner{box-sizing:border-box;flex-direction:column;width:100%;max-width:1480px;margin-left:auto;margin-right:auto;display:flex;padding-left:clamp(20px,4vw,50px)!important;padding-right:clamp(20px,4vw,50px)!important}.custom-standard-hero-container{box-sizing:border-box!important;flex-direction:column!important;width:100%!important;max-width:100%!important;margin:0 auto!important;padding:20px!important;display:flex!important;position:relative!important}.custom-standard-hero-card{width:100%!important;height:800px!important;min-height:800px!important;box-shadow:none!important;background-position:50%!important;background-repeat:no-repeat!important;background-size:cover!important;border-radius:25px!important;justify-content:center!important;align-items:center!important;margin:0!important;display:flex!important;position:relative!important;overflow:hidden!important}.custom-standard-hero-card:before{content:""!important;background:var(--hero-overlay,linear-gradient(to bottom, #00000073 0%, #000000c7 55%, #000000f2 100%))!important;z-index:1!important;position:absolute!important;inset:0!important}.custom-standard-hero-card>*{z-index:2!important;position:relative!important}@media (max-width:840px){.custom-standard-hero-container{padding:10px!important}.custom-standard-hero-card{border-radius:22px!important;height:600px!important;min-height:600px!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false} +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-full{width:100%;height:100%}.h-full{height:100%}.w-full{width:100%}.flex-shrink,.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[shimmer-sweep_6s_infinite_linear\]{animation:6s linear infinite shimmer-sweep}.resize{resize:both}.columns-5{columns:5}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.overflow-hidden{overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.bg-\[linear-gradient\(110deg\,\#ffffff\,45\%\,\#c01227\,55\%\,\#ffffff\)\]{background-image:linear-gradient(110deg,#fff,45%,#c01227,55%,#fff)}.bg-\[length\:250\%_100\%\]{background-size:250% 100%}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.text-wrap{text-wrap:wrap}.text-transparent{color:#0000}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}html{scroll-behavior:smooth}:root{--space-section:clamp(40px, 5vw, 64px);--space-section-lg:clamp(52px, 6vw, 80px);--space-hero-gap:clamp(36px, 4.5vw, 64px)}.dm-section{padding-top:var(--space-section)!important;padding-bottom:var(--space-section)!important}.dm-section-lg{padding-top:var(--space-section-lg)!important;padding-bottom:var(--space-section-lg)!important}.elementor-86 .elementor-element.elementor-element-88745f4{margin-top:var(--space-hero-gap)!important}.elementor.elementor-61 .elementor-element.elementor-element-30fd9d1,.elementor.elementor-61 .elementor-element.elementor-element-b62c0b3,.elementor.elementor-61 .elementor-element.elementor-element-89a0ca1,.elementor.elementor-61 .elementor-element.elementor-element-88745f4,.elementor.elementor-61 .elementor-element.elementor-element-bbc6760,.elementor.elementor-61 .elementor-element.elementor-element-3b4a7cc{margin-top:var(--space-section)!important;margin-bottom:0!important}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}*,:before,:after{font-family:var(--font-manrope), "Manrope", system-ui, -apple-system, sans-serif}:not(i):not(svg):not(path):not(canvas):not(.fa):not(.fas):not(.far):not(.fab):not([class*=fa-]):not([class*=eicon-]):not([class*=fontello]){font-family:var(--font-manrope), "Manrope", system-ui, -apple-system, sans-serif!important}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}@media (min-width:1025px){#masthead .elementor-element.elementor-element-466de1b{padding:0 28px!important;top:5px!important}#masthead .elementor-element.elementor-element-e052838{background:0 0!important;border-radius:28px!important;margin-left:1.4%!important}#masthead .elementor-element.elementor-element-d681ece{align-items:center!important;min-height:104px!important}#masthead .elementor-element.elementor-element-472172e{padding-top:18px!important;padding-bottom:18px!important}#masthead .elementor-element.elementor-element-846e53d .hfe-site-logo .hfe-site-logo-container img{width:190px!important;height:auto!important;margin-left:24px!important}#masthead .elementor-element.elementor-element-e44ee7e,#masthead .elementor-element.elementor-element-f961133{padding-top:14px!important;padding-bottom:14px!important}#masthead .elementor-element.elementor-element-0b7bf6f>.elementor-widget-container{border-radius:22px!important;padding:0 42px!important}#masthead .elementor-element.elementor-element-0b7bf6f .header-menu-container .main-menu>li>a{white-space:nowrap!important;padding:15px 14px 16px!important;font-size:15px!important;line-height:1.2!important}#masthead .header-menu-container .main-menu{gap:8px!important}#masthead .elementor-element.elementor-element-cabdb09 a.header-button{border-radius:24px!important;min-width:185px!important;min-height:58px!important;padding:0 34px!important;font-size:18px!important;line-height:58px!important}#masthead .elementor-element.elementor-element-466de1b.dm-header-scrolled{top:0!important}}.dm-contact-section{color:#fff;background:#1f1f1f;grid-template-columns:minmax(0,1fr) minmax(420px,48%);min-height:720px;margin:0;display:grid;position:relative;overflow:hidden}.dm-contact-left{min-width:0;padding:clamp(48px,5vw,76px) clamp(28px,5vw,72px);position:relative;overflow:hidden}.dm-contact-map{z-index:0;opacity:.34;pointer-events:none;-webkit-user-select:none;user-select:none;width:min(980px,112%);max-width:none;position:absolute;bottom:-1%;left:-5%}.dm-contact-kicker,.dm-contact-title,.dm-contact-copy,.dm-contact-info{z-index:1;position:relative}.dm-contact-kicker{color:#fff;margin:0 0 clamp(44px,5vw,64px);font-size:clamp(16px,1.2vw,20px);font-weight:600;line-height:1.2}.dm-contact-title{color:#fff;letter-spacing:0;text-transform:uppercase;max-width:850px;margin:0;font-size:clamp(44px,5.2vw,86px);font-weight:400;line-height:1.18}.dm-contact-copy{color:#ffffffeb;margin:clamp(36px,4.5vw,58px) 0 0;font-size:clamp(18px,1.55vw,26px);font-weight:400;line-height:1.45}.dm-contact-info{grid-template-columns:minmax(180px,.85fr) minmax(260px,1.45fr);gap:clamp(32px,5vw,74px);max-width:860px;margin-top:clamp(72px,7vw,114px);display:grid}.dm-contact-info-item h3{color:#fff;margin:0 0 32px;font-size:clamp(18px,1.5vw,25px);font-weight:800;line-height:1.2}.dm-contact-info-item p{color:#fff;margin:0;font-size:clamp(17px,1.35vw,24px);font-weight:500;line-height:1.6}.dm-contact-card{color:#1b1b1b;background:#fff;border-radius:34px 34px 0 0;align-self:stretch;min-width:0;margin:22px 34px 0 0;padding:clamp(72px,7vw,132px) clamp(42px,7.2vw,150px) clamp(50px,5.5vw,82px)}.dm-contact-card h3{color:#1b1b1b;letter-spacing:0;margin:0 0 clamp(44px,5vw,68px);font-size:clamp(34px,2.6vw,45px);font-weight:800;line-height:1.1}.dm-contact-form{flex-direction:column;gap:28px;display:flex}.dm-contact-form label{margin:0;display:block}.dm-contact-form label>span{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dm-contact-form input,.dm-contact-form textarea{color:#1b1b1b;width:100%;box-shadow:none;background:#fff;border:1.5px solid #a9a9a9;border-radius:14px;outline:none;margin:0;font-family:inherit;font-size:clamp(17px,1.05vw,20px);font-weight:500;line-height:1.4;transition:border-color .2s,box-shadow .2s}.dm-contact-form input{height:72px;padding:0 28px}.dm-contact-form textarea{resize:vertical;min-height:250px;padding:24px 28px}.dm-contact-form input::placeholder,.dm-contact-form textarea::placeholder{color:#9c9c9c;opacity:1}.dm-contact-form input:focus,.dm-contact-form textarea:focus{border-color:#c01227;box-shadow:0 0 0 3px #c012271c}.dm-contact-status{margin:-6px 0 0;font-size:15px;font-weight:700;line-height:1.4}.dm-contact-status-success{color:#247a3d}.dm-contact-status-error{color:#c01227}.dm-contact-submit{color:#2d2d2d;cursor:pointer;background:#fff;border:1.5px solid #e31d32;border-radius:14px;align-self:flex-start;align-items:stretch;height:72px;margin-top:26px;padding:0;font-family:inherit;font-size:clamp(16px,1.02vw,19px);font-weight:800;line-height:1;transition:transform .2s,border-color .2s,color .2s;display:inline-flex;overflow:hidden}.dm-contact-submit span:first-child{justify-content:center;align-items:center;min-width:220px;padding:0 34px;display:inline-flex}.dm-contact-submit-icon{background:#c01227;width:70px;min-width:70px;display:inline-flex;position:relative}.dm-contact-submit-icon:before,.dm-contact-submit-icon:after{content:"";background:#fff;position:absolute}.dm-contact-submit-icon:before{transform-origin:100%;width:28px;height:3px;top:35px;left:23px;transform:rotate(-45deg)}.dm-contact-submit-icon:after{background:0 0;border-top:3px solid #fff;border-right:3px solid #fff;width:16px;height:16px;top:25px;right:25px}.dm-contact-submit:hover,.dm-contact-submit:focus-visible{color:#111;border-color:#c01227;transform:translateY(-1px)}.dm-contact-submit:disabled{cursor:wait;opacity:.72}@media (max-width:1200px){.dm-contact-section{grid-template-columns:1fr}.dm-contact-left{min-height:640px}.dm-contact-card{border-radius:28px;margin:0 28px 40px}}@media (max-width:720px){.dm-contact-left{min-height:auto;padding:42px 22px 58px}.dm-contact-title{font-size:clamp(38px,12vw,58px)}.dm-contact-info{grid-template-columns:1fr;gap:42px;margin-top:54px}.dm-contact-info-item h3{margin-bottom:18px}.dm-contact-card{border-radius:24px;margin:0 16px 32px;padding:44px 22px 34px}.dm-contact-card h3{margin-bottom:34px}.dm-contact-form{gap:20px}.dm-contact-form input{height:60px;padding:0 20px}.dm-contact-form textarea{min-height:190px;padding:20px}.dm-contact-submit{width:100%;height:64px}.dm-contact-submit span:first-child{flex:auto;min-width:0;padding:0 22px}.dm-contact-submit-icon{width:64px;min-width:64px}}.industry-solutions-grid{grid-template-columns:repeat(3,1fr);gap:30px;width:100%;margin:30px 0 0;display:grid}@media (max-width:1024px){.industry-solutions-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.industry-solutions-grid{grid-template-columns:1fr}}.industry-card-link{background:#121212;border-radius:30px;height:600px;text-decoration:none;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s;display:block;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000001f}.industry-card-link:after{content:"";z-index:6;pointer-events:none;border:1px solid #ffffff14;border-radius:30px;transition:border-color .4s;position:absolute;inset:0}@keyframes shimmer-sweep{0%{background-position:200%}to{background-position:-200%}}.industry-card-link:before{content:"";z-index:7;pointer-events:none;background:linear-gradient(90deg,#fff0 0%,#ffffff2e 50%,#fff0 100%);width:60%;height:100%;position:absolute;top:0;left:0;transform:translate(-150%)skew(-25deg)}.industry-card-link:hover:before{animation:1.2s cubic-bezier(.2,.8,.2,1) forwards shimmer-sweep}.industry-card-link:hover{transform:translateY(-5px);box-shadow:0 20px 40px #c0122740}.industry-card-link:hover:after{border-color:#ffffff40}.industry-card-bg{z-index:1;transition:transform .6s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.industry-card-link:hover .industry-card-bg{transform:scale(1.04)}.industry-card-overlay{z-index:2;background:linear-gradient(#0000 0%,#0000004d 50%,#000000d9 100%);transition:opacity .4s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.industry-card-link:hover .industry-card-overlay{opacity:0}.industry-card-hover-bg{z-index:3;opacity:0;background:linear-gradient(#d71428cc 0%,#c01227e0 100%);transition:opacity .4s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.industry-card-link:hover .industry-card-hover-bg{opacity:1}.industry-card-default-content{z-index:4;opacity:1;transition:opacity .3s,transform .3s;position:absolute;bottom:40px;left:24px;transform:translateY(0)}.industry-card-link:hover .industry-card-default-content{opacity:0;transform:translateY(10px)}.industry-card-default-title{color:#fff!important;letter-spacing:-.3px!important;text-transform:none!important;font-size:22px!important;font-weight:700!important;line-height:1.2!important;font-family:var(--font-manrope), "Manrope", system-ui, -apple-system, sans-serif!important;margin:0!important}.industry-card-hover-content{z-index:5;opacity:0;pointer-events:none;flex-direction:column;justify-content:space-between;padding:40px 24px;transition:opacity .4s cubic-bezier(.2,.8,.2,1),transform .4s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;inset:0;transform:translateY(6px)}.industry-card-link:hover .industry-card-hover-content{opacity:1;pointer-events:auto;transform:translateY(0)}.industry-card-hover-top{flex-direction:column;gap:20px;display:flex}.industry-card-hover-top:before{content:"";background:#ffffff40;width:100%;height:1px;margin-bottom:5px;display:block}.industry-card-description{color:#fff!important;letter-spacing:-.2px!important;font-size:18px!important;font-weight:600!important;line-height:1.4!important;font-family:var(--font-manrope), "Manrope", system-ui, -apple-system, sans-serif!important;margin:0!important}.industry-card-section-title{color:#fff!important;letter-spacing:1.5px!important;text-transform:uppercase!important;opacity:.9!important;font-size:12px!important;font-weight:800!important;font-family:var(--font-manrope), "Manrope", system-ui, -apple-system, sans-serif!important;margin-bottom:10px!important}.industry-card-list{flex-direction:column!important;gap:6px!important;margin:0!important;padding:0!important;list-style:none!important;display:flex!important}.industry-card-list-item{opacity:0;transition:opacity .3s cubic-bezier(.2,.8,.2,1),transform .3s cubic-bezier(.2,.8,.2,1);transform:translateY(5px);color:#ffffffe6!important;font-size:15px!important;line-height:1.4!important;font-family:var(--font-manrope), "Manrope", system-ui, -apple-system, sans-serif!important;padding-left:18px!important;position:relative!important}.industry-card-link:hover .industry-card-list-item{opacity:1;transform:translateY(0)}.industry-card-list-item.bullet-1{transition-delay:40ms}.industry-card-list-item.bullet-2{transition-delay:80ms}.industry-card-list-item.bullet-3{transition-delay:.12s}.industry-card-list-item.bullet-4{transition-delay:.16s}.industry-card-list-item.bullet-5{transition-delay:.2s}.industry-card-list-item.bullet-6{transition-delay:.24s}.industry-card-list-item:before{content:""!important;background-color:#fff!important;border-radius:50%!important;width:6px!important;height:6px!important;position:absolute!important;top:7px!important;left:0!important}.industry-card-hover-bottom{align-items:center;gap:15px;display:flex}.industry-card-hover-icon{color:#c01227;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .4s cubic-bezier(.2,.8,.2,1),background-color .3s,color .3s;display:flex;box-shadow:0 4px 10px #0000001a}.industry-card-link:hover .industry-card-hover-icon{color:#c01227;background-color:#fff;transform:scale(1.08)translateY(-2px)}.industry-card-hover-title{color:#fff!important;font-size:24px!important;font-weight:700!important;font-family:var(--font-manrope), "Manrope", system-ui, -apple-system, sans-serif!important;text-transform:none!important;letter-spacing:-.5px!important;margin:0!important}.elementor.elementor-61 .elementor-element.elementor-element-3b4a7cc{display:flex}.elementor.elementor-61 .elementor-element.elementor-element-3b4a7cc>.e-con-inner{box-sizing:border-box;flex-direction:column;width:100%;max-width:1480px;margin-left:auto;margin-right:auto;display:flex;padding-left:clamp(20px,4vw,50px)!important;padding-right:clamp(20px,4vw,50px)!important}.custom-standard-hero-container{box-sizing:border-box!important;flex-direction:column!important;width:100%!important;max-width:100%!important;margin:0 auto!important;padding:20px!important;display:flex!important;position:relative!important}.custom-standard-hero-card{width:100%!important;height:800px!important;min-height:800px!important;box-shadow:none!important;background-position:50%!important;background-repeat:no-repeat!important;background-size:cover!important;border-radius:25px!important;justify-content:center!important;align-items:center!important;margin:0!important;display:flex!important;position:relative!important;overflow:hidden!important}.custom-standard-hero-card:before{content:""!important;background:var(--hero-overlay,linear-gradient(to bottom, #00000073 0%, #000000c7 55%, #000000f2 100%))!important;z-index:1!important;position:absolute!important;inset:0!important}.custom-standard-hero-card>*{z-index:2!important;position:relative!important}@media (max-width:840px){.custom-standard-hero-container{padding:0 10px 10px!important}.custom-standard-hero-card{border-radius:22px!important;height:600px!important;min-height:600px!important}}@media (max-width:1024px){.elementor-element.elementor-element-741f56c{--padding-top:0px!important;--padding-block-start:0px!important;padding-top:0!important}.miletruth-hero-container{margin-top:0!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false} diff --git a/build/_next/static/chunks/0gfs5b90gkbge.js b/build/_next/static/chunks/0gfs5b90gkbge.js deleted file mode 100644 index 929ad1e..0000000 --- a/build/_next/static/chunks/0gfs5b90gkbge.js +++ /dev/null @@ -1,1293 +0,0 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,58829,e=>{"use strict";var t=e.i(43476),i=e.i(71645);function a({from:e,to:r,duration:n=2e3,decimals:o=0,suffix:s=""}){let[l,d]=(0,i.useState)(e);return(0,i.useEffect)(()=>{let t=null,i=a=>{t||(t=a);let o=Math.min((a-t)/n,1);d(o*(r-e)+e),o<1&&window.requestAnimationFrame(i)};window.requestAnimationFrame(i)},[e,r,n]),(0,t.jsxs)(t.Fragment,{children:[l.toFixed(o),s]})}e.s(["default",0,function(){let[e,r]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{requestAnimationFrame(()=>r(!0))},[]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:` - /* ── Hero wrapper: column layout, zero gap between hero + stats ── */ - .miletruth-hero .elementor-element-86f3204 { - display: flex; - flex-direction: column; - gap: 0; - margin: 0; - padding: 0 20px; - } - - /* ── Hero slider card ── */ - .miletruth-hero-container { - background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.15) 55%, rgba(0, 0, 0, 0.3) 100%), url('/images/miletruth-bg.png') !important; - background-size: cover !important; - background-position: center !important; - background-repeat: no-repeat !important; - /* Match the home page hero card (800px) so MileTruth has the same visual - presence on large desktop, MacBook M1/Pro, and standard laptops. */ - min-height: 800px; - display: flex; - flex-direction: column; - justify-content: center; - border-radius: 25px 25px 0 0; - margin-top: 20px; - padding: 100px 40px; - } - .miletruth-hero-container::before { - display: none !important; - } - .miletruth-content { - position: relative; - z-index: 2; - width: 100%; - padding: 0 40px !important; - box-sizing: border-box; - } - .miletruth-hero .content-slider-item-heading, - .miletruth-hero .content-slider-item-heading .heading-content { - color: rgba(255, 255, 255, 0.96) !important; - font-family: var(--font-manrope), "Manrope", sans-serif !important; - font-size: clamp(34px, 5.5vw, 72px) !important; - font-weight: 850 !important; - line-height: 1.05 !important; - letter-spacing: -1.5px !important; - text-transform: uppercase !important; - text-align: center !important; - display: block; - } - .miletruth-hero .content-slider-item-text { - margin-top: 22px !important; - text-align: center !important; - } - .miletruth-hero .content-slider-item-text p { - color: rgba(255, 255, 255, 0.72) !important; - font-family: var(--font-manrope), "Manrope", sans-serif !important; - font-size: clamp(17px, 1.6vw, 23px) !important; - font-weight: 500 !important; - line-height: 1.65 !important; - margin: 0 auto !important; - max-width: 820px; - } - .miletruth-hero .slide-content { - display: flex !important; - flex-direction: column !important; - align-items: center !important; - justify-content: center !important; - text-align: center !important; - width: 100% !important; - height: 100% !important; - padding: 0 40px !important; - box-sizing: border-box !important; - } - .miletruth-hero .slide-content-inner { - display: flex !important; - flex-direction: column !important; - align-items: center !important; - justify-content: center !important; - text-align: center !important; - margin-left: auto !important; - margin-right: auto !important; - max-width: 1000px !important; - width: 100% !important; - } - .miletruth-hero .content-slider-item-heading, - .miletruth-hero .content-slider-item-heading .heading-content { - text-align: center !important; - display: block !important; - width: 100% !important; - margin-left: auto !important; - margin-right: auto !important; - } - .miletruth-hero .content-slider-item-text { - display: flex !important; - justify-content: center !important; - width: 100% !important; - margin-top: 23px !important; - text-align: center !important; - } - .miletruth-hero .text-content { - text-align: center !important; - max-width: 800px !important; - margin: 0 auto !important; - } - /* The "logico" slider reveal animation leaves these at opacity:0 until - its JS runs (absent in this rebuild), hiding the heading + subtitle. - Force them visible. */ - .miletruth-hero .content-slider-item-heading, - .miletruth-hero .content-slider-item-text, - .miletruth-hero .logico-content-wrapper-1, - .miletruth-hero .logico-content-wrapper-2 { - opacity: 1 !important; - transform: none !important; - visibility: visible !important; - } - - /* ══════════════════════════════════════════════════════════════════ - Stats bar — dark rounded card overlapping the hero bottom - ══════════════════════════════════════════════════════════════════ */ - .miletruth-hero .elementor-element-8e5c81e { - display: flex !important; - flex-direction: column !important; - justify-content: center !important; - width: 100% !important; - margin: -25px 0 0 0 !important; - background-color: #1F1F1F !important; - border-radius: 25px !important; - padding: 40px 0 !important; - position: relative !important; - z-index: 1 !important; - } - .miletruth-hero .elementor-element-8e5c81e > .e-con-inner { - width: 100% !important; - max-width: 1440px !important; - height: auto !important; - margin: 0 auto !important; - padding: 0 40px !important; - flex-grow: 0 !important; - box-sizing: border-box !important; - } - - /* 4-col grid for counter widgets — rows size to content (not 1fr of the - container) so the counters aren't parked at the top of a tall row. */ - .miletruth-hero .elementor-element-628123a { - display: grid !important; - grid-template-columns: repeat(4, 1fr) !important; - grid-template-rows: auto !important; - height: auto !important; - gap: 40px !important; - width: 100% !important; - justify-items: start !important; - align-items: start !important; - align-content: start !important; - } - - /* Counter: title on top, number below, left-aligned */ - .miletruth-hero .elementor-counter { - display: flex !important; - flex-direction: column !important; - align-items: flex-start !important; - text-align: left !important; - } - - /* Counter title — above the number */ - .miletruth-hero .elementor-counter-title { - font-family: var(--font-manrope), "Manrope", sans-serif !important; - font-size: 20px !important; - font-weight: 600 !important; - line-height: 1.3em !important; - color: #FFFFFF !important; - margin-bottom: 12px !important; - text-transform: none !important; - } - - /* Counter number wrapper — centered */ - .miletruth-hero .elementor-counter-number-wrapper { - font-family: var(--font-space-grotesk), "Space Grotesk", var(--font-manrope), "Manrope", sans-serif !important; - font-size: clamp(48px, 6.5vw, 100px) !important; - font-weight: 700 !important; - line-height: 1em !important; - color: #C01227 !important; - letter-spacing: -0.03em !important; - display: flex !important; - align-items: baseline !important; - justify-content: flex-start !important; - } - .miletruth-hero .elementor-counter-number { - color: #C01227 !important; - font-size: inherit !important; - font-weight: inherit !important; - } - .miletruth-hero .elementor-counter-number-suffix { - color: #C01227 !important; - font-size: inherit !important; - font-weight: inherit !important; - letter-spacing: -0.03em !important; - } - - /* ── Responsive ── */ - @media (max-width: 1200px) { - .miletruth-hero .content-slider-item-heading, - .miletruth-hero .content-slider-item-heading .heading-content { - font-size: 60px !important; - } - } - @media (max-width: 1024px) { - .miletruth-hero-container { - min-height: 600px; - padding: 120px 0; - } - .miletruth-hero .elementor-element-8e5c81e { - padding: 40px 0 !important; - } - .miletruth-hero .elementor-element-628123a { - grid-template-columns: repeat(2, 1fr) !important; - gap: 50px 40px !important; - } - .miletruth-hero .content-slider-item-heading, - .miletruth-hero .content-slider-item-heading .heading-content { - font-size: 50px !important; - line-height: 1.1 !important; - } - } - @media (max-width: 768px) { - .miletruth-hero .content-slider-item-heading, - .miletruth-hero .content-slider-item-heading .heading-content { - font-size: 40px !important; - line-height: 1.12 !important; - } - .miletruth-hero .content-slider-item-text p { - font-size: 16px !important; - } - } - @media (max-width: 580px) { - .miletruth-hero-container { - min-height: 500px; - padding: 100px 0; - } - .miletruth-hero .elementor-element-86f3204 { - padding: 0 12px; - } - .miletruth-hero .elementor-element-8e5c81e { - padding: 30px 0 !important; - border-radius: 20px !important; - } - .miletruth-hero .elementor-element-628123a { - grid-template-columns: 1fr !important; - gap: 36px !important; - } - .miletruth-hero .content-slider-item-heading, - .miletruth-hero .content-slider-item-heading .heading-content { - font-size: 32px !important; - } - } - `}}),(0,t.jsx)("div",{className:"elementor-63 miletruth-hero",children:(0,t.jsxs)("div",{className:"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","data-e-type":"container",children:[(0,t.jsx)("div",{className:"miletruth-hero-container",children:(0,t.jsx)("div",{className:"e-con-inner miletruth-content",children:(0,t.jsx)("div",{className:"logico-content-slider-widget",children:(0,t.jsx)("div",{className:"content-slider-wrapper",children:(0,t.jsx)("div",{className:"content-slider-container",children:(0,t.jsx)("div",{className:"content-slider owl-carousel owl-theme",children:(0,t.jsx)("div",{className:"content-item slider-item elementor-repeater-item-6867061 slide-style-standard",children:(0,t.jsx)("div",{className:"slide-content",style:{paddingLeft:0,paddingRight:0},children:(0,t.jsxs)("div",{className:"slide-content-inner",children:[(0,t.jsx)("h1",{className:"content-slider-item-heading logico-content-wrapper-1",children:(0,t.jsxs)("span",{className:"heading-content",children:["The Only AI Built",(0,t.jsx)("br",{}),"Exclusively for Logistics"]})}),(0,t.jsx)("div",{className:"content-slider-item-text logico-content-wrapper-2",children:(0,t.jsx)("div",{className:"text-content",children:(0,t.jsx)("p",{children:"Optimizes every stage of the delivery journey for maximum efficiency."})})})]})})})})})})})})}),(0,t.jsx)("div",{className:"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-e-type":"container","data-settings":'{"background_background":"classic"}',children:(0,t.jsx)("div",{className:"e-con-inner",children:(0,t.jsxs)("div",{className:"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","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-1da88b5 elementor-widget elementor-widget-counter","data-id":"1da88b5","data-element_type":"widget","data-e-type":"widget","data-widget_type":"counter.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-counter",children:[(0,t.jsx)("div",{className:"elementor-counter-title",children:"SLA Compliance"}),(0,t.jsxs)("div",{className:"elementor-counter-number-wrapper",children:[(0,t.jsx)("span",{className:"elementor-counter-number",children:e?(0,t.jsx)(a,{from:1,to:99.9,decimals:1,suffix:""}):"1"}),(0,t.jsx)("span",{className:"elementor-counter-number-suffix",children:" %"})]})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-1da88b5 elementor-widget elementor-widget-counter","data-id":"1da88b5-2","data-element_type":"widget","data-e-type":"widget","data-widget_type":"counter.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-counter",children:[(0,t.jsx)("div",{className:"elementor-counter-title",children:"Distance Saved"}),(0,t.jsxs)("div",{className:"elementor-counter-number-wrapper",children:[(0,t.jsx)("span",{className:"elementor-counter-number",children:e?(0,t.jsx)(a,{from:1,to:42,decimals:0,suffix:""}):"1"}),(0,t.jsx)("span",{className:"elementor-counter-number-suffix",children:" %"})]})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-1da88b5 elementor-widget elementor-widget-counter","data-id":"1da88b5-3","data-element_type":"widget","data-e-type":"widget","data-widget_type":"counter.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-counter",children:[(0,t.jsx)("div",{className:"elementor-counter-title",children:"Fewer Vehicles"}),(0,t.jsxs)("div",{className:"elementor-counter-number-wrapper",children:[(0,t.jsx)("span",{className:"elementor-counter-number",children:e?(0,t.jsx)(a,{from:1,to:37,decimals:0,suffix:""}):"1"}),(0,t.jsx)("span",{className:"elementor-counter-number-suffix",children:" %"})]})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-a1cf3d4 elementor-widget elementor-widget-counter","data-id":"a1cf3d4","data-element_type":"widget","data-e-type":"widget","data-widget_type":"counter.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-counter",children:[(0,t.jsx)("div",{className:"elementor-counter-title",children:"Dispatch Latency"}),(0,t.jsxs)("div",{className:"elementor-counter-number-wrapper",children:[(0,t.jsx)("span",{className:"elementor-counter-number",children:e?(0,t.jsx)(a,{from:1,to:45,decimals:0,suffix:""}):"45"}),(0,t.jsx)("span",{className:"elementor-counter-number-suffix",children:"ms"})]})]})})})]})})})]})})]})}])},76756,e=>{"use strict";var t=e.i(43476),i=e.i(71645),a=e.i(46932),r=e.i(88653),n=e.i(70703),o=e.i(87652),s=e.i(95420),l=e.i(89970),d=e.i(83495),p=e.i(97202);let m=i.default.memo(function({kpi:e,scroll:r,index:n,jitter:o}){let l=(0,s.useTransform)(r,t=>{let i=Math.min(1,Math.max(0,(t-.7)/.27)),a=e.before+(e.after-e.before)*i;i>.95&&(a*=1+o);let r=i>.5?e.prefixAfter??"":e.prefixBefore??"";return"delayed"===e.key&&0===e.after&&i>.95?"0":`${r}${Math.round(a)}${e.suffix??""}`}),d=(0,s.useTransform)(r,t=>t>.835?e.labelAfter:e.labelBefore),m="orders"===e.key?p.COLORS.cyan:p.COLORS.red,c=p.COLORS.green,x=(0,s.useTransform)(r,[.7,.97],[(0,p.rgba)(m,1),(0,p.rgba)(c,1)]),h=(0,s.useTransform)(r,[.7,.97],[(0,p.rgba)(m,.28),(0,p.rgba)(c,.32)]),g=(0,s.useTransform)(h,e=>`0 10px 40px -12px ${e}, inset 0 1px 0 rgba(255,255,255,0.06)`),f=(0,s.useTransform)(r,[.7,.97],[(0,p.rgba)(m,.4),(0,p.rgba)(c,.45)]),b=(0,s.useTransform)(r,[.85,.97],[0,1]),u=(0,s.useTransform)(r,[.7,.97],[.12,1]),w=e.goodWhenLower?p.COLORS.green:"orders"===e.key?p.COLORS.cyan:p.COLORS.green,v=i.default.useMemo(()=>{switch(e.key){case"distance":case"vehicles":return"M 0,3 C 16,3 32,17 64,17";case"orders":return"M 0,17 C 16,6 32,19 64,8";case"delayed":case"cost":return"M 0,1 C 16,1 28,19 64,19";default:return"M 0,10 L 64,10"}},[e.key]);return(0,t.jsxs)(a.motion.div,{className:"dm-opt-metric",style:{boxShadow:g,borderColor:f,animationDelay:`${.06*n}s`},children:[(0,t.jsxs)("div",{className:"dm-opt-metric__top",children:[(0,t.jsx)(a.motion.span,{className:"dm-opt-metric__label",children:d}),(0,t.jsx)(a.motion.span,{className:"dm-opt-metric__arrow",style:{opacity:b,color:p.COLORS.green},children:e.goodWhenLower?"▼":"▲"})]}),(0,t.jsx)(a.motion.div,{className:"dm-opt-metric__value",style:{color:x},children:l}),(0,t.jsx)("div",{className:"dm-opt-metric__sparkline",style:{position:"absolute",bottom:8,right:12,opacity:.32,width:64,height:20,pointerEvents:"none"},children:(0,t.jsxs)("svg",{width:"100%",height:"100%",viewBox:"0 0 64 20",fill:"none",children:[(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:`grad-${e.key}`,x1:"0",y1:"0",x2:"0",y2:"20",gradientUnits:"userSpaceOnUse",children:[(0,t.jsx)("stop",{offset:"0%",stopColor:w,stopOpacity:"0.22"}),(0,t.jsx)("stop",{offset:"100%",stopColor:w,stopOpacity:"0.0"})]})}),(0,t.jsx)("path",{d:v,stroke:w,strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,t.jsx)("path",{d:`${v} L 64,20 L 0,20 Z`,fill:`url(#grad-${e.key})`})]})}),(0,t.jsx)("div",{className:"dm-opt-metric__bar",children:(0,t.jsx)(a.motion.div,{className:"dm-opt-metric__fill",style:{background:x,scaleX:u}})})]})}),c=i.default.memo(function({scroll:e}){let[a,r]=i.default.useState(()=>p.KPIS.map(()=>0));return i.default.useEffect(()=>{if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;let e=setInterval(()=>{document.hidden||r(p.KPIS.map(()=>(Math.random()-.5)*.008))},1100);return()=>clearInterval(e)},[]),(0,t.jsx)("div",{className:"dm-opt-metrics",role:"group","aria-label":"Optimization results",children:p.KPIS.map((i,r)=>(0,t.jsx)(m,{kpi:i,scroll:e,index:r,jitter:a[r]},i.key))})}),x=(0,n.default)(()=>e.A(49712),{loadableGenerated:{modules:[29539]},ssr:!1}),h=["chaos","scan","dissolve","optimize","reorganize","metrics"],g=[{label:"Analyze",icon:"🔍",activateAt:0},{label:"Optimize",icon:"⚡",activateAt:2},{label:"Assign",icon:"🚛",activateAt:3},{label:"Execute",icon:"📡",activateAt:4},{label:"Monitor",icon:"📊",activateAt:5}],f=i.default.memo(function(){let[e,r]=(0,i.useState)(59),[n,o]=(0,i.useState)(98.7),[s,l]=(0,i.useState)(5),[d,p]=(0,i.useState)(-12),[m,c]=(0,i.useState)(99.4);return(0,i.useEffect)(()=>{let e=e=>()=>{document.hidden||e()},t=setInterval(e(()=>{r(e=>e+ +(Math.random()>.4))}),4500),i=setInterval(e(()=>{o(e=>parseFloat(Math.min(99.1,Math.max(98.4,e+(Math.random()-.5)*.15)).toFixed(2)))}),2800),a=setInterval(e(()=>{l(e=>5===e?Math.random()>.5?4:5:Math.random()>.3?5:4)}),3500),n=setInterval(e(()=>{p(e=>parseFloat(Math.min(-11.5,Math.max(-12.8,e+(Math.random()-.5)*.2)).toFixed(1)))}),3200),s=setInterval(e(()=>{c(e=>parseFloat(Math.min(99.9,Math.max(98.8,e+(Math.random()-.5)*.12)).toFixed(2)))}),2500);return()=>{clearInterval(t),clearInterval(i),clearInterval(a),clearInterval(n),clearInterval(s)}},[]),(0,t.jsxs)(a.motion.div,{className:"dm-opt-insight",initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6,delay:.3},children:[(0,t.jsx)("span",{className:"dm-opt-insight__dot"}),(0,t.jsxs)("span",{className:"dm-opt-insight__text",children:["Live Analytics: ",(0,t.jsxs)("strong",{children:[e," Orders"]})]}),(0,t.jsx)("span",{className:"dm-opt-insight__sep"}),(0,t.jsxs)("span",{className:"dm-opt-insight__text",children:["AI Accuracy: ",(0,t.jsxs)("strong",{children:[n,"%"]})]}),(0,t.jsx)("span",{className:"dm-opt-insight__sep"}),(0,t.jsxs)("span",{className:"dm-opt-insight__text",children:["Fleet: ",(0,t.jsxs)("strong",{children:[s,"/5 EV Active"]})]}),(0,t.jsx)("span",{className:"dm-opt-insight__sep"}),(0,t.jsxs)("span",{className:"dm-opt-insight__text",children:["Route Health: ",(0,t.jsxs)("strong",{children:[m,"%"]})]}),(0,t.jsx)("span",{className:"dm-opt-insight__sep"}),(0,t.jsxs)("span",{className:"dm-opt-insight__text",children:["Carbon: ",(0,t.jsxs)("strong",{children:[d,"%"]})]})]})});function b(){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"dm-opt-panel__badge",children:[(0,t.jsx)("span",{className:"dm-opt-pulse dm-opt-pulse--red"})," System: Congested"]}),(0,t.jsx)("h3",{children:"Without Optimization"}),(0,t.jsxs)("ul",{children:[(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"dm-opt-marker dm-opt-marker--x",children:"✖"})," Chaotic overlapping routes"]}),(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"dm-opt-marker dm-opt-marker--x",children:"✖"})," Duplicate & idle trips"]}),(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"dm-opt-marker dm-opt-marker--x",children:"✖"})," 8 vehicles required"]}),(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"dm-opt-marker dm-opt-marker--x",children:"✖"})," 23 delivery delays"]}),(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"dm-opt-marker dm-opt-marker--x",children:"✖"})," +18% cost overrun"]})]})]})}function u(){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"dm-opt-panel__badge dm-opt-panel__badge--good",children:[(0,t.jsx)("span",{className:"dm-opt-pulse dm-opt-pulse--green"})," System: Optimized"]}),(0,t.jsx)("h3",{children:"With Doormile AI"}),(0,t.jsxs)("ul",{children:[(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"dm-opt-marker dm-opt-marker--ok",children:"✔"})," Optimized route clusters"]}),(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"dm-opt-marker dm-opt-marker--ok",children:"✔"})," Intelligent vehicle assignment"]}),(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"dm-opt-marker dm-opt-marker--ok",children:"✔"})," Multi-trip & EV planning"]}),(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"dm-opt-marker dm-opt-marker--ok",children:"✔"})," Zero delivery delays"]}),(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"dm-opt-marker dm-opt-marker--ok",children:"✔"})," 18% cost saved"]}),(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"dm-opt-marker dm-opt-marker--ok",children:"✔"})," Carbon footprint reduced"]})]})]})}function w(){let e=(0,i.useRef)(null),n=(0,i.useRef)(0),m=(0,o.useMotionValue)(0),[w,y]=(0,i.useState)("chaos"),[k,_]=(0,i.useState)("before"),[j,O]=(0,i.useState)(!1),[N,C]=(0,i.useState)(!1),[S,L]=(0,i.useState)(!1),[z,R]=(0,i.useState)(!1),[$,T]=(0,i.useState)(!1),E=(0,o.useMotionValue)(1);(0,i.useEffect)(()=>{let e=window.matchMedia("(max-width: 767px)"),t=window.matchMedia("(min-width: 768px) and (max-width: 1024px)"),i=window.matchMedia("(prefers-reduced-motion: reduce)"),a=()=>{L(e.matches),R(t.matches),T(i.matches)};return a(),e.addEventListener("change",a),t.addEventListener("change",a),i.addEventListener("change",a),()=>{e.removeEventListener("change",a),t.removeEventListener("change",a),i.removeEventListener("change",a)}},[]),(0,i.useEffect)(()=>{let t=e.current;if(!t)return;let i=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(O(!0),C(!0),i.disconnect())},{rootMargin:"70% 0px"}),a=new IntersectionObserver(e=>C(e.some(e=>e.isIntersecting)),{rootMargin:"10% 0px"});return i.observe(t),a.observe(t),()=>{i.disconnect(),a.disconnect()}},[]),(0,i.useEffect)(()=>{let t=e.current;if(!t||S)return;l.default.registerPlugin(d.ScrollTrigger);let i="chaos",a="before",r=d.ScrollTrigger.create({trigger:t,start:"top top",end:"bottom bottom",scrub:.4,invalidateOnRefresh:!0,onUpdate:e=>{let t=e.progress;n.current=t,m.set(t);let r=(0,p.phaseFromProgress)(t);r!==i&&(i=r,y(r));let o=t<=2e-4?"before":t>=.9998?"after":"pinned";o!==a&&(a=o,_(o))}}),o=setTimeout(()=>d.ScrollTrigger.refresh(),120);return()=>{clearTimeout(o),r.kill()}},[m,S]),(0,i.useEffect)(()=>{if(!S)return;if($){n.current=.85;return}if(!N)return;let e=0,t=0,i=a=>{t||(t=a),n.current=.76+.16*Math.sin((a-t)/1e3*.5),e=requestAnimationFrame(i)};return e=requestAnimationFrame(i),()=>cancelAnimationFrame(e)},[S,$,N]);let A=(0,s.useTransform)(m,[.3,.55],[1,.32]),I=(0,s.useTransform)(m,[.3,.55],[0,3]),M=(0,s.useTransform)(I,e=>`blur(${e}px)`),F=(0,s.useTransform)(m,[.42,.66],[.36,1]),P=(0,s.useTransform)(m,[0,1],[0,1]),W=(0,s.useTransform)(m,[.2,.42],["8%","92%"]),B=(0,s.useTransform)(m,[.18,.22,.42,.46],[0,1,1,0]),D=(0,s.useTransform)(m,[.45,.6],[.15,.75]),G=h.indexOf(w);return(0,t.jsxs)("section",{ref:e,className:`dm-opt is-${k}${S?" dm-opt--mobile":""}`,"aria-label":"AI Logistics Optimization",children:[S&&(0,t.jsxs)("div",{className:"dm-opt-mobile",children:[(0,t.jsxs)("header",{className:"dm-opt-mhead",children:[(0,t.jsxs)("div",{className:"dm-opt-eyebrow",children:[(0,t.jsx)("span",{className:"dm-opt-dot"})," Doormile AI Control Tower"]}),(0,t.jsx)("h2",{children:"AI Logistics Optimization Engine"}),(0,t.jsx)("p",{children:"Watch Doormile's AI engine transform chaotic logistics into precision-optimized delivery networks — reducing distance, fleet size, delays, and cost."})]}),(0,t.jsx)("aside",{className:"dm-opt-panel dm-opt-panel--bad dm-opt-mpanel",children:(0,t.jsx)(b,{})}),(0,t.jsxs)("div",{className:"dm-opt-mobile__scene",children:[j&&(0,t.jsx)("div",{className:"dm-opt-canvas",children:(0,t.jsx)(x,{progress:n,reduced:$,isMobile:!0,active:N})}),(0,t.jsxs)("span",{className:"dm-opt-mobile__scene-tag",children:[(0,t.jsx)("span",{className:"dm-opt-dot"})," Live AI optimization"]})]}),(0,t.jsx)("aside",{className:"dm-opt-panel dm-opt-panel--good dm-opt-mpanel",children:(0,t.jsx)(u,{})}),(0,t.jsxs)("div",{className:"dm-opt-mfoot",children:[(0,t.jsx)(c,{scroll:E}),(0,t.jsx)(f,{})]})]}),!S&&(0,t.jsx)("div",{className:"dm-opt-sticky",children:(0,t.jsxs)("div",{className:"dm-opt-card",children:[(0,t.jsx)("div",{className:"dm-opt-backdrop","aria-hidden":!0}),j&&(0,t.jsx)("div",{className:"dm-opt-canvas",children:(0,t.jsx)(x,{progress:n,reduced:$,isMobile:S,isTablet:z,active:N&&"pinned"===k})}),(0,t.jsx)("div",{className:"dm-opt-vignette","aria-hidden":!0}),(0,t.jsx)(r.AnimatePresence,{mode:"wait",children:"chaos"!==w&&(0,t.jsx)(a.motion.div,{className:"dm-opt-floating-badge",initial:{scale:.85,opacity:0},animate:{scale:1,opacity:1},exit:{scale:.85,opacity:0},transition:{duration:.28,ease:"easeInOut"},style:{position:"absolute",top:"40%",left:"50%",x:"-50%",y:"-50%",zIndex:10,pointerEvents:"none"},children:(0,t.jsxs)("div",{className:"dm-opt-floating-badge__inner",children:[(0,t.jsx)("span",{className:`dm-opt-floating-badge__dot is-${w}`}),(0,t.jsx)("span",{className:"dm-opt-floating-badge__text",children:p.PHASE_LABELS[w]})]})},w)}),(0,t.jsx)(a.motion.div,{className:"dm-opt-divider",style:{opacity:D},"aria-hidden":!0}),(0,t.jsx)(a.motion.div,{className:"dm-opt-scanline",style:{top:W,opacity:B},"aria-hidden":!0}),(0,t.jsxs)("div",{className:"dm-opt-ui",children:[(0,t.jsxs)("header",{className:"dm-opt-head",children:[(0,t.jsxs)(a.motion.div,{className:"dm-opt-eyebrow",initial:{opacity:0,y:16},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.6},children:[(0,t.jsx)("span",{className:"dm-opt-dot"})," Doormile AI Control Tower"]}),(0,t.jsx)(a.motion.h2,{initial:{opacity:0,y:22},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,delay:.05},children:"AI Logistics Optimization Engine"}),(0,t.jsx)(a.motion.p,{initial:{opacity:0,y:22},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,delay:.12},children:"Watch Doormile's AI engine transform chaotic logistics into precision-optimized delivery networks — reducing distance, fleet size, delays, and cost in real time."}),(0,t.jsx)(a.motion.div,{className:"dm-opt-steps",initial:{opacity:0,y:14},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.7,delay:.18},children:g.map((e,a)=>{let r=G>=e.activateAt,n=G===e.activateAt;return(0,t.jsxs)(i.default.Fragment,{children:[a>0&&(0,t.jsx)("span",{className:`dm-opt-steps__line ${r?"is-active":""}`}),(0,t.jsxs)("span",{className:`dm-opt-steps__pill ${r?"is-active":""} ${n?"is-current":""}`,children:[(0,t.jsx)("span",{className:"dm-opt-steps__icon",children:e.icon}),(0,t.jsx)("span",{className:"dm-opt-steps__text",children:e.label})]})]},e.label)})}),(0,t.jsx)("div",{className:"dm-opt-progress",children:(0,t.jsx)("div",{className:"dm-opt-progress__track",children:(0,t.jsx)(a.motion.div,{className:"dm-opt-progress__fill",style:{scaleX:P}})})})]}),(0,t.jsxs)("div",{className:"dm-opt-compare",children:[(0,t.jsx)(a.motion.aside,{className:"dm-opt-panel dm-opt-panel--bad",style:{opacity:A,filter:M},children:(0,t.jsx)(b,{})}),(0,t.jsx)(a.motion.aside,{className:"dm-opt-panel dm-opt-panel--good",style:{opacity:F},children:(0,t.jsx)(u,{})})]}),(0,t.jsxs)("div",{className:"dm-opt-foot",children:[(0,t.jsx)(c,{scroll:m}),(0,t.jsx)(f,{})]})]})]})}),(0,t.jsx)("style",{children:v})]})}let v=` -/* ===== OUTER SECTION: Transparent so the card floats ===== */ -.dm-opt { - position: relative; - height: 230vh; - background: transparent; - margin-bottom: 0; -} -.dm-opt-sticky { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100vh; - overflow: hidden; - background: transparent; - /* Promote the pinned layer to its own GPU compositing layer so scroll-driven - pin/scrub updates never trigger main-thread paints of the rest of the page. */ - will-change: transform; - transform: translateZ(0); - backface-visibility: hidden; -} -.dm-opt.is-pinned .dm-opt-sticky { position: fixed; top: 0; left: 0; } -.dm-opt.is-after .dm-opt-sticky { position: absolute; top: auto; bottom: 0; } - -/* ===== FLOATING CARD — the only colored surface ===== */ -.dm-opt-card { - position: absolute !important; - /* 20px top inset to match the Workflow 2 / 3 connected cards (.dm-lb-card / - .dm-st-card), so the gap above Workflow 1 (between the Control Tower stats - bar and this card) is the same small, consistent seam used at every other - workflow transition — not the old oversized 96px band. The header below is - offset on its own to clear the fixed navbar (see .dm-opt-head). */ - top: 20px !important; - left: 20px !important; - right: 20px !important; - bottom: 0 !important; - /* flat bottom + flush to container so the Performance card butts directly - against it, reading as one continuous container (home-page technique) */ - border-radius: 28px 28px 0 0 !important; - overflow: hidden !important; - // background: linear-gradient(165deg, #06101f 0%, #020617 35%, #040d1c 70%, #030a18 100%) !important; - // border: 0px solid ${(0,p.rgba)("#ffffff",.08)} !important; - border-bottom: none !important; - // box-shadow: - // 0 0 0 1px ${(0,p.rgba)(p.COLORS.cyan,.04)}, - // 0 4px 30px -4px rgba(0, 0, 0, 0.7), - // 0 20px 80px -20px rgba(0, 0, 0, 0.6), - // 0 0 120px -30px ${(0,p.rgba)(p.COLORS.cyan,.08)}, - // inset 0 1px 0 ${(0,p.rgba)("#ffffff",.06)}, - // inset 0 -1px 0 ${(0,p.rgba)("#ffffff",.02)} !important; - // box-sizing: border-box !important; -} -/* Animated subtle grid pattern */ -.dm-opt-card::before { - /* Expanded one tile beyond the (clipped) card so we can drift it via a GPU - transform instead of animating background-position (which repaints each frame). */ - content: ""; position: absolute; inset: -60px; z-index: 0; pointer-events: none; - opacity: 0.035; - background-image: - linear-gradient(${(0,p.rgba)(p.COLORS.cyan,.5)} 1px, transparent 1px), - linear-gradient(90deg, ${(0,p.rgba)(p.COLORS.cyan,.5)} 1px, transparent 1px); - background-size: 60px 60px; - animation: dmOptGridDrift 25s linear infinite; - will-change: transform; -} -@keyframes dmOptGridDrift { - 0% { transform: translate3d(0, 0, 0); } - 100% { transform: translate3d(60px, 60px, 0); } -} -/* Radial center glow behind 3D scene */ -.dm-opt-card::after { - content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; - background: - radial-gradient(ellipse 50% 45% at 50% 48%, ${(0,p.rgba)(p.COLORS.cyan,.08)} 0%, transparent 70%), - radial-gradient(ellipse 60% 40% at 50% 90%, ${(0,p.rgba)(p.COLORS.green,.05)} 0%, transparent 60%), - radial-gradient(ellipse 80% 50% at 50% 10%, ${(0,p.rgba)(p.COLORS.cyan,.04)} 0%, transparent 50%); -} - -@media (max-width: 1024px) { - .dm-opt-card { - top: 20px !important; - left: 20px !important; - right: 20px !important; - bottom: 0 !important; - border-radius: 28px 28px 0 0 !important; - } -} -@media (max-width: 767px) { - .dm-opt-card { - top: 10px !important; - left: 10px !important; - right: 10px !important; - bottom: 0 !important; - border-radius: 20px 20px 0 0 !important; - } -} - -/* ===== INNER LAYERS ===== */ -.dm-opt-backdrop { - position: absolute; - inset: 0; z-index: 0; - background: - radial-gradient(100% 70% at 50% 6%, ${(0,p.rgba)(p.COLORS.cyan,.06)} 0%, transparent 55%), - radial-gradient(80% 60% at 50% 100%, ${(0,p.rgba)(p.COLORS.green,.05)} 0%, transparent 55%); -} -.dm-opt-canvas { position: absolute; inset: 0; z-index: 1; } -.dm-opt-canvas canvas { display: block; } -.dm-opt-vignette { - position: absolute; inset: 0; z-index: 2; pointer-events: none; - background: - radial-gradient(110% 90% at 50% 50%, transparent 48%, ${(0,p.rgba)("#020617",.88)} 100%), - linear-gradient(180deg, ${(0,p.rgba)("#020617",.6)} 0%, transparent 20%, transparent 65%, ${(0,p.rgba)("#020617",.92)} 100%); -} -.dm-opt-divider { - position: absolute; left: 50%; top: 14%; bottom: 28%; - width: 1px; z-index: 3; pointer-events: none; transform: translateX(-0.5px); - background: linear-gradient(180deg, transparent, ${(0,p.rgba)(p.COLORS.cyan,.6)}, transparent); - box-shadow: 0 0 16px ${(0,p.rgba)(p.COLORS.cyan,.4)}; -} -.dm-opt-scanline { - position: absolute; left: 6%; right: 6%; height: 2px; z-index: 3; pointer-events: none; - background: linear-gradient(90deg, transparent, ${p.COLORS.cyan}, transparent); - box-shadow: 0 0 22px ${(0,p.rgba)(p.COLORS.cyan,.8)}; -} - -/* ===== FLOATING AI STATUS BADGE ===== */ -.dm-opt-floating-badge { - pointer-events: none; -} -.dm-opt-floating-badge__inner { - display: inline-flex; - align-items: center; - gap: 10px; - padding: 8px 18px; - border-radius: 999px; - background: ${(0,p.rgba)(p.COLORS.ink,.85)}; - border: 1.5px solid ${(0,p.rgba)(p.COLORS.cyan,.3)}; - box-shadow: - 0 10px 30px -5px rgba(0, 0, 0, 0.65), - 0 0 24px -2px ${(0,p.rgba)(p.COLORS.cyan,.18)}, - inset 0 1px 0 rgba(255, 255, 255, 0.08); - backdrop-filter: blur(14px); - -webkit-backdrop-filter: blur(14px); - transition: border-color 0.4s ease, box-shadow 0.4s ease; -} -.dm-opt-floating-badge__dot { - width: 7px; - height: 7px; - border-radius: 50%; - background: ${p.COLORS.cyan}; - box-shadow: 0 0 10px ${p.COLORS.cyan}; - animation: dmOptPulse 1.4s ease-in-out infinite; - transition: background 0.4s ease, box-shadow 0.4s ease; -} -.dm-opt-floating-badge__dot.is-scan { - background: ${p.COLORS.cyan}; - box-shadow: 0 0 10px ${p.COLORS.cyan}; -} -.dm-opt-floating-badge__dot.is-dissolve, -.dm-opt-floating-badge__dot.is-optimize { - background: ${p.COLORS.amber}; - box-shadow: 0 0 10px ${p.COLORS.amber}; -} -.dm-opt-floating-badge__dot.is-reorganize { - background: #C084FC; - box-shadow: 0 0 10px #C084FC; -} -.dm-opt-floating-badge__dot.is-metrics { - background: ${p.COLORS.green}; - box-shadow: 0 0 10px ${p.COLORS.green}; -} -.dm-opt-floating-badge__text { - font-family: var(--font-space-grotesk), var(--font-manrope), system-ui, sans-serif; - font-size: 10px; - font-weight: 700; - letter-spacing: 0.16em; - text-transform: uppercase; - color: #F8FAFC; - text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); -} - -/* ===== UI OVERLAY ===== */ -.dm-opt-ui { position: absolute; inset: 0; z-index: 4; pointer-events: none; } -.dm-opt-ui h2, .dm-opt-ui h3, .dm-opt-metric__value, .dm-opt-eyebrow, .dm-opt-phase { - font-family: var(--font-space-grotesk), var(--font-manrope), system-ui, sans-serif; -} - -/* ===== HEADER — compact, no dead space ===== */ -.dm-opt-head { - /* Offset below the site's fixed navbar (~104px desktop / ~100px mobile when - .dm-header-scrolled is active). The card now sits at top:20px (was 96px), so - the navbar clearance lives here on the header itself — mirroring how the - Workflow 2 / 3 sections offset their inner header while the card stays at 20px. - This keeps the eyebrow/title clear of the navbar (z-index 10000) without - re-introducing the oversized top gap above Workflow 1. */ - position: absolute; top: clamp(96px, 12vh, 116px); left: 50%; - transform: translateX(-50%); width: min(640px, 90vw); text-align: center; -} -.dm-opt-eyebrow { - display: inline-flex; align-items: center; gap: 7px; - font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; - color: ${p.COLORS.cyan}; padding: 5px 14px; border-radius: 999px; - background: ${(0,p.rgba)(p.COLORS.cyan,.06)}; border: 1px solid ${(0,p.rgba)(p.COLORS.cyan,.25)}; - backdrop-filter: blur(8px); -} -.dm-opt-dot { width: 6px; height: 6px; border-radius: 50%; background: ${p.COLORS.cyan}; box-shadow: 0 0 10px ${p.COLORS.cyan}; } -.dm-opt .dm-opt-head h2 { - margin: 8px 0 4px !important; padding: 0 !important; color: #F8FAFC !important; - font-weight: 700 !important; text-transform: none !important; - font-size: clamp(22px, 2.4vw, 36px) !important; line-height: 1.1 !important; - letter-spacing: -0.015em !important; -} -.dm-opt .dm-opt-head p { - margin: 0 auto !important; padding: 0 !important; color: ${p.COLORS.textDim} !important; - max-width: 440px; font-size: clamp(11px, 1vw, 13px) !important; line-height: 1.45 !important; -} - -/* ===== WORKFLOW STEPS ===== */ -.dm-opt-steps { - display: flex; align-items: center; justify-content: center; gap: 0; - margin-top: 12px; flex-wrap: wrap; -} -.dm-opt-steps__pill { - display: inline-flex; align-items: center; gap: 4px; - padding: 4px 10px; border-radius: 999px; font-weight: 600; - letter-spacing: 0.04em; text-transform: uppercase; - color: ${p.COLORS.slate}; - background: ${(0,p.rgba)(p.COLORS.ink,.5)}; - border: 1px solid ${(0,p.rgba)(p.COLORS.slate,.2)}; - backdrop-filter: blur(6px); - transition: all 0.45s cubic-bezier(0.22, 1, 0.36, 1); -} -.dm-opt-steps__pill.is-active { - color: #E2E8F0; - background: ${(0,p.rgba)(p.COLORS.cyan,.1)}; - border-color: ${(0,p.rgba)(p.COLORS.cyan,.35)}; - box-shadow: 0 0 18px -6px ${(0,p.rgba)(p.COLORS.cyan,.5)}; -} -.dm-opt-steps__pill.is-current { - color: ${p.COLORS.cyan}; - border-color: ${(0,p.rgba)(p.COLORS.cyan,.6)}; - box-shadow: 0 0 24px -4px ${(0,p.rgba)(p.COLORS.cyan,.6)}; -} -.dm-opt-steps__icon { font-size: 11px; } -.dm-opt-steps__text { font-size: 9.5px; } -.dm-opt-steps__line { - display: block; width: 16px; height: 1px; margin: 0 2px; - background: ${(0,p.rgba)(p.COLORS.slate,.3)}; - transition: background 0.45s ease; -} -.dm-opt-steps__line.is-active { - background: linear-gradient(90deg, ${p.COLORS.cyan}, ${p.COLORS.green}); - box-shadow: 0 0 6px ${(0,p.rgba)(p.COLORS.cyan,.5)}; -} - -/* ===== PROGRESS BAR ===== */ -.dm-opt-progress { margin-top: 10px; } -.dm-opt-progress__track { - height: 2px; border-radius: 999px; overflow: hidden; - background: ${(0,p.rgba)(p.COLORS.cyan,.1)}; max-width: 420px; margin: 0 auto; -} -.dm-opt-progress__fill { - height: 100%; width: 100%; transform-origin: left center; border-radius: 999px; - background: linear-gradient(90deg, ${p.COLORS.cyan}, ${p.COLORS.green}); - box-shadow: 0 0 12px ${(0,p.rgba)(p.COLORS.cyan,.6)}; -} -.dm-opt-status { - display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; - padding: 4px 11px; border-radius: 999px; - background: ${(0,p.rgba)(p.COLORS.ink,.55)}; border: 1px solid ${(0,p.rgba)(p.COLORS.cyan,.18)}; - backdrop-filter: blur(8px); -} -.dm-opt-status__dot { - width: 5px; height: 5px; border-radius: 50%; background: ${p.COLORS.cyan}; - box-shadow: 0 0 8px ${p.COLORS.cyan}; animation: dmOptPulse 1.4s ease-in-out infinite; -} -.dm-opt-status__label { - font-size: 9.5px; letter-spacing: 0.14em; text-transform: uppercase; color: #E2E8F0; font-weight: 600; -} -.dm-opt-status__step { font-size: 9.5px; color: ${p.COLORS.cyan}; font-weight: 600; } - -/* ===== COMPARE PANELS — tighter, stronger ===== */ -.dm-opt-compare { - position: absolute; top: 50%; left: 0; right: 0; transform: translateY(-50%); - display: flex; justify-content: space-between; align-items: center; - gap: 12px; padding: 0 clamp(12px, 2.5vw, 36px); -} -.dm-opt-panel { - pointer-events: auto; width: clamp(230px, 26vw, 340px); - padding: 18px 20px; border-radius: 20px; - background: ${(0,p.rgba)(p.COLORS.ink,.92)}; - border: 1px solid ${(0,p.rgba)(p.COLORS.slate,.22)}; - /* backdrop blur removed — panel opacity is scroll-driven, so the blur was - recomputed every scroll frame; a near-opaque fill reads the same and is free. */ -} -.dm-opt-panel--bad { - border-color: ${(0,p.rgba)(p.COLORS.red,.45)}; - box-shadow: - 0 0 30px -8px ${(0,p.rgba)(p.COLORS.red,.35)}, - 0 20px 50px -20px ${(0,p.rgba)(p.COLORS.red,.25)}, - inset 0 1px 0 ${(0,p.rgba)(p.COLORS.red,.08)}; -} -.dm-opt-panel--good { - border-color: ${(0,p.rgba)(p.COLORS.green,.45)}; - box-shadow: - 0 0 30px -8px ${(0,p.rgba)(p.COLORS.green,.35)}, - 0 20px 50px -20px ${(0,p.rgba)(p.COLORS.green,.25)}, - inset 0 1px 0 ${(0,p.rgba)(p.COLORS.green,.08)}; -} -.dm-opt .dm-opt-panel h3 { - margin: 10px 0 12px !important; padding: 0 !important; color: #F1F5F9 !important; - font-size: clamp(15px, 1.4vw, 19px) !important; font-weight: 600 !important; - line-height: 1.15 !important; text-transform: none !important; letter-spacing: -0.01em !important; -} -.dm-opt .dm-opt-panel ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; gap: 7px; } -.dm-opt .dm-opt-panel li { - position: relative; padding-left: 0 !important; margin: 0 !important; - color: ${p.COLORS.textDim} !important; font-size: 12.5px !important; line-height: 1.35 !important; - display: flex; align-items: center; gap: 8px; -} -.dm-opt .dm-opt-panel li::marker { content: "" !important; } -/* Remove old dot pseudo — now using ✖/✔ markers */ -.dm-opt .dm-opt-panel li::before { content: none !important; display: none !important; } - -/* ✖/✔ markers */ -.dm-opt-marker { - display: inline-flex; align-items: center; justify-content: center; - width: 18px; height: 18px; border-radius: 6px; flex-shrink: 0; - font-size: 10px; font-weight: 700; line-height: 1; -} -.dm-opt-marker--x { - background: ${(0,p.rgba)(p.COLORS.red,.15)}; - color: ${p.COLORS.red}; - border: 1px solid ${(0,p.rgba)(p.COLORS.red,.35)}; - box-shadow: 0 0 8px ${(0,p.rgba)(p.COLORS.red,.3)}; -} -.dm-opt-marker--ok { - background: ${(0,p.rgba)(p.COLORS.green,.15)}; - color: ${p.COLORS.green}; - border: 1px solid ${(0,p.rgba)(p.COLORS.green,.35)}; - box-shadow: 0 0 8px ${(0,p.rgba)(p.COLORS.green,.3)}; -} - -.dm-opt-panel__badge { - display: inline-flex; align-items: center; gap: 7px; - font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; - color: ${p.COLORS.red}; padding: 5px 10px; border-radius: 999px; - background: ${(0,p.rgba)(p.COLORS.red,.1)}; border: 1px solid ${(0,p.rgba)(p.COLORS.red,.35)}; -} -.dm-opt-panel__badge--good { color: ${p.COLORS.green}; background: ${(0,p.rgba)(p.COLORS.green,.1)}; border-color: ${(0,p.rgba)(p.COLORS.green,.35)}; } -.dm-opt-pulse { width: 6px; height: 6px; border-radius: 50%; animation: dmOptPulse 1.4s ease-in-out infinite; } -.dm-opt-pulse--red { background: ${p.COLORS.red}; box-shadow: 0 0 10px ${p.COLORS.red}; } -.dm-opt-pulse--green { background: ${p.COLORS.green}; box-shadow: 0 0 10px ${p.COLORS.green}; } -@keyframes dmOptPulse { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.5); opacity: 0.5; } } - -/* ===== METRICS ===== */ -.dm-opt-foot { - position: absolute; left: 0; right: 0; bottom: clamp(12px, 2.5vh, 28px); - padding: 0 clamp(12px, 3vw, 36px); -} -.dm-opt-metrics { - pointer-events: auto; display: grid; grid-template-columns: repeat(5, 1fr); - gap: 10px; max-width: 1100px; margin: 0 auto; -} -.dm-opt-metric { - position: relative; padding: 14px 14px 12px; border-radius: 16px; - background: ${(0,p.rgba)(p.COLORS.ink,.92)}; - border: 1px solid ${(0,p.rgba)(p.COLORS.slate,.25)}; - /* backdrop blur removed — 5 metric cards animate on scroll; per-frame blur recompute was a hotspot. */ - overflow: hidden; - opacity: 0; transform: translateY(22px); - animation: dmOptCardIn 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards; - box-shadow: 0 8px 32px -8px rgba(0, 0, 0, 0.5), inset 0 1px 0 ${(0,p.rgba)("#ffffff",.04)}; - transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.4s ease, box-shadow 0.4s ease, background 0.4s ease !important; - cursor: pointer; -} -.dm-opt-metric:hover { - transform: translateY(-5px) scale(1.028) !important; - background: ${(0,p.rgba)(p.COLORS.ink,.9)} !important; - border-color: ${(0,p.rgba)(p.COLORS.cyan,.52)} !important; - box-shadow: - 0 18px 48px -8px ${(0,p.rgba)(p.COLORS.cyan,.25)}, - 0 4px 12px -2px ${(0,p.rgba)(p.COLORS.cyan,.12)}, - inset 0 1px 0 rgba(255, 255, 255, 0.1) !important; -} -.dm-opt-metric:hover .dm-opt-metric__sparkline { - opacity: 0.72 !important; -} -.dm-opt-metric__sparkline { - transition: opacity 0.4s ease; -} -@keyframes dmOptCardIn { to { opacity: 1; transform: translateY(0); } } -.dm-opt-metric__top { display: flex; align-items: center; justify-content: space-between; } -.dm-opt-metric__label { - font-size: 10px; letter-spacing: 0.04em; color: ${p.COLORS.textDim}; text-transform: uppercase; -} -.dm-opt-metric__arrow { font-size: 11px; } -.dm-opt-metric__value { margin-top: 6px; font-size: clamp(20px, 2.8vw, 32px); font-weight: 700; line-height: 1; } -.dm-opt-metric__bar { margin-top: 10px; height: 3px; border-radius: 999px; background: ${(0,p.rgba)(p.COLORS.slate,.2)}; overflow: hidden; } -.dm-opt-metric__fill { height: 100%; border-radius: 999px; transform-origin: left center; } - -/* ===== BOTTOM INSIGHT BAR ===== */ -.dm-opt-insight { - display: flex; align-items: center; justify-content: center; gap: 8px; - max-width: 760px; margin: 10px auto 0; - padding: 7px 18px; border-radius: 999px; - background: ${(0,p.rgba)(p.COLORS.ink,.6)}; - border: 1px solid ${(0,p.rgba)(p.COLORS.cyan,.12)}; - backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); - pointer-events: auto; -} -.dm-opt-insight__dot { - width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; - background: ${p.COLORS.green}; - box-shadow: 0 0 12px ${p.COLORS.green}; - animation: dmOptPulse 2s ease-in-out infinite; -} -.dm-opt-insight__text { - font-size: 10.5px; color: ${p.COLORS.textDim}; line-height: 1.3; - letter-spacing: 0.03em; font-weight: 500; -} -.dm-opt-insight__text strong { - color: #E2E8F0; font-weight: 700; -} -.dm-opt-insight__sep { - width: 1px; height: 12px; flex-shrink: 0; - background: ${(0,p.rgba)(p.COLORS.slate,.35)}; -} - -/* ===== RESPONSIVE ===== */ -@media (max-width: 1024px) { - .dm-opt-panel { width: clamp(190px, 30vw, 280px); padding: 14px 16px; } - .dm-opt-panel li { font-size: 11.5px; } - .dm-opt-marker { width: 16px; height: 16px; font-size: 9px; } -} -@media (max-width: 767px) { - .dm-opt { height: 200vh; } - .dm-opt-card { - top: 8px !important; left: 8px !important; right: 8px !important; bottom: 8px !important; - border-radius: 24px !important; - } - .dm-opt-compare { - top: auto; bottom: 148px; transform: none; - flex-direction: row; align-items: stretch; gap: 6px; padding: 0 10px; - } - .dm-opt-panel { width: 50%; padding: 10px 11px; border-radius: 14px; } - .dm-opt-panel ul { gap: 4px; } - .dm-opt-panel li { font-size: 10px; } - .dm-opt-panel li::before { display: none !important; } - .dm-opt-marker { width: 14px; height: 14px; font-size: 8px; border-radius: 4px; } - .dm-opt-panel h3 { margin: 6px 0 5px; font-size: 14px; } - .dm-opt-panel__badge { font-size: 8px; padding: 3px 7px; } - .dm-opt-metrics { grid-template-columns: repeat(5, 1fr); gap: 4px; } - .dm-opt-metric { padding: 7px 5px; border-radius: 10px; } - .dm-opt-metric__label { font-size: 7.5px; letter-spacing: 0; } - .dm-opt-metric__value { font-size: 14px; } - .dm-opt-metric__bar { margin-top: 6px; } - .dm-opt-head h2 { font-size: 22px; margin: 6px 0 4px; } - .dm-opt-head p { font-size: 10.5px; } - .dm-opt-phases { display: none; } - .dm-opt-steps { gap: 0; } - .dm-opt-steps__pill { padding: 3px 6px; } - .dm-opt-steps__icon { font-size: 9px; } - .dm-opt-steps__text { font-size: 7.5px; } - .dm-opt-steps__line { width: 6px; } - .dm-opt-insight { padding: 5px 10px; gap: 5px; } - .dm-opt-insight__text { font-size: 8.5px; } - .dm-opt-insight__sep { height: 10px; } -} - -/* ===== MOBILE STACKED LAYOUT (<=767px) — non-pinned vertical flow ===== - Rendered by the isMobile branch as a normal-flow .dm-opt-mobile container - (header → Without → 3D → With → metrics). These rules come after the block - above so they win for the elements that actually exist on mobile. */ -@media (max-width: 767px) { - /* Un-pin: natural height, no fixed sticky, no 200/230vh scroll runway. - (.dm-opt--mobile out-specifies the base .dm-opt height rules.) */ - .dm-opt.dm-opt--mobile { height: auto; } - - .dm-opt-mobile { - position: relative; - margin: 0 10px; - padding: 24px 13px 22px; - display: flex; - flex-direction: column; - gap: 14px; - box-sizing: border-box; - background: linear-gradient(180deg, #06101f 0%, #020617 55%, #030a18 100%); - border: 1px solid rgba(255, 255, 255, 0.05); - border-bottom: none; - /* Flat bottom + flush so the Performance card (.dm-wf1-card) butts directly - against it as one continuous container (matches Workflow1 ≤767 styles). */ - border-radius: 20px 20px 0 0; - overflow: hidden; - } - - /* Header */ - .dm-opt-mhead { text-align: center; padding: 0 4px; } - .dm-opt-mhead .dm-opt-eyebrow { font-size: 10px; } - .dm-opt-mhead h2 { - font-family: var(--font-space-grotesk), var(--font-manrope), system-ui, sans-serif; - margin: 10px 0 6px !important; padding: 0 !important; color: #F8FAFC !important; - font-weight: 700 !important; text-transform: none !important; - font-size: clamp(20px, 6.2vw, 26px) !important; line-height: 1.15 !important; - letter-spacing: -0.015em !important; - } - .dm-opt-mhead p { - margin: 0 auto !important; padding: 0 !important; color: ${p.COLORS.textDim} !important; - max-width: 40ch; font-size: 12.5px !important; line-height: 1.5 !important; - } - - /* Comparison panels → full-width static cards, fully visible, readable. - Trim the heavy glow (box-shadow) but keep the colored border for identity. */ - .dm-opt-mobile .dm-opt-panel { - width: 100%; box-sizing: border-box; - opacity: 1 !important; filter: none !important; - padding: 15px 16px; border-radius: 16px; box-shadow: none; - } - .dm-opt-mobile .dm-opt-panel h3 { - font-family: var(--font-space-grotesk), var(--font-manrope), system-ui, sans-serif; - font-size: 16px !important; margin: 9px 0 10px !important; - } - .dm-opt-mobile .dm-opt-panel ul { gap: 8px; } - .dm-opt-mobile .dm-opt-panel li { font-size: 12.5px !important; line-height: 1.35 !important; } - .dm-opt-mobile .dm-opt-marker { width: 18px; height: 18px; font-size: 10px; border-radius: 6px; } - .dm-opt-mobile .dm-opt-panel__badge { font-size: 9.5px; padding: 4px 9px; } - - /* 3D visualization block — contained, ~40vh, premium but not dominant. */ - .dm-opt-mobile__scene { - position: relative; width: 100%; height: 40vh; min-height: 260px; max-height: 360px; - border-radius: 16px; overflow: hidden; - background: radial-gradient(120% 90% at 50% 30%, ${(0,p.rgba)(p.COLORS.cyan,.06)} 0%, ${p.COLORS.bg} 70%); - border: 1px solid ${(0,p.rgba)(p.COLORS.cyan,.14)}; - } - .dm-opt-mobile__scene .dm-opt-canvas { position: absolute; inset: 0; z-index: 0; } - .dm-opt-mobile__scene-tag { - position: absolute; left: 10px; top: 10px; z-index: 1; - display: inline-flex; align-items: center; gap: 6px; - font-size: 9px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; - color: #E2E8F0; padding: 4px 9px; border-radius: 999px; - background: ${(0,p.rgba)(p.COLORS.ink,.72)}; border: 1px solid ${(0,p.rgba)(p.COLORS.cyan,.22)}; - backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); - } - - /* Metrics → 2-col grid (5th card spans full width), final optimized values, - readable sizing so nothing truncates. */ - .dm-opt-mfoot { padding: 0; } - .dm-opt-mobile .dm-opt-metrics { - grid-template-columns: repeat(2, 1fr); gap: 8px; max-width: none; - } - .dm-opt-mobile .dm-opt-metric { padding: 12px 13px 11px; border-radius: 12px; } - .dm-opt-mobile .dm-opt-metric:last-child { grid-column: 1 / -1; } - .dm-opt-mobile .dm-opt-metric__label { font-size: 10px; letter-spacing: 0.02em; } - .dm-opt-mobile .dm-opt-metric__value { font-size: clamp(20px, 6.5vw, 26px); } - - /* Insight bar wraps instead of overflowing. */ - .dm-opt-mobile .dm-opt-insight { - flex-wrap: wrap; max-width: none; gap: 6px 10px; padding: 8px 14px; margin-top: 4px; - } - .dm-opt-mobile .dm-opt-insight__text { font-size: 10px; } -} -@media (prefers-reduced-motion: reduce) { - .dm-opt-pulse { animation: none; } - .dm-opt-metric { animation: none; opacity: 1; transform: none; } - .dm-opt-insight__dot { animation: none; } - .dm-opt-card::before { animation: none; } -} -`,y=` -/* ============================================================ - Workflow 1 = ONE container: - ├─ Impact of Optimisation (full interactive OptimizationSection) - └─ Performance (content card, flush + colour-matched) - The Performance card is pulled up to butt against the optimisation - card's flat bottom and shares its dark-navy surface, so the two - read as a single continuous container with no gap / no break. - ============================================================ */ -.dm-wf1 { - position: relative; - margin: 0 auto 0; -} - -/* Cancel the global "section { padding: 6rem 0 }" (consolidated into /public/css/site.css): both - this wrapper and the nested .dm-opt are sections, so that 96px top+bottom stacked - into large empty bands above / between the workflows. These are full-bleed pinned - experiences whose cards butt together via their own insets — no section padding. */ -.dm-wf1, .dm-wf1 .dm-opt { padding-top: 0; padding-bottom: 0; } - -/* Performance card — aligned to the optimisation card (20px side insets), - navy-matched, flat top, rounded bottom, pulled up to close the seam. */ -.dm-wf1-card { - position: relative; - z-index: 2; - margin: 0 20px 0; - background: linear-gradient(180deg, #030a18 0%, #06101f 100%); - border: 1px solid rgba(255, 255, 255, 0.05); - border-top: none; - border-radius: 0 0 28px 28px; - /* No shadow: this card is flush under the optimisation card and merges with it as one - continuous container — a shadow here would re-introduce a dark band at the seam. */ - box-shadow: none; - padding: 36px 60px; - display: flex; - align-items: center; - justify-content: space-between; - gap: 40px; - overflow: hidden; - box-sizing: border-box; -} - -.dm-workflow-left { - flex: 1; - display: flex; - align-items: center; - justify-content: center; - max-width: 440px; -} -.dm-workflow-svg { - width: 100%; - height: auto; - filter: drop-shadow(0 8px 24px rgba(0,0,0,0.3)); -} - -.dm-workflow-right { - flex: 1.2; - display: flex; - flex-direction: column; - align-items: flex-start; - gap: 20px; -} -.dm-workflow-quote { margin-bottom: 5px; } - -.dm-workflow-title { - font-family: var(--font-space-grotesk), var(--font-manrope), system-ui, sans-serif; - font-size: 38px; - font-weight: 700; - color: #F8FAFC !important; - letter-spacing: -0.015em; - margin: 0 !important; - padding: 0 !important; - text-transform: uppercase; -} - -.dm-workflow-text-container { min-height: 150px; width: 100%; } -.dm-workflow-text { - font-family: var(--font-manrope), system-ui, sans-serif; - font-size: 21px; - line-height: 1.75; - letter-spacing: 0.01em; - color: #A3A3A3; - margin: 0 !important; - padding: 0 !important; -} - -.dm-workflow-nav { - display: flex; - flex-direction: column; - align-items: flex-end; - gap: 10px; - align-self: flex-end; - margin-top: 10px; -} -.dm-workflow-counter { - font-family: var(--font-space-grotesk), sans-serif; - font-size: 13px; - font-weight: 700; - color: #737373; - letter-spacing: 0.08em; -} -.dm-workflow-bars { display: flex; gap: 8px; } -.dm-workflow-bar { - width: 40px; - height: 3px; - border: none; - padding: 0; - background: rgba(255, 255, 255, 0.15); - border-radius: 999px; - cursor: pointer; - transition: all 0.3s ease; -} -.dm-workflow-bar.is-active { background: #C01227; } -.dm-workflow-bar:hover { background: rgba(255, 255, 255, 0.35); } -.dm-workflow-bar.is-active:hover { background: #C01227; } - -/* ── Responsive — keep insets/radius aligned to the optimisation card ── */ -@media (max-width: 1024px) { - .dm-wf1-card { - padding: 44px 44px; - gap: 44px; - } - .dm-workflow-title { font-size: 32px; } - .dm-workflow-text { font-size: 19px; } -} -@media (max-width: 767px) { - .dm-wf1-card { - margin: 0 10px 0; - border-radius: 0 0 20px 20px; - padding: 36px 28px; - gap: 36px; - flex-direction: column; - } - .dm-workflow-left { max-width: 280px; } - .dm-workflow-right { width: 100%; } - .dm-workflow-title { font-size: 28px; } - .dm-workflow-text { font-size: 17px; } - .dm-workflow-text-container { min-height: auto; } -} -`;e.s(["default",0,function(){let[e,n]=(0,i.useState)(0),[o,s]=(0,i.useState)(!1),[l,d]=(0,i.useState)(!1),p=(0,i.useRef)(null),m=[{title:"PERFORMANCE",text:"Our AI-powered routing system reduces unnecessary travel by selecting the most efficient delivery paths across the city. This helps lower fuel and battery consumption while improving delivery speed and operational efficiency. Businesses can complete more deliveries in less time with significantly reduced logistics costs."},{title:"PERFORMANCE",text:"The optimization engine intelligently groups and balances deliveries, allowing the same order volume to be fulfilled with fewer vehicles. This improves fleet utilization, reduces maintenance and staffing costs, and increases overall delivery efficiency. Even with fewer vehicles, the platform maintains smooth and reliable operations."},{title:"PERFORMANCE",text:"Real-time route optimization ensures predictable and on-time deliveries across all delivery zones. By reducing delays and improving route planning, businesses can maintain high customer satisfaction and strong SLA performance. The system delivers lower operational costs while consistently maintaining 100% order fulfillment."}];return(0,i.useEffect)(()=>{n(0)},[]),(0,i.useEffect)(()=>{let e=p.current;if(!e)return;let t=new IntersectionObserver(([e])=>d(e.isIntersecting),{threshold:.35});return t.observe(e),()=>t.disconnect()},[]),(0,i.useEffect)(()=>{if(!l||o)return;let e=setTimeout(()=>{n(e=>(e+1)%m.length)},1e4);return()=>clearTimeout(e)},[e,l,o,m.length]),(0,t.jsxs)("section",{className:"dm-wf1","aria-label":"Workflow 1 — Impact of Optimisation & Performance",children:[(0,t.jsx)(w,{}),(0,t.jsxs)("div",{className:"dm-wf1-card",ref:p,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),children:[(0,t.jsx)("div",{className:"dm-workflow-left",children:(0,t.jsxs)("svg",{viewBox:"0 0 320 280",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"dm-workflow-svg",children:[(0,t.jsx)("path",{d:"M 30,20 C 22,20 16,26 16,34 L 78,85 C 81,88 81,92 78,95 L 16,146 C 16,154 22,160 30,160 L 130,160 C 138,160 145,154 148,146 L 204,95 C 207,92 207,88 204,85 L 148,34 C 145,26 138,20 130,20 Z",stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",opacity:"0.25"}),(0,t.jsx)("path",{d:"M 110,100 C 102,100 96,106 96,114 L 158,165 C 161,168 161,172 158,175 L 96,226 C 96,234 102,240 110,240 L 210,240 C 218,240 225,234 228,226 L 284,175 C 287,172 287,168 284,165 L 228,114 C 225,106 218,100 210,100 Z",stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",opacity:"0.85"})]})}),(0,t.jsxs)("div",{className:"dm-workflow-right",children:[(0,t.jsxs)("svg",{width:"32",height:"24",viewBox:"0 0 32 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"dm-workflow-quote",children:[(0,t.jsx)("rect",{x:"2",y:"2",width:"9",height:"20",rx:"1.5",transform:"skewX(-12)",fill:"#C01227"}),(0,t.jsx)("rect",{x:"16",y:"2",width:"9",height:"20",rx:"1.5",transform:"skewX(-12)",fill:"#C01227"})]}),(0,t.jsx)("h3",{className:"dm-workflow-title",children:m[e].title}),(0,t.jsx)("div",{className:"dm-workflow-text-container",children:(0,t.jsx)(r.AnimatePresence,{mode:"wait",children:(0,t.jsx)(a.motion.p,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:-12},transition:{duration:.7,ease:"easeInOut"},className:"dm-workflow-text",children:m[e].text},e)})}),(0,t.jsxs)("div",{className:"dm-workflow-nav",children:[(0,t.jsxs)("span",{className:"dm-workflow-counter",children:["0",e+1,"/03"]}),(0,t.jsx)("div",{className:"dm-workflow-bars",children:m.map((i,a)=>(0,t.jsx)("button",{type:"button","aria-label":`Go to slide ${a+1}`,className:`dm-workflow-bar ${a===e?"is-active":""}`,onClick:()=>n(a)},a))})]})]})]}),(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:y}})]})}],76756)},38730,e=>{"use strict";var t=e.i(43476),i=e.i(71645),a=e.i(46932),r=e.i(88653),n=e.i(70703),o=e.i(87652),s=e.i(95420),l=e.i(89970),d=e.i(83495),p=e.i(92695);let m=(0,n.default)(()=>e.A(40999),{loadableGenerated:{modules:[39184]},ssr:!1});function c({mv:e}){let a=(0,i.useRef)(null);return(0,i.useEffect)(()=>{let t=e=>{a.current&&(a.current.textContent=String(Math.round(e)))};return t(e.get()),e.on("change",t)},[e]),(0,t.jsx)("span",{ref:a,children:Math.round(e.get())})}function x({active:e}){return(0,t.jsx)("div",{className:"dm-lb-rail","aria-hidden":!0,children:p.ENGINE_STEPS.map((a,r)=>(0,t.jsxs)(i.default.Fragment,{children:[r>0&&(0,t.jsx)("span",{className:`dm-lb-rail__line is-${r<=e?"on":"off"}`}),(0,t.jsxs)("div",{className:`dm-lb-rail__step is-${r{let e=window.matchMedia("(max-width: 767px)"),t=window.matchMedia("(prefers-reduced-motion: reduce)"),i=()=>{C(e.matches),L(t.matches)};return i(),e.addEventListener("change",i),t.addEventListener("change",i),()=>{e.removeEventListener("change",i),t.removeEventListener("change",i)}},[]),(0,i.useEffect)(()=>{let e=r.current;if(!e)return;let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(_(!0),O(!0),t.disconnect())},{rootMargin:"70% 0px"}),i=new IntersectionObserver(e=>O(e.some(e=>e.isIntersecting)),{rootMargin:"10% 0px"});return t.observe(e),i.observe(e),()=>{t.disconnect(),i.disconnect()}},[]),(0,i.useEffect)(()=>{let e=r.current;if(!e)return;l.default.registerPlugin(d.ScrollTrigger);let t="before",i=-1,a=d.ScrollTrigger.create({trigger:e,start:"top top",end:"bottom bottom",scrub:.4,invalidateOnRefresh:!0,onUpdate:e=>{let a=e.progress;n.current=a,b.set(a);let r=a<=2e-4?"before":a>=.9998?"after":"pinned";r!==t&&(t=r,w(r));let o=function(e){let t=-1;for(let i=0;i=p.ENGINE_STEPS[i].at&&(t=i);return t}(a);o!==i&&(i=o,y(o))}}),o=setTimeout(()=>d.ScrollTrigger.refresh(),120);return()=>{clearTimeout(o),a.kill()}},[b]);let z=(0,s.useTransform)(b,[0,.04,.1],[1,1,0]),R=(0,s.useTransform)(b,[.04,.1,p.P.finale-.04,p.P.finale+.02],[0,1,1,0]),$=(0,s.useTransform)(b,[.135,.165,.255,.275],[0,1,1,0]),T=(0,s.useTransform)(b,[.135,.175],[26,0]),E=(0,s.useTransform)(b,[.29,.32,.415,.435],[0,1,1,0]),A=(0,s.useTransform)(b,[.29,.33],[26,0]),I=(0,s.useTransform)(b,[.45,.48,.575,.595],[0,1,1,0]),M=(0,s.useTransform)(b,[.45,.49],[26,0]),F=(0,s.useTransform)(b,[.61,.64,.715,.735],[0,1,1,0]),P=(0,s.useTransform)(b,[.61,.65],[26,0]),W=(0,s.useTransform)(b,[.75,.78,.855,.875],[0,1,1,0]),B=(0,s.useTransform)(b,[.75,.79],[26,0]),D=(0,s.useTransform)(b,[.135,.165,.255,.275],[-52,0,0,52]),G=(0,s.useTransform)(b,[.135,.165,.255,.275],[.965,1,1,.965]),V=(0,s.useTransform)(b,[.29,.32,.415,.435],[-52,0,0,52]),H=(0,s.useTransform)(b,[.29,.32,.415,.435],[.965,1,1,.965]),U=(0,s.useTransform)(b,[.45,.48,.575,.595],[-52,0,0,-52]),q=(0,s.useTransform)(b,[.45,.48,.575,.595],[.965,1,1,.965]),X=(0,s.useTransform)(b,[.61,.64,.715,.735],[52,0,0,52]),Y=(0,s.useTransform)(b,[.61,.64,.715,.735],[.965,1,1,.965]),K=(0,s.useTransform)(b,[.75,.78,.855,.875],[-52,0,0,0]),Z=(0,s.useTransform)(b,[.75,.78,.855,.875],[.97,1.05,1.05,1]),J=(0,s.useTransform)(b,[p.P.finale-.02,p.P.finale+.04],[0,1]),Q=(0,s.useTransform)(b,[p.P.finale-.02,p.P.finale+.06],[40,0]),ee=(0,s.useTransform)(b,[p.P.finale+.04,p.P.finale+.1],[0,1]),et=(0,s.useTransform)(b,[p.P.finale,.97],[0,59]),ei=(0,s.useTransform)(b,[p.P.finale,.97],[0,18]);return(0,t.jsxs)("section",{ref:r,className:`dm-lb is-${u}${e?" is-connected":""}`,"aria-label":"Logistics Brain — one intelligent system",children:[(0,t.jsx)("div",{className:"dm-lb-sticky",children:(0,t.jsxs)("div",{className:"dm-lb-card",children:[k&&(0,t.jsx)("div",{className:"dm-lb-canvas",children:(0,t.jsx)(m,{progress:n,reduced:S,isMobile:N,active:j&&"pinned"===u})}),"before"!==u&&(0,t.jsxs)("div",{className:"dm-lb-ui",children:[(0,t.jsxs)(a.motion.div,{className:"dm-lb-top",style:{opacity:R},children:[(0,t.jsxs)("div",{className:"dm-lb-eyebrow",children:[(0,t.jsx)("span",{className:"dm-lb-dot"})," MileTruth Routing Engine"]}),(0,t.jsx)(x,{active:v})]}),(0,t.jsxs)(a.motion.div,{className:"dm-lb-scrollhint",style:{opacity:z},children:[(0,t.jsx)("span",{children:"Scroll to see how every delivery is planned"}),(0,t.jsx)("span",{className:"dm-lb-arrow",children:"↓"})]}),(0,t.jsxs)(h,{step:v,index:0,pos:"left",opacity:$,y:T,x:D,scale:G,num:"01",kicker:"Generate Routes",title:"We create many delivery plans at once",children:[(0,t.jsx)("div",{className:"dm-lb-chips",children:p.STRATEGIES.map((e,i)=>(0,t.jsx)("span",{className:`dm-lb-chip${i===p.WINNER_INDEX?" dm-lb-chip--active":""}`,children:e},e))}),(0,t.jsx)("p",{className:"dm-lb-pillar__foot",children:"6 different ways to deliver all 59 orders — generated in milliseconds."})]}),(0,t.jsxs)(h,{step:v,index:1,pos:"center",opacity:E,y:A,x:V,scale:H,num:"02",kicker:"Check Constraints",title:"Every plan must respect real-world limits",children:[(0,t.jsx)("ul",{className:"dm-lb-constraints",children:p.CONSTRAINT_LIST.map(e=>(0,t.jsxs)("li",{children:[(0,t.jsx)("span",{className:"dm-lb-constraints__icon",children:e.icon}),(0,t.jsx)("span",{className:"dm-lb-constraints__label",children:e.label}),(0,t.jsx)("span",{className:"dm-lb-constraints__note",children:e.note})]},e.label))}),(0,t.jsxs)("p",{className:"dm-lb-pillar__stat",children:[(0,t.jsx)("strong",{children:"59/59"})," delivered ",(0,t.jsx)("em",{children:"vs 34/59 when battery limits are ignored"})]})]}),(0,t.jsx)(h,{step:v,index:2,pos:"right",opacity:I,y:M,x:U,scale:q,num:"03",kicker:"Score & Compare",title:"Each plan is scored by total delivery cost",children:(0,t.jsx)("ul",{className:"dm-lb-board",children:p.STRATEGY_SCORES.map(e=>(0,t.jsxs)("li",{className:e.win?"is-win":"",children:[(0,t.jsxs)("span",{className:"dm-lb-board__name",children:[e.name,e.win&&(0,t.jsx)("span",{className:"dm-lb-board__tag",children:"WINNER"})]}),(0,t.jsx)("span",{className:"dm-lb-board__track",children:(0,t.jsx)("span",{className:"dm-lb-board__fill",style:{width:`${e.score}%`}})}),(0,t.jsx)("span",{className:"dm-lb-board__score",children:e.score})]},e.name))})}),(0,t.jsxs)(h,{step:v,index:3,pos:"left",opacity:F,y:P,x:X,scale:Y,num:"04",kicker:"Guarantee On-Time",title:"Any plan even 1 minute late is rejected",children:[(0,t.jsxs)("div",{className:"dm-lb-sla",children:[(0,t.jsx)("span",{className:"dm-lb-sla__badge",children:"⏱️ On-time only"}),(0,t.jsx)("span",{className:"dm-lb-sla__x",children:"✕ Late plan → dropped"})]}),(0,t.jsx)("p",{className:"dm-lb-pillar__foot",children:"We only keep plans that hit every promised delivery window."})]}),(0,t.jsxs)(h,{step:v,index:4,pos:"hero",opacity:W,y:B,x:K,scale:Z,num:"05",kicker:"Pick & Dispatch",title:"The winning plan is sent to the fleet",children:[(0,t.jsx)("div",{className:"dm-lb-winner",children:"✓ Multi-Trip selected — lowest cost, zero delays"}),(0,t.jsxs)("div",{className:"dm-lb-chips",children:[(0,t.jsx)("span",{className:"dm-lb-chip",children:"EV Bikes"}),(0,t.jsx)("span",{className:"dm-lb-chip",children:"Autos"}),(0,t.jsx)("span",{className:"dm-lb-chip",children:"Cargo Trucks"})]})]}),(0,t.jsxs)(a.motion.div,{className:"dm-lb-finale",style:{opacity:J},children:[(0,t.jsxs)(a.motion.div,{className:"dm-lb-kpis",style:{y:Q},children:[(0,t.jsxs)("div",{className:"dm-lb-kpi",children:[(0,t.jsxs)("span",{className:"dm-lb-kpi__num",children:[(0,t.jsx)(c,{mv:et}),"/59"]}),(0,t.jsx)("span",{className:"dm-lb-kpi__label",children:"Orders Delivered"})]}),(0,t.jsxs)("div",{className:"dm-lb-kpi dm-lb-kpi--green",children:[(0,t.jsx)("span",{className:"dm-lb-kpi__num",children:"0"}),(0,t.jsx)("span",{className:"dm-lb-kpi__label",children:"SLA Misses"})]}),(0,t.jsxs)("div",{className:"dm-lb-kpi",children:[(0,t.jsxs)("span",{className:"dm-lb-kpi__num",children:[(0,t.jsx)(c,{mv:ei}),"%"]}),(0,t.jsx)("span",{className:"dm-lb-kpi__label",children:"Cost Saved"})]})]}),(0,t.jsxs)(a.motion.div,{className:"dm-lb-logo",style:{opacity:ee},children:[(0,t.jsx)("span",{className:"dm-lb-logo__mark"}),"MileTruth"]})]})]})]})}),(0,t.jsx)("style",{children:f})]})}let f=` -/* Scroll length tuned for pacing: ~77vh per engine step (was 107vh) so the 6 - beats complete in noticeably less scrolling — closer to Workflow 1's cadence - and with far less perceived empty space between workflows. Beat windows are - progress-based (0…1), so they stay correctly aligned at any height. */ -.dm-lb { position: relative; height: 460vh; background: transparent; } -.dm-lb-sticky { position: absolute; top: 0; left: 0; width: 100%; height: 100vh; overflow: hidden; - will-change: transform; transform: translateZ(0); backface-visibility: hidden; } -.dm-lb.is-pinned .dm-lb-sticky { position: fixed; top: 0; left: 0; } -.dm-lb.is-after .dm-lb-sticky { position: absolute; top: auto; bottom: 0; } - -.dm-lb-card { - position: absolute !important; inset: 20px !important; - border-radius: 28px !important; overflow: hidden !important; - background: radial-gradient(120% 100% at 50% 0%, #12090c 0%, #0a070a 55%, #060507 100%) !important; - border: 1px solid rgba(192,18,39,0.16) !important; - box-shadow: 0 30px 90px -30px rgba(0,0,0,0.85), inset 0 1px 0 rgba(255,255,255,0.04) !important; - box-sizing: border-box !important; -} -@media (max-width: 767px) { .dm-lb-card { inset: 10px !important; border-radius: 20px !important; } } - -/* Connected mode (inside Workflow 2): flatten the card's bottom edge and flush it to - the section's bottom so the Innovation card below butts directly against it, reading - as one continuous container — mirrors the Optimisation → Performance seam in Workflow 1. */ -.dm-lb.is-connected .dm-lb-card { - top: 20px !important; left: 20px !important; right: 20px !important; bottom: 0 !important; - border-radius: 28px 28px 0 0 !important; border-bottom: none !important; - /* Flush against the Innovation card below — drop the heavy downward shadow so it - doesn't cast a dark band onto that card's top edge (the two read as one container). */ - box-shadow: none !important; -} -@media (max-width: 767px) { - .dm-lb.is-connected .dm-lb-card { - top: 10px !important; left: 10px !important; right: 10px !important; bottom: 0 !important; - border-radius: 20px 20px 0 0 !important; - } -} - -.dm-lb-canvas { position: absolute; inset: 0; z-index: 1; } -.dm-lb-canvas canvas { display: block; } - -.dm-lb-ui { position: absolute; inset: 0; z-index: 4; pointer-events: none; - font-family: var(--font-space-grotesk), var(--font-manrope), system-ui, sans-serif; color: #eaf2ff; } - -/* ---- Persistent header: title + 6-step engine rail ---- - Offset the bar below the site's fixed navbar (~104px desktop / ~100px mobile once - .dm-header-scrolled is active). The section pins full-viewport, so without this the - eyebrow badge would sit under the navbar (z-index 10000) and get clipped. */ -.dm-lb-top { position: absolute; top: clamp(96px, 13vh, 128px); left: 0; right: 0; z-index: 5; - display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 0 16px; overflow: visible; } -.dm-lb-eyebrow { - display: inline-flex; align-items: center; gap: 8px; font-size: 13px; line-height: 1.35; letter-spacing: 0.18em; font-weight: 700; text-transform: uppercase; - color: #ffffff; padding: 9px 20px; border-radius: 999px; background: rgba(192,18,39,0.16); - border: 1px solid rgba(226,53,66,0.45); backdrop-filter: blur(8px); white-space: nowrap; overflow: visible; } -.dm-lb-dot { width: 6px; height: 6px; border-radius: 50%; background: #E2354A; box-shadow: 0 0 10px #E2354A; } - -.dm-lb-rail { display: flex; align-items: center; justify-content: center; flex-wrap: nowrap; max-width: min(1160px, 96vw); } -.dm-lb-rail__step { display: inline-flex; align-items: center; gap: 8px; padding: 6px 13px; border-radius: 999px; flex-shrink: 0; - background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); - backdrop-filter: blur(6px); transition: all 0.45s cubic-bezier(0.22,1,0.36,1); } -.dm-lb-rail__num { width: 20px; height: 20px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; - font-size: 11px; font-weight: 800; color: rgba(255,255,255,0.9); background: rgba(255,255,255,0.12); } -.dm-lb-rail__title { font-size: clamp(12.5px, 1.05vw, 14px); font-weight: 700; letter-spacing: 0.04em; color: rgba(255,255,255,0.95); white-space: nowrap; } -.dm-lb-rail__step.is-current { background: rgba(192,18,39,0.18); border-color: rgba(226,53,66,0.55); box-shadow: 0 0 22px -6px rgba(226,53,66,0.7); } -.dm-lb-rail__step.is-current .dm-lb-rail__num { background: linear-gradient(135deg,#E2354A,#C01227); color: #fff; } -.dm-lb-rail__step.is-current .dm-lb-rail__title { color: #fff; } -.dm-lb-rail__step.is-done .dm-lb-rail__num { background: #22C55E; color: #04130a; } -.dm-lb-rail__step.is-done .dm-lb-rail__title { color: rgba(255,255,255,0.92); } -.dm-lb-rail__line { width: 14px; height: 1px; background: rgba(255,255,255,0.12); margin: 0 3px; transition: background 0.45s ease; } -.dm-lb-rail__line.is-on { background: linear-gradient(90deg,#22C55E,#E2354A); } - -.dm-lb-scrollhint { position: absolute; bottom: clamp(26px, 6vh, 60px); left: 50%; transform: translateX(-50%); - display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 12px; letter-spacing: 0.12em; - color: rgba(240,228,230,0.72); text-transform: uppercase; text-align: center; } -.dm-lb-arrow { font-size: 18px; animation: dmLbBob 1.8s ease-in-out infinite; } -@keyframes dmLbBob { 0%,100% { transform: translateY(0); opacity: 0.5; } 50% { transform: translateY(6px); opacity: 1; } } - -/* ---- Story card: a premium light-glass panel that TRAVELS between stage - anchors. The anchor pins the stage position; the inner card slides/scales into - it (Left → Center → Right → Left → Center-Hero) in lockstep with scroll. ---- */ -.dm-lb-card-anchor { position: absolute; bottom: clamp(26px, 7vh, 64px); z-index: 6; pointer-events: none; } -.dm-lb-card-anchor.is-left { left: clamp(18px, 4vw, 56px); } -.dm-lb-card-anchor.is-right { right: clamp(18px, 4vw, 56px); } -.dm-lb-card-anchor.is-center, -.dm-lb-card-anchor.is-hero { left: 50%; transform: translateX(-50%); } -/* Hero (final selection) sits a little higher + centred so it reads as the payoff. */ -.dm-lb-card-anchor.is-hero { bottom: clamp(40px, 9vh, 92px); } - -.dm-lb-card-story { position: relative; width: min(440px, 84vw); pointer-events: auto; - will-change: opacity, transform; transform-origin: bottom center; - padding: 18px 20px; border-radius: 18px; - /* Premium light glass — clean SaaS surface, brand red used only as a top accent. */ - background: rgba(255,255,255,0.94); - border: 1px solid rgba(15,23,42,0.08); border-top: 3px solid #C01227; - box-shadow: 0 28px 70px -34px rgba(15,23,42,0.45); } -.dm-lb-card-anchor.is-hero .dm-lb-card-story { width: min(480px, 88vw); - box-shadow: 0 38px 92px -34px rgba(192,18,39,0.4); } -.dm-lb-card-story__head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; } -.dm-lb-pillar__num { font-size: 12px; font-weight: 700; letter-spacing: 0.1em; color: #ffffff; - background: linear-gradient(135deg, #E2354A, #C01227); border-radius: 7px; padding: 3px 8px; } -.dm-lb-pillar__kicker { font-size: clamp(11px, 1.1vw, 13px); font-weight: 700; letter-spacing: 0.18em; - text-transform: uppercase; color: #C01227; } -.dm-lb .dm-lb-pillar__title { margin: 0 0 12px !important; padding: 0 !important; color: #0f172a !important; - font-weight: 700 !important; text-transform: none !important; letter-spacing: -0.015em !important; - font-size: clamp(17px, 1.9vw, 24px) !important; line-height: 1.18 !important; } -.dm-lb-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 10px; } -/* Strategy pills — white pills, soft border + light shadow, brand-red active state. */ -.dm-lb-chip { font-size: 11.5px; font-weight: 600; letter-spacing: 0.02em; color: #334155; - padding: 5px 12px; border-radius: 999px; background: #ffffff; - border: 1px solid rgba(15,23,42,0.1); box-shadow: 0 1px 2px rgba(15,23,42,0.06); white-space: nowrap; } -.dm-lb-chip--active { color: #ffffff; background: linear-gradient(135deg, #E2354A, #C01227); - border-color: transparent; box-shadow: 0 6px 16px -6px rgba(192,18,39,0.5); } -.dm-lb-pillar__foot { margin: 0; font-size: clamp(12px, 1.1vw, 13.5px); line-height: 1.45; color: #475569; } -.dm-lb-pillar__stat { margin: 6px 0 0; font-size: clamp(12.5px, 1.2vw, 15px); color: #475569; } -.dm-lb-pillar__stat strong { color: #16a34a; font-weight: 800; font-size: 1.25em; } -.dm-lb-pillar__stat em { font-style: normal; color: #94a3b8; } - -/* Constraints checklist (step 02) */ -.dm-lb-constraints { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 7px; } -.dm-lb-constraints li { display: flex; align-items: center; gap: 9px; } -.dm-lb-constraints__icon { font-size: 14px; width: 20px; text-align: center; } -.dm-lb-constraints__label { font-size: 13px; font-weight: 700; color: #0f172a; min-width: 84px; } -.dm-lb-constraints__note { font-size: 12px; color: #64748b; } - -/* Scored leaderboard (step 03) */ -.dm-lb-board { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; } -.dm-lb-board li { display: grid; grid-template-columns: 104px 1fr 26px; align-items: center; gap: 9px; } -.dm-lb-board__name { font-size: 11.5px; font-weight: 600; color: #64748b; display: flex; align-items: center; gap: 6px; white-space: nowrap; } -.dm-lb-board li.is-win .dm-lb-board__name { color: #0f172a; font-weight: 800; } -.dm-lb-board__tag { font-size: 8px; font-weight: 800; letter-spacing: 0.08em; color: #fff; - background: linear-gradient(135deg,#E2354A,#C01227); padding: 2px 5px; border-radius: 5px; } -.dm-lb-board__track { height: 7px; border-radius: 999px; background: rgba(15,23,42,0.08); overflow: hidden; } -.dm-lb-board__fill { display: block; height: 100%; border-radius: 999px; background: rgba(100,116,139,0.45); } -.dm-lb-board li.is-win .dm-lb-board__fill { background: linear-gradient(90deg,#E2354A,#C01227); box-shadow: 0 0 12px rgba(226,53,66,0.4); } -.dm-lb-board__score { font-size: 12px; font-weight: 700; color: #64748b; text-align: right; } -.dm-lb-board li.is-win .dm-lb-board__score { color: #0f172a; } - -/* SLA badges (step 04) */ -.dm-lb-sla { display: flex; gap: 8px; margin-bottom: 10px; flex-wrap: wrap; } -.dm-lb-sla__badge { font-size: 12px; font-weight: 700; color: #15803d; background: rgba(34,197,94,0.1); - border: 1px solid rgba(34,197,94,0.3); padding: 6px 12px; border-radius: 999px; } -.dm-lb-sla__x { font-size: 12px; font-weight: 700; color: #b91c1c; background: rgba(239,68,68,0.08); - border: 1px solid rgba(239,68,68,0.28); padding: 6px 12px; border-radius: 999px; } - -/* Winner banner (step 05) */ -.dm-lb-winner { font-size: 13.5px; font-weight: 700; color: #0f172a; margin-bottom: 10px; padding: 9px 13px; border-radius: 12px; - background: linear-gradient(135deg, rgba(192,18,39,0.08), rgba(34,197,94,0.08)); border: 1px solid rgba(226,53,66,0.32); } - -/* ---- Finale: KPI cards ---- */ -.dm-lb-finale { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0 20px; } -.dm-lb-kpis { display: flex; gap: clamp(14px, 2.4vw, 28px); margin-bottom: clamp(28px, 6vh, 56px); flex-wrap: wrap; justify-content: center; } -.dm-lb-kpi { display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: clamp(150px, 18vw, 210px); - padding: 22px 26px; border-radius: 18px; background: rgba(16,9,11,0.9); border: 1px solid rgba(226,53,66,0.28); - box-shadow: 0 24px 60px -28px rgba(0,0,0,0.9); } -.dm-lb-kpi--green { border-color: rgba(34,197,94,0.4); } -.dm-lb-kpi__num { font-size: clamp(38px, 5.5vw, 72px); font-weight: 800; line-height: 1; letter-spacing: -0.03em; - color: #fff; text-shadow: 0 0 32px rgba(226,53,66,0.55), 0 0 12px rgba(192,18,39,0.5); } -.dm-lb-kpi--green .dm-lb-kpi__num { color: #4ade80; text-shadow: 0 0 32px rgba(34,197,94,0.6); } -.dm-lb-kpi__label { font-size: clamp(10px, 1.1vw, 13px); letter-spacing: 0.14em; text-transform: uppercase; color: rgba(232,222,224,0.62); } - -.dm-lb-logo { display: inline-flex; align-items: center; gap: 12px; font-size: clamp(22px, 3vw, 40px); font-weight: 800; - letter-spacing: -0.01em; color: #fff; margin-bottom: 18px; text-shadow: 0 0 30px rgba(192,18,39,0.55); } -.dm-lb-logo__mark { width: clamp(20px, 2.4vw, 30px); height: clamp(20px, 2.4vw, 30px); border-radius: 8px; - background: conic-gradient(from 140deg, #E2354A, #C01227, #8A0E1F, #C8102E, #E2354A); - box-shadow: 0 0 28px rgba(192,18,39,0.75); } - -/* Hide the step titles on narrower screens so the rail stays a single tidy row of numbers. */ -@media (max-width: 1000px) { - .dm-lb-rail__title { display: none; } - .dm-lb-rail__step { padding: 5px 7px; } - .dm-lb-rail__line { width: 9px; } -} -@media (max-width: 767px) { - .dm-lb { height: 400vh; } - .dm-lb-kpis { gap: 12px; } - .dm-lb-kpi { min-width: 96px; padding: 14px 14px; } - /* On phones every stage collapses to one centred, full-width position — the - horizontal travel only reads on wider screens. */ - .dm-lb-card-anchor, - .dm-lb-card-anchor.is-left, - .dm-lb-card-anchor.is-right, - .dm-lb-card-anchor.is-center, - .dm-lb-card-anchor.is-hero { left: 50%; right: auto; transform: translateX(-50%); bottom: clamp(20px, 5vh, 44px); } - .dm-lb-card-story, - .dm-lb-card-anchor.is-hero .dm-lb-card-story { width: calc(100vw - 28px); padding: 14px 16px; } - .dm-lb-board li { grid-template-columns: 88px 1fr 24px; } - .dm-lb-constraints__note { display: none; } -} -@media (prefers-reduced-motion: reduce) { - .dm-lb-arrow { animation: none !important; } -} -`,b=` -/* ============================================================ - Workflow 2 = ONE container: - ├─ How Our Logistics Brain Works (full LogisticsBrainSection) - └─ Innovation (content card, flush + colour-matched) - The Innovation card is pulled up to butt against the logistics-brain - card's flat bottom and shares its dark red/black surface, so the two - read as a single continuous container with no gap / no break — the - same connected storytelling structure used in Workflow 1 - (Impact of Optimisation → Performance). - ============================================================ */ -.dm-wf2 { - position: relative; - margin: 0 auto 0; -} - -/* Cancel the global "section { padding: 6rem 0 }" (consolidated into /public/css/site.css): both - this wrapper and the nested .dm-lb are sections, so that 96px top+bottom stacked - into large empty bands above / between the workflows. These are full-bleed pinned - experiences whose cards butt together via their own insets — no section padding. */ -.dm-wf2, .dm-wf2 .dm-lb { padding-top: 0; padding-bottom: 0; } - -/* Innovation card — aligned to the logistics-brain card (20px side insets), - red/black-matched, flat top, rounded bottom, pulled up to close the seam. */ -.dm-wf2-card { - position: relative; - z-index: 2; - margin: 0 20px 0; - background: radial-gradient(120% 100% at 50% 0%, #12090c 0%, #0a070a 55%, #060507 100%); - border: 1px solid rgba(192, 18, 39, 0.16); - border-top: none; - border-radius: 0 0 28px 28px; - /* No shadow: this card is flush under the logistics-brain card and merges with it as one - continuous container — a shadow here would re-introduce a dark band at the seam. */ - box-shadow: none; - padding: 36px 60px; - display: flex; - align-items: center; - justify-content: space-between; - gap: 40px; - overflow: hidden; - box-sizing: border-box; -} - -.dm-workflow-left { - flex: 1; - display: flex; - align-items: center; - justify-content: center; - max-width: 440px; -} -.dm-workflow-svg { - width: 100%; - height: auto; - filter: drop-shadow(0 8px 24px rgba(0,0,0,0.3)); -} - -.dm-workflow-right { - flex: 1.2; - display: flex; - flex-direction: column; - align-items: flex-start; - gap: 20px; -} -.dm-workflow-quote { margin-bottom: 5px; } - -.dm-workflow-title { - font-family: var(--font-space-grotesk), var(--font-manrope), system-ui, sans-serif; - font-size: 38px; - font-weight: 700; - color: #F8FAFC !important; - letter-spacing: -0.015em; - margin: 0 !important; - padding: 0 !important; - text-transform: uppercase; -} - -.dm-workflow-text-container { min-height: 150px; width: 100%; } -.dm-workflow-text { - font-family: var(--font-manrope), system-ui, sans-serif; - font-size: 21px; - line-height: 1.75; - letter-spacing: 0.01em; - color: #A3A3A3; - margin: 0 !important; - padding: 0 !important; -} - -.dm-workflow-nav { - display: flex; - flex-direction: column; - align-items: flex-end; - gap: 10px; - align-self: flex-end; - margin-top: 10px; -} -.dm-workflow-counter { - font-family: var(--font-space-grotesk), sans-serif; - font-size: 13px; - font-weight: 700; - color: #737373; - letter-spacing: 0.08em; -} -.dm-workflow-bars { display: flex; gap: 8px; } -.dm-workflow-bar { - width: 40px; - height: 3px; - border: none; - padding: 0; - background: rgba(255, 255, 255, 0.15); - border-radius: 999px; - cursor: pointer; - transition: all 0.3s ease; -} -.dm-workflow-bar.is-active { background: #C01227; } -.dm-workflow-bar:hover { background: rgba(255, 255, 255, 0.35); } -.dm-workflow-bar.is-active:hover { background: #C01227; } - -/* ── Responsive — keep insets/radius aligned to the logistics-brain card ── */ -@media (max-width: 1024px) { - .dm-wf2-card { - padding: 44px 44px; - gap: 44px; - } - .dm-workflow-title { font-size: 32px; } - .dm-workflow-text { font-size: 19px; } -} -@media (max-width: 767px) { - .dm-wf2-card { - margin: 0 10px 0; - border-radius: 0 0 20px 20px; - padding: 36px 28px; - gap: 36px; - flex-direction: column; - } - .dm-workflow-left { max-width: 280px; } - .dm-workflow-right { width: 100%; } - .dm-workflow-title { font-size: 28px; } - .dm-workflow-text { font-size: 17px; } - .dm-workflow-text-container { min-height: auto; } -} -`;e.s(["default",0,function(){let[e,n]=(0,i.useState)(0),[o,s]=(0,i.useState)(!1),[l,d]=(0,i.useState)(!1),p=(0,i.useRef)(null),m=[{title:"INNOVATION",text:"Our Parallel Universe Engine simultaneously evaluates multiple routing strategies to identify the most efficient delivery plan for every dispatch window. By simulating different route combinations in real time, the system ensures faster, smarter, and more cost-effective logistics decisions. This enables businesses to maintain high operational accuracy while adapting dynamically to changing delivery conditions."},{title:"INNOVATION",text:"The platform solves the EV routing challenge through intelligent battery-aware simulations and advanced optimization logic powered by Google OR-Tools. It balances delivery efficiency, charging constraints, and SLA priorities to maximize fleet performance without compromising reliability. This creates a scalable and future-ready logistics system designed for both traditional and EV fleets."},{title:"INNOVATION",text:"With sub-45ms inference latency and real-time ETA validation, the engine delivers instant routing decisions with exceptional precision. Multiple strategy universes are benchmarked in parallel to consistently select the best-performing route configuration. The result is highly reliable, SLA-first delivery operations with improved customer experience and operational consistency."}];return(0,i.useEffect)(()=>{n(0)},[]),(0,i.useEffect)(()=>{let e=p.current;if(!e)return;let t=new IntersectionObserver(([e])=>d(e.isIntersecting),{threshold:.35});return t.observe(e),()=>t.disconnect()},[]),(0,i.useEffect)(()=>{if(!l||o)return;let e=setTimeout(()=>{n(e=>(e+1)%m.length)},1e4);return()=>clearTimeout(e)},[e,l,o,m.length]),(0,t.jsxs)("section",{className:"dm-wf2","aria-label":"Workflow 2 — How Our Logistics Brain Works & Innovation",children:[(0,t.jsx)(g,{connected:!0}),(0,t.jsxs)("div",{className:"dm-wf2-card",ref:p,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),children:[(0,t.jsx)("div",{className:"dm-workflow-left",children:(0,t.jsxs)("svg",{viewBox:"0 0 320 280",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"dm-workflow-svg",children:[(0,t.jsx)("path",{d:"M 30,20 C 22,20 16,26 16,34 L 78,85 C 81,88 81,92 78,95 L 16,146 C 16,154 22,160 30,160 L 130,160 C 138,160 145,154 148,146 L 204,95 C 207,92 207,88 204,85 L 148,34 C 145,26 138,20 130,20 Z",stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",opacity:"0.25"}),(0,t.jsx)("path",{d:"M 110,100 C 102,100 96,106 96,114 L 158,165 C 161,168 161,172 158,175 L 96,226 C 96,234 102,240 110,240 L 210,240 C 218,240 225,234 228,226 L 284,175 C 287,172 287,168 284,165 L 228,114 C 225,106 218,100 210,100 Z",stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",opacity:"0.85"})]})}),(0,t.jsxs)("div",{className:"dm-workflow-right",children:[(0,t.jsxs)("svg",{width:"32",height:"24",viewBox:"0 0 32 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"dm-workflow-quote",children:[(0,t.jsx)("rect",{x:"2",y:"2",width:"9",height:"20",rx:"1.5",transform:"skewX(-12)",fill:"#C01227"}),(0,t.jsx)("rect",{x:"16",y:"2",width:"9",height:"20",rx:"1.5",transform:"skewX(-12)",fill:"#C01227"})]}),(0,t.jsx)("h3",{className:"dm-workflow-title",children:m[e].title}),(0,t.jsx)("div",{className:"dm-workflow-text-container",children:(0,t.jsx)(r.AnimatePresence,{mode:"wait",children:(0,t.jsx)(a.motion.p,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:-12},transition:{duration:.7,ease:"easeInOut"},className:"dm-workflow-text",children:m[e].text},e)})}),(0,t.jsxs)("div",{className:"dm-workflow-nav",children:[(0,t.jsxs)("span",{className:"dm-workflow-counter",children:["0",e+1,"/03"]}),(0,t.jsx)("div",{className:"dm-workflow-bars",children:m.map((i,a)=>(0,t.jsx)("button",{type:"button","aria-label":`Go to slide ${a+1}`,className:`dm-workflow-bar ${a===e?"is-active":""}`,onClick:()=>n(a)},a))})]})]})]}),(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:b}})]})}],38730)},33016,e=>{"use strict";var t=e.i(43476),i=e.i(71645);let a=(0,e.i(70703).default)(()=>e.A(15756),{loadableGenerated:{modules:[55819]},ssr:!1,loading:()=>null});e.s(["default",0,function(){let e=(0,i.useRef)(null),[r,n]=(0,i.useState)(!1);return((0,i.useEffect)(()=>{let t=e.current;if(!t)return;let i=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(n(!0),i.disconnect())},{rootMargin:"150% 0px"});return i.observe(t),()=>i.disconnect()},[]),r)?(0,t.jsx)("div",{ref:e,style:{display:"contents"},children:(0,t.jsx)(a,{})}):(0,t.jsx)("div",{ref:e,"aria-hidden":!0,style:{minHeight:"100vh"}})}])}]); \ No newline at end of file diff --git a/build/_next/static/chunks/176ek.qhywyii.js b/build/_next/static/chunks/0goeli7p09ovo.js similarity index 76% rename from build/_next/static/chunks/176ek.qhywyii.js rename to build/_next/static/chunks/0goeli7p09ovo.js index b0c999c..39b744c 100644 --- a/build/_next/static/chunks/176ek.qhywyii.js +++ b/build/_next/static/chunks/0goeli7p09ovo.js @@ -1,4 +1,4 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24911,e=>{"use strict";var t=e.i(43476),n=e.i(2018);e.s(["default",0,function(){return(0,t.jsxs)("div",{className:"elementor-61",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-88745f4 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"88745f4","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"e-con-inner",children:(0,t.jsxs)("div",{className:"elementor-element elementor-element-343b363 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"343b363","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)(n.ScrollReveal,{delay:.05,duration:.7,yOffset:20,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-7afb238 elementor-widget elementor-widget-logico_heading","data-id":"7afb238","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"/ Doormile Approach /"})})})}),(0,t.jsx)(n.ScrollReveal,{delay:.15,duration:.85,yOffset:30,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-1cc335a elementor-widget elementor-widget-logico_heading","data-id":"1cc335a","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",style:{WebkitTextStroke:"4px #c01227",color:"#fff",fontWeight:800},children:"The Doormile Way"})})})}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-4c3e632 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"4c3e632","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)(n.ScrollReveal,{delay:.2,duration:.8,yOffset:25,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-5ba6bbf e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5ba6bbf","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-9363070 elementor-widget elementor-widget-logico_heading","data-id":"9363070","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("h3",{className:"logico-title",children:" Smarter, Faster, Connected Logistics"})})})})}),(0,t.jsx)(n.ScrollReveal,{delay:.3,duration:.8,yOffset:25,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-e7609a5 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"e7609a5","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-c134b96 elementor-widget elementor-widget-text-editor","data-id":"c134b96","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsxs)("div",{className:"elementor-widget-container",children:[(0,t.jsx)("p",{children:(0,t.jsxs)("strong",{children:["We connect first mile and last mile into one seamless system, reducing delays and improving efficiency. With real-time tracking and digital workflows,",(0,t.jsx)("br",{})," every delivery is faster, reliable, and fully transparent."]})}),(0,t.jsx)("p",{children:"Seamless logistics powered by real-time tracking, digital processes, and reliable delivery execution."})]})})})})]})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-5041fcc e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"5041fcc","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"e-con-inner",children:(0,t.jsxs)(n.StaggerChildren,{stagger:.12,duration:.7,yOffset:35,className:"elementor-element elementor-element-2d7c3ee e-con-full e-grid cut-corner-no sticky-container-off e-con e-child",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-d11b050 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"d11b050","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-3a6f50f elementor-view-default elementor-widget elementor-widget-icon","data-id":"3a6f50f","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-icon-wrapper",children:(0,t.jsx)("div",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-light-delivery"})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-1025248 elementor-widget elementor-widget-logico_heading","data-id":"1025248","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"End-to-End Protection"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-c7c19bd elementor-widget elementor-widget-text-editor","data-id":"c7c19bd","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"End-to-end visibility ensures every shipment stays secure and on schedule."})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-2c82e54 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"2c82e54","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-f51735e elementor-view-default elementor-widget elementor-widget-icon","data-id":"f51735e","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-icon-wrapper",children:(0,t.jsx)("div",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-light-container"})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-c682633 elementor-widget elementor-widget-logico_heading","data-id":"c682633","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Proactive delay prevention"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-74d14e3 elementor-widget elementor-widget-text-editor","data-id":"74d14e3","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"Real-time monitoring helps prevent delays before they impact deliveries."})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-08b9b20 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"08b9b20","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-612c459 elementor-view-default elementor-widget elementor-widget-icon","data-id":"612c459","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-icon-wrapper",children:(0,t.jsx)("div",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-light-directions"})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-aa49275 elementor-widget elementor-widget-logico_heading","data-id":"aa49275","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Single owner, single promise"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-74cfdf7 elementor-widget elementor-widget-text-editor","data-id":"74cfdf7","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"One unified system manages the entire delivery process seamlessly."})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-04989ee e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"04989ee","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-11a657e elementor-view-default elementor-widget elementor-widget-icon","data-id":"11a657e","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-icon-wrapper",children:(0,t.jsx)("div",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-light-storage"})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-b317d31 elementor-widget elementor-widget-logico_heading","data-id":"b317d31","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Dynamic AI-driven adjustments"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-8fe5662 elementor-widget elementor-widget-text-editor","data-id":"8fe5662","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"AI-powered routing adapts instantly to improve speed and efficiency."})})})]})]})})})]})}])},74528,e=>{"use strict";var t=e.i(43476),n=e.i(71645);e.s(["default",0,function(){let[e,i]=(0,n.useState)(0);(0,n.useEffect)(()=>{let e=setInterval(()=>{i(e=>+(0===e))},7e3);return()=>clearInterval(e)},[]);let a=e=>{i(e)};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:` +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24911,e=>{"use strict";var t=e.i(43476),n=e.i(2018);e.s(["default",0,function(){return(0,t.jsxs)("div",{className:"elementor-61",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-88745f4 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"88745f4","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"e-con-inner",children:(0,t.jsxs)("div",{className:"elementor-element elementor-element-343b363 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"343b363","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)(n.ScrollReveal,{delay:.05,duration:.7,yOffset:20,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-7afb238 elementor-widget elementor-widget-logico_heading","data-id":"7afb238","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"/ Doormile Approach /"})})})}),(0,t.jsx)(n.ScrollReveal,{delay:.15,duration:.85,yOffset:30,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-1cc335a elementor-widget elementor-widget-logico_heading","data-id":"1cc335a","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",style:{WebkitTextStroke:"4px #c01227",color:"#fff",fontWeight:800},children:"The Doormile Way"})})})}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-4c3e632 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"4c3e632","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)(n.ScrollReveal,{delay:.2,duration:.8,yOffset:25,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-5ba6bbf e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5ba6bbf","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-9363070 elementor-widget elementor-widget-logico_heading","data-id":"9363070","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("h3",{className:"logico-title",children:" Smarter, Faster, Connected Logistics"})})})})}),(0,t.jsx)(n.ScrollReveal,{delay:.3,duration:.8,yOffset:25,children:(0,t.jsx)("div",{className:"elementor-element elementor-element-e7609a5 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"e7609a5","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-c134b96 elementor-widget elementor-widget-text-editor","data-id":"c134b96","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsxs)("div",{className:"elementor-widget-container",children:[(0,t.jsx)("p",{children:(0,t.jsxs)("strong",{children:["We connect first mile and last mile into one seamless system, reducing delays and improving efficiency. With real-time tracking and digital workflows,",(0,t.jsx)("br",{})," every delivery is faster, reliable, and fully transparent."]})}),(0,t.jsx)("p",{children:"Seamless logistics powered by real-time tracking, digital processes, and reliable delivery execution."})]})})})})]})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-5041fcc e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"5041fcc","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"e-con-inner",children:(0,t.jsxs)(n.StaggerChildren,{stagger:.12,duration:.7,yOffset:35,className:"elementor-element elementor-element-2d7c3ee e-con-full e-grid cut-corner-no sticky-container-off e-con e-child",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-d11b050 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"d11b050","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-3a6f50f elementor-view-default elementor-widget elementor-widget-icon","data-id":"3a6f50f","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-icon-wrapper",children:(0,t.jsx)("div",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-light-delivery"})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-1025248 elementor-widget elementor-widget-logico_heading","data-id":"1025248","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"End-to-End Protection"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-c7c19bd elementor-widget elementor-widget-text-editor","data-id":"c7c19bd","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"End-to-end visibility ensures every shipment stays secure and on schedule."})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-2c82e54 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"2c82e54","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-f51735e elementor-view-default elementor-widget elementor-widget-icon","data-id":"f51735e","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-icon-wrapper",children:(0,t.jsx)("div",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-light-container"})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-c682633 elementor-widget elementor-widget-logico_heading","data-id":"c682633","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Proactive delay prevention"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-74d14e3 elementor-widget elementor-widget-text-editor","data-id":"74d14e3","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"Real-time monitoring helps prevent delays before they impact deliveries."})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-08b9b20 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"08b9b20","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-612c459 elementor-view-default elementor-widget elementor-widget-icon","data-id":"612c459","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-icon-wrapper",children:(0,t.jsx)("div",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-light-directions"})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-aa49275 elementor-widget elementor-widget-logico_heading","data-id":"aa49275","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Single owner, single promise"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-74cfdf7 elementor-widget elementor-widget-text-editor","data-id":"74cfdf7","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"One unified system manages the entire delivery process seamlessly."})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-04989ee e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"04989ee","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-11a657e elementor-view-default elementor-widget elementor-widget-icon","data-id":"11a657e","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-icon-wrapper",children:(0,t.jsx)("div",{className:"elementor-icon",children:(0,t.jsx)("i",{"aria-hidden":"true",className:"fontello icon-light-storage"})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-b317d31 elementor-widget elementor-widget-logico_heading","data-id":"b317d31","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Dynamic AI-driven adjustments"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-8fe5662 elementor-widget elementor-widget-text-editor","data-id":"8fe5662","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"AI-powered routing adapts instantly to improve speed and efficiency."})})})]})]})})})]})}])},74528,e=>{"use strict";var t=e.i(43476),n=e.i(71645);e.s(["default",0,function(){let[e,i]=(0,n.useState)(0);(0,n.useEffect)(()=>{let e=setInterval(()=>{i(e=>+(0===e))},7e3);return()=>clearInterval(e)},[]);let l=e=>{i(e)};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:` .howits-hero-custom-bg.elementor-repeater-item-3264830, .howits-hero-custom-bg.elementor-repeater-item-6867061 { background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.1)), url('/images/home1-slide-1.png') !important; @@ -36,6 +36,10 @@ width: 100% !important; max-width: 1000px !important; margin: 0 auto !important; + /* site.css gives the inner content-box sizing + 20px padding, + which makes it 40px wider than its parent and overflows. + Force border-box so width:100% actually fits. */ + box-sizing: border-box !important; } .elementor-element.elementor-element-6c7cbcb .content-slider-item-heading, @@ -89,6 +93,12 @@ border-radius: 25px !important; } + /* Collapse the stage-outer to the slide height so no empty + black space is left below the hero card on mobile/tablet. */ + .elementor-element.elementor-element-6c7cbcb .owl-stage-outer { + height: 620px !important; + } + .elementor-element.elementor-element-6c7cbcb .owl-carousel.owl-theme .content-item { width: 100% !important; min-height: 620px !important; @@ -112,23 +122,80 @@ border-radius: 22px !important; } + .elementor-element.elementor-element-6c7cbcb .owl-stage-outer { + height: 560px !important; + } + .elementor-element.elementor-element-6c7cbcb .owl-carousel.owl-theme .content-item { min-height: 560px !important; height: 560px !important; border-radius: 22px !important; } - .elementor-element.elementor-element-6c7cbcb .slide-content { + /* Center BOTH slides' content. Use the .elementor prefix + + repeater-item classes so these beat the per-slide rules in + site.css (slide 1 has no centering there; slide 2 carries an + asymmetric top margin). */ + .elementor .elementor-element.elementor-element-6c7cbcb .slide-content { min-height: 560px !important; padding-left: 22px !important; padding-right: 22px !important; + align-items: center !important; + justify-content: center !important; + text-align: center !important; } - .elementor-element.elementor-element-6c7cbcb .content-slider-item-heading { + .elementor .elementor-element.elementor-element-6c7cbcb .elementor-repeater-item-3264830 .slide-content-inner, + .elementor .elementor-element.elementor-element-6c7cbcb .elementor-repeater-item-6867061 .slide-content-inner { + margin: 0 auto !important; + width: 100% !important; max-width: 100% !important; - font-size: clamp(38px, 11vw, 48px) !important; - line-height: 1.05 !important; + padding-left: 0 !important; + padding-right: 0 !important; + box-sizing: border-box !important; + align-items: center !important; + text-align: center !important; + } + + .elementor .elementor-element.elementor-element-6c7cbcb .content-slider-item-heading, + .elementor .elementor-element.elementor-element-6c7cbcb .content-slider-item-text, + .elementor .elementor-element.elementor-element-6c7cbcb .text-content { + text-align: center !important; + margin-left: auto !important; + margin-right: auto !important; + } + + /* Smaller, fitting heading so it never overflows the card edge. + site.css forced clamp(38px,11vw,48px) which clipped at 320px. */ + .elementor .elementor-element.elementor-element-6c7cbcb .elementor-repeater-item-3264830 .content-slider-item-heading, + .elementor .elementor-element.elementor-element-6c7cbcb .elementor-repeater-item-6867061 .content-slider-item-heading { + max-width: 100% !important; + font-size: clamp(26px, 8vw, 34px) !important; + line-height: 1.12 !important; overflow-wrap: break-word !important; } + + /* Slide counter ("01/02"): keep it bottom-RIGHT, aligned with the + hero text padding (22px) and lifted cleanly off the edge. */ + .elementor .elementor-element.elementor-element-6c7cbcb .slider-footer { + text-align: right !important; + margin-bottom: 24px !important; + } + .elementor .elementor-element.elementor-element-6c7cbcb .slider-footer .slider-pagination { + justify-content: flex-end !important; + margin-left: 22px !important; + margin-right: 22px !important; + } + /* The wide dot navigation eats the right side and shoves "01/02" to + the centre. Hide it on mobile (matching the home hero) so the + counter sits cleanly on the right. */ + .elementor .elementor-element.elementor-element-6c7cbcb .owl-dots { + display: none !important; + } + /* Hide the prev/next arrows on mobile (they overlap the counter) — + slides still auto-rotate, matching the home hero. */ + .elementor .elementor-element.elementor-element-6c7cbcb .owl-nav { + display: none !important; + } } - `}}),(0,t.jsx)("div",{className:"elementor-element elementor-element-741f56c e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"741f56c","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-6c7cbcb elementor-widget elementor-widget-logico_content_slider","data-id":"6c7cbcb","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_content_slider.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-content-slider-widget",children:(0,t.jsx)("div",{className:"content-slider-wrapper",children:(0,t.jsx)("div",{className:"content-slider-container",children:(0,t.jsxs)("div",{className:"content-slider owl-carousel owl-theme nav-view-vertical nav-h-position-right nav-v-position-bottom owl-loaded owl-drag",children:[(0,t.jsx)("div",{className:"owl-stage-outer",style:{position:"relative",overflow:"hidden",height:"800px"},children:(0,t.jsxs)("div",{className:"owl-stage",style:{position:"relative",width:"100%",height:"100%"},children:[(0,t.jsx)("div",{className:`owl-item ${0===e?"active":""}`,style:{position:"relative",width:"100%",opacity:+(0===e),visibility:0===e?"visible":"hidden",transition:"opacity 0.8s ease-in-out, visibility 0.8s ease-in-out",zIndex:0===e?2:1},children:(0,t.jsx)("div",{className:"content-item slider-item elementor-repeater-item-3264830 slide-style-standard howits-hero-custom-bg",children:(0,t.jsx)("div",{className:"slide-content",children:(0,t.jsxs)("div",{className:"slide-content-inner",children:[(0,t.jsx)("h1",{className:"content-slider-item-heading logico-content-wrapper-1",children:(0,t.jsxs)("span",{className:"heading-content",children:["One Journey. Complete",(0,t.jsx)("br",{}),"Control."]})}),(0,t.jsx)("div",{className:"content-slider-item-text logico-content-wrapper-2",children:(0,t.jsx)("div",{className:"text-content",children:(0,t.jsx)("p",{children:"See how Doormile connects first, mid, and last mile into a seamless delivery experience powered by MileTruth™ AI."})})})]})})})}),(0,t.jsx)("div",{className:`owl-item ${1===e?"active":""}`,style:{position:"absolute",top:0,left:0,width:"100%",opacity:+(1===e),visibility:1===e?"visible":"hidden",transition:"opacity 0.8s ease-in-out, visibility 0.8s ease-in-out",zIndex:1===e?2:1},children:(0,t.jsx)("div",{className:"content-item slider-item elementor-repeater-item-6867061 slide-style-standard howits-hero-custom-bg",children:(0,t.jsx)("div",{className:"slide-content",children:(0,t.jsxs)("div",{className:"slide-content-inner",children:[(0,t.jsx)("h1",{className:"content-slider-item-heading logico-content-wrapper-1",children:(0,t.jsxs)("span",{className:"heading-content",children:["A New Freight",(0,t.jsx)("br",{}),"Experience"]})}),(0,t.jsx)("div",{className:"content-slider-item-text logico-content-wrapper-2",children:(0,t.jsx)("div",{className:"text-content",children:(0,t.jsx)("p",{children:"See how Doormile connects first, mid, and last mile into a seamless delivery experience powered by MileTruth™ AI."})})})]})})})})]})}),(0,t.jsx)("div",{className:"slider-footer slider-footer-position-after slider-footer-width-full slider-footer-view-inside",children:(0,t.jsx)("div",{className:"slider-footer-content",children:(0,t.jsxs)("div",{className:"slider-pagination",style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:"10px"},children:[(0,t.jsxs)("div",{className:"slider-progress-wrapper",style:{marginRight:"15px"},children:[(0,t.jsx)("span",{className:"slider-progress-current",children:0===e?"01":"02"}),"/",(0,t.jsx)("span",{className:"slider-progress-all",children:"02"})]}),(0,t.jsxs)("div",{className:"owl-dots owl-dots-6c7cbcb",style:{display:"flex",gap:"8px"},children:[(0,t.jsx)("button",{type:"button",role:"button",className:`owl-dot ${0===e?"active":""}`,onClick:()=>a(0),children:(0,t.jsx)("span",{})}),(0,t.jsx)("button",{type:"button",role:"button",className:`owl-dot ${1===e?"active":""}`,onClick:()=>a(1),children:(0,t.jsx)("span",{})})]})]})})})]})})})})})})})]})}])}]); \ No newline at end of file + `}}),(0,t.jsx)("div",{className:"elementor-element elementor-element-741f56c e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"741f56c","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-6c7cbcb elementor-widget elementor-widget-logico_content_slider","data-id":"6c7cbcb","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_content_slider.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-content-slider-widget",children:(0,t.jsx)("div",{className:"content-slider-wrapper",children:(0,t.jsx)("div",{className:"content-slider-container",children:(0,t.jsxs)("div",{className:"content-slider owl-carousel owl-theme nav-view-vertical nav-h-position-right nav-v-position-bottom owl-loaded owl-drag",children:[(0,t.jsx)("div",{className:"owl-stage-outer",style:{position:"relative",overflow:"hidden",height:"800px"},children:(0,t.jsxs)("div",{className:"owl-stage",style:{position:"relative",width:"100%",height:"100%"},children:[(0,t.jsx)("div",{className:`owl-item ${0===e?"active":""}`,style:{position:"relative",width:"100%",opacity:+(0===e),visibility:0===e?"visible":"hidden",transition:"opacity 0.8s ease-in-out, visibility 0.8s ease-in-out",zIndex:0===e?2:1},children:(0,t.jsx)("div",{className:"content-item slider-item elementor-repeater-item-3264830 slide-style-standard howits-hero-custom-bg",children:(0,t.jsx)("div",{className:"slide-content",children:(0,t.jsxs)("div",{className:"slide-content-inner",children:[(0,t.jsx)("h1",{className:"content-slider-item-heading logico-content-wrapper-1",children:(0,t.jsxs)("span",{className:"heading-content",children:["One Journey. Complete",(0,t.jsx)("br",{}),"Control."]})}),(0,t.jsx)("div",{className:"content-slider-item-text logico-content-wrapper-2",children:(0,t.jsx)("div",{className:"text-content",children:(0,t.jsx)("p",{children:"See how Doormile connects first, mid, and last mile into a seamless delivery experience powered by MileTruth™ AI."})})})]})})})}),(0,t.jsx)("div",{className:`owl-item ${1===e?"active":""}`,style:{position:"absolute",top:0,left:0,width:"100%",opacity:+(1===e),visibility:1===e?"visible":"hidden",transition:"opacity 0.8s ease-in-out, visibility 0.8s ease-in-out",zIndex:1===e?2:1},children:(0,t.jsx)("div",{className:"content-item slider-item elementor-repeater-item-6867061 slide-style-standard howits-hero-custom-bg",children:(0,t.jsx)("div",{className:"slide-content",children:(0,t.jsxs)("div",{className:"slide-content-inner",children:[(0,t.jsx)("h1",{className:"content-slider-item-heading logico-content-wrapper-1",children:(0,t.jsxs)("span",{className:"heading-content",children:["A New Freight",(0,t.jsx)("br",{}),"Experience"]})}),(0,t.jsx)("div",{className:"content-slider-item-text logico-content-wrapper-2",children:(0,t.jsx)("div",{className:"text-content",children:(0,t.jsx)("p",{children:"See how Doormile connects first, mid, and last mile into a seamless delivery experience powered by MileTruth™ AI."})})})]})})})})]})}),(0,t.jsxs)("div",{className:"owl-nav",children:[(0,t.jsx)("button",{type:"button",className:"owl-next",onClick:()=>i(e=>+(0===e)),"aria-label":"Next",style:{cursor:"pointer",border:"none",outline:"none"}}),(0,t.jsx)("button",{type:"button",className:"owl-prev",onClick:()=>i(e=>+(0===e)),"aria-label":"Previous",style:{cursor:"pointer",border:"none",outline:"none"}})]}),(0,t.jsx)("div",{className:"slider-footer slider-footer-position-after slider-footer-width-full slider-footer-view-inside",children:(0,t.jsx)("div",{className:"slider-footer-content",children:(0,t.jsxs)("div",{className:"slider-pagination",style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:"10px"},children:[(0,t.jsxs)("div",{className:"slider-progress-wrapper",style:{marginRight:"35px",display:"flex",flexDirection:"column",alignItems:"flex-start"},children:[(0,t.jsxs)("div",{style:{fontSize:"16px",fontWeight:600,color:"#FFFFFF",marginBottom:"4px"},children:[(0,t.jsx)("span",{className:"slider-progress-current",children:0===e?"01":"02"})," / ",(0,t.jsx)("span",{className:"slider-progress-all",style:{opacity:.6},children:"02"})]}),(0,t.jsx)("div",{style:{width:"80px",height:"2px",background:"rgba(255, 255, 255, 0.2)",position:"relative",borderRadius:"1px",overflow:"hidden"},children:(0,t.jsx)("div",{style:{position:"absolute",left:0===e?"0":"50%",width:"50%",height:"100%",background:"#c01227",transition:"left 0.3s ease"}})})]}),(0,t.jsxs)("div",{className:"owl-dots owl-dots-6c7cbcb",style:{display:"none"},children:[(0,t.jsx)("button",{type:"button",role:"button",className:`owl-dot ${0===e?"active":""}`,onClick:()=>l(0),children:(0,t.jsx)("span",{})}),(0,t.jsx)("button",{type:"button",role:"button",className:`owl-dot ${1===e?"active":""}`,onClick:()=>l(1),children:(0,t.jsx)("span",{})})]})]})})})]})})})})})})})]})}])}]); \ No newline at end of file diff --git a/build/_next/static/chunks/0lr8xk62out3u.js b/build/_next/static/chunks/0lr8xk62out3u.js deleted file mode 100644 index c44bed3..0000000 --- a/build/_next/static/chunks/0lr8xk62out3u.js +++ /dev/null @@ -1,57 +0,0 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,69986,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(75056),i=e.i(25234),s=e.i(79877),o=e.i(33623),a=e.i(90072),l=e.i(92695);function c(e){return e<0?0:e>1?1:e}function u(e,t,r){let n=c((r-e)/(t-e||1));return n*n*(3-2*n)}function d(e,t,r,n){return e+(t-e)*(1-Math.exp(-r*n))}function p(e){let t=43758.5453*Math.sin(127.1*e+311.7);return t-Math.floor(t)}function h(e,t=0){let r=new Float32Array(3*e),n=Math.PI*(3-Math.sqrt(5));for(let i=0;ih(b,.18),[b]),w=(0,r.useMemo)(()=>h(v,.55),[v]),A=(0,r.useMemo)(()=>h(Math.floor(.6*v),.7),[v]);return(0,i.useFrame)((t,r)=>{let n=e.current??0;M.current=d(M.current,n,3,r);let i=M.current,a=t.clock.elapsedTime,h=s.current;if(!h)return;let b=u(0,l.P.routes,i),v=u(l.P.network,l.P.network+.06,i)*(1-u(l.P.ecosystem,l.P.finale,i)),j=u(l.P.finale,1,i),w=.5*(.001+.999*b)*(1-.32*v)*(1+.18*j)*(1+.03*Math.sin(.9*a));if(h.scale.setScalar(w),h.position.y=l.BRAIN_Y+.18*Math.sin(.6*a),h.rotation.y=.12*a,o.current&&o.current.rotation.set(.18*a,.24*a,0),p.current&&p.current.rotation.set(-(.22*a),.16*a,.1*a),x.current&&(x.current.rotation.y=.06*a),g.current&&(g.current.rotation.y=.35*a,g.current.rotation.x=.3*Math.sin(.2*a)),y.current&&(y.current.rotation.y=-(.28*a),y.current.rotation.z=.18*a),m.current){let e=1+.06*Math.sin(1.6*a)+.4*j;m.current.scale.setScalar(e)}f.current&&(f.current.opacity=c(.22+.05*Math.sin(1.6*a)+.25*j)*b)}),(0,t.jsxs)("group",{ref:s,position:[0,l.BRAIN_Y,0],children:[(0,t.jsxs)("mesh",{children:[(0,t.jsx)("sphereGeometry",{args:[.95,24,24]}),(0,t.jsx)("meshBasicMaterial",{color:l.C.blue,transparent:!0,opacity:.18,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("mesh",{children:[(0,t.jsx)("sphereGeometry",{args:[.42,24,24]}),(0,t.jsx)("meshBasicMaterial",{color:l.C.white,transparent:!0,opacity:.9,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("mesh",{ref:o,children:[(0,t.jsx)("icosahedronGeometry",{args:[1.35,1]}),(0,t.jsx)("meshBasicMaterial",{color:l.C.cyan,wireframe:!0,transparent:!0,opacity:.55,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("mesh",{ref:p,children:[(0,t.jsx)("icosahedronGeometry",{args:[1.7,2]}),(0,t.jsx)("meshBasicMaterial",{color:l.C.violet,wireframe:!0,transparent:!0,opacity:.32,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("points",{ref:x,children:[(0,t.jsx)("bufferGeometry",{children:(0,t.jsx)("bufferAttribute",{attach:"attributes-position",args:[j,3]})}),(0,t.jsx)("pointsMaterial",{size:n?.05:.045,color:l.C.sky,transparent:!0,opacity:.85,sizeAttenuation:!0,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("points",{ref:g,scale:1.6,children:[(0,t.jsx)("bufferGeometry",{children:(0,t.jsx)("bufferAttribute",{attach:"attributes-position",args:[w,3]})}),(0,t.jsx)("pointsMaterial",{size:.04,color:l.C.cyan,transparent:!0,opacity:.6,sizeAttenuation:!0,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("points",{ref:y,scale:2,children:[(0,t.jsx)("bufferGeometry",{children:(0,t.jsx)("bufferAttribute",{attach:"attributes-position",args:[A,3]})}),(0,t.jsx)("pointsMaterial",{size:.035,color:l.C.purple,transparent:!0,opacity:.45,sizeAttenuation:!0,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("mesh",{ref:m,rotation:[Math.PI/2,0,0],children:[(0,t.jsx)("ringGeometry",{args:[2.1,2.25,64]}),(0,t.jsx)("meshBasicMaterial",{ref:f,color:l.C.cyan,transparent:!0,opacity:.22,side:a.DoubleSide,blending:a.AdditiveBlending,depthWrite:!1})]})]})}),f=new a.Object3D,x=new a.Color,g=` - attribute vec3 aSize; - attribute float aSeed; - varying vec2 vWinUv; - varying vec3 vWinNrm; - varying vec3 vWinSize; - varying float vWinSeed; -`,y=` - vWinUv = uv; - vWinNrm = normal; - vWinSize = aSize; - vWinSeed = aSeed; -`,M=` - uniform float uTime; - varying vec2 vWinUv; - varying vec3 vWinNrm; - varying vec3 vWinSize; - varying float vWinSeed; - float h11(float p){ p = fract(p*0.1031); p *= p+33.33; p *= p+p; return fract(p); } - float h21(vec2 p){ vec3 p3 = fract(vec3(p.xyx)*0.1031); p3 += dot(p3, p3.yzx+33.33); return fract((p3.x+p3.y)*p3.z); } -`,b=` - // facade tint varies per building — dark neutral charcoal (brand: near-black) - vec3 baseA = vec3(0.040, 0.040, 0.048); - vec3 baseB = vec3(0.065, 0.058, 0.066); - diffuseColor.rgb = mix(baseA, baseB, h11(vWinSeed*1.7)); - - // windows only on the four vertical faces (skip roof/floor) - float isVert = 1.0 - step(0.5, abs(vWinNrm.y)); - vec2 faceDim = abs(vWinNrm.x) > 0.5 ? vec2(vWinSize.z, vWinSize.y) : vec2(vWinSize.x, vWinSize.y); - vec2 cells = max(vec2(1.0), floor(faceDim / 0.52)); - vec2 g = vWinUv * cells; - vec2 id = floor(g); - vec2 f = fract(g); - float m = 0.16; // mullion margin - float pane = step(m, f.x) * step(f.x, 1.0 - m) * step(m, f.y) * step(f.y, 1.0 - m); - - float rnd = h21(id + vWinSeed * 37.0); - float lit = step(0.68, rnd); // ~32% of windows lit (dimmer skyline backdrop) - float toggle = step(0.97, h21(id * 1.31 + vWinSeed * 5.0 + floor(uTime * 0.5))); - lit = clamp(lit + toggle, 0.0, 1.0); // a few flick on/off over time - float flick = 0.9 + 0.1 * sin(uTime * 2.0 + rnd * 30.0); - - // Brand-tinted windows: mostly warm white with occasional brand-red panes. - vec3 warmWhite = vec3(1.0, 0.88, 0.80); - vec3 brandRed = vec3(0.82, 0.18, 0.24); - vec3 wcol = mix(warmWhite, brandRed, step(0.7, h21(id * 0.7 + vWinSeed))); - - float glow = isVert * pane * lit * flick; - totalEmissiveRadiance += wcol * glow * 0.85; - - // dark mullion grid + dimmer unlit glass - diffuseColor.rgb *= (0.42 + 0.58 * pane); -`,v=r.default.memo(function({progress:e,isMobile:n=!1}){let s=(0,r.useRef)(null),o=(0,r.useRef)(null),c=(0,r.useRef)(null),h=(0,r.useRef)(null),m=(0,r.useRef)(null),v=(0,r.useRef)(null),j=(0,r.useRef)(null),w=(0,r.useRef)(null),A=(0,r.useRef)(null),C=(0,r.useRef)(null),B=(0,r.useRef)(0),R=n?20:34,P=(0,r.useMemo)(()=>{let e=[];for(let t=0;t3.4&&p(13.3*t)>.42,h=d?.62*c:c,m=Math.floor(4*p(17.7*t))*Math.PI/8+.12*p(4.1*t),f=c>5;e.push({x:i,z:s,w:o,d:a,h:c,bodyH:h,rot:m,ci:u,tier:d,tall:f})}let t=e.filter(e=>e.tier),r=e.filter(e=>e.tall),n=new a.BoxGeometry(1,1,1),i=new Float32Array(3*R),s=new Float32Array(R);e.forEach((e,t)=>{i[3*t]=e.w,i[3*t+1]=e.bodyH,i[3*t+2]=e.d,s[t]=10*p(23.1*t)}),n.setAttribute("aSize",new a.InstancedBufferAttribute(i,3)),n.setAttribute("aSeed",new a.InstancedBufferAttribute(s,1));let o=new a.BoxGeometry(1,1,1),c=new Float32Array(3*Math.max(1,t.length)),u=new Float32Array(Math.max(1,t.length));return t.forEach((e,t)=>{let r=.64*e.w,n=.64*e.d,i=e.h-e.bodyH;c[3*t]=r,c[3*t+1]=i,c[3*t+2]=n,u[t]=10*p(29.7*t)}),o.setAttribute("aSize",new a.InstancedBufferAttribute(c,3)),o.setAttribute("aSeed",new a.InstancedBufferAttribute(u,1)),{buildings:e,tierList:t,tallList:r,bodyGeom:n,tierGeom:o}},[R]),S=(0,r.useMemo)(()=>{let e=new a.MeshStandardMaterial({color:"#0c1226",emissive:"#000000",metalness:.35,roughness:.62});return e.onBeforeCompile=e=>{e.uniforms.uTime={value:0},C.current=e,e.vertexShader=e.vertexShader.replace("#include ",`#include -${g}`).replace("#include ",`#include -${y}`),e.fragmentShader=e.fragmentShader.replace("#include ",`#include -${M}`).replace("#include ",`#include -${b}`)},e},[]),W=(0,r.useMemo)(()=>{let e=[];for(let t=0;t<12;t++){let r=t/12*Math.PI*2,n=l.CITY_RADIUS*(.72+.26*p(4.4*t));e.push(+Math.cos(r),.04,+Math.sin(r)),e.push(Math.cos(r)*n,.04,Math.sin(r)*n)}for(let t of[3.5,7,11,15])for(let r=0;r<64;r++){let n=r/64*Math.PI*2,i=(r+1)/64*Math.PI*2;e.push(Math.cos(n)*t,.04,Math.sin(n)*t),e.push(Math.cos(i)*t,.04,Math.sin(i)*t)}let t=new a.BufferGeometry;return t.setAttribute("position",new a.Float32BufferAttribute(e,3)),t},[]);return(0,r.useLayoutEffect)(()=>{let{buildings:e,tierList:t,tallList:r}=P;o.current&&(e.forEach((e,t)=>{f.position.set(e.x,e.bodyH/2,e.z),f.rotation.set(0,e.rot,0),f.scale.set(e.w,e.bodyH,e.d),f.updateMatrix(),o.current.setMatrixAt(t,f.matrix)}),o.current.instanceMatrix.needsUpdate=!0),c.current&&(t.forEach((e,t)=>{let r=e.h-e.bodyH;f.position.set(e.x,e.bodyH+r/2,e.z),f.rotation.set(0,e.rot,0),f.scale.set(.64*e.w,r,.64*e.d),f.updateMatrix(),c.current.setMatrixAt(t,f.matrix)}),c.current.instanceMatrix.needsUpdate=!0),h.current&&(e.forEach((e,t)=>{let r=e.h,n=e.tier?.64*e.w:e.w,i=e.tier?.64*e.d:e.d;f.position.set(e.x,r+.03,e.z),f.rotation.set(0,e.rot,0),f.scale.set(1.02*n,.07,1.02*i),f.updateMatrix(),h.current.setMatrixAt(t,f.matrix),h.current.setColorAt(t,x.set(l.ROUTE_COLORS[e.ci]))}),h.current.instanceMatrix.needsUpdate=!0,h.current.instanceColor&&(h.current.instanceColor.needsUpdate=!0)),m.current&&v.current&&(r.forEach((e,t)=>{f.position.set(e.x,e.h+.34,e.z),f.rotation.set(0,0,0),f.scale.set(.05,.68,.05),f.updateMatrix(),m.current.setMatrixAt(t,f.matrix),f.position.set(e.x,e.h+.7,e.z),f.scale.set(1,1,1),f.updateMatrix(),v.current.setMatrixAt(t,f.matrix)}),m.current.instanceMatrix.needsUpdate=!0,v.current.instanceMatrix.needsUpdate=!0)},[P]),(0,i.useFrame)((t,r)=>{let n=e.current??0;B.current=d(B.current,n,3,r);let i=B.current,o=t.clock.elapsedTime;C.current&&(C.current.uniforms.uTime.value=o);let a=u(.01,l.P.routes+.02,i);s.current&&(s.current.scale.y=.001+.999*a),v.current&&(v.current.material.opacity=(.5+.3*Math.sin(2.2*o))*a),j.current&&(j.current.opacity=(0+.6*u(.02,l.P.routes,i))*(.78+.22*Math.sin(2.2*o)));let c=u(0,l.P.routes,i);if(w.current){let e=1+.35*o%1*6;w.current.scale.set(e,e,e),w.current.material.opacity=(1-.35*o%1)*.28*c}if(A.current){let e=1+(.35*o+.5)%1*6;A.current.scale.set(e,e,e),A.current.material.opacity=(1-(.35*o+.5)%1)*.28*c}}),(0,t.jsxs)("group",{children:[(0,t.jsx)("gridHelper",{args:[2.6*l.CITY_RADIUS,60,l.C.blue,l.C.blue],position:[0,0,0],children:(0,t.jsx)("lineBasicMaterial",{attach:"material",color:l.C.blue,transparent:!0,opacity:.11,depthWrite:!1})}),(0,t.jsx)("lineSegments",{geometry:W,children:(0,t.jsx)("lineBasicMaterial",{ref:j,color:l.C.cyan,transparent:!0,opacity:0,blending:a.AdditiveBlending,depthWrite:!1})}),(0,t.jsxs)("mesh",{ref:w,rotation:[-Math.PI/2,0,0],position:[0,.03,0],children:[(0,t.jsx)("ringGeometry",{args:[1,1.12,48]}),(0,t.jsx)("meshBasicMaterial",{color:l.C.cyan,transparent:!0,opacity:0,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("mesh",{ref:A,rotation:[-Math.PI/2,0,0],position:[0,.03,0],children:[(0,t.jsx)("ringGeometry",{args:[1,1.12,48]}),(0,t.jsx)("meshBasicMaterial",{color:l.C.violet,transparent:!0,opacity:0,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("group",{ref:s,children:[(0,t.jsx)("instancedMesh",{ref:o,args:[P.bodyGeom,S,P.buildings.length]}),P.tierList.length>0&&(0,t.jsx)("instancedMesh",{ref:c,args:[P.tierGeom,S,P.tierList.length]}),(0,t.jsxs)("instancedMesh",{ref:h,args:[void 0,void 0,P.buildings.length],children:[(0,t.jsx)("boxGeometry",{args:[1,1,1]}),(0,t.jsx)("meshBasicMaterial",{toneMapped:!1,transparent:!0,opacity:.9,blending:a.AdditiveBlending})]}),P.tallList.length>0&&(0,t.jsxs)("instancedMesh",{ref:m,args:[void 0,void 0,P.tallList.length],children:[(0,t.jsx)("boxGeometry",{args:[1,1,1]}),(0,t.jsx)("meshStandardMaterial",{color:"#11182c",metalness:.7,roughness:.4})]}),P.tallList.length>0&&(0,t.jsxs)("instancedMesh",{ref:v,args:[void 0,void 0,P.tallList.length],children:[(0,t.jsx)("sphereGeometry",{args:[.07,8,8]}),(0,t.jsx)("meshBasicMaterial",{color:l.C.red,toneMapped:!1,transparent:!0,opacity:.8,blending:a.AdditiveBlending,depthWrite:!1})]})]})]})});var j=e.i(60099);let w=[98,76,84,68,58,90],A={display:"flex",alignItems:"center",gap:"6px",padding:"4px 11px",borderRadius:"999px",background:"rgba(7,11,22,0.72)",border:"1px solid rgba(255,255,255,0.16)",color:"#eaf2ff",fontSize:"11px",fontWeight:600,letterSpacing:"0.04em",whiteSpace:"nowrap",backdropFilter:"blur(6px)",WebkitBackdropFilter:"blur(6px)",fontFamily:"var(--font-space-grotesk), system-ui, sans-serif",opacity:0,pointerEvents:"none",willChange:"opacity"},C=l.WINNER_INDEX,B=(l.P.ev+l.P.network)/2,R=new a.Color(l.C.green),P=new a.Color(l.C.amber),S=new a.Color(l.C.red),W=new a.Color,z=r.default.memo(function({progress:e}){let n=(0,r.useRef)(0),s=(0,r.useRef)([]),o=(0,r.useRef)([]),h=(0,r.useRef)(null),m=(0,r.useRef)(null),f=(0,r.useRef)(null),x=(0,r.useRef)(null),g=(0,r.useRef)(null),y=(0,r.useRef)(null),M=(0,r.useMemo)(()=>l.ROUTE_COLORS.map((e,t)=>{let r,n,i,s,o,c;return r=t/l.ROUTE_COLORS.length*Math.PI*2+.4,n=9+4*p(6.1*t),i=new a.Vector3(Math.cos(r)*n,.16,Math.sin(r)*n),s=(p(3.7*t)-.5)*5,o=new a.Vector3(Math.cos(r)*n*.4+Math.cos(r+Math.PI/2)*s,.18,Math.sin(r)*n*.4+Math.sin(r+Math.PI/2)*s),c=new a.Vector3(0,.2,0),new a.CatmullRomCurve3([c,o,i])}),[]),b=(0,r.useMemo)(()=>M.map(e=>new a.TubeGeometry(e,60,.05,8,!1)),[M]),v=(0,r.useMemo)(()=>new a.CatmullRomCurve3([new a.Vector3(-11,.3,7),new a.Vector3(-4,.3,3),new a.Vector3(2.6,.3,-1.2),new a.Vector3(9.5,.3,-6.5)]),[]),z=(0,r.useMemo)(()=>new a.TubeGeometry(v,70,.07,8,!1),[v]),I=(0,r.useMemo)(()=>{let e=new a.CatmullRomCurve3([new a.Vector3(-11,.3,7),new a.Vector3(-3.5,.3,1.5),new a.Vector3(2.6,.6,-1.2),new a.Vector3(6.5,.3,-3),new a.Vector3(9.5,.3,-6.5)]);return new a.TubeGeometry(e,80,.08,8,!1)},[]),k=(0,r.useMemo)(()=>new a.Vector3(2.6,0,-1.2),[]),G=(0,r.useMemo)(()=>new a.Vector3,[]),T=(0,r.useMemo)(()=>l.ROUTE_COLORS.map(e=>new a.Color(e)),[]),O=(0,r.useMemo)(()=>new a.Color(l.C.red),[]),U=(0,r.useRef)([]),E=(0,r.useRef)([]),V=(0,r.useRef)(null),F=(0,r.useMemo)(()=>M.map(e=>{let t=e.getPointAt(.82).clone();return t.y+=1,t}),[M]);return(0,i.useFrame)((t,r)=>{let i=e.current??0;n.current=d(n.current,i,3.2,r);let a=n.current,b=t.clock.elapsedTime,j=u(l.P.routes-.03,l.P.routes+.05,a),w=u(l.P.routes,l.P.routes+.05,a),A=u(l.P.ev,l.P.ev+.05,a),z=u(l.P.sla,l.P.ecosystem,a),k=u(l.P.ecosystem,l.P.ecosystem+.06,a),F=c((a-l.P.ecosystem)/(1-l.P.ecosystem)),L=u(.97,1,a);for(let e=0;e.02;if(r.visible=n,!n)continue;let i=((.14*b+.34*t)%1+1)%1;e.getPointAt(i,G),r.position.set(G.x,.3,G.z),e.getPointAt(Math.min(.999,i+.02),G),r.lookAt(G.x,.3,G.z),r.scale.setScalar(1e-4+u(0,.12,F)*(1-L))}}let N=u(l.P.ev-.02,l.P.ev+.03,a),_=1-u(l.P.network+.02,l.P.network+.1,a),Y=u(B-.015,B+.03,a),D=N*_,H=c((a-l.P.ev)/(l.P.network-l.P.ev));if(h.current){let e=Y>.5?I.parameters.path:v;e.getPointAt(c(H),G),h.current.position.set(G.x,.32,G.z),e.getPointAt(c(H+.01),G),h.current.lookAt(G.x,.32,G.z),h.current.visible=D>.02,h.current.scale.setScalar(1e-4+D)}let $=c((a-l.P.ev)/(B-l.P.ev)),q=Y>0?.14+.86*Y:c(1-.92*$);if(m.current&&(m.current.scale.x=.02+.98*q,m.current.position.x=-.18*(1-q)),f.current&&(q>.5?W.copy(P).lerp(R,(q-.5)*2):W.copy(S).lerp(P,2*q),f.current.color.copy(W)),g.current){let e=u(B-.06,B,a);g.current.opacity=.55*Math.max(.4*N,e)*D*(1-Y)*(.7+.3*Math.sin(5*b))}if(y.current&&(y.current.opacity=D*Y*(.65+.25*Math.sin(3*b))),x.current&&(x.current.scale.y=1e-4+Y,x.current.visible=Y>.01&&_>.02),V.current){let e=Y*_;V.current.style.opacity=e.toFixed(3),V.current.style.display=e<.02?"none":"flex"}}),(0,t.jsxs)("group",{children:[b.map((e,r)=>(0,t.jsxs)("group",{children:[(0,t.jsx)("mesh",{geometry:e,children:(0,t.jsx)("meshBasicMaterial",{ref:e=>{s.current[r]=e},color:l.ROUTE_COLORS[r],toneMapped:!1,transparent:!0,opacity:0,blending:a.AdditiveBlending,depthWrite:!1})}),(0,t.jsxs)("mesh",{ref:e=>{o.current[r]=e},children:[(0,t.jsx)("sphereGeometry",{args:[1,12,12]}),(0,t.jsx)("meshBasicMaterial",{color:l.C.white,toneMapped:!1,transparent:!0,opacity:.95,blending:a.AdditiveBlending,depthWrite:!1})]})]},r)),F.map((e,r)=>{let n=r===C,i=4===r,s=n||i?l.C.red:l.ROUTE_COLORS[r];return(0,t.jsx)(j.Html,{position:[e.x,e.y,e.z],center:!0,zIndexRange:[30,0],style:{pointerEvents:"none"},children:(0,t.jsxs)("div",{ref:e=>{E.current[r]=e},style:{...A,border:n?"1px solid rgba(226,53,66,0.85)":i?"1px solid rgba(239,68,68,0.7)":A.border,background:n?"rgba(28,8,11,0.85)":A.background,boxShadow:n?"0 0 22px rgba(192,18,39,0.6)":"none"},children:[(0,t.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:s,boxShadow:`0 0 8px ${s}`}}),l.STRATEGIES[r],(0,t.jsx)("span",{style:{fontWeight:800,color:i?"#fca5a5":"#fff",marginLeft:2},children:w[r]}),n?(0,t.jsx)("span",{style:{color:"#4ade80",fontWeight:700},children:" ✓ Best"}):null,i?(0,t.jsx)("span",{style:{color:"#fca5a5",fontWeight:700},children:" ✕ Over range"}):null]})},`lbl${r}`)}),(0,t.jsx)("mesh",{geometry:z,children:(0,t.jsx)("meshBasicMaterial",{ref:g,color:l.C.red,toneMapped:!1,transparent:!0,opacity:0,blending:a.AdditiveBlending,depthWrite:!1})}),(0,t.jsx)("mesh",{geometry:I,children:(0,t.jsx)("meshBasicMaterial",{ref:y,color:l.C.green,toneMapped:!1,transparent:!0,opacity:0,blending:a.AdditiveBlending,depthWrite:!1})}),(0,t.jsxs)("group",{ref:x,position:k,visible:!1,children:[(0,t.jsxs)("mesh",{position:[0,.55,0],children:[(0,t.jsx)("boxGeometry",{args:[.32,1.1,.32]}),(0,t.jsx)("meshStandardMaterial",{color:"#0e1b14",emissive:l.C.green,emissiveIntensity:.6,metalness:.4,roughness:.5})]}),(0,t.jsxs)("mesh",{position:[0,1.18,0],children:[(0,t.jsx)("boxGeometry",{args:[.5,.18,.42]}),(0,t.jsx)("meshBasicMaterial",{color:l.C.green,toneMapped:!1,transparent:!0,opacity:.9,blending:a.AdditiveBlending})]}),(0,t.jsxs)("mesh",{rotation:[-Math.PI/2,0,0],position:[0,.03,0],children:[(0,t.jsx)("ringGeometry",{args:[.5,.62,40]}),(0,t.jsx)("meshBasicMaterial",{color:l.C.green,toneMapped:!1,transparent:!0,opacity:.7,side:a.DoubleSide,blending:a.AdditiveBlending,depthWrite:!1})]})]}),(0,t.jsx)(j.Html,{position:[k.x,1.7,k.z],center:!0,zIndexRange:[30,0],style:{pointerEvents:"none"},children:(0,t.jsxs)("div",{ref:V,style:{...A,border:"1px solid rgba(34,197,94,0.65)",boxShadow:"0 0 18px rgba(34,197,94,0.45)"},children:[(0,t.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:l.C.green,boxShadow:`0 0 8px ${l.C.green}`}}),"Recharge Hub"]})}),(0,t.jsxs)("group",{ref:h,visible:!1,children:[(0,t.jsxs)("mesh",{position:[0,.12,0],children:[(0,t.jsx)("boxGeometry",{args:[.5,.16,.22]}),(0,t.jsx)("meshStandardMaterial",{color:"#11203a",emissive:l.C.cyan,emissiveIntensity:.5,metalness:.5,roughness:.4})]}),(0,t.jsxs)("mesh",{position:[.18,.26,0],children:[(0,t.jsx)("boxGeometry",{args:[.06,.28,.12]}),(0,t.jsx)("meshStandardMaterial",{color:"#0d1830",emissive:l.C.cyan,emissiveIntensity:.4,metalness:.5,roughness:.4})]}),(0,t.jsxs)("mesh",{position:[.3,.14,0],children:[(0,t.jsx)("sphereGeometry",{args:[.06,10,10]}),(0,t.jsx)("meshBasicMaterial",{color:l.C.white,toneMapped:!1})]}),[-.16,.16].map((e,r)=>(0,t.jsxs)("mesh",{position:[e,.05,0],rotation:[Math.PI/2,0,0],children:[(0,t.jsx)("cylinderGeometry",{args:[.09,.09,.05,14]}),(0,t.jsx)("meshStandardMaterial",{color:"#05070d",metalness:.6,roughness:.5})]},r)),(0,t.jsxs)("group",{position:[0,.62,0],children:[(0,t.jsxs)("mesh",{children:[(0,t.jsx)("boxGeometry",{args:[.42,.12,.02]}),(0,t.jsx)("meshBasicMaterial",{color:"#0a0f1c",toneMapped:!1,transparent:!0,opacity:.85})]}),(0,t.jsxs)("mesh",{ref:m,position:[0,0,.012],children:[(0,t.jsx)("boxGeometry",{args:[.38,.08,.02]}),(0,t.jsx)("meshBasicMaterial",{ref:f,color:l.C.green,toneMapped:!1,blending:a.AdditiveBlending})]})]})]}),[{w:.34,h:.16,d:.2,col:l.C.sky},{w:.46,h:.22,d:.26,col:l.C.white},{w:.6,h:.3,d:.32,col:l.C.red}].map((e,r)=>(0,t.jsxs)("mesh",{ref:e=>{U.current[r]=e},visible:!1,children:[(0,t.jsx)("boxGeometry",{args:[e.w,e.h,e.d]}),(0,t.jsx)("meshStandardMaterial",{color:"#12060a",emissive:e.col,emissiveIntensity:.7,metalness:.5,roughness:.4})]},`disp${r}`))]})}),I=new a.Object3D,k=new a.Color(l.C.blue),G=new a.Color(l.C.green),T=new a.Color,O=new a.Vector3,U=r.default.memo(function({progress:e,isMobile:n=!1}){let s=(0,r.useRef)(0),o=(0,r.useRef)(null),h=(0,r.useRef)([]),m=(0,r.useRef)(null),f=(0,r.useRef)(null),x=(0,r.useRef)(null),g=(0,r.useRef)(null),y=n?40:70,M=n?70:150,b=n?12:24,v=(0,r.useMemo)(()=>Array.from({length:5},(e,t)=>{let r=t/5*Math.PI*2+.6;return new a.Vector3(6.5*Math.cos(r),0,6.5*Math.sin(r))}),[]),j=(0,r.useMemo)(()=>Array.from({length:y},(e,t)=>{let r=p(3.3*t+1)*Math.PI*2,n=3+p(1.9*t+5)*(l.CITY_RADIUS-2);return new a.Vector3(Math.cos(r)*n,.12,Math.sin(r)*n)}),[y]),w=(0,r.useMemo)(()=>j.map(e=>{let t=v[0],r=1/0;for(let n of v){let i=e.distanceToSquared(n);i{let e=[];for(let t of w)e.push(t.a.x,t.a.y,t.a.z,t.b.x,t.b.y,t.b.z);let t=new a.BufferGeometry;return t.setAttribute("position",new a.Float32BufferAttribute(e,3)),t},[w]),C=(0,r.useMemo)(()=>{let e=new Float32Array(3*j.length);j.forEach((t,r)=>{e[3*r]=t.x,e[3*r+1]=t.y,e[3*r+2]=t.z});let t=new a.BufferGeometry;return t.setAttribute("position",new a.BufferAttribute(e,3)),t},[j]),B=(0,r.useMemo)(()=>Array.from({length:M},(e,t)=>({seg:Math.floor(p(4.7*t)*w.length),speed:.12+.25*p(2.1*t),phase:p(8.3*t)})),[M,w.length]),R=(0,r.useMemo)(()=>{let e=new a.BufferGeometry;return e.setAttribute("position",new a.BufferAttribute(new Float32Array(3*M),3)),e},[M]),P=(0,r.useMemo)(()=>Array.from({length:b},(e,t)=>({seg:Math.floor(p(5.9*t+3)*w.length),speed:.06+.08*p(3.7*t),phase:p(6.6*t),kind:Math.floor(3*p(9.2*t))})),[b,w.length]);return(0,r.useLayoutEffect)(()=>{g.current&&(j.forEach((e,t)=>{I.position.set(e.x,.18,e.z),I.scale.set(.06,.36,.06),I.rotation.set(0,0,0),I.updateMatrix(),g.current.setMatrixAt(t,I.matrix),g.current.setColorAt(t,k)}),g.current.instanceMatrix.needsUpdate=!0,g.current.instanceColor&&(g.current.instanceColor.needsUpdate=!0)),x.current&&(P.forEach((e,t)=>{I.position.set(0,-50,0),I.updateMatrix(),x.current.setMatrixAt(t,I.matrix);let r=0===e.kind?l.C.cyan:1===e.kind?l.C.violet:l.C.sky;x.current.setColorAt(t,T.set(r))}),x.current.instanceMatrix.needsUpdate=!0,x.current.instanceColor&&(x.current.instanceColor.needsUpdate=!0))},[j,P]),(0,i.useFrame)((t,r)=>{let n=e.current??0;s.current=d(s.current,n,3,r);let i=s.current,a=t.clock.elapsedTime,p=u(l.P.routes-.02,l.P.routes+.06,i),y=u(l.P.ecosystem-.03,l.P.ecosystem+.06,i),M=u(l.P.finale,1,i);if(h.current.forEach((e,t)=>{e&&(e.emissiveIntensity=(.3+1.5*y)*(.85+.15*Math.sin(2*a+t)))}),o.current&&(o.current.visible=p>.02),m.current&&(m.current.opacity=(.05+.16*p+.1*M)*(.8+.2*Math.sin(1.5*a))),f.current){let e=f.current.geometry.getAttribute("position");for(let t=0;t.02}if(g.current){for(let e=0;e(0,t.jsxs)("group",{position:[e.x,0,e.z],children:[(0,t.jsxs)("mesh",{position:[0,.5,0],children:[(0,t.jsx)("boxGeometry",{args:[1.6,1,1.3]}),(0,t.jsx)("meshStandardMaterial",{ref:e=>{h.current[r]=e},color:"#0b1426",emissive:l.C.blue,emissiveIntensity:.3,metalness:.4,roughness:.5})]}),(0,t.jsxs)("mesh",{rotation:[-Math.PI/2,0,0],position:[0,.03,0],children:[(0,t.jsx)("ringGeometry",{args:[1.2,1.4,36]}),(0,t.jsx)("meshBasicMaterial",{color:l.C.cyan,toneMapped:!1,transparent:!0,opacity:.4,side:a.DoubleSide,blending:a.AdditiveBlending,depthWrite:!1})]})]},r))})]})}),E=r.default.memo(function({progress:e,isMobile:n=!1}){let s=(0,r.useRef)(0),o=(0,r.useRef)(null),h=(0,r.useRef)(null),m=(0,r.useRef)(null),f=(0,r.useRef)([]),x=(0,r.useRef)(null),g=(0,r.useRef)(null),y=n?90:180,M=(0,r.useMemo)(()=>{let e=[];for(let t=0;t{let e=new a.BufferGeometry;return e.setAttribute("position",new a.BufferAttribute(new Float32Array(3*y),3)),e},[y]),v=(0,r.useMemo)(()=>{let e=new a.CatmullRomCurve3([new a.Vector3(-6,.3,5),new a.Vector3(-2,1.6,1),new a.Vector3(3,.3,-4)]);return new a.TubeGeometry(e,50,.07,8,!1)},[]),j=(0,r.useMemo)(()=>new a.Vector3(-2,.6,1),[]);return(0,i.useFrame)((t,r)=>{let n=e.current??0;s.current=d(s.current,n,3,r);let i=s.current,a=t.clock.elapsedTime,p=u(l.P.sla-.03,l.P.sla+.05,i),y=p*(1-u(l.P.ecosystem,l.P.ecosystem+.08,i));o.current&&(o.current.visible=y>.02,o.current.position.y=2.6+1.9999999999999996*p,o.current.scale.setScalar(1e-4+1.5*y),o.current.rotation.z=.02*Math.sin(.3*a)),h.current&&(h.current.rotation.z=-(1.4*a)),m.current&&(m.current.opacity=y*(.6+.2*Math.sin(4*a))),f.current.forEach(e=>{e&&(e.opacity=.8*y)});let b=u(l.P.sla+.02,l.P.sla+.08,i),v=.45*a%1;if(g.current&&(g.current.opacity=y*b*(1-v)*(.6+.4*Math.sin(6*a))),x.current){let e=x.current.geometry.getAttribute("position"),t=3.4*v;for(let r=0;r{let n=r/12*Math.PI*2;return(0,t.jsxs)("mesh",{position:[.88*Math.cos(n),.88*Math.sin(n),0],rotation:[0,0,n],children:[(0,t.jsx)("boxGeometry",{args:[.1,.02,.02]}),(0,t.jsx)("meshBasicMaterial",{ref:e=>{e&&(f.current[r]=e)},color:r%3==0?l.C.white:l.C.cyan,toneMapped:!1,transparent:!0,opacity:.8,blending:a.AdditiveBlending,depthWrite:!1})]},r)}),(0,t.jsxs)("mesh",{ref:h,position:[0,0,.02],children:[(0,t.jsx)("boxGeometry",{args:[.04,1.5,.02]}),(0,t.jsx)("meshBasicMaterial",{ref:m,color:l.C.green,toneMapped:!1,transparent:!0,opacity:.7,blending:a.AdditiveBlending,depthWrite:!1})]}),(0,t.jsxs)("mesh",{children:[(0,t.jsx)("sphereGeometry",{args:[.07,16,16]}),(0,t.jsx)("meshBasicMaterial",{color:l.C.white,toneMapped:!1})]})]}),(0,t.jsx)("mesh",{geometry:v,children:(0,t.jsx)("meshBasicMaterial",{ref:g,color:l.C.red,toneMapped:!1,transparent:!0,opacity:0,blending:a.AdditiveBlending,depthWrite:!1})}),(0,t.jsx)("points",{ref:x,geometry:b,children:(0,t.jsx)("pointsMaterial",{size:n?.12:.1,color:l.C.red,transparent:!0,opacity:0,sizeAttenuation:!0,blending:a.AdditiveBlending,depthWrite:!1})})]})}),V=new a.Vector3,F=new a.Vector3;function L({progress:e}){let t=(0,r.useRef)(new a.Vector3(0,6,0)),n=(0,r.useRef)(!1);return(0,i.useFrame)((r,i)=>{var s,o,a,p,h,m;let f=c(e.current??0),x=0;for(let e=0;e=l.WAYPOINTS[e].at&&f<=l.WAYPOINTS[e+1].at){x=e;break}f>l.WAYPOINTS[l.WAYPOINTS.length-1].at&&(x=l.WAYPOINTS.length-2)}let g=l.WAYPOINTS[x],y=l.WAYPOINTS[x+1],M=y.at-g.at||1,b=u(0,1,c((f-g.at)/M));V.set((s=g.pos[0],s+(y.pos[0]-s)*b),(o=g.pos[1],o+(y.pos[1]-o)*b),(a=g.pos[2],a+(y.pos[2]-a)*b)),F.set((p=g.look[0],p+(y.look[0]-p)*b),(h=g.look[1],h+(y.look[1]-h)*b),(m=g.look[2],m+(y.look[2]-m)*b));let v=r.clock.elapsedTime;V.x+=.14*Math.sin(.16*v),V.y+=.07*Math.sin(.21*v);let j=r.camera;n.current?(j.position.x=d(j.position.x,V.x,2.6,i),j.position.y=d(j.position.y,V.y,2.6,i),j.position.z=d(j.position.z,V.z,2.6,i),t.current.x=d(t.current.x,F.x,3,i),t.current.y=d(t.current.y,F.y,3,i),t.current.z=d(t.current.z,F.z,3,i)):(j.position.copy(V),t.current.copy(F),n.current=!0),j.lookAt(t.current)}),null}let N=r.default.memo(function({progress:e,reduced:r=!1,isMobile:i=!1,active:a=!0}){return(0,t.jsxs)(n.Canvas,{flat:!0,dpr:[1,i||r?1.25:1.5],camera:{position:l.WAYPOINTS[0].pos,fov:52,near:.1,far:200},gl:{antialias:!i,powerPreference:"high-performance",alpha:!1},frameloop:a?"always":"never",children:[(0,t.jsx)("color",{attach:"background",args:[l.C.bg]}),(0,t.jsx)("fog",{attach:"fog",args:[l.C.bg,40,100]}),(0,t.jsx)("ambientLight",{intensity:.55}),(0,t.jsx)("directionalLight",{position:[8,18,10],intensity:.7,color:l.C.sky}),(0,t.jsx)("pointLight",{position:[-10,8,-8],intensity:40,distance:60,color:l.C.purple}),(0,t.jsx)("pointLight",{position:[0,9,0],intensity:30,distance:40,color:l.C.cyan}),(0,t.jsx)(L,{progress:e}),(0,t.jsx)(v,{progress:e,reduced:r,isMobile:i}),(0,t.jsx)(z,{progress:e,reduced:r,isMobile:i}),(0,t.jsx)(U,{progress:e,reduced:r,isMobile:i}),(0,t.jsx)(E,{progress:e,reduced:r,isMobile:i}),(0,t.jsx)(m,{progress:e,reduced:r,isMobile:i}),!r&&(0,t.jsx)(s.EffectComposer,{multisampling:2*!i,children:(0,t.jsx)(s.Bloom,{mipmapBlur:!0,intensity:i?.9:1.25,luminanceThreshold:.12,luminanceSmoothing:.045,radius:i?.65:.82,kernelSize:o.KernelSize.MEDIUM})})]})});e.s(["default",0,N],69986)},39184,e=>{e.n(e.i(69986))}]); \ No newline at end of file diff --git a/build/_next/static/chunks/05gvsernou_9a.js b/build/_next/static/chunks/0rn9tljn2_ryg.js similarity index 88% rename from build/_next/static/chunks/05gvsernou_9a.js rename to build/_next/static/chunks/0rn9tljn2_ryg.js index d57d337..f455245 100644 --- a/build/_next/static/chunks/05gvsernou_9a.js +++ b/build/_next/static/chunks/0rn9tljn2_ryg.js @@ -294,16 +294,19 @@ margin-bottom: 60px; } + /* Base rules above use !important (flex-direction:row, the 58/42% + column widths), so these overrides MUST also use !important or the + grid never stacks and the image/text stay squished side-by-side. */ .ev-logistic-body-grid { - flex-direction: column; - gap: 50px; + flex-direction: column !important; + gap: 50px !important; } .ev-logistic-image-col { - flex: 1 1 100%; - max-width: 100%; - min-height: auto; - justify-content: center; /* Center layout on mobile */ + flex: 1 1 100% !important; + max-width: 100% !important; + min-height: auto !important; + justify-content: center !important; /* Center layout on mobile */ } .ev-logistic-image-wrapper { @@ -314,8 +317,8 @@ } .ev-logistic-content-col { - flex: 1 1 100%; - max-width: 100%; + flex: 1 1 100% !important; + max-width: 100% !important; } .ev-logistic-title { @@ -629,26 +632,79 @@ .moat-heading { font-size: 1.8rem; } + } - /* Capability Matrix table gains responsive horizontal swipe scrolls */ + /* On phones the 5-column table can't fit, so transform each row into a + stacked card: capability as the card title, then one "label: value" + line per competitor. Column labels are injected via nth-of-type so no + markup changes are needed (every row has the same column order). */ + @media (max-width: 600px) { .table-wrapper { - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; + background: transparent; + border: none; + box-shadow: none; + border-radius: 0; + overflow: visible; } - - .comparison-table { - min-width: 720px; /* Forces optimal reading width swipe trail */ + .comparison-table { min-width: 0; width: 100%; } + .comparison-table thead { display: none; } + .comparison-table tbody, + .comparison-table tr, + .comparison-table td { display: block; width: auto; } + + .comparison-table tr { + background: #ffffff; + border: 1px solid rgba(0,0,0,0.07); + border-radius: 16px; + padding: 6px 16px 8px; + margin-bottom: 14px; + box-shadow: 0 8px 24px rgba(0,0,0,0.04); } - .comparison-table th, - .comparison-table td { - padding: 16px 18px; - font-size: 0.9rem; + /* Capability = card title (icon + name), no label */ + .comparison-table td.capability-cell { + display: flex; + justify-content: flex-start; + gap: 12px; + font-size: 1.02rem; + padding: 12px 0 12px; + border-bottom: 1.5px solid #eef0f4; + margin-bottom: 4px; } - .capability-cell { - font-size: 0.98rem; + /* Value cells = "Label .... value" rows */ + .comparison-table td:not(.capability-cell) { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + padding: 10px 0; + border-bottom: 1px solid #f4f5f7; + font-size: 0.95rem; + text-align: right; + } + .comparison-table tr td:last-child { border-bottom: none; } + + .comparison-table td.col-highlight::before { content: "Doormile"; } + .comparison-table td:nth-of-type(3)::before { content: "Aggregators"; } + .comparison-table td:nth-of-type(4)::before { content: "Local Couriers"; } + .comparison-table td:nth-of-type(5)::before { content: "Software Platforms"; } + .comparison-table td:not(.capability-cell)::before { + font-weight: 700; + font-size: 0.72rem; + letter-spacing: 0.05em; + text-transform: uppercase; + color: #8a8f9d; + flex: 0 0 auto; + } + + /* Neutralise the desktop highlight column styling inside the card */ + .comparison-table td.col-highlight { + background: transparent !important; + border-left: none; + border-right: none; + animation: none !important; + color: inherit !important; } } `}})]})}])},2012,e=>{"use strict";var t=e.i(43476),i=e.i(71645),a=e.i(89970),r=e.i(83495);a.default.registerPlugin(r.ScrollTrigger);let o=[{year:2026,pct:25,trackLeft:"12.5%",phase:"Pilot Phase",phaseClass:"yellow",title:"Hyderabad Pilot",desc:"Launch operations in Hyderabad with dedicated EV hubs and MileTruth AI v1.0.",icon:(0,t.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M4.5 16.5c-1.5 1.5-2.5 3.5-2.5 5.5C4 22 6 21 7.5 19.5"}),(0,t.jsx)("path",{d:"M12 12l9-9-9 9z"}),(0,t.jsx)("path",{d:"M12 12c-2.3 2.3-3.4 5.3-3.5 8.5l12-12c-3.2-.1-6.2-1.2-8.5-3.5z"})]}),stats:[{text:"50-80 orders/day",icon:(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,t.jsx)("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2",ry:"2"}),(0,t.jsx)("line",{x1:"16",y1:"2",x2:"16",y2:"6"}),(0,t.jsx)("line",{x1:"8",y1:"2",x2:"8",y2:"6"}),(0,t.jsx)("line",{x1:"3",y1:"10",x2:"21",y2:"10"})]})},{text:"1 city",icon:(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,t.jsx)("path",{d:"M3 21h18M19 21v-2a4 4 0 0 0-3-3.87M5 21v-2a4 4 0 0 1 3-3.87M9 21v-5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v5"})})},{text:"10+ women partners",icon:(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,t.jsx)("path",{d:"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),(0,t.jsx)("circle",{cx:"9",cy:"7",r:"4"})]})}]},{year:2027,pct:50,trackLeft:"37.5%",phase:"Multi-City",phaseClass:"green",title:"Multi-City Scale",desc:"Expand to Bengaluru and Chennai, securing key B2B enterprise traction.",icon:(0,t.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,t.jsx)("line",{x1:"12",y1:"8",x2:"12",y2:"16"}),(0,t.jsx)("line",{x1:"8",y1:"12",x2:"16",y2:"12"})]}),stats:[{text:"300-500 orders/day",icon:(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,t.jsx)("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2",ry:"2"}),(0,t.jsx)("line",{x1:"16",y1:"2",x2:"16",y2:"6"}),(0,t.jsx)("line",{x1:"8",y1:"2",x2:"8",y2:"6"}),(0,t.jsx)("line",{x1:"3",y1:"10",x2:"21",y2:"10"})]})},{text:"3 cities",icon:(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,t.jsx)("path",{d:"M3 21h18M19 21v-2a4 4 0 0 0-3-3.87M5 21v-2a4 4 0 0 1 3-3.87M9 21v-5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v5"})})},{text:"50+ EVs",icon:(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,t.jsx)("polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2"})})}]},{year:2028,pct:75,trackLeft:"62.5%",phase:"Platform",phaseClass:"blue",title:"Platform Expansion",desc:"Scale to 5+ cities. Launch developer API marketplace and Series A readiness.",icon:(0,t.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"3"}),(0,t.jsx)("path",{d:"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"})]}),stats:[{text:"1,200+ orders/day",icon:(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,t.jsx)("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2",ry:"2"}),(0,t.jsx)("line",{x1:"16",y1:"2",x2:"16",y2:"6"}),(0,t.jsx)("line",{x1:"8",y1:"2",x2:"8",y2:"6"}),(0,t.jsx)("line",{x1:"3",y1:"10",x2:"21",y2:"10"})]})},{text:"5+ cities",icon:(0,t.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,t.jsx)("path",{d:"M3 21h18M19 21v-2a4 4 0 0 0-3-3.87M5 21v-2a4 4 0 0 1 3-3.87M9 21v-5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v5"})})},{text:"API marketplace",icon:(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,t.jsx)("polyline",{points:"16 18 22 12 16 6"}),(0,t.jsx)("polyline",{points:"8 6 2 12 8 18"})]})}]},{year:2030,pct:100,trackLeft:"87.5%",phase:"Vision State",phaseClass:"white-pill",title:"AI Pulse Layer",desc:"Nationwide AI logistics grid reaching 15+ cities, empowering female micro-entrepreneurs.",icon:(0,t.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("path",{d:"M2 4l3 12h14l3-12-6 7-4-7-4 7-6-7z"}),(0,t.jsx)("path",{d:"M3 20h18",strokeWidth:"3"})]}),stats:[{text:"5,000+ orders/day",icon:(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,t.jsx)("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2",ry:"2"}),(0,t.jsx)("line",{x1:"16",y1:"2",x2:"16",y2:"6"}),(0,t.jsx)("line",{x1:"8",y1:"2",x2:"8",y2:"6"}),(0,t.jsx)("line",{x1:"3",y1:"10",x2:"21",y2:"10"})]})},{text:"Rs 65 Cr+ revenue",icon:(0,t.jsx)("span",{className:"currency-symbol",style:{marginRight:"4px",fontSize:"11px",fontWeight:800},children:"Rs"})},{text:"2,000+ women partners",icon:(0,t.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:[(0,t.jsx)("path",{d:"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),(0,t.jsx)("circle",{cx:"9",cy:"7",r:"4"}),(0,t.jsx)("path",{d:"M23 21v-2a4 4 0 0 0-3-3.87"}),(0,t.jsx)("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]})}]}];e.s(["default",0,function(){let[e,a]=(0,i.useState)(2030),r=(0,i.useRef)(null),n=(0,i.useRef)(null);(0,i.useEffect)(()=>{let e;if(!r.current)return;let t=n.current;if(!t)return;let i=t.getContext("2d");if(!i)return;let a=t.width=t.offsetWidth,o=t.height=t.offsetHeight,s=()=>{t&&(a=t.width=t.offsetWidth,o=t.height=t.offsetHeight)};window.addEventListener("resize",s);let l=[{name:"Hyderabad",x:.18,y:.55},{name:"Chennai",x:.42,y:.72},{name:"Bengaluru",x:.64,y:.42},{name:"Mumbai",x:.82,y:.62}],c=[{from:0,to:1,t:0,speed:.005},{from:1,to:2,t:.3,speed:.004},{from:2,to:3,t:.6,speed:.006}],d=()=>{i.clearRect(0,0,a,o),i.lineWidth=1.5,i.setLineDash([6,6]),i.strokeStyle="rgba(220, 38, 38, 0.12)",i.beginPath();for(let e=0;e{e.t+=e.speed,e.t>=1&&(e.t=0);let t=l[e.from],r=l[e.to],n=t.x*a,s=t.y*o,c=r.x*a,d=r.y*o,p=n+(c-n)*e.t,g=s+(d-s)*e.t;i.beginPath(),i.arc(p,g,4,0,2*Math.PI),i.fillStyle="#c01227",i.shadowColor="#c01227",i.shadowBlur=10,i.fill(),i.shadowBlur=0}),l.forEach(e=>{let t=e.x*a,r=e.y*o;i.beginPath(),i.arc(t,r,8,0,2*Math.PI),i.fillStyle="rgba(220, 38, 38, 0.08)",i.fill(),i.beginPath(),i.arc(t,r,3,0,2*Math.PI),i.fillStyle="rgba(255, 255, 255, 0.25)",i.fill(),i.fillStyle="rgba(255, 255, 255, 0.12)",i.font="bold 11px 'Manrope', sans-serif",i.textAlign="center",i.fillText(e.name,t,r-14)}),e=requestAnimationFrame(d)};return d(),()=>{window.removeEventListener("resize",s),cancelAnimationFrame(e)}},[]);let s=2026===e?25:2027===e?50:2028===e?75:100,l=2*Math.PI*30;return(0,t.jsx)("div",{ref:r,className:"elementor-element elementor-element-bbc6760 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"bbc6760","data-element_type":"container","data-e-type":"container",style:{position:"relative",zIndex:1},children:(0,t.jsxs)("section",{id:"hero",className:"roadmap-hero-section",children:[(0,t.jsx)("canvas",{ref:n,className:"ce-canvas-bg","aria-hidden":"true"}),(0,t.jsx)("div",{className:"roadmap-glow-spot top-left"}),(0,t.jsx)("div",{className:"roadmap-glow-spot bottom-right"}),(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:` @@ -1115,23 +1171,90 @@ @media (max-width: 768px) { .roadmap-hero-section { - width: calc(100% - 40px); /* keep the 20px site-standard band gutter */ - padding: 60px 16px; - } - - .roadmap-grid-container { - grid-template-columns: 1fr; - gap: 16px; + width: calc(100% - 24px); /* tighter 12px gutter so the band reads edge-to-edge on phones */ + padding: 52px 16px 44px; + border-radius: 22px; } + .vision-main-subtitle { margin-bottom: 40px !important; } + /* Progress header → compact, centered summary card */ .roadmap-track-container { flex-direction: column; - align-items: flex-start; - gap: 20px; + align-items: center; + text-align: center; + gap: 16px; + padding: 20px 18px; + margin-bottom: 36px; } + .roadmap-track-label { font-size: 12px; letter-spacing: 1.5px; } + .timeline-horizontal-wrapper { width: 100%; } + .roadmap-complete-pct-container { justify-content: center; } - .timeline-horizontal-wrapper { - width: 100%; + /* ── Vertical timeline: the four stacked cards become a connected + journey (2026 → 2030) with a coloured rail + phase node dots. ── */ + .roadmap-grid-container { + grid-template-columns: 1fr; + gap: 18px; + position: relative; + padding-left: 32px; } + .roadmap-grid-container::before { + content: ''; + position: absolute; + left: 6px; + top: 16px; + bottom: 16px; + width: 2px; + border-radius: 2px; + background: linear-gradient(180deg, #eab308 0%, #22c55e 34%, #3b82f6 67%, #C8102E 100%); + opacity: 0.55; + } + .roadmap-col-card { padding: 24px 22px; } + /* node dot sits on the rail, aligned with the year number */ + .roadmap-col-card::before { + content: ''; + position: absolute; + left: -32px; + top: 28px; + width: 14px; + height: 14px; + border-radius: 50%; + background: #09090b; + border: 2px solid #C8102E; + box-shadow: 0 0 0 4px #09090b, 0 0 12px rgba(200, 16, 46, 0.7); + z-index: 3; + } + .roadmap-col-card[data-card="2026"]::before { + border-color: #eab308; + box-shadow: 0 0 0 4px #09090b, 0 0 12px rgba(234, 179, 8, 0.6); + } + .roadmap-col-card[data-card="2027"]::before { + border-color: #22c55e; + box-shadow: 0 0 0 4px #09090b, 0 0 12px rgba(34, 197, 94, 0.6); + } + .roadmap-col-card[data-card="2028"]::before { + border-color: #3b82f6; + box-shadow: 0 0 0 4px #09090b, 0 0 12px rgba(59, 130, 246, 0.6); + } + .roadmap-col-card[data-card="2030"]::before { + border-color: #ffffff; + background: #C8102E; + box-shadow: 0 0 0 4px #09090b, 0 0 16px rgba(200, 16, 46, 0.9); + } + /* the 2030 card's sweeping border (::after) would sit over the rail + gutter — keep it from bleeding past the card's rounded edge */ + .glowing-vision-card::after { inset: -1px; } } - `}}),(0,t.jsxs)("div",{className:"container",children:[(0,t.jsx)("div",{className:"vision-tag-top",children:"VISION / 2030"}),(0,t.jsx)("div",{className:"elementor-element elementor-element-54d05ac elementor-widget elementor-widget-logico_heading","data-id":"54d05ac","data-element_type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsxs)("div",{className:"elementor-widget-container",children:[(0,t.jsxs)("h3",{className:"logico-title intelligence-grid-title",children:["The ",(0,t.jsx)("span",{className:"intelligence-grid-title-highlight",children:"Intelligence Grid"})," Behind Every Urban Mile"]}),(0,t.jsx)("p",{className:"vision-main-subtitle",children:"From Hyderabad EV pilot to nationwide AI logistics intelligence by 2030"})]})}),(0,t.jsxs)("div",{className:"roadmap-track-container",children:[(0,t.jsx)("span",{className:"roadmap-track-label",children:"ROADMAP TO 2030"}),(0,t.jsxs)("div",{className:"timeline-horizontal-wrapper",children:[(0,t.jsx)("div",{className:"timeline-horizontal-line"}),(0,t.jsx)("div",{className:"timeline-horizontal-fill",style:{width:2026===e?"12.5%":2027===e?"37.5%":2028===e?"62.5%":"87.5%"}}),(0,t.jsx)("div",{className:"node-dots-row",children:o.map(i=>(0,t.jsx)("div",{className:`node-dot-item ${e>=i.year?"active":""}`,style:{left:i.trackLeft},children:e===i.year&&(0,t.jsx)("div",{className:"node-pulse-crown"})},i.year))})]}),(0,t.jsxs)("div",{className:"roadmap-complete-pct-container",children:[(0,t.jsxs)("span",{className:"roadmap-complete-pct",children:[s,"% COMPLETE →"]}),(0,t.jsxs)("svg",{width:"40",height:"40",viewBox:"0 0 80 80",children:[(0,t.jsx)("circle",{cx:"40",cy:"40",r:"30",fill:"none",stroke:"rgba(255,255,255,0.06)",strokeWidth:"6"}),(0,t.jsx)("circle",{className:"progress-ring-circle",cx:"40",cy:"40",r:"30",fill:"none",strokeWidth:"6",strokeDasharray:l,strokeDashoffset:l*(1-s/100),strokeLinecap:"round"})]})]})]}),(0,t.jsx)("div",{className:"roadmap-grid-container",children:o.map(i=>{let r=2030===i.year,o=e===i.year;return(0,t.jsxs)("div",{onMouseEnter:()=>a(i.year),className:`roadmap-col-card ${r?"glowing-vision-card":""} ${o?"active":""}`,"data-card":i.year,children:[r&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"ce-sparkle sparkle-1"}),(0,t.jsx)("span",{className:"ce-sparkle sparkle-2"}),(0,t.jsx)("span",{className:"ce-sparkle sparkle-3"})]}),(0,t.jsxs)("div",{className:"card-top-row",children:[(0,t.jsx)("span",{className:"year-num",children:i.year}),(0,t.jsx)("div",{className:`card-icon-badge ${r?"translucent-white":""}`,children:i.icon})]}),(0,t.jsx)("span",{className:`phase-badge-pill ${i.phaseClass}`,children:i.phase}),(0,t.jsx)("h5",{className:"card-heading",style:{color:"white"},children:i.title}),(0,t.jsx)("p",{className:"card-text",children:i.desc}),(0,t.jsx)("div",{className:"card-pills-stack",children:i.stats.map((e,i)=>(0,t.jsxs)("div",{className:`card-stat-pill-mini ${r?"translucent-crimson":""}`,children:[e.icon,(0,t.jsx)("span",{children:e.text})]},i))})]},i.year)})})]})]})})}])}]); \ No newline at end of file + + @media (max-width: 480px) { + .roadmap-hero-section { padding: 44px 14px 38px; } + .roadmap-hero-section .intelligence-grid-title { font-size: clamp(28px, 8.4vw, 38px) !important; letter-spacing: -1px !important; } + .roadmap-grid-container { padding-left: 28px; } + .roadmap-grid-container::before { left: 5px; } + .roadmap-col-card { padding: 22px 18px; } + .roadmap-col-card::before { left: -28px; top: 26px; } + .year-num { font-size: 23px; } + .card-heading { font-size: 16px; } + .card-text { font-size: 13px; } + } + `}}),(0,t.jsxs)("div",{className:"container",children:[(0,t.jsx)("div",{className:"vision-tag-top",children:"VISION / 2030"}),(0,t.jsx)("div",{className:"elementor-element elementor-element-54d05ac elementor-widget elementor-widget-logico_heading","data-id":"54d05ac","data-element_type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsxs)("div",{className:"elementor-widget-container",children:[(0,t.jsxs)("h3",{className:"logico-title intelligence-grid-title",children:["The ",(0,t.jsx)("span",{className:"intelligence-grid-title-highlight",children:"Intelligence Grid"})," Behind Every Urban Mile"]}),(0,t.jsx)("p",{className:"vision-main-subtitle",children:"From Hyderabad EV pilot to nationwide AI logistics intelligence by 2030"})]})}),(0,t.jsxs)("div",{className:"roadmap-track-container",children:[(0,t.jsx)("span",{className:"roadmap-track-label",children:"ROADMAP TO 2030"}),(0,t.jsxs)("div",{className:"timeline-horizontal-wrapper",children:[(0,t.jsx)("div",{className:"timeline-horizontal-line"}),(0,t.jsx)("div",{className:"timeline-horizontal-fill",style:{width:2026===e?"12.5%":2027===e?"37.5%":2028===e?"62.5%":"87.5%"}}),(0,t.jsx)("div",{className:"node-dots-row",children:o.map(i=>(0,t.jsx)("div",{className:`node-dot-item ${e>=i.year?"active":""}`,style:{left:i.trackLeft},children:e===i.year&&(0,t.jsx)("div",{className:"node-pulse-crown"})},i.year))})]}),(0,t.jsxs)("div",{className:"roadmap-complete-pct-container",children:[(0,t.jsxs)("span",{className:"roadmap-complete-pct",children:[s,"% COMPLETE →"]}),(0,t.jsxs)("svg",{width:"40",height:"40",viewBox:"0 0 80 80",children:[(0,t.jsx)("circle",{cx:"40",cy:"40",r:"30",fill:"none",stroke:"rgba(255,255,255,0.06)",strokeWidth:"6"}),(0,t.jsx)("circle",{className:"progress-ring-circle",cx:"40",cy:"40",r:"30",fill:"none",strokeWidth:"6",strokeDasharray:l,strokeDashoffset:l*(1-s/100),strokeLinecap:"round"})]})]})]}),(0,t.jsx)("div",{className:"roadmap-grid-container",children:o.map(i=>{let r=2030===i.year,o=e===i.year;return(0,t.jsxs)("div",{onMouseEnter:()=>a(i.year),onClick:()=>a(i.year),className:`roadmap-col-card ${r?"glowing-vision-card":""} ${o?"active":""}`,"data-card":i.year,children:[r&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"ce-sparkle sparkle-1"}),(0,t.jsx)("span",{className:"ce-sparkle sparkle-2"}),(0,t.jsx)("span",{className:"ce-sparkle sparkle-3"})]}),(0,t.jsxs)("div",{className:"card-top-row",children:[(0,t.jsx)("span",{className:"year-num",children:i.year}),(0,t.jsx)("div",{className:`card-icon-badge ${r?"translucent-white":""}`,children:i.icon})]}),(0,t.jsx)("span",{className:`phase-badge-pill ${i.phaseClass}`,children:i.phase}),(0,t.jsx)("h5",{className:"card-heading",style:{color:"white"},children:i.title}),(0,t.jsx)("p",{className:"card-text",children:i.desc}),(0,t.jsx)("div",{className:"card-pills-stack",children:i.stats.map((e,i)=>(0,t.jsxs)("div",{className:`card-stat-pill-mini ${r?"translucent-crimson":""}`,children:[e.icon,(0,t.jsx)("span",{children:e.text})]},i))})]},i.year)})})]})]})})}])}]); \ No newline at end of file diff --git a/build/_next/static/chunks/0roya9vkvq6rl.js b/build/_next/static/chunks/0roya9vkvq6rl.js deleted file mode 100644 index 6797c38..0000000 --- a/build/_next/static/chunks/0roya9vkvq6rl.js +++ /dev/null @@ -1 +0,0 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,64083,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(75056),i=e.i(25234),o=e.i(28600),s=e.i(79877),a=e.i(33623),l=e.i(97202);let c=(e,t,r)=>e+(t-e)*r;function u(e,t,r){let n,i=(n=(r-e)/(t-e||1))<0?0:n>1?1:n;return i*i*(3-2*i)}function h(e,t,r,n){return c(e,t,1-Math.exp(-r*n))}function p(e){let t=43758.5453*Math.sin(127.1*e+311.7);return t-Math.floor(t)}var m=e.i(90072);let d=new m.Color(l.COLORS.cyan),f=new m.Color(l.COLORS.red),g=new m.Color(l.COLORS.green),x=Array.from({length:5},(e,t)=>{let r=t/5*Math.PI*2+.3,n=7+3*p(7*t+1),i=Math.cos(r)*n,o=Math.sin(r)*n;return new m.Vector3(i,.1,o)}),y=r.default.memo(function({progress:e}){let n=(0,r.useRef)(null),o=(0,r.useRef)([]),s=(0,r.useRef)([]),a=(0,r.useRef)([]),p=(0,r.useRef)(0),y=(0,r.useMemo)(()=>x.map(e=>{let t=[new m.Vector3(0,.15,0),new m.Vector3(.5*e.x,.6,.5*e.z),new m.Vector3(e.x,.15,e.z)];return new m.CatmullRomCurve3(t).getPoints(24)}),[]);return(0,i.useFrame)((t,r)=>{let i=e.current??0;p.current=h(p.current,i,3,r);let l=p.current,m=t.clock.elapsedTime;n.current&&(n.current.position.y=.04*Math.sin(1.2*m)),o.current.forEach((e,t)=>{e&&(e.rotation.y=m*(.8+.2*t))}),s.current.forEach((e,t)=>{if(e){let r=u(.45,.8,l);e.color.copy(f).lerp(t%2==0?d:g,r),e.opacity=c(.12,.7,r)*(.8+.2*Math.sin(4*m-.5*t))}}),a.current.forEach((e,t)=>{if(e){let r=u(.5,.82,l);e.color.copy(f).lerp(t%2==0?d:g,r),e.opacity=c(.06,.22,r)*(.85+.15*Math.sin(3*m-t))}})}),(0,t.jsxs)("group",{children:[(0,t.jsx)("gridHelper",{args:[60,48,l.COLORS.cyan,l.COLORS.cyan],position:[0,-.01,0],children:(0,t.jsx)("lineBasicMaterial",{attach:"material",color:l.COLORS.cyan,transparent:!0,opacity:.05})}),y.map((e,r)=>(0,t.jsxs)("line",{children:[(0,t.jsx)("bufferGeometry",{children:(0,t.jsx)("float32BufferAttribute",{attach:"attributes-position",args:[new Float32Array(e.flatMap(e=>[e.x,e.y,e.z])),3]})}),(0,t.jsx)("lineBasicMaterial",{ref:e=>{s.current[r]=e},transparent:!0,opacity:.15,depthWrite:!1})]},`corr${r}`)),(0,t.jsxs)("group",{ref:n,position:[0,0,0],children:[(0,t.jsxs)("mesh",{position:[0,.35,0],children:[(0,t.jsx)("boxGeometry",{args:[2.2,.7,1.8]}),(0,t.jsx)("meshBasicMaterial",{color:l.COLORS.ink})]}),(0,t.jsxs)("mesh",{position:[0,.35,0],children:[(0,t.jsx)("boxGeometry",{args:[2.2,.7,1.8]}),(0,t.jsx)("meshBasicMaterial",{color:l.COLORS.cyan,wireframe:!0,transparent:!0,opacity:.65})]}),[-.6,0,.6].map((e,r)=>(0,t.jsxs)("mesh",{position:[e,.18,.91],children:[(0,t.jsx)("boxGeometry",{args:[.3,.35,.06]}),(0,t.jsx)("meshBasicMaterial",{color:l.COLORS.cyan,transparent:!0,opacity:.8})]},r)),(0,t.jsxs)("mesh",{position:[0,.85,0],children:[(0,t.jsx)("boxGeometry",{args:[1.2,.3,1]}),(0,t.jsx)("meshBasicMaterial",{color:l.COLORS.cyan,transparent:!0,opacity:.15})]}),(0,t.jsxs)("mesh",{position:[0,.85,0],children:[(0,t.jsx)("boxGeometry",{args:[1.2,.3,1]}),(0,t.jsx)("meshBasicMaterial",{color:l.COLORS.cyan,wireframe:!0,transparent:!0,opacity:.9})]}),[-.4,.4].map((e,r)=>(0,t.jsxs)("mesh",{position:[e,.71,-.4],rotation:[.15,0,0],children:[(0,t.jsx)("boxGeometry",{args:[.5,.03,.6]}),(0,t.jsx)("meshBasicMaterial",{color:"#1e293b"})]},r)),(0,t.jsxs)("group",{position:[0,1,0],children:[(0,t.jsxs)("mesh",{position:[0,.4,0],children:[(0,t.jsx)("cylinderGeometry",{args:[.03,.03,.8,8]}),(0,t.jsx)("meshBasicMaterial",{color:l.COLORS.cyan})]}),(0,t.jsxs)("mesh",{position:[0,.8,0],children:[(0,t.jsx)("sphereGeometry",{args:[.12,16,16]}),(0,t.jsx)("meshBasicMaterial",{color:"#ffffff"})]})]}),(0,t.jsxs)("mesh",{rotation:[-Math.PI/2,0,0],position:[0,.02,0],children:[(0,t.jsx)("ringGeometry",{args:[1.8,2.2,32]}),(0,t.jsx)("meshBasicMaterial",{color:l.COLORS.cyan,transparent:!0,opacity:.3,blending:m.AdditiveBlending})]})]})]})}),j=new m.Vector3(0,.5,0);function M(e){return new m.CatmullRomCurve3(e,!1,"catmullrom",.5)}let v=null;function O(){if(v)return v;let e=[],t=[];for(let r=0;r<5;r++){let n=r/5*Math.PI*2+.3,i=7+3*p(7*r+1),o=Math.cos(n)*i,s=Math.sin(n)*i,a=2+Math.floor(2*p(7*r+2)),l=[j.clone()];l.push(new m.Vector3(.35*o,.45+1.4,.35*s));let c=[];for(let e=0;e{if(!a.current||!l.current)return;let t=s/4*e.clock.elapsedTime%1;a.current.scale.setScalar(.4+t*(o-.4)),l.current.opacity=.72*Math.sin((1-t)*Math.PI)}),(0,t.jsxs)("mesh",{ref:a,position:[e.x,.03,e.z],rotation:[-Math.PI/2,0,0],children:[(0,t.jsx)("ringGeometry",{args:[.22,.28,24]}),(0,t.jsx)("meshBasicMaterial",{ref:l,color:n,transparent:!0,opacity:0,depthWrite:!1,blending:m.AdditiveBlending})]})}),S=new m.Vector3,b=new m.Vector3,A=r.default.memo(function({progress:e,chaoticCurves:n}){let o=4*n.length,s=(0,r.useRef)([]),a=(0,r.useRef)([]),c=(0,r.useMemo)(()=>Array.from({length:o},(e,t)=>p(13*t+3)),[o]),h=(0,r.useMemo)(()=>Array.from({length:2*n.length},(e,t)=>t%2/2),[n.length]);return(0,i.useFrame)(t=>{let r=1-u(.48,.6,e.current??0),i=r>.01;if(s.current.forEach(e=>{e&&(e.visible=i)}),a.current.forEach(e=>{e&&(e.visible=i)}),!i)return;let l=t.clock.elapsedTime;for(let e=0;e{let t=e.material;t&&"opacity"in t&&(t.opacity=.5*r*Math.sin(o*Math.PI))})}}),(0,t.jsxs)("group",{children:[Array.from({length:o}).map((e,r)=>(0,t.jsxs)("mesh",{ref:e=>{s.current[r]=e},visible:!1,children:[(0,t.jsx)("sphereGeometry",{args:[.06,6,6]}),(0,t.jsx)("meshBasicMaterial",{color:l.COLORS.red,transparent:!0,opacity:0,depthWrite:!1,blending:m.AdditiveBlending})]},`cp-${r}`)),Array.from({length:2*n.length}).map((e,r)=>(0,t.jsx)("group",{ref:e=>{a.current[r]=e},visible:!1,children:(0,t.jsxs)("mesh",{rotation:[Math.PI/2,0,0],children:[(0,t.jsx)("coneGeometry",{args:[.06,.16,4]}),(0,t.jsx)("meshBasicMaterial",{color:l.COLORS.red,transparent:!0,opacity:0,depthWrite:!1,blending:m.AdditiveBlending})]})},`cc-${r}`))]})}),B=new m.Vector3,C=new m.Vector3,L=r.default.memo(function({progress:e,optimizedCurves:n}){let o=6*n.length,s=(0,r.useRef)([]),a=(0,r.useRef)([]),c=(0,r.useRef)([]),h=(0,r.useMemo)(()=>Array.from({length:o},(e,t)=>p(17*t+4)),[o]),d=(0,r.useMemo)(()=>Array.from({length:3*n.length},(e,t)=>t%3/3),[n.length]);return(0,i.useFrame)(t=>{let r=u(.52,.7,e.current??0),i=r>.01;if(s.current.forEach(e=>{e&&(e.visible=i)}),a.current.forEach(e=>{e&&(e.visible=i)}),c.current.forEach(e=>{e&&(e.visible=i)}),!i)return;let l=t.clock.elapsedTime;for(let e=0;e{let t=e.material;t&&"opacity"in t&&(t.opacity=.85*r*Math.sin(o*Math.PI))})}for(let e=0;e{let n=Math.floor(r/6)%2==0?l.COLORS.cyan:l.COLORS.green;return(0,t.jsxs)("mesh",{ref:e=>{s.current[r]=e},visible:!1,children:[(0,t.jsx)("sphereGeometry",{args:[.05,8,8]}),(0,t.jsx)("meshBasicMaterial",{color:n,transparent:!0,opacity:0,depthWrite:!1,blending:m.AdditiveBlending})]},`op-${r}`)}),Array.from({length:3*n.length}).map((e,r)=>{let n=Math.floor(r/3)%2==0?l.COLORS.cyan:l.COLORS.green;return(0,t.jsx)("group",{ref:e=>{a.current[r]=e},visible:!1,children:(0,t.jsxs)("mesh",{rotation:[Math.PI/2,0,0],children:[(0,t.jsx)("coneGeometry",{args:[.07,.2,4]}),(0,t.jsx)("meshBasicMaterial",{color:n,transparent:!0,opacity:0,depthWrite:!1,blending:m.AdditiveBlending})]})},`oc-${r}`)}),n.map((e,r)=>{let n=r%2==0?l.COLORS.cyan:l.COLORS.green;return(0,t.jsxs)("mesh",{ref:e=>{c.current[r]=e},visible:!1,children:[(0,t.jsx)("sphereGeometry",{args:[.07,12,12]}),(0,t.jsx)("meshBasicMaterial",{color:n,transparent:!0,opacity:0,depthWrite:!1,blending:m.AdditiveBlending})]},`pulse-${r}`)})]})}),w=r.default.memo(function({progress:e,reduced:n=!1,isMobile:o=!1}){let{chaotic:s,optimized:a,chaosNodes:c,optimizedNodes:h}=(0,r.useMemo)(()=>O(),[]),p=(0,r.useRef)([]),d=(0,r.useRef)([]),f=(0,r.useRef)(null),g=(0,r.useRef)(null),x=(e,t)=>{if(!e.index)return;let r=Math.max(0,36*Math.floor(e.index.count*t/36));e.setDrawRange(0,r)};return(0,i.useFrame)(t=>{let r=e.current??0,n=t.clock.elapsedTime,i=1-u(.4,.56,r),o=(1-u(.38,.55,r))*.85,s=.7+.18*Math.sin(7*n);for(let e of p.current)e?.geo&&(x(e.geo,i),e.mat&&(e.mat.opacity=o*s));let a=u(.55,.74,r),l=u(.55,.66,r);for(let e=0;e(0,t.jsxs)("mesh",{frustumCulled:!1,children:[(0,t.jsx)("tubeGeometry",{ref:e=>{e&&(p.current[r]={...p.current[r]??{},geo:e})},args:[e.curve,120,.08,6,!1]}),(0,t.jsx)("meshBasicMaterial",{ref:e=>{e&&(p.current[r]={...p.current[r]??{},mat:e})},color:l.COLORS.red,transparent:!0,opacity:.85,depthWrite:!1,blending:n?m.NormalBlending:m.AdditiveBlending})]},`c${r}`)),a.map((e,r)=>(0,t.jsxs)("mesh",{frustumCulled:!1,children:[(0,t.jsx)("tubeGeometry",{ref:e=>{e&&(d.current[r]={...d.current[r]??{},geo:e})},args:[e.curve,120,.1,6,!1]}),(0,t.jsx)("meshBasicMaterial",{ref:e=>{e&&(d.current[r]={...d.current[r]??{},mat:e})},color:r%2==0?l.COLORS.cyan:l.COLORS.green,transparent:!0,opacity:0,depthWrite:!1,blending:n?m.NormalBlending:m.AdditiveBlending})]},`o${r}`)),(0,t.jsx)("group",{ref:f,children:c.map((e,r)=>(0,t.jsxs)("group",{children:[(0,t.jsxs)("mesh",{position:e,children:[(0,t.jsx)("sphereGeometry",{args:[.18,12,12]}),(0,t.jsx)("meshBasicMaterial",{color:l.COLORS.red,transparent:!0,opacity:.9,blending:m.AdditiveBlending})]}),(0,t.jsx)(R,{position:e,color:l.COLORS.red})]},`cn-group-${r}`))}),(0,t.jsx)("group",{ref:g,scale:1e-4,children:h.map((e,r)=>(0,t.jsxs)("group",{children:[(0,t.jsxs)("mesh",{position:e,children:[(0,t.jsx)("sphereGeometry",{args:[.15,14,14]}),(0,t.jsx)("meshBasicMaterial",{color:l.COLORS.green,transparent:!0,opacity:.95,blending:m.AdditiveBlending})]}),(0,t.jsx)(R,{position:e,color:l.COLORS.green,maxScale:1.8,pulseSpeed:3})]},`on-group-${r}`))}),!o&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(A,{progress:e,chaoticCurves:s.map(e=>e.curve)}),(0,t.jsx)(L,{progress:e,optimizedCurves:a.map(e=>e.curve)})]})]})}),P=new m.Vector3,G=new m.Vector3,E=new m.Vector3,T=r.default.memo(function({texture:e,tint:r,width:n,aspect:i}){let o=n/i;return(0,t.jsxs)("mesh",{position:[0,o/2.4,0],children:[(0,t.jsx)("planeGeometry",{args:[n,o]}),(0,t.jsx)("meshBasicMaterial",{map:e,color:r,transparent:!0,depthWrite:!1,side:m.DoubleSide,toneMapped:!1})]})}),k=new m.Vector3(0,.5,0),z=r.default.memo(function({progress:e,reduced:n=!1}){let{chaotic:o,optimized:s}=(0,r.useMemo)(()=>O(),[]),a=["truck","van","bike"],c=(0,r.useMemo)(()=>Array.from({length:7},(e,t)=>({curve:o[t%o.length].curve,type:a[t%3],speed:.018+.03*p(5*t+1),offset:p(5*t+2),color:l.COLORS.red,nodes:o[t%o.length].nodes||[]})),[o]),h=(0,r.useMemo)(()=>Array.from({length:5},(e,t)=>({curve:s[t%s.length].curve,type:a[t%3],speed:.05+.025*p(7*t+1),offset:p(7*t+2),color:t%2==0?l.COLORS.cyan:l.COLORS.green,nodes:s[t%s.length].nodes||[]})),[s]),d=(0,r.useRef)([]),f=(0,r.useRef)([]),g=(0,r.useRef)([]),x=(0,r.useMemo)(()=>{let e=new m.TextureLoader().load("/images/truck.png");return e.colorSpace=m.SRGBColorSpace,e.anisotropy=8,e},[]),y=1080/948,j=(0,r.useRef)([]),M=(0,r.useRef)([]),v=(e,t,r,n,i,o)=>{if(!e||!t?.curve)return;let s=o>.02;if(e.visible=s,!s)return;let a=r[n];(void 0===a||Number.isNaN(a))&&(a=r[n]=t.offset??0),t.curve.getPointAt(a,P);let l=P.distanceTo(k);t.nodes&&t.nodes.length>0&&t.nodes.forEach(e=>{let t=P.distanceTo(e);t{let t=e.material;t&&"opacity"in t&&(t.opacity=o*R(e))})},R=e=>{let t=e.material;return!t||t.map||t.wireframe||t.color&&0xffffff===t.color.getHex()||t.color&&0xef4444===t.color.getHex()?1:.2};return(0,i.useFrame)((t,r)=>{j.current.length!==c.length&&(j.current=c.map(e=>e.offset)),M.current.length!==h.length&&(M.current=h.map(e=>e.offset));let n=e.current??0,i=t.clock.elapsedTime,o=Math.min(.06,r),s=u(.1,.22,n)*(1-u(.7,.82,n))*(.85+.1*Math.sin(6*i)),a=u(.68,.82,n),l=t.camera;for(let e=0;e(0,t.jsx)("group",{ref:e=>{d.current[r]=e},children:(0,t.jsx)(T,{texture:x,tint:"#ff5a5a",width:1.61,aspect:y})},`cv${r}`)),h.map((e,r)=>(0,t.jsx)("group",{visible:!1,ref:e=>{f.current[r]=e},children:(0,t.jsx)(T,{texture:x,tint:"#d7dce4",width:1.75,aspect:y})},`ov${r}`)),h.map((e,r)=>Array.from({length:16},(i,o)=>(0,t.jsxs)("mesh",{visible:!1,ref:e=>{g.current[16*r+o]=e},children:[(0,t.jsx)("sphereGeometry",{args:[.1,8,8]}),(0,t.jsx)("meshBasicMaterial",{color:e.color,transparent:!0,opacity:0,depthWrite:!1,blending:n?m.NormalBlending:m.AdditiveBlending})]},`ot-${r}-${o}`)))]})}),V=r.default.memo(function({offset:e,index:n,progress:o,color:s}){let a=(0,r.useRef)(null),l=(0,r.useRef)(null),c=(0,r.useRef)([]),h=(0,r.useMemo)(()=>Array.from({length:3},(e,t)=>t/3),[]);(0,i.useFrame)(t=>{let r=o.current??0,i=t.clock.elapsedTime,s=u(.2,.4,r)*(1-u(.72,.85,r)),m=s>.01;a.current&&(a.current.visible=m),l.current&&m&&(l.current.opacity=s*(.15+.08*Math.sin(12*i+n))),c.current.forEach((t,r)=>{if(!t||(t.visible=m,!m))return;let o=.8+.4*p(5*n+r),a=(h[r]+o/3*i)%1;t.position.copy(e).multiplyScalar(a),t.material.opacity=s*Math.sin(a*Math.PI)*.8;let l=.04+.015*Math.sin(8*i+r);t.scale.setScalar(l/.06)})});let d=(0,r.useMemo)(()=>{let t=new m.BufferGeometry,r=new Float32Array([0,0,0,e.x,e.y,e.z]);return t.setAttribute("position",new m.BufferAttribute(r,3)),t},[e]);return(0,t.jsxs)("group",{children:[(0,t.jsx)("lineSegments",{ref:a,geometry:d,children:(0,t.jsx)("lineBasicMaterial",{ref:l,color:s,transparent:!0,opacity:0,depthWrite:!1,blending:m.AdditiveBlending})}),Array.from({length:3}).map((e,r)=>(0,t.jsxs)("mesh",{ref:e=>{c.current[r]=e},visible:!1,children:[(0,t.jsx)("sphereGeometry",{args:[.06,8,8]}),(0,t.jsx)("meshBasicMaterial",{color:s,transparent:!0,opacity:0,depthWrite:!1,blending:m.AdditiveBlending})]},r))]})}),I=r.default.memo(function({progress:e}){let n=(0,r.useRef)(null),o=(0,r.useMemo)(()=>Array.from({length:5},(e,t)=>{let r=t/5*Math.PI*2+.3,n=7+3*p(7*t+1),i=Math.cos(r)*n,o=Math.sin(r)*n;return new m.Vector3(i,-3.3,o)}),[]);return(0,i.useFrame)(e=>{let t=e.clock.elapsedTime;n.current&&(n.current.position.y=3.4+.12*Math.sin(.8*t))}),(0,t.jsxs)("group",{ref:n,position:[0,3.4,0],children:[(0,t.jsxs)("mesh",{children:[(0,t.jsx)("sphereGeometry",{args:[.06,12,12]}),(0,t.jsx)("meshBasicMaterial",{color:l.COLORS.green,blending:m.AdditiveBlending})]}),o.map((r,n)=>(0,t.jsx)(V,{offset:r,index:n,progress:e,color:n%2==0?l.COLORS.cyan:l.COLORS.green},`calc-beam-${n}`))]})}),$={radiusStart:17,radiusEnd:13,heightStart:9,heightEnd:6.5,lookAtY:2.4,fov:50},W={radiusStart:19,radiusEnd:15,heightStart:9.5,heightEnd:7,lookAtY:2.6,fov:54},F={radiusStart:22,radiusEnd:18,heightStart:11,heightEnd:8,lookAtY:3,fov:62};function N({progress:e,framing:t}){let n=(0,r.useRef)(0),s=(0,o.useThree)(e=>e.camera);return(0,r.useEffect)(()=>{"fov"in s&&(s.fov=t.fov,s.updateProjectionMatrix())},[s,t.fov]),(0,i.useFrame)((r,i)=>{let o=e.current??0;n.current=h(n.current,o,1.5,i);let s=n.current,a=r.clock.elapsedTime,l=c(t.radiusStart,t.radiusEnd,s),u=c(-.5,.45,s)+.02*a,p=c(t.heightStart,t.heightEnd,s)+.3*Math.sin(.4*a),m=r.camera;m.position.x=Math.sin(u)*l,m.position.z=Math.cos(u)*l,m.position.y=p,m.lookAt(0,t.lookAtY,0)}),null}let Y=r.default.memo(function({progress:e,reduced:r=!1,isMobile:i=!1,isTablet:o=!1,active:c=!0}){let u=i?F:o?W:$;return(0,t.jsxs)(n.Canvas,{flat:!0,dpr:[1,i||r?1.25:1.5],camera:{position:[0,u.heightStart,u.radiusStart],fov:u.fov,near:.1,far:120},gl:{antialias:!i,powerPreference:"high-performance",alpha:!1},frameloop:c?"always":"never",children:[(0,t.jsx)("color",{attach:"background",args:[l.COLORS.bg]}),(0,t.jsx)("fog",{attach:"fog",args:[l.COLORS.bg,18,52]}),(0,t.jsx)("ambientLight",{intensity:.6}),(0,t.jsx)(N,{progress:e,framing:u}),(0,t.jsx)(y,{progress:e,count:i?48:90,reduced:r}),(0,t.jsx)(w,{progress:e,reduced:r,isMobile:i}),(0,t.jsx)(z,{progress:e,reduced:r}),(0,t.jsx)(I,{progress:e,reduced:r}),!r&&(0,t.jsx)(s.EffectComposer,{multisampling:2*!i,children:(0,t.jsx)(s.Bloom,{mipmapBlur:!0,intensity:i?.5:1,luminanceThreshold:.15,luminanceSmoothing:.04,radius:i?.55:.75,kernelSize:a.KernelSize.MEDIUM})})]})});e.s(["default",0,Y],64083)},29539,e=>{e.n(e.i(64083))}]); \ No newline at end of file diff --git a/build/_next/static/chunks/0t48hzs_6fshe.css b/build/_next/static/chunks/0t48hzs_6fshe.css new file mode 100644 index 0000000..9462fde --- /dev/null +++ b/build/_next/static/chunks/0t48hzs_6fshe.css @@ -0,0 +1 @@ +.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(../media/layers.1220hx8ja1.sy.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(../media/layers-2x.0olxl6i2vnf_c.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(../media/marker-icon.0i9~u_difxrfa.png)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}} diff --git a/build/_next/static/chunks/0w2vl4s.138yn.js b/build/_next/static/chunks/0w2vl4s.138yn.js new file mode 100644 index 0000000..421bf61 --- /dev/null +++ b/build/_next/static/chunks/0w2vl4s.138yn.js @@ -0,0 +1,341 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,56305,t=>{"use strict";let e,i,s;var n,r=t.i(43476),o=t.i(71645);let a=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],l=new Set([...a,"pathRotation"]),h=(t,e,i)=>i>e?e:i"number"==typeof t,parse:parseFloat,transform:t=>t},u={...d,transform:t=>h(0,1,t)},c={...d,default:1},p=t=>Math.round(1e5*t)/1e5,m=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu,f=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,g=(t,e)=>i=>!!("string"==typeof i&&f.test(i)&&i.startsWith(t)||e&&null!=i&&Object.prototype.hasOwnProperty.call(i,e)),y=(t,e,i)=>s=>{if("string"!=typeof s)return s;let[n,r,o,a]=s.match(m);return{[t]:parseFloat(n),[e]:parseFloat(r),[i]:parseFloat(o),alpha:void 0!==a?parseFloat(a):1}},v={...d,transform:t=>Math.round(h(0,255,t))},x={test:g("rgb","red"),parse:y("red","green","blue"),transform:({red:t,green:e,blue:i,alpha:s=1})=>"rgba("+v.transform(t)+", "+v.transform(e)+", "+v.transform(i)+", "+p(u.transform(s))+")"},w={test:g("#"),parse:function(t){let e="",i="",s="",n="";return t.length>5?(e=t.substring(1,3),i=t.substring(3,5),s=t.substring(5,7),n=t.substring(7,9)):(e=t.substring(1,2),i=t.substring(2,3),s=t.substring(3,4),n=t.substring(4,5),e+=e,i+=i,s+=s,n+=n),{red:parseInt(e,16),green:parseInt(i,16),blue:parseInt(s,16),alpha:n?parseInt(n,16)/255:1}},transform:x.transform},b=t=>({test:e=>"string"==typeof e&&e.endsWith(t)&&1===e.split(" ").length,parse:parseFloat,transform:e=>`${e}${t}`}),T=b("deg"),S=b("%"),k=b("px"),P=b("vh"),A=b("vw"),E={...S,parse:t=>S.parse(t)/100,transform:t=>S.transform(100*t)},M={test:g("hsl","hue"),parse:y("hue","saturation","lightness"),transform:({hue:t,saturation:e,lightness:i,alpha:s=1})=>"hsla("+Math.round(t)+", "+S.transform(p(e))+", "+S.transform(p(i))+", "+p(u.transform(s))+")"},C={test:t=>x.test(t)||w.test(t)||M.test(t),parse:t=>x.test(t)?x.parse(t):M.test(t)?M.parse(t):w.parse(t),transform:t=>"string"==typeof t?t:t.hasOwnProperty("red")?x.transform(t):M.transform(t),getAnimatableNone:t=>{let e=C.parse(t);return e.alpha=0,C.transform(e)}},V=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu,j="number",R="color",D=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function L(t){let e=t.toString(),i=[],s={color:[],number:[],var:[]},n=[],r=0,o=e.replace(D,t=>(C.test(t)?(s.color.push(r),n.push(R),i.push(C.parse(t))):t.startsWith("var(")?(s.var.push(r),n.push("var"),i.push(t)):(s.number.push(r),n.push(j),i.push(parseFloat(t))),++r,"${}")).split("${}");return{values:i,split:o,indexes:s,types:n}}function _({split:t,types:e}){let i=t.length;return s=>{let n="";for(let r=0;r0},parse:function(t){return L(t).values},createTransformer:function(t){return _(L(t))},getAnimatableNone:function(t){let e=L(t);return _(e)(e.values.map((t,i)=>((t,e)=>"number"==typeof t?e?.trim().endsWith("/")?t:0:"number"==typeof t?0:C.test(t)?C.getAnimatableNone(t):t)(t,e.split[i])))}},F=new Set(["brightness","contrast","saturate","opacity"]);function N(t){let[e,i]=t.slice(0,-1).split("(");if("drop-shadow"===e)return t;let[s]=i.match(m)||[];if(!s)return t;let n=i.replace(s,""),r=+!!F.has(e);return s!==i&&(r*=100),e+"("+r+n+")"}let I=/\b([a-z-]*)\(.*?\)/gu,O={...B,getAnimatableNone:t=>{let e=t.match(I);return e?e.map(N).join(" "):t}},z={...B,getAnimatableNone:t=>{let e=B.parse(t);return B.createTransformer(t)(e.map(t=>"number"==typeof t?0:"object"==typeof t?{...t,alpha:1}:t))}},U={...d,transform:Math.round},$={borderWidth:k,borderTopWidth:k,borderRightWidth:k,borderBottomWidth:k,borderLeftWidth:k,borderRadius:k,borderTopLeftRadius:k,borderTopRightRadius:k,borderBottomRightRadius:k,borderBottomLeftRadius:k,width:k,maxWidth:k,height:k,maxHeight:k,top:k,right:k,bottom:k,left:k,inset:k,insetBlock:k,insetBlockStart:k,insetBlockEnd:k,insetInline:k,insetInlineStart:k,insetInlineEnd:k,padding:k,paddingTop:k,paddingRight:k,paddingBottom:k,paddingLeft:k,paddingBlock:k,paddingBlockStart:k,paddingBlockEnd:k,paddingInline:k,paddingInlineStart:k,paddingInlineEnd:k,margin:k,marginTop:k,marginRight:k,marginBottom:k,marginLeft:k,marginBlock:k,marginBlockStart:k,marginBlockEnd:k,marginInline:k,marginInlineStart:k,marginInlineEnd:k,fontSize:k,backgroundPositionX:k,backgroundPositionY:k,rotate:T,pathRotation:T,rotateX:T,rotateY:T,rotateZ:T,scale:c,scaleX:c,scaleY:c,scaleZ:c,skew:T,skewX:T,skewY:T,distance:k,translateX:k,translateY:k,translateZ:k,x:k,y:k,z:k,perspective:k,transformPerspective:k,opacity:u,originX:E,originY:E,originZ:k,zIndex:U,fillOpacity:u,strokeOpacity:u,numOctaves:U},W={...$,color:C,backgroundColor:C,outlineColor:C,fill:C,stroke:C,borderColor:C,borderTopColor:C,borderRightColor:C,borderBottomColor:C,borderLeftColor:C,filter:O,WebkitFilter:O,mask:z,WebkitMask:z},H=t=>W[t],Y=()=>({translate:0,scale:1,origin:0,originPoint:0}),X=()=>({x:Y(),y:Y()}),G=()=>({min:0,max:0}),K=()=>({x:G(),y:G()}),q=t=>!!(t&&t.getVelocity),Z=new Set(["width","height","top","left","right","bottom",...a]),J=t=>e=>e.test(t),Q=[d,k,S,T,A,P,{test:t=>"auto"===t,parse:t=>t}],tt=t=>Q.find(J(t));var te=t.i(47167);let ti=()=>{},ts=()=>{};te.default;let tn=t=>e=>"string"==typeof e&&e.startsWith(t),tr=tn("--"),to=tn("var(--"),ta=t=>!!to(t)&&tl.test(t.split("/*")[0].trim()),tl=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function th(t){return"string"==typeof t&&t.split("/*")[0].includes("var(--")}let td=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u,tu=t=>180*t/Math.PI,tc=t=>tm(tu(Math.atan2(t[1],t[0]))),tp={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:t=>(Math.abs(t[0])+Math.abs(t[3]))/2,rotate:tc,rotateZ:tc,skewX:t=>tu(Math.atan(t[1])),skewY:t=>tu(Math.atan(t[2])),skew:t=>(Math.abs(t[1])+Math.abs(t[2]))/2},tm=t=>((t%=360)<0&&(t+=360),t),tf=t=>Math.sqrt(t[0]*t[0]+t[1]*t[1]),tg=t=>Math.sqrt(t[4]*t[4]+t[5]*t[5]),ty={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:tf,scaleY:tg,scale:t=>(tf(t)+tg(t))/2,rotateX:t=>tm(tu(Math.atan2(t[6],t[5]))),rotateY:t=>tm(tu(Math.atan2(-t[2],t[0]))),rotateZ:tc,rotate:tc,skewX:t=>tu(Math.atan(t[4])),skewY:t=>tu(Math.atan(t[1])),skew:t=>(Math.abs(t[1])+Math.abs(t[4]))/2};function tv(t){return+!!t.includes("scale")}function tx(t,e){let i,s;if(!t||"none"===t)return tv(e);let n=t.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);if(n)i=ty,s=n;else{let e=t.match(/^matrix\(([-\d.e\s,]+)\)$/u);i=tp,s=e}if(!s)return tv(e);let r=i[e],o=s[1].split(",").map(tw);return"function"==typeof r?r(o):o[r]}function tw(t){return parseFloat(t.trim())}let tb=t=>t===d||t===k,tT=new Set(["x","y","z"]),tS=a.filter(t=>!tT.has(t)),tk={width:({x:t},{paddingLeft:e="0",paddingRight:i="0",boxSizing:s})=>{let n=t.max-t.min;return"border-box"===s?n:n-parseFloat(e)-parseFloat(i)},height:({y:t},{paddingTop:e="0",paddingBottom:i="0",boxSizing:s})=>{let n=t.max-t.min;return"border-box"===s?n:n-parseFloat(e)-parseFloat(i)},top:(t,{top:e})=>parseFloat(e),left:(t,{left:e})=>parseFloat(e),bottom:({y:t},{top:e})=>parseFloat(e)+(t.max-t.min),right:({x:t},{left:e})=>parseFloat(e)+(t.max-t.min),x:(t,{transform:e})=>tx(e,"x"),y:(t,{transform:e})=>tx(e,"y")};tk.translateX=tk.x,tk.translateY=tk.y;let tP=t=>t,tA={},tE=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function tM(t,e){let i=!1,s=!0,n={delta:0,timestamp:0,isProcessing:!1},r=()=>i=!0,o=tE.reduce((t,i)=>(t[i]=function(t,e){let i=new Set,s=new Set,n=!1,r=!1,o=new WeakSet,a={delta:0,timestamp:0,isProcessing:!1},l=0;function h(e){o.has(e)&&(d.schedule(e),t()),l++,e(a)}let d={schedule:(t,e=!1,r=!1)=>{let a=r&&n?i:s;return e&&o.add(t),a.add(t),t},cancel:t=>{s.delete(t),o.delete(t)},process:t=>{if(a=t,n){r=!0;return}n=!0;let o=i;i=s,s=o,i.forEach(h),e,l=0,i.clear(),n=!1,r&&(r=!1,d.process(t))}};return d}(r,e?i:void 0),t),{}),{setup:a,read:l,resolveKeyframes:h,preUpdate:d,update:u,preRender:c,render:p,postRender:m}=o,f=()=>{let r=tA.useManualTiming,o=r?n.timestamp:performance.now();i=!1,r||(n.delta=s?1e3/60:Math.max(Math.min(o-n.timestamp,40),1)),n.timestamp=o,n.isProcessing=!0,a.process(n),l.process(n),h.process(n),d.process(n),u.process(n),c.process(n),p.process(n),m.process(n),n.isProcessing=!1,i&&e&&(s=!1,t(f))};return{schedule:tE.reduce((e,r)=>{let a=o[r];return e[r]=(e,r=!1,o=!1)=>(!i&&(i=!0,s=!0,n.isProcessing||t(f)),a.schedule(e,r,o)),e},{}),cancel:t=>{for(let e=0;etypeof requestAnimationFrame?requestAnimationFrame:tP,!0),tD=new Set,tL=!1,t_=!1,tB=!1;function tF(){if(t_){let t=Array.from(tD).filter(t=>t.needsMeasurement),e=new Set(t.map(t=>t.element)),i=new Map;e.forEach(t=>{let e,s=(e=[],tS.forEach(i=>{let s=t.getValue(i);void 0!==s&&(e.push([i,s.get()]),s.set(+!!i.startsWith("scale")))}),e);s.length&&(i.set(t,s),t.render())}),t.forEach(t=>t.measureInitialState()),e.forEach(t=>{t.render();let e=i.get(t);e&&e.forEach(([e,i])=>{t.getValue(e)?.set(i)})}),t.forEach(t=>t.measureEndState()),t.forEach(t=>{void 0!==t.suspendedScrollY&&window.scrollTo(0,t.suspendedScrollY)})}t_=!1,tL=!1,tD.forEach(t=>t.complete(tB)),tD.clear()}function tN(){tD.forEach(t=>{t.readKeyframes(),t.needsMeasurement&&(t_=!0)})}class tI{constructor(t,e,i,s,n,r=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=e,this.name=i,this.motionValue=s,this.element=n,this.isAsync=r}scheduleResolve(){this.state="scheduled",this.isAsync?(tD.add(this),tL||(tL=!0,tC.read(tN),tC.resolveKeyframes(tF))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:t,name:e,element:i,motionValue:s}=this;if(null===t[0]){let n=s?.get(),r=t[t.length-1];if(void 0!==n)t[0]=n;else if(i&&e){let s=i.readValue(e,r);null!=s&&(t[0]=s)}void 0===t[0]&&(t[0]=r),s&&void 0===n&&s.set(t[0])}for(let e=1;e{t.getValue(e).set(i)}),this.resolveNoneKeyframes()}}let tW=t=>1e3*t;function tH(t,e){-1===t.indexOf(e)&&t.push(e)}function tY(t,e){let i=t.indexOf(e);i>-1&&t.splice(i,1)}class tX{constructor(){this.subscriptions=[]}add(t){return tH(this.subscriptions,t),()=>tY(this.subscriptions,t)}notify(t,e,i){let s=this.subscriptions.length;if(s)if(1===s)this.subscriptions[0](t,e,i);else for(let n=0;n(void 0===e&&(e=t()),e)}let tq={};function tZ(t,e){let i=tK(t);return()=>tq[e]??i()}let tJ=tZ(()=>void 0!==window.ScrollTimeline,"scrollTimeline"),tQ=t=>null!==t;function t0(t,{repeat:e,repeatType:i="loop"},s,n=1){let r=t.filter(tQ),o=n<0||e&&"loop"!==i&&e%2==1?0:r.length-1;return o&&void 0!==s?s:r[o]}class t1{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(t=>{this.resolve=t})}notifyFinished(){this.resolve()}then(t,e){return this.finished.then(t,e)}}let t2={layout:0,mainThread:0,waapi:0},t5=t=>Array.isArray(t)&&"number"==typeof t[0],t3=tZ(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch(t){return!1}return!0},"linearEasing"),t4=(t,e,i=10)=>{let s="",n=Math.max(Math.round(e/i),2);for(let e=0;e`cubic-bezier(${t}, ${e}, ${i}, ${s})`,t8={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:t6([0,.65,.55,1]),circOut:t6([.55,0,1,.45]),backIn:t6([.31,.01,.66,-.59]),backOut:t6([.33,1.53,.69,.99])};function t9(t){return"function"==typeof t&&"applyToOptions"in t}class t7 extends t1{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!t)return;const{element:e,name:i,keyframes:s,pseudoElement:n,allowFlatten:r=!1,finalKeyframe:o,onComplete:a}=t;this.isPseudoElement=!!n,this.allowFlatten=r,this.options=t,ts("string"!=typeof t.type,'Mini animate() doesn\'t support "type" as a string.',"mini-spring");const l=function({type:t,...e}){return t9(t)&&t3()?t.applyToOptions(e):(e.duration??(e.duration=300),e.ease??(e.ease="easeOut"),e)}(t);this.animation=function(t,e,i,{delay:s=0,duration:n=300,repeat:r=0,repeatType:o="loop",ease:a="easeOut",times:l}={},h){let d={[e]:i};l&&(d.offset=l);let u=function t(e,i){if(e)return"function"==typeof e?t3()?t4(e,i):"ease-out":t5(e)?t6(e):Array.isArray(e)?e.map(e=>t(e,i)||t8.easeOut):t8[e]}(a,n);Array.isArray(u)&&(d.easing=u);let c={delay:s,duration:n,easing:Array.isArray(u)?"linear":u,fill:"both",iterations:r+1,direction:"reverse"===o?"alternate":"normal"};h&&(c.pseudoElement=h);let p=t.animate(d,c);return p}(e,i,s,l,n),!1===l.autoplay&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!n){let t=t0(s,this.options,o,this.speed);this.updateMotionValue&&this.updateMotionValue(t),tG(e,i,t),this.animation.cancel()}a?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),"finished"===this.state&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch(t){}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:t}=this;"idle"!==t&&"finished"!==t&&(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){let t=this.options?.element;!this.isPseudoElement&&t?.isConnected&&this.animation.commitStyles?.()}get duration(){return Number(this.animation.effect?.getComputedTiming?.().duration||0)/1e3}get iterationDuration(){let{delay:t=0}=this.options||{};return this.duration+t/1e3}get time(){return(Number(this.animation.currentTime)||0)/1e3}set time(t){let e=null!==this.finishedTime;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=tW(t),e&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return null!==this.finishedTime?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(t){this.manualStartTime=this.animation.startTime=t}attachTimeline({timeline:t,rangeStart:e,rangeEnd:i,observe:s}){return(this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,t&&tJ())?(this.animation.timeline=t,e&&(this.animation.rangeStart=e),i&&(this.animation.rangeEnd=i),tP):s(this)}}let et=new Set(["opacity","clipPath","filter","transform"]),{schedule:ee}=tM(queueMicrotask,!1);function ei(){e=void 0}let es={now:()=>(void 0===e&&es.set(tj.isProcessing||tA.useManualTiming?tj.timestamp:performance.now()),e),set:t=>{e=t,queueMicrotask(ei)}},en=(t,e)=>e?1e3/e*t:0,er={current:void 0};class eo{constructor(t,e={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=t=>{let e=es.now();if(this.updatedAt!==e&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(t),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(let t of this.dependents)t.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=e.owner}setCurrent(t){this.current=t,this.updatedAt=es.now(),null===this.canTrackVelocity&&void 0!==t&&(this.canTrackVelocity=!isNaN(parseFloat(this.current)))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return this.on("change",t)}on(t,e){this.events[t]||(this.events[t]=new tX);let i=this.events[t].add(e);return"change"===t?()=>{i(),tC.read(()=>{this.events.change.getSize()||this.stop()})}:i}clearListeners(){for(let t in this.events)this.events[t].clear()}attach(t,e){this.passiveEffect=t,this.stopPassiveEffect=e}set(t){this.passiveEffect?this.passiveEffect(t,this.updateAndNotify):this.updateAndNotify(t)}setWithVelocity(t,e,i){this.set(e),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-i}jump(t,e=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,e&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(t){this.dependents||(this.dependents=new Set),this.dependents.add(t)}removeDependent(t){this.dependents&&this.dependents.delete(t)}get(){return er.current&&er.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let t=es.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||t-this.updatedAt>30)return 0;let e=Math.min(this.updatedAt-this.prevUpdatedAt,30);return en(parseFloat(this.current)-parseFloat(this.prevFrameValue),e)}start(t){return this.stop(),new Promise(e=>{this.hasAnimated=!0,this.animation=t(e),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function ea(t,e){return new eo(t,e)}let el=[...Q,C,B],eh=new WeakMap;function ed(t){return null!==t&&"object"==typeof t&&"function"==typeof t.start}function eu(t){return"string"==typeof t||Array.isArray(t)}let ec=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],ep=["initial",...ec];function em(t){return ed(t.animate)||ep.some(e=>eu(t[e]))}function ef(t){return!!(em(t)||t.variants)}let eg={current:null},ey={current:!1},ev="u">typeof window;function ex(t){let e=[{},{}];return t?.values.forEach((t,i)=>{e[0][i]=t.get(),e[1][i]=t.getVelocity()}),e}function ew(t,e,i,s){if("function"==typeof e){let[n,r]=ex(s);e=e(void 0!==i?i:t.custom,n,r)}if("string"==typeof e&&(e=t.variants&&t.variants[e]),"function"==typeof e){let[n,r]=ex(s);e=e(void 0!==i?i:t.custom,n,r)}return e}let eb=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],eT={};class eS{scrapeMotionValuesFromProps(t,e,i){return{}}constructor({parent:t,props:e,presenceContext:i,reducedMotionConfig:s,skipAnimations:n,blockInitialAnimation:r,visualState:o},a={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=tI,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{let t=es.now();this.renderScheduledAtthis.bindToMotionValue(e,t)),"never"===this.reducedMotionConfig?this.shouldReduceMotion=!1:"always"===this.reducedMotionConfig?this.shouldReduceMotion=!0:(ey.current||function(){if(ey.current=!0,ev)if(window.matchMedia){let t=window.matchMedia("(prefers-reduced-motion)"),e=()=>eg.current=t.matches;t.addEventListener("change",e),e()}else eg.current=!1}(),this.shouldReduceMotion=eg.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){for(let t in this.projection&&this.projection.unmount(),tV(this.notifyUpdate),tV(this.render),this.valueSubscriptions.forEach(t=>t()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this),this.events)this.events[t].clear();for(let t in this.features){let e=this.features[t];e&&(e.unmount(),e.isMounted=!1)}this.current=null}addChild(t){this.children.add(t),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(t)}removeChild(t){this.children.delete(t),this.enteringChildren&&this.enteringChildren.delete(t)}bindToMotionValue(t,e){let i;if(this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)(),e.accelerate&&et.has(t)&&this.current instanceof HTMLElement){let{factory:i,keyframes:s,times:n,ease:r,duration:o}=e.accelerate,a=new t7({element:this.current,name:t,keyframes:s,times:n,ease:r,duration:tW(o)}),l=i(a);this.valueSubscriptions.set(t,()=>{l(),a.cancel()});return}let s=l.has(t);s&&this.onBindTransform&&this.onBindTransform();let n=e.on("change",e=>{this.latestValues[t]=e,this.props.onUpdate&&tC.preRender(this.notifyUpdate),s&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});"u">typeof window&&window.MotionCheckAppearSync&&(i=window.MotionCheckAppearSync(this,t,e)),this.valueSubscriptions.set(t,()=>{n(),i&&i()})}sortNodePosition(t){return this.current&&this.sortInstanceNodePosition&&this.type===t.type?this.sortInstanceNodePosition(this.current,t.current):0}updateFeatures(){let t="animation";for(t in eT){let e=eT[t];if(!e)continue;let{isEnabled:i,Feature:s}=e;if(!this.features[t]&&s&&i(this.props)&&(this.features[t]=new s(this)),this.features[t]){let e=this.features[t];e.isMounted?e.update():(e.mount(),e.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):K()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,e){this.latestValues[t]=e}update(t,e){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=e;for(let e=0;ee.variantChildren.delete(t)}addValue(t,e){let i=this.values.get(t);e!==i&&(i&&this.removeValue(t),this.bindToMotionValue(t,e),this.values.set(t,e),this.latestValues[t]=e.get())}removeValue(t){this.values.delete(t);let e=this.valueSubscriptions.get(t);e&&(e(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,e){if(this.props.values&&this.props.values[t])return this.props.values[t];let i=this.values.get(t);return void 0===i&&void 0!==e&&(i=ea(null===e?void 0:e,{owner:this}),this.addValue(t,i)),i}readValue(t,e){let i=void 0===this.latestValues[t]&&this.current?this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options):this.latestValues[t];if(null!=i){let s,n;if("string"==typeof i&&(s=i,/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(s)||(n=i,/^0[^.\s]+$/u.test(n))))i=parseFloat(i);else{let s;s=i,!el.find(J(s))&&B.test(e)&&(i=tz(t,e))}this.setBaseTarget(t,q(i)?i.get():i)}return q(i)?i.get():i}setBaseTarget(t,e){this.baseTarget[t]=e}getBaseTarget(t){let e,{initial:i}=this.props;if("string"==typeof i||"object"==typeof i){let s=ew(this.props,i,this.presenceContext?.custom);s&&(e=s[t])}if(i&&void 0!==e)return e;let s=this.getBaseTargetFromProps(this.props,t);return void 0===s||q(s)?void 0!==this.initialValues[t]&&void 0===e?void 0:this.baseTarget[t]:s}on(t,e){return this.events[t]||(this.events[t]=new tX),this.events[t].add(e)}notify(t,...e){this.events[t]&&this.events[t].notify(...e)}scheduleRenderMicrotask(){ee.render(this.render)}}class ek extends eS{constructor(){super(...arguments),this.KeyframeResolver=t$}sortInstanceNodePosition(t,e){return 2&t.compareDocumentPosition(e)?1:-1}getBaseTargetFromProps(t,e){let i=t.style;return i?i[e]:void 0}removeValueFromRenderState(t,{vars:e,style:i}){delete e[t],delete i[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);let{children:t}=this.props;q(t)&&(this.childSubscription=t.on("change",t=>{this.current&&(this.current.textContent=`${t}`)}))}}function eP(t){return t.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}let eA=(t,e)=>e&&"number"==typeof t?e.transform(t):t,eE={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},eM=a.length;function eC(t,e,i){let{style:s,vars:n,transformOrigin:r}=t,o=!1,h=!1;for(let t in e){let i=e[t];if(l.has(t)){o=!0;continue}if(tr(t)){n[t]=i;continue}{let e=eA(i,$[t]);t.startsWith("origin")?(h=!0,r[t]=e):s[t]=e}}if(!e.transform&&(o||i?s.transform=function(t,e,i){let s="",n=!0;for(let r=0;r"string"==typeof t&&"svg"===t.toLowerCase();function eB(t,{style:e,vars:i},s,n){let r,o=t.style;for(r in e)o[r]=e[r];for(r in n?.applyProjectionStyles(o,s),i)o.setProperty(r,i[r])}function eF(t,e){return e.max===e.min?0:t/(e.max-e.min)*100}let eN={correct:(t,e)=>{if(!e.target)return t;if("string"==typeof t)if(!k.test(t))return t;else t=parseFloat(t);let i=eF(t,e.target.x),s=eF(t,e.target.y);return`${i}% ${s}%`}},eI=(t,e,i)=>t+(e-t)*i,eO={borderRadius:{...eN,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:eN,borderTopRightRadius:eN,borderBottomLeftRadius:eN,borderBottomRightRadius:eN,boxShadow:{correct:(t,{treeScale:e,projectionDelta:i})=>{let s=B.parse(t);if(s.length>5)return t;let n=B.createTransformer(t),r=+("number"!=typeof s[0]),o=i.x.scale*e.x,a=i.y.scale*e.y;s[0+r]/=o,s[1+r]/=a;let l=eI(o,a,.5);return"number"==typeof s[2+r]&&(s[2+r]/=l),"number"==typeof s[3+r]&&(s[3+r]/=l),n(s)}}};function ez(t,{layout:e,layoutId:i}){return l.has(t)||t.startsWith("origin")||(e||void 0!==i)&&(!!eO[t]||"opacity"===t)}function eU(t,e,i){let s=t.style,n=e?.style,r={};if(!s)return r;for(let e in s)(q(s[e])||n&&q(n[e])||ez(e,t)||i?.getValue(e)?.liveStyle!==void 0)&&(r[e]=s[e]);return r}function e$(t,e,i){let s=eU(t,e,i);for(let i in t)(q(t[i])||q(e[i]))&&(s[-1!==a.indexOf(i)?"attr"+i.charAt(0).toUpperCase()+i.substring(1):i]=t[i]);return s}class eW extends ek{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=K}getBaseTargetFromProps(t,e){return t[e]}readValueFromInstance(t,e){if(l.has(e)){let t=H(e);return t&&t.default||0}return e=eL.has(e)?e:eP(e),t.getAttribute(e)}scrapeMotionValuesFromProps(t,e,i){return e$(t,e,i)}build(t,e,i){eD(t,e,this.isSVGTag,i.transformTemplate,i.style)}renderInstance(t,e,i,s){for(let i in eB(t,e,void 0,s),e.attrs)t.setAttribute(eL.has(i)?i:eP(i),e.attrs[i])}mount(t){this.isSVGTag=e_(t.tagName),super.mount(t)}}function eH({top:t,left:e,right:i,bottom:s}){return{x:{min:e,max:i},y:{min:t,max:s}}}function eY(t){return void 0===t||1===t}function eX({scale:t,scaleX:e,scaleY:i}){return!eY(t)||!eY(e)||!eY(i)}function eG(t){return eX(t)||eK(t)||t.z||t.rotate||t.rotateX||t.rotateY||t.skewX||t.skewY}function eK(t){var e,i;return(e=t.x)&&"0%"!==e||(i=t.y)&&"0%"!==i}function eq(t,e,i,s,n){return void 0!==n&&(t=s+n*(t-s)),s+i*(t-s)+e}function eZ(t,e=0,i=1,s,n){t.min=eq(t.min,e,i,s,n),t.max=eq(t.max,e,i,s,n)}function eJ(t,{x:e,y:i}){eZ(t.x,e.translate,e.scale,e.originPoint),eZ(t.y,i.translate,i.scale,i.originPoint)}function eQ(t,e){t.min+=e,t.max+=e}function e0(t,e,i,s,n=.5){let r=eI(t.min,t.max,n);eZ(t,e,i,r,s)}function e1(t,e){return"string"==typeof t?parseFloat(t)/100*(e.max-e.min):t}function e2(t,e,i){let s=i??t;e0(t.x,e1(e.x,s.x),e.scaleX,e.scale,e.originX),e0(t.y,e1(e.y,s.y),e.scaleY,e.scale,e.originY)}function e5(t,e){return eH(function(t,e){if(!e)return t;let i=e({x:t.left,y:t.top}),s=e({x:t.right,y:t.bottom});return{top:i.y,left:i.x,bottom:s.y,right:s.x}}(t.getBoundingClientRect(),e))}class e3 extends ek{constructor(){super(...arguments),this.type="html",this.renderInstance=eB}readValueFromInstance(t,e){if(l.has(e))return this.projection?.isProjecting?tv(e):((t,e)=>{let{transform:i="none"}=getComputedStyle(t);return tx(i,e)})(t,e);{let i=window.getComputedStyle(t),s=(tr(e)?i.getPropertyValue(e):i[e])||0;return"string"==typeof s?s.trim():s}}measureInstanceViewportBox(t,{transformPagePoint:e}){return e5(t,e)}build(t,e,i){eC(t,e,i.transformTemplate)}scrapeMotionValuesFromProps(t,e,i){return eU(t,e,i)}}let e4=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function e6(t){if("string"!=typeof t||t.includes("-"));else if(e4.indexOf(t)>-1||/[A-Z]/u.test(t))return!0;return!1}let e8=(0,o.createContext)({}),e9=(0,o.createContext)({strict:!1}),e7=(0,o.createContext)({transformPagePoint:t=>t,isStatic:!1,reducedMotion:"never"}),it=(0,o.createContext)({});function ie(t){return Array.isArray(t)?t.join(" "):t}let ii=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function is(t,e,i){for(let s in e)q(e[s])||ez(s,i)||(t[s]=e[s])}let ir=()=>({...ii(),attrs:{}}),io=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function ia(t){return t.startsWith("while")||t.startsWith("drag")&&"draggable"!==t||t.startsWith("layout")||t.startsWith("onTap")||t.startsWith("onPan")||t.startsWith("onLayout")||io.has(t)}let il=t=>!ia(t);try{n=(()=>{let t=Error("Cannot find module '@emotion/is-prop-valid'");throw t.code="MODULE_NOT_FOUND",t})().default,"function"==typeof n&&(il=t=>t.startsWith("on")?!ia(t):n(t))}catch{}function ih(t){return q(t)?t.get():t}let id=(0,o.createContext)(null);function iu(t){let e=(0,o.useRef)(null);return null===e.current&&(e.current=t()),e.current}let ic=t=>(e,i)=>{let s=(0,o.useContext)(it),n=(0,o.useContext)(id),r=()=>(function({scrapeMotionValuesFromProps:t,createRenderState:e},i,s,n){return{latestValues:function(t,e,i,s){let n={},r=s(t,{});for(let t in r)n[t]=ih(r[t]);let{initial:o,animate:a}=t,l=em(t),h=ef(t);e&&h&&!l&&!1!==t.inherit&&(void 0===o&&(o=e.initial),void 0===a&&(a=e.animate));let d=!!i&&!1===i.initial,u=(d=d||!1===o)?a:o;if(u&&"boolean"!=typeof u&&!ed(u)){let e=Array.isArray(u)?u:[u];for(let i=0;iig[e].some(e=>!!t[e])};eT=t,iy=!0}(),eT}let ix=Symbol.for("motionComponentSymbol"),iw="data-"+eP("framerAppearId"),ib=(0,o.createContext)({});function iT(t){return t&&"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,"current")}let iS="u">typeof window?o.useLayoutEffect:o.useEffect;function ik(t,{forwardMotionProps:e=!1,type:i}={},s,n){s&&function(t){let e=iv();for(let i in t)e[i]={...e[i],...t[i]};eT=e}(s);let a=i?"svg"===i:e6(t),l=a?im:ip;function h(i,s){var h;let d,u,c,p={...(0,o.useContext)(e7),...i,layoutId:function({layoutId:t}){let e=(0,o.useContext)(e8).id;return e&&void 0!==t?e+"-"+t:t}(i)},{isStatic:m}=p,f=function(t){let{initial:e,animate:i}=function(t,e){if(em(t)){let{initial:e,animate:i}=t;return{initial:!1===e||eu(e)?e:void 0,animate:eu(i)?i:void 0}}return!1!==t.inherit?e:{}}(t,(0,o.useContext)(it));return(0,o.useMemo)(()=>({initial:e,animate:i}),[ie(e),ie(i)])}(i),g=l(i,m);if(!m&&"u">typeof window){(0,o.useContext)(e9).strict;let e=function(t){let{drag:e,layout:i}=iv();if(!e&&!i)return{};let s={...e,...i};return{MeasureLayout:e?.isEnabled(t)||i?.isEnabled(t)?s.MeasureLayout:void 0,ProjectionNode:s.ProjectionNode}}(p);d=e.MeasureLayout,f.visualElement=function(t,e,i,s,n,r){let{visualElement:a}=(0,o.useContext)(it),l=(0,o.useContext)(e9),h=(0,o.useContext)(id),d=(0,o.useContext)(e7),u=d.reducedMotion,c=d.skipAnimations,p=(0,o.useRef)(null),m=(0,o.useRef)(!1);s=s||l.renderer,!p.current&&s&&(p.current=s(t,{visualState:e,parent:a,props:i,presenceContext:h,blockInitialAnimation:!!h&&!1===h.initial,reducedMotionConfig:u,skipAnimations:c,isSVG:r}),m.current&&p.current&&(p.current.manuallyAnimateOnMount=!0));let f=p.current,g=(0,o.useContext)(ib);f&&!f.projection&&n&&("html"===f.type||"svg"===f.type)&&function(t,e,i,s){let{layoutId:n,layout:r,drag:o,dragConstraints:a,layoutScroll:l,layoutRoot:h,layoutAnchor:d,layoutCrossfade:u}=e;t.projection=new i(t.latestValues,e["data-framer-portal-id"]?void 0:function t(e){if(e)return!1!==e.options.allowProjection?e.projection:t(e.parent)}(t.parent)),t.projection.setOptions({layoutId:n,layout:r,alwaysMeasureLayout:!!o||a&&iT(a),visualElement:t,animationType:"string"==typeof r?r:"both",initialPromotionConfig:s,crossfade:u,layoutScroll:l,layoutRoot:h,layoutAnchor:d})}(p.current,i,n,g);let y=(0,o.useRef)(!1);(0,o.useInsertionEffect)(()=>{f&&y.current&&f.update(i,h)});let v=i[iw],x=(0,o.useRef)(!!v&&"u">typeof window&&!window.MotionHandoffIsComplete?.(v)&&window.MotionHasOptimisedAnimation?.(v));return iS(()=>{m.current=!0,f&&(y.current=!0,window.MotionIsMounted=!0,f.updateFeatures(),f.scheduleRenderMicrotask(),x.current&&f.animationState&&f.animationState.animateChanges())}),(0,o.useEffect)(()=>{f&&(!x.current&&f.animationState&&f.animationState.animateChanges(),x.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(v)}),x.current=!1),f.enteringChildren=void 0)}),f}(t,g,p,n,e.ProjectionNode,a)}return(0,r.jsxs)(it.Provider,{value:f,children:[d&&f.visualElement?(0,r.jsx)(d,{visualElement:f.visualElement,...p}):null,function(t,e,i,{latestValues:s},n,r=!1,a){let l=(a??e6(t)?function(t,e,i,s){let n=(0,o.useMemo)(()=>{let i=ir();return eD(i,e,e_(s),t.transformTemplate,t.style),{...i.attrs,style:{...i.style}}},[e]);if(t.style){let e={};is(e,t.style,t),n.style={...e,...n.style}}return n}:function(t,e){let i,s,n={},r=(i=t.style||{},is(s={},i,t),Object.assign(s,function({transformTemplate:t},e){return(0,o.useMemo)(()=>{let i=ii();return eC(i,e,t),Object.assign({},i.vars,i.style)},[e])}(t,e)),s);return t.drag&&!1!==t.dragListener&&(n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout="none",r.touchAction=!0===t.drag?"none":`pan-${"x"===t.drag?"y":"x"}`),void 0===t.tabIndex&&(t.onTap||t.onTapStart||t.whileTap)&&(n.tabIndex=0),n.style=r,n})(e,s,n,t),h=function(t,e,i){let s={};for(let n in t)("values"!==n||"object"!=typeof t.values)&&!q(t[n])&&(il(n)||!0===i&&ia(n)||!e&&!ia(n)||t.draggable&&n.startsWith("onDrag"))&&(s[n]=t[n]);return s}(e,"string"==typeof t,r),d=t!==o.Fragment?{...h,...l,ref:i}:{},{children:u}=e,c=(0,o.useMemo)(()=>q(u)?u.get():u,[u]);return(0,o.createElement)(t,{...d,children:c})}(t,i,(h=f.visualElement,u=(0,o.useRef)(s),(0,o.useInsertionEffect)(()=>{u.current=s}),c=(0,o.useRef)(null),(0,o.useCallback)(t=>{t&&g.onMount?.(t),h&&(t?h.mount(t):h.unmount());let e=u.current;if("function"==typeof e)if(t){let i=e(t);"function"==typeof i&&(c.current=i)}else c.current?(c.current(),c.current=null):e(t);else e&&(e.current=t)},[h])),g,m,e,a)]})}h.displayName=`motion.${"string"==typeof t?t:`create(${t.displayName??t.name??""})`}`;let d=(0,o.forwardRef)(h);return d[ix]=t,d}class iP{constructor(t){this.isMounted=!1,this.node=t}update(){}}function iA(t,e,i){let s=t.getProps();return ew(s,e,void 0!==i?i:s.custom,t)}function iE(t,e){if(t?.inherit&&e){let{inherit:i,...s}=t;return{...e,...s}}return t}function iM(t,e){let i=t?.[e]??t?.default??t;return i!==t?iE(i,t):i}let iC=t=>Array.isArray(t);function iV(t,e){let i=t.getValue("willChange");if(q(i)&&i.add)return i.add(e);if(!i&&tA.WillChange){let i=new tA.WillChange("auto");t.addValue("willChange",i),i.add(e)}}let ij=(...t)=>t.reduce((t,e)=>i=>e(t(i)));function iR(t,e,i){return(i<0&&(i+=1),i>1&&(i-=1),i<1/6)?t+(e-t)*6*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}function iD(t,e){return i=>i>0?e:t}let iL=(t,e,i)=>{let s=t*t,n=i*(e*e-s)+s;return n<0?0:Math.sqrt(n)},i_=[w,x,M];function iB(t){let e=i_.find(e=>e.test(t));if(ti(!!e,`'${t}' is not an animatable color. Use the equivalent color code instead.`,"color-not-animatable"),!e)return!1;let i=e.parse(t);return e===M&&(i=function({hue:t,saturation:e,lightness:i,alpha:s}){t/=360,i/=100;let n=0,r=0,o=0;if(e/=100){let s=i<.5?i*(1+e):i+e-i*e,a=2*i-s;n=iR(a,s,t+1/3),r=iR(a,s,t),o=iR(a,s,t-1/3)}else n=r=o=i;return{red:Math.round(255*n),green:Math.round(255*r),blue:Math.round(255*o),alpha:s}}(i)),i}let iF=(t,e)=>{let i=iB(t),s=iB(e);if(!i||!s)return iD(t,e);let n={...i};return t=>(n.red=iL(i.red,s.red,t),n.green=iL(i.green,s.green,t),n.blue=iL(i.blue,s.blue,t),n.alpha=eI(i.alpha,s.alpha,t),x.transform(n))},iN=new Set(["none","hidden"]);function iI(t,e){return i=>eI(t,e,i)}function iO(t){return"number"==typeof t?iI:"string"==typeof t?ta(t)?iD:C.test(t)?iF:i$:Array.isArray(t)?iz:"object"==typeof t?C.test(t)?iF:iU:iD}function iz(t,e){let i=[...t],s=i.length,n=t.map((t,i)=>iO(t)(t,e[i]));return t=>{for(let e=0;e{for(let e in s)i[e]=s[e](t);return i}}let i$=(t,e)=>{let i=B.createTransformer(e),s=L(t),n=L(e);if(!(s.indexes.var.length===n.indexes.var.length&&s.indexes.color.length===n.indexes.color.length&&s.indexes.number.length>=n.indexes.number.length))return ti(!0,`Complex values '${t}' and '${e}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`,"complex-values-different"),iD(t,e);if(iN.has(t)&&!n.values.length||iN.has(e)&&!s.values.length)return iN.has(t)?i=>i<=0?t:e:i=>i>=1?e:t;return ij(iz(function(t,e){let i=[],s={color:0,var:0,number:0};for(let n=0;n{let e=({timestamp:e})=>t(e);return{start:(t=!0)=>tC.update(e,t),stop:()=>tV(e),now:()=>tj.isProcessing?tj.timestamp:es.now()}};function iY(t){let e=0,i=t.next(e);for(;!i.done&&e<2e4;)e+=50,i=t.next(e);return e>=2e4?1/0:e}let iX=.01,iG=2,iK=.005,iq=.5;function iZ(t,e){return t*Math.sqrt(1-e*e)}let iJ=["duration","bounce"],iQ=["stiffness","damping","mass"];function i0(t,e){return e.some(e=>void 0!==t[e])}function i1(t=.3,e=.3){let i,s,n,r,o,a,l="object"!=typeof t?{visualDuration:t,keyframes:[0,1],bounce:e}:t,{restSpeed:d,restDelta:u}=l,c=l.keyframes[0],p=l.keyframes[l.keyframes.length-1],m={done:!1,value:c},{stiffness:f,damping:g,mass:y,duration:v,velocity:x,isResolvedFromDuration:w}=function(t){let e={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...t};if(!i0(t,iQ)&&i0(t,iJ))if(e.velocity=0,t.visualDuration){let i=2*Math.PI/(1.2*t.visualDuration),s=i*i,n=2*h(.05,1,1-(t.bounce||0))*Math.sqrt(s);e={...e,mass:1,stiffness:s,damping:n}}else{let i=function({duration:t=800,bounce:e=.3,velocity:i=0,mass:s=1}){let n,r;ti(t<=tW(10),"Spring duration must be 10 seconds or less","spring-duration-limit");let o=1-e;o=h(.05,1,o),t=h(.01,10,t/1e3),o<1?(n=e=>{let s=e*o,n=s*t;return .001-(s-i)/iZ(e,o)*Math.exp(-n)},r=e=>{let s=e*o*t,r=Math.pow(o,2)*Math.pow(e,2)*t,a=Math.exp(-s),l=iZ(Math.pow(e,2),o);return(s*i+i-r)*a*(-n(e)+.001>0?-1:1)/l}):(n=e=>-.001+Math.exp(-e*t)*((e-i)*t+1),r=e=>t*t*(i-e)*Math.exp(-e*t));let a=function(t,e,i){let s=i;for(let i=1;i<12;i++)s-=t(s)/e(s);return s}(n,r,5/t);if(t=tW(t),isNaN(a))return{stiffness:100,damping:10,duration:t};{let e=Math.pow(a,2)*s;return{stiffness:e,damping:2*o*Math.sqrt(s*e),duration:t}}}({...t,velocity:0});(e={...e,...i,mass:1}).isResolvedFromDuration=!0}return e}({...l,velocity:-((l.velocity||0)/1e3)}),b=x||0,T=g/(2*Math.sqrt(f*y)),S=p-c,k=Math.sqrt(f/y)/1e3,P=5>Math.abs(S);if(d||(d=P?iX:iG),u||(u=P?iK:iq),T<1)n=iZ(k,T),r=(b+T*k*S)/n,i=t=>p-Math.exp(-T*k*t)*(r*Math.sin(n*t)+S*Math.cos(n*t)),o=T*k*r+S*n,a=T*k*S-r*n,s=t=>Math.exp(-T*k*t)*(o*Math.sin(n*t)+a*Math.cos(n*t));else if(1===T){i=t=>p-Math.exp(-k*t)*(S+(b+k*S)*t);let t=b+k*S;s=e=>Math.exp(-k*e)*(k*t*e-b)}else{let t=k*Math.sqrt(T*T-1);i=e=>{let i=Math.exp(-T*k*e),s=Math.min(t*e,300);return p-i*((b+T*k*S)*Math.sinh(s)+t*S*Math.cosh(s))/t};let e=(b+T*k*S)/t,n=T*k*e-S*t,r=T*k*S-e*t;s=e=>{let i=Math.exp(-T*k*e),s=Math.min(t*e,300);return i*(n*Math.sinh(s)+r*Math.cosh(s))}}let A={calculatedDuration:w&&v||null,velocity:t=>tW(s(t)),next:t=>{if(!w&&T<1){let e=Math.exp(-T*k*t),i=Math.sin(n*t),s=Math.cos(n*t),l=p-e*(r*i+S*s);return m.done=Math.abs(tW(e*(o*i+a*s)))<=d&&Math.abs(p-l)<=u,m.value=m.done?p:l,m}let e=i(t);return w?m.done=t>=v:m.done=Math.abs(tW(s(t)))<=d&&Math.abs(p-e)<=u,m.value=m.done?p:e,m},toString:()=>{let t=Math.min(iY(A),2e4),e=t4(e=>A.next(t*e).value,t,30);return t+"ms "+e},toTransition:()=>{}};return A}function i2(t,e,i){let s=Math.max(e-5,0);return en(i-t(s),e-s)}function i5({keyframes:t,velocity:e=0,power:i=.8,timeConstant:s=325,bounceDamping:n=10,bounceStiffness:r=500,modifyTarget:o,min:a,max:l,restDelta:h=.5,restSpeed:d}){let u,c,p=t[0],m={done:!1,value:p},f=i*e,g=p+f,y=void 0===o?g:o(g);y!==g&&(f=y-p);let v=t=>-f*Math.exp(-t/s),x=t=>y+v(t),w=t=>{let e=v(t),i=x(t);m.done=Math.abs(e)<=h,m.value=m.done?y:i},b=t=>{let e;if(e=m.value,void 0!==a&&el){var i;u=t,c=i1({keyframes:[m.value,(i=m.value,void 0===a?l:void 0===l||Math.abs(a-i){let e=!1;return(c||void 0!==u||(e=!0,w(t),b(t)),void 0!==u&&t>=u)?c.next(t-u):(e||w(t),m)}}}i1.applyToOptions=t=>{let e=function(t,e=100,i){let s=i({...t,keyframes:[0,e]}),n=Math.min(iY(s),2e4);return{type:"keyframes",ease:t=>s.next(n*t).value/e,duration:n/1e3}}(t,100,i1);return t.ease=e.ease,t.duration=tW(e.duration),t.type="keyframes",t};let i3=(t,e,i)=>(((1-3*i+3*e)*t+(3*i-6*e))*t+3*e)*t;function i4(t,e,i,s){return t===e&&i===s?tP:n=>0===n||1===n?n:i3(function(t,e,i,s,n){let r,o,a=0;do(r=i3(o=e+(i-e)/2,s,n)-t)>0?i=o:e=o;while(Math.abs(r)>1e-7&&++a<12)return o}(n,0,1,t,i),e,s)}let i6=i4(.42,0,1,1),i8=i4(0,0,.58,1),i9=i4(.42,0,.58,1),i7=t=>e=>e<=.5?t(2*e)/2:(2-t(2*(1-e)))/2,st=t=>e=>1-t(1-e),se=i4(.33,1.53,.69,.99),si=st(se),ss=i7(si),sn=t=>t>=1?1:(t*=2)<1?.5*si(t):.5*(2-Math.pow(2,-10*(t-1))),sr=t=>1-Math.sin(Math.acos(t)),so=st(sr),sa=i7(sr),sl={linear:tP,easeIn:i6,easeInOut:i9,easeOut:i8,circIn:sr,circInOut:sa,circOut:so,backIn:si,backInOut:ss,backOut:se,anticipate:sn},sh=t=>{if(t5(t)){ts(4===t.length,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");let[e,i,s,n]=t;return i4(e,i,s,n)}return"string"==typeof t?(ts(void 0!==sl[t],`Invalid easing type '${t}'`,"invalid-easing-type"),sl[t]):t},sd=(t,e,i)=>{let s=e-t;return s?(i-t)/s:1};function su(t,e,{clamp:i=!0,ease:s,mixer:n}={}){let r=t.length;if(ts(r===e.length,"Both input and output ranges must be the same length","range-length"),1===r)return()=>e[0];if(2===r&&e[0]===e[1])return()=>e[1];let o=t[0]===t[1];t[0]>t[r-1]&&(t=[...t].reverse(),e=[...e].reverse());let a=function(t,e,i){let s=[],n=i||tA.mix||iW,r=t.length-1;for(let i=0;i{if(o&&i1)for(;sd(h(t[0],t[r-1],e)):d}function sc({duration:t=300,keyframes:e,times:i,ease:s="easeInOut"}){var n;let r,o=Array.isArray(s)&&"number"!=typeof s[0]?s.map(sh):sh(s),a={done:!1,value:e[0]},l=su((n=i&&i.length===e.length?i:(!function(t,e){let i=t[t.length-1];for(let s=1;s<=e;s++){let n=sd(0,e,s);t.push(eI(i,1,n))}}(r=[0],e.length-1),r),n.map(e=>e*t)),e,{ease:Array.isArray(o)?o:e.map(()=>o||i9).splice(0,e.length-1)});return{calculatedDuration:t,next:e=>(a.value=l(e),a.done=e>=t,a)}}let sp={decay:i5,inertia:i5,tween:sc,keyframes:sc,spring:i1};function sm(t){"string"==typeof t.type&&(t.type=sp[t.type])}let sf=t=>t/100;class sg extends t1{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{let{motionValue:t}=this.options;t&&t.updatedAt!==es.now()&&this.tick(es.now()),this.isStopped=!0,"idle"!==this.state&&(this.teardown(),this.options.onStop?.())},t2.mainThread++,this.options=t,this.initAnimation(),this.play(),!1===t.autoplay&&this.pause()}initAnimation(){let{options:t}=this;sm(t);let{type:e=sc,repeat:i=0,repeatDelay:s=0,repeatType:n,velocity:r=0}=t,{keyframes:o}=t,a=e||sc;a!==sc&&"number"!=typeof o[0]&&(this.mixKeyframes=ij(sf,iW(o[0],o[1])),o=[0,100]);let l=a({...t,keyframes:o});"mirror"===n&&(this.mirroredGenerator=a({...t,keyframes:[...o].reverse(),velocity:-r})),null===l.calculatedDuration&&(l.calculatedDuration=iY(l));let{calculatedDuration:h}=l;this.calculatedDuration=h,this.resolvedDuration=h+s,this.totalDuration=this.resolvedDuration*(i+1)-s,this.generator=l}updateTime(t){let e=Math.round(t-this.startTime)*this.playbackSpeed;null!==this.holdTime?this.currentTime=this.holdTime:this.currentTime=e}tick(t,e=!1){let i,{generator:s,totalDuration:n,mixKeyframes:r,mirroredGenerator:o,resolvedDuration:a,calculatedDuration:l}=this;if(null===this.startTime)return s.next(0);let{delay:d=0,keyframes:u,repeat:c,repeatType:p,repeatDelay:m,type:f,onUpdate:g,finalKeyframe:y}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-n/this.speed,this.startTime)),e?this.currentTime=t:this.updateTime(t);let v=this.currentTime-d*(this.playbackSpeed>=0?1:-1),x=this.playbackSpeed>=0?v<0:v>n;this.currentTime=Math.max(v,0),"finished"===this.state&&null===this.holdTime&&(this.currentTime=n);let w=this.currentTime,b=s;if(c){let t=Math.min(this.currentTime,n)/a,e=Math.floor(t),i=t%1;!i&&t>=1&&(i=1),1===i&&e--,(e=Math.min(e,c+1))%2&&("reverse"===p?(i=1-i,m&&(i-=m/a)):"mirror"===p&&(b=o)),w=h(0,1,i)*a}x?(this.delayState.value=u[0],i=this.delayState):i=b.next(w),r&&!x&&(i.value=r(i.value));let{done:T}=i;x||null===l||(T=this.playbackSpeed>=0?this.currentTime>=n:this.currentTime<=0);let S=null===this.holdTime&&("finished"===this.state||"running"===this.state&&T);return S&&f!==i5&&(i.value=t0(u,this.options,y,this.speed)),g&&g(i.value),S&&this.finish(),i}then(t,e){return this.finished.then(t,e)}get duration(){return this.calculatedDuration/1e3}get iterationDuration(){let{delay:t=0}=this.options||{};return this.duration+t/1e3}get time(){return this.currentTime/1e3}set time(t){t=tW(t),this.currentTime=t,null===this.startTime||null!==this.holdTime||0===this.playbackSpeed?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=t,this.tick(t))}getGeneratorVelocity(){let t=this.currentTime;if(t<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(t);let e=this.generator.next(t).value;return i2(t=>this.generator.next(t).value,t,e)}get speed(){return this.playbackSpeed}set speed(t){let e=this.playbackSpeed!==t;e&&this.driver&&this.updateTime(es.now()),this.playbackSpeed=t,e&&this.driver&&(this.time=this.currentTime/1e3)}play(){if(this.isStopped)return;let{driver:t=iH,startTime:e}=this.options;this.driver||(this.driver=t(t=>this.tick(t))),this.options.onPlay?.();let i=this.driver.now();"finished"===this.state?(this.updateFinished(),this.startTime=i):null!==this.holdTime?this.startTime=i-this.holdTime:this.startTime||(this.startTime=e??i),"finished"===this.state&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(es.now()),this.holdTime=this.currentTime}complete(){"running"!==this.state&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null,t2.mainThread--}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),t.observe(this)}}let sy={anticipate:sn,backInOut:ss,circInOut:sa};class sv extends t7{constructor(t){!function(t){"string"==typeof t.ease&&t.ease in sy&&(t.ease=sy[t.ease])}(t),sm(t),super(t),void 0!==t.startTime&&!1!==t.autoplay&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){let{motionValue:e,onUpdate:i,onComplete:s,element:n,...r}=this.options;if(!e)return;if(void 0!==t)return void e.set(t);let o=new sg({...r,autoplay:!1}),a=Math.max(10,es.now()-this.startTime),l=h(0,10,a-10),d=o.sample(a).value,{name:u}=this.options;n&&u&&tG(n,u,d),e.setWithVelocity(o.sample(Math.max(0,a-l)).value,d,l),o.stop()}}let sx=(t,e)=>"zIndex"!==e&&!!("number"==typeof t||Array.isArray(t)||"string"==typeof t&&(B.test(t)||"0"===t)&&!t.startsWith("url("));function sw(t){t.duration=0,t.type="keyframes"}let sb=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/,sT=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),sS=tK(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));class sk extends t1{constructor({autoplay:t=!0,delay:e=0,type:i="keyframes",repeat:s=0,repeatDelay:n=0,repeatType:r="loop",keyframes:o,name:a,motionValue:l,element:h,...d}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=es.now();const u={autoplay:t,delay:e,type:i,repeat:s,repeatDelay:n,repeatType:r,name:a,motionValue:l,element:h,...d},c=h?.KeyframeResolver||tI;this.keyframeResolver=new c(o,(t,e,i)=>this.onKeyframesResolved(t,e,u,!i),a,l,h),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(t,e,i,s){let n;this.keyframeResolver=void 0;let{name:r,type:o,velocity:a,delay:l,isHandoff:h,onUpdate:d}=i;this.resolvedAt=es.now();let u=!0;!function(t,e,i,s){let n=t[0];if(null===n)return!1;if("display"===e||"visibility"===e)return!0;let r=t[t.length-1],o=sx(n,e),a=sx(r,e);return ti(o===a,`You are trying to animate ${e} from "${n}" to "${r}". "${o?r:n}" is not an animatable value.`,"value-not-animatable"),!!o&&!!a&&(function(t){let e=t[0];if(1===t.length)return!0;for(let i=0;i40?this.resolvedAt:this.createdAt:void 0,finalKeyframe:e,...i,keyframes:t},p=u&&!h&&function(t){let{motionValue:e,name:i,repeatDelay:s,repeatType:n,damping:r,type:o,keyframes:a}=t;if(!(e?.owner?.current instanceof HTMLElement))return!1;let{onUpdate:l,transformTemplate:h}=e.owner.getProps();return sS()&&i&&(et.has(i)||sT.has(i)&&function(t){for(let e=0;e{this.notifyFinished()}).catch(tP),this.pendingTimeline&&(this.stopTimeline=n.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=n}get finished(){return this._animation?this.animation.finished:this._finished}then(t,e){return this.finished.finally(t).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),tB=!0,tN(),tF(),tB=!1),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}let sP={type:"spring",stiffness:500,damping:25,restSpeed:10},sA={type:"keyframes",duration:.8},sE={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},sM=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]),sC=(t,e,i,s={},n,r)=>o=>{let a=iM(s,t)||{},h=a.delay||s.delay||0,{elapsed:d=0}=s;d-=tW(h);let u={keyframes:Array.isArray(i)?i:[null,i],ease:"easeOut",velocity:e.getVelocity(),...a,delay:-d,onUpdate:t=>{e.set(t),a.onUpdate&&a.onUpdate(t)},onComplete:()=>{o(),a.onComplete&&a.onComplete()},name:t,motionValue:e,element:r?void 0:n};!function(t){for(let e in t)if(!sM.has(e))return!0;return!1}(a)&&Object.assign(u,((t,{keyframes:e})=>e.length>2?sA:l.has(t)?t.startsWith("scale")?{type:"spring",stiffness:550,damping:0===e[1]?2*Math.sqrt(550):30,restSpeed:10}:sP:sE)(t,u)),u.duration&&(u.duration=tW(u.duration)),u.repeatDelay&&(u.repeatDelay=tW(u.repeatDelay)),void 0!==u.from&&(u.keyframes[0]=u.from);let c=!1;if(!1!==u.type&&(0!==u.duration||u.repeatDelay)||(sw(u),0===u.delay&&(c=!0)),(tA.instantAnimations||tA.skipAnimations||n?.shouldSkipAnimations||a.skipAnimations)&&(c=!0,sw(u),u.delay=0),u.allowFlatten=!a.type&&!a.ease,c&&!r&&void 0!==e.get()){let t=t0(u.keyframes,a);if(void 0!==t)return void tC.update(()=>{u.onUpdate(t),u.onComplete()})}return a.isSync?new sg(u):new sk(u)};function sV(t,e,{delay:i=0,transitionOverride:s,type:n}={}){let{transition:r,transitionEnd:o,...a}=e,l=t.getDefaultTransition();r=r?iE(r,l):l;let h=r?.reduceMotion,d=r?.skipAnimations;s&&(r=s);let u=[],c=n&&t.animationState&&t.animationState.getState()[n],p=r?.path;for(let e in p&&p.animateVisualElement(t,a,r,i,u),a){let s=t.getValue(e,t.latestValues[e]??null),n=a[e];if(void 0===n||c&&function({protectedKeys:t,needsAnimating:e},i){let s=t.hasOwnProperty(i)&&!0!==e[i];return e[i]=!1,s}(c,e))continue;let o={delay:i,...iM(r||{},e)};d&&(o.skipAnimations=!0);let l=s.get();if(void 0!==l&&!s.isAnimating()&&!Array.isArray(n)&&n===l&&!o.velocity){tC.update(()=>s.set(n));continue}let p=!1;if(window.MotionHandoffAnimation){let i=t.props[iw];if(i){let t=window.MotionHandoffAnimation(i,e,tC);null!==t&&(o.startTime=t,p=!0)}}iV(t,e);let m=h??t.shouldReduceMotion;s.start(sC(e,s,n,m&&Z.has(e)?{type:!1}:o,t,p));let f=s.animation;f&&u.push(f)}if(o){let e=()=>tC.update(()=>{o&&function(t,e){let{transitionEnd:i={},transition:s={},...n}=iA(t,e)||{};for(let e in n={...n,...i}){var r;let i=iC(r=n[e])?r[r.length-1]||0:r;t.hasValue(e)?t.getValue(e).set(i):t.addValue(e,ea(i))}}(t,o)});u.length?Promise.all(u).then(e):e()}return u}function sj(t,e,i,s=0,n=1){let r=Array.from(t).sort((t,e)=>t.sortNodePosition(e)).indexOf(e),o=t.size,a=(o-1)*s;return"function"==typeof i?i(r,o):1===n?r*s:a-r*s}function sR(t,e,i={}){let s=iA(t,e,"exit"===i.type?t.presenceContext?.custom:void 0),{transition:n=t.getDefaultTransition()||{}}=s||{};i.transitionOverride&&(n=i.transitionOverride);let r=s?()=>Promise.all(sV(t,s,i)):()=>Promise.resolve(),o=t.variantChildren&&t.variantChildren.size?(s=0)=>{let{delayChildren:r=0,staggerChildren:o,staggerDirection:a}=n;return function(t,e,i=0,s=0,n=0,r=1,o){let a=[];for(let l of t.variantChildren)l.notify("AnimationStart",e),a.push(sR(l,e,{...o,delay:i+("function"==typeof s?0:s)+sj(t.variantChildren,l,s,n,r)}).then(()=>l.notify("AnimationComplete",e)));return Promise.all(a)}(t,e,s,r,o,a,i)}:()=>Promise.resolve(),{when:a}=n;if(!a)return Promise.all([r(),o(i.delay)]);{let[t,e]="beforeChildren"===a?[r,o]:[o,r];return t().then(()=>e())}}let sD=ep.length;function sL(t,e){if(!Array.isArray(e))return!1;let i=e.length;if(i!==t.length)return!1;for(let s=0;st.removeEventListener(e,i)}let sU={x:!1,y:!1};function s$(t){return t.max-t.min}function sW(t,e,i,s=.5){t.origin=s,t.originPoint=eI(e.min,e.max,t.origin),t.scale=s$(i)/s$(e),t.translate=eI(i.min,i.max,t.origin)-t.originPoint,(t.scale>=.9999&&t.scale<=1.0001||isNaN(t.scale))&&(t.scale=1),(t.translate>=-.01&&t.translate<=.01||isNaN(t.translate))&&(t.translate=0)}function sH(t,e,i,s){sW(t.x,e.x,i.x,s?s.originX:void 0),sW(t.y,e.y,i.y,s?s.originY:void 0)}function sY(t,e,i,s=0){t.min=(s?eI(i.min,i.max,s):i.min)+e.min,t.max=t.min+s$(e)}function sX(t,e,i,s=0){let n=s?eI(i.min,i.max,s):i.min;t.min=e.min-n,t.max=t.min+s$(e)}function sG(t,e,i,s){sX(t.x,e.x,i.x,s?.x),sX(t.y,e.y,i.y,s?.y)}let sK=t=>"object"==typeof t&&null!==t;function sq(t){return sK(t)&&"ownerSVGElement"in t}function sZ(t,e,i){if(null==t)return[];if(t instanceof EventTarget)return[t];if("string"==typeof t){let s=document;e&&(s=e.current);let n=i?.[t]??s.querySelectorAll(t);return n?Array.from(n):[]}return Array.from(t).filter(t=>null!=t)}let sJ=new WeakMap,sQ=(t,e,i)=>(s,n)=>n&&n[0]?n[0][t+"Size"]:sq(s)&&"getBBox"in s?s.getBBox()[e]:s[i],s0=sQ("inline","width","offsetWidth"),s1=sQ("block","height","offsetHeight");function s2({target:t,borderBoxSize:e}){sJ.get(t)?.forEach(i=>{i(t,{get width(){return s0(t,e)},get height(){return s1(t,e)}})})}function s5(t){t.forEach(s2)}let s3=new Set;function s4(t,e){let n;return"function"==typeof t?(s3.add(t),s||(s=()=>{let t={get width(){return window.innerWidth},get height(){return window.innerHeight}};s3.forEach(e=>e(t))},window.addEventListener("resize",s)),()=>{s3.delete(t),s3.size||"function"!=typeof s||(window.removeEventListener("resize",s),s=void 0)}):(!i&&"u">typeof ResizeObserver&&(i=new ResizeObserver(s5)),(n=sZ(t)).forEach(t=>{let s=sJ.get(t);s||(s=new Set,sJ.set(t,s)),s.add(e),i?.observe(t)}),()=>{n.forEach(t=>{let s=sJ.get(t);s?.delete(e),s?.size||i?.unobserve(t)})})}let s6=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]),s8=new Set(["INPUT","SELECT","TEXTAREA"]),s9=t=>"mouse"===t.pointerType?"number"!=typeof t.button||t.button<=0:!1!==t.isPrimary;function s7(t){return{point:{x:t.pageX,y:t.pageY}}}function nt(t,e,i,s){return sz(t,e,t=>s9(t)&&i(t,s7(t)),s)}let ne=({current:t})=>t?t.ownerDocument.defaultView:null,ni=(t,e)=>Math.abs(t-e),ns=new Set(["auto","scroll"]);class nn{constructor(t,e,{transformPagePoint:i,contextWindow:s=window,dragSnapToOrigin:n=!1,distanceThreshold:r=3,element:o}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=t=>{this.handleScroll(t.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{var t,e;if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=nr(this.lastRawMoveEventInfo,this.transformPagePoint));let i=na(this.lastMoveEventInfo,this.history),s=null!==this.startEvent,n=(t=i.offset,e={x:0,y:0},Math.sqrt(ni(t.x,e.x)**2+ni(t.y,e.y)**2)>=this.distanceThreshold);if(!s&&!n)return;let{point:r}=i,{timestamp:o}=tj;this.history.push({...r,timestamp:o});let{onStart:a,onMove:l}=this.handlers;s||(a&&a(this.lastMoveEvent,i),this.startEvent=this.lastMoveEvent),l&&l(this.lastMoveEvent,i)},this.handlePointerMove=(t,e)=>{this.lastMoveEvent=t,this.lastRawMoveEventInfo=e,this.lastMoveEventInfo=nr(e,this.transformPagePoint),tC.update(this.updatePoint,!0)},this.handlePointerUp=(t,e)=>{this.end();let{onEnd:i,onSessionEnd:s,resumeAnimation:n}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&n&&n(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let r=na("pointercancel"===t.type?this.lastMoveEventInfo:nr(e,this.transformPagePoint),this.history);this.startEvent&&i&&i(t,r),s&&s(t,r)},!s9(t))return;this.dragSnapToOrigin=n,this.handlers=e,this.transformPagePoint=i,this.distanceThreshold=r,this.contextWindow=s||window;const a=nr(s7(t),this.transformPagePoint),{point:l}=a,{timestamp:h}=tj;this.history=[{...l,timestamp:h}];const{onSessionStart:d}=e;d&&d(t,na(a,this.history)),this.removeListeners=ij(nt(this.contextWindow,"pointermove",this.handlePointerMove),nt(this.contextWindow,"pointerup",this.handlePointerUp),nt(this.contextWindow,"pointercancel",this.handlePointerUp)),o&&this.startScrollTracking(o)}startScrollTracking(t){let e=t.parentElement;for(;e;){let t=getComputedStyle(e);(ns.has(t.overflowX)||ns.has(t.overflowY))&&this.scrollPositions.set(e,{x:e.scrollLeft,y:e.scrollTop}),e=e.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(t){let e=this.scrollPositions.get(t);if(!e)return;let i=t===window,s=i?{x:window.scrollX,y:window.scrollY}:{x:t.scrollLeft,y:t.scrollTop},n={x:s.x-e.x,y:s.y-e.y};(0!==n.x||0!==n.y)&&(i?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=n.x,this.lastMoveEventInfo.point.y+=n.y):this.history.length>0&&(this.history[0].x-=n.x,this.history[0].y-=n.y),this.scrollPositions.set(t,s),tC.update(this.updatePoint,!0))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),tV(this.updatePoint)}}function nr(t,e){return e?{point:e(t.point)}:t}function no(t,e){return{x:t.x-e.x,y:t.y-e.y}}function na({point:t},e){return{point:t,delta:no(t,nl(e)),offset:no(t,e[0]),velocity:function(t){if(t.length<2)return{x:0,y:0};let e=t.length-1,i=null,s=nl(t);for(;e>=0&&(i=t[e],!(s.timestamp-i.timestamp>tW(.1)));)e--;if(!i)return{x:0,y:0};i===t[0]&&t.length>2&&s.timestamp-i.timestamp>2*tW(.1)&&(i=t[1]);let n=(s.timestamp-i.timestamp)/1e3;if(0===n)return{x:0,y:0};let r={x:(s.x-i.x)/n,y:(s.y-i.y)/n};return r.x===1/0&&(r.x=0),r.y===1/0&&(r.y=0),r}(e)}}function nl(t){return t[t.length-1]}function nh(t,e,i){return{min:void 0!==e?t.min+e:void 0,max:void 0!==i?t.max+i-(t.max-t.min):void 0}}function nd(t,e){let i=e.min-t.min,s=e.max-t.max;return e.max-e.min{e&&this.snapToCursor(s7(t).point),this.stopAnimation()},r=(t,e)=>{let{drag:i,dragPropagation:s,onDragStart:n}=this.getProps();if(i&&!s&&(this.openDragLock&&this.openDragLock(),this.openDragLock=function(t){if("x"===t||"y"===t)if(sU[t])return null;else return sU[t]=!0,()=>{sU[t]=!1};return sU.x||sU.y?null:(sU.x=sU.y=!0,()=>{sU.x=sU.y=!1})}(i),!this.openDragLock))return;this.latestPointerEvent=t,this.latestPanInfo=e,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),sO(t=>{let e=this.getAxisMotionValue(t).get()||0;if(S.test(e)){let{projection:i}=this.visualElement;if(i&&i.layout){let s=i.layout.layoutBox[t];s&&(e=s$(s)*(parseFloat(e)/100))}}this.originPoint[t]=e}),n&&tC.update(()=>n(t,e),!1,!0),iV(this.visualElement,"transform");let{animationState:r}=this.visualElement;r&&r.setActive("whileDrag",!0)},o=(t,e)=>{this.latestPointerEvent=t,this.latestPanInfo=e;let{dragPropagation:i,dragDirectionLock:s,onDirectionLock:n,onDrag:r}=this.getProps();if(!i&&!this.openDragLock)return;let{offset:o}=e;if(s&&null===this.currentDirection){this.currentDirection=function(t,e=10){let i=null;return Math.abs(t.y)>e?i="y":Math.abs(t.x)>e&&(i="x"),i}(o),null!==this.currentDirection&&n&&n(this.currentDirection);return}this.updateAxis("x",e.point,o),this.updateAxis("y",e.point,o),this.visualElement.render(),r&&tC.update(()=>r(t,e),!1,!0)},a=(t,e)=>{this.latestPointerEvent=t,this.latestPanInfo=e,this.stop(t,e),this.latestPointerEvent=null,this.latestPanInfo=null},l=()=>{let{dragSnapToOrigin:t}=this.getProps();(t||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:h}=this.getProps();this.panSession=new nn(t,{onSessionStart:n,onStart:r,onMove:o,onSessionEnd:a,resumeAnimation:l},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:h,distanceThreshold:i,contextWindow:ne(this.visualElement),element:this.visualElement.current})}stop(t,e){let i=t||this.latestPointerEvent,s=e||this.latestPanInfo,n=this.isDragging;if(this.cancel(),!n||!s||!i)return;let{velocity:r}=s;this.startAnimation(r);let{onDragEnd:o}=this.getProps();o&&tC.postRender(()=>o(i,s))}cancel(){this.isDragging=!1;let{projection:t,animationState:e}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.endPanSession();let{dragPropagation:i}=this.getProps();!i&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),e&&e.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(t,e,i){let{drag:s}=this.getProps();if(!i||!ng(t,s,this.currentDirection))return;let n=this.getAxisMotionValue(t),r=this.originPoint[t]+i[t];this.constraints&&this.constraints[t]&&(r=function(t,{min:e,max:i},s){return void 0!==e&&ti&&(t=s?eI(i,t,s.max):Math.min(t,i)),t}(r,this.constraints[t],this.elastic[t])),n.set(r)}resolveConstraints(){let{dragConstraints:t,dragElastic:e}=this.getProps(),i=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,s=this.constraints;t&&iT(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&i?this.constraints=function(t,{top:e,left:i,bottom:s,right:n}){return{x:nh(t.x,i,n),y:nh(t.y,e,s)}}(i.layoutBox,t):this.constraints=!1,this.elastic=function(t=.35){return!1===t?t=0:!0===t&&(t=.35),{x:nu(t,"left","right"),y:nu(t,"top","bottom")}}(e),s!==this.constraints&&!iT(t)&&i&&this.constraints&&!this.hasMutatedConstraints&&sO(t=>{var e,s;let n;!1!==this.constraints&&this.getAxisMotionValue(t)&&(this.constraints[t]=(e=i.layoutBox[t],s=this.constraints[t],n={},void 0!==s.min&&(n.min=s.min-e.min),void 0!==s.max&&(n.max=s.max-e.min),n))})}resolveRefConstraints(){var t;let{dragConstraints:e,onMeasureDragConstraints:i}=this.getProps();if(!e||!iT(e))return!1;let s=e.current;ts(null!==s,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.","drag-constraints-ref");let{projection:n}=this.visualElement;if(!n||!n.layout)return!1;n.root&&(n.root.scroll=void 0,n.root.updateScroll());let r=function(t,e,i){let s=e5(t,i),{scroll:n}=e;return n&&(eQ(s.x,n.offset.x),eQ(s.y,n.offset.y)),s}(s,n.root,this.visualElement.getTransformPagePoint()),o=(t=n.layout.layoutBox,{x:nd(t.x,r.x),y:nd(t.y,r.y)});if(i){let t=i(function({x:t,y:e}){return{top:e.min,right:t.max,bottom:e.max,left:t.min}}(o));this.hasMutatedConstraints=!!t,t&&(o=eH(t))}return o}startAnimation(t){let{drag:e,dragMomentum:i,dragElastic:s,dragTransition:n,dragSnapToOrigin:r,onDragTransitionEnd:o}=this.getProps(),a=this.constraints||{};return Promise.all(sO(o=>{if(!ng(o,e,this.currentDirection))return;let l=a&&a[o]||{};(!0===r||r===o)&&(l={min:0,max:0});let h={type:"inertia",velocity:i?t[o]:0,bounceStiffness:s?200:1e6,bounceDamping:s?40:1e7,timeConstant:750,restDelta:1,restSpeed:10,...n,...l};return this.startAxisValueAnimation(o,h)})).then(o)}startAxisValueAnimation(t,e){let i=this.getAxisMotionValue(t);return iV(this.visualElement,t),i.start(sC(t,i,0,e,this.visualElement,!1))}stopAnimation(){sO(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){let e=`_drag${t.toUpperCase()}`;return this.visualElement.getProps()[e]||this.visualElement.getValue(t,this.visualElement.latestValues[t]??0)}snapToCursor(t){sO(e=>{let{drag:i}=this.getProps();if(!ng(e,i,this.currentDirection))return;let{projection:s}=this.visualElement,n=this.getAxisMotionValue(e);if(s&&s.layout){let{min:i,max:r}=s.layout.layoutBox[e],o=n.get()||0;n.set(t[e]-eI(i,r,.5)+o)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:t,dragConstraints:e}=this.getProps(),{projection:i}=this.visualElement;if(!iT(e)||!i||!this.constraints)return;this.stopAnimation();let s={x:0,y:0};sO(t=>{let e=this.getAxisMotionValue(t);if(e&&!1!==this.constraints){var i,n;let r,o,a,l=e.get();s[t]=(i={min:l,max:l},n=this.constraints[t],r=.5,o=s$(i),(a=s$(n))>o?r=sd(n.min,n.max-o,i.min):o>a&&(r=sd(i.min,i.max-a,n.min)),h(0,1,r))}});let{transformTemplate:n}=this.visualElement.getProps();this.visualElement.current.style.transform=n?n({},""):"none",i.root&&i.root.updateScroll(),i.updateLayout(),this.constraints=!1,this.resolveConstraints(),sO(e=>{if(!ng(e,t,null))return;let i=this.getAxisMotionValue(e),{min:n,max:r}=this.constraints[e];i.set(eI(n,r,s[e]))}),this.visualElement.render()}addListeners(){let t;if(!this.visualElement.current)return;np.set(this.visualElement,this);let e=this.visualElement.current,i=nt(e,"pointerdown",t=>{let{drag:i,dragListener:s=!0}=this.getProps(),n=t.target,r=n!==e&&(s8.has(n.tagName)||!0===n.isContentEditable);i&&s&&!r&&this.start(t)}),s=()=>{var i,s,n;let r,o,{dragConstraints:a}=this.getProps();iT(a)&&a.current&&(this.constraints=this.resolveRefConstraints(),t||(i=e,s=a.current,r=s4(i,nf(n=()=>this.scalePositionWithinConstraints())),o=s4(s,nf(n)),t=()=>{r(),o()}))},{projection:n}=this.visualElement,r=n.addEventListener("measure",s);n&&!n.layout&&(n.root&&n.root.updateScroll(),n.updateLayout()),tC.read(s);let o=sz(window,"resize",()=>this.scalePositionWithinConstraints()),a=n.addEventListener("didUpdate",({delta:t,hasLayoutChanged:e})=>{this.isDragging&&e&&(sO(e=>{let i=this.getAxisMotionValue(e);i&&(this.originPoint[e]+=t[e].translate,i.set(i.get()+t[e].translate))}),this.visualElement.render())});return()=>{o(),i(),r(),a&&a(),t&&t()}}getProps(){let t=this.visualElement.getProps(),{drag:e=!1,dragDirectionLock:i=!1,dragPropagation:s=!1,dragConstraints:n=!1,dragElastic:r=.35,dragMomentum:o=!0}=t;return{...t,drag:e,dragDirectionLock:i,dragPropagation:s,dragConstraints:n,dragElastic:r,dragMomentum:o}}}function nf(t){let e=!0;return()=>{if(e){e=!1;return}t()}}function ng(t,e,i){return(!0===e||e===t)&&(null===i||i===t)}let ny=t=>(e,i)=>{t&&tC.update(()=>t(e,i),!1,!0)},nv={hasAnimatedSinceResize:!0,hasEverUpdated:!1};var nx=o;function nw(t=!0){let e=(0,o.useContext)(id);if(null===e)return[!0,null];let{isPresent:i,onExitComplete:s,register:n}=e,r=(0,o.useId)();(0,o.useEffect)(()=>{if(t)return n(r)},[t]);let a=(0,o.useCallback)(()=>t&&s&&s(r),[r,s,t]);return!i&&s?[!1,a]:[!0]}let nb=!1;class nT extends nx.Component{componentDidMount(){let{visualElement:t,layoutGroup:e,switchLayoutGroup:i,layoutId:s}=this.props,{projection:n}=t;n&&(e.group&&e.group.add(n),i&&i.register&&s&&i.register(n),nb&&n.root.didUpdate(),n.addEventListener("animationComplete",()=>{this.safeToRemove()}),n.setOptions({...n.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),nv.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){let{layoutDependency:e,visualElement:i,drag:s,isPresent:n}=this.props,{projection:r}=i;return r&&(r.isPresent=n,t.layoutDependency!==e&&r.setOptions({...r.options,layoutDependency:e}),nb=!0,s||t.layoutDependency!==e||void 0===e||t.isPresent!==n?r.willUpdate():this.safeToRemove(),t.isPresent!==n&&(n?r.promote():r.relegate()||tC.postRender(()=>{let t=r.getStack();t&&t.members.length||this.safeToRemove()}))),null}componentDidUpdate(){let{visualElement:t,layoutAnchor:e}=this.props,{projection:i}=t;i&&(i.options.layoutAnchor=e,i.root.didUpdate(),ee.postRender(()=>{!i.currentAnimation&&i.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:t,layoutGroup:e,switchLayoutGroup:i}=this.props,{projection:s}=t;nb=!0,s&&(s.scheduleCheckAfterUnmount(),e&&e.group&&e.group.remove(s),i&&i.deregister&&i.deregister(s))}safeToRemove(){let{safeToRemove:t}=this.props;t&&t()}render(){return null}}function nS(t){let[e,i]=nw(),s=(0,nx.useContext)(e8);return(0,r.jsx)(nT,{...t,layoutGroup:s,switchLayoutGroup:(0,nx.useContext)(ib),isPresent:e,safeToRemove:i})}let nk=["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"],nP=nk.length,nA=t=>"string"==typeof t?parseFloat(t):t,nE=t=>"number"==typeof t||k.test(t);function nM(t,e){return void 0!==t[e]?t[e]:t.borderRadius}let nC=nj(0,.5,so),nV=nj(.5,.95,tP);function nj(t,e,i){return s=>se?1:i(sd(t,e,s))}function nR(t,e){t.min=e.min,t.max=e.max}function nD(t,e){nR(t.x,e.x),nR(t.y,e.y)}function nL(t,e){t.translate=e.translate,t.scale=e.scale,t.originPoint=e.originPoint,t.origin=e.origin}function n_(t,e,i,s,n){return t-=e,t=s+1/i*(t-s),void 0!==n&&(t=s+1/n*(t-s)),t}function nB(t,e,[i,s,n],r,o){!function(t,e=0,i=1,s=.5,n,r=t,o=t){if(S.test(e)&&(e=parseFloat(e),e=eI(o.min,o.max,e/100)-o.min),"number"!=typeof e)return;let a=eI(r.min,r.max,s);t===r&&(a-=e),t.min=n_(t.min,e,i,a,n),t.max=n_(t.max,e,i,a,n)}(t,e[i],e[s],e[n],e.scale,r,o)}let nF=["x","scaleX","originX"],nN=["y","scaleY","originY"];function nI(t,e,i,s){nB(t.x,e,nF,i?i.x:void 0,s?s.x:void 0),nB(t.y,e,nN,i?i.y:void 0,s?s.y:void 0)}function nO(t){return 0===t.translate&&1===t.scale}function nz(t){return nO(t.x)&&nO(t.y)}function nU(t,e){return t.min===e.min&&t.max===e.max}function n$(t,e){return Math.round(t.min)===Math.round(e.min)&&Math.round(t.max)===Math.round(e.max)}function nW(t,e){return n$(t.x,e.x)&&n$(t.y,e.y)}function nH(t){return s$(t.x)/s$(t.y)}function nY(t,e){return t.translate===e.translate&&t.scale===e.scale&&t.originPoint===e.originPoint}class nX{constructor(){this.members=[]}add(t){tH(this.members,t);for(let e=this.members.length-1;e>=0;e--){let i=this.members[e];if(i===t||i===this.lead||i===this.prevLead)continue;let s=i.instance;s&&!1!==s.isConnected||i.snapshot||(tY(this.members,i),i.unmount())}t.scheduleRender()}remove(t){if(tY(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){let t=this.members[this.members.length-1];t&&this.promote(t)}}relegate(t){for(let e=this.members.indexOf(t)-1;e>=0;e--){let t=this.members[e];if(!1!==t.isPresent&&t.instance?.isConnected!==!1)return this.promote(t),!0}return!1}promote(t,e){let i=this.lead;if(t!==i&&(this.prevLead=i,this.lead=t,t.show(),i)){i.updateSnapshot(),t.scheduleRender();let{layoutDependency:s}=i.options,{layoutDependency:n}=t.options;(void 0===s||s!==n)&&(t.resumeFrom=i,e&&(i.preserveOpacity=!0),i.snapshot&&(t.snapshot=i.snapshot,t.snapshot.latestValues=i.animationValues||i.latestValues),t.root?.isUpdating&&(t.isLayoutDirty=!0)),!1===t.options.crossfade&&i.hide()}}exitAnimationComplete(){this.members.forEach(t=>{t.options.onExitComplete?.(),t.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(t=>t.instance&&t.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}}let nG=(t,e)=>t.depth-e.depth;class nK{constructor(){this.children=[],this.isDirty=!1}add(t){tH(this.children,t),this.isDirty=!0}remove(t){tY(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(nG),this.isDirty=!1,this.children.forEach(t)}}let nq=["","X","Y","Z"],nZ=0;function nJ(t,e,i,s){let{latestValues:n}=e;n[t]&&(i[t]=n[t],e.setStaticValue(t,0),s&&(s[t]=0))}function nQ({attachResizeListener:t,defaultParent:e,measureScroll:i,checkIsScrollRoot:s,resetTransform:n}){return class{constructor(t={},i=e?.()){this.id=nZ++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(n2),this.nodes.forEach(re),this.nodes.forEach(ri),this.nodes.forEach(n5)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=t,this.root=i?i.root||i:this,this.path=i?[...i.path,i]:[],this.parent=i,this.depth=i?i.depth+1:0;for(let t=0;tthis.root.updateBlockedByResize=!1;tC.read(()=>{s=window.innerWidth}),t(e,()=>{let t=window.innerWidth;if(t!==s){let e,r;s=t,this.root.updateBlockedByResize=!0,i&&i(),e=es.now(),r=({timestamp:t})=>{let i=t-e;i>=250&&(tV(r),n(i-250))},tC.setup(r,!0),i=()=>tV(r),nv.hasAnimatedSinceResize&&(nv.hasAnimatedSinceResize=!1,this.nodes.forEach(rt))}})}i&&this.root.registerSharedNode(i,this),!1!==this.options.animate&&n&&(i||s)&&this.addEventListener("didUpdate",({delta:t,hasLayoutChanged:e,hasRelativeLayoutChanged:i,layout:s})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}let r=this.options.transition||n.getDefaultTransition()||rl,{onLayoutAnimationStart:o,onLayoutAnimationComplete:a}=n.getProps(),l=!this.targetLayout||!nW(this.targetLayout,s),h=!e&&i;if(this.options.layoutRoot||this.resumeFrom||h||e&&(l||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);let e={...iM(r,"layout"),onPlay:o,onComplete:a};(n.shouldReduceMotion||this.options.layoutRoot)&&(e.delay=0,e.type=!1),this.startAnimation(e),this.setAnimationOrigin(t,h,e.path)}else e||rt(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=s})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let t=this.getStack();t&&t.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),tV(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){!this.isUpdateBlocked()&&(this.isUpdating=!0,this.nodes&&this.nodes.forEach(rs),this.animationId++)}getTransformTemplate(){let{visualElement:t}=this.options;return t&&t.getProps().transformTemplate}willUpdate(t=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&function t(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;let{visualElement:i}=e.options;if(!i)return;let s=i.props[iw];if(window.MotionHasOptimisedAnimation(s,"transform")){let{layout:t,layoutId:i}=e.options;window.MotionCancelOptimisedAnimation(s,"transform",tC,!(t||i))}let{parent:n}=e;n&&!n.hasCheckedOptimisedAppear&&t(n)}(this),this.root.isUpdating||this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let t=0;t{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){!this.snapshot&&this.instance&&(this.snapshot=this.measure(),!this.snapshot||s$(this.snapshot.measuredBox.x)||s$(this.snapshot.measuredBox.y)||(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let t=0;t.999999999999&&(e.x=1),e.y<1.0000000000001&&e.y>.999999999999&&(e.y=1)}}(this.layoutCorrected,this.treeScale,this.path,e),t.layout&&!t.target&&(1!==this.treeScale.x||1!==this.treeScale.y)&&(t.target=t.layout.layoutBox,t.targetWithTransforms=K());let{target:a}=t;if(!a){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}this.projectionDelta&&this.prevProjectionDelta?(nL(this.prevProjectionDelta.x,this.projectionDelta.x),nL(this.prevProjectionDelta.y,this.projectionDelta.y)):this.createProjectionDeltas(),sH(this.projectionDelta,this.layoutCorrected,a,this.latestValues),this.treeScale.x===r&&this.treeScale.y===o&&nY(this.projectionDelta.x,this.prevProjectionDelta.x)&&nY(this.projectionDelta.y,this.prevProjectionDelta.y)||(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",a))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(t=!0){if(this.options.visualElement?.scheduleRender(),t){let t=this.getStack();t&&t.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=X(),this.projectionDelta=X(),this.projectionDeltaWithTransform=X()}setAnimationOrigin(t,e=!1,i){let s,n=this.snapshot,r=n?n.latestValues:{},o={...this.latestValues},a=X();this.relativeParent&&this.relativeParent.options.layoutRoot||(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!e;let l=K(),h=(n?n.source:void 0)!==(this.layout?this.layout.source:void 0),d=this.getStack(),u=!d||d.members.length<=1,c=!!(h&&!u&&!0===this.options.crossfade&&!this.path.some(ra));this.animationProgress=0;let p=i?.interpolateProjection(t);this.mixTargetDelta=e=>{let i=e/1e3,n=p?.(i);if(n?(a.x.translate=n.x,a.x.scale=eI(t.x.scale,1,i),a.x.origin=t.x.origin,a.x.originPoint=t.x.originPoint,a.y.translate=n.y,a.y.scale=eI(t.y.scale,1,i),a.y.origin=t.y.origin,a.y.originPoint=t.y.originPoint):(rr(a.x,t.x,i),rr(a.y,t.y,i)),this.setTargetDelta(a),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout){var d,m,f,g,y,v;sG(l,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),f=this.relativeTarget,g=this.relativeTargetOrigin,y=l,v=i,ro(f.x,g.x,y.x,v),ro(f.y,g.y,y.y,v),s&&(d=this.relativeTarget,m=s,nU(d.x,m.x)&&nU(d.y,m.y))&&(this.isProjectionDirty=!1),s||(s=K()),nD(s,this.relativeTarget)}h&&(this.animationValues=o,function(t,e,i,s,n,r){n?(t.opacity=eI(0,i.opacity??1,nC(s)),t.opacityExit=eI(e.opacity??1,0,nV(s))):r&&(t.opacity=eI(e.opacity??1,i.opacity??1,s));for(let n=0;n{var e,i,s;let n;nv.hasAnimatedSinceResize=!0,t2.layout++,this.motionValue||(this.motionValue=ea(0)),this.motionValue.jump(0,!1),this.currentAnimation=(e=this.motionValue,i=[0,1e3],s={...t,velocity:0,isSync:!0,onUpdate:e=>{this.mixTargetDelta(e),t.onUpdate&&t.onUpdate(e)},onStop:()=>{t2.layout--},onComplete:()=>{t2.layout--,t.onComplete&&t.onComplete(),this.completeAnimation()}},(n=q(e)?e:ea(e)).start(sC("",n,i,s)),n.animation),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);let t=this.getStack();t&&t.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(1e3),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){let t=this.getLead(),{targetWithTransforms:e,target:i,layout:s,latestValues:n}=t;if(e&&i&&s){if(this!==t&&this.layout&&s&&rc(this.options.animationType,this.layout.layoutBox,s.layoutBox)){i=this.target||K();let e=s$(this.layout.layoutBox.x);i.x.min=t.target.x.min,i.x.max=i.x.min+e;let s=s$(this.layout.layoutBox.y);i.y.min=t.target.y.min,i.y.max=i.y.min+s}nD(e,i),e2(e,n),sH(this.projectionDeltaWithTransform,this.layoutCorrected,e,n)}}registerSharedNode(t,e){this.sharedNodes.has(t)||this.sharedNodes.set(t,new nX),this.sharedNodes.get(t).add(e);let i=e.options.initialPromotionConfig;e.promote({transition:i?i.transition:void 0,preserveFollowOpacity:i&&i.shouldPreserveFollowOpacity?i.shouldPreserveFollowOpacity(e):void 0})}isLead(){let t=this.getStack();return!t||t.lead===this}getLead(){let{layoutId:t}=this.options;return t&&this.getStack()?.lead||this}getPrevLead(){let{layoutId:t}=this.options;return t?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:t}=this.options;if(t)return this.root.sharedNodes.get(t)}promote({needsReset:t,transition:e,preserveFollowOpacity:i}={}){let s=this.getStack();s&&s.promote(this,i),t&&(this.projectionDelta=void 0,this.needsReset=!0),e&&this.setOptions({transition:e})}relegate(){let t=this.getStack();return!!t&&t.relegate(this)}resetSkewAndRotation(){let{visualElement:t}=this.options;if(!t)return;let e=!1,{latestValues:i}=t;if((i.z||i.rotate||i.rotateX||i.rotateY||i.rotateZ||i.skewX||i.skewY)&&(e=!0),!e)return;let s={};i.z&&nJ("z",t,s,this.animationValues);for(let e=0;et.currentAnimation?.stop()),this.root.nodes.forEach(n4),this.root.sharedNodes.clear()}}}function n0(t){t.updateLayout()}function n1(t){let e=t.resumeFrom?.snapshot||t.snapshot;if(t.isLead()&&t.layout&&e&&t.hasListeners("didUpdate")){let{layoutBox:i,measuredBox:s}=t.layout,{animationType:n}=t.options,r=e.source!==t.layout.source;if("size"===n)sO(t=>{let s=r?e.measuredBox[t]:e.layoutBox[t],n=s$(s);s.min=i[t].min,s.max=s.min+n});else if("x"===n||"y"===n){let t="x"===n?"y":"x";nR(r?e.measuredBox[t]:e.layoutBox[t],i[t])}else rc(n,e.layoutBox,i)&&sO(s=>{let n=r?e.measuredBox[s]:e.layoutBox[s],o=s$(i[s]);n.max=n.min+o,t.relativeTarget&&!t.currentAnimation&&(t.isProjectionDirty=!0,t.relativeTarget[s].max=t.relativeTarget[s].min+o)});let o=X();sH(o,i,e.layoutBox);let a=X();r?sH(a,t.applyTransform(s,!0),e.measuredBox):sH(a,i,e.layoutBox);let l=!nz(o),h=!1;if(!t.resumeFrom){let s=t.getClosestProjectingParent();if(s&&!s.resumeFrom){let{snapshot:n,layout:r}=s;if(n&&r){let o=t.options.layoutAnchor||void 0,a=K();sG(a,e.layoutBox,n.layoutBox,o);let l=K();sG(l,i,r.layoutBox,o),nW(a,l)||(h=!0),s.options.layoutRoot&&(t.relativeTarget=l,t.relativeTargetOrigin=a,t.relativeParent=s)}}}t.notifyListeners("didUpdate",{layout:i,snapshot:e,delta:a,layoutDelta:o,hasLayoutChanged:l,hasRelativeLayoutChanged:h})}else if(t.isLead()){let{onExitComplete:e}=t.options;e&&e()}t.options.transition=void 0}function n2(t){t.parent&&(t.isProjecting()||(t.isProjectionDirty=t.parent.isProjectionDirty),t.isSharedProjectionDirty||(t.isSharedProjectionDirty=!!(t.isProjectionDirty||t.parent.isProjectionDirty||t.parent.isSharedProjectionDirty)),t.isTransformDirty||(t.isTransformDirty=t.parent.isTransformDirty))}function n5(t){t.isProjectionDirty=t.isSharedProjectionDirty=t.isTransformDirty=!1}function n3(t){t.clearSnapshot()}function n4(t){t.clearMeasurements()}function n6(t){t.isLayoutDirty=!0,t.updateLayout()}function n8(t){t.isLayoutDirty=!1}function n9(t){t.isAnimationBlocked&&t.layout&&!t.isLayoutDirty&&(t.snapshot=t.layout,t.isLayoutDirty=!0)}function n7(t){let{visualElement:e}=t.options;e&&e.getProps().onBeforeLayoutMeasure&&e.notify("BeforeLayoutMeasure"),t.resetTransform()}function rt(t){t.finishAnimation(),t.targetDelta=t.relativeTarget=t.target=void 0,t.isProjectionDirty=!0}function re(t){t.resolveTargetDelta()}function ri(t){t.calcProjection()}function rs(t){t.resetSkewAndRotation()}function rn(t){t.removeLeadSnapshot()}function rr(t,e,i){t.translate=eI(e.translate,0,i),t.scale=eI(e.scale,1,i),t.origin=e.origin,t.originPoint=e.originPoint}function ro(t,e,i,s){t.min=eI(e.min,i.min,s),t.max=eI(e.max,i.max,s)}function ra(t){return t.animationValues&&void 0!==t.animationValues.opacityExit}let rl={duration:.45,ease:[.4,0,.1,1]},rh=t=>"u">typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(t),rd=rh("applewebkit/")&&!rh("chrome/")?Math.round:tP;function ru(t){t.min=rd(t.min),t.max=rd(t.max)}function rc(t,e,i){return"position"===t||"preserve-aspect"===t&&!(.2>=Math.abs(nH(e)-nH(i)))}function rp(t){return t!==t.root&&t.scroll?.wasRoot}let rm=nQ({attachResizeListener:(t,e)=>sz(t,"resize",e),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),rf={current:void 0},rg=nQ({measureScroll:t=>({x:t.scrollLeft,y:t.scrollTop}),defaultParent:()=>{if(!rf.current){let t=new rm({});t.mount(window),t.setOptions({layoutScroll:!0}),rf.current=t}return rf.current},resetTransform:(t,e)=>{t.style.transform=void 0!==e?e:"none"},checkIsScrollRoot:t=>"fixed"===window.getComputedStyle(t).position});function ry(t,e){let i=sZ(t),s=new AbortController;return[i,{passive:!0,...e,signal:s.signal},()=>s.abort()]}function rv(t,e,i){let{props:s}=t;t.animationState&&s.whileHover&&t.animationState.setActive("whileHover","Start"===i);let n=s["onHover"+i];n&&tC.postRender(()=>n(e,s7(e)))}function rx(t){return sK(t)&&"offsetHeight"in t&&!("ownerSVGElement"in t)}let rw=(t,e)=>!!e&&(t===e||rw(t,e.parentElement)),rb=new WeakSet;function rT(t){return e=>{"Enter"===e.key&&t(e)}}function rS(t,e){t.dispatchEvent(new PointerEvent("pointer"+e,{isPrimary:!0,bubbles:!0}))}function rk(t){return s9(t)&&!(sU.x||sU.y)}let rP=new WeakSet;function rA(t,e,i){let{props:s}=t;if(t.current instanceof HTMLButtonElement&&t.current.disabled)return;t.animationState&&s.whileTap&&t.animationState.setActive("whileTap","Start"===i);let n=s["onTap"+("End"===i?"":i)];n&&tC.postRender(()=>n(e,s7(e)))}let rE=new WeakMap,rM=new WeakMap,rC=t=>{let e=rE.get(t.target);e&&e(t)},rV=t=>{t.forEach(rC)},rj={some:0,all:1},rR=function(t,e){if("u"ik(i,s,t,e);return new Proxy((t,e)=>s(t,e),{get:(n,r)=>"create"===r?s:(i.has(r)||i.set(r,ik(r,void 0,t,e)),i.get(r))})}({animation:{Feature:class extends iP{constructor(t){super(t),t.animationState||(t.animationState=function(t){let e=e=>Promise.all(e.map(({animation:e,options:i})=>(function(t,e,i={}){let s;if(t.notify("AnimationStart",e),Array.isArray(e))s=Promise.all(e.map(e=>sR(t,e,i)));else if("string"==typeof e)s=sR(t,e,i);else{let n="function"==typeof e?iA(t,e,i.custom):e;s=Promise.all(sV(t,n,i))}return s.then(()=>{t.notify("AnimationComplete",e)})})(t,e,i))),i=sN(),s=!0,n=!1,r=e=>(i,s)=>{let n=iA(t,s,"exit"===e?t.presenceContext?.custom:void 0);if(n){let{transition:t,transitionEnd:e,...s}=n;i={...i,...s,...e}}return i};function o(o){let{props:a}=t,l=function t(e){if(!e)return;if(!e.isControllingVariants){let i=e.parent&&t(e.parent)||{};return void 0!==e.props.initial&&(i.initial=e.props.initial),i}let i={};for(let t=0;tc&&v,S=!1,k=Array.isArray(y)?y:[y],P=k.reduce(r(f),{});!1===x&&(P={});let{prevResolvedValues:A={}}=g,E={...A,...P},M=e=>{T=!0,d.has(e)&&(S=!0,d.delete(e)),g.needsAnimating[e]=!0;let i=t.getValue(e);i&&(i.liveStyle=!1)};for(let t in E){let e=P[t],i=A[t];if(!u.hasOwnProperty(t))(iC(e)&&iC(i)?!sL(e,i)||b:e!==i)?null!=e?M(t):d.add(t):void 0!==e&&d.has(t)?M(t):g.protectedKeys[t]=!0}g.prevProp=y,g.prevResolvedValues=P,g.isActive&&(u={...u,...P}),(s||n)&&t.blockInitialAnimation&&(T=!1);let C=w&&b,V=!C||S;T&&V&&h.push(...k.map(e=>{let i={type:f};if("string"==typeof e&&(s||n)&&!C&&t.manuallyAnimateOnMount&&t.parent){let{parent:s}=t,n=iA(s,e);if(s.enteringChildren&&n){let{delayChildren:e}=n.transition||{};i.delay=sj(s.enteringChildren,t,e)}}return{animation:e,options:i}}))}if(d.size){let e={};if("boolean"!=typeof a.initial){let i=iA(t,Array.isArray(a.initial)?a.initial[0]:a.initial);i&&i.transition&&(e.transition=i.transition)}d.forEach(i=>{let s=t.getBaseTarget(i),n=t.getValue(i);n&&(n.liveStyle=!0),e[i]=s??null}),h.push({animation:e})}let f=!!h.length;return s&&(!1===a.initial||a.initial===a.animate)&&!t.manuallyAnimateOnMount&&(f=!1),s=!1,n=!1,f?e(h):Promise.resolve()}return{animateChanges:o,setActive:function(e,s){if(i[e].isActive===s)return Promise.resolve();t.variantChildren?.forEach(t=>t.animationState?.setActive(e,s)),i[e].isActive=s;let n=o(e);for(let t in i)i[t].protectedKeys={};return n},setAnimateFunction:function(i){e=i(t)},getState:()=>i,reset:()=>{i=sN(),n=!0}}}(t))}updateAnimationControlsSubscription(){let{animate:t}=this.node.getProps();ed(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){let{animate:t}=this.node.getProps(),{animate:e}=this.node.prevProps||{};t!==e&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}},exit:{Feature:class extends iP{constructor(){super(...arguments),this.id=sI++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;let{isPresent:t,onExitComplete:e}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;if(t&&!1===i){if(this.isExitComplete){let{initial:t,custom:e}=this.node.getProps();if("string"==typeof t||"object"==typeof t&&null!==t&&!Array.isArray(t)){let i=iA(this.node,t,e);if(i){let{transition:t,transitionEnd:e,...s}=i;for(let t in s)this.node.getValue(t)?.jump(s[t])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}let s=this.node.animationState.setActive("exit",!t);e&&!t&&s.then(()=>{this.isExitComplete=!0,e(this.id)})}mount(){let{register:t,onExitComplete:e}=this.node.presenceContext||{};e&&e(this.id),t&&(this.unmount=t(this.id))}unmount(){}}},inView:{Feature:class extends iP{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){var t;let e;this.stopObserver?.();let{viewport:i={}}=this.node.getProps(),{root:s,margin:n,amount:r="some",once:o}=i,a={root:s?s.current:void 0,rootMargin:n,threshold:"number"==typeof r?r:rj[r]},l=t=>{let{isIntersecting:e}=t;if(this.isInView===e||(this.isInView=e,o&&!e&&this.hasEnteredView))return;e&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",e);let{onViewportEnter:i,onViewportLeave:s}=this.node.getProps(),n=e?i:s;n&&n(t)};this.stopObserver=(t=this.node.current,e=function({root:t,...e}){let i=t||document;rM.has(i)||rM.set(i,{});let s=rM.get(i),n=JSON.stringify(e);return s[n]||(s[n]=new IntersectionObserver(rV,{root:t,...e})),s[n]}(a),rE.set(t,l),e.observe(t),()=>{rE.delete(t),e.unobserve(t)})}mount(){this.startObserver()}update(){if("u"t[i]!==e[i]}(t,e))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}}},tap:{Feature:class extends iP{mount(){let{current:t}=this.node;if(!t)return;let{globalTapTarget:e,propagate:i}=this.node.props;this.unmount=function(t,e,i={}){let[s,n,r]=ry(t,i),o=t=>{let s=t.currentTarget;if(!rk(t)||rP.has(t))return;rb.add(s),i.stopPropagation&&rP.add(t);let r=e(s,t),o=(t,e)=>{window.removeEventListener("pointerup",a),window.removeEventListener("pointercancel",l),rb.has(s)&&rb.delete(s),rk(t)&&"function"==typeof r&&r(t,{success:e})},a=t=>{o(t,s===window||s===document||i.useGlobalTarget||rw(s,t.target))},l=t=>{o(t,!1)};window.addEventListener("pointerup",a,n),window.addEventListener("pointercancel",l,n)};return s.forEach(t=>{((i.useGlobalTarget?window:t).addEventListener("pointerdown",o,n),rx(t))&&(t.addEventListener("focus",t=>((t,e)=>{let i=t.currentTarget;if(!i)return;let s=rT(()=>{if(rb.has(i))return;rS(i,"down");let t=rT(()=>{rS(i,"up")});i.addEventListener("keyup",t,e),i.addEventListener("blur",()=>rS(i,"cancel"),e)});i.addEventListener("keydown",s,e),i.addEventListener("blur",()=>i.removeEventListener("keydown",s),e)})(t,n)),s6.has(t.tagName)||!0===t.isContentEditable||t.hasAttribute("tabindex")||(t.tabIndex=0))}),r}(t,(t,e)=>(rA(this.node,e,"Start"),(t,{success:e})=>rA(this.node,t,e?"End":"Cancel")),{useGlobalTarget:e,stopPropagation:i?.tap===!1})}unmount(){}}},focus:{Feature:class extends iP{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch(e){t=!0}t&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){this.isActive&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=ij(sz(this.node.current,"focus",()=>this.onFocus()),sz(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}},hover:{Feature:class extends iP{mount(){let{current:t}=this.node;t&&(this.unmount=function(t,e,i={}){let[s,n,r]=ry(t,i);return s.forEach(t=>{let i,s=!1,r=!1,o=e=>{i&&(i(e),i=void 0),t.removeEventListener("pointerleave",l)},a=t=>{s=!1,window.removeEventListener("pointerup",a),window.removeEventListener("pointercancel",a),r&&(r=!1,o(t))},l=t=>{if("touch"!==t.pointerType){if(s){r=!0;return}o(t)}};t.addEventListener("pointerenter",s=>{if("touch"===s.pointerType||sU.x||sU.y)return;r=!1;let o=e(t,s);"function"==typeof o&&(i=o,t.addEventListener("pointerleave",l,n))},n),t.addEventListener("pointerdown",()=>{s=!0,window.addEventListener("pointerup",a,n),window.addEventListener("pointercancel",a,n)},n)}),r}(t,(t,e)=>(rv(this.node,e,"Start"),t=>rv(this.node,t,"End"))))}unmount(){}}},pan:{Feature:class extends iP{constructor(){super(...arguments),this.removePointerDownListener=tP}onPointerDown(t){this.session=new nn(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:ne(this.node)})}createPanHandlers(){let{onPanSessionStart:t,onPanStart:e,onPan:i,onPanEnd:s}=this.node.getProps();return{onSessionStart:ny(t),onStart:ny(e),onMove:ny(i),onEnd:(t,e)=>{delete this.session,s&&tC.postRender(()=>s(t,e))}}}mount(){this.removePointerDownListener=nt(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}},drag:{Feature:class extends iP{constructor(t){super(t),this.removeGroupControls=tP,this.removeListeners=tP,this.controls=new nm(t)}mount(){let{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||tP}update(){let{dragControls:t}=this.node.getProps(),{dragControls:e}=this.node.prevProps||{};t!==e&&(this.removeGroupControls(),t&&(this.removeGroupControls=t.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}},ProjectionNode:rg,MeasureLayout:nS},layout:{ProjectionNode:rg,MeasureLayout:nS}},(t,e)=>e.isSVG??e6(t)?new eW(e):new e3(e,{allowProjection:t!==o.Fragment}));var rD=o;function rL(t,e){if("function"==typeof t)return t(e);null!=t&&(t.current=e)}class r_ extends rD.Component{getSnapshotBeforeUpdate(t){let e=this.props.childRef.current;if(rx(e)&&t.isPresent&&!this.props.isPresent&&!1!==this.props.pop){let t=e.offsetParent,i=rx(t)&&t.offsetWidth||0,s=rx(t)&&t.offsetHeight||0,n=getComputedStyle(e),r=this.props.sizeRef.current;r.height=parseFloat(n.height),r.width=parseFloat(n.width),r.top=e.offsetTop,r.left=e.offsetLeft,r.right=i-r.width-r.left,r.bottom=s-r.height-r.top,r.direction=n.direction}return null}componentDidUpdate(){}render(){return this.props.children}}function rB({children:t,isPresent:e,anchorX:i,anchorY:s,root:n,pop:a}){let l=(0,rD.useId)(),h=(0,rD.useRef)(null),d=(0,rD.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0,direction:"ltr"}),{nonce:u}=(0,rD.useContext)(e7),c=function(...t){return o.useCallback(function(...t){return e=>{let i=!1,s=t.map(t=>{let s=rL(t,e);return i||"function"!=typeof s||(i=!0),s});if(i)return()=>{for(let e=0;e{let{width:t,height:r,top:o,left:c,right:p,bottom:m,direction:f}=d.current;if(e||!1===a||!h.current||!t||!r)return;let g="rtl"===f,y="left"===i?g?`right: ${p}`:`left: ${c}`:g?`left: ${c}`:`right: ${p}`,v="bottom"===s?`bottom: ${m}`:`top: ${o}`;h.current.dataset.motionPopId=l;let x=document.createElement("style");u&&(x.nonce=u);let w=n??document.head;return w.appendChild(x),x.sheet&&x.sheet.insertRule(` + [data-motion-pop-id="${l}"] { + position: absolute !important; + width: ${t}px !important; + height: ${r}px !important; + ${y}px !important; + ${v}px !important; + } + `),()=>{h.current?.removeAttribute("data-motion-pop-id"),w.contains(x)&&w.removeChild(x)}},[e]),(0,r.jsx)(r_,{isPresent:e,childRef:h,sizeRef:d,pop:a,children:!1===a?t:rD.cloneElement(t,{ref:c})})}let rF=({children:t,initial:e,isPresent:i,onExitComplete:s,custom:n,presenceAffectsLayout:a,mode:l,anchorX:h,anchorY:d,root:u})=>{let c=iu(rN),p=(0,o.useId)(),m=!0,f=(0,o.useMemo)(()=>(m=!1,{id:p,initial:e,isPresent:i,custom:n,onExitComplete:t=>{for(let e of(c.set(t,!0),c.values()))if(!e)return;s&&s()},register:t=>(c.set(t,!1),()=>c.delete(t))}),[i,c,s]);return a&&m&&(f={...f}),(0,o.useMemo)(()=>{c.forEach((t,e)=>c.set(e,!1))},[i]),o.useEffect(()=>{i||c.size||!s||s()},[i]),t=(0,r.jsx)(rB,{pop:"popLayout"===l,isPresent:i,anchorX:h,anchorY:d,root:u,children:t}),(0,r.jsx)(id.Provider,{value:f,children:t})};function rN(){return new Map}let rI=t=>t.key||"";function rO(t){let e=[];return o.Children.forEach(t,t=>{(0,o.isValidElement)(t)&&e.push(t)}),e}let rz=({children:t,custom:e,initial:i=!0,onExitComplete:s,presenceAffectsLayout:n=!0,mode:a="sync",propagate:l=!1,anchorX:h="left",anchorY:d="top",root:u})=>{let[c,p]=nw(l),m=(0,o.useMemo)(()=>rO(t),[t]),f=l&&!c?[]:m.map(rI),g=(0,o.useRef)(!0),y=(0,o.useRef)(m),v=iu(()=>new Map),x=(0,o.useRef)(new Set),[w,b]=(0,o.useState)(m),[T,S]=(0,o.useState)(m);iS(()=>{g.current=!1,y.current=m;for(let t=0;t{let o=rI(t),w=(!l||!!c)&&(m===T||f.includes(o));return(0,r.jsx)(rF,{isPresent:w,initial:(!g.current||!!i)&&void 0,custom:e,presenceAffectsLayout:n,mode:a,root:u,onExitComplete:w?void 0:()=>{if(x.current.has(o)||!v.has(o))return;x.current.add(o),v.set(o,!0);let t=!0;v.forEach(e=>{e||(t=!1)}),t&&(P?.(),S(y.current),l&&p?.(),s&&s())},anchorX:h,anchorY:d,children:t},o)})})};var rU=t.i(70703);function r$(t){let e=iu(()=>ea(t)),{isStatic:i}=(0,o.useContext)(e7);if(i){let[,i]=(0,o.useState)(t);(0,o.useEffect)(()=>e.on("change",i),[])}return e}function rW(t,e){let i=r$(e()),s=()=>i.set(e());return s(),iS(()=>{let e=()=>tC.preRender(s,!1,!0),i=t.map(t=>t.on("change",e));return()=>{i.forEach(t=>t()),tV(s)}}),i}function rH(t,e,i,s){if("function"==typeof t){let e;return er.current=[],t(),e=rW(er.current,t),er.current=void 0,e}if(void 0!==i&&!Array.isArray(i)&&"function"!=typeof e){var n=t,r=e,o=i,a=s;let l=iu(()=>Object.keys(o)),h=iu(()=>({}));for(let t of l)h[t]=rH(n,r,o[t],a);return h}let l="function"==typeof e?e:function(...t){let e=!Array.isArray(t[0]),i=e?0:-1,s=t[0+i],n=su(t[1+i],t[2+i],t[3+i]);return e?n(s):n}(e,i,s),h=Array.isArray(t)?rY(t,l):rY([t],([t])=>l(t)),d=Array.isArray(t)?void 0:t.accelerate;return d&&!d.isTransformed&&"function"!=typeof e&&Array.isArray(i)&&s?.clamp!==!1&&(h.accelerate={...d,times:e,keyframes:i,isTransformed:!0,...s?.ease?{ease:s.ease}:{}}),h}function rY(t,e){let i=iu(()=>[]);return rW(t,()=>{i.length=0;let s=t.length;for(let e=0;et.A(30860),{loadableGenerated:{modules:[20927]},ssr:!1});function rZ({active:t}){return(0,r.jsx)("div",{className:"dm-st-rail","aria-hidden":!0,children:rK.STAGES.map((e,i)=>(0,r.jsxs)(o.default.Fragment,{children:[i>0&&(0,r.jsx)("span",{className:`dm-st-rail__line is-${i<=t?"on":"off"}`}),(0,r.jsxs)("div",{className:`dm-st-rail__step is-${i{let t=window.matchMedia("(max-width: 767px)"),e=window.matchMedia("(prefers-reduced-motion: reduce)"),i=()=>{f(t.matches),y(e.matches)};return i(),t.addEventListener("change",i),e.addEventListener("change",i),()=>{t.removeEventListener("change",i),e.removeEventListener("change",i)}},[]),(0,o.useEffect)(()=>{let t=e.current;if(!t)return;let i=new IntersectionObserver(t=>{t.some(t=>t.isIntersecting)&&(u(!0),p(!0),i.disconnect())},{rootMargin:"70% 0px"}),s=new IntersectionObserver(t=>p(t.some(t=>t.isIntersecting)),{rootMargin:"10% 0px"});return i.observe(t),s.observe(t),()=>{i.disconnect(),s.disconnect()}},[]),(0,o.useEffect)(()=>{let t=e.current;if(!t)return;rX.default.registerPlugin(rG.ScrollTrigger);let n="before",r=0,o=rG.ScrollTrigger.create({trigger:t,start:"top top",end:"bottom bottom",scrub:.4,invalidateOnRefresh:!0,onUpdate:t=>{let e=t.progress;i.current=e,s.set(e);let o=e<=2e-4?"before":e>=.9998?"after":"pinned";o!==n&&(n=o,a(o));let l=Math.round(e*(rK.N-1));l!==r&&(r=l,h(l))}}),l=setTimeout(()=>rG.ScrollTrigger.refresh(),120);return()=>{clearTimeout(l),o.kill()}},[s]);let v=rH(s,[0,.03,.06],[1,1,0]),x=rH(s,[.02,.07],[0,1]);return(0,r.jsxs)("section",{ref:e,className:`dm-st is-${n}${t?" is-connected":""}`,"aria-label":"Strategy — Happier Riders. Higher Fulfillment.",children:[(0,r.jsx)("div",{className:"dm-st-sticky",children:(0,r.jsxs)("div",{className:"dm-st-card",children:[d&&(0,r.jsx)("div",{className:"dm-st-canvas",children:(0,r.jsx)(rq,{progress:i,reduced:g,isMobile:m,active:c&&"pinned"===n,stage:l})}),"before"!==n&&(0,r.jsxs)("div",{className:"dm-st-ui",children:[(0,r.jsxs)(rR.div,{className:"dm-st-top",style:{opacity:x},children:[(0,r.jsxs)("div",{className:"dm-st-eyebrow",children:[(0,r.jsx)("span",{className:"dm-st-dot"})," MileTruth Strategy Engine"]}),(0,r.jsx)(rZ,{active:l})]}),(0,r.jsxs)(rR.div,{className:"dm-st-scrollhint",style:{opacity:v},children:[(0,r.jsx)("span",{children:"Scroll to follow the strategy"}),(0,r.jsx)("span",{className:"dm-st-arrow",children:"↓"})]}),(0,r.jsxs)(rJ,{i:0,scroll:s,side:"left",active:l,children:[(0,r.jsx)("h3",{className:"dm-st-pillar__title",children:"Orders & riders enter the system"}),(0,r.jsx)("p",{className:"dm-st-anchor__lead",children:"Orders are uploaded and matched against the available fleet, ready for assignment."}),(0,r.jsxs)("div",{className:"dm-st-anchor__chips",children:[(0,r.jsx)("span",{className:"dm-st-anchor__chip",children:"59 Orders"}),(0,r.jsx)("span",{className:"dm-st-anchor__chip",children:"4 Riders"}),(0,r.jsx)("span",{className:"dm-st-anchor__chip",children:"Fleet ready"})]})]}),(0,r.jsxs)(rJ,{i:1,scroll:s,side:"right",active:l,children:[(0,r.jsx)("h3",{className:"dm-st-pillar__title",children:"Six strategies, evaluated in parallel"}),(0,r.jsx)("p",{className:"dm-st-anchor__lead",children:"The AI runs every routing strategy at the same time — legacy baselines and MileTruth's unified engine."}),(0,r.jsxs)("div",{className:"dm-st-anchor__chips",children:[(0,r.jsx)("span",{className:"dm-st-anchor__chip",children:"EV Aware"}),(0,r.jsx)("span",{className:"dm-st-anchor__chip",children:"Multi Trip"}),(0,r.jsx)("span",{className:"dm-st-anchor__chip",children:"+4 more"})]})]}),(0,r.jsxs)(rJ,{i:2,scroll:s,side:"left",active:l,children:[(0,r.jsx)("h3",{className:"dm-st-pillar__title",children:"Routes optimized & validated"}),(0,r.jsx)("p",{className:"dm-st-anchor__lead",children:"Every route is solved for distance, then checked against battery range and delivery SLAs."}),(0,r.jsxs)("div",{className:"dm-st-anchor__chips",children:[(0,r.jsx)("span",{className:"dm-st-anchor__chip",children:"Optimize"}),(0,r.jsx)("span",{className:"dm-st-anchor__chip",children:"Battery"}),(0,r.jsx)("span",{className:"dm-st-anchor__chip",children:"SLA"})]})]}),(0,r.jsxs)(rJ,{i:3,scroll:s,side:"right",active:l,children:[(0,r.jsx)("h3",{className:"dm-st-pillar__title",children:"Every strategy is scored"}),(0,r.jsx)("p",{className:"dm-st-anchor__lead",children:"Each strategy is graded live on fulfillment, SLA compliance, efficiency and battery feasibility."}),(0,r.jsxs)("div",{className:"dm-st-anchor__chips",children:[(0,r.jsx)("span",{className:"dm-st-anchor__chip",children:"Grade A"}),(0,r.jsx)("span",{className:"dm-st-anchor__chip",children:"88% Fulfillment"}),(0,r.jsx)("span",{className:"dm-st-anchor__chip",children:"95% SLA"})]})]}),(0,r.jsxs)(rJ,{i:4,scroll:s,side:"right",active:l,children:[(0,r.jsx)("h3",{className:"dm-st-pillar__title",children:"Happier riders. Higher fulfillment."}),(0,r.jsx)("p",{className:"dm-st-anchor__lead",children:"EV Aware wins — the best fulfillment with feasible, battery-safe routes for every rider."}),(0,r.jsxs)("div",{className:"dm-st-anchor__chips",children:[(0,r.jsx)("span",{className:"dm-st-anchor__chip dm-st-anchor__chip--win",children:"🏆 EV Aware"}),(0,r.jsx)("span",{className:"dm-st-anchor__chip",children:"88% Score"}),(0,r.jsx)("span",{className:"dm-st-anchor__chip",children:"52/59 Fulfilled"})]})]})]})]})}),(0,r.jsx)("style",{children:r0})]})}let r0=` +/* Scroll length tuned for pacing: ~100vh per stage (was 144vh) so the 5 stages + complete in noticeably less scrolling and the workflow feels tighter / faster. + Stage cross-fade windows are progress-based (0…1), so they stay aligned. */ +.dm-st { position: relative; height: 500vh; background: transparent; } +.dm-st-sticky { position: absolute; top: 0; left: 0; width: 100%; height: 100vh; overflow: hidden; + will-change: transform; transform: translateZ(0); backface-visibility: hidden; } +.dm-st.is-pinned .dm-st-sticky { position: fixed; top: 0; left: 0; } +.dm-st.is-after .dm-st-sticky { position: absolute; top: auto; bottom: 0; } + +.dm-st-card { + position: absolute !important; inset: 20px !important; + border-radius: 28px !important; overflow: hidden !important; + background: radial-gradient(120% 100% at 50% 0%, #ffffff 0%, #eef1f6 60%, #e6eaf2 100%) !important; + border: 1px solid rgba(15,23,42,0.08) !important; + box-shadow: 0 30px 90px -34px rgba(15,23,42,0.4) !important; + box-sizing: border-box !important; +} +@media (max-width: 767px) { .dm-st-card { inset: 10px !important; border-radius: 20px !important; } } + +/* Connected mode (inside Workflow 3): flatten the card's bottom so the Strategy + content card below butts directly against it — same seam as Workflow 1 & 2. */ +.dm-st.is-connected .dm-st-card { + top: 20px !important; left: 20px !important; right: 20px !important; bottom: 0 !important; + border-radius: 28px 28px 0 0 !important; border-bottom: none !important; + /* Flush against the Strategy card below — drop the heavy downward shadow so it + doesn't cast a dark band onto that card's top edge (the two read as one container). */ + box-shadow: none !important; +} +@media (max-width: 767px) { + .dm-st.is-connected .dm-st-card { + top: 10px !important; left: 10px !important; right: 10px !important; bottom: 0 !important; + border-radius: 20px 20px 0 0 !important; + } +} + +.dm-st-canvas { position: absolute; inset: 0; z-index: 1; } +.dm-st-canvas canvas { display: block; } + +.dm-st-ui { position: absolute; inset: 0; z-index: 4; pointer-events: none; + font-family: var(--font-space-grotesk), var(--font-manrope), system-ui, sans-serif; color: #0f172a; } + +/* ---- Persistent header: title + 5-stage rail ---- */ +.dm-st-top { position: absolute; top: clamp(96px, 13vh, 128px); left: 0; right: 0; z-index: 5; + display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 0 16px; } +.dm-st-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; line-height: 1.35; + letter-spacing: 0.28em; text-transform: uppercase; color: #475569; padding: 9px 18px; border-radius: 999px; + background: rgba(255,255,255,0.72); border: 1px solid rgba(15,23,42,0.08); backdrop-filter: blur(10px); white-space: nowrap; } +.dm-st-dot { width: 6px; height: 6px; border-radius: 50%; background: #6366f1; box-shadow: 0 0 10px #6366f1; } + +.dm-st-rail { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; max-width: 980px; } +.dm-st-rail__step { display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px; border-radius: 999px; + background: rgba(255,255,255,0.7); border: 1px solid rgba(15,23,42,0.08); backdrop-filter: blur(8px); + transition: all 0.45s cubic-bezier(0.22,1,0.36,1); } +.dm-st-rail__num { width: 18px; height: 18px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; + font-size: 10px; font-weight: 800; color: #64748b; background: rgba(15,23,42,0.06); } +.dm-st-rail__title { font-size: 11px; font-weight: 600; letter-spacing: 0.02em; color: #64748b; white-space: nowrap; } +.dm-st-rail__step.is-current { background: color-mix(in srgb, var(--c) 16%, white); border-color: var(--c); + box-shadow: 0 0 22px -6px var(--c); } +.dm-st-rail__step.is-current .dm-st-rail__num { background: var(--c); color: #fff; } +.dm-st-rail__step.is-current .dm-st-rail__title { color: #0f172a; } +.dm-st-rail__step.is-done .dm-st-rail__num { background: #22C55E; color: #fff; } +.dm-st-rail__step.is-done .dm-st-rail__title { color: #334155; } +.dm-st-rail__line { width: 14px; height: 1px; background: rgba(15,23,42,0.14); margin: 0 3px; transition: background 0.45s ease; } +.dm-st-rail__line.is-on { background: var(--c, #22C55E); } + +.dm-st-scrollhint { position: absolute; bottom: clamp(26px, 6vh, 60px); left: 50%; transform: translateX(-50%); + display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 12px; letter-spacing: 0.12em; + color: #64748b; text-transform: uppercase; text-align: center; } +.dm-st-arrow { font-size: 18px; animation: dmStBob 1.8s ease-in-out infinite; } +@keyframes dmStBob { 0%,100% { transform: translateY(0); opacity: 0.5; } 50% { transform: translateY(6px); opacity: 1; } } + +/* ---- Per-stage glass content card ---- */ +.dm-st-card-story { position: absolute; bottom: clamp(24px, 6vh, 64px); width: min(484px, 88vw); + pointer-events: auto; will-change: opacity, transform; padding: 20px 22px; border-radius: 20px; + background: rgba(255,255,255,0.94); border: 1px solid rgba(15,23,42,0.08); + /* backdrop blur removed — card cross-fades/translates per scroll-stage; blur was the + heaviest per-frame cost on this section. Near-opaque white keeps the glass look. */ + border-top: 3px solid var(--c); + box-shadow: 0 28px 70px -34px rgba(15,23,42,0.5); } +.dm-st-card-story.is-left { left: clamp(18px, 5vw, 72px); } +.dm-st-card-story.is-right { right: clamp(18px, 5vw, 72px); } +.dm-st-card-story__head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; } +.dm-st-pillar__num { font-size: 12px; font-weight: 800; letter-spacing: 0.1em; color: #fff; + background: var(--c); border-radius: 7px; padding: 3px 8px; } +.dm-st-pillar__kicker { font-size: clamp(11px, 1.1vw, 13px); font-weight: 700; letter-spacing: 0.16em; + text-transform: uppercase; color: var(--c); } +.dm-st .dm-st-pillar__title { margin: 0 0 14px !important; padding: 0 !important; color: #0f172a !important; + font-weight: 700 !important; text-transform: none !important; letter-spacing: -0.015em !important; + font-size: clamp(18px, 2vw, 26px) !important; line-height: 1.16 !important; } +.dm-st .dm-st-pillar__title--hero { font-size: clamp(22px, 2.6vw, 34px) !important; + background: linear-gradient(90deg, #C01227, #E2354A) !important; -webkit-background-clip: text !important; + background-clip: text !important; -webkit-text-fill-color: transparent !important; } +.dm-st-foot { margin: 12px 0 0; font-size: clamp(12px, 1.1vw, 13.5px); line-height: 1.5; color: #475569; + display: flex; align-items: center; gap: 8px; } +.dm-st-livedot { width: 8px; height: 8px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 0 var(--c); + animation: dmStPulse 1.8s ease-out infinite; } +@keyframes dmStPulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--c) 55%, transparent); } 100% { box-shadow: 0 0 0 9px transparent; } } + +/* In-scene 3D labels (drei ) — crisp glass chips floating in the WebGL scene */ +.dm-st3d-file, .dm-st3d-count, .dm-st3d-ai, .dm-st3d-chip { + font-family: var(--font-space-grotesk), var(--font-manrope), system-ui, sans-serif; + pointer-events: none; user-select: none; white-space: nowrap; transition: opacity 0.2s linear; } +.dm-st3d-file, .dm-st3d-ai { + display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: #0f172a; + background: rgba(255,255,255,0.88); border: 1px solid rgba(34,197,94,0.4); border-radius: 999px; + padding: 6px 13px; box-shadow: 0 8px 22px -12px rgba(34,197,94,0.7); backdrop-filter: blur(8px); } +.dm-st3d-count { font-size: 15px; font-weight: 800; color: #0f172a; background: rgba(255,255,255,0.9); + border: 1px solid rgba(34,197,94,0.45); border-radius: 12px; padding: 6px 14px; + box-shadow: 0 10px 26px -12px rgba(34,197,94,0.8); backdrop-filter: blur(8px); } +.dm-st3d-count span { color: #16a34a; font-size: 19px; } +.dm-st3d-chip { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.92); + border: 1px solid rgba(34,197,94,0.4); border-radius: 12px; padding: 6px 11px; + box-shadow: 0 10px 26px -14px rgba(15,23,42,0.7); backdrop-filter: blur(8px); } +.dm-st3d-chip__ico { font-size: 17px; } +.dm-st3d-chip__txt { display: flex; flex-direction: column; line-height: 1.15; } +.dm-st3d-chip__txt b { font-size: 12.5px; font-weight: 800; color: #0f172a; } +.dm-st3d-chip__txt { font-size: 10.5px; color: #475569; } + +/* Generic themed 3D chips (stages 02–05) — colour comes from --tc per element */ +.dm-st3d-tag, .dm-st3d-score { + font-family: var(--font-space-grotesk), var(--font-manrope), system-ui, sans-serif; + pointer-events: none; user-select: none; white-space: nowrap; transition: opacity 0.2s linear; } +.dm-st3d-tag { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; color: #0f172a; + background: rgba(255,255,255,0.9); border: 1px solid color-mix(in srgb, var(--tc, #8B5CF6) 55%, white); + border-radius: 999px; padding: 5px 11px; box-shadow: 0 8px 20px -12px var(--tc, #8B5CF6); backdrop-filter: blur(8px); } +.dm-st3d-tag b { font-weight: 800; color: var(--tc, #0f172a); } +.dm-st3d-tag.is-u { background: color-mix(in srgb, var(--tc) 14%, white); border-color: var(--tc); } +.dm-st3d-tag.is-muted { opacity: 0.82; border-style: dashed; } +.dm-st3d-tag.is-win { border-color: var(--tc); box-shadow: 0 10px 26px -10px var(--tc); } +.dm-st3d-score { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: #0f172a; + background: rgba(255,255,255,0.92); border: 1px solid color-mix(in srgb, var(--tc, #0f172a) 45%, white); + border-radius: 12px; padding: 6px 13px; box-shadow: 0 10px 26px -12px var(--tc, #0f172a); backdrop-filter: blur(8px); } +.dm-st3d-score b { font-size: 16px; font-weight: 800; color: var(--tc, #0f172a); } +.dm-st3d-score.is-win { border-color: var(--tc); } + +/* Light side-card anchor — the 3D world now carries the detail */ +.dm-st-anchor__lead { margin: 0 0 14px; font-size: clamp(13px, 1.2vw, 15px); line-height: 1.55; color: #475569; } +.dm-st-anchor__chips { display: flex; flex-wrap: wrap; gap: 8px; } +.dm-st-anchor__chip { font-size: 12px; font-weight: 700; color: #334155; padding: 6px 12px; border-radius: 999px; + background: color-mix(in srgb, var(--c) 9%, white); border: 1px solid color-mix(in srgb, var(--c) 30%, white); } +.dm-st-anchor__chip--win { color: #fff; background: linear-gradient(90deg, #C01227, #E2354A); border-color: transparent; } + +/* In-world Command Center KPI card + Winner card (drei , faded by proximity) */ +.dm-st3d-kpi, .dm-st3d-winner3d { + font-family: var(--font-space-grotesk), var(--font-manrope), system-ui, sans-serif; + pointer-events: none; user-select: none; transition: opacity 0.2s linear; } +.dm-st3d-kpi { display: flex; flex-direction: column; gap: 5px; width: 132px; padding: 9px 12px; border-radius: 12px; + background: rgba(255,255,255,0.95); border: 1px solid color-mix(in srgb, var(--tc, #F59E0B) 40%, white); + box-shadow: 0 10px 26px -14px var(--tc, #F59E0B); backdrop-filter: blur(8px); } +.dm-st3d-kpi__n { font-size: 10.5px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #64748b; } +.dm-st3d-kpi__v { font-size: 24px; font-weight: 800; color: #0f172a; line-height: 1; } +.dm-st3d-kpi__v i { font-size: 14px; font-weight: 700; color: var(--tc, #F59E0B); font-style: normal; margin-left: 1px; } +.dm-st3d-kpi__bar { height: 6px; border-radius: 999px; background: rgba(15,23,42,0.08); overflow: hidden; } +.dm-st3d-kpi__bar i { display: block; height: 100%; border-radius: 999px; background: var(--tc, #F59E0B); } +.dm-st3d-winner3d { display: flex; flex-direction: column; gap: 3px; width: 184px; padding: 13px 15px; border-radius: 14px; + background: rgba(255,255,255,0.96); border: 1px solid rgba(192,18,39,0.4); box-shadow: 0 16px 40px -16px rgba(192,18,39,0.6); backdrop-filter: blur(8px); } +.dm-st3d-winner3d__top { font-size: 10.5px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #C01227; } +.dm-st3d-winner3d__name { font-size: 26px; font-weight: 800; color: #0f172a; letter-spacing: -0.02em; line-height: 1.05; margin-bottom: 4px; } +.dm-st3d-winner3d__row { font-size: 12px; color: #475569; } +.dm-st3d-winner3d__row b { color: #C01227; font-weight: 800; margin-right: 4px; } + +@media (max-width: 1000px) { + .dm-st-rail__title { display: none; } + .dm-st-rail__step { padding: 5px 7px; } + .dm-st-rail__line { width: 9px; } +} +@media (max-width: 767px) { + .dm-st { height: 420vh; } + /* Full-width, bottom-anchored story card. Bound its height to the viewport and + let it scroll internally so a tall stage card (Command Center / Winner) can + never be clipped off the top of a short phone screen — the active workflow + state always stays fully visible. */ + .dm-st-card-story { left: 0 !important; right: 0 !important; margin: 0 auto; width: calc(100% - 28px); + bottom: clamp(18px, 4vh, 40px); padding: 15px 16px; + max-height: 52vh; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; } +} +@media (prefers-reduced-motion: reduce) { + .dm-st-arrow { animation: none !important; } +} +`,r1=` +/* ============================================================ + Workflow 3 = ONE container: + ├─ Happier Riders. Higher Fulfillment. (full StrategySection — 3D) + └─ Strategy (content card, flush, pulled up) + The Strategy card aligns to the 3D card's 20px side insets, butts against + its flat bottom and rounds the bottom corners, so the two read as a single + continuous container — same technique as Workflow 1 & 2. + ============================================================ */ +.dm-wf3 { + position: relative; + margin: 0 auto 0; +} + +/* Cancel the global "section { padding: 6rem 0 }" (consolidated into /public/css/site.css): both + this wrapper and the nested .dm-st are sections, so that 96px top+bottom stacked + into large empty bands above / between the workflows. These are full-bleed pinned + experiences whose cards butt together via their own insets — no section padding. */ +.dm-wf3, .dm-wf3 .dm-st { padding-top: 0; padding-bottom: 0; } + +.dm-wf3-card { + position: relative; + z-index: 2; + margin: 0 20px 0; + background: #181818; + border: 1px solid rgba(255, 255, 255, 0.06); + border-top: none; + border-radius: 0 0 28px 28px; + /* No shadow: this card is flush under the strategy 3D card and merges with it as one + continuous container — a shadow here would re-introduce a dark band at the seam. */ + box-shadow: none; + padding: 36px 60px; + display: flex; + align-items: center; + justify-content: space-between; + gap: 40px; + overflow: hidden; + box-sizing: border-box; +} + +.dm-workflow-left { + flex: 1; + display: flex; + align-items: center; + justify-content: center; + max-width: 440px; +} +.dm-workflow-svg { + width: 100%; + height: auto; + filter: drop-shadow(0 8px 24px rgba(0,0,0,0.3)); +} + +.dm-workflow-right { + flex: 1.2; + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 20px; +} +.dm-workflow-quote { margin-bottom: 5px; } + +.dm-workflow-title { + font-family: var(--font-space-grotesk), var(--font-manrope), system-ui, sans-serif; + font-size: 38px; + font-weight: 700; + color: #F8FAFC !important; + letter-spacing: -0.015em; + margin: 0 !important; + padding: 0 !important; + text-transform: uppercase; +} + +.dm-workflow-text-container { min-height: 150px; width: 100%; } +.dm-workflow-text { + font-family: var(--font-manrope), system-ui, sans-serif; + font-size: 21px; + line-height: 1.75; + letter-spacing: 0.01em; + color: #A3A3A3; + margin: 0 !important; + padding: 0 !important; +} + +.dm-workflow-nav { + display: flex; + flex-direction: column; + align-items: flex-end; + gap: 10px; + align-self: flex-end; + margin-top: 10px; +} +.dm-workflow-counter { + font-family: var(--font-space-grotesk), sans-serif; + font-size: 13px; + font-weight: 700; + color: #737373; + letter-spacing: 0.08em; +} +.dm-workflow-bars { display: flex; gap: 8px; } +.dm-workflow-bar { + width: 40px; + height: 3px; + border: none; + padding: 0; + background: rgba(255, 255, 255, 0.15); + border-radius: 999px; + cursor: pointer; + transition: all 0.3s ease; +} +.dm-workflow-bar.is-active { background: #C01227; } +.dm-workflow-bar:hover { background: rgba(255, 255, 255, 0.35); } +.dm-workflow-bar.is-active:hover { background: #C01227; } + +/* ── Responsive — keep insets/radius aligned to the 3D card ── */ +@media (max-width: 1024px) { + .dm-wf3-card { padding: 44px 44px; gap: 44px; } + .dm-workflow-title { font-size: 32px; } + .dm-workflow-text { font-size: 19px; } +} +@media (max-width: 767px) { + /* Mobile: compact card so it never exceeds ~500px (was ~850px from the full + desktop chevron + long paragraph). Smaller chevron, tighter spacing and a + line-clamped paragraph keep the workflow state readable without a long scroll. */ + .dm-wf3-card { + /* Bottom gap separates this last workflow card from the contact section below. */ + margin: 0 10px 16px; + border-radius: 0 0 20px 20px; + padding: 26px 22px; + gap: 16px; + flex-direction: column; + } + .dm-workflow-left { max-width: 128px; } + .dm-workflow-right { width: 100%; gap: 12px; } + .dm-workflow-quote { margin-bottom: 2px; } + .dm-workflow-title { font-size: 22px; } + .dm-workflow-text-container { min-height: auto; } + .dm-workflow-text { + font-size: 15px; + line-height: 1.5; + display: -webkit-box; + -webkit-line-clamp: 5; + -webkit-box-orient: vertical; + overflow: hidden; + } + .dm-workflow-nav { margin-top: 4px; } +} +@media (max-width: 390px) { + .dm-workflow-left { max-width: 108px; } + .dm-workflow-title { font-size: 20px; } + .dm-workflow-text { font-size: 14px; -webkit-line-clamp: 4; } +} +`;t.s(["default",0,function(){let[t,e]=(0,o.useState)(0),[i,s]=(0,o.useState)(!1),[n,a]=(0,o.useState)(!1),l=(0,o.useRef)(null),h=[{title:"STRATEGY",text:"Our grading engine continuously evaluates fulfillment performance, SLA compliance, and route efficiency before every dispatch. By comparing legacy routing methods with unified optimization, the system ensures smarter and more reliable delivery planning. This helps businesses maintain operational consistency while improving overall delivery performance."},{title:"STRATEGY",text:"Every EV route is pre-validated against real battery capacity and charging feasibility before a rider leaves the hub. This reduces the risk of delivery interruptions, charging failures, or delayed orders during operations. The platform ensures reliable route execution while maximizing EV fleet efficiency and rider confidence."},{title:"STRATEGY",text:"The system provides actionable fleet insights and optimized workload distribution to improve both rider experience and operational productivity. Balanced route allocation helps reduce rider fatigue, improve retention, and maintain consistent delivery quality across zones. Managers gain better visibility into fleet performance, enabling faster and more informed decision-making."}];return(0,o.useEffect)(()=>{e(0)},[]),(0,o.useEffect)(()=>{let t=l.current;if(!t)return;let e=new IntersectionObserver(([t])=>a(t.isIntersecting),{threshold:.35});return e.observe(t),()=>e.disconnect()},[]),(0,o.useEffect)(()=>{if(!n||i)return;let t=setTimeout(()=>{e(t=>(t+1)%h.length)},1e4);return()=>clearTimeout(t)},[t,n,i,h.length]),(0,r.jsxs)("section",{className:"dm-wf3","aria-label":"Workflow 3 — Happier Riders. Higher Fulfillment. & Strategy",children:[(0,r.jsx)(rQ,{connected:!0}),(0,r.jsxs)("div",{className:"dm-wf3-card",ref:l,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),children:[(0,r.jsx)("div",{className:"dm-workflow-left",children:(0,r.jsxs)("svg",{viewBox:"0 0 320 280",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"dm-workflow-svg",children:[(0,r.jsx)("path",{d:"M 30,20 C 22,20 16,26 16,34 L 78,85 C 81,88 81,92 78,95 L 16,146 C 16,154 22,160 30,160 L 130,160 C 138,160 145,154 148,146 L 204,95 C 207,92 207,88 204,85 L 148,34 C 145,26 138,20 130,20 Z",stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",opacity:"0.25"}),(0,r.jsx)("path",{d:"M 110,100 C 102,100 96,106 96,114 L 158,165 C 161,168 161,172 158,175 L 96,226 C 96,234 102,240 110,240 L 210,240 C 218,240 225,234 228,226 L 284,175 C 287,172 287,168 284,165 L 228,114 C 225,106 218,100 210,100 Z",stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",opacity:"0.85"})]})}),(0,r.jsxs)("div",{className:"dm-workflow-right",children:[(0,r.jsxs)("svg",{width:"32",height:"24",viewBox:"0 0 32 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"dm-workflow-quote",children:[(0,r.jsx)("rect",{x:"2",y:"2",width:"9",height:"20",rx:"1.5",transform:"skewX(-12)",fill:"#C01227"}),(0,r.jsx)("rect",{x:"16",y:"2",width:"9",height:"20",rx:"1.5",transform:"skewX(-12)",fill:"#C01227"})]}),(0,r.jsx)("h3",{className:"dm-workflow-title",children:h[t].title}),(0,r.jsx)("div",{className:"dm-workflow-text-container",children:(0,r.jsx)(rz,{mode:"wait",children:(0,r.jsx)(rR.p,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:-12},transition:{duration:.7,ease:"easeInOut"},className:"dm-workflow-text",children:h[t].text},t)})}),(0,r.jsxs)("div",{className:"dm-workflow-nav",children:[(0,r.jsxs)("span",{className:"dm-workflow-counter",children:["0",t+1,"/03"]}),(0,r.jsx)("div",{className:"dm-workflow-bars",children:h.map((i,s)=>(0,r.jsx)("button",{type:"button","aria-label":`Go to slide ${s+1}`,className:`dm-workflow-bar ${s===t?"is-active":""}`,onClick:()=>e(s)},s))})]})]})]}),(0,r.jsx)("style",{dangerouslySetInnerHTML:{__html:r1}})]})}],56305)},55819,t=>{t.n(t.i(56305))}]); \ No newline at end of file diff --git a/build/_next/static/chunks/0x56skhob._h5.js b/build/_next/static/chunks/0x56skhob._h5.js deleted file mode 100644 index 4e75b77..0000000 --- a/build/_next/static/chunks/0x56skhob._h5.js +++ /dev/null @@ -1 +0,0 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},98183,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={assign:function(){return a},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return s}};for(var o in n)Object.defineProperty(t,o,{enumerable:!0,get:n[o]});function i(e){let r={};for(let[t,n]of e.entries()){let e=r[t];void 0===e?r[t]=n:Array.isArray(e)?e.push(n):r[t]=[e,n]}return r}function u(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let r=new URLSearchParams;for(let[t,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)r.append(t,u(e));else r.set(t,u(n));return r}function a(e,...r){for(let t of r){for(let r of t.keys())e.delete(r);for(let[r,n]of t.entries())e.append(r,n)}return e}},18967,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={DecodeError:function(){return P},MiddlewareNotFoundError:function(){return O},MissingStaticPage:function(){return h},NormalizeError:function(){return E},PageNotFoundError:function(){return b},SP:function(){return m},ST:function(){return y},WEB_VITALS:function(){return i},execOnce:function(){return u},getDisplayName:function(){return l},getLocationOrigin:function(){return c},getURL:function(){return f},isAbsoluteUrl:function(){return a},isResSent:function(){return d},loadGetInitialProps:function(){return g},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return N}};for(var o in n)Object.defineProperty(t,o,{enumerable:!0,get:n[o]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function u(e){let r,t=!1;return(...n)=>(t||(t=!0,r=e(...n)),r)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,a=e=>s.test(e);function c(){let{protocol:e,hostname:r,port:t}=window.location;return`${e}//${r}${t?":"+t:""}`}function f(){let{href:e}=window.location,r=c();return e.substring(r.length)}function l(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let r=e.split("?");return r[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(r[1]?`?${r.slice(1).join("?")}`:"")}async function g(e,r){let t=r.res||r.ctx&&r.ctx.res;if(!e.getInitialProps)return r.ctx&&r.Component?{pageProps:await g(r.Component,r.ctx)}:{};let n=await e.getInitialProps(r);if(t&&d(t))return n;if(!n)throw Object.defineProperty(Error(`"${l(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let m="u">typeof performance,y=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class P extends Error{}class E extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class h extends Error{constructor(e,r){super(),this.message=`Failed to load static file for page: ${e} ${r}`}}class O extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function N(e){return JSON.stringify({message:e.message,stack:e.stack})}}]); \ No newline at end of file diff --git a/build/_next/static/chunks/0.lr32w8agd2s.js b/build/_next/static/chunks/0y0w40785mt~m.js similarity index 56% rename from build/_next/static/chunks/0.lr32w8agd2s.js rename to build/_next/static/chunks/0y0w40785mt~m.js index 75b744e..e42620a 100644 --- a/build/_next/static/chunks/0.lr32w8agd2s.js +++ b/build/_next/static/chunks/0y0w40785mt~m.js @@ -1,4 +1,4 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,5074,e=>{"use strict";var t=e.i(43476),i=e.i(71645);let n=[[[.04,.2],[.1,.12],[.18,.1],[.24,.13],[.29,.12],[.3,.18],[.27,.22],[.26,.28],[.22,.3],[.2,.38],[.17,.44],[.15,.4],[.16,.32],[.12,.3],[.09,.26],[.06,.24]],[[.21,.5],[.27,.48],[.31,.52],[.31,.6],[.29,.66],[.27,.74],[.24,.82],[.22,.8],[.22,.7],[.205,.62],[.2,.55]],[[.45,.16],[.5,.13],[.55,.15],[.57,.19],[.55,.24],[.5,.27],[.47,.25],[.455,.2]],[[.46,.34],[.53,.32],[.58,.36],[.585,.44],[.56,.52],[.53,.6],[.5,.66],[.47,.62],[.46,.52],[.45,.44],[.45,.38]],[[.56,.14],[.64,.1],[.74,.1],[.84,.14],[.9,.2],[.92,.26],[.86,.3],[.8,.3],[.74,.34],[.7,.34],[.66,.3],[.6,.3],[.575,.24],[.565,.18]],[[.81,.66],[.87,.64],[.92,.68],[.92,.74],[.86,.77],[.81,.74],[.8,.7]]],a=[[.115,.3],[.265,.255],[.285,.66],[.475,.185],[.605,.345],[.655,.4],[.745,.5],[.815,.275],[.865,.715]],r=[[0,1],[1,3],[3,4],[4,5],[5,6],[6,7],[7,8],[1,2],[3,7],[0,7]];e.s(["default",0,function(){let e=(0,i.useRef)(null);return(0,i.useEffect)(()=>{let t=e.current,i=t?.parentElement;if(!t||!i)return;let o=t.getContext("2d");if(!o)return;let s=window.matchMedia?.("(prefers-reduced-motion: reduce)").matches,l=0,d=0,c=[],m=0,p=0,h=()=>{let e=i.getBoundingClientRect();l=Math.max(1,e.width),d=Math.max(1,e.height);let a=Math.min(window.devicePixelRatio||1,2);t.width=Math.round(l*a),t.height=Math.round(d*a),t.style.width=l+"px",t.style.height=d+"px",o.setTransform(a,0,0,a,0,0),(()=>{c=[];let e=Math.max(11,Math.min(17,l/70));for(let t=e/2;tt!=d>t&&e<(l-o)*(t-s)/(d-s)+o&&(n=!n)}return n}(e,a,r)){c.push({x:t,y:i});break}}})()},g=(e,t)=>({x:(e.x+t.x)/2,y:(e.y+t.y)/2-.28*Math.hypot(t.x-e.x,t.y-e.y)}),u=(e,t,i,n)=>{let a=1-n;return{x:a*a*e.x+2*a*n*t.x+n*n*i.x,y:a*a*e.y+2*a*n*t.y+n*n*i.y}},x=e=>{for(let e of(o.clearRect(0,0,l,d),o.fillStyle="rgba(120,122,130,0.55)",c))o.beginPath(),o.arc(e.x,e.y,1.15,0,2*Math.PI),o.fill();let t=a.map(([e,t])=>({x:e*l,y:t*d}));for(let[e,i]of(o.save(),o.setLineDash([4,7]),o.lineWidth=1,o.strokeStyle="rgba(239,68,68,0.13)",r)){let n=g(t[e],t[i]);o.beginPath(),o.moveTo(t[e].x,t[e].y),o.quadraticCurveTo(n.x,n.y,t[i].x,t[i].y),o.stroke()}o.restore(),o.save();for(let i=0;i{p||(p=e),x((e-p)/1e3),m=requestAnimationFrame(b)};h(),s?x(0):m=requestAnimationFrame(b);let f=new ResizeObserver(()=>{h(),s&&x(0)});return f.observe(i),()=>{cancelAnimationFrame(m),f.disconnect()}},[]),(0,t.jsx)("canvas",{ref:e,className:"ind__map","aria-hidden":"true"})}])},89937,e=>{"use strict";var t=e.i(43476),i=e.i(71645);e.s(["default",0,function(){let[e,n]=(0,i.useState)(0);(0,i.useEffect)(()=>{let e=setInterval(()=>{n(e=>+(0===e))},7e3);return()=>clearInterval(e)},[]);let a=e=>{n(e)};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:` +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,5074,e=>{"use strict";var t=e.i(43476),i=e.i(71645);let n=[[[.04,.2],[.1,.12],[.18,.1],[.24,.13],[.29,.12],[.3,.18],[.27,.22],[.26,.28],[.22,.3],[.2,.38],[.17,.44],[.15,.4],[.16,.32],[.12,.3],[.09,.26],[.06,.24]],[[.21,.5],[.27,.48],[.31,.52],[.31,.6],[.29,.66],[.27,.74],[.24,.82],[.22,.8],[.22,.7],[.205,.62],[.2,.55]],[[.45,.16],[.5,.13],[.55,.15],[.57,.19],[.55,.24],[.5,.27],[.47,.25],[.455,.2]],[[.46,.34],[.53,.32],[.58,.36],[.585,.44],[.56,.52],[.53,.6],[.5,.66],[.47,.62],[.46,.52],[.45,.44],[.45,.38]],[[.56,.14],[.64,.1],[.74,.1],[.84,.14],[.9,.2],[.92,.26],[.86,.3],[.8,.3],[.74,.34],[.7,.34],[.66,.3],[.6,.3],[.575,.24],[.565,.18]],[[.81,.66],[.87,.64],[.92,.68],[.92,.74],[.86,.77],[.81,.74],[.8,.7]]],o=[[.115,.3],[.265,.255],[.285,.66],[.475,.185],[.605,.345],[.655,.4],[.745,.5],[.815,.275],[.865,.715]],a=[[0,1],[1,3],[3,4],[4,5],[5,6],[6,7],[7,8],[1,2],[3,7],[0,7]];e.s(["default",0,function(){let e=(0,i.useRef)(null);return(0,i.useEffect)(()=>{let t=e.current,i=t?.parentElement;if(!t||!i)return;let r=t.getContext("2d");if(!r)return;let s=window.matchMedia?.("(prefers-reduced-motion: reduce)").matches,l=0,d=0,c=[],m=0,p=0,h=()=>{let e=i.getBoundingClientRect();l=Math.max(1,e.width),d=Math.max(1,e.height);let o=Math.min(window.devicePixelRatio||1,2);t.width=Math.round(l*o),t.height=Math.round(d*o),t.style.width=l+"px",t.style.height=d+"px",r.setTransform(o,0,0,o,0,0),(()=>{c=[];let e=Math.max(11,Math.min(17,l/70));for(let t=e/2;tt!=d>t&&e<(l-r)*(t-s)/(d-s)+r&&(n=!n)}return n}(e,o,a)){c.push({x:t,y:i});break}}})()},g=(e,t)=>({x:(e.x+t.x)/2,y:(e.y+t.y)/2-.28*Math.hypot(t.x-e.x,t.y-e.y)}),x=(e,t,i,n)=>{let o=1-n;return{x:o*o*e.x+2*o*n*t.x+n*n*i.x,y:o*o*e.y+2*o*n*t.y+n*n*i.y}},u=e=>{for(let e of(r.clearRect(0,0,l,d),r.fillStyle="rgba(120,122,130,0.55)",c))r.beginPath(),r.arc(e.x,e.y,1.15,0,2*Math.PI),r.fill();let t=o.map(([e,t])=>({x:e*l,y:t*d}));for(let[e,i]of(r.save(),r.setLineDash([4,7]),r.lineWidth=1,r.strokeStyle="rgba(239,68,68,0.13)",a)){let n=g(t[e],t[i]);r.beginPath(),r.moveTo(t[e].x,t[e].y),r.quadraticCurveTo(n.x,n.y,t[i].x,t[i].y),r.stroke()}r.restore(),r.save();for(let i=0;i{p||(p=e),u((e-p)/1e3),m=requestAnimationFrame(b)};h(),s?u(0):m=requestAnimationFrame(b);let f=new ResizeObserver(()=>{h(),s&&u(0)});return f.observe(i),()=>{cancelAnimationFrame(m),f.disconnect()}},[]),(0,t.jsx)("canvas",{ref:e,className:"ind__map","aria-hidden":"true"})}])},89937,e=>{"use strict";var t=e.i(43476),i=e.i(71645);e.s(["default",0,function(){let[e,n]=(0,i.useState)(0);(0,i.useEffect)(()=>{let e=setInterval(()=>{n(e=>+(0===e))},7e3);return()=>clearInterval(e)},[]);let o=e=>{n(e)};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:` .howits-hero-custom-bg.elementor-repeater-item-3264830, .howits-hero-custom-bg.elementor-repeater-item-6867061 { background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.1)), url('/images/home1-slide-1.png') !important; @@ -36,6 +36,10 @@ width: 100% !important; max-width: 1000px !important; margin: 0 auto !important; + /* Contain the slider theme's inherited 20px padding (content-box) so + width:100% + padding doesn't overflow the viewport and push the + heading off-center on mobile. */ + box-sizing: border-box !important; } .elementor-element.elementor-element-6c7cbcb .content-slider-item-heading, @@ -89,6 +93,12 @@ border-radius: 25px !important; } + /* The stage-outer carries an inline height:800px; collapse it to the + slide height so there is no dead empty space below the hero card. */ + .elementor-element.elementor-element-6c7cbcb .owl-stage-outer { + height: 620px !important; + } + .elementor-element.elementor-element-6c7cbcb .owl-carousel.owl-theme .content-item { width: 100% !important; min-height: 620px !important; @@ -112,6 +122,10 @@ border-radius: 22px !important; } + .elementor-element.elementor-element-6c7cbcb .owl-stage-outer { + height: 560px !important; + } + .elementor-element.elementor-element-6c7cbcb .owl-carousel.owl-theme .content-item { min-height: 560px !important; height: 560px !important; @@ -130,8 +144,30 @@ line-height: 1.05 !important; overflow-wrap: break-word !important; } + + /* Pin the slide counter ("01/02") cleanly bottom-RIGHT — matching the + Home and How-It-Works heroes. site.css parks it ~80px in from the + right (looks left/centred), and the wide dot navigation eats the + right side, so hide the dots on mobile and right-align the counter. */ + .elementor .elementor-element.elementor-element-6c7cbcb .slider-footer { + text-align: right !important; + margin-bottom: 24px !important; + } + .elementor .elementor-element.elementor-element-6c7cbcb .slider-footer .slider-pagination { + justify-content: flex-end !important; + margin-left: 22px !important; + margin-right: 22px !important; + } + .elementor .elementor-element.elementor-element-6c7cbcb .owl-dots { + display: none !important; + } + /* Hide the prev/next arrows on mobile (they overlap the counter) — + slides still auto-rotate, matching the home hero. */ + .elementor .elementor-element.elementor-element-6c7cbcb .owl-nav { + display: none !important; + } } - `}}),(0,t.jsx)("div",{className:"elementor-element elementor-element-741f56c e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"741f56c","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-6c7cbcb elementor-widget elementor-widget-logico_content_slider","data-id":"6c7cbcb","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_content_slider.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-content-slider-widget",children:(0,t.jsx)("div",{className:"content-slider-wrapper",children:(0,t.jsx)("div",{className:"content-slider-container",children:(0,t.jsxs)("div",{className:"content-slider owl-carousel owl-theme nav-view-vertical nav-h-position-right nav-v-position-bottom owl-loaded owl-drag",children:[(0,t.jsx)("div",{className:"owl-stage-outer",style:{position:"relative",overflow:"hidden",height:"800px"},children:(0,t.jsxs)("div",{className:"owl-stage",style:{position:"relative",width:"100%",height:"100%"},children:[(0,t.jsx)("div",{className:`owl-item ${0===e?"active":""}`,style:{position:"relative",width:"100%",opacity:+(0===e),visibility:0===e?"visible":"hidden",transition:"opacity 0.8s ease-in-out, visibility 0.8s ease-in-out",zIndex:0===e?2:1},children:(0,t.jsx)("div",{className:"content-item slider-item elementor-repeater-item-3264830 slide-style-standard howits-hero-custom-bg",children:(0,t.jsx)("div",{className:"slide-content",children:(0,t.jsxs)("div",{className:"slide-content-inner",children:[(0,t.jsx)("h1",{className:"content-slider-item-heading logico-content-wrapper-1",children:(0,t.jsx)("span",{className:"heading-content",children:"Solutions for Every Industry"})}),(0,t.jsx)("div",{className:"content-slider-item-text logico-content-wrapper-2",children:(0,t.jsx)("div",{className:"text-content",children:(0,t.jsx)("p",{children:"Discover how Doormile's connected logistics platform serves diverse industries with tailored solutions."})})})]})})})}),(0,t.jsx)("div",{className:`owl-item ${1===e?"active":""}`,style:{position:"absolute",top:0,left:0,width:"100%",opacity:+(1===e),visibility:1===e?"visible":"hidden",transition:"opacity 0.8s ease-in-out, visibility 0.8s ease-in-out",zIndex:1===e?2:1},children:(0,t.jsx)("div",{className:"content-item slider-item elementor-repeater-item-6867061 slide-style-standard howits-hero-custom-bg",children:(0,t.jsx)("div",{className:"slide-content",children:(0,t.jsxs)("div",{className:"slide-content-inner",children:[(0,t.jsx)("h1",{className:"content-slider-item-heading logico-content-wrapper-1",children:(0,t.jsx)("span",{className:"heading-content",children:"One Platform. All Verticals"})}),(0,t.jsx)("div",{className:"content-slider-item-text logico-content-wrapper-2",children:(0,t.jsx)("div",{className:"text-content",children:(0,t.jsx)("p",{children:"Doormile adapts to the unique challenges of your vertical—not the other way around."})})})]})})})})]})}),(0,t.jsx)("div",{className:"slider-footer slider-footer-position-after slider-footer-width-full slider-footer-view-inside",children:(0,t.jsx)("div",{className:"slider-footer-content",children:(0,t.jsxs)("div",{className:"slider-pagination",style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:"10px"},children:[(0,t.jsxs)("div",{className:"slider-progress-wrapper",style:{marginRight:"15px"},children:[(0,t.jsx)("span",{className:"slider-progress-current",children:0===e?"01":"02"}),"/",(0,t.jsx)("span",{className:"slider-progress-all",children:"02"})]}),(0,t.jsxs)("div",{className:"owl-dots owl-dots-6c7cbcb",style:{display:"flex",gap:"8px"},children:[(0,t.jsx)("button",{type:"button",role:"button",className:`owl-dot ${0===e?"active":""}`,onClick:()=>a(0),children:(0,t.jsx)("span",{})}),(0,t.jsx)("button",{type:"button",role:"button",className:`owl-dot ${1===e?"active":""}`,onClick:()=>a(1),children:(0,t.jsx)("span",{})})]})]})})})]})})})})})})})]})}])},40086,e=>{"use strict";var t=e.i(43476),i=e.i(71645),n=e.i(5074);let a=[{id:1,title:"FMCG",image:"/images/tab-pic-1-solution.jpeg",alt:"FMCG logistics",desc:"FMCG logistics demands speed, precision, and continuous fulfillment across high-volume delivery networks. Businesses must balance tight delivery timelines, inventory movement, and operational efficiency without compromising product availability.",ch:["Unpredictable demand spikes create delivery pressure and reduce operational efficiency during peak periods.","Fresh product expiry constraints require faster, precisely timed deliveries to maintain product quality.","Multi-stop route complexity increases travel time, operational costs, and delivery coordination challenges.","Inventory stockout risks increase when delivery delays disrupt fast-moving product distribution."],so:["AI demand forecasting adapts delivery plans instantly to real-time order demand.","Expiry-aware routing prioritises perishable goods for on-time freshness.","Smart multi-stop optimisation groups orders to cut cost and travel time.","Real-time inventory sync prevents stockouts and improves fulfilment accuracy."]},{id:2,title:"Pharma",image:"/images/tab-pic-2-solution.jpeg",alt:"Pharma logistics",desc:"Pharma logistics requires precision, compliance, and real-time monitoring so every shipment arrives safely and on time — from temperature-sensitive medicines to urgent emergency deliveries.",ch:["Cold chain integrity demands precise temperature control throughout transit.","Regulatory compliance must be tracked and documented on every delivery.","Critical delivery time windows require highly accurate scheduling.","Emergency shipments need instant dispatch and zero-delay execution."],so:["Cold chain monitoring with automatic re-routing keeps shipments in-spec.","Compliance engine with audit trails ensures full chain-of-custody visibility.","Precision scheduling locks in critical delivery windows reliably.","Priority dispatch queue fast-tracks urgent, life-critical shipments."]},{id:3,title:"Enterprise & B2B",image:"/images/tab-pic-3-solution.jpeg",alt:"Enterprise and B2B logistics",desc:"Enterprise and B2B logistics require coordination and reliability to manage high-value shipments at scale — with appointment scheduling, white-glove standards, and strict SLA commitments.",ch:["Appointment scheduling requires precise timing across many locations.","White-glove delivery standards demand premium handling and accuracy.","Multi-location routing complexity grows with large-scale operations.","Strict SLA commitments pressure teams to stay timely and error-free."],so:["Intelligent appointment engine streamlines and automates delivery slots.","White-glove workflow module enforces premium handling end to end.","Enterprise route planner coordinates efficient multi-location delivery.","SLA monitoring dashboard tracks commitments and flags risk in real time."]}];function r({sec:e}){let[a,o]=(0,i.useState)("ch"),s="ch"===a?e.ch:e.so;return(0,t.jsx)("section",{className:"istk","aria-label":`${e.title} solutions`,children:(0,t.jsxs)("div",{className:"istk__card",children:[(0,t.jsx)(n.default,{}),(0,t.jsxs)("div",{className:"istk__row",children:[(0,t.jsx)("div",{className:"istk__media",children:(0,t.jsx)("img",{className:"istk__img",src:e.image,alt:e.alt,decoding:"async",loading:"lazy"})}),(0,t.jsxs)("div",{className:"istk__content",children:[(0,t.jsx)("h3",{className:"istk__title",children:e.title}),(0,t.jsx)("p",{className:"istk__desc",children:e.desc}),(0,t.jsxs)("div",{className:"istk__tabs",role:"tablist","aria-label":"Challenges or Solutions",children:[(0,t.jsx)("button",{type:"button",role:"tab","aria-selected":"ch"===a,className:`istk__tab ${"ch"===a?"active":""}`,onClick:()=>o("ch"),children:"Challenges"}),(0,t.jsx)("button",{type:"button",role:"tab","aria-selected":"so"===a,className:`istk__tab ${"so"===a?"active":""}`,onClick:()=>o("so"),children:"Solutions"})]}),(0,t.jsx)("ul",{className:"istk__list",children:s.map((e,i)=>(0,t.jsx)("li",{style:{animationDelay:`${80*i}ms`},children:e},e))},a)]})]})]})})}let o=` + `}}),(0,t.jsx)("div",{className:"elementor-element elementor-element-741f56c e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"741f56c","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-6c7cbcb elementor-widget elementor-widget-logico_content_slider","data-id":"6c7cbcb","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_content_slider.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-content-slider-widget",children:(0,t.jsx)("div",{className:"content-slider-wrapper",children:(0,t.jsx)("div",{className:"content-slider-container",children:(0,t.jsxs)("div",{className:"content-slider owl-carousel owl-theme nav-view-vertical nav-h-position-right nav-v-position-bottom owl-loaded owl-drag",children:[(0,t.jsx)("div",{className:"owl-stage-outer",style:{position:"relative",overflow:"hidden",height:"800px"},children:(0,t.jsxs)("div",{className:"owl-stage",style:{position:"relative",width:"100%",height:"100%"},children:[(0,t.jsx)("div",{className:`owl-item ${0===e?"active":""}`,style:{position:"relative",width:"100%",opacity:+(0===e),visibility:0===e?"visible":"hidden",transition:"opacity 0.8s ease-in-out, visibility 0.8s ease-in-out",zIndex:0===e?2:1},children:(0,t.jsx)("div",{className:"content-item slider-item elementor-repeater-item-3264830 slide-style-standard howits-hero-custom-bg",children:(0,t.jsx)("div",{className:"slide-content",children:(0,t.jsxs)("div",{className:"slide-content-inner",children:[(0,t.jsx)("h1",{className:"content-slider-item-heading logico-content-wrapper-1",children:(0,t.jsx)("span",{className:"heading-content",children:"Solutions for Every Industry"})}),(0,t.jsx)("div",{className:"content-slider-item-text logico-content-wrapper-2",children:(0,t.jsx)("div",{className:"text-content",children:(0,t.jsx)("p",{children:"Discover how Doormile's connected logistics platform serves diverse industries with tailored solutions."})})})]})})})}),(0,t.jsx)("div",{className:`owl-item ${1===e?"active":""}`,style:{position:"absolute",top:0,left:0,width:"100%",opacity:+(1===e),visibility:1===e?"visible":"hidden",transition:"opacity 0.8s ease-in-out, visibility 0.8s ease-in-out",zIndex:1===e?2:1},children:(0,t.jsx)("div",{className:"content-item slider-item elementor-repeater-item-6867061 slide-style-standard howits-hero-custom-bg",children:(0,t.jsx)("div",{className:"slide-content",children:(0,t.jsxs)("div",{className:"slide-content-inner",children:[(0,t.jsx)("h1",{className:"content-slider-item-heading logico-content-wrapper-1",children:(0,t.jsx)("span",{className:"heading-content",children:"One Platform. All Verticals"})}),(0,t.jsx)("div",{className:"content-slider-item-text logico-content-wrapper-2",children:(0,t.jsx)("div",{className:"text-content",children:(0,t.jsx)("p",{children:"Doormile adapts to the unique challenges of your vertical—not the other way around."})})})]})})})})]})}),(0,t.jsxs)("div",{className:"owl-nav",children:[(0,t.jsx)("button",{type:"button",className:"owl-next",onClick:()=>n(e=>+(0===e)),"aria-label":"Next",style:{cursor:"pointer",border:"none",outline:"none"}}),(0,t.jsx)("button",{type:"button",className:"owl-prev",onClick:()=>n(e=>+(0===e)),"aria-label":"Previous",style:{cursor:"pointer",border:"none",outline:"none"}})]}),(0,t.jsx)("div",{className:"slider-footer slider-footer-position-after slider-footer-width-full slider-footer-view-inside",children:(0,t.jsx)("div",{className:"slider-footer-content",children:(0,t.jsxs)("div",{className:"slider-pagination",style:{display:"flex",justifyContent:"flex-end",alignItems:"center",gap:"10px"},children:[(0,t.jsxs)("div",{className:"slider-progress-wrapper",style:{marginRight:"35px",display:"flex",flexDirection:"column",alignItems:"flex-start"},children:[(0,t.jsxs)("div",{style:{fontSize:"16px",fontWeight:600,color:"#FFFFFF",marginBottom:"4px"},children:[(0,t.jsx)("span",{className:"slider-progress-current",children:0===e?"01":"02"})," / ",(0,t.jsx)("span",{className:"slider-progress-all",style:{opacity:.6},children:"02"})]}),(0,t.jsx)("div",{style:{width:"80px",height:"2px",background:"rgba(255, 255, 255, 0.2)",position:"relative",borderRadius:"1px",overflow:"hidden"},children:(0,t.jsx)("div",{style:{position:"absolute",left:0===e?"0":"50%",width:"50%",height:"100%",background:"#c01227",transition:"left 0.3s ease"}})})]}),(0,t.jsxs)("div",{className:"owl-dots owl-dots-6c7cbcb",style:{display:"none"},children:[(0,t.jsx)("button",{type:"button",role:"button",className:`owl-dot ${0===e?"active":""}`,onClick:()=>o(0),children:(0,t.jsx)("span",{})}),(0,t.jsx)("button",{type:"button",role:"button",className:`owl-dot ${1===e?"active":""}`,onClick:()=>o(1),children:(0,t.jsx)("span",{})})]})]})})})]})})})})})})})]})}])},40086,e=>{"use strict";var t=e.i(43476),i=e.i(71645),n=e.i(5074);let o=[{id:1,title:"FMCG",image:"/images/tab-pic-1-solution.jpeg",alt:"FMCG logistics",desc:"FMCG logistics demands speed, precision, and continuous fulfillment across high-volume delivery networks. Businesses must balance tight delivery timelines, inventory movement, and operational efficiency without compromising product availability.",ch:["Unpredictable demand spikes create delivery pressure and reduce operational efficiency during peak periods.","Fresh product expiry constraints require faster, precisely timed deliveries to maintain product quality.","Multi-stop route complexity increases travel time, operational costs, and delivery coordination challenges.","Inventory stockout risks increase when delivery delays disrupt fast-moving product distribution."],so:["AI demand forecasting adapts delivery plans instantly to real-time order demand.","Expiry-aware routing prioritises perishable goods for on-time freshness.","Smart multi-stop optimisation groups orders to cut cost and travel time.","Real-time inventory sync prevents stockouts and improves fulfilment accuracy."]},{id:2,title:"Pharma",image:"/images/tab-pic-2-solution.jpeg",alt:"Pharma logistics",desc:"Pharma logistics requires precision, compliance, and real-time monitoring so every shipment arrives safely and on time — from temperature-sensitive medicines to urgent emergency deliveries.",ch:["Cold chain integrity demands precise temperature control throughout transit.","Regulatory compliance must be tracked and documented on every delivery.","Critical delivery time windows require highly accurate scheduling.","Emergency shipments need instant dispatch and zero-delay execution."],so:["Cold chain monitoring with automatic re-routing keeps shipments in-spec.","Compliance engine with audit trails ensures full chain-of-custody visibility.","Precision scheduling locks in critical delivery windows reliably.","Priority dispatch queue fast-tracks urgent, life-critical shipments."]},{id:3,title:"Enterprise & B2B",image:"/images/tab-pic-3-solution.jpeg",alt:"Enterprise and B2B logistics",desc:"Enterprise and B2B logistics require coordination and reliability to manage high-value shipments at scale — with appointment scheduling, white-glove standards, and strict SLA commitments.",ch:["Appointment scheduling requires precise timing across many locations.","White-glove delivery standards demand premium handling and accuracy.","Multi-location routing complexity grows with large-scale operations.","Strict SLA commitments pressure teams to stay timely and error-free."],so:["Intelligent appointment engine streamlines and automates delivery slots.","White-glove workflow module enforces premium handling end to end.","Enterprise route planner coordinates efficient multi-location delivery.","SLA monitoring dashboard tracks commitments and flags risk in real time."]}];function a({sec:e}){let[o,r]=(0,i.useState)("ch"),s="ch"===o?e.ch:e.so;return(0,t.jsx)("section",{className:"istk","aria-label":`${e.title} solutions`,children:(0,t.jsxs)("div",{className:"istk__card",children:[(0,t.jsx)(n.default,{}),(0,t.jsxs)("div",{className:"istk__row",children:[(0,t.jsx)("div",{className:"istk__media",children:(0,t.jsx)("img",{className:"istk__img",src:e.image,alt:e.alt,decoding:"async",loading:"lazy"})}),(0,t.jsxs)("div",{className:"istk__content",children:[(0,t.jsx)("h3",{className:"istk__title",children:e.title}),(0,t.jsx)("p",{className:"istk__desc",children:e.desc}),(0,t.jsxs)("div",{className:"istk__tabs",role:"tablist","aria-label":"Challenges or Solutions",children:[(0,t.jsx)("button",{type:"button",role:"tab","aria-selected":"ch"===o,className:`istk__tab ${"ch"===o?"active":""}`,onClick:()=>r("ch"),children:"Challenges"}),(0,t.jsx)("button",{type:"button",role:"tab","aria-selected":"so"===o,className:`istk__tab ${"so"===o?"active":""}`,onClick:()=>r("so"),children:"Solutions"})]}),(0,t.jsx)("ul",{className:"istk__list",children:s.map((e,i)=>(0,t.jsx)("li",{style:{animationDelay:`${80*i}ms`},children:e},e))},o)]})]})]})})}let r=` /* No outer frame — the cards float on the page background. */ #ind-stack { background: transparent; } @@ -282,7 +318,18 @@ #ind-stack .istk__media { flex: none; min-height: 0; height: 300px; } #ind-stack .istk__content { max-width: none; } } +@media (max-width: 600px) { + #ind-stack .istk { padding: 10px 14px; } + #ind-stack .istk__card { padding: 22px 20px; border-radius: 24px; } + #ind-stack .istk__media { height: 240px; } + #ind-stack .istk__title { margin-bottom: 16px !important; } + #ind-stack .istk__desc { margin: 0 0 24px; } + /* Two equal-width pills that always fit the card — no horizontal overflow. */ + #ind-stack .istk__tabs { gap: 8px; margin-bottom: 22px; } + #ind-stack .istk__tab { flex: 1 1 0; min-width: 0; padding: 12px 8px; text-align: center; font-size: 13px; } + #ind-stack .istk__list li { margin-bottom: 18px; } +} @media (prefers-reduced-motion: reduce) { #ind-stack .istk__list li { animation: none !important; opacity: 1; transform: none; } } -`;e.s(["default",0,function(){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:o}}),(0,t.jsx)("div",{id:"ind-stack",children:a.map(e=>(0,t.jsx)(r,{sec:e},e.id))})]})}])}]); \ No newline at end of file +`;e.s(["default",0,function(){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:r}}),(0,t.jsx)("div",{id:"ind-stack",children:o.map(e=>(0,t.jsx)(a,{sec:e},e.id))})]})}])}]); \ No newline at end of file diff --git a/build/_next/static/chunks/0yeyoeh5fs0l6.js b/build/_next/static/chunks/0yeyoeh5fs0l6.js new file mode 100644 index 0000000..0b679c3 --- /dev/null +++ b/build/_next/static/chunks/0yeyoeh5fs0l6.js @@ -0,0 +1 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,67585,(e,t,o)=>{"use strict";Object.defineProperty(o,"__esModule",{value:!0}),Object.defineProperty(o,"BailoutToCSR",{enumerable:!0,get:function(){return n}});let r=e.r(32061);function n({reason:e,children:t}){if("u"{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(o,"__esModule",{value:!0}),Object.defineProperty(o,"encodeURIPath",{enumerable:!0,get:function(){return r}})},52157,(e,t,o)=>{"use strict";Object.defineProperty(o,"__esModule",{value:!0}),Object.defineProperty(o,"PreloadChunks",{enumerable:!0,get:function(){return i}});let r=e.r(43476),n=e.r(74080),l=e.r(63599),u=e.r(9885),a=e.r(43369);function i({moduleIds:e}){if("u">typeof window)return null;let t=l.workAsyncStorage.getStore();if(void 0===t)return null;let o=[];if(t.reactLoadableManifest&&e){let r=t.reactLoadableManifest;for(let t of e){if(!r[t])continue;let e=r[t].files;o.push(...e)}}if(0===o.length)return null;let s=(0,a.getAssetTokenQuery)();return(0,r.jsx)(r.Fragment,{children:o.map(e=>{let o=`${t.assetPrefix}/_next/${(0,u.encodeURIPath)(e)}${s}`;return e.endsWith(".css")?(0,r.jsx)("link",{precedence:"dynamic",href:o,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,n.preload)(o,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},69093,(e,t,o)=>{"use strict";Object.defineProperty(o,"__esModule",{value:!0}),Object.defineProperty(o,"default",{enumerable:!0,get:function(){return s}});let r=e.r(43476),n=e.r(71645),l=e.r(67585),u=e.r(52157);function a(e){return{default:e&&"default"in e?e.default:e}}let i={loader:()=>Promise.resolve(a(()=>null)),loading:null,ssr:!0},s=function(e){let t={...i,...e},o=(0,n.lazy)(()=>t.loader().then(a)),s=t.loading;function c(e){let a=s?(0,r.jsx)(s,{isLoading:!0,pastDelay:!0,error:null}):null,i=!t.ssr||!!t.loading,c=i?n.Suspense:n.Fragment,d=t.ssr?(0,r.jsxs)(r.Fragment,{children:["u"{"use strict";Object.defineProperty(o,"__esModule",{value:!0}),Object.defineProperty(o,"default",{enumerable:!0,get:function(){return n}});let r=e.r(55682)._(e.r(69093));function n(e,t){let o={};"function"==typeof e&&(o.loader=e);let n={...o,...t};return(0,r.default)({...n,modules:n.loadableGenerated?.modules})}("function"==typeof o.default||"object"==typeof o.default&&null!==o.default)&&void 0===o.default.__esModule&&(Object.defineProperty(o.default,"__esModule",{value:!0}),Object.assign(o.default,o),t.exports=o.default)},9409,e=>{e.v({controlBtn:"OfficeMap-module__ToIo3G__controlBtn",controlBtnActive:"OfficeMap-module__ToIo3G__controlBtnActive",controls:"OfficeMap-module__ToIo3G__controls",errorList:"OfficeMap-module__ToIo3G__errorList",errorOverlay:"OfficeMap-module__ToIo3G__errorOverlay",errorText:"OfficeMap-module__ToIo3G__errorText",errorTitle:"OfficeMap-module__ToIo3G__errorTitle",map:"OfficeMap-module__ToIo3G__map",markerIcon:"OfficeMap-module__ToIo3G__markerIcon",root:"OfficeMap-module__ToIo3G__root",shimmer:"OfficeMap-module__ToIo3G__shimmer",skeleton:"OfficeMap-module__ToIo3G__skeleton",srOnly:"OfficeMap-module__ToIo3G__srOnly"})},23466,e=>{"use strict";var t=e.i(43476),o=e.i(70703),r=e.i(9409);let n=(0,o.default)(()=>e.A(85183),{loadableGenerated:{modules:[42391]},ssr:!1,loading:()=>(0,t.jsx)("div",{className:r.default.skeleton,role:"presentation","aria-hidden":"true"})});e.s(["default",0,function(){return(0,t.jsx)(n,{})}])},85183,e=>{e.v(t=>Promise.all(["static/chunks/0t48hzs_6fshe.css","static/chunks/0~ck806-rgc-9.js"].map(t=>e.l(t))).then(()=>t(42391)))}]); \ No newline at end of file diff --git a/build/_next/static/chunks/0~ck806-rgc-9.js b/build/_next/static/chunks/0~ck806-rgc-9.js new file mode 100644 index 0000000..3c35991 --- /dev/null +++ b/build/_next/static/chunks/0~ck806-rgc-9.js @@ -0,0 +1,7 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,32322,(t,e,i)=>{t.e,function(t){"use strict";function e(t){var e,i,n,o;for(i=1,n=arguments.length;itypeof L&&L&&L.Mixin){t=z(t)?t:[t];for(var e=0;e0?Math.floor(t):Math.ceil(t)};function F(t,e,i){return t instanceof D?t:z(t)?new D(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new D(t.x,t.y):new D(t,e,i)}function W(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=U(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>=e.x&&n.x<=i.x,r=o.y>=e.y&&n.y<=i.y;return s&&r},overlaps:function(t){t=U(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>e.x&&n.xe.y&&n.y=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=q(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=e.lat&&n.lat<=i.lat,r=o.lng>=e.lng&&n.lng<=i.lng;return s&&r},overlaps:function(t){t=q(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>e.lat&&n.late.lng&&n.lngtypeof orientation||tB("mobile"),tT=!window.PointerEvent&&window.MSPointerEvent,tM=!!(window.PointerEvent||tT),tz="ontouchstart"in window||!!window.TouchEvent,tC=!window.L_NO_TOUCH&&(tz||tM),tS=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,tZ=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",v,e),window.removeEventListener("testPassiveEventSupport",v,e)}catch(t){}return t}(),tE=!!document.createElement("canvas").getContext,tk=!!(document.createElementNS&&ti("svg").createSVGRect),tO=!!tk&&((u=document.createElement("div")).innerHTML="","http://www.w3.org/2000/svg"===(u.firstChild&&u.firstChild.namespaceURI)),tA=!tk&&function(){try{var t=document.createElement("div");t.innerHTML='';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}();function tB(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var tI={ie:ts,ielt9:tr,edge:ta,webkit:th,android:tl,android23:tu,androidStock:td,opera:t_,chrome:tp,gecko:tm,safari:tf,phantom:tg,opera12:tv,win:ty,ie3d:tx,webkit3d:tw,gecko3d:tb,any3d:tP,mobile:tL,mobileWebkit:tL&&th,mobileWebkit3d:tL&&tw,msPointer:tT,pointer:tM,touch:tC,touchNative:tz,mobileOpera:tL&&t_,mobileGecko:tL&&tm,retina:tS,passiveEvents:tZ,canvas:tE,svg:tk,vml:tA,inlineSvg:tO,mac:0===navigator.platform.indexOf("Mac"),linux:0===navigator.platform.indexOf("Linux")},tR=tI.msPointer?"MSPointerDown":"pointerdown",tN=tI.msPointer?"MSPointerMove":"pointermove",tj=tI.msPointer?"MSPointerUp":"pointerup",tD=tI.msPointer?"MSPointerCancel":"pointercancel",tH={touchstart:tR,touchmove:tN,touchend:tj,touchcancel:tD},tF={touchstart:function(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&eb(e),tK(t,e)},touchmove:tK,touchend:tK,touchcancel:tK},tW={},tU=!1;function tV(t){tW[t.pointerId]=t}function tq(t){tW[t.pointerId]&&(tW[t.pointerId]=t)}function tG(t){delete tW[t.pointerId]}function tK(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],tW)e.touches.push(tW[i]);e.changedTouches=[e],t(e)}}var tY=ee(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),tJ=ee(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),tX="webkitTransition"===tJ||"OTransition"===tJ?tJ+"End":"transitionend";function t$(t){return"string"==typeof t?document.getElementById(t):t}function tQ(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!i||"auto"===i)&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);i=n?n[e]:null}return"auto"===i?null:i}function t0(t,e,i){var n=document.createElement(t);return n.className=e||"",i&&i.appendChild(n),n}function t1(t){var e=t.parentNode;e&&e.removeChild(t)}function t2(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function t3(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function t5(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function t8(t,e){if(void 0!==t.classList)return t.classList.contains(e);var i=t6(t);return i.length>0&&RegExp("(^|\\s)"+e+"(\\s|$)").test(i)}function t4(t,e){if(void 0!==t.classList)for(var i=w(e),n=0,o=i.length;n0?2*window.devicePixelRatio:1;function ez(t){return tI.edge?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/eM:t.deltaY&&1===t.deltaMode?-(20*t.deltaY):t.deltaY&&2===t.deltaMode?-(60*t.deltaY):t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&32765>Math.abs(t.detail)?-(20*t.detail):t.detail?-(60*(t.detail/32765)):0}function eC(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch(t){return!1}return i!==t}var eS=j.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=eo(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=B(this._animate,this),this._step()},_step:function(t){var e=new Date-this._startTime,i=1e3*this._duration;ethis.options.maxZoom))?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),n=this._limitCenter(i,this._zoom,q(t));return i.equals(n)||this.panTo(n,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=F((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=F(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),s=this.project(t),r=this.getPixelBounds(),a=U([r.min.add(i),r.max.subtract(n)]),h=a.getSize();if(!a.contains(s)){this._enforcingBounds=!0;var l=s.subtract(a.getCenter()),u=a.extend(s).getSize().subtract(h);o.x+=l.x<0?-u.x:u.x,o.y+=l.y<0?-u.y:u.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=e({animate:!1,pan:!0},!0===t?{animate:!0}:t);var i=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var n=this.getSize(),o=i.divideBy(2).round(),s=n.divideBy(2).round(),r=o.subtract(s);return r.x||r.y?(t.animate&&t.pan?this.panBy(r):(t.pan&&this._rawPanBy(r),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(_(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:i,newSize:n})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=e({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var i=_(this._handleGeolocationResponse,this),n=_(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(i,n,t):navigator.geolocation.getCurrentPosition(i,n,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){if(this._container._leaflet_id){var e=t.code,i=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})}},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e=new G(t.coords.latitude,t.coords.longitude),i=e.toBounds(2*t.coords.accuracy),n=this._locateOptions;if(n.setView){var o=this.getBoundsZoom(i);this.setView(e,n.maxZoom?Math.min(o,n.maxZoom):o)}var s={latlng:e,bounds:i,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(s[r]=t.coords[r]);this.fire("locationfound",s)}},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.enable(),this},remove:function(){var t;if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),t1(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(I(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)t1(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var i=t0("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=i),i},getCenter:function(){return(this._checkIfLoaded(),this._lastCenter&&!this._moved())?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new V(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=q(t),i=F(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),h=this.getSize().subtract(i),l=U(this.project(a,n),this.project(r,n)).getSize(),u=tI.any3d?this.options.zoomSnap:1,c=h.x/l.x,d=h.y/l.y,_=e?Math.max(c,d):Math.min(c,d);return n=this.getScaleZoom(_,n),u&&(n=u/100*Math.round(n/(u/100)),n=e?Math.ceil(n/u)*u:Math.floor(n/u)*u),Math.max(o,Math.min(s,n))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new D(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new W(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs;e=void 0===e?this._zoom:e;var n=i.zoom(t*i.scale(e));return isNaN(n)?1/0:n},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(K(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(F(t),e)},layerPointToLatLng:function(t){var e=F(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){return this.project(K(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(K(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(q(t))},distance:function(t,e){return this.options.crs.distance(K(t),K(e))},containerPointToLayerPoint:function(t){return F(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return F(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(F(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(K(t)))},mouseEventToContainerPoint:function(t){return eT(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=t$(t);if(e){if(e._leaflet_id)throw Error("Map container is already initialized.")}else throw Error("Map container not found.");ed(e,"scroll",this._onScroll,this),this._containerId=m(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&tI.any3d,t4(t,"leaflet-container"+(tI.touch?" leaflet-touch":"")+(tI.retina?" leaflet-retina":"")+(tI.ielt9?" leaflet-oldie":"")+(tI.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=tQ(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&"sticky"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),en(this._mapPane,new D(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(t4(t.markerPane,"leaflet-zoom-hide"),t4(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){en(this._mapPane,new D(0,0));var n=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var o=this._zoom!==e;this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return I(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){en(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[m(this._container)]=this;var e=t?ep:ed;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),tI.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){I(this._resizeRequest),this._resizeRequest=B(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,s=t.target||t.srcElement,r=!1;s;){if((i=this._targets[m(s)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){r=!0;break}if(i&&i.listens(e,!0)&&(o&&!eC(s,t)||(n.push(i),o)))break;if(s===this._container)break;s=s.parentNode}return!n.length&&!r&&!o&&this.listens(e,!0)&&(n=[this]),n},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e=t.target||t.srcElement;if(!(!this._loaded||e._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(e))){var i=t.type;"mousedown"===i&&eh(e),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,i,n){if("click"===t.type){var o=e({},t);o.type="preclick",this._fireDOMEvent(o,o.type,n)}var s=this._findEventTargets(t,i);if(n){for(var r=[],a=0;a=Math.abs(r.x)&&1>=Math.abs(r.y)?t:this.unproject(n.add(r),e)},_limitOffset:function(t,e){if(!e)return t;var i=this.getPixelBounds(),n=new W(i.min.add(t),i.max.add(t));return t.add(this._getBoundsOffset(n,e))},_getBoundsOffset:function(t,e,i){var n=U(this.project(e.getNorthEast(),i),this.project(e.getSouthWest(),i)),o=n.min.subtract(t.min),s=n.max.subtract(t.max);return new D(this._rebound(o.x,-s.x),this._rebound(o.y,-s.y))},_rebound:function(t,e){return t+e>0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=tI.any3d?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){t7(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._trunc();return(!0===(e&&e.animate)||!!this.getSize().contains(i))&&(this.panBy(i,e),!0)},_createAnimProxy:function(){var t=this._proxy=t0("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(t){var e=this._proxy.style[tY];ei(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),e===this._proxy.style[tY]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){t1(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();ei(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),o=this._getCenterOffset(t)._divideBy(1-1/n);return(!0===i.animate||!!this.getSize().contains(o))&&(B(function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)},this),!0)},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,t4(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(_(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&t7(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}}),eE=R.extend({options:{position:"topright"},initialize:function(t){b(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),n=t._controlCorners[i];return t4(e,"leaflet-control"),-1!==i.indexOf("bottom")?n.insertBefore(e,n.firstChild):n.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map&&(t1(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null),this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),ek=function(t){return new eE(t)};eZ.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",i=this._controlContainer=t0("div",e+"control-container",this._container);function n(n,o){t[n+o]=t0("div",e+n+" "+e+o,i)}n("top","left"),n("top","right"),n("bottom","left"),n("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)t1(this._controlCorners[t]);t1(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var eO=eE.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(m(t.target)),i=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,e){var i=document.createElement("div");return i.innerHTML='",i.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer);t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+m(this),n),this._layerControlInputs.push(e),e.layerId=m(t.layer),ed(e,"click",this._onInputClick,this);var o=document.createElement("span");o.innerHTML=" "+t.name;var s=document.createElement("span");return i.appendChild(s),s.appendChild(e),s.appendChild(o),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){if(!this._preventClick){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;s>=0;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;s=0;o--)t=i[o],e=this._getLayer(t.layerId).layer,t.disabled=void 0!==e.options.minZoom&&ne.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section;this._preventClick=!0,ed(t,"click",eb),this.expand();var e=this;setTimeout(function(){ep(t,"click",eb),e._preventClick=!1})}}),eA=eE.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=t0("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){var s=t0("a",i,n);return s.innerHTML=t,s.href="#",s.title=e,s.setAttribute("role","button"),s.setAttribute("aria-label",e),ew(s),ed(s,"click",eP),ed(s,"click",o,this),ed(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";t7(this._zoomInButton,e),t7(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||t._zoom===t.getMinZoom())&&(t4(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||t._zoom===t.getMaxZoom())&&(t4(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}});eZ.mergeOptions({zoomControl:!0}),eZ.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new eA,this.addControl(this.zoomControl))});var eB=eE.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=t0("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=t0("div",e,i)),t.imperial&&(this._iScale=t0("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t);this._updateScale(this._mScale,e<1e3?e+" m":e/1e3+" km",e/t)},_updateImperial:function(t){var e,i,n,o=3.2808399*t;o>5280?(e=o/5280,i=this._getRoundNum(e),this._updateScale(this._iScale,i+" mi",i/e)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+" ft",n/o))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return e*(i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:1)}}),eI=eE.extend({options:{position:"bottomright",prefix:''+(tI.inlineSvg?' ':"")+"Leaflet"},initialize:function(t){b(this,t),this._attributions={}},onAdd:function(t){for(var e in t.attributionControl=this,this._container=t0("div","leaflet-control-attribution"),ew(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",function(){this.removeAttribution(t.layer.getAttribution())},this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t&&(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update()),this},removeAttribution:function(t){return t&&this._attributions[t]&&(this._attributions[t]--,this._update()),this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(' ')}}});eZ.mergeOptions({attributionControl:!0}),eZ.addInitHook(function(){this.options.attributionControl&&new eI().addTo(this)}),eE.Layers=eO,eE.Zoom=eA,eE.Scale=eB,eE.Attribution=eI,ek.layers=function(t,e,i){return new eO(t,e,i)},ek.zoom=function(t){return new eA(t)},ek.scale=function(t){return new eB(t)},ek.attribution=function(t){return new eI(t)};var eR=R.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled&&(this._enabled=!1,this.removeHooks()),this},enabled:function(){return!!this._enabled}});eR.addTo=function(t,e){return t.addHandler(e,this),this};var eN=tI.touch?"touchstart mousedown":"mousedown",ej=j.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){b(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(ed(this._dragStartTarget,eN,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ej._dragging===this&&this.finishDrag(!0),ep(this._dragStartTarget,eN,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!(!this._enabled||(this._moved=!1,t8(this._element,"leaflet-zoom-anim")))){if(t.touches&&1!==t.touches.length){ej._dragging===this&&this.finishDrag();return}if(!ej._dragging&&!t.shiftKey&&(1===t.which||1===t.button||t.touches)&&(ej._dragging=this,this._preventOutline&&eh(this._element),er(),i(),!this._moving)){this.fire("down");var e=t.touches?t.touches[0]:t,n=eu(this._element);this._startPoint=new D(e.clientX,e.clientY),this._startPos=eo(this._element),this._parentScale=ec(n);var o="mousedown"===t.type;ed(document,o?"mousemove":"touchmove",this._onMove,this),ed(document,o?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(t){if(this._enabled){if(t.touches&&t.touches.length>1){this._moved=!0;return}var e=t.touches&&1===t.touches.length?t.touches[0]:t,i=new D(e.clientX,e.clientY)._subtract(this._startPoint);(i.x||i.y)&&(Math.abs(i.x)+Math.abs(i.y)typeof Uint8Array?Uint8Array:Array)(i);n[0]=n[i-1]=1,function t(e,i,n,o,s){var r,a,h,l=0;for(a=o+1;a<=s-1;a++)(h=eK(e[a],e[o],e[s],!0))>l&&(r=a,l=h);l>n&&(i[r]=1,t(e,i,n,o,r),t(e,i,n,r,s))}(t,n,e,0,i-1);var o,s=[];for(o=0;oe&&(i.push(t[n]),o=n);return oe.max.x&&(i|=2),t.ye.max.y&&(i|=8),i}function eK(t,e,i,n){var o,s=e.x,r=e.y,a=i.x-s,h=i.y-r,l=a*a+h*h;return l>0&&((o=((t.x-s)*a+(t.y-r)*h)/l)>1?(s=i.x,r=i.y):o>0&&(s+=a*o,r+=h*o)),a=t.x-s,h=t.y-r,n?a*a+h*h:new D(s,r)}function eY(t){return!z(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function eJ(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),eY(t)}function eX(t,e){if(!t||0===t.length)throw Error("latlngs not passed");eY(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var i,n,o,s,r,a,h,l,u=K([0,0]),c=q(t);c.getNorthWest().distanceTo(c.getSouthWest())*c.getNorthEast().distanceTo(c.getNorthWest())<1700&&(u=eF(t));var d=t.length,_=[];for(i=0;in){h=(s-n)/o,l=[a.x-h*(a.x-r.x),a.y-h*(a.y-r.y)];break}var m=e.unproject(F(l));return K([m.lat+u.lat,m.lng+u.lng])}var e$={project:function(t){return new D(t.lng,t.lat)},unproject:function(t){return new G(t.y,t.x)},bounds:new W([-180,-90],[180,90])},eQ={R:6378137,R_MINOR:6356752.314245179,bounds:new W([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,i=this.R,n=t.lat*e,o=this.R_MINOR/i,s=Math.sqrt(1-o*o),r=s*Math.sin(n);return n=-i*Math.log(Math.max(Math.tan(Math.PI/4-n/2)/Math.pow((1-r)/(1+r),s/2),1e-10)),new D(t.lng*e*i,n)},unproject:function(t){for(var e,i=180/Math.PI,n=this.R,o=this.R_MINOR/n,s=Math.sqrt(1-o*o),r=Math.exp(-t.y/n),a=Math.PI/2-2*Math.atan(r),h=0,l=.1;h<15&&Math.abs(l)>1e-7;h++)l=Math.PI/2-2*Math.atan(r*(e=Math.pow((1-(e=s*Math.sin(a)))/(1+e),s/2)))-a,a+=l;return new G(a*i,t.x*i/n)}},e0=e({},J,{code:"EPSG:3395",projection:eQ,transformation:Q(c=.5/(Math.PI*eQ.R),.5,-c,.5)}),e1=e({},J,{code:"EPSG:4326",projection:e$,transformation:Q(1/180,1,-1/180,.5)}),e2=e({},Y,{projection:e$,transformation:Q(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,n=e.lat-t.lat;return Math.sqrt(i*i+n*n)},infinite:!0});Y.Earth=J,Y.EPSG3395=e0,Y.EPSG3857=tt,Y.EPSG900913=te,Y.EPSG4326=e1,Y.Simple=e2;var e3=j.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[m(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[m(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",function(){e.off(i,this)},this)}this.onAdd(e),this.fire("add"),e.fire("layeradd",{layer:this})}}});eZ.include({addLayer:function(t){if(!t._layerAdd)throw Error("The provided object is not a Layer.");var e=m(t);return this._layers[e]||(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this},removeLayer:function(t){var e=m(t);return this._layers[e]&&(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null),this},hasLayer:function(t){return m(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){t=t?z(t)?t:[t]:[];for(var e=0,i=t.length;ethis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()=2&&e[0]instanceof G&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){io.prototype._setLatLngs.call(this,t),eY(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return eY(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new D(e,e);if(t=new W(t.min.subtract(i),t.max.add(i)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t)){if(this.options.noClip){this._parts=this._rings;return}for(var n,o=0,s=this._rings.length;ot.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(l=!l);return l||io.prototype._containsPoint.call(this,t,!0)}}),ir=e8.extend({initialize:function(t,e){b(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=z(t)?t:t.features;if(o){for(e=0,i=o.length;e0&&o.push(o[0].slice()),o}function i_(t,i){return t.feature?e({},t.feature,{geometry:i}):ip(i)}function ip(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}var im={toGeoJSON:function(t){return i_(this,{type:"Point",coordinates:ic(this.getLatLng(),t)})}};function ig(t,e){return new ir(t,e)}e6.include(im),ii.include(im),ie.include(im),io.include({toGeoJSON:function(t){var e=!eY(this._latlngs),i=id(this._latlngs,+!!e,!1,t);return i_(this,{type:(e?"Multi":"")+"LineString",coordinates:i})}}),is.include({toGeoJSON:function(t){var e=!eY(this._latlngs),i=e&&!eY(this._latlngs[0]),n=id(this._latlngs,i?2:+!!e,!0,t);return e||(n=[n]),i_(this,{type:(i?"Multi":"")+"Polygon",coordinates:n})}}),e5.include({toMultiPoint:function(t){var e=[];return this.eachLayer(function(i){e.push(i.toGeoJSON(t).geometry.coordinates)}),i_(this,{type:"MultiPoint",coordinates:e})},toGeoJSON:function(t){var e=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===e)return this.toMultiPoint(t);var i="GeometryCollection"===e,n=[];return(this.eachLayer(function(e){if(e.toGeoJSON){var o=e.toGeoJSON(t);if(i)n.push(o.geometry);else{var s=ip(o);"FeatureCollection"===s.type?n.push.apply(n,s.features):n.push(s)}}}),i)?i_(this,{geometries:n,type:"GeometryCollection"}):{type:"FeatureCollection",features:n}}});var iv=e3.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,i){this._url=t,this._bounds=q(e),b(this,i)},onAdd:function(){!this._image&&(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(t4(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){t1(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&t3(this._image),this},bringToBack:function(){return this._map&&t5(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=q(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,e=this._image=t?this._url:t0("img");if(t4(e,"leaflet-image-layer"),this._zoomAnimated&&t4(e,"leaflet-zoom-animated"),this.options.className&&t4(e,this.options.className),e.onselectstart=v,e.onmousemove=v,e.onload=_(this.fire,this,"load"),e.onerror=_(this._overlayOnError,this,"error"),(this.options.crossOrigin||""===this.options.crossOrigin)&&(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t){this._url=e.src;return}e.src=this._url,e.alt=this.options.alt},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),i=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;ei(this._image,i,e)},_reset:function(){var t=this._image,e=new W(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();en(t,e.min),t.style.width=i.x+"px",t.style.height=i.y+"px"},_updateOpacity:function(){et(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)},getCenter:function(){return this._bounds.getCenter()}}),iy=iv.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,e=this._image=t?this._url:t0("video");if(t4(e,"leaflet-image-layer"),this._zoomAnimated&&t4(e,"leaflet-zoom-animated"),this.options.className&&t4(e,this.options.className),e.onselectstart=v,e.onmousemove=v,e.onloadeddata=_(this.fire,this,"load"),t){for(var i=e.getElementsByTagName("source"),n=[],o=0;o0?n:[e.src];return}z(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var s=0;so?(e.height=o+"px",t4(t,s)):t7(t,s),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();en(this._container,e.add(i))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var t=this._map,e=parseInt(tQ(this._container,"marginBottom"),10)||0,i=this._container.offsetHeight+e,n=this._containerWidth,o=new D(this._containerLeft,-i-this._containerBottom);o._add(eo(this._container));var s=t.layerPointToContainerPoint(o),r=F(this.options.autoPanPadding),a=F(this.options.autoPanPaddingTopLeft||r),h=F(this.options.autoPanPaddingBottomRight||r),l=t.getSize(),u=0,c=0;s.x+n+h.x>l.x&&(u=s.x+n-l.x+h.x),s.x-u-a.x<0&&(u=s.x-a.x),s.y+i+h.y>l.y&&(c=s.y+i-l.y+h.y),s.y-c-a.y<0&&(c=s.y-a.y),(u||c)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([u,c]))}},_getAnchor:function(){return F(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});eZ.mergeOptions({closePopupOnClick:!0}),eZ.include({openPopup:function(t,e,i){return this._initOverlay(ib,t,e,i).openOn(this),this},closePopup:function(t){return t=arguments.length?t:this._popup,t&&t.close(),this}}),e3.include({bindPopup:function(t,e){return this._popup=this._initOverlay(ib,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&(this instanceof e8||(this._popup._source=this),this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){if(this._popup&&this._map){eP(t);var e=t.layer||t.target;if(this._popup._source===e&&!(e instanceof it))return void(this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng));this._popup._source=e,this.openPopup(t.latlng)}},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var iP=iw.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){iw.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){iw.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=iw.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=t0("div",t),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+m(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i,n=this._map,o=this._container,s=n.latLngToContainerPoint(n.getCenter()),r=n.layerPointToContainerPoint(t),a=this.options.direction,h=o.offsetWidth,l=o.offsetHeight,u=F(this.options.offset),c=this._getAnchor();"top"===a?(e=h/2,i=l):"bottom"===a?(e=h/2,i=0):("center"===a?e=h/2:"right"===a?e=0:"left"===a?e=h:r.xthis.options.maxZoom||in&&this._retainParent(o,s,r,n))},_retainChildren:function(t,e,i,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*e;s<2*e+2;s++){var r=new D(o,s);r.z=i+1;var a=this._tileCoordsToKey(r),h=this._tiles[a];if(h&&h.active){h.retain=!0;continue}h&&h.loaded&&(h.retain=!0),i+1this.options.maxZoom||void 0!==this.options.minZoom&&o1)return void this._setView(t,i);for(var c=o.min.y;c<=o.max.y;c++)for(var d=o.min.x;d<=o.max.x;d++){var _=new D(d,c);if(_.z=this._tileZoom,this._isValidTile(_)){var p=this._tiles[this._tileCoordsToKey(_)];p?p.current=!0:r.push(_)}}if(r.sort(function(t,e){return t.distanceTo(s)-e.distanceTo(s)}),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var m=document.createDocumentFragment();for(d=0;di.max.x)||!e.wrapLat&&(t.yi.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return q(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),o=n.add(i);return[e.unproject(n,t.z),e.unproject(o,t.z)]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),i=new V(e[0],e[1]);return this.options.noWrap||(i=this._map.wrapLatLngBounds(i)),i},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new D(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];e&&(t1(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){t4(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=v,t.onmousemove=v,tI.ielt9&&this.options.opacity<1&&et(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),_(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&B(_(this._tileReady,this,t,null,o)),en(o,i),this._tiles[n]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(et(i.el,0),I(this._fadeFrame),this._fadeFrame=B(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(t4(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),tI.ielt9||!this._map._fadeAnimated?B(this._pruneTiles,this):setTimeout(_(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new D(this._wrapX?g(t.x,this._wrapX):t.x,this._wrapY?g(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new W(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}}),iM=iT.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=b(this,e)).detectRetina&&tI.retina&&e.maxZoom>0?(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom=Math.min(e.maxZoom,e.minZoom+1)):(e.zoomOffset++,e.maxZoom=Math.max(e.minZoom,e.maxZoom-1)),e.minZoom=Math.max(0,e.minZoom)):e.zoomReverse?e.minZoom=Math.min(e.maxZoom,e.minZoom):e.maxZoom=Math.max(e.minZoom,e.maxZoom),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return ed(i,"load",_(this._tileOnLoad,this,e,i)),ed(i,"error",_(this._tileOnError,this,e,i)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),"string"==typeof this.options.referrerPolicy&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var i={r:tI.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var n=this._globalTileRange.max.y-t.y;this.options.tms&&(i.y=n),i["-y"]=n}return M(this._url,e(i,this.options))},_tileOnLoad:function(t,e){tI.ielt9?setTimeout(_(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute("src")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom,i=this.options.zoomReverse,n=this.options.zoomOffset;return i&&(t=e-t),t+n},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)if(this._tiles[t].coords.z!==this._tileZoom&&((e=this._tiles[t].el).onload=v,e.onerror=v,!e.complete)){e.src=S;var i=this._tiles[t].coords;t1(e),delete this._tiles[t],this.fire("tileabort",{tile:e,coords:i})}},_removeTile:function(t){var e=this._tiles[t];if(e)return e.el.setAttribute("src",S),iT.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(this._map&&(!i||i.getAttribute("src")!==S))return iT.prototype._tileReady.call(this,t,e,i)}});function iz(t,e){return new iM(t,e)}var iC=iM.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,i){this._url=t;var n=e({},this.defaultWmsParams);for(var o in i)o in this.options||(n[o]=i[o]);var s=(i=b(this,i)).detectRetina&&tI.retina?2:1,r=this.getTileSize();n.width=r.x*s,n.height=r.y*s,this.wmsParams=n},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,iM.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,n=U(i.project(e[0]),i.project(e[1])),o=n.min,s=n.max,r=(this._wmsVersion>=1.3&&this._crs===e1?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),a=iM.prototype.getTileUrl.call(this,t);return a+P(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,i){return e(this.wmsParams,t),i||this.redraw(),this}});iM.WMS=iC,iz.wms=function(t,e){return new iC(t,e)};var iS=e3.extend({options:{padding:.1},initialize:function(t){b(this,t),m(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),t4(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),s=n.multiplyBy(-i).add(o).subtract(this._map._getNewPixelOrigin(t,e));tI.any3d?ei(this._container,s,i):en(this._container,s)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new W(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),iZ=iS.extend({options:{tolerance:0},getEvents:function(){var t=iS.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){iS.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");ed(t,"mousemove",this._onMouseMove,this),ed(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),ed(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){I(this._redrawRequest),delete this._ctx,t1(this._container),ep(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){iS.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),n=tI.retina?2:1;en(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",tI.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){iS.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[m(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,n=e.prev;i?i.prev=n:this._drawLast=n,n?n.next=i:this._drawFirst=i,delete t._order,delete this._layers[m(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var e,i,n=t.options.dashArray.split(/[, ]+/),o=[];for(i=0;i')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),iO=tI.vml?ik:ti,iA=iS.extend({_initContainer:function(){this._container=iO("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=iO("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){t1(this._container),ep(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!this._map._animatingZoom||!this._bounds){iS.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),en(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=iO("path");t.options.className&&t4(e,t.options.className),t.options.interactive&&t4(e,"leaflet-interactive"),this._updateStyle(t),this._layers[m(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){t1(t._path),t.removeInteractiveTarget(t._path),delete this._layers[m(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;e&&(i.stroke?(e.setAttribute("stroke",i.color),e.setAttribute("stroke-opacity",i.opacity),e.setAttribute("stroke-width",i.weight),e.setAttribute("stroke-linecap",i.lineCap),e.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?e.setAttribute("stroke-dasharray",i.dashArray):e.removeAttribute("stroke-dasharray"),i.dashOffset?e.setAttribute("stroke-dashoffset",i.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),i.fill?(e.setAttribute("fill",i.fillColor||i.color),e.setAttribute("fill-opacity",i.fillOpacity),e.setAttribute("fill-rule",i.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,tn(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n=Math.max(Math.round(t._radiusY),1)||i,o="a"+i+","+n+" 0 1,0 ",s=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+o+2*i+",0 "+o+-(2*i)+",0 ";this._setPath(t,s)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){t3(t._path)},_bringToBack:function(t){t5(t._path)}});function iB(t){return tI.svg||tI.vml?new iA(t):null}tI.vml&&iA.include({_initContainer:function(){this._container=t0("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(iS.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=ik("shape");t4(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=ik("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[m(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;t1(e),t.removeInteractiveTarget(e),delete this._layers[m(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e||(e=t._stroke=ik("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=z(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i||(i=t._fill=ik("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){t3(t._container)},_bringToBack:function(t){t5(t._container)}}),eZ.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var e=this._paneRenderers[t];return void 0===e&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&iE(t)||iB(t)}});var iI=is.extend({initialize:function(t,e){is.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=q(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});iA.create=iO,iA.pointsToPath=tn,ir.geometryToLayer=ia,ir.coordsToLatLng=il,ir.coordsToLatLngs=iu,ir.latLngToCoords=ic,ir.latLngsToCoords=id,ir.getFeature=i_,ir.asFeature=ip,eZ.mergeOptions({boxZoom:!0});var iR=eR.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){ed(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){ep(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){t1(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),i(),er(),this._startPoint=this._map.mouseEventToContainerPoint(t),ed(document,{contextmenu:eP,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=t0("div","leaflet-zoom-box",this._container),t4(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new W(this._point,this._startPoint),i=e.getSize();en(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(t1(this._box),t7(this._container,"leaflet-crosshair")),n(),ea(),ep(document,{contextmenu:eP,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(_(this._resetState,this),0);var e=new V(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});eZ.addInitHook("addHandler","boxZoom",iR),eZ.mergeOptions({doubleClickZoom:!0});var iN=eR.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,o=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(o):e.setZoomAround(t.containerPoint,o)}});eZ.addInitHook("addHandler","doubleClickZoom",iN),eZ.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var ij=eR.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new ej(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}t4(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){t7(this._map._container,"leaflet-grab"),t7(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=q(this._map.options.maxBounds);this._offsetLimit=U(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.xe.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,s=(n+e+i)%t-e-i,r=Math.abs(o+i)0?o:-o))-e;this._delta=0,this._startTime=null,s&&("center"===t.options.scrollWheelZoom?t.setZoom(e+s):t.setZoomAround(this._lastMousePos,e+s))}});eZ.addInitHook("addHandler","scrollWheelZoom",iH),eZ.mergeOptions({tapHold:tI.touchNative&&tI.safari&&tI.mobile,tapTolerance:15});var iF=eR.extend({addHooks:function(){ed(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){ep(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(clearTimeout(this._holdTimeout),1===t.touches.length){var e=t.touches[0];this._startPos=this._newPos=new D(e.clientX,e.clientY),this._holdTimeout=setTimeout(_(function(){this._cancel(),this._isTapValid()&&(ed(document,"touchend",eb),ed(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))},this),600),ed(document,"touchend touchcancel contextmenu",this._cancel,this),ed(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function t(){ep(document,"touchend",eb),ep(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),ep(document,"touchend touchcancel contextmenu",this._cancel,this),ep(document,"touchmove",this._onMove,this)},_onMove:function(t){var e=t.touches[0];this._newPos=new D(e.clientX,e.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){var i=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});i._simulated=!0,e.target.dispatchEvent(i)}});eZ.addInitHook("addHandler","tapHold",iF),eZ.mergeOptions({touchZoom:tI.touch,bounceAtZoomLimits:!0});var iW=eR.extend({addHooks:function(){t4(this._map._container,"leaflet-touch-zoom"),ed(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){t7(this._map._container,"leaflet-touch-zoom"),ep(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(n)._divideBy(2))),this._startDist=i.distanceTo(n),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),ed(document,"touchmove",this._onTouchMove,this),ed(document,"touchend touchcancel",this._onTouchEnd,this),eb(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),o=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(o,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoome.getMaxZoom()&&o>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===o)return}else{var s=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1===o&&0===s.x&&0===s.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(s),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),I(this._animRequest);var r=_(e._move,e,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=B(r,this,!0),eb(t)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,I(this._animRequest),ep(document,"touchmove",this._onTouchMove,this),ep(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});eZ.addInitHook("addHandler","touchZoom",iW),eZ.BoxZoom=iR,eZ.DoubleClickZoom=iN,eZ.Drag=ij,eZ.Keyboard=iD,eZ.ScrollWheelZoom=iH,eZ.TapHold=iF,eZ.TouchZoom=iW,t.Bounds=W,t.Browser=tI,t.CRS=Y,t.Canvas=iZ,t.Circle=ii,t.CircleMarker=ie,t.Class=R,t.Control=eE,t.DivIcon=iL,t.DivOverlay=iw,t.DomEvent={__proto__:null,on:ed,off:ep,stopPropagation:ey,disableScrollPropagation:ex,disableClickPropagation:ew,preventDefault:eb,stop:eP,getPropagationPath:eL,getMousePosition:eT,getWheelDelta:ez,isExternalTarget:eC,addListener:ed,removeListener:ep},t.DomUtil={__proto__:null,TRANSFORM:tY,TRANSITION:tJ,TRANSITION_END:tX,get:t$,getStyle:tQ,create:t0,remove:t1,empty:t2,toFront:t3,toBack:t5,hasClass:t8,addClass:t4,removeClass:t7,setClass:t9,getClass:t6,setOpacity:et,testProp:ee,setTransform:ei,setPosition:en,getPosition:eo,get disableTextSelection(){return i},get enableTextSelection(){return n},disableImageDrag:er,enableImageDrag:ea,preventOutline:eh,restoreOutline:el,getSizedParentNode:eu,getScale:ec},t.Draggable=ej,t.Evented=j,t.FeatureGroup=e8,t.GeoJSON=ir,t.GridLayer=iT,t.Handler=eR,t.Icon=e4,t.ImageOverlay=iv,t.LatLng=G,t.LatLngBounds=V,t.Layer=e3,t.LayerGroup=e5,t.LineUtil={__proto__:null,simplify:eW,pointToSegmentDistance:eU,closestPointOnSegment:function(t,e,i){return eK(t,e,i)},clipSegment:eV,_getEdgeIntersection:eq,_getBitCode:eG,_sqClosestPointOnSegment:eK,isFlat:eY,_flat:eJ,polylineCenter:eX},t.Map=eZ,t.Marker=e6,t.Mixin={Events:N},t.Path=it,t.Point=D,t.PolyUtil={__proto__:null,clipPolygon:eD,polygonCenter:eH,centroid:eF},t.Polygon=is,t.Polyline=io,t.Popup=ib,t.PosAnimation=eS,t.Projection={__proto__:null,LonLat:e$,Mercator:eQ,SphericalMercator:X},t.Rectangle=iI,t.Renderer=iS,t.SVG=iA,t.SVGOverlay=ix,t.TileLayer=iM,t.Tooltip=iP,t.Transformation=$,t.Util={__proto__:null,extend:e,create:d,bind:_,get lastId(){return p},stamp:m,throttle:f,wrapNum:g,falseFn:v,formatNum:y,trim:x,splitWords:w,setOptions:b,getParamString:P,template:M,isArray:z,indexOf:C,emptyImageUrl:S,requestFn:O,cancelFn:A,requestAnimFrame:B,cancelAnimFrame:I},t.VideoOverlay=iy,t.bind=_,t.bounds=U,t.canvas=iE,t.circle=function(t,e,i){return new ii(t,e,i)},t.circleMarker=function(t,e){return new ie(t,e)},t.control=ek,t.divIcon=function(t){return new iL(t)},t.extend=e,t.featureGroup=function(t,e){return new e8(t,e)},t.geoJSON=ig,t.geoJson=ig,t.gridLayer=function(t){return new iT(t)},t.icon=function(t){return new e4(t)},t.imageOverlay=function(t,e,i){return new iv(t,e,i)},t.latLng=K,t.latLngBounds=q,t.layerGroup=function(t,e){return new e5(t,e)},t.map=function(t,e){return new eZ(t,e)},t.marker=function(t,e){return new e6(t,e)},t.point=F,t.polygon=function(t,e){return new is(t,e)},t.polyline=function(t,e){return new io(t,e)},t.popup=function(t,e){return new ib(t,e)},t.rectangle=function(t,e){return new iI(t,e)},t.setOptions=b,t.stamp=m,t.svg=iB,t.svgOverlay=function(t,e,i){return new ix(t,e,i)},t.tileLayer=iz,t.tooltip=function(t,e){return new iP(t,e)},t.transformation=Q,t.version="1.9.4",t.videoOverlay=function(t,e,i){return new iy(t,e,i)};var iU=window.L;t.noConflict=function(){return window.L=iU,this},window.L=t}(i)},13958,t=>{"use strict";var e,i,n,o,s,r,a,h=t.i(43476),l=t.i(9409),u=t.i(71645),c=t.i(32322);let d=(0,u.createContext)(null);function _(){let t=(0,u.use)(d);if(null==t)throw Error("No context provided: useLeafletContext() can only be used in a descendant of ");return t}let p=(0,u.forwardRef)(function({bounds:t,boundsOptions:e,center:i,children:n,className:o,id:s,placeholder:r,style:a,whenReady:h,zoom:l,..._},p){let[m]=(0,u.useState)({className:o,id:s,style:a}),[f,g]=(0,u.useState)(null),v=(0,u.useRef)(void 0);(0,u.useImperativeHandle)(p,()=>f?.map??null,[f]);let y=(0,u.useCallback)(n=>{if(null!==n&&!v.current){let o=new c.Map(n,_);v.current=o,null!=i&&null!=l?o.setView(i,l):null!=t&&o.fitBounds(t,e),null!=h&&o.whenReady(h),g(Object.freeze({__version:1,map:o}))}},[]);(0,u.useEffect)(()=>()=>{f?.map.remove()},[f]);let x=f?u.default.createElement(d,{value:f},n):r??null;return u.default.createElement("div",{...m,ref:y},x)});function m(t,e,i){return Object.freeze({instance:t,context:e,container:i})}function f(t,e){return null==e?function(e,i){let n=(0,u.useRef)(void 0);return n.current||(n.current=t(e,i)),n}:function(i,n){let o=(0,u.useRef)(void 0);o.current||(o.current=t(i,n));let s=(0,u.useRef)(i),{instance:r}=o.current;return(0,u.useEffect)(function(){s.current!==i&&(e(r,i,s.current),s.current=i)},[r,i,e]),o}}var g=t.i(74080);function v(t){return(0,u.forwardRef)(function(e,i){let{instance:n}=t(e).current;return(0,u.useImperativeHandle)(i,()=>n),null})}function y(t,e){let i=(0,u.useRef)(e);(0,u.useEffect)(function(){e!==i.current&&null!=t.attributionControl&&(null!=i.current&&t.attributionControl.removeAttribution(i.current),null!=e&&t.attributionControl.addAttribution(e)),i.current=e},[t,e])}function x(t,e){let i=(0,u.useRef)(void 0);(0,u.useEffect)(function(){return null!=e&&t.instance.on(e),i.current=e,function(){null!=i.current&&t.instance.off(i.current),i.current=null}},[t,e])}function w(t,e){let i=t.pane??e.pane;return i?{...t,pane:i}:t}function b(t){return function(e){var i;let n=_(),o=t(w(e,n),n);return y(n.map,e.attribution),x(o.current,e.eventHandlers),i=o.current,(0,u.useEffect)(function(){return(n.layerContainer??n.map).addLayer(i.instance),function(){n.layerContainer?.removeLayer(i.instance),n.map.removeLayer(i.instance)}},[n,i]),o}}let P=(e=b(f(function({position:t,...e},i){var n;let o=new c.Marker(t,e);return m(o,(n={overlayContainer:o},Object.freeze({...i,...n})))},function(t,e,i){e.position!==i.position&&t.setLatLng(e.position),null!=e.icon&&e.icon!==i.icon&&t.setIcon(e.icon),null!=e.zIndexOffset&&e.zIndexOffset!==i.zIndexOffset&&t.setZIndexOffset(e.zIndexOffset),null!=e.opacity&&e.opacity!==i.opacity&&t.setOpacity(e.opacity),null!=t.dragging&&e.draggable!==i.draggable&&(!0===e.draggable?t.dragging.enable():t.dragging.disable())})),(0,u.forwardRef)(function(t,i){let{instance:n,context:o}=e(t).current;(0,u.useImperativeHandle)(i,()=>n);let{children:s}=t;return null==s?null:u.default.createElement(d,{value:o},s)})),T=(i=function(t,e){return m(new c.Popup(t,e.overlayContainer),e)},n=function(t,e,{position:i},n){(0,u.useEffect)(function(){let{instance:o}=t;function s(t){t.popup===o&&(o.update(),n(!0))}function r(t){t.popup===o&&n(!1)}return e.map.on({popupopen:s,popupclose:r}),null==e.overlayContainer?(null!=i&&o.setLatLng(i),o.openOn(e.map)):e.overlayContainer.bindPopup(o),function(){e.map.off({popupopen:s,popupclose:r}),e.overlayContainer?.unbindPopup(),e.map.removeLayer(o)}},[t,e,n,i])},o=f(i),s=function(t,e){let i=_(),s=o(w(t,i),i);return y(i.map,t.attribution),x(s.current,t.eventHandlers),n(s.current,i,t,e),s},(0,u.forwardRef)(function(t,e){let[i,n]=(0,u.useState)(!1),{instance:o}=s(t,n).current;(0,u.useImperativeHandle)(e,()=>o),(0,u.useEffect)(function(){i&&o.update()},[o,i,t.children]);let r=o._contentNode;return r?(0,g.createPortal)(t.children,r):null})),M=v(b(f(function({url:t,...e},i){return m(new c.TileLayer(t,w(e,i)),i)},function(t,e,i){!function(t,e,i){let{opacity:n,zIndex:o}=e;null!=n&&n!==i.opacity&&t.setOpacity(n),null!=o&&o!==i.zIndex&&t.setZIndex(o)}(t,e,i);let{url:n}=e;null!=n&&n!==i.url&&t.setUrl(n)}))),z=(r=function(t){return new c.Control.Zoom(t)},v((a=f(function(t,e){return m(r(t),e)}),function(t){let e=_(),i=a(t,e),{instance:n}=i.current,o=(0,u.useRef)(t.position),{position:s}=t;return(0,u.useEffect)(function(){return n.addTo(e.map),function(){n.remove()}},[e.map,n]),(0,u.useEffect)(function(){null!=s&&s!==o.current&&(n.setPosition(s),o.current=s)},[n,s]),i}))),C=[{id:"coimbatore",city:"Coimbatore",name:"Coimbatore Office",position:[11.0168,76.9558]},{id:"bengaluru",city:"Bengaluru",name:"Bengaluru Office",position:[12.9716,77.5946]},{id:"hyderabad",city:"Hyderabad",name:"Hyderabad Office",position:[17.385,78.4867]}],S=[50,50],Z=[14,77.7];function E({positions:t,focus:e,markerRefs:i}){let n=_().map,o=(0,u.useRef)(e);(0,u.useEffect)(()=>{o.current=e},[e]);let s=(0,u.useCallback)(()=>{0!==t.length&&(n.invalidateSize(),n.fitBounds(c.default.latLngBounds(t),{padding:S,maxZoom:7}))},[n,t]);return(0,u.useEffect)(()=>{let t=requestAnimationFrame(s);return()=>cancelAnimationFrame(t)},[s]),(0,u.useEffect)(()=>{let e=n.getContainer(),i=0,s=new ResizeObserver(()=>{cancelAnimationFrame(i),i=requestAnimationFrame(()=>{n.invalidateSize(),o.current||n.fitBounds(c.default.latLngBounds(t),{padding:S,maxZoom:7})})});return s.observe(e),()=>{cancelAnimationFrame(i),s.disconnect()}},[n,t]),(0,u.useEffect)(()=>{if(!e)return;let t=C.find(t=>t.id===e.id);if(!t)return;n.flyTo(t.position,13,{duration:1.1});let o=i.current[t.id];if(!o)return;let s=()=>o.openPopup();return n.once("moveend",s),()=>{n.off("moveend",s)}},[n,e,i]),null}t.s(["default",0,function(){let t=(0,u.useMemo)(()=>c.default.divIcon({className:l.default.markerIcon,html:` + + `,iconSize:[30,40],iconAnchor:[15,40],popupAnchor:[0,-36]}),[]),e=(0,u.useMemo)(()=>C.map(t=>t.position),[]),i=(0,u.useRef)({}),[n,o]=(0,u.useState)(null),s=(0,u.useCallback)(t=>{o(e=>({id:t,nonce:(e?.nonce??0)+1}))},[]),[r,a]=(0,u.useState)("loading"),d=(0,u.useRef)(!1),_=(0,u.useRef)(0),m=(0,u.useCallback)(()=>{d.current=!0,a("ready")},[]),f=(0,u.useCallback)(()=>{_.current+=1,!d.current&&_.current>=6&&a("error")},[]);return(0,u.useEffect)(()=>{let t=window.setTimeout(()=>{d.current||a("error")},12e3);return()=>window.clearTimeout(t)},[]),(0,h.jsxs)("div",{className:l.default.root,role:"region","aria-label":"Map of Doormile office locations",children:[(0,h.jsx)("ul",{className:l.default.srOnly,children:C.map(t=>(0,h.jsxs)("li",{children:[t.name," — latitude ",t.position[0],", longitude ",t.position[1]]},t.id))}),(0,h.jsx)("div",{className:l.default.controls,role:"group","aria-label":"Jump to an office location",children:C.map(t=>{let e=n?.id===t.id;return(0,h.jsx)("button",{type:"button",className:`${l.default.controlBtn} ${e?l.default.controlBtnActive:""}`,"aria-pressed":e,"aria-label":`Show ${t.name} on the map`,onClick:()=>s(t.id),children:t.city},t.id)})}),(0,h.jsxs)(p,{className:l.default.map,center:Z,zoom:5,scrollWheelZoom:!1,zoomControl:!1,attributionControl:!1,worldCopyJump:!0,children:[(0,h.jsx)(z,{position:"bottomleft"}),(0,h.jsx)(M,{url:"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",attribution:'Imagery © Esri, Maxar, Earthstar Geographics & the GIS User Community',maxZoom:19,updateWhenIdle:!0,keepBuffer:2,eventHandlers:{load:m,tileerror:f}}),C.map(e=>(0,h.jsx)(P,{position:e.position,icon:t,keyboard:!0,title:e.name,alt:e.name,eventHandlers:{click:()=>s(e.id)},ref:t=>{t&&(i.current[e.id]=t)},children:(0,h.jsx)(T,{children:(0,h.jsxs)("span",{className:"office-popup__name",children:[(0,h.jsx)("span",{className:"office-popup__dot","aria-hidden":"true"}),e.name]})})},e.id)),(0,h.jsx)(E,{positions:e,focus:n,markerRefs:i})]}),"error"===r&&(0,h.jsxs)("div",{className:l.default.errorOverlay,role:"alert",children:[(0,h.jsx)("p",{className:l.default.errorTitle,children:"Map could not be loaded"}),(0,h.jsx)("p",{className:l.default.errorText,children:"Please check your connection. Our offices are located in:"}),(0,h.jsx)("ul",{className:l.default.errorList,children:C.map(t=>(0,h.jsx)("li",{children:t.name},t.id))})]})]})}],13958)},42391,t=>{t.n(t.i(13958))}]); \ No newline at end of file diff --git a/build/_next/static/chunks/10mjqoa6szzv3.js b/build/_next/static/chunks/10mjqoa6szzv3.js deleted file mode 100644 index c4428a9..0000000 --- a/build/_next/static/chunks/10mjqoa6szzv3.js +++ /dev/null @@ -1,310 +0,0 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,48228,e=>{"use strict";let t=[{n:"01",key:"input",kicker:"Input",theme:"#22C55E"},{n:"02",key:"parallel",kicker:"Parallel Execution",theme:"#8B5CF6"},{n:"03",key:"optimize",kicker:"Smart Optimization",theme:"#3B82F6"},{n:"04",key:"grading",kicker:"Performance Grading",theme:"#F59E0B"},{n:"05",key:"winner",kicker:"Strategy Comparison",theme:"#C01227"}],r=t.length;function i(e){return[(e%2==0?-1:1)*1.4,0,-(13*e)]}e.s(["N",0,r,"STAGES",0,t,"cameraFor",0,function(e){let t,a,s,o,n,d,[l,c,p]=(a=Math.floor(t=Math.max(0,Math.min(r-1,e))),s=Math.min(r-1,a+1),o=t-a,n=i(a),d=i(s),[n[0]+(d[0]-n[0])*o,n[1]+(d[1]-n[1])*o,n[2]+(d[2]-n[2])*o]);return{pos:[.7*l,c+4,p+8.2],look:[.55*l,c+1.05,p-1.6]}},"districtPosition",0,i])},56305,e=>{"use strict";var t=e.i(43476),r=e.i(71645),i=e.i(46932),a=e.i(88653),s=e.i(70703),o=e.i(87652),n=e.i(95420),d=e.i(89970),l=e.i(83495),c=e.i(48228);let p=(0,s.default)(()=>e.A(30860),{loadableGenerated:{modules:[20927]},ssr:!1});function m({active:e}){return(0,t.jsx)("div",{className:"dm-st-rail","aria-hidden":!0,children:c.STAGES.map((i,a)=>(0,t.jsxs)(r.default.Fragment,{children:[a>0&&(0,t.jsx)("span",{className:`dm-st-rail__line is-${a<=e?"on":"off"}`}),(0,t.jsxs)("div",{className:`dm-st-rail__step is-${a{let e=window.matchMedia("(max-width: 767px)"),t=window.matchMedia("(prefers-reduced-motion: reduce)"),r=()=>{z(e.matches),E(t.matches)};return r(),e.addEventListener("change",r),t.addEventListener("change",r),()=>{e.removeEventListener("change",r),t.removeEventListener("change",r)}},[]),(0,r.useEffect)(()=>{let e=a.current;if(!e)return;let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(_(!0),j(!0),t.disconnect())},{rootMargin:"70% 0px"}),r=new IntersectionObserver(e=>j(e.some(e=>e.isIntersecting)),{rootMargin:"10% 0px"});return t.observe(e),r.observe(e),()=>{t.disconnect(),r.disconnect()}},[]),(0,r.useEffect)(()=>{let e=a.current;if(!e)return;d.default.registerPlugin(l.ScrollTrigger);let t="before",r=0,i=l.ScrollTrigger.create({trigger:e,start:"top top",end:"bottom bottom",scrub:.4,invalidateOnRefresh:!0,onUpdate:e=>{let i=e.progress;s.current=i,g.set(i);let a=i<=2e-4?"before":i>=.9998?"after":"pinned";a!==t&&(t=a,b(a));let o=Math.round(i*(c.N-1));o!==r&&(r=o,v(o))}}),o=setTimeout(()=>l.ScrollTrigger.refresh(),120);return()=>{clearTimeout(o),i.kill()}},[g]);let C=(0,n.useTransform)(g,[0,.03,.06],[1,1,0]),T=(0,n.useTransform)(g,[.02,.07],[0,1]);return(0,t.jsxs)("section",{ref:a,className:`dm-st is-${u}${e?" is-connected":""}`,"aria-label":"Strategy — Happier Riders. Higher Fulfillment.",children:[(0,t.jsx)("div",{className:"dm-st-sticky",children:(0,t.jsxs)("div",{className:"dm-st-card",children:[k&&(0,t.jsx)("div",{className:"dm-st-canvas",children:(0,t.jsx)(p,{progress:s,reduced:S,isMobile:N,active:y&&"pinned"===u,stage:w})}),"before"!==u&&(0,t.jsxs)("div",{className:"dm-st-ui",children:[(0,t.jsxs)(i.motion.div,{className:"dm-st-top",style:{opacity:T},children:[(0,t.jsxs)("div",{className:"dm-st-eyebrow",children:[(0,t.jsx)("span",{className:"dm-st-dot"})," MileTruth Strategy Engine"]}),(0,t.jsx)(m,{active:w})]}),(0,t.jsxs)(i.motion.div,{className:"dm-st-scrollhint",style:{opacity:C},children:[(0,t.jsx)("span",{children:"Scroll to follow the strategy"}),(0,t.jsx)("span",{className:"dm-st-arrow",children:"↓"})]}),(0,t.jsxs)(x,{i:0,scroll:g,side:"left",active:w,children:[(0,t.jsx)("h3",{className:"dm-st-pillar__title",children:"Orders & riders enter the system"}),(0,t.jsx)("p",{className:"dm-st-anchor__lead",children:"Orders are uploaded and matched against the available fleet, ready for assignment."}),(0,t.jsxs)("div",{className:"dm-st-anchor__chips",children:[(0,t.jsx)("span",{className:"dm-st-anchor__chip",children:"59 Orders"}),(0,t.jsx)("span",{className:"dm-st-anchor__chip",children:"4 Riders"}),(0,t.jsx)("span",{className:"dm-st-anchor__chip",children:"Fleet ready"})]})]}),(0,t.jsxs)(x,{i:1,scroll:g,side:"right",active:w,children:[(0,t.jsx)("h3",{className:"dm-st-pillar__title",children:"Six strategies, evaluated in parallel"}),(0,t.jsx)("p",{className:"dm-st-anchor__lead",children:"The AI runs every routing strategy at the same time — legacy baselines and MileTruth's unified engine."}),(0,t.jsxs)("div",{className:"dm-st-anchor__chips",children:[(0,t.jsx)("span",{className:"dm-st-anchor__chip",children:"EV Aware"}),(0,t.jsx)("span",{className:"dm-st-anchor__chip",children:"Multi Trip"}),(0,t.jsx)("span",{className:"dm-st-anchor__chip",children:"+4 more"})]})]}),(0,t.jsxs)(x,{i:2,scroll:g,side:"left",active:w,children:[(0,t.jsx)("h3",{className:"dm-st-pillar__title",children:"Routes optimized & validated"}),(0,t.jsx)("p",{className:"dm-st-anchor__lead",children:"Every route is solved for distance, then checked against battery range and delivery SLAs."}),(0,t.jsxs)("div",{className:"dm-st-anchor__chips",children:[(0,t.jsx)("span",{className:"dm-st-anchor__chip",children:"Optimize"}),(0,t.jsx)("span",{className:"dm-st-anchor__chip",children:"Battery"}),(0,t.jsx)("span",{className:"dm-st-anchor__chip",children:"SLA"})]})]}),(0,t.jsxs)(x,{i:3,scroll:g,side:"right",active:w,children:[(0,t.jsx)("h3",{className:"dm-st-pillar__title",children:"Every strategy is scored"}),(0,t.jsx)("p",{className:"dm-st-anchor__lead",children:"Each strategy is graded live on fulfillment, SLA compliance, efficiency and battery feasibility."}),(0,t.jsxs)("div",{className:"dm-st-anchor__chips",children:[(0,t.jsx)("span",{className:"dm-st-anchor__chip",children:"Grade A"}),(0,t.jsx)("span",{className:"dm-st-anchor__chip",children:"88% Fulfillment"}),(0,t.jsx)("span",{className:"dm-st-anchor__chip",children:"95% SLA"})]})]}),(0,t.jsxs)(x,{i:4,scroll:g,side:"right",active:w,children:[(0,t.jsx)("h3",{className:"dm-st-pillar__title",children:"Happier riders. Higher fulfillment."}),(0,t.jsx)("p",{className:"dm-st-anchor__lead",children:"EV Aware wins — the best fulfillment with feasible, battery-safe routes for every rider."}),(0,t.jsxs)("div",{className:"dm-st-anchor__chips",children:[(0,t.jsx)("span",{className:"dm-st-anchor__chip dm-st-anchor__chip--win",children:"🏆 EV Aware"}),(0,t.jsx)("span",{className:"dm-st-anchor__chip",children:"88% Score"}),(0,t.jsx)("span",{className:"dm-st-anchor__chip",children:"52/59 Fulfilled"})]})]})]})]})}),(0,t.jsx)("style",{children:f})]})}let f=` -/* Scroll length tuned for pacing: ~100vh per stage (was 144vh) so the 5 stages - complete in noticeably less scrolling and the workflow feels tighter / faster. - Stage cross-fade windows are progress-based (0…1), so they stay aligned. */ -.dm-st { position: relative; height: 500vh; background: transparent; } -.dm-st-sticky { position: absolute; top: 0; left: 0; width: 100%; height: 100vh; overflow: hidden; - will-change: transform; transform: translateZ(0); backface-visibility: hidden; } -.dm-st.is-pinned .dm-st-sticky { position: fixed; top: 0; left: 0; } -.dm-st.is-after .dm-st-sticky { position: absolute; top: auto; bottom: 0; } - -.dm-st-card { - position: absolute !important; inset: 20px !important; - border-radius: 28px !important; overflow: hidden !important; - background: radial-gradient(120% 100% at 50% 0%, #ffffff 0%, #eef1f6 60%, #e6eaf2 100%) !important; - border: 1px solid rgba(15,23,42,0.08) !important; - box-shadow: 0 30px 90px -34px rgba(15,23,42,0.4) !important; - box-sizing: border-box !important; -} -@media (max-width: 767px) { .dm-st-card { inset: 10px !important; border-radius: 20px !important; } } - -/* Connected mode (inside Workflow 3): flatten the card's bottom so the Strategy - content card below butts directly against it — same seam as Workflow 1 & 2. */ -.dm-st.is-connected .dm-st-card { - top: 20px !important; left: 20px !important; right: 20px !important; bottom: 0 !important; - border-radius: 28px 28px 0 0 !important; border-bottom: none !important; - /* Flush against the Strategy card below — drop the heavy downward shadow so it - doesn't cast a dark band onto that card's top edge (the two read as one container). */ - box-shadow: none !important; -} -@media (max-width: 767px) { - .dm-st.is-connected .dm-st-card { - top: 10px !important; left: 10px !important; right: 10px !important; bottom: 0 !important; - border-radius: 20px 20px 0 0 !important; - } -} - -.dm-st-canvas { position: absolute; inset: 0; z-index: 1; } -.dm-st-canvas canvas { display: block; } - -.dm-st-ui { position: absolute; inset: 0; z-index: 4; pointer-events: none; - font-family: var(--font-space-grotesk), var(--font-manrope), system-ui, sans-serif; color: #0f172a; } - -/* ---- Persistent header: title + 5-stage rail ---- */ -.dm-st-top { position: absolute; top: clamp(96px, 13vh, 128px); left: 0; right: 0; z-index: 5; - display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 0 16px; } -.dm-st-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; line-height: 1.35; - letter-spacing: 0.28em; text-transform: uppercase; color: #475569; padding: 9px 18px; border-radius: 999px; - background: rgba(255,255,255,0.72); border: 1px solid rgba(15,23,42,0.08); backdrop-filter: blur(10px); white-space: nowrap; } -.dm-st-dot { width: 6px; height: 6px; border-radius: 50%; background: #6366f1; box-shadow: 0 0 10px #6366f1; } - -.dm-st-rail { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; max-width: 980px; } -.dm-st-rail__step { display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px; border-radius: 999px; - background: rgba(255,255,255,0.7); border: 1px solid rgba(15,23,42,0.08); backdrop-filter: blur(8px); - transition: all 0.45s cubic-bezier(0.22,1,0.36,1); } -.dm-st-rail__num { width: 18px; height: 18px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; - font-size: 10px; font-weight: 800; color: #64748b; background: rgba(15,23,42,0.06); } -.dm-st-rail__title { font-size: 11px; font-weight: 600; letter-spacing: 0.02em; color: #64748b; white-space: nowrap; } -.dm-st-rail__step.is-current { background: color-mix(in srgb, var(--c) 16%, white); border-color: var(--c); - box-shadow: 0 0 22px -6px var(--c); } -.dm-st-rail__step.is-current .dm-st-rail__num { background: var(--c); color: #fff; } -.dm-st-rail__step.is-current .dm-st-rail__title { color: #0f172a; } -.dm-st-rail__step.is-done .dm-st-rail__num { background: #22C55E; color: #fff; } -.dm-st-rail__step.is-done .dm-st-rail__title { color: #334155; } -.dm-st-rail__line { width: 14px; height: 1px; background: rgba(15,23,42,0.14); margin: 0 3px; transition: background 0.45s ease; } -.dm-st-rail__line.is-on { background: var(--c, #22C55E); } - -.dm-st-scrollhint { position: absolute; bottom: clamp(26px, 6vh, 60px); left: 50%; transform: translateX(-50%); - display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 12px; letter-spacing: 0.12em; - color: #64748b; text-transform: uppercase; text-align: center; } -.dm-st-arrow { font-size: 18px; animation: dmStBob 1.8s ease-in-out infinite; } -@keyframes dmStBob { 0%,100% { transform: translateY(0); opacity: 0.5; } 50% { transform: translateY(6px); opacity: 1; } } - -/* ---- Per-stage glass content card ---- */ -.dm-st-card-story { position: absolute; bottom: clamp(24px, 6vh, 64px); width: min(484px, 88vw); - pointer-events: auto; will-change: opacity, transform; padding: 20px 22px; border-radius: 20px; - background: rgba(255,255,255,0.94); border: 1px solid rgba(15,23,42,0.08); - /* backdrop blur removed — card cross-fades/translates per scroll-stage; blur was the - heaviest per-frame cost on this section. Near-opaque white keeps the glass look. */ - border-top: 3px solid var(--c); - box-shadow: 0 28px 70px -34px rgba(15,23,42,0.5); } -.dm-st-card-story.is-left { left: clamp(18px, 5vw, 72px); } -.dm-st-card-story.is-right { right: clamp(18px, 5vw, 72px); } -.dm-st-card-story__head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; } -.dm-st-pillar__num { font-size: 12px; font-weight: 800; letter-spacing: 0.1em; color: #fff; - background: var(--c); border-radius: 7px; padding: 3px 8px; } -.dm-st-pillar__kicker { font-size: clamp(11px, 1.1vw, 13px); font-weight: 700; letter-spacing: 0.16em; - text-transform: uppercase; color: var(--c); } -.dm-st .dm-st-pillar__title { margin: 0 0 14px !important; padding: 0 !important; color: #0f172a !important; - font-weight: 700 !important; text-transform: none !important; letter-spacing: -0.015em !important; - font-size: clamp(18px, 2vw, 26px) !important; line-height: 1.16 !important; } -.dm-st .dm-st-pillar__title--hero { font-size: clamp(22px, 2.6vw, 34px) !important; - background: linear-gradient(90deg, #C01227, #E2354A) !important; -webkit-background-clip: text !important; - background-clip: text !important; -webkit-text-fill-color: transparent !important; } -.dm-st-foot { margin: 12px 0 0; font-size: clamp(12px, 1.1vw, 13.5px); line-height: 1.5; color: #475569; - display: flex; align-items: center; gap: 8px; } -.dm-st-livedot { width: 8px; height: 8px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 0 var(--c); - animation: dmStPulse 1.8s ease-out infinite; } -@keyframes dmStPulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--c) 55%, transparent); } 100% { box-shadow: 0 0 0 9px transparent; } } - -/* In-scene 3D labels (drei ) — crisp glass chips floating in the WebGL scene */ -.dm-st3d-file, .dm-st3d-count, .dm-st3d-ai, .dm-st3d-chip { - font-family: var(--font-space-grotesk), var(--font-manrope), system-ui, sans-serif; - pointer-events: none; user-select: none; white-space: nowrap; transition: opacity 0.2s linear; } -.dm-st3d-file, .dm-st3d-ai { - display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: #0f172a; - background: rgba(255,255,255,0.88); border: 1px solid rgba(34,197,94,0.4); border-radius: 999px; - padding: 6px 13px; box-shadow: 0 8px 22px -12px rgba(34,197,94,0.7); backdrop-filter: blur(8px); } -.dm-st3d-count { font-size: 15px; font-weight: 800; color: #0f172a; background: rgba(255,255,255,0.9); - border: 1px solid rgba(34,197,94,0.45); border-radius: 12px; padding: 6px 14px; - box-shadow: 0 10px 26px -12px rgba(34,197,94,0.8); backdrop-filter: blur(8px); } -.dm-st3d-count span { color: #16a34a; font-size: 19px; } -.dm-st3d-chip { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.92); - border: 1px solid rgba(34,197,94,0.4); border-radius: 12px; padding: 6px 11px; - box-shadow: 0 10px 26px -14px rgba(15,23,42,0.7); backdrop-filter: blur(8px); } -.dm-st3d-chip__ico { font-size: 17px; } -.dm-st3d-chip__txt { display: flex; flex-direction: column; line-height: 1.15; } -.dm-st3d-chip__txt b { font-size: 12.5px; font-weight: 800; color: #0f172a; } -.dm-st3d-chip__txt { font-size: 10.5px; color: #475569; } - -/* Generic themed 3D chips (stages 02–05) — colour comes from --tc per element */ -.dm-st3d-tag, .dm-st3d-score { - font-family: var(--font-space-grotesk), var(--font-manrope), system-ui, sans-serif; - pointer-events: none; user-select: none; white-space: nowrap; transition: opacity 0.2s linear; } -.dm-st3d-tag { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; color: #0f172a; - background: rgba(255,255,255,0.9); border: 1px solid color-mix(in srgb, var(--tc, #8B5CF6) 55%, white); - border-radius: 999px; padding: 5px 11px; box-shadow: 0 8px 20px -12px var(--tc, #8B5CF6); backdrop-filter: blur(8px); } -.dm-st3d-tag b { font-weight: 800; color: var(--tc, #0f172a); } -.dm-st3d-tag.is-u { background: color-mix(in srgb, var(--tc) 14%, white); border-color: var(--tc); } -.dm-st3d-tag.is-muted { opacity: 0.82; border-style: dashed; } -.dm-st3d-tag.is-win { border-color: var(--tc); box-shadow: 0 10px 26px -10px var(--tc); } -.dm-st3d-score { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: #0f172a; - background: rgba(255,255,255,0.92); border: 1px solid color-mix(in srgb, var(--tc, #0f172a) 45%, white); - border-radius: 12px; padding: 6px 13px; box-shadow: 0 10px 26px -12px var(--tc, #0f172a); backdrop-filter: blur(8px); } -.dm-st3d-score b { font-size: 16px; font-weight: 800; color: var(--tc, #0f172a); } -.dm-st3d-score.is-win { border-color: var(--tc); } - -/* Light side-card anchor — the 3D world now carries the detail */ -.dm-st-anchor__lead { margin: 0 0 14px; font-size: clamp(13px, 1.2vw, 15px); line-height: 1.55; color: #475569; } -.dm-st-anchor__chips { display: flex; flex-wrap: wrap; gap: 8px; } -.dm-st-anchor__chip { font-size: 12px; font-weight: 700; color: #334155; padding: 6px 12px; border-radius: 999px; - background: color-mix(in srgb, var(--c) 9%, white); border: 1px solid color-mix(in srgb, var(--c) 30%, white); } -.dm-st-anchor__chip--win { color: #fff; background: linear-gradient(90deg, #C01227, #E2354A); border-color: transparent; } - -/* In-world Command Center KPI card + Winner card (drei , faded by proximity) */ -.dm-st3d-kpi, .dm-st3d-winner3d { - font-family: var(--font-space-grotesk), var(--font-manrope), system-ui, sans-serif; - pointer-events: none; user-select: none; transition: opacity 0.2s linear; } -.dm-st3d-kpi { display: flex; flex-direction: column; gap: 5px; width: 132px; padding: 9px 12px; border-radius: 12px; - background: rgba(255,255,255,0.95); border: 1px solid color-mix(in srgb, var(--tc, #F59E0B) 40%, white); - box-shadow: 0 10px 26px -14px var(--tc, #F59E0B); backdrop-filter: blur(8px); } -.dm-st3d-kpi__n { font-size: 10.5px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #64748b; } -.dm-st3d-kpi__v { font-size: 24px; font-weight: 800; color: #0f172a; line-height: 1; } -.dm-st3d-kpi__v i { font-size: 14px; font-weight: 700; color: var(--tc, #F59E0B); font-style: normal; margin-left: 1px; } -.dm-st3d-kpi__bar { height: 6px; border-radius: 999px; background: rgba(15,23,42,0.08); overflow: hidden; } -.dm-st3d-kpi__bar i { display: block; height: 100%; border-radius: 999px; background: var(--tc, #F59E0B); } -.dm-st3d-winner3d { display: flex; flex-direction: column; gap: 3px; width: 184px; padding: 13px 15px; border-radius: 14px; - background: rgba(255,255,255,0.96); border: 1px solid rgba(192,18,39,0.4); box-shadow: 0 16px 40px -16px rgba(192,18,39,0.6); backdrop-filter: blur(8px); } -.dm-st3d-winner3d__top { font-size: 10.5px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #C01227; } -.dm-st3d-winner3d__name { font-size: 26px; font-weight: 800; color: #0f172a; letter-spacing: -0.02em; line-height: 1.05; margin-bottom: 4px; } -.dm-st3d-winner3d__row { font-size: 12px; color: #475569; } -.dm-st3d-winner3d__row b { color: #C01227; font-weight: 800; margin-right: 4px; } - -@media (max-width: 1000px) { - .dm-st-rail__title { display: none; } - .dm-st-rail__step { padding: 5px 7px; } - .dm-st-rail__line { width: 9px; } -} -@media (max-width: 767px) { - .dm-st { height: 420vh; } - .dm-st-card-story { left: 0 !important; right: 0 !important; margin: 0 auto; width: calc(100% - 28px); - bottom: clamp(18px, 4vh, 40px); padding: 15px 16px; } -} -@media (prefers-reduced-motion: reduce) { - .dm-st-arrow { animation: none !important; } -} -`,g=` -/* ============================================================ - Workflow 3 = ONE container: - ├─ Happier Riders. Higher Fulfillment. (full StrategySection — 3D) - └─ Strategy (content card, flush, pulled up) - The Strategy card aligns to the 3D card's 20px side insets, butts against - its flat bottom and rounds the bottom corners, so the two read as a single - continuous container — same technique as Workflow 1 & 2. - ============================================================ */ -.dm-wf3 { - position: relative; - margin: 0 auto 0; -} - -/* Cancel the global "section { padding: 6rem 0 }" (consolidated into /public/css/site.css): both - this wrapper and the nested .dm-st are sections, so that 96px top+bottom stacked - into large empty bands above / between the workflows. These are full-bleed pinned - experiences whose cards butt together via their own insets — no section padding. */ -.dm-wf3, .dm-wf3 .dm-st { padding-top: 0; padding-bottom: 0; } - -.dm-wf3-card { - position: relative; - z-index: 2; - margin: 0 20px 0; - background: #181818; - border: 1px solid rgba(255, 255, 255, 0.06); - border-top: none; - border-radius: 0 0 28px 28px; - /* No shadow: this card is flush under the strategy 3D card and merges with it as one - continuous container — a shadow here would re-introduce a dark band at the seam. */ - box-shadow: none; - padding: 36px 60px; - display: flex; - align-items: center; - justify-content: space-between; - gap: 40px; - overflow: hidden; - box-sizing: border-box; -} - -.dm-workflow-left { - flex: 1; - display: flex; - align-items: center; - justify-content: center; - max-width: 440px; -} -.dm-workflow-svg { - width: 100%; - height: auto; - filter: drop-shadow(0 8px 24px rgba(0,0,0,0.3)); -} - -.dm-workflow-right { - flex: 1.2; - display: flex; - flex-direction: column; - align-items: flex-start; - gap: 20px; -} -.dm-workflow-quote { margin-bottom: 5px; } - -.dm-workflow-title { - font-family: var(--font-space-grotesk), var(--font-manrope), system-ui, sans-serif; - font-size: 38px; - font-weight: 700; - color: #F8FAFC !important; - letter-spacing: -0.015em; - margin: 0 !important; - padding: 0 !important; - text-transform: uppercase; -} - -.dm-workflow-text-container { min-height: 150px; width: 100%; } -.dm-workflow-text { - font-family: var(--font-manrope), system-ui, sans-serif; - font-size: 21px; - line-height: 1.75; - letter-spacing: 0.01em; - color: #A3A3A3; - margin: 0 !important; - padding: 0 !important; -} - -.dm-workflow-nav { - display: flex; - flex-direction: column; - align-items: flex-end; - gap: 10px; - align-self: flex-end; - margin-top: 10px; -} -.dm-workflow-counter { - font-family: var(--font-space-grotesk), sans-serif; - font-size: 13px; - font-weight: 700; - color: #737373; - letter-spacing: 0.08em; -} -.dm-workflow-bars { display: flex; gap: 8px; } -.dm-workflow-bar { - width: 40px; - height: 3px; - border: none; - padding: 0; - background: rgba(255, 255, 255, 0.15); - border-radius: 999px; - cursor: pointer; - transition: all 0.3s ease; -} -.dm-workflow-bar.is-active { background: #C01227; } -.dm-workflow-bar:hover { background: rgba(255, 255, 255, 0.35); } -.dm-workflow-bar.is-active:hover { background: #C01227; } - -/* ── Responsive — keep insets/radius aligned to the 3D card ── */ -@media (max-width: 1024px) { - .dm-wf3-card { padding: 44px 44px; gap: 44px; } - .dm-workflow-title { font-size: 32px; } - .dm-workflow-text { font-size: 19px; } -} -@media (max-width: 767px) { - .dm-wf3-card { - margin: 0 10px 0; - border-radius: 0 0 20px 20px; - padding: 36px 28px; - gap: 36px; - flex-direction: column; - } - .dm-workflow-left { max-width: 280px; } - .dm-workflow-right { width: 100%; } - .dm-workflow-title { font-size: 28px; } - .dm-workflow-text { font-size: 17px; } - .dm-workflow-text-container { min-height: auto; } -} -`;e.s(["default",0,function(){let[e,s]=(0,r.useState)(0),[o,n]=(0,r.useState)(!1),[d,l]=(0,r.useState)(!1),c=(0,r.useRef)(null),p=[{title:"STRATEGY",text:"Our grading engine continuously evaluates fulfillment performance, SLA compliance, and route efficiency before every dispatch. By comparing legacy routing methods with unified optimization, the system ensures smarter and more reliable delivery planning. This helps businesses maintain operational consistency while improving overall delivery performance."},{title:"STRATEGY",text:"Every EV route is pre-validated against real battery capacity and charging feasibility before a rider leaves the hub. This reduces the risk of delivery interruptions, charging failures, or delayed orders during operations. The platform ensures reliable route execution while maximizing EV fleet efficiency and rider confidence."},{title:"STRATEGY",text:"The system provides actionable fleet insights and optimized workload distribution to improve both rider experience and operational productivity. Balanced route allocation helps reduce rider fatigue, improve retention, and maintain consistent delivery quality across zones. Managers gain better visibility into fleet performance, enabling faster and more informed decision-making."}];return(0,r.useEffect)(()=>{s(0)},[]),(0,r.useEffect)(()=>{let e=c.current;if(!e)return;let t=new IntersectionObserver(([e])=>l(e.isIntersecting),{threshold:.35});return t.observe(e),()=>t.disconnect()},[]),(0,r.useEffect)(()=>{if(!d||o)return;let e=setTimeout(()=>{s(e=>(e+1)%p.length)},1e4);return()=>clearTimeout(e)},[e,d,o,p.length]),(0,t.jsxs)("section",{className:"dm-wf3","aria-label":"Workflow 3 — Happier Riders. Higher Fulfillment. & Strategy",children:[(0,t.jsx)(h,{connected:!0}),(0,t.jsxs)("div",{className:"dm-wf3-card",ref:c,onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),children:[(0,t.jsx)("div",{className:"dm-workflow-left",children:(0,t.jsxs)("svg",{viewBox:"0 0 320 280",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"dm-workflow-svg",children:[(0,t.jsx)("path",{d:"M 30,20 C 22,20 16,26 16,34 L 78,85 C 81,88 81,92 78,95 L 16,146 C 16,154 22,160 30,160 L 130,160 C 138,160 145,154 148,146 L 204,95 C 207,92 207,88 204,85 L 148,34 C 145,26 138,20 130,20 Z",stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",opacity:"0.25"}),(0,t.jsx)("path",{d:"M 110,100 C 102,100 96,106 96,114 L 158,165 C 161,168 161,172 158,175 L 96,226 C 96,234 102,240 110,240 L 210,240 C 218,240 225,234 228,226 L 284,175 C 287,172 287,168 284,165 L 228,114 C 225,106 218,100 210,100 Z",stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",opacity:"0.85"})]})}),(0,t.jsxs)("div",{className:"dm-workflow-right",children:[(0,t.jsxs)("svg",{width:"32",height:"24",viewBox:"0 0 32 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"dm-workflow-quote",children:[(0,t.jsx)("rect",{x:"2",y:"2",width:"9",height:"20",rx:"1.5",transform:"skewX(-12)",fill:"#C01227"}),(0,t.jsx)("rect",{x:"16",y:"2",width:"9",height:"20",rx:"1.5",transform:"skewX(-12)",fill:"#C01227"})]}),(0,t.jsx)("h3",{className:"dm-workflow-title",children:p[e].title}),(0,t.jsx)("div",{className:"dm-workflow-text-container",children:(0,t.jsx)(a.AnimatePresence,{mode:"wait",children:(0,t.jsx)(i.motion.p,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:-12},transition:{duration:.7,ease:"easeInOut"},className:"dm-workflow-text",children:p[e].text},e)})}),(0,t.jsxs)("div",{className:"dm-workflow-nav",children:[(0,t.jsxs)("span",{className:"dm-workflow-counter",children:["0",e+1,"/03"]}),(0,t.jsx)("div",{className:"dm-workflow-bars",children:p.map((r,i)=>(0,t.jsx)("button",{type:"button","aria-label":`Go to slide ${i+1}`,className:`dm-workflow-bar ${i===e?"is-active":""}`,onClick:()=>s(i)},i))})]})]})]}),(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:g}})]})}],56305)},55819,e=>{e.n(e.i(56305))},30860,e=>{e.v(t=>Promise.all(["static/chunks/04dzth4udk0lf.js","static/chunks/0a.~l01a83_pb.js","static/chunks/0ovd-l8hud6qg.js"].map(t=>e.l(t))).then(()=>t(20927)))}]); \ No newline at end of file diff --git a/build/_next/static/chunks/13otmx4jlwoeg.js b/build/_next/static/chunks/13otmx4jlwoeg.js deleted file mode 100644 index bfe7e37..0000000 --- a/build/_next/static/chunks/13otmx4jlwoeg.js +++ /dev/null @@ -1,3 +0,0 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return i}});let n=e.r(71645);function i(e,t){let r=(0,n.useRef)(null),i=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(r.current=l(e,n)),t&&(i.current=l(t,n))},[e,t])}function l(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return a},formatWithValidation:function(){return s},urlObjectKeys:function(){return u}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let l=e.r(90809)._(e.r(98183)),o=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,n=e.protocol||"",i=e.pathname||"",a=e.hash||"",u=e.query||"",s=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?s=t+e.host:r&&(s=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(s+=":"+e.port)),u&&"object"==typeof u&&(u=String(l.urlQueryToSearchParams(u)));let c=e.search||u&&`?${u}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||o.test(n))&&!1!==s?(s="//"+(s||""),i&&"/"!==i[0]&&(i="/"+i)):s||(s=""),a&&"#"!==a[0]&&(a="#"+a),c&&"?"!==c[0]&&(c="?"+c),i=i.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${s}${i}${c}${a}`}let u=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function s(e){return a(e)}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return l}});let n=e.r(18967),i=e.r(52817);function l(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,i.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return y},useLinkStatus:function(){return b}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let l=e.r(90809),o=e.r(43476),a=l._(e.r(71645)),u=e.r(95057),s=e.r(8372),c=e.r(18581),d=e.r(18967),f=e.r(5550);e.r(33525);let p=e.r(88540),g=e.r(91949),h=e.r(73668),m=e.r(9396);function y(t){var r,n;let i,l,y,[b,_]=(0,a.useOptimistic)(g.IDLE_LINK_STATUS),w=(0,a.useRef)(null),{href:x,as:j,children:S,prefetch:P=null,passHref:C,replace:E,shallow:O,scroll:R,onClick:M,onMouseEnter:k,onTouchStart:T,legacyBehavior:I=!1,onNavigate:L,transitionTypes:z,ref:N,unstable_dynamicOnHover:A,...$}=t;i=S,I&&("string"==typeof i||"number"==typeof i)&&(i=(0,o.jsx)("a",{children:i}));let D=a.default.useContext(s.AppRouterContext),U=!1!==P,B=!1!==P?null===(n=P)||"auto"===n?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,F="string"==typeof(r=j||x)?r:(0,u.formatUrl)(r);if(I){if(i?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});l=a.default.Children.only(i)}let q=I?l&&"object"==typeof l&&l.ref:N,W=a.default.useCallback(e=>(null!==D&&(w.current=(0,g.mountLinkInstance)(e,F,D,B,U,_)),()=>{w.current&&((0,g.unmountLinkForCurrentNavigation)(w.current),w.current=null),(0,g.unmountPrefetchableInstance)(e)}),[U,F,D,B,_]),X={ref:(0,c.useMergedRef)(W,q),onClick(t){I||"function"!=typeof M||M(t),I&&l.props&&"function"==typeof l.props.onClick&&l.props.onClick(t),!D||t.defaultPrevented||function(t,r,n,i,l,o,u){if("u">typeof window){let s,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((s=t.currentTarget.getAttribute("target"))&&"_self"!==s||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(r)){i&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),o){let e=!1;if(o({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(99781);a.default.startTransition(()=>{d(r,i?"replace":"push",!1===l?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,n.current,u)})}}(t,F,w,E,R,L,z)},onMouseEnter(e){I||"function"!=typeof k||k(e),I&&l.props&&"function"==typeof l.props.onMouseEnter&&l.props.onMouseEnter(e),D&&U&&(0,g.onNavigationIntent)(e.currentTarget,!0===A)},onTouchStart:function(e){I||"function"!=typeof T||T(e),I&&l.props&&"function"==typeof l.props.onTouchStart&&l.props.onTouchStart(e),D&&U&&(0,g.onNavigationIntent)(e.currentTarget,!0===A)}};return(0,d.isAbsoluteUrl)(F)?X.href=F:I&&!C&&("a"!==l.type||"href"in l.props)||(X.href=(0,f.addBasePath)(F)),y=I?a.default.cloneElement(l,X):(0,o.jsx)("a",{...$,...X,children:i}),(0,o.jsx)(v.Provider,{value:b,children:y})}e.r(84508);let v=(0,a.createContext)(g.IDLE_LINK_STATUS),b=()=>(0,a.useContext)(v);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},88143,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:i,blurDataURL:l,objectFit:o}){let a=r?40*r:e,u=i?40*i:t,s=a&&u?`viewBox='0 0 ${a} ${u}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${s}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${s?"none":"contain"===o?"xMidYMid":"cover"===o?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${l}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},87690,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return l},imageConfigDefault:function(){return o}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let l=["default","imgix","cloudinary","akamai","custom"],o={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},8927,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return s}}),e.r(33525);let n=e.r(43369),i=e.r(88143),l=e.r(87690),o=["-moz-initial","fill","none","scale-down",void 0];function a(e){return void 0!==e.default}function u(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function s({src:e,sizes:t,unoptimized:r=!1,priority:c=!1,preload:d=!1,loading:f,className:p,quality:g,width:h,height:m,fill:y=!1,style:v,overrideSrc:b,onLoad:_,onLoadingComplete:w,placeholder:x="empty",blurDataURL:j,fetchPriority:S,decoding:P="async",layout:C,objectFit:E,objectPosition:O,lazyBoundary:R,lazyRoot:M,...k},T){var I;let L,z,N,{imgConf:A,showAltText:$,blurComplete:D,defaultLoader:U}=T,B=A||l.imageConfigDefault;if("allSizes"in B)L=B;else{let e=[...B.deviceSizes,...B.imageSizes].sort((e,t)=>e-t),t=B.deviceSizes.sort((e,t)=>e-t),r=B.qualities?.sort((e,t)=>e-t);L={...B,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===U)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let F=k.loader||U;delete k.loader,delete k.srcSet;let q="__next_img_default"in F;if(q){if("custom"===L.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop. -Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=F;F=t=>{let{config:r,...n}=t;return e(n)}}if(C){"fill"===C&&(y=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[C];e&&(v={...v,...e});let r={responsive:"100vw",fill:"100vw"}[C];r&&!t&&(t=r)}let W="",X=u(h),G=u(m);if((I=e)&&"object"==typeof I&&(a(I)||void 0!==I.src)){let t=a(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(z=t.blurWidth,N=t.blurHeight,j=j||t.blurDataURL,W=t.src,!y)if(X||G){if(X&&!G){let e=X/t.width;G=Math.round(t.height*e)}else if(!X&&G){let e=G/t.height;X=Math.round(t.width*e)}}else X=t.width,G=t.height}let H=!c&&!d&&("lazy"===f||void 0===f);(!(e="string"==typeof e?e:W)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,H=!1),L.unoptimized&&(r=!0),q&&!L.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let K=u(g),V=Object.assign(y?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:E,objectPosition:O}:{},$?{}:{color:"transparent"},v),Y=D||"empty"===x?null:"blur"===x?`url("data:image/svg+xml;charset=utf-8,${(0,i.getImageBlurSvg)({widthInt:X,heightInt:G,blurWidth:z,blurHeight:N,blurDataURL:j||"",objectFit:V.objectFit})}")`:`url("${x}")`,J=o.includes(V.objectFit)?"fill"===V.objectFit?"100% 100%":"cover":V.objectFit,Q=Y?{backgroundSize:J,backgroundPosition:V.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Y}:{},Z=function({config:e,src:t,unoptimized:r,width:i,quality:l,sizes:o,loader:a}){if(r){if(t.startsWith("/")&&!t.startsWith("//")){let e=(0,n.getDeploymentId)();if(e){let r=t.indexOf("?");if(-1!==r){let n=new URLSearchParams(t.slice(r+1));n.get("dpl")||(n.append("dpl",e),t=t.slice(0,r)+"?"+n.toString())}else t+=`?dpl=${e}`}}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:u,kind:s}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,i=[];for(let e;e=r.exec(n);)i.push(parseInt(e[2]));if(i.length){let r=.01*Math.min(...i);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,i,o),c=u.length-1;return{sizes:o||"w"!==s?o:"100vw",srcSet:u.map((r,n)=>`${a({config:e,src:t,quality:l,width:r})} ${"w"===s?r:n+1}${s}`).join(", "),src:a({config:e,src:t,quality:l,width:u[c]})}}({config:L,src:e,unoptimized:r,width:X,quality:K,sizes:t,loader:F}),ee=H?"lazy":f;return{props:{...k,loading:ee,fetchPriority:S,width:X,height:G,decoding:P,className:p,style:{...V,...Q},sizes:Z.sizes,srcSet:Z.srcSet,src:b||Z.src},meta:{unoptimized:r,preload:d||c,placeholder:x,fill:y}}}},98879,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return a}});let n=e.r(71645),i="u"{}:n.useLayoutEffect,o=i?()=>{}:n.useEffect;function a(e){let{headManager:t,reduceComponentsToState:r}=e;function a(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return i&&(t?.mountedInstances?.add(e.children),a()),l(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),l(()=>(t&&(t._pendingUpdate=a),()=>{t&&(t._pendingUpdate=a)})),o(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},25633,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return h},defaultHead:function(){return d}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let l=e.r(55682),o=e.r(90809),a=e.r(43476),u=o._(e.r(71645)),s=l._(e.r(98879)),c=e.r(42732);function d(){return[(0,a.jsx)("meta",{charSet:"utf-8"},"charset"),(0,a.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===u.default.Fragment?e.concat(u.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(33525);let p=["name","httpEquiv","charSet","itemProp"];function g(e){let t,r,n,i;return e.reduce(f,[]).reverse().concat(d().reverse()).filter((t=new Set,r=new Set,n=new Set,i={},e=>{let l=!0,o=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){o=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?l=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?l=!1:r.add(e.type);break;case"meta":for(let t=0,r=p.length;t{let r=e.key||t;return u.default.cloneElement(e,{key:r})})}let h=function({children:e}){let t=(0,u.useContext)(c.HeadManagerContext);return(0,a.jsx)(s.default,{reduceComponentsToState:g,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18556,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return l}});let n=e.r(55682)._(e.r(71645)),i=e.r(87690),l=n.default.createContext(i.imageConfigDefault)},65856,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(55682)._(e.r(71645)).default.createContext(null)},70965,(e,t,r)=>{"use strict";function n(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return o}});let n=e.r(70965),i=e.r(43369);function l({config:e,src:t,width:r,quality:o}){let a=(0,i.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")){let e=t.indexOf("?");if(-1!==e){let r=new URLSearchParams(t.slice(e+1)),n=r.get("dpl");if(n){a=n,r.delete("dpl");let i=r.toString();t=t.slice(0,e)+(i?"?"+i:"")}}}if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns. -Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let u=(0,n.findClosestQuality)(o,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${u}${t.startsWith("/")&&a?`&dpl=${a}`:""}`}l.__next_img_default=!0;let o=l},85437,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return _}});let n=e.r(55682),i=e.r(90809),l=e.r(43476),o=i._(e.r(71645)),a=n._(e.r(74080)),u=n._(e.r(25633)),s=e.r(8927),c=e.r(87690),d=e.r(18556);e.r(33525);let f=e.r(65856),p=n._(e.r(1948)),g=e.r(18581),h={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function m(e,t,r,n,i,l,o){let a=e?.src;e&&e["data-loaded-src"]!==a&&(e["data-loaded-src"]=a,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function y(e){return o.use?{fetchPriority:e}:{fetchpriority:e}}"u"{let E=(0,o.useCallback)(e=>{e&&(S&&(e.src=e.src),e.complete&&m(e,d,v,b,_,p,x))},[e,d,v,b,_,S,p,x]),O=(0,g.useMergedRef)(C,E);return(0,l.jsx)("img",{...P,...y(c),loading:f,width:i,height:n,decoding:a,"data-nimg":h?"fill":"1",className:u,style:s,sizes:r,srcSet:t,src:e,ref:O,onLoad:e=>{m(e.currentTarget,d,v,b,_,p,x)},onError:e=>{w(!0),"empty"!==d&&_(!0),S&&S(e)}})});function b({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...y(t.fetchPriority)};return e&&a.default.preload?(a.default.preload(t.src,r),null):(0,l.jsx)(u.default,{children:(0,l.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let _=(0,o.forwardRef)((e,t)=>{let r=(0,o.useContext)(f.RouterContext),n=(0,o.useContext)(d.ImageConfigContext),i=(0,o.useMemo)(()=>{let e=h||n||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),i=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:i,localPatterns:"u"{g.current=a},[a]);let m=(0,o.useRef)(u);(0,o.useEffect)(()=>{m.current=u},[u]);let[y,_]=(0,o.useState)(!1),[w,x]=(0,o.useState)(!1),{props:j,meta:S}=(0,s.getImgProps)(e,{defaultLoader:p.default,imgConf:i,blurComplete:y,showAltText:w});return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(v,{...j,unoptimized:S.unoptimized,placeholder:S.placeholder,fill:S.fill,onLoadRef:g,onLoadingCompleteRef:m,setBlurComplete:_,setShowAltText:x,sizesInput:e.sizes,ref:t}),S.preload?(0,l.jsx)(b,{isAppRouter:!r,imgAttributes:j}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},2018,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(89970),i=e.i(83495);function l(e){let{trigger:t,start:r="top 88%",show:n,hide:l,triggerOnce:o=!1}=e;if(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches)return n(),()=>{};let a=i.ScrollTrigger.create({trigger:t,start:r,onEnter:e=>{n(),o&&e.kill()},onEnterBack:()=>{o||n()},onLeave:()=>{o||l()},onLeaveBack:()=>{o||l()}}),u=requestAnimationFrame(()=>{let e=t.getBoundingClientRect(),r=window.innerHeight||document.documentElement.clientHeight;e.top0&&(n(),o&&a.kill())});return()=>{cancelAnimationFrame(u),a.kill()}}n.default.registerPlugin(i.ScrollTrigger),e.s(["CountUp",0,function({end:e,start:i=0,duration:o=2,decimals:a=0,suffix:u="",prefix:s="",className:c="",triggerOnce:d=!1}){let[f,p]=(0,r.useState)(i),g=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let t=g.current;if(t)return l({trigger:t,start:"top 90%",show:()=>{let t={val:i};n.default.to(t,{val:e,duration:o,ease:"power2.out",onUpdate:()=>p(t.val)})},hide:()=>p(i),triggerOnce:d})},[i,e,o,d]),(0,t.jsxs)("span",{ref:g,className:c,children:[s,f.toFixed(a),u]})},"Magnetic",0,function({children:e,range:i=45,strength:l=.35}){let o=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=o.current;if(!e)return;let t=e.firstElementChild;if(!t)return;let r=r=>{let o=e.getBoundingClientRect(),a=r.clientX-(o.left+o.width/2),u=r.clientY-(o.top+o.height/2);Math.sqrt(a*a+u*u){n.default.to(t,{x:0,y:0,ease:"elastic.out(1.2, 0.4)",duration:.8})};return e.addEventListener("mousemove",r),e.addEventListener("mouseleave",a),()=>{e.removeEventListener("mousemove",r),e.removeEventListener("mouseleave",a)}},[i,l]),(0,t.jsx)("div",{ref:o,className:"inline-block",children:e})},"ParallaxSection",0,function({children:e,speed:l=.15,className:o=""}){let a=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=a.current;if(e&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches)return n.default.to(e,{y:()=>-i.ScrollTrigger.maxScroll(window)*l*.1,ease:"none",scrollTrigger:{trigger:e,start:"top bottom",end:"bottom top",scrub:1.5,invalidateOnRefresh:!0}}),()=>{i.ScrollTrigger.getAll().forEach(t=>{t.trigger===e&&t.kill()})}},[l]),(0,t.jsx)("div",{ref:a,className:o,style:{willChange:"transform"},children:e})},"RevealText",0,function({children:e,type:i="words",delay:o=0,duration:a=.85,className:u="",triggerOnce:s=!1}){let c=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=c.current;if(!e)return;let t=e.querySelectorAll(".reveal-item");return t.length?(n.default.set(t,{y:"110%",opacity:0}),l({trigger:e,show:()=>n.default.to(t,{y:"0%",opacity:1,duration:a,ease:"power4.out",stagger:"chars"===i?.02:.04,delay:o,overwrite:"auto"}),hide:()=>n.default.set(t,{y:"110%",opacity:0}),triggerOnce:s})):void 0},[e,i,o,a,s]),(0,t.jsx)("div",{ref:c,className:u,style:{display:"flex",flexWrap:"wrap"},children:"chars"===i?e.split("").map((e,r)=>(0,t.jsx)("span",{className:"inline-block overflow-hidden",style:{height:"1.2em",lineHeight:"1.2em",verticalAlign:"middle"},children:(0,t.jsx)("span",{className:"reveal-item inline-block",children:" "===e?" ":e})},r)):e.split(" ").map((e,r)=>(0,t.jsx)("span",{className:"inline-block overflow-hidden",style:{height:"1.2em",lineHeight:"1.2em",marginRight:"0.25em",verticalAlign:"middle"},children:(0,t.jsx)("span",{className:"reveal-item inline-block",children:e})},r))})},"ScaleReveal",0,function({children:e,delay:i=0,duration:o=.8,className:a="",triggerOnce:u=!1}){let s=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=s.current;return e?(n.default.set(e,{scale:.85,opacity:0}),l({trigger:e,show:()=>n.default.to(e,{scale:1,opacity:1,duration:o,ease:"power3.out",delay:i,overwrite:"auto"}),hide:()=>n.default.set(e,{scale:.85,opacity:0}),triggerOnce:u})):void 0},[i,o,u]),(0,t.jsx)("div",{ref:s,className:a,children:e})},"ScrollReveal",0,function({children:e,delay:i=0,duration:o=.8,yOffset:a=40,xOffset:u=0,className:s="",triggerOnce:c=!1}){let d=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=d.current;return e?(n.default.set(e,{y:a,x:u,opacity:0}),l({trigger:e,show:()=>n.default.to(e,{y:0,x:0,opacity:1,duration:o,ease:"power3.out",delay:i,overwrite:"auto"}),hide:()=>n.default.set(e,{y:a,x:u,opacity:0}),triggerOnce:c})):void 0},[i,o,a,u,c]),(0,t.jsx)("div",{ref:d,className:s,children:e})},"ShimmerText",0,function({children:e,className:r=""}){return(0,t.jsx)("span",{className:`inline-block bg-clip-text text-transparent bg-[linear-gradient(110deg,#ffffff,45%,#c01227,55%,#ffffff)] bg-[length:250%_100%] animate-[shimmer-sweep_6s_infinite_linear] ${r}`,style:{WebkitBackgroundClip:"text",backgroundClip:"text"},children:e})},"SlideReveal",0,function({children:e,direction:i="left",delay:o=0,duration:a=.9,className:u="",triggerOnce:s=!1}){let c=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=c.current;if(!e)return;let t="left"===i?-60:60;return n.default.set(e,{x:t,opacity:0}),l({trigger:e,show:()=>n.default.to(e,{x:0,opacity:1,duration:a,ease:"power3.out",delay:o,overwrite:"auto"}),hide:()=>n.default.set(e,{x:t,opacity:0}),triggerOnce:s})},[i,o,a,s]),(0,t.jsx)("div",{ref:c,className:u,children:e})},"StaggerChildren",0,function({children:e,stagger:i=.1,duration:o=.7,yOffset:a=35,className:u="",triggerOnce:s=!1}){let c=(0,r.useRef)(null);return(0,r.useEffect)(()=>{let e=c.current;if(!e)return;let t=e.children;return t.length?(n.default.set(t,{y:a,opacity:0}),l({trigger:e,start:"top 85%",show:()=>n.default.to(t,{y:0,opacity:1,duration:o,ease:"power3.out",stagger:i,overwrite:"auto"}),hide:()=>n.default.set(t,{y:a,opacity:0}),triggerOnce:s})):void 0},[i,o,a,s]),(0,t.jsx)("div",{ref:c,className:u,children:e})},"Tilt3D",0,function({children:e,intensity:i=8,className:l=""}){let o=(0,r.useRef)(null),a=(0,r.useCallback)(e=>{let t=o.current;if(!t)return;let r=t.getBoundingClientRect(),l=(e.clientX-r.left)/r.width-.5,a=(e.clientY-r.top)/r.height-.5;n.default.to(t,{rotateY:l*i,rotateX:-a*i,duration:.5,ease:"power2.out"})},[i]),u=(0,r.useCallback)(()=>{let e=o.current;e&&n.default.to(e,{rotateY:0,rotateX:0,duration:.8,ease:"elastic.out(1, 0.5)"})},[]);return(0,t.jsx)("div",{style:{perspective:"1000px"},children:(0,t.jsx)("div",{ref:o,className:l,onMouseMove:a,onMouseLeave:u,style:{transformStyle:"preserve-3d",willChange:"transform"},children:e})})}])},94909,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return c},getImageProps:function(){return s}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let l=e.r(55682),o=e.r(8927),a=e.r(85437),u=l._(e.r(1948));function s(e){let{props:t}=(0,o.getImgProps)(e,{defaultLoader:u.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=a.Image},57688,(e,t,r)=>{t.exports=e.r(94909)}]); \ No newline at end of file diff --git a/build/_next/static/chunks/07p.f8bslwkh6.js b/build/_next/static/chunks/172o.szw5ilgb.js similarity index 62% rename from build/_next/static/chunks/07p.f8bslwkh6.js rename to build/_next/static/chunks/172o.szw5ilgb.js index cb42425..31e3524 100644 --- a/build/_next/static/chunks/07p.f8bslwkh6.js +++ b/build/_next/static/chunks/172o.szw5ilgb.js @@ -1,4 +1,4 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,18566,(e,t,i)=>{t.exports=e.r(76562)},82637,e=>{"use strict";var t=e.i(43476),i=e.i(71645);let l=(0,i.createContext)(null);e.s(["HeaderUIProvider",0,function({children:e}){let[o,n]=(0,i.useState)(!1),[s,a]=(0,i.useState)(!1),r=(0,i.useCallback)(()=>{n(e=>!e),a(!1)},[]),c=(0,i.useCallback)(()=>{a(e=>!e),n(!1)},[]),d=(0,i.useCallback)(()=>{n(!1),a(!1)},[]);return(0,t.jsx)(l.Provider,{value:{isMenuOpen:o,isSidebarOpen:s,toggleMenu:r,toggleSidebar:c,closeAll:d},children:e})},"useHeaderUI",0,function(){let e=(0,i.useContext)(l);if(!e)throw Error("useHeaderUI must be used inside ");return e}])},3374,e=>{"use strict";var t=e.i(43476),i=e.i(71645),l=e.i(22016),o=e.i(57688),n=e.i(18566),s=e.i(82637);let a={"/":"home","/how-it-works":"how-it-works","/miletruth":"miletruth","/solutions":"solutions","/about-us":"about","/blog":"blogs"},r={home:["home"],"how-it-works":["how-it-works","how-its-works"],miletruth:["miletruth"],solutions:["solutions"],about:["about","about-us","women"],blogs:["blogs"]};e.s(["default",0,function(){let e=(0,n.usePathname)(),{isMenuOpen:c,isSidebarOpen:d,toggleMenu:m,toggleSidebar:h,closeAll:p}=(0,s.useHeaderUI)(),u=a[e]??"",g=e=>(r[e]??[]).includes(u)?" active":"",[f,w]=(0,i.useState)(!1),[x,v]=(0,i.useState)(!1);(0,i.useEffect)(()=>{let e=requestAnimationFrame(()=>{w(!0)});return()=>cancelAnimationFrame(e)},[]),(0,i.useEffect)(()=>{let e=null,t=()=>{null===e&&(e=requestAnimationFrame(()=>{v(window.scrollY>50),e=null}))};return t(),window.addEventListener("scroll",t),()=>{window.removeEventListener("scroll",t),null!==e&&cancelAnimationFrame(e)}},[]);let b=["elementor-element","elementor-element-466de1b","e-con-full","sticky-container-on","e-flex","cut-corner-no","e-con","e-parent","header-hide-until-scroll",f?"header-visible-scrolled":"",x?"dm-header-scrolled":""].filter(Boolean).join(" ");return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("header",{id:"masthead",itemScope:!0,itemType:"https://schema.org/WPHeader",children:[(0,t.jsx)("p",{className:"main-title bhf-hidden",itemProp:"headline",children:(0,t.jsx)(l.default,{href:"/",title:"Doormile",rel:"home",children:"Doormile"})}),(0,t.jsx)("div",{"data-elementor-type":"wp-post","data-elementor-id":"5180",className:"elementor elementor-5180",children:(0,t.jsxs)("div",{className:b,"data-id":"466de1b","data-element_type":"container","data-settings":'{"position":"absolute"}',style:"/"!==e||f?void 0:{opacity:0,visibility:"hidden"},children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-e052838 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"e052838","data-element_type":"container",children:(0,t.jsxs)("div",{className:"elementor-element elementor-element-d681ece e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"d681ece","data-element_type":"container",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-472172e e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"472172e","data-element_type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-2f31137 elementor-hidden-laptop elementor-hidden-tablet_extra elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile elementor-widget elementor-widget-logico_slide_sidebar","data-id":"2f31137","data-element_type":"widget","data-widget_type":"logico_slide_sidebar.default",children:(0,t.jsxs)("div",{className:"elementor-widget-container",children:[(0,t.jsx)("div",{className:"logico-slide-sidebar-widget",children:(0,t.jsx)("div",{className:"dropdown-trigger","data-id":"2f31137",onClick:h,children:(0,t.jsx)("span",{className:"dropdown-trigger-icon"})})}),(0,t.jsxs)("div",{style:{zIndex:1e5},className:`slide-sidebar-wrapper slide-sidebar-position-left${d?" active":""}`,id:"side-panel-2f31137",children:[(0,t.jsx)("div",{className:"slide-sidebar-close",onClick:p}),(0,t.jsx)("div",{className:"slide-sidebar",children:(0,t.jsx)("div",{className:"slide-sidebar-content",children:(0,t.jsx)("div",{id:"block-37",className:"widget widget_block",children:(0,t.jsx)("div",{className:"widget-wrapper",children:(0,t.jsxs)("div",{className:"dm-block-group is-layout-constrained dm-block-group-is-layout-constrained",children:[(0,t.jsx)("figure",{className:"wp-block-image size-full is-resized",children:(0,t.jsx)(o.default,{width:305,height:58,src:"/images/doormile-logo.png",alt:"Doormile logo",className:"wp-image-5851",style:{width:"150px",height:"auto"},sizes:"(max-width: 305px) 100vw, 305px"})}),(0,t.jsx)("div",{style:{height:"46px"},"aria-hidden":"true",className:"wp-block-spacer"}),(0,t.jsx)("div",{className:"wp-block-title",children:(0,t.jsx)("h6",{className:"wp-block-heading has-text-font-font-family",style:{fontSize:"18px",fontStyle:"normal",fontWeight:700,letterSpacing:"0px",textTransform:"none"},children:"Our Location"})}),(0,t.jsx)("p",{children:"5th Floor, Vision Ultima, Street No.3, Jayabheri Enclave, Gachibowli, Hyderabad, Telangana 500032."}),(0,t.jsx)("div",{style:{height:"3px"},"aria-hidden":"true",className:"wp-block-spacer"}),(0,t.jsx)("div",{className:"wp-block-title",children:(0,t.jsx)("h6",{className:"wp-block-heading has-text-font-font-family",style:{fontSize:"18px",fontStyle:"normal",fontWeight:700,letterSpacing:"0px",textTransform:"none"},children:"Contact Us"})}),(0,t.jsx)("p",{children:"Tel : +91 86886 97941"}),(0,t.jsx)("div",{style:{height:"3px"},"aria-hidden":"true",className:"wp-block-spacer"}),(0,t.jsx)("div",{className:"wp-block-title",children:(0,t.jsx)("h6",{className:"wp-block-heading has-text-font-font-family",style:{fontSize:"18px",fontStyle:"normal",fontWeight:700,letterSpacing:"0px",textTransform:"none"},children:"Email"})}),(0,t.jsx)("p",{children:(0,t.jsx)("a",{href:"mailto:care@doormile.com","data-wplink-edit":"true",children:"care@doormile.com"})}),(0,t.jsx)("div",{style:{height:"3px"},"aria-hidden":"true",className:"wp-block-spacer"}),(0,t.jsxs)("ul",{className:"wp-block-social-links has-icon-color is-style-logos-only has-background is-layout-flex wp-block-social-links-is-layout-flex",style:{backgroundColor:"#1f1f1f"},children:[(0,t.jsx)("li",{style:{color:"#ffffff"},className:"wp-social-link wp-social-link-facebook has-white-color wp-block-social-link",children:(0,t.jsxs)("a",{rel:"noopener nofollow",target:"_blank",href:"https://www.facebook.com/",className:"wp-block-social-link-anchor",children:[(0,t.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",children:(0,t.jsx)("path",{d:"M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z"})}),(0,t.jsx)("span",{className:"wp-block-social-link-label screen-reader-text",children:"Facebook"})]})}),(0,t.jsx)("li",{style:{color:"#ffffff"},className:"wp-social-link wp-social-link-x has-white-color wp-block-social-link",children:(0,t.jsxs)("a",{rel:"noopener nofollow",target:"_blank",href:"https://x.com/",className:"wp-block-social-link-anchor",children:[(0,t.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",children:(0,t.jsx)("path",{d:"M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z"})}),(0,t.jsx)("span",{className:"wp-block-social-link-label screen-reader-text",children:"X"})]})}),(0,t.jsx)("li",{style:{color:"#ffffff"},className:"wp-social-link wp-social-link-linkedin has-white-color wp-block-social-link",children:(0,t.jsxs)("a",{rel:"noopener nofollow",target:"_blank",href:"https://www.linkedin.com/",className:"wp-block-social-link-anchor",children:[(0,t.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",children:(0,t.jsx)("path",{d:"M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"})}),(0,t.jsx)("span",{className:"wp-block-social-link-label screen-reader-text",children:"LinkedIn"})]})}),(0,t.jsx)("li",{style:{color:"#ffffff"},className:"wp-social-link wp-social-link-youtube has-white-color wp-block-social-link",children:(0,t.jsxs)("a",{rel:"noopener nofollow",target:"_blank",href:"https://www.youtube.com/",className:"wp-block-social-link-anchor",children:[(0,t.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",children:(0,t.jsx)("path",{d:"M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"})}),(0,t.jsx)("span",{className:"wp-block-social-link-label screen-reader-text",children:"YouTube"})]})})]}),(0,t.jsx)("div",{style:{height:"137px"},"aria-hidden":"true",className:"wp-block-spacer"}),(0,t.jsx)("div",{className:"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex",children:(0,t.jsx)("div",{className:"wp-block-button is-style-simple is-style-theme",children:(0,t.jsx)(l.default,{href:"/contact",className:"wp-block-button__link wp-element-button",style:{borderRadius:"10px"},children:"Get in touch"})})})]})})})})})]})]})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-846e53d elementor-widget elementor-widget-site-logo","data-id":"846e53d","data-element_type":"widget","data-widget_type":"site-logo.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"hfe-site-logo",children:(0,t.jsx)(l.default,{"data-elementor-open-lightbox":"",className:"elementor-clickable",href:"/",children:(0,t.jsx)("div",{className:"hfe-site-logo-set",children:(0,t.jsxs)("div",{className:"hfe-site-logo-container",children:[(0,t.jsx)(o.default,{width:400,height:76,className:"hfe-site-logo-img logo-desktop elementor-animation-",src:"/images/doormile-white.png",alt:"doormile-logo",priority:!0}),(0,t.jsx)(o.default,{width:400,height:76,className:"hfe-site-logo-img logo-mobile elementor-animation-",src:"/images/doormile-black.png",alt:"doormile-logo",priority:!0})]})})})})})})]}),(0,t.jsx)("div",{className:"elementor-element elementor-element-e44ee7e e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"e44ee7e","data-element_type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-0b7bf6f logico-breakpoint-laptop elementor-widget__width-auto elementor-widget elementor-widget-logico_navigation_menu","data-id":"0b7bf6f","data-element_type":"widget","data-widget_type":"logico_navigation_menu.default",children:(0,t.jsxs)("div",{className:"elementor-widget-container",children:[(0,t.jsx)("div",{className:"header-menu-container",children:(0,t.jsx)("nav",{children:(0,t.jsxs)("ul",{id:"menu-main-menu",className:"main-menu",children:[(0,t.jsx)("li",{id:"menu-item-10508",className:`menu-item menu-item-type-custom menu-item-object-custom menu-item-10508${g("home")}`,children:(0,t.jsx)(l.default,{href:"/",children:"Home"})}),(0,t.jsx)("li",{id:"menu-item-10509",className:`menu-item menu-item-type-custom menu-item-object-custom menu-item-10509${g("how-it-works")}`,children:(0,t.jsx)(l.default,{href:"/how-it-works",children:"How It Works"})}),(0,t.jsx)("li",{id:"menu-item-10510",className:`menu-item menu-item-type-custom menu-item-object-custom menu-item-10510${g("miletruth")}`,children:(0,t.jsx)(l.default,{href:"/miletruth",children:"MileTruth™ AI"})}),(0,t.jsx)("li",{id:"menu-item-10511",className:`menu-item menu-item-type-custom menu-item-10511${g("solutions")}`,children:(0,t.jsx)(l.default,{href:"/solutions",children:"Solutions"})}),(0,t.jsx)("li",{id:"menu-item-10512",className:`menu-item menu-item-type-custom menu-item-object-custom menu-item-10512${g("about")}`,children:(0,t.jsx)(l.default,{href:"/about-us",children:"About"})}),(0,t.jsx)("li",{id:"menu-item-10535",className:`menu-item menu-item-type-post_type menu-item-object-page menu-item-10535${g("blogs")}`,children:(0,t.jsx)(l.default,{href:"/blog",children:"Blogs"})})]})})}),(0,t.jsx)("div",{className:"menu-trigger","data-id":"0b7bf6f",onClick:m,children:(0,t.jsx)("span",{className:"menu-trigger-icon",children:(0,t.jsxs)("span",{className:"hamburger",children:[(0,t.jsx)("span",{}),(0,t.jsx)("span",{}),(0,t.jsx)("span",{})]})})}),(0,t.jsxs)("div",{style:{zIndex:1e5},className:`mobile-header-menu-container${c?" active":""}`,id:"mobile-header-0b7bf6f",children:[(0,t.jsx)("div",{className:"mobile-header-row",children:(0,t.jsxs)("div",{className:"header-icons-container",children:[(0,t.jsx)("div",{className:"header-icon mini-cart",children:(0,t.jsx)("a",{href:"#",className:"mini-cart-trigger",children:(0,t.jsx)("i",{className:"mini-cart-count"})})}),(0,t.jsx)("a",{className:"header-icon search-link",href:"#",children:(0,t.jsx)("span",{className:"search-trigger-icon"})}),(0,t.jsx)("div",{className:"header-icon login-logout",children:(0,t.jsx)("a",{href:"#",title:"Login/Register",className:"link-login"})}),(0,t.jsx)("div",{className:"header-icon menu-close",onClick:p,children:(0,t.jsx)("span",{className:"menu-close-icon"})})]})}),(0,t.jsx)("nav",{children:(0,t.jsxs)("ul",{id:"menu-main-menu-1",className:"main-menu",children:[(0,t.jsx)("li",{className:`menu-item menu-item-type-custom menu-item-object-custom menu-item-10508${g("home")}`,children:(0,t.jsx)(l.default,{href:"/",onClick:p,children:"Home"})}),(0,t.jsx)("li",{className:`menu-item menu-item-type-custom menu-item-object-custom menu-item-10509${g("how-it-works")}`,children:(0,t.jsx)(l.default,{href:"/how-it-works",onClick:p,children:"How It Works"})}),(0,t.jsx)("li",{className:`menu-item menu-item-type-custom menu-item-object-custom menu-item-10510${g("miletruth")}`,children:(0,t.jsx)(l.default,{href:"/miletruth",onClick:p,children:"MileTruth™ AI"})}),(0,t.jsx)("li",{className:`menu-item menu-item-type-custom menu-item-10511${g("solutions")}`,children:(0,t.jsx)(l.default,{href:"/solutions",onClick:p,children:"Solutions"})}),(0,t.jsx)("li",{className:`menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-10512${g("about")}`,children:(0,t.jsx)(l.default,{href:"/about-us",onClick:p,children:"About"})}),(0,t.jsx)("li",{className:`menu-item menu-item-type-post_type menu-item-object-page menu-item-10535${g("blogs")}`,children:(0,t.jsx)(l.default,{href:"/blog",onClick:p,children:"Blogs"})})]})}),(0,t.jsxs)("div",{className:"header-mobile-contacts",children:[(0,t.jsxs)("div",{className:"contact-item contact-item-phone",children:[(0,t.jsx)("span",{className:"contact-item-label",children:"Phone"}),(0,t.jsx)("div",{className:"contact-item-value",children:(0,t.jsx)("p",{children:"Tel : +91 86886 97941"})})]}),(0,t.jsxs)("div",{className:"contact-item contact-item-email",children:[(0,t.jsx)("span",{className:"contact-item-label",children:"Email"}),(0,t.jsx)("div",{className:"contact-item-value",children:(0,t.jsx)("p",{children:(0,t.jsx)("a",{href:"mailto:care@doormile.com","data-wplink-edit":"true",children:"care@doormile.com"})})})]})]}),(0,t.jsx)("div",{className:"header-mobile-socials",children:(0,t.jsxs)("ul",{className:"mobile-menu-socials wrapper-socials",children:[(0,t.jsx)("li",{children:(0,t.jsx)("a",{href:"https://www.facebook.com/",target:"_blank","aria-label":"Facebook",rel:"noreferrer",children:(0,t.jsx)("svg",{"aria-hidden":"true",width:"18",height:"18",viewBox:"0 0 320 512",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:(0,t.jsx)("path",{d:"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"})})})}),(0,t.jsx)("li",{children:(0,t.jsx)("a",{href:"https://x.com/",target:"_blank","aria-label":"X (Twitter)",rel:"noreferrer",children:(0,t.jsx)("svg",{"aria-hidden":"true",width:"18",height:"18",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:(0,t.jsx)("path",{d:"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"})})})}),(0,t.jsx)("li",{children:(0,t.jsx)("a",{href:"https://www.linkedin.com/",target:"_blank","aria-label":"LinkedIn",rel:"noreferrer",children:(0,t.jsx)("svg",{"aria-hidden":"true",width:"18",height:"18",viewBox:"0 0 448 512",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:(0,t.jsx)("path",{d:"M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z"})})})}),(0,t.jsx)("li",{children:(0,t.jsx)("a",{href:"https://www.youtube.com/",target:"_blank","aria-label":"YouTube",rel:"noreferrer",children:(0,t.jsx)("svg",{"aria-hidden":"true",width:"18",height:"18",viewBox:"0 0 576 512",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:(0,t.jsx)("path",{d:"M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"})})})})]})}),(0,t.jsx)("div",{className:"header-mobile-button",children:(0,t.jsx)(l.default,{className:"logico-alter-button",href:"/contact",children:"Get in Touch"})})]})]})})})]})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-f961133 e-con-full elementor-hidden-laptop elementor-hidden-tablet_extra elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"f961133","data-element_type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-cabdb09 elementor-widget elementor-widget-logico_header_button","data-id":"cabdb09","data-element_type":"widget","data-widget_type":"logico_header_button.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"header-button-container",children:(0,t.jsx)(l.default,{href:"/contact",className:"header-button header-button-animation-fade",children:"Contact Us"})})})})})]})})]}),(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:` +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,18566,(e,t,i)=>{t.exports=e.r(76562)},82637,e=>{"use strict";var t=e.i(43476),i=e.i(71645);let l=(0,i.createContext)(null);e.s(["HeaderUIProvider",0,function({children:e}){let[o,n]=(0,i.useState)(!1),[s,a]=(0,i.useState)(!1),r=(0,i.useCallback)(()=>{n(e=>!e),a(!1)},[]),c=(0,i.useCallback)(()=>{a(e=>!e),n(!1)},[]),d=(0,i.useCallback)(()=>{n(!1),a(!1)},[]);return(0,t.jsx)(l.Provider,{value:{isMenuOpen:o,isSidebarOpen:s,toggleMenu:r,toggleSidebar:c,closeAll:d},children:e})},"useHeaderUI",0,function(){let e=(0,i.useContext)(l);if(!e)throw Error("useHeaderUI must be used inside ");return e}])},3374,e=>{"use strict";var t=e.i(43476),i=e.i(71645),l=e.i(22016),o=e.i(57688),n=e.i(18566),s=e.i(82637);let a={"/":"home","/how-it-works":"how-it-works","/miletruth":"miletruth","/solutions":"solutions","/about-us":"about","/blog":"blogs"},r={home:["home"],"how-it-works":["how-it-works","how-its-works"],miletruth:["miletruth"],solutions:["solutions"],about:["about","about-us","women"],blogs:["blogs"]};e.s(["default",0,function(){let e=(0,n.usePathname)(),{isMenuOpen:c,isSidebarOpen:d,toggleMenu:m,toggleSidebar:h,closeAll:p}=(0,s.useHeaderUI)(),u=a[e]??"",g=e=>(r[e]??[]).includes(u)?" active":"",[f,w]=(0,i.useState)(!1),[x,v]=(0,i.useState)(!1);(0,i.useEffect)(()=>{let e=requestAnimationFrame(()=>{w(!0)});return()=>cancelAnimationFrame(e)},[]),(0,i.useEffect)(()=>{let e=null,t=()=>{null===e&&(e=requestAnimationFrame(()=>{v(window.scrollY>50),e=null}))};return t(),window.addEventListener("scroll",t),()=>{window.removeEventListener("scroll",t),null!==e&&cancelAnimationFrame(e)}},[]);let b=["elementor-element","elementor-element-466de1b","e-con-full","sticky-container-on","e-flex","cut-corner-no","e-con","e-parent","header-hide-until-scroll",f?"header-visible-scrolled":"",x?"dm-header-scrolled":""].filter(Boolean).join(" ");return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("header",{id:"masthead",itemScope:!0,itemType:"https://schema.org/WPHeader",children:[(0,t.jsx)("p",{className:"main-title bhf-hidden",itemProp:"headline",children:(0,t.jsx)(l.default,{href:"/",title:"Doormile",rel:"home",children:"Doormile"})}),(0,t.jsx)("div",{"data-elementor-type":"wp-post","data-elementor-id":"5180",className:"elementor elementor-5180",children:(0,t.jsxs)("div",{className:b,"data-id":"466de1b","data-element_type":"container","data-settings":'{"position":"absolute"}',style:"/"!==e||f?void 0:{opacity:0,visibility:"hidden"},children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-e052838 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"e052838","data-element_type":"container",children:(0,t.jsxs)("div",{className:"elementor-element elementor-element-d681ece e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"d681ece","data-element_type":"container",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-472172e e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"472172e","data-element_type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-2f31137 elementor-hidden-laptop elementor-hidden-tablet_extra elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile elementor-widget elementor-widget-logico_slide_sidebar","data-id":"2f31137","data-element_type":"widget","data-widget_type":"logico_slide_sidebar.default",children:(0,t.jsxs)("div",{className:"elementor-widget-container",children:[(0,t.jsx)("div",{className:"logico-slide-sidebar-widget",children:(0,t.jsx)("div",{className:"dropdown-trigger","data-id":"2f31137",onClick:h,children:(0,t.jsx)("span",{className:"dropdown-trigger-icon"})})}),(0,t.jsxs)("div",{style:{zIndex:1e5},className:`slide-sidebar-wrapper slide-sidebar-position-left${d?" active":""}`,id:"side-panel-2f31137",children:[(0,t.jsx)("div",{className:"slide-sidebar-close",onClick:p}),(0,t.jsx)("div",{className:"slide-sidebar",children:(0,t.jsx)("div",{className:"slide-sidebar-content",children:(0,t.jsx)("div",{id:"block-37",className:"widget widget_block",children:(0,t.jsx)("div",{className:"widget-wrapper",children:(0,t.jsxs)("div",{className:"dm-block-group is-layout-constrained dm-block-group-is-layout-constrained",children:[(0,t.jsx)("figure",{className:"wp-block-image size-full is-resized",children:(0,t.jsx)(o.default,{width:305,height:58,src:"/images/doormile-logo.png",alt:"Doormile logo",className:"wp-image-5851",style:{width:"150px",height:"auto"},sizes:"(max-width: 305px) 100vw, 305px"})}),(0,t.jsx)("div",{style:{height:"46px"},"aria-hidden":"true",className:"wp-block-spacer"}),(0,t.jsx)("div",{className:"wp-block-title",children:(0,t.jsx)("h6",{className:"wp-block-heading has-text-font-font-family",style:{fontSize:"18px",fontStyle:"normal",fontWeight:700,letterSpacing:"0px",textTransform:"none"},children:"Our Location"})}),(0,t.jsx)("p",{children:"5th Floor, Vision Ultima, Street No.3, Jayabheri Enclave, Gachibowli, Hyderabad, Telangana 500032."}),(0,t.jsx)("div",{style:{height:"3px"},"aria-hidden":"true",className:"wp-block-spacer"}),(0,t.jsx)("div",{className:"wp-block-title",children:(0,t.jsx)("h6",{className:"wp-block-heading has-text-font-font-family",style:{fontSize:"18px",fontStyle:"normal",fontWeight:700,letterSpacing:"0px",textTransform:"none"},children:"Contact Us"})}),(0,t.jsx)("p",{children:"Tel : +91 86886 97941"}),(0,t.jsx)("div",{style:{height:"3px"},"aria-hidden":"true",className:"wp-block-spacer"}),(0,t.jsx)("div",{className:"wp-block-title",children:(0,t.jsx)("h6",{className:"wp-block-heading has-text-font-font-family",style:{fontSize:"18px",fontStyle:"normal",fontWeight:700,letterSpacing:"0px",textTransform:"none"},children:"Email"})}),(0,t.jsx)("p",{children:(0,t.jsx)("a",{href:"mailto:care@doormile.com","data-wplink-edit":"true",children:"care@doormile.com"})}),(0,t.jsx)("div",{style:{height:"3px"},"aria-hidden":"true",className:"wp-block-spacer"}),(0,t.jsxs)("ul",{className:"wp-block-social-links has-icon-color is-style-logos-only has-background is-layout-flex wp-block-social-links-is-layout-flex",style:{backgroundColor:"#1f1f1f"},children:[(0,t.jsx)("li",{style:{color:"#ffffff"},className:"wp-social-link wp-social-link-facebook has-white-color wp-block-social-link",children:(0,t.jsxs)("a",{rel:"noopener nofollow",target:"_blank",href:"https://www.facebook.com/",className:"wp-block-social-link-anchor",children:[(0,t.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",children:(0,t.jsx)("path",{d:"M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z"})}),(0,t.jsx)("span",{className:"wp-block-social-link-label screen-reader-text",children:"Facebook"})]})}),(0,t.jsx)("li",{style:{color:"#ffffff"},className:"wp-social-link wp-social-link-x has-white-color wp-block-social-link",children:(0,t.jsxs)("a",{rel:"noopener nofollow",target:"_blank",href:"https://x.com/",className:"wp-block-social-link-anchor",children:[(0,t.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",children:(0,t.jsx)("path",{d:"M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z"})}),(0,t.jsx)("span",{className:"wp-block-social-link-label screen-reader-text",children:"X"})]})}),(0,t.jsx)("li",{style:{color:"#ffffff"},className:"wp-social-link wp-social-link-linkedin has-white-color wp-block-social-link",children:(0,t.jsxs)("a",{rel:"noopener nofollow",target:"_blank",href:"https://www.linkedin.com/",className:"wp-block-social-link-anchor",children:[(0,t.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",children:(0,t.jsx)("path",{d:"M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"})}),(0,t.jsx)("span",{className:"wp-block-social-link-label screen-reader-text",children:"LinkedIn"})]})}),(0,t.jsx)("li",{style:{color:"#ffffff"},className:"wp-social-link wp-social-link-youtube has-white-color wp-block-social-link",children:(0,t.jsxs)("a",{rel:"noopener nofollow",target:"_blank",href:"https://www.youtube.com/",className:"wp-block-social-link-anchor",children:[(0,t.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",version:"1.1",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",children:(0,t.jsx)("path",{d:"M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"})}),(0,t.jsx)("span",{className:"wp-block-social-link-label screen-reader-text",children:"YouTube"})]})})]}),(0,t.jsx)("div",{style:{height:"137px"},"aria-hidden":"true",className:"wp-block-spacer"}),(0,t.jsx)("div",{className:"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex",children:(0,t.jsx)("div",{className:"wp-block-button is-style-simple is-style-theme",children:(0,t.jsx)(l.default,{href:"/contact",className:"wp-block-button__link wp-element-button",style:{borderRadius:"10px"},children:"Get in touch"})})})]})})})})})]})]})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-846e53d elementor-widget elementor-widget-site-logo","data-id":"846e53d","data-element_type":"widget","data-widget_type":"site-logo.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"hfe-site-logo",children:(0,t.jsx)(l.default,{"data-elementor-open-lightbox":"",className:"elementor-clickable",href:"/",children:(0,t.jsx)("div",{className:"hfe-site-logo-set",children:(0,t.jsxs)("div",{className:"hfe-site-logo-container",children:[(0,t.jsx)(o.default,{width:400,height:76,className:"hfe-site-logo-img logo-desktop elementor-animation-",src:"/images/doormile-white.png",alt:"doormile-logo",priority:!0}),(0,t.jsx)(o.default,{width:400,height:76,className:"hfe-site-logo-img logo-mobile elementor-animation-",src:"/images/doormile-black.png",alt:"doormile-logo",priority:!0})]})})})})})})]}),(0,t.jsx)("div",{className:"elementor-element elementor-element-e44ee7e e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"e44ee7e","data-element_type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-0b7bf6f logico-breakpoint-laptop elementor-widget__width-auto elementor-widget elementor-widget-logico_navigation_menu","data-id":"0b7bf6f","data-element_type":"widget","data-widget_type":"logico_navigation_menu.default",children:(0,t.jsxs)("div",{className:"elementor-widget-container",children:[(0,t.jsx)("div",{className:"header-menu-container",children:(0,t.jsx)("nav",{children:(0,t.jsxs)("ul",{id:"menu-main-menu",className:"main-menu",children:[(0,t.jsx)("li",{id:"menu-item-10508",className:`menu-item menu-item-type-custom menu-item-object-custom menu-item-10508${g("home")}`,children:(0,t.jsx)(l.default,{href:"/",children:"Home"})}),(0,t.jsx)("li",{id:"menu-item-10509",className:`menu-item menu-item-type-custom menu-item-object-custom menu-item-10509${g("how-it-works")}`,children:(0,t.jsx)(l.default,{href:"/how-it-works",children:"How It Works"})}),(0,t.jsx)("li",{id:"menu-item-10510",className:`menu-item menu-item-type-custom menu-item-object-custom menu-item-10510${g("miletruth")}`,children:(0,t.jsx)(l.default,{href:"/miletruth",children:"MileTruth™ AI"})}),(0,t.jsx)("li",{id:"menu-item-10511",className:`menu-item menu-item-type-custom menu-item-10511${g("solutions")}`,children:(0,t.jsx)(l.default,{href:"/solutions",children:"Solutions"})}),(0,t.jsx)("li",{id:"menu-item-10512",className:`menu-item menu-item-type-custom menu-item-object-custom menu-item-10512${g("about")}`,children:(0,t.jsx)(l.default,{href:"/about-us",children:"About"})}),(0,t.jsx)("li",{id:"menu-item-10535",className:`menu-item menu-item-type-post_type menu-item-object-page menu-item-10535${g("blogs")}`,children:(0,t.jsx)(l.default,{href:"/blog",children:"Blogs"})})]})})}),(0,t.jsx)("div",{className:"menu-trigger","data-id":"0b7bf6f",onClick:m,children:(0,t.jsx)("span",{className:"menu-trigger-icon",children:(0,t.jsxs)("span",{className:"hamburger",children:[(0,t.jsx)("span",{}),(0,t.jsx)("span",{}),(0,t.jsx)("span",{})]})})}),(0,t.jsxs)("div",{style:{zIndex:1e5},className:`mobile-header-menu-container${c?" active":""}`,id:"mobile-header-0b7bf6f",children:[(0,t.jsx)("div",{className:"mobile-header-row",children:(0,t.jsxs)("div",{className:"header-icons-container",children:[(0,t.jsx)("div",{className:"header-icon mini-cart",children:(0,t.jsx)("a",{href:"#",className:"mini-cart-trigger",children:(0,t.jsx)("i",{className:"mini-cart-count"})})}),(0,t.jsx)("a",{className:"header-icon search-link",href:"#",children:(0,t.jsx)("span",{className:"search-trigger-icon"})}),(0,t.jsx)("div",{className:"header-icon login-logout",children:(0,t.jsx)("a",{href:"#",title:"Login/Register",className:"link-login"})}),(0,t.jsx)("div",{className:"header-icon menu-close",onClick:p,children:(0,t.jsx)("span",{className:"menu-close-icon"})})]})}),(0,t.jsx)("nav",{children:(0,t.jsxs)("ul",{id:"menu-main-menu-1",className:"main-menu",children:[(0,t.jsx)("li",{className:`menu-item menu-item-type-custom menu-item-object-custom menu-item-10508${g("home")}`,children:(0,t.jsx)(l.default,{href:"/",onClick:p,children:"Home"})}),(0,t.jsx)("li",{className:`menu-item menu-item-type-custom menu-item-object-custom menu-item-10509${g("how-it-works")}`,children:(0,t.jsx)(l.default,{href:"/how-it-works",onClick:p,children:"How It Works"})}),(0,t.jsx)("li",{className:`menu-item menu-item-type-custom menu-item-object-custom menu-item-10510${g("miletruth")}`,children:(0,t.jsx)(l.default,{href:"/miletruth",onClick:p,children:"MileTruth™ AI"})}),(0,t.jsx)("li",{className:`menu-item menu-item-type-custom menu-item-10511${g("solutions")}`,children:(0,t.jsx)(l.default,{href:"/solutions",onClick:p,children:"Solutions"})}),(0,t.jsx)("li",{className:`menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-10512${g("about")}`,children:(0,t.jsx)(l.default,{href:"/about-us",onClick:p,children:"About"})}),(0,t.jsx)("li",{className:`menu-item menu-item-type-post_type menu-item-object-page menu-item-10535${g("blogs")}`,children:(0,t.jsx)(l.default,{href:"/blog",onClick:p,children:"Blogs"})})]})}),(0,t.jsxs)("div",{className:"header-mobile-contacts",children:[(0,t.jsxs)("div",{className:"contact-item contact-item-phone",children:[(0,t.jsx)("span",{className:"contact-item-label",children:"Phone"}),(0,t.jsx)("div",{className:"contact-item-value",children:(0,t.jsx)("p",{children:"Tel : +91 86886 97941"})})]}),(0,t.jsxs)("div",{className:"contact-item contact-item-email",children:[(0,t.jsx)("span",{className:"contact-item-label",children:"Email"}),(0,t.jsx)("div",{className:"contact-item-value",children:(0,t.jsx)("p",{children:(0,t.jsx)("a",{href:"mailto:care@doormile.com","data-wplink-edit":"true",children:"care@doormile.com"})})})]})]}),(0,t.jsx)("div",{className:"header-mobile-socials",children:(0,t.jsxs)("ul",{className:"mobile-menu-socials wrapper-socials",children:[(0,t.jsx)("li",{children:(0,t.jsx)("a",{href:"https://www.facebook.com/",target:"_blank","aria-label":"Facebook",rel:"noreferrer",children:(0,t.jsx)("svg",{"aria-hidden":"true",width:"18",height:"18",viewBox:"0 0 320 512",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:(0,t.jsx)("path",{d:"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"})})})}),(0,t.jsx)("li",{children:(0,t.jsx)("a",{href:"https://x.com/",target:"_blank","aria-label":"X (Twitter)",rel:"noreferrer",children:(0,t.jsx)("svg",{"aria-hidden":"true",width:"18",height:"18",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:(0,t.jsx)("path",{d:"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"})})})}),(0,t.jsx)("li",{children:(0,t.jsx)("a",{href:"https://www.linkedin.com/",target:"_blank","aria-label":"LinkedIn",rel:"noreferrer",children:(0,t.jsx)("svg",{"aria-hidden":"true",width:"18",height:"18",viewBox:"0 0 448 512",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:(0,t.jsx)("path",{d:"M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z"})})})}),(0,t.jsx)("li",{children:(0,t.jsx)("a",{href:"https://www.youtube.com/",target:"_blank","aria-label":"YouTube",rel:"noreferrer",children:(0,t.jsx)("svg",{"aria-hidden":"true",width:"18",height:"18",viewBox:"0 0 576 512",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:(0,t.jsx)("path",{d:"M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"})})})})]})}),(0,t.jsx)("div",{className:"header-mobile-button",children:(0,t.jsx)(l.default,{className:"logico-alter-button",href:"/contact",children:"Get in Touch"})})]})]})})})]})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-f961133 e-con-full elementor-hidden-laptop elementor-hidden-tablet_extra elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"f961133","data-element_type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-cabdb09 elementor-widget elementor-widget-logico_header_button","data-id":"cabdb09","data-element_type":"widget","data-widget_type":"logico_header_button.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"header-button-container",children:(0,t.jsx)(l.default,{href:"/contact",className:"header-button header-button-animation-fade",children:"Contact Us"})})})})})]})})]}),(0,t.jsx)("style",{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:` #masthead .elementor-element.elementor-element-466de1b { position: absolute !important; top: 5px !important; @@ -27,8 +27,10 @@ Force position:fixed once scrolled past 50px so the header stays in viewport. */ #masthead .elementor-element.elementor-element-466de1b.dm-header-scrolled { position: fixed !important; - background: #4b4b4baa !important; - box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18) !important; + background: rgba(26, 26, 26, 0.92) !important; + -webkit-backdrop-filter: blur(14px) !important; + backdrop-filter: blur(14px) !important; + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.22) !important; top: 0 !important; } @@ -65,6 +67,17 @@ #masthead .menu-trigger { display: block !important; } + + /* Sticky header on scroll for mobile/tablet too — the desktop + rule lived only in the min-width:1025px block, so on phones the + absolutely-positioned navbar scrolled away with the page. Pin it + to the top once scrolled past 50px, matching desktop behaviour. */ + #masthead .elementor-element.elementor-element-466de1b.dm-header-scrolled { + position: fixed !important; + top: 0 !important; + left: 0 !important; + right: 0 !important; + } } @media (max-width: 480px) { @@ -86,7 +99,35 @@ display: block !important; } } - `}})]})}])},58234,e=>{"use strict";e.i(47167);var t=e.i(43476),i=e.i(71645),l=e.i(22016),o=e.i(57688);(()=>{if("u">typeof localStorage)return})();var n=e.i(2018);e.s(["default",0,function(){let e={"--grid-column-gap":"52px","--grid-row-gap":"18px",columnGap:"52px",rowGap:"18px"},[s,a]=(0,i.useState)(!1),[r,c]=(0,i.useState)({fullName:"",email:"",subject:"",message:""}),[d,m]=(0,i.useState)("idle");(0,i.useEffect)(()=>{let e=()=>{window.scrollY>300?a(!0):a(!1)};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)},[]);let h=e=>{let{name:t,value:i}=e.target;c(e=>({...e,[t]:i})),("success"===d||"error"===d)&&m("idle")},p=async e=>{e.preventDefault(),console.error("EmailJS env vars are missing — set NEXT_PUBLIC_EMAILJS_* in .env.local"),m("error")};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("footer",{"data-rocket-location-hash":"1eeca93394c4fc14089e9d12a2a92e22",itemScope:!0,itemType:"https://schema.org/WPFooter",id:"colophon",role:"contentinfo",children:(0,t.jsx)("div",{className:"footer-width-fixer",children:(0,t.jsx)("div",{"data-elementor-type":"wp-post","data-elementor-id":"6585",className:"elementor elementor-6585",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-3cd920c e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"3cd920c","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-b29b8fc e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child","data-id":"b29b8fc","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}',children:(0,t.jsxs)("div",{className:"e-con-inner",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-ef6fa6d e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"ef6fa6d","data-element_type":"container","data-e-type":"container",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-9990148 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"9990148","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-8899bdf elementor-absolute elementor-widget elementor-widget-image","data-id":"8899bdf","data-element_type":"widget","data-e-type":"widget","data-settings":'{"_position":"absolute"}',"data-widget_type":"image.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)(o.default,{width:965,height:474,src:"/images/bg-map.png",className:"attachment-full size-full wp-image-1148",alt:""})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-a0e7516 elementor-widget elementor-widget-logico_heading","data-id":"a0e7516","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"/ get in touch /"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-687d944 elementor-widget elementor-widget-logico_heading","data-id":"687d944","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)(n.ScrollReveal,{delay:.1,duration:.8,yOffset:25,children:(0,t.jsx)("h3",{className:"logico-title",style:{color:"white"},children:"We are always ready to help you and answer your questions"})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-670d1b2 elementor-widget elementor-widget-text-editor","data-id":"670d1b2","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"Connecting businesses with fast, secure, smart deliveries."})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-2631b42 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child","data-id":"2631b42","data-element_type":"container","data-e-type":"container",children:(0,t.jsxs)("div",{className:"e-con-inner",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-df89993 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"df89993","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-69b6892 elementor-widget elementor-widget-logico_heading","data-id":"69b6892","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Call Center"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-87be926 elementor-widget elementor-widget-text-editor","data-id":"87be926","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"Tel : +91 86886 97941"})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-f5d8e63 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"f5d8e63","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-774e540 elementor-widget elementor-widget-logico_heading","data-id":"774e540","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Our Location"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-9c1cf03 elementor-widget elementor-widget-text-editor","data-id":"9c1cf03","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"5th Floor, Vision Ultima, Street No.3, Jayabheri Enclave, Gachibowli, Hyderabad, Telangana 500032."})})})]})]})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-645be8d e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child","data-id":"645be8d","data-element_type":"container","data-e-type":"container",children:(0,t.jsxs)("div",{className:"e-con-inner",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-a96d151 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"a96d151","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-37e647f elementor-widget elementor-widget-logico_heading","data-id":"37e647f","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Email"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-ba67644 elementor-widget elementor-widget-text-editor","data-id":"ba67644","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:(0,t.jsx)("a",{href:"mailto:care@doormile.com",children:"care@doormile.com"})})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-9ba4b82 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"9ba4b82","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-e9a5d79 elementor-widget elementor-widget-logico_heading","data-id":"e9a5d79","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Social network"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-a6bccba elementor-shape-square elementor-grid-0 elementor-widget elementor-widget-social-icons","data-id":"a6bccba","data-element_type":"widget","data-e-type":"widget","data-widget_type":"social-icons.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-social-icons-wrapper elementor-grid",role:"list",style:e,children:[(0,t.jsx)("span",{className:"elementor-grid-item",role:"listitem",style:{padding:"0 15px"},children:(0,t.jsxs)("a",{className:"elementor-icon elementor-social-icon elementor-social-icon-facebook-f elementor-repeater-item-3fbe893",href:"https://www.facebook.com",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("span",{className:"elementor-screen-only",children:"Facebook"}),(0,t.jsx)("svg",{"aria-hidden":"true",className:"e-font-icon-svg e-fab-facebook-f",viewBox:"0 0 320 512",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"})})]})}),(0,t.jsx)("span",{className:"elementor-grid-item",role:"listitem",style:{padding:"0 15px"},children:(0,t.jsxs)("a",{className:"elementor-icon elementor-social-icon elementor-social-icon-x-twitter elementor-repeater-item-64ac94e",href:"https://x.com",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("span",{className:"elementor-screen-only",children:"X"}),(0,t.jsx)("svg",{"aria-hidden":"true",className:"e-font-icon-svg e-fab-x-twitter",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"})})]})}),(0,t.jsx)("span",{className:"elementor-grid-item",role:"listitem",style:{padding:"0 15px"},children:(0,t.jsxs)("a",{className:"elementor-icon elementor-social-icon elementor-social-icon-linkedin-in elementor-repeater-item-38e1bcc",href:"https://www.linkedin.com",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("span",{className:"elementor-screen-only",children:"LinkedIn"}),(0,t.jsx)("svg",{"aria-hidden":"true",className:"e-font-icon-svg e-fab-linkedin-in",viewBox:"0 0 448 512",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z"})})]})}),(0,t.jsx)("span",{className:"elementor-grid-item",role:"listitem",style:{padding:"0 15px"},children:(0,t.jsxs)("a",{className:"elementor-icon elementor-social-icon elementor-social-icon-youtube elementor-repeater-item-b0d5e1f",href:"https://www.youtube.com",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("span",{className:"elementor-screen-only",children:"YouTube"}),(0,t.jsx)("svg",{"aria-hidden":"true",className:"e-font-icon-svg e-fab-youtube",viewBox:"0 0 576 512",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"})})]})})]})})})]})]})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-a5c503d e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"a5c503d","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}',children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-535776a elementor-widget elementor-widget-logico_heading","data-id":"535776a","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Get in Touch"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-0e6fedf elementor-widget elementor-widget-logico_wpforms","data-id":"0e6fedf","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_wpforms.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-wpforms-widget",children:(0,t.jsx)("div",{className:"wpforms-container wpforms-render-modern",id:"wpforms-369",children:(0,t.jsxs)("form",{id:"wpforms-form-369",className:"wpforms-validate wpforms-form",onSubmit:p,children:[(0,t.jsxs)("div",{className:"wpforms-field-container",children:[(0,t.jsxs)("div",{className:"wpforms-field-wrapper logico-form-field",children:[(0,t.jsxs)("div",{className:"logico-label-wrapper",style:{marginBottom:"12px"},children:[(0,t.jsx)("div",{className:"logico-label-placeholder",children:(0,t.jsx)("div",{className:"logico-label-placeholder-text",children:"Full name"})}),(0,t.jsx)("label",{className:"wpforms-field-label",htmlFor:"footer-field-name",children:"Full name"})]}),(0,t.jsx)("input",{type:"text",id:"footer-field-name",className:"wpforms-field-large",name:"fullName",value:r.fullName,onChange:h,required:!0})]}),(0,t.jsxs)("div",{className:"wpforms-field-wrapper logico-form-field",children:[(0,t.jsxs)("div",{className:"logico-label-wrapper",style:{marginBottom:"12px"},children:[(0,t.jsx)("div",{className:"logico-label-placeholder",children:(0,t.jsx)("div",{className:"logico-label-placeholder-text",children:"Email"})}),(0,t.jsx)("label",{className:"wpforms-field-label",htmlFor:"footer-field-email",children:"Email"})]}),(0,t.jsx)("input",{type:"email",id:"footer-field-email",className:"wpforms-field-large",name:"email",value:r.email,onChange:h,required:!0})]}),(0,t.jsxs)("div",{className:"wpforms-field-wrapper logico-form-field",children:[(0,t.jsxs)("div",{className:"logico-label-wrapper",style:{marginBottom:"12px"},children:[(0,t.jsx)("div",{className:"logico-label-placeholder",children:(0,t.jsx)("div",{className:"logico-label-placeholder-text",children:"Subject"})}),(0,t.jsx)("label",{className:"wpforms-field-label",htmlFor:"footer-field-subject",children:"Subject"})]}),(0,t.jsx)("input",{type:"text",id:"footer-field-subject",className:"wpforms-field-large",name:"subject",value:r.subject,onChange:h,required:!0})]}),(0,t.jsxs)("div",{className:"wpforms-field-wrapper logico-form-field",children:[(0,t.jsxs)("div",{className:"logico-label-wrapper",style:{marginBottom:"12px"},children:[(0,t.jsx)("div",{className:"logico-label-placeholder",children:(0,t.jsx)("div",{className:"logico-label-placeholder-text",children:"Message"})}),(0,t.jsx)("label",{className:"wpforms-field-label",htmlFor:"footer-field-message",children:"Message"})]}),(0,t.jsx)("textarea",{id:"footer-field-message",className:"wpforms-field-large",name:"message",value:r.message,onChange:h,required:!0})]})]}),(0,t.jsxs)("div",{className:"wpforms-submit-container",children:[(0,t.jsx)("button",{type:"submit",id:"wpforms-submit-369",className:"logico-alter-button wpforms-submit",disabled:"submitting"===d,children:"submitting"===d?"Sending...":"Send a message"}),"success"===d&&(0,t.jsx)("div",{style:{color:"#4caf50",marginTop:"10px",fontSize:"14px"},children:"Message sent successfully."}),"error"===d&&(0,t.jsx)("div",{style:{color:"#f44336",marginTop:"10px",fontSize:"14px"},children:"Failed to send message. Please try again."})]})]})})})})})]})]}),(0,t.jsx)("div",{className:"elementor-element elementor-element-e183a77 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"e183a77","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-5219697 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5219697","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-e6af8aa elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"e6af8aa","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)(n.ScrollReveal,{delay:.1,duration:.8,yOffset:25,children:(0,t.jsxs)("h2",{className:"logico-title",children:["Delivered ",(0,t.jsx)("span",{style:{color:"#c01227"},children:"on time"})," with no hassle."]})})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-ba22941 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"ba22941","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-54629ca elementor-widget-divider--view-line elementor-widget elementor-widget-divider","data-id":"54629ca","data-element_type":"widget","data-e-type":"widget","data-widget_type":"divider.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-divider",children:(0,t.jsx)("span",{className:"elementor-divider-separator"})})})})}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-3f1ba7a e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"3f1ba7a","data-element_type":"container","data-e-type":"container",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-64e2e81 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"64e2e81","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-b5c897d elementor-widget elementor-widget-image","data-id":"b5c897d","data-element_type":"widget","data-e-type":"widget","data-widget_type":"image.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)(l.default,{href:"/",children:(0,t.jsx)(o.default,{width:300,height:57,src:"/images/logo-slogan.png",style:{width:"280px",height:"auto"},className:"attachment-full size-full wp-image-5851",alt:"Doormile Tagline"})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-e4e6486 elementor-shape-square elementor-grid-0 elementor-widget elementor-widget-social-icons","data-id":"e4e6486","data-element_type":"widget","data-e-type":"widget","data-widget_type":"social-icons.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-social-icons-wrapper elementor-grid",role:"list",style:e,children:[(0,t.jsx)("span",{className:"elementor-grid-item",role:"listitem",style:{padding:"0 15px"},children:(0,t.jsxs)("a",{className:"elementor-icon elementor-social-icon elementor-social-icon-facebook-f",href:"https://www.facebook.com",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("span",{className:"elementor-screen-only",children:"Facebook"}),(0,t.jsx)("svg",{"aria-hidden":"true",className:"e-font-icon-svg e-fab-facebook-f",viewBox:"0 0 320 512",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"})})]})}),(0,t.jsx)("span",{className:"elementor-grid-item",role:"listitem",style:{padding:"0 15px"},children:(0,t.jsxs)("a",{className:"elementor-icon elementor-social-icon elementor-social-icon-x-twitter",href:"https://x.com",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("span",{className:"elementor-screen-only",children:"X"}),(0,t.jsx)("svg",{"aria-hidden":"true",className:"e-font-icon-svg e-fab-x-twitter",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"})})]})}),(0,t.jsx)("span",{className:"elementor-grid-item",role:"listitem",style:{padding:"0 15px"},children:(0,t.jsxs)("a",{className:"elementor-icon elementor-social-icon elementor-social-icon-linkedin-in",href:"https://www.linkedin.com",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("span",{className:"elementor-screen-only",children:"LinkedIn"}),(0,t.jsx)("svg",{"aria-hidden":"true",className:"e-font-icon-svg e-fab-linkedin-in",viewBox:"0 0 448 512",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z"})})]})}),(0,t.jsx)("span",{className:"elementor-grid-item",role:"listitem",style:{padding:"0 15px"},children:(0,t.jsxs)("a",{className:"elementor-icon elementor-social-icon elementor-social-icon-youtube",href:"https://www.youtube.com",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("span",{className:"elementor-screen-only",children:"YouTube"}),(0,t.jsx)("svg",{"aria-hidden":"true",className:"e-font-icon-svg e-fab-youtube",viewBox:"0 0 576 512",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"})})]})})]})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-5b73dd3 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5b73dd3","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-10ead4d elementor-widget elementor-widget-logico_heading","data-id":"10ead4d","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Solutions"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-b2507df elementor-widget elementor-widget-logico_custom_navigation_menu","data-id":"b2507df","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_custom_navigation_menu.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("ul",{className:"logico-custom-menu-widget",children:[(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/miletruth",children:"MileTruth™"})}),(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/how-it-works",children:"How It Works"})}),(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/solutions",children:"Use Cases"})}),(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/contact",children:"Request Demo"})})]})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-451f15c e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"451f15c","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-0ec06ff elementor-widget elementor-widget-logico_heading","data-id":"0ec06ff","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Services"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-a219b7d elementor-widget elementor-widget-logico_custom_navigation_menu","data-id":"a219b7d","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_custom_navigation_menu.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("ul",{className:"logico-custom-menu-widget",children:[(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/about-us",children:"About Us"})}),(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/about-us#women-entrepreneurship",children:"Women entrepreneurship"})}),(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/blog",children:"Blog"})}),(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/contact",children:"Contact"})})]})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-44a1f5d e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"44a1f5d","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-0edc8fd elementor-widget elementor-widget-logico_heading","data-id":"0edc8fd","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Legal"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-189484a elementor-widget elementor-widget-logico_custom_navigation_menu","data-id":"189484a","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_custom_navigation_menu.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("ul",{className:"logico-custom-menu-widget",children:[(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/privacy-policy",children:"Privacy Policy"})}),(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/terms-of-service",children:"Terms Service"})}),(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/cookie-policy",children:"Cookie Policy"})})]})})})]})]})]})})})})})}),(0,t.jsx)("div",{className:`footer-scroll-top ${s?"active":""}`,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},style:{cursor:"pointer"}}),(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:` + + /* The bundled 'fontello' subset is missing the search (\\e85c) and + close (\\e845) glyphs, so those two icons render as empty tofu + boxes. Replace them with inline SVGs via CSS masks so they paint + in the current text colour (matching the working cart/user icons) + and respond to hover. */ + #masthead .header-icon.search-link .search-trigger-icon::before, + #masthead .header-icon.menu-close .menu-close-icon::before { + content: "" !important; + display: block; + width: 1em; + height: 1em; + background-color: currentColor; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-position: center; + mask-position: center; + -webkit-mask-size: contain; + mask-size: contain; + } + #masthead .header-icon.search-link .search-trigger-icon::before { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='16.5' y1='16.5' x2='21' y2='21'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='16.5' y1='16.5' x2='21' y2='21'/%3E%3C/svg%3E"); + } + #masthead .header-icon.menu-close .menu-close-icon::before { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='5' y1='5' x2='19' y2='19'/%3E%3Cline x1='19' y1='5' x2='5' y2='19'/%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='5' y1='5' x2='19' y2='19'/%3E%3Cline x1='19' y1='5' x2='5' y2='19'/%3E%3C/svg%3E"); + } + `}})]})}])},58234,e=>{"use strict";e.i(47167);var t=e.i(43476),i=e.i(71645),l=e.i(22016),o=e.i(57688);(()=>{if("u">typeof localStorage)return})();var n=e.i(2018);e.s(["default",0,function(){let e={"--grid-column-gap":"52px","--grid-row-gap":"18px",columnGap:"52px",rowGap:"18px"},[s,a]=(0,i.useState)(!1),[r,c]=(0,i.useState)({fullName:"",email:"",subject:"",message:""}),[d,m]=(0,i.useState)("idle");(0,i.useEffect)(()=>{let e=()=>{window.scrollY>300?a(!0):a(!1)};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)},[]);let h=e=>{let{name:t,value:i}=e.target;c(e=>({...e,[t]:i})),("success"===d||"error"===d)&&m("idle")},p=async e=>{e.preventDefault(),console.error("EmailJS env vars are missing — set NEXT_PUBLIC_EMAILJS_* in .env.local"),m("error")};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("footer",{"data-rocket-location-hash":"1eeca93394c4fc14089e9d12a2a92e22",itemScope:!0,itemType:"https://schema.org/WPFooter",id:"colophon",role:"contentinfo",children:(0,t.jsx)("div",{className:"footer-width-fixer",children:(0,t.jsx)("div",{"data-elementor-type":"wp-post","data-elementor-id":"6585",className:"elementor elementor-6585",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-3cd920c e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"3cd920c","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-b29b8fc e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child","data-id":"b29b8fc","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}',children:(0,t.jsxs)("div",{className:"e-con-inner",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-ef6fa6d e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"ef6fa6d","data-element_type":"container","data-e-type":"container",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-9990148 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"9990148","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-8899bdf elementor-absolute elementor-widget elementor-widget-image","data-id":"8899bdf","data-element_type":"widget","data-e-type":"widget","data-settings":'{"_position":"absolute"}',"data-widget_type":"image.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)(o.default,{width:965,height:474,src:"/images/bg-map.png",className:"attachment-full size-full wp-image-1148",alt:""})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-a0e7516 elementor-widget elementor-widget-logico_heading","data-id":"a0e7516","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"/ get in touch /"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-687d944 elementor-widget elementor-widget-logico_heading","data-id":"687d944","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)(n.ScrollReveal,{delay:.1,duration:.8,yOffset:25,children:(0,t.jsx)("h3",{className:"logico-title",style:{color:"white"},children:"We are always ready to help you and answer your questions"})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-670d1b2 elementor-widget elementor-widget-text-editor","data-id":"670d1b2","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"Connecting businesses with fast, secure, smart deliveries."})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-2631b42 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child","data-id":"2631b42","data-element_type":"container","data-e-type":"container",children:(0,t.jsxs)("div",{className:"e-con-inner",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-df89993 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"df89993","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-69b6892 elementor-widget elementor-widget-logico_heading","data-id":"69b6892","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"logico-title dm-foot-label",children:[(0,t.jsx)("svg",{className:"dm-foot-ic",width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z"})}),(0,t.jsx)("span",{children:"Call Center"})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-87be926 elementor-widget elementor-widget-text-editor","data-id":"87be926","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"Tel : +91 86886 97941"})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-f5d8e63 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"f5d8e63","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-774e540 elementor-widget elementor-widget-logico_heading","data-id":"774e540","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"logico-title dm-foot-label",children:[(0,t.jsxs)("svg",{className:"dm-foot-ic",width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,t.jsx)("path",{d:"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"}),(0,t.jsx)("circle",{cx:"12",cy:"10",r:"3"})]}),(0,t.jsx)("span",{children:"Our Location"})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-9c1cf03 elementor-widget elementor-widget-text-editor","data-id":"9c1cf03","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:"5th Floor, Vision Ultima, Street No.3, Jayabheri Enclave, Gachibowli, Hyderabad, Telangana 500032."})})})]})]})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-645be8d e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child","data-id":"645be8d","data-element_type":"container","data-e-type":"container",children:(0,t.jsxs)("div",{className:"e-con-inner",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-a96d151 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"a96d151","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-37e647f elementor-widget elementor-widget-logico_heading","data-id":"37e647f","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"logico-title dm-foot-label",children:[(0,t.jsxs)("svg",{className:"dm-foot-ic",width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,t.jsx)("rect",{x:"2",y:"4",width:"20",height:"16",rx:"2"}),(0,t.jsx)("path",{d:"m22 7-10 5L2 7"})]}),(0,t.jsx)("span",{children:"Email"})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-ba67644 elementor-widget elementor-widget-text-editor","data-id":"ba67644","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("p",{children:(0,t.jsx)("a",{href:"mailto:care@doormile.com",children:"care@doormile.com"})})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-9ba4b82 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"9ba4b82","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-e9a5d79 elementor-widget elementor-widget-logico_heading","data-id":"e9a5d79","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"logico-title dm-foot-label",children:[(0,t.jsxs)("svg",{className:"dm-foot-ic",width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,t.jsx)("circle",{cx:"18",cy:"5",r:"3"}),(0,t.jsx)("circle",{cx:"6",cy:"12",r:"3"}),(0,t.jsx)("circle",{cx:"18",cy:"19",r:"3"}),(0,t.jsx)("line",{x1:"8.59",y1:"13.51",x2:"15.42",y2:"17.49"}),(0,t.jsx)("line",{x1:"15.41",y1:"6.51",x2:"8.59",y2:"10.49"})]}),(0,t.jsx)("span",{children:"Social network"})]})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-a6bccba elementor-shape-square elementor-grid-0 elementor-widget elementor-widget-social-icons","data-id":"a6bccba","data-element_type":"widget","data-e-type":"widget","data-widget_type":"social-icons.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-social-icons-wrapper elementor-grid",role:"list",style:e,children:[(0,t.jsx)("span",{className:"elementor-grid-item",role:"listitem",style:{padding:"0 15px"},children:(0,t.jsxs)("a",{className:"elementor-icon elementor-social-icon elementor-social-icon-facebook-f elementor-repeater-item-3fbe893",href:"https://www.facebook.com",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("span",{className:"elementor-screen-only",children:"Facebook"}),(0,t.jsx)("svg",{"aria-hidden":"true",className:"e-font-icon-svg e-fab-facebook-f",viewBox:"0 0 320 512",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"})})]})}),(0,t.jsx)("span",{className:"elementor-grid-item",role:"listitem",style:{padding:"0 15px"},children:(0,t.jsxs)("a",{className:"elementor-icon elementor-social-icon elementor-social-icon-x-twitter elementor-repeater-item-64ac94e",href:"https://x.com",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("span",{className:"elementor-screen-only",children:"X"}),(0,t.jsx)("svg",{"aria-hidden":"true",className:"e-font-icon-svg e-fab-x-twitter",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"})})]})}),(0,t.jsx)("span",{className:"elementor-grid-item",role:"listitem",style:{padding:"0 15px"},children:(0,t.jsxs)("a",{className:"elementor-icon elementor-social-icon elementor-social-icon-linkedin-in elementor-repeater-item-38e1bcc",href:"https://www.linkedin.com",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("span",{className:"elementor-screen-only",children:"LinkedIn"}),(0,t.jsx)("svg",{"aria-hidden":"true",className:"e-font-icon-svg e-fab-linkedin-in",viewBox:"0 0 448 512",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z"})})]})}),(0,t.jsx)("span",{className:"elementor-grid-item",role:"listitem",style:{padding:"0 15px"},children:(0,t.jsxs)("a",{className:"elementor-icon elementor-social-icon elementor-social-icon-youtube elementor-repeater-item-b0d5e1f",href:"https://www.youtube.com",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("span",{className:"elementor-screen-only",children:"YouTube"}),(0,t.jsx)("svg",{"aria-hidden":"true",className:"e-font-icon-svg e-fab-youtube",viewBox:"0 0 576 512",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"})})]})})]})})})]})]})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-a5c503d e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"a5c503d","data-element_type":"container","data-e-type":"container","data-settings":'{"background_background":"classic"}',children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-535776a elementor-widget elementor-widget-logico_heading","data-id":"535776a","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Get in Touch"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-0e6fedf elementor-widget elementor-widget-logico_wpforms","data-id":"0e6fedf","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_wpforms.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-wpforms-widget",children:(0,t.jsx)("div",{className:"wpforms-container wpforms-render-modern",id:"wpforms-369",children:(0,t.jsxs)("form",{id:"wpforms-form-369",className:"wpforms-validate wpforms-form",onSubmit:p,children:[(0,t.jsxs)("div",{className:"wpforms-field-container",children:[(0,t.jsxs)("div",{className:"wpforms-field-wrapper logico-form-field",children:[(0,t.jsxs)("div",{className:"logico-label-wrapper",style:{marginBottom:"12px"},children:[(0,t.jsx)("div",{className:"logico-label-placeholder",children:(0,t.jsx)("div",{className:"logico-label-placeholder-text",children:"Full name"})}),(0,t.jsx)("label",{className:"wpforms-field-label",htmlFor:"footer-field-name",children:"Full name"})]}),(0,t.jsx)("input",{type:"text",id:"footer-field-name",className:"wpforms-field-large",name:"fullName",value:r.fullName,onChange:h,required:!0})]}),(0,t.jsxs)("div",{className:"wpforms-field-wrapper logico-form-field",children:[(0,t.jsxs)("div",{className:"logico-label-wrapper",style:{marginBottom:"12px"},children:[(0,t.jsx)("div",{className:"logico-label-placeholder",children:(0,t.jsx)("div",{className:"logico-label-placeholder-text",children:"Email"})}),(0,t.jsx)("label",{className:"wpforms-field-label",htmlFor:"footer-field-email",children:"Email"})]}),(0,t.jsx)("input",{type:"email",id:"footer-field-email",className:"wpforms-field-large",name:"email",value:r.email,onChange:h,required:!0})]}),(0,t.jsxs)("div",{className:"wpforms-field-wrapper logico-form-field",children:[(0,t.jsxs)("div",{className:"logico-label-wrapper",style:{marginBottom:"12px"},children:[(0,t.jsx)("div",{className:"logico-label-placeholder",children:(0,t.jsx)("div",{className:"logico-label-placeholder-text",children:"Subject"})}),(0,t.jsx)("label",{className:"wpforms-field-label",htmlFor:"footer-field-subject",children:"Subject"})]}),(0,t.jsx)("input",{type:"text",id:"footer-field-subject",className:"wpforms-field-large",name:"subject",value:r.subject,onChange:h,required:!0})]}),(0,t.jsxs)("div",{className:"wpforms-field-wrapper logico-form-field",children:[(0,t.jsxs)("div",{className:"logico-label-wrapper",style:{marginBottom:"12px"},children:[(0,t.jsx)("div",{className:"logico-label-placeholder",children:(0,t.jsx)("div",{className:"logico-label-placeholder-text",children:"Message"})}),(0,t.jsx)("label",{className:"wpforms-field-label",htmlFor:"footer-field-message",children:"Message"})]}),(0,t.jsx)("textarea",{id:"footer-field-message",className:"wpforms-field-large",name:"message",value:r.message,onChange:h,required:!0})]})]}),(0,t.jsxs)("div",{className:"wpforms-submit-container",children:[(0,t.jsx)("button",{type:"submit",id:"wpforms-submit-369",className:"logico-alter-button wpforms-submit",disabled:"submitting"===d,children:"submitting"===d?"Sending...":"Send a message"}),"success"===d&&(0,t.jsx)("div",{style:{color:"#4caf50",marginTop:"10px",fontSize:"14px"},children:"Message sent successfully."}),"error"===d&&(0,t.jsx)("div",{style:{color:"#f44336",marginTop:"10px",fontSize:"14px"},children:"Failed to send message. Please try again."})]})]})})})})})]})]}),(0,t.jsx)("div",{className:"elementor-element elementor-element-e183a77 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"e183a77","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-5219697 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5219697","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-e6af8aa elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"e6af8aa","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)(n.ScrollReveal,{delay:.1,duration:.8,yOffset:25,children:(0,t.jsxs)("h2",{className:"logico-title",children:["Delivered ",(0,t.jsx)("span",{style:{color:"#c01227"},children:"on time"})," with no hassle."]})})})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-ba22941 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"ba22941","data-element_type":"container","data-e-type":"container",children:(0,t.jsx)("div",{className:"elementor-element elementor-element-54629ca elementor-widget-divider--view-line elementor-widget elementor-widget-divider","data-id":"54629ca","data-element_type":"widget","data-e-type":"widget","data-widget_type":"divider.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"elementor-divider",children:(0,t.jsx)("span",{className:"elementor-divider-separator"})})})})}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-3f1ba7a e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"3f1ba7a","data-element_type":"container","data-e-type":"container",children:[(0,t.jsxs)("div",{className:"elementor-element elementor-element-64e2e81 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"64e2e81","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-b5c897d elementor-widget elementor-widget-image","data-id":"b5c897d","data-element_type":"widget","data-e-type":"widget","data-widget_type":"image.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)(l.default,{href:"/",children:(0,t.jsx)(o.default,{width:300,height:57,src:"/images/logo-slogan.png",style:{width:"280px",height:"auto"},className:"attachment-full size-full wp-image-5851",alt:"Doormile Tagline"})})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-e4e6486 elementor-shape-square elementor-grid-0 elementor-widget elementor-widget-social-icons","data-id":"e4e6486","data-element_type":"widget","data-e-type":"widget","data-widget_type":"social-icons.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("div",{className:"elementor-social-icons-wrapper elementor-grid",role:"list",style:e,children:[(0,t.jsx)("span",{className:"elementor-grid-item",role:"listitem",style:{padding:"0 15px"},children:(0,t.jsxs)("a",{className:"elementor-icon elementor-social-icon elementor-social-icon-facebook-f",href:"https://www.facebook.com",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("span",{className:"elementor-screen-only",children:"Facebook"}),(0,t.jsx)("svg",{"aria-hidden":"true",className:"e-font-icon-svg e-fab-facebook-f",viewBox:"0 0 320 512",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"})})]})}),(0,t.jsx)("span",{className:"elementor-grid-item",role:"listitem",style:{padding:"0 15px"},children:(0,t.jsxs)("a",{className:"elementor-icon elementor-social-icon elementor-social-icon-x-twitter",href:"https://x.com",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("span",{className:"elementor-screen-only",children:"X"}),(0,t.jsx)("svg",{"aria-hidden":"true",className:"e-font-icon-svg e-fab-x-twitter",viewBox:"0 0 512 512",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"})})]})}),(0,t.jsx)("span",{className:"elementor-grid-item",role:"listitem",style:{padding:"0 15px"},children:(0,t.jsxs)("a",{className:"elementor-icon elementor-social-icon elementor-social-icon-linkedin-in",href:"https://www.linkedin.com",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("span",{className:"elementor-screen-only",children:"LinkedIn"}),(0,t.jsx)("svg",{"aria-hidden":"true",className:"e-font-icon-svg e-fab-linkedin-in",viewBox:"0 0 448 512",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z"})})]})}),(0,t.jsx)("span",{className:"elementor-grid-item",role:"listitem",style:{padding:"0 15px"},children:(0,t.jsxs)("a",{className:"elementor-icon elementor-social-icon elementor-social-icon-youtube",href:"https://www.youtube.com",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("span",{className:"elementor-screen-only",children:"YouTube"}),(0,t.jsx)("svg",{"aria-hidden":"true",className:"e-font-icon-svg e-fab-youtube",viewBox:"0 0 576 512",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"})})]})})]})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-5b73dd3 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5b73dd3","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-10ead4d elementor-widget elementor-widget-logico_heading","data-id":"10ead4d","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Solutions"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-b2507df elementor-widget elementor-widget-logico_custom_navigation_menu","data-id":"b2507df","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_custom_navigation_menu.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("ul",{className:"logico-custom-menu-widget",children:[(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/miletruth",children:"MileTruth™"})}),(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/how-it-works",children:"How It Works"})}),(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/solutions",children:"Use Cases"})}),(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/contact",children:"Request Demo"})})]})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-451f15c e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"451f15c","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-0ec06ff elementor-widget elementor-widget-logico_heading","data-id":"0ec06ff","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Services"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-a219b7d elementor-widget elementor-widget-logico_custom_navigation_menu","data-id":"a219b7d","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_custom_navigation_menu.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("ul",{className:"logico-custom-menu-widget",children:[(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/about-us",children:"About Us"})}),(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/about-us#women-entrepreneurship",children:"Women entrepreneurship"})}),(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/blog",children:"Blog"})}),(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/contact",children:"Contact"})})]})})})]}),(0,t.jsxs)("div",{className:"elementor-element elementor-element-44a1f5d e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"44a1f5d","data-element_type":"container","data-e-type":"container",children:[(0,t.jsx)("div",{className:"elementor-element elementor-element-0edc8fd elementor-widget elementor-widget-logico_heading","data-id":"0edc8fd","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsx)("div",{className:"logico-title",children:"Legal"})})}),(0,t.jsx)("div",{className:"elementor-element elementor-element-189484a elementor-widget elementor-widget-logico_custom_navigation_menu","data-id":"189484a","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_custom_navigation_menu.default",children:(0,t.jsx)("div",{className:"elementor-widget-container",children:(0,t.jsxs)("ul",{className:"logico-custom-menu-widget",children:[(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/privacy-policy",children:"Privacy Policy"})}),(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/terms-of-service",children:"Terms Service"})}),(0,t.jsx)("li",{children:(0,t.jsx)(l.default,{href:"/cookie-policy",children:"Cookie Policy"})})]})})})]})]})]})})})})})}),(0,t.jsx)("div",{className:`footer-scroll-top ${s?"active":""}`,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},style:{cursor:"pointer"}}),(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:` .elementor-6585 .elementor-element.elementor-element-e6af8aa .logico-title, .elementor-6585 .elementor-element.elementor-element-3f1ba7a .logico-title, .elementor-6585 .elementor-element.elementor-element-3f1ba7a .logico-custom-menu-widget { @@ -121,7 +162,98 @@ width: 25px; height: 25px; } - `}})]})}],58234)},67989,e=>{"use strict";var t=e.i(71645),i=e.i(18566);let l="wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page",o={"/":`home-page ${l} page-id-61 elementor-page-61 is-home-page`,"/how-it-works":"wp-singular page-template-default page page-id-59 wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-page elementor-page-59","/miletruth":`${l} page-id-59 elementor-page-59`,"/solutions":`${l} page-id-59 elementor-page-59`,"/about-us":`home ${l} page-id-59 elementor-page-59`,"/blog":`${l} page-id-59 elementor-page-59`,"/contact":`${l} page-id-59 elementor-page-59`};e.s(["default",0,function(){let e=(0,i.usePathname)();return(0,t.useEffect)(()=>{document.body.className=o[e]??l},[e]),null}],67989)},92260,e=>{"use strict";var t=e.i(43476),i=e.i(82637);e.s(["default",0,function(){let{isMenuOpen:e,isSidebarOpen:l,closeAll:o}=(0,i.useHeaderUI)();return(0,t.jsx)("div",{className:`body-overlay${e||l?" active":""}`,onClick:o})}])},48064,e=>{"use strict";var t=e.i(43476),i=e.i(71645),l=e.i(18566),o=e.i(89970),n=e.i(83495);e.s(["default",0,function({children:e}){let s=(0,l.usePathname)(),a=()=>{n.ScrollTrigger.getAll().forEach(e=>{e.vars&&"block-deco"===e.vars.id&&e.kill()});let e=window.innerHeight||document.documentElement.clientHeight;document.querySelectorAll(".block-decoration").forEach(t=>{n.ScrollTrigger.create({id:"block-deco",trigger:t,start:"top 92%",onEnter:()=>{setTimeout(()=>{t.classList.add("animated")},150)},onEnterBack:()=>{setTimeout(()=>{t.classList.add("animated")},150)},onLeave:()=>{t.classList.remove("animated")},onLeaveBack:()=>{t.classList.remove("animated")}});let i=t.getBoundingClientRect();i.top0&&t.classList.add("animated")})};return(0,i.useEffect)(()=>{let e;o.default.registerPlugin(n.ScrollTrigger),o.default.defaults({ease:"power3.out",duration:.8}),n.ScrollTrigger.config({ignoreMobileResize:!0}),a();let t=()=>{a(),n.ScrollTrigger.refresh(!0)};window.addEventListener("load",t);let i=()=>{clearTimeout(e),e=setTimeout(()=>{a(),n.ScrollTrigger.refresh(!0)},200)};return window.addEventListener("resize",i),()=>{clearTimeout(e),window.removeEventListener("load",t),window.removeEventListener("resize",i),n.ScrollTrigger.getAll().forEach(e=>e.kill())}},[]),(0,i.useEffect)(()=>{let e=()=>{a(),n.ScrollTrigger.refresh(!0)};e();let t=[setTimeout(e,100),setTimeout(e,400),setTimeout(e,800),setTimeout(e,1500)];return()=>{t.forEach(clearTimeout)}},[s]),(0,t.jsx)(t.Fragment,{children:e})}])},26290,e=>{"use strict";var t=e.i(71645),i=e.i(18566),l=e.i(89970),o=e.i(83495),n="1.3.23";function s(e,t,i){return Math.max(e,Math.min(t,i))}var a=class{isRunning=!1;value=0;from=0;to=0;currentTime=0;lerp;duration;easing;onUpdate;advance(e){if(!this.isRunning)return;let t=!1;if(this.duration&&this.easing){this.currentTime+=e;let i=s(0,this.currentTime/this.duration,1),l=(t=i>=1)?1:this.easing(i);this.value=this.from+(this.to-this.from)*l}else if(this.lerp){var i,l,o,n;this.value=(i=this.value,l=this.to,o=60*this.lerp,(1-(n=1-Math.exp(-o*e)))*i+n*l),Math.round(this.value)===Math.round(this.to)&&(this.value=this.to,t=!0)}else this.value=this.to,t=!0;t&&this.stop(),this.onUpdate?.(this.value,t)}stop(){this.isRunning=!1}fromTo(e,t,{lerp:i,duration:l,easing:o,onStart:n,onUpdate:s}){this.from=this.value=e,this.to=t,this.lerp=i,this.duration=l,this.easing=o,this.currentTime=0,this.isRunning=!0,n?.(),this.onUpdate=s}},r=class{width=0;height=0;scrollHeight=0;scrollWidth=0;debouncedResize;wrapperResizeObserver;contentResizeObserver;constructor(e,t,{autoResize:i=!0,debounce:l=250}={}){this.wrapper=e,this.content=t,i&&(this.debouncedResize=function(e,t){let i;return function(...l){clearTimeout(i),i=setTimeout(()=>{i=void 0,e.apply(this,l)},t)}}(this.resize,l),this.wrapper instanceof Window?window.addEventListener("resize",this.debouncedResize):(this.wrapperResizeObserver=new ResizeObserver(this.debouncedResize),this.wrapperResizeObserver.observe(this.wrapper)),this.contentResizeObserver=new ResizeObserver(this.debouncedResize),this.contentResizeObserver.observe(this.content)),this.resize()}destroy(){this.wrapperResizeObserver?.disconnect(),this.contentResizeObserver?.disconnect(),this.wrapper===window&&this.debouncedResize&&window.removeEventListener("resize",this.debouncedResize)}resize=()=>{this.onWrapperResize(),this.onContentResize()};onWrapperResize=()=>{this.wrapper instanceof Window?(this.width=window.innerWidth,this.height=window.innerHeight):(this.width=this.wrapper.clientWidth,this.height=this.wrapper.clientHeight)};onContentResize=()=>{this.wrapper instanceof Window?(this.scrollHeight=this.content.scrollHeight,this.scrollWidth=this.content.scrollWidth):(this.scrollHeight=this.wrapper.scrollHeight,this.scrollWidth=this.wrapper.scrollWidth)};get limit(){return{x:this.scrollWidth-this.width,y:this.scrollHeight-this.height}}},c=class{events={};emit(e,...t){let i=this.events[e]||[];for(let e=0,l=i.length;e{this.events[e]=this.events[e]?.filter(e=>t!==e)}}off(e,t){this.events[e]=this.events[e]?.filter(e=>t!==e)}destroy(){this.events={}}};let d=100/6,m={passive:!1};function h(e,t){return 1===e?d:2===e?t:1}var p=class{touchStart={x:0,y:0};lastDelta={x:0,y:0};window={width:0,height:0};emitter=new c;constructor(e,t={wheelMultiplier:1,touchMultiplier:1}){this.element=e,this.options=t,window.addEventListener("resize",this.onWindowResize),this.onWindowResize(),this.element.addEventListener("wheel",this.onWheel,m),this.element.addEventListener("touchstart",this.onTouchStart,m),this.element.addEventListener("touchmove",this.onTouchMove,m),this.element.addEventListener("touchend",this.onTouchEnd,m)}on(e,t){return this.emitter.on(e,t)}destroy(){this.emitter.destroy(),window.removeEventListener("resize",this.onWindowResize),this.element.removeEventListener("wheel",this.onWheel,m),this.element.removeEventListener("touchstart",this.onTouchStart,m),this.element.removeEventListener("touchmove",this.onTouchMove,m),this.element.removeEventListener("touchend",this.onTouchEnd,m)}onTouchStart=e=>{let{clientX:t,clientY:i}=e.targetTouches?e.targetTouches[0]:e;this.touchStart.x=t,this.touchStart.y=i,this.lastDelta={x:0,y:0},this.emitter.emit("scroll",{deltaX:0,deltaY:0,event:e})};onTouchMove=e=>{let{clientX:t,clientY:i}=e.targetTouches?e.targetTouches[0]:e,l=-(t-this.touchStart.x)*this.options.touchMultiplier,o=-(i-this.touchStart.y)*this.options.touchMultiplier;this.touchStart.x=t,this.touchStart.y=i,this.lastDelta={x:l,y:o},this.emitter.emit("scroll",{deltaX:l,deltaY:o,event:e})};onTouchEnd=e=>{this.emitter.emit("scroll",{deltaX:this.lastDelta.x,deltaY:this.lastDelta.y,event:e})};onWheel=e=>{let{deltaX:t,deltaY:i,deltaMode:l}=e,o=h(l,this.window.width),n=h(l,this.window.height);t*=o,i*=n,t*=this.options.wheelMultiplier,i*=this.options.wheelMultiplier,this.emitter.emit("scroll",{deltaX:t,deltaY:i,event:e})};onWindowResize=()=>{this.window={width:window.innerWidth,height:window.innerHeight}}};let u=e=>Math.min(1,1.001-2**(-10*e));var g=class{_isScrolling=!1;_isStopped=!1;_isLocked=!1;_preventNextNativeScrollEvent=!1;_resetVelocityTimeout=null;_rafId=null;isTouching;time=0;userData={};lastVelocity=0;velocity=0;direction=0;options;targetScroll;animatedScroll;animate=new a;emitter=new c;dimensions;virtualScroll;constructor({wrapper:e=window,content:t=document.documentElement,eventsTarget:i=e,smoothWheel:l=!0,syncTouch:o=!1,syncTouchLerp:s=.075,touchInertiaExponent:a=1.7,duration:c,easing:d,lerp:m=.1,infinite:h=!1,orientation:g="vertical",gestureOrientation:f="horizontal"===g?"both":"vertical",touchMultiplier:w=1,wheelMultiplier:x=1,autoResize:v=!0,prevent:b,virtualScroll:y,overscroll:j=!0,autoRaf:N=!1,anchors:_=!1,autoToggle:k=!1,allowNestedScroll:S=!1,__experimental__naiveDimensions:T=!1,naiveDimensions:E=T,stopInertiaOnNavigate:z=!1}={}){window.lenisVersion=n,window.lenis||(window.lenis={}),window.lenis.version=n,"horizontal"===g&&(window.lenis.horizontal=!0),!0===o&&(window.lenis.touch=!0),e&&e!==document.documentElement||(e=window),"number"==typeof c&&"function"!=typeof d?d=u:"function"==typeof d&&"number"!=typeof c&&(c=1),this.options={wrapper:e,content:t,eventsTarget:i,smoothWheel:l,syncTouch:o,syncTouchLerp:s,touchInertiaExponent:a,duration:c,easing:d,lerp:m,infinite:h,gestureOrientation:f,orientation:g,touchMultiplier:w,wheelMultiplier:x,autoResize:v,prevent:b,virtualScroll:y,overscroll:j,autoRaf:N,anchors:_,autoToggle:k,allowNestedScroll:S,naiveDimensions:E,stopInertiaOnNavigate:z},this.dimensions=new r(e,t,{autoResize:v}),this.updateClassName(),this.targetScroll=this.animatedScroll=this.actualScroll,this.options.wrapper.addEventListener("scroll",this.onNativeScroll),this.options.wrapper.addEventListener("scrollend",this.onScrollEnd,{capture:!0}),(this.options.anchors||this.options.stopInertiaOnNavigate)&&this.options.wrapper.addEventListener("click",this.onClick),this.options.wrapper.addEventListener("pointerdown",this.onPointerDown),this.virtualScroll=new p(i,{touchMultiplier:w,wheelMultiplier:x}),this.virtualScroll.on("scroll",this.onVirtualScroll),this.options.autoToggle&&(this.checkOverflow(),this.rootElement.addEventListener("transitionend",this.onTransitionEnd)),this.options.autoRaf&&(this._rafId=requestAnimationFrame(this.raf))}destroy(){this.emitter.destroy(),this.options.wrapper.removeEventListener("scroll",this.onNativeScroll),this.options.wrapper.removeEventListener("scrollend",this.onScrollEnd,{capture:!0}),this.options.wrapper.removeEventListener("pointerdown",this.onPointerDown),(this.options.anchors||this.options.stopInertiaOnNavigate)&&this.options.wrapper.removeEventListener("click",this.onClick),this.virtualScroll.destroy(),this.dimensions.destroy(),this.cleanUpClassName(),this._rafId&&cancelAnimationFrame(this._rafId)}on(e,t){return this.emitter.on(e,t)}off(e,t){return this.emitter.off(e,t)}onScrollEnd=e=>{e instanceof CustomEvent||"smooth"!==this.isScrolling&&!1!==this.isScrolling||e.stopPropagation()};dispatchScrollendEvent=()=>{this.options.wrapper.dispatchEvent(new CustomEvent("scrollend",{bubbles:this.options.wrapper===window,detail:{lenisScrollEnd:!0}}))};get overflow(){let e=this.isHorizontal?"overflow-x":"overflow-y";return getComputedStyle(this.rootElement)[e]}checkOverflow(){["hidden","clip"].includes(this.overflow)?this.internalStop():this.internalStart()}onTransitionEnd=e=>{e.propertyName?.includes("overflow")&&e.target===this.rootElement&&this.checkOverflow()};setScroll(e){this.isHorizontal?this.options.wrapper.scrollTo({left:e,behavior:"instant"}):this.options.wrapper.scrollTo({top:e,behavior:"instant"})}onClick=e=>{let t=e.composedPath().filter(e=>e instanceof HTMLAnchorElement&&e.href).map(e=>new URL(e.href)),i=new URL(window.location.href);if(this.options.anchors){let e=t.find(e=>i.host===e.host&&i.pathname===e.pathname&&e.hash);if(e){let t="object"==typeof this.options.anchors&&this.options.anchors?this.options.anchors:void 0,i=`#${e.hash.split("#")[1]}`;this.scrollTo(i,t);return}}if(this.options.stopInertiaOnNavigate&&t.some(e=>i.host===e.host&&i.pathname!==e.pathname))return void this.reset()};onPointerDown=e=>{1===e.button&&this.reset()};onVirtualScroll=e=>{if("function"==typeof this.options.virtualScroll&&!1===this.options.virtualScroll(e))return;let{deltaX:t,deltaY:i,event:l}=e;if(this.emitter.emit("virtual-scroll",{deltaX:t,deltaY:i,event:l}),l.ctrlKey||l.lenisStopPropagation)return;let o=l.type.includes("touch"),n=l.type.includes("wheel");this.isTouching="touchstart"===l.type||"touchmove"===l.type;let s=0===t&&0===i;if(this.options.syncTouch&&o&&"touchstart"===l.type&&s&&!this.isStopped&&!this.isLocked)return void this.reset();let a="vertical"===this.options.gestureOrientation&&0===i||"horizontal"===this.options.gestureOrientation&&0===t;if(s||a)return;let r=l.composedPath();r=r.slice(0,r.indexOf(this.rootElement));let c=this.options.prevent,d=Math.abs(t)>=Math.abs(i)?"horizontal":"vertical";if(r.find(e=>e instanceof HTMLElement&&("function"==typeof c&&c?.(e)||e.hasAttribute?.("data-lenis-prevent")||"vertical"===d&&e.hasAttribute?.("data-lenis-prevent-vertical")||"horizontal"===d&&e.hasAttribute?.("data-lenis-prevent-horizontal")||o&&e.hasAttribute?.("data-lenis-prevent-touch")||n&&e.hasAttribute?.("data-lenis-prevent-wheel")||this.options.allowNestedScroll&&this.hasNestedScroll(e,{deltaX:t,deltaY:i}))))return;if(this.isStopped||this.isLocked){l.cancelable&&l.preventDefault();return}if(!(this.options.syncTouch&&o||this.options.smoothWheel&&n)){this.isScrolling="native",this.animate.stop(),l.lenisStopPropagation=!0;return}let m=i;"both"===this.options.gestureOrientation?m=Math.abs(i)>Math.abs(t)?i:t:"horizontal"===this.options.gestureOrientation&&(m=t),(!this.options.overscroll||this.options.infinite||this.options.wrapper!==window&&this.limit>0&&(this.animatedScroll>0&&this.animatedScroll0||this.animatedScroll===this.limit&&i<0))&&(l.lenisStopPropagation=!0),l.cancelable&&l.preventDefault();let h=o&&this.options.syncTouch,p=o&&"touchend"===l.type;p&&(m=Math.sign(m)*Math.abs(this.velocity)**this.options.touchInertiaExponent),this.scrollTo(this.targetScroll+m,{programmatic:!1,...h?{lerp:p?this.options.syncTouchLerp:1}:{lerp:this.options.lerp,duration:this.options.duration,easing:this.options.easing}})};resize(){this.dimensions.resize(),this.animatedScroll=this.targetScroll=this.actualScroll,this.emit()}emit(){this.emitter.emit("scroll",this)}onNativeScroll=()=>{if(null!==this._resetVelocityTimeout&&(clearTimeout(this._resetVelocityTimeout),this._resetVelocityTimeout=null),this._preventNextNativeScrollEvent){this._preventNextNativeScrollEvent=!1;return}if(!1===this.isScrolling||"native"===this.isScrolling){let e=this.animatedScroll;this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity,this.velocity=this.animatedScroll-e,this.direction=Math.sign(this.animatedScroll-e),this.isStopped||(this.isScrolling="native"),this.emit(),0!==this.velocity&&(this._resetVelocityTimeout=setTimeout(()=>{this.lastVelocity=this.velocity,this.velocity=0,this.isScrolling=!1,this.emit()},400))}};reset(){this.isLocked=!1,this.isScrolling=!1,this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity=0,this.animate.stop()}start(){if(this.isStopped){if(this.options.autoToggle)return void this.rootElement.style.removeProperty("overflow");this.internalStart()}}internalStart(){this.isStopped&&(this.reset(),this.isStopped=!1,this.emit())}stop(){if(!this.isStopped){if(this.options.autoToggle)return void this.rootElement.style.setProperty("overflow","clip");this.internalStop()}}internalStop(){this.isStopped||(this.reset(),this.isStopped=!0,this.emit())}raf=e=>{let t=e-(this.time||e);this.time=e,this.animate.advance(.001*t),this.options.autoRaf&&(this._rafId=requestAnimationFrame(this.raf))};scrollTo(e,{offset:t=0,immediate:i=!1,lock:l=!1,programmatic:o=!0,lerp:n=o?this.options.lerp:void 0,duration:a=o?this.options.duration:void 0,easing:r=o?this.options.easing:void 0,onStart:c,onComplete:d,force:m=!1,userData:h}={}){if((this.isStopped||this.isLocked)&&!m)return;let p=e,g=t;if("string"==typeof p&&["top","left","start","#"].includes(p))p=0;else if("string"==typeof p&&["bottom","right","end"].includes(p))p=this.limit;else{let e=null;if("string"==typeof p?(e=document.querySelector(p))||("#top"===p?p=0:console.warn("Lenis: Target not found",p)):p instanceof HTMLElement&&p?.nodeType&&(e=p),e){if(this.options.wrapper!==window){let e=this.rootElement.getBoundingClientRect();g-=this.isHorizontal?e.left:e.top}let t=e.getBoundingClientRect(),i=getComputedStyle(e),l=this.isHorizontal?Number.parseFloat(i.scrollMarginLeft):Number.parseFloat(i.scrollMarginTop),o=getComputedStyle(this.rootElement),n=this.isHorizontal?Number.parseFloat(o.scrollPaddingLeft):Number.parseFloat(o.scrollPaddingTop);p=(this.isHorizontal?t.left:t.top)+this.animatedScroll-(Number.isNaN(l)?0:l)-(Number.isNaN(n)?0:n)}}if("number"==typeof p){if(p+=g,this.options.infinite){if(o){this.targetScroll=this.animatedScroll=this.scroll;let e=p-this.animatedScroll;e>this.limit/2?p-=this.limit:e<-this.limit/2&&(p+=this.limit)}}else p=s(0,p,this.limit);if(p===this.targetScroll){c?.(this),d?.(this);return}if(this.userData=h??{},i){this.animatedScroll=this.targetScroll=p,this.setScroll(this.scroll),this.reset(),this.preventNextNativeScrollEvent(),this.emit(),d?.(this),this.userData={},requestAnimationFrame(()=>{this.dispatchScrollendEvent()});return}o||(this.targetScroll=p),"number"==typeof a&&"function"!=typeof r?r=u:"function"==typeof r&&"number"!=typeof a&&(a=1),this.animate.fromTo(this.animatedScroll,p,{duration:a,easing:r,lerp:n,onStart:()=>{l&&(this.isLocked=!0),this.isScrolling="smooth",c?.(this)},onUpdate:(e,t)=>{this.isScrolling="smooth",this.lastVelocity=this.velocity,this.velocity=e-this.animatedScroll,this.direction=Math.sign(this.velocity),this.animatedScroll=e,this.setScroll(this.scroll),o&&(this.targetScroll=e),t||this.emit(),t&&(this.reset(),this.emit(),d?.(this),this.userData={},requestAnimationFrame(()=>{this.dispatchScrollendEvent()}),this.preventNextNativeScrollEvent())}})}}preventNextNativeScrollEvent(){this._preventNextNativeScrollEvent=!0,requestAnimationFrame(()=>{this._preventNextNativeScrollEvent=!1})}hasNestedScroll(e,{deltaX:t,deltaY:i}){let l,o,n,s,a,r,c,d,m,h,p,u,g,f,w,x,v=Date.now();e._lenis||(e._lenis={});let b=e._lenis;if(v-(b.time??0)>2e3){b.time=Date.now();let t=window.getComputedStyle(e);if(b.computedStyle=t,l=["auto","overlay","scroll"].includes(t.overflowX),o=["auto","overlay","scroll"].includes(t.overflowY),a=["auto"].includes(t.overscrollBehaviorX),r=["auto"].includes(t.overscrollBehaviorY),b.hasOverflowX=l,b.hasOverflowY=o,!(l||o))return!1;c=e.scrollWidth,d=e.scrollHeight,m=e.clientWidth,h=e.clientHeight,n=c>m,s=d>h,b.isScrollableX=n,b.isScrollableY=s,b.scrollWidth=c,b.scrollHeight=d,b.clientWidth=m,b.clientHeight=h,b.hasOverscrollBehaviorX=a,b.hasOverscrollBehaviorY=r}else n=b.isScrollableX,s=b.isScrollableY,l=b.hasOverflowX,o=b.hasOverflowY,c=b.scrollWidth,d=b.scrollHeight,m=b.clientWidth,h=b.clientHeight,a=b.hasOverscrollBehaviorX,r=b.hasOverscrollBehaviorY;if(!(l&&n||o&&s))return!1;let y=Math.abs(t)>=Math.abs(i)?"horizontal":"vertical";if("horizontal"===y)p=Math.round(e.scrollLeft),u=c-m,g=t,f=l,w=n,x=a;else{if("vertical"!==y)return!1;p=Math.round(e.scrollTop),u=d-h,g=i,f=o,w=s,x=r}return!x&&(p>=u||p<=0)||(g>0?p0)&&f&&w}get rootElement(){return this.options.wrapper===window?document.documentElement:this.options.wrapper}get limit(){return this.options.naiveDimensions?this.isHorizontal?this.rootElement.scrollWidth-this.rootElement.clientWidth:this.rootElement.scrollHeight-this.rootElement.clientHeight:this.dimensions.limit[this.isHorizontal?"x":"y"]}get isHorizontal(){return"horizontal"===this.options.orientation}get actualScroll(){let e=this.options.wrapper;return this.isHorizontal?e.scrollX??e.scrollLeft:e.scrollY??e.scrollTop}get scroll(){var e;return this.options.infinite?(this.animatedScroll%(e=this.limit)+e)%e:this.animatedScroll}get progress(){return 0===this.limit?1:this.scroll/this.limit}get isScrolling(){return this._isScrolling}set isScrolling(e){this._isScrolling!==e&&(this._isScrolling=e,this.updateClassName())}get isStopped(){return this._isStopped}set isStopped(e){this._isStopped!==e&&(this._isStopped=e,this.updateClassName())}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked!==e&&(this._isLocked=e,this.updateClassName())}get isSmooth(){return"smooth"===this.isScrolling}get className(){let e="lenis";return this.options.autoToggle&&(e+=" lenis-autoToggle"),this.isStopped&&(e+=" lenis-stopped"),this.isLocked&&(e+=" lenis-locked"),this.isScrolling&&(e+=" lenis-scrolling"),"smooth"===this.isScrolling&&(e+=" lenis-smooth"),e}updateClassName(){this.cleanUpClassName(),this.className.split(" ").forEach(e=>{this.rootElement.classList.add(e)})}cleanUpClassName(){for(let e of Array.from(this.rootElement.classList))("lenis"===e||e.startsWith("lenis-"))&&this.rootElement.classList.remove(e)}};let f=[];e.s(["default",0,function(){let e=(0,i.usePathname)();return(0,t.useEffect)(()=>{let t,i=f.some(t=>e===t||e.startsWith(`${t}/`)),n=window.matchMedia("(prefers-reduced-motion: reduce)").matches,s=window.matchMedia("(hover: hover) and (pointer: fine)").matches;if(i||n||!s){if(window.location.hash){let e=()=>{try{let e=document.querySelector(window.location.hash);e&&e.scrollIntoView()}catch(e){console.warn(e)}};e(),t=setTimeout(e,100)}else window.scrollTo(0,0);return()=>{t&&clearTimeout(t)}}l.default.registerPlugin(o.ScrollTrigger);let a=new g("/miletruth"===e||e.startsWith("/miletruth/")?{lerp:.13,wheelMultiplier:1.3,touchMultiplier:1.6,orientation:"vertical",gestureOrientation:"vertical",smoothWheel:!0}:{duration:1.05,easing:e=>Math.min(1,1.001-Math.pow(2,-10*e)),orientation:"vertical",gestureOrientation:"vertical",smoothWheel:!0});if(window.location.hash){let e=()=>{try{let e=document.querySelector(window.location.hash);e&&a.scrollTo(e,{immediate:!0})}catch(e){console.warn(e)}};e(),t=setTimeout(e,100)}else a.scrollTo(0,{immediate:!0}),window.scrollTo(0,0);a.on("scroll",o.ScrollTrigger.update);let r=e=>a.raf(1e3*e);return l.default.ticker.add(r),l.default.ticker.lagSmoothing(0),o.ScrollTrigger.refresh(),()=>{t&&clearTimeout(t),l.default.ticker.remove(r),a.destroy()}},[e]),null}],26290)},8971,e=>{"use strict";var t=e.i(43476),i=e.i(71645),l=e.i(18566),o=e.i(57688);e.s(["default",0,function(){let e=(0,l.usePathname)(),[n,s]=(0,i.useState)("visible"),a=(0,i.useRef)(!0);return((0,i.useEffect)(()=>{let e,t=performance.now(),i=!1,l=()=>{i||(i=!0,e=setTimeout(()=>s("hiding"),Math.max(0,450-(performance.now()-t))))},o=setTimeout(l,2500),n=()=>l();return"complete"===document.readyState?l():window.addEventListener("load",n,{once:!0}),()=>{clearTimeout(o),clearTimeout(e),window.removeEventListener("load",n)}},[]),(0,i.useEffect)(()=>{if(a.current){a.current=!1;return}s("visible");let e=setTimeout(()=>s("hiding"),520);return()=>clearTimeout(e)},[e]),"gone"===n)?null:(0,t.jsxs)("div",{className:`dm-loader${"hiding"===n?" is-hiding":""}`,role:"status","aria-live":"polite","aria-label":"Loading",onTransitionEnd:e=>{"opacity"===e.propertyName&&"hiding"===n&&s("gone")},children:[(0,t.jsx)("div",{className:"dm-loader__pulse",children:(0,t.jsx)(o.default,{src:"/images/preloader.png",alt:"Doormile",width:200,height:38,priority:!0,className:"dm-loader__logo",style:{width:"auto",height:"auto"}})}),(0,t.jsx)("style",{children:` + + /* Compact footer link columns on phones (<=480px). The kit only sets + column --width at min-width:481px, so below that all four blocks + fall back to 100% and stack into one very tall column. Put the + logo+social full-width on top, then lay the three link groups out + in a 2-up grid (matching the tablet 47% intent) so the footer is + roughly half as tall. */ + /* Inline icon beside each contact label (Call Center / Our Location / + Email / Social network). */ + .elementor-6585 .dm-foot-label { + display: inline-flex !important; + align-items: center; + gap: 8px; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { + flex: 0 0 auto; + color: #C01227; + } + + /* ── Compact mobile contact footer (<=600px) ── + On phones the upper contact section stacked into one very tall + column with 50px margins between every block. Tighten the heading, + collapse those stack margins, and pair Email + Social side-by-side + (both are short) so the footer is far shorter without losing the + full-width address readability. */ + @media (max-width: 600px) { + /* Trim the band's oversized top/bottom padding on phones. */ + .elementor-6585 .elementor-element.elementor-element-b29b8fc > .e-con-inner { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .elementor-6585 .elementor-element.elementor-element-687d944 .logico-title { + font-size: clamp(24px, 6.6vw, 32px) !important; + line-height: 1.2 !important; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { width: 14px; height: 14px; } + /* The Call Center / Our Location group carries a 10px side padding + the Email / Social group doesn't, leaving its labels indented + 10px out of line with everything else — zero it so all four + contact blocks share the same left edge as the heading. */ + .elementor-6585 .elementor-element.elementor-element-2631b42 { + padding-left: 0 !important; + padding-right: 0 !important; + } + /* All four contact blocks stack in one left-aligned column with a + consistent gap (Social network sits below Email). */ + .elementor-6585 .elementor-element.elementor-element-2631b42, + .elementor-6585 .elementor-element.elementor-element-f5d8e63, + .elementor-6585 .elementor-element.elementor-element-645be8d, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + margin-top: 22px !important; + } + .elementor-6585 .elementor-element.elementor-element-645be8d > .e-con-inner { + flex-direction: column !important; + gap: 0 !important; + align-items: stretch !important; + } + .elementor-6585 .elementor-element.elementor-element-a96d151, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + width: 100% !important; + } + } + + @media (max-width: 480px) { + .elementor-6585 .elementor-element.elementor-element-3f1ba7a { + display: flex !important; + flex-direction: row !important; + flex-wrap: wrap !important; + gap: 36px 16px !important; + } + .elementor-6585 .elementor-element.elementor-element-64e2e81 { + flex: 0 0 100% !important; + width: 100% !important; + } + .elementor-6585 .elementor-element.elementor-element-5b73dd3, + .elementor-6585 .elementor-element.elementor-element-451f15c, + .elementor-6585 .elementor-element.elementor-element-44a1f5d { + flex: 1 1 calc(50% - 8px) !important; + width: calc(50% - 8px) !important; + min-width: 0 !important; + } + /* Allow long links (e.g. "Women entrepreneurship") to wrap inside + the narrow columns instead of overflowing. */ + .elementor-6585 .logico-custom-menu-widget li a { + white-space: normal !important; + } + /* Trim the large social-icons top gap so the brand block stays tight. */ + .elementor-6585 .elementor-element.elementor-element-e4e6486 > .elementor-widget-container { + margin-top: 24px !important; + } + } + `}})]})}],58234)},67989,e=>{"use strict";var t=e.i(71645),i=e.i(18566);let l="wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page",o={"/":`home-page ${l} page-id-61 elementor-page-61 is-home-page`,"/how-it-works":"wp-singular page-template-default page page-id-59 wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-page elementor-page-59","/miletruth":`${l} page-id-59 elementor-page-59`,"/solutions":`${l} page-id-59 elementor-page-59`,"/about-us":`home ${l} page-id-59 elementor-page-59`,"/blog":`${l} page-id-59 elementor-page-59`,"/contact":`${l} page-id-59 elementor-page-59`};e.s(["default",0,function(){let e=(0,i.usePathname)();return(0,t.useEffect)(()=>{document.body.className=o[e]??l},[e]),null}],67989)},92260,e=>{"use strict";var t=e.i(43476),i=e.i(82637);e.s(["default",0,function(){let{isMenuOpen:e,isSidebarOpen:l,closeAll:o}=(0,i.useHeaderUI)();return(0,t.jsx)("div",{className:`body-overlay${e||l?" active":""}`,onClick:o})}])},48064,e=>{"use strict";var t=e.i(43476),i=e.i(71645),l=e.i(18566),o=e.i(89970),n=e.i(83495);e.s(["default",0,function({children:e}){let s=(0,l.usePathname)(),a=()=>{n.ScrollTrigger.getAll().forEach(e=>{e.vars&&"block-deco"===e.vars.id&&e.kill()});let e=window.innerHeight||document.documentElement.clientHeight;document.querySelectorAll(".block-decoration").forEach(t=>{n.ScrollTrigger.create({id:"block-deco",trigger:t,start:"top 92%",onEnter:()=>{setTimeout(()=>{t.classList.add("animated")},150)},onEnterBack:()=>{setTimeout(()=>{t.classList.add("animated")},150)},onLeave:()=>{t.classList.remove("animated")},onLeaveBack:()=>{t.classList.remove("animated")}});let i=t.getBoundingClientRect();i.top0&&t.classList.add("animated")})};return(0,i.useEffect)(()=>{let e;o.default.registerPlugin(n.ScrollTrigger),o.default.defaults({ease:"power3.out",duration:.8}),n.ScrollTrigger.config({ignoreMobileResize:!0}),a();let t=()=>{a(),n.ScrollTrigger.refresh(!0)};window.addEventListener("load",t);let i=()=>{clearTimeout(e),e=setTimeout(()=>{a(),n.ScrollTrigger.refresh(!0)},200)};return window.addEventListener("resize",i),()=>{clearTimeout(e),window.removeEventListener("load",t),window.removeEventListener("resize",i),n.ScrollTrigger.getAll().forEach(e=>e.kill())}},[]),(0,i.useEffect)(()=>{let e=()=>{a(),n.ScrollTrigger.refresh(!0)};e();let t=[setTimeout(e,100),setTimeout(e,400),setTimeout(e,800),setTimeout(e,1500)];return()=>{t.forEach(clearTimeout)}},[s]),(0,t.jsx)(t.Fragment,{children:e})}])},26290,e=>{"use strict";var t=e.i(71645),i=e.i(18566),l=e.i(89970),o=e.i(83495),n="1.3.23";function s(e,t,i){return Math.max(e,Math.min(t,i))}var a=class{isRunning=!1;value=0;from=0;to=0;currentTime=0;lerp;duration;easing;onUpdate;advance(e){if(!this.isRunning)return;let t=!1;if(this.duration&&this.easing){this.currentTime+=e;let i=s(0,this.currentTime/this.duration,1),l=(t=i>=1)?1:this.easing(i);this.value=this.from+(this.to-this.from)*l}else if(this.lerp){var i,l,o,n;this.value=(i=this.value,l=this.to,o=60*this.lerp,(1-(n=1-Math.exp(-o*e)))*i+n*l),Math.round(this.value)===Math.round(this.to)&&(this.value=this.to,t=!0)}else this.value=this.to,t=!0;t&&this.stop(),this.onUpdate?.(this.value,t)}stop(){this.isRunning=!1}fromTo(e,t,{lerp:i,duration:l,easing:o,onStart:n,onUpdate:s}){this.from=this.value=e,this.to=t,this.lerp=i,this.duration=l,this.easing=o,this.currentTime=0,this.isRunning=!0,n?.(),this.onUpdate=s}},r=class{width=0;height=0;scrollHeight=0;scrollWidth=0;debouncedResize;wrapperResizeObserver;contentResizeObserver;constructor(e,t,{autoResize:i=!0,debounce:l=250}={}){this.wrapper=e,this.content=t,i&&(this.debouncedResize=function(e,t){let i;return function(...l){clearTimeout(i),i=setTimeout(()=>{i=void 0,e.apply(this,l)},t)}}(this.resize,l),this.wrapper instanceof Window?window.addEventListener("resize",this.debouncedResize):(this.wrapperResizeObserver=new ResizeObserver(this.debouncedResize),this.wrapperResizeObserver.observe(this.wrapper)),this.contentResizeObserver=new ResizeObserver(this.debouncedResize),this.contentResizeObserver.observe(this.content)),this.resize()}destroy(){this.wrapperResizeObserver?.disconnect(),this.contentResizeObserver?.disconnect(),this.wrapper===window&&this.debouncedResize&&window.removeEventListener("resize",this.debouncedResize)}resize=()=>{this.onWrapperResize(),this.onContentResize()};onWrapperResize=()=>{this.wrapper instanceof Window?(this.width=window.innerWidth,this.height=window.innerHeight):(this.width=this.wrapper.clientWidth,this.height=this.wrapper.clientHeight)};onContentResize=()=>{this.wrapper instanceof Window?(this.scrollHeight=this.content.scrollHeight,this.scrollWidth=this.content.scrollWidth):(this.scrollHeight=this.wrapper.scrollHeight,this.scrollWidth=this.wrapper.scrollWidth)};get limit(){return{x:this.scrollWidth-this.width,y:this.scrollHeight-this.height}}},c=class{events={};emit(e,...t){let i=this.events[e]||[];for(let e=0,l=i.length;e{this.events[e]=this.events[e]?.filter(e=>t!==e)}}off(e,t){this.events[e]=this.events[e]?.filter(e=>t!==e)}destroy(){this.events={}}};let d=100/6,m={passive:!1};function h(e,t){return 1===e?d:2===e?t:1}var p=class{touchStart={x:0,y:0};lastDelta={x:0,y:0};window={width:0,height:0};emitter=new c;constructor(e,t={wheelMultiplier:1,touchMultiplier:1}){this.element=e,this.options=t,window.addEventListener("resize",this.onWindowResize),this.onWindowResize(),this.element.addEventListener("wheel",this.onWheel,m),this.element.addEventListener("touchstart",this.onTouchStart,m),this.element.addEventListener("touchmove",this.onTouchMove,m),this.element.addEventListener("touchend",this.onTouchEnd,m)}on(e,t){return this.emitter.on(e,t)}destroy(){this.emitter.destroy(),window.removeEventListener("resize",this.onWindowResize),this.element.removeEventListener("wheel",this.onWheel,m),this.element.removeEventListener("touchstart",this.onTouchStart,m),this.element.removeEventListener("touchmove",this.onTouchMove,m),this.element.removeEventListener("touchend",this.onTouchEnd,m)}onTouchStart=e=>{let{clientX:t,clientY:i}=e.targetTouches?e.targetTouches[0]:e;this.touchStart.x=t,this.touchStart.y=i,this.lastDelta={x:0,y:0},this.emitter.emit("scroll",{deltaX:0,deltaY:0,event:e})};onTouchMove=e=>{let{clientX:t,clientY:i}=e.targetTouches?e.targetTouches[0]:e,l=-(t-this.touchStart.x)*this.options.touchMultiplier,o=-(i-this.touchStart.y)*this.options.touchMultiplier;this.touchStart.x=t,this.touchStart.y=i,this.lastDelta={x:l,y:o},this.emitter.emit("scroll",{deltaX:l,deltaY:o,event:e})};onTouchEnd=e=>{this.emitter.emit("scroll",{deltaX:this.lastDelta.x,deltaY:this.lastDelta.y,event:e})};onWheel=e=>{let{deltaX:t,deltaY:i,deltaMode:l}=e,o=h(l,this.window.width),n=h(l,this.window.height);t*=o,i*=n,t*=this.options.wheelMultiplier,i*=this.options.wheelMultiplier,this.emitter.emit("scroll",{deltaX:t,deltaY:i,event:e})};onWindowResize=()=>{this.window={width:window.innerWidth,height:window.innerHeight}}};let u=e=>Math.min(1,1.001-2**(-10*e));var g=class{_isScrolling=!1;_isStopped=!1;_isLocked=!1;_preventNextNativeScrollEvent=!1;_resetVelocityTimeout=null;_rafId=null;isTouching;time=0;userData={};lastVelocity=0;velocity=0;direction=0;options;targetScroll;animatedScroll;animate=new a;emitter=new c;dimensions;virtualScroll;constructor({wrapper:e=window,content:t=document.documentElement,eventsTarget:i=e,smoothWheel:l=!0,syncTouch:o=!1,syncTouchLerp:s=.075,touchInertiaExponent:a=1.7,duration:c,easing:d,lerp:m=.1,infinite:h=!1,orientation:g="vertical",gestureOrientation:f="horizontal"===g?"both":"vertical",touchMultiplier:w=1,wheelMultiplier:x=1,autoResize:v=!0,prevent:b,virtualScroll:y,overscroll:j=!0,autoRaf:N=!1,anchors:k=!1,autoToggle:_=!1,allowNestedScroll:S=!1,__experimental__naiveDimensions:T=!1,naiveDimensions:E=T,stopInertiaOnNavigate:z=!1}={}){window.lenisVersion=n,window.lenis||(window.lenis={}),window.lenis.version=n,"horizontal"===g&&(window.lenis.horizontal=!0),!0===o&&(window.lenis.touch=!0),e&&e!==document.documentElement||(e=window),"number"==typeof c&&"function"!=typeof d?d=u:"function"==typeof d&&"number"!=typeof c&&(c=1),this.options={wrapper:e,content:t,eventsTarget:i,smoothWheel:l,syncTouch:o,syncTouchLerp:s,touchInertiaExponent:a,duration:c,easing:d,lerp:m,infinite:h,gestureOrientation:f,orientation:g,touchMultiplier:w,wheelMultiplier:x,autoResize:v,prevent:b,virtualScroll:y,overscroll:j,autoRaf:N,anchors:k,autoToggle:_,allowNestedScroll:S,naiveDimensions:E,stopInertiaOnNavigate:z},this.dimensions=new r(e,t,{autoResize:v}),this.updateClassName(),this.targetScroll=this.animatedScroll=this.actualScroll,this.options.wrapper.addEventListener("scroll",this.onNativeScroll),this.options.wrapper.addEventListener("scrollend",this.onScrollEnd,{capture:!0}),(this.options.anchors||this.options.stopInertiaOnNavigate)&&this.options.wrapper.addEventListener("click",this.onClick),this.options.wrapper.addEventListener("pointerdown",this.onPointerDown),this.virtualScroll=new p(i,{touchMultiplier:w,wheelMultiplier:x}),this.virtualScroll.on("scroll",this.onVirtualScroll),this.options.autoToggle&&(this.checkOverflow(),this.rootElement.addEventListener("transitionend",this.onTransitionEnd)),this.options.autoRaf&&(this._rafId=requestAnimationFrame(this.raf))}destroy(){this.emitter.destroy(),this.options.wrapper.removeEventListener("scroll",this.onNativeScroll),this.options.wrapper.removeEventListener("scrollend",this.onScrollEnd,{capture:!0}),this.options.wrapper.removeEventListener("pointerdown",this.onPointerDown),(this.options.anchors||this.options.stopInertiaOnNavigate)&&this.options.wrapper.removeEventListener("click",this.onClick),this.virtualScroll.destroy(),this.dimensions.destroy(),this.cleanUpClassName(),this._rafId&&cancelAnimationFrame(this._rafId)}on(e,t){return this.emitter.on(e,t)}off(e,t){return this.emitter.off(e,t)}onScrollEnd=e=>{e instanceof CustomEvent||"smooth"!==this.isScrolling&&!1!==this.isScrolling||e.stopPropagation()};dispatchScrollendEvent=()=>{this.options.wrapper.dispatchEvent(new CustomEvent("scrollend",{bubbles:this.options.wrapper===window,detail:{lenisScrollEnd:!0}}))};get overflow(){let e=this.isHorizontal?"overflow-x":"overflow-y";return getComputedStyle(this.rootElement)[e]}checkOverflow(){["hidden","clip"].includes(this.overflow)?this.internalStop():this.internalStart()}onTransitionEnd=e=>{e.propertyName?.includes("overflow")&&e.target===this.rootElement&&this.checkOverflow()};setScroll(e){this.isHorizontal?this.options.wrapper.scrollTo({left:e,behavior:"instant"}):this.options.wrapper.scrollTo({top:e,behavior:"instant"})}onClick=e=>{let t=e.composedPath().filter(e=>e instanceof HTMLAnchorElement&&e.href).map(e=>new URL(e.href)),i=new URL(window.location.href);if(this.options.anchors){let e=t.find(e=>i.host===e.host&&i.pathname===e.pathname&&e.hash);if(e){let t="object"==typeof this.options.anchors&&this.options.anchors?this.options.anchors:void 0,i=`#${e.hash.split("#")[1]}`;this.scrollTo(i,t);return}}if(this.options.stopInertiaOnNavigate&&t.some(e=>i.host===e.host&&i.pathname!==e.pathname))return void this.reset()};onPointerDown=e=>{1===e.button&&this.reset()};onVirtualScroll=e=>{if("function"==typeof this.options.virtualScroll&&!1===this.options.virtualScroll(e))return;let{deltaX:t,deltaY:i,event:l}=e;if(this.emitter.emit("virtual-scroll",{deltaX:t,deltaY:i,event:l}),l.ctrlKey||l.lenisStopPropagation)return;let o=l.type.includes("touch"),n=l.type.includes("wheel");this.isTouching="touchstart"===l.type||"touchmove"===l.type;let s=0===t&&0===i;if(this.options.syncTouch&&o&&"touchstart"===l.type&&s&&!this.isStopped&&!this.isLocked)return void this.reset();let a="vertical"===this.options.gestureOrientation&&0===i||"horizontal"===this.options.gestureOrientation&&0===t;if(s||a)return;let r=l.composedPath();r=r.slice(0,r.indexOf(this.rootElement));let c=this.options.prevent,d=Math.abs(t)>=Math.abs(i)?"horizontal":"vertical";if(r.find(e=>e instanceof HTMLElement&&("function"==typeof c&&c?.(e)||e.hasAttribute?.("data-lenis-prevent")||"vertical"===d&&e.hasAttribute?.("data-lenis-prevent-vertical")||"horizontal"===d&&e.hasAttribute?.("data-lenis-prevent-horizontal")||o&&e.hasAttribute?.("data-lenis-prevent-touch")||n&&e.hasAttribute?.("data-lenis-prevent-wheel")||this.options.allowNestedScroll&&this.hasNestedScroll(e,{deltaX:t,deltaY:i}))))return;if(this.isStopped||this.isLocked){l.cancelable&&l.preventDefault();return}if(!(this.options.syncTouch&&o||this.options.smoothWheel&&n)){this.isScrolling="native",this.animate.stop(),l.lenisStopPropagation=!0;return}let m=i;"both"===this.options.gestureOrientation?m=Math.abs(i)>Math.abs(t)?i:t:"horizontal"===this.options.gestureOrientation&&(m=t),(!this.options.overscroll||this.options.infinite||this.options.wrapper!==window&&this.limit>0&&(this.animatedScroll>0&&this.animatedScroll0||this.animatedScroll===this.limit&&i<0))&&(l.lenisStopPropagation=!0),l.cancelable&&l.preventDefault();let h=o&&this.options.syncTouch,p=o&&"touchend"===l.type;p&&(m=Math.sign(m)*Math.abs(this.velocity)**this.options.touchInertiaExponent),this.scrollTo(this.targetScroll+m,{programmatic:!1,...h?{lerp:p?this.options.syncTouchLerp:1}:{lerp:this.options.lerp,duration:this.options.duration,easing:this.options.easing}})};resize(){this.dimensions.resize(),this.animatedScroll=this.targetScroll=this.actualScroll,this.emit()}emit(){this.emitter.emit("scroll",this)}onNativeScroll=()=>{if(null!==this._resetVelocityTimeout&&(clearTimeout(this._resetVelocityTimeout),this._resetVelocityTimeout=null),this._preventNextNativeScrollEvent){this._preventNextNativeScrollEvent=!1;return}if(!1===this.isScrolling||"native"===this.isScrolling){let e=this.animatedScroll;this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity,this.velocity=this.animatedScroll-e,this.direction=Math.sign(this.animatedScroll-e),this.isStopped||(this.isScrolling="native"),this.emit(),0!==this.velocity&&(this._resetVelocityTimeout=setTimeout(()=>{this.lastVelocity=this.velocity,this.velocity=0,this.isScrolling=!1,this.emit()},400))}};reset(){this.isLocked=!1,this.isScrolling=!1,this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity=0,this.animate.stop()}start(){if(this.isStopped){if(this.options.autoToggle)return void this.rootElement.style.removeProperty("overflow");this.internalStart()}}internalStart(){this.isStopped&&(this.reset(),this.isStopped=!1,this.emit())}stop(){if(!this.isStopped){if(this.options.autoToggle)return void this.rootElement.style.setProperty("overflow","clip");this.internalStop()}}internalStop(){this.isStopped||(this.reset(),this.isStopped=!0,this.emit())}raf=e=>{let t=e-(this.time||e);this.time=e,this.animate.advance(.001*t),this.options.autoRaf&&(this._rafId=requestAnimationFrame(this.raf))};scrollTo(e,{offset:t=0,immediate:i=!1,lock:l=!1,programmatic:o=!0,lerp:n=o?this.options.lerp:void 0,duration:a=o?this.options.duration:void 0,easing:r=o?this.options.easing:void 0,onStart:c,onComplete:d,force:m=!1,userData:h}={}){if((this.isStopped||this.isLocked)&&!m)return;let p=e,g=t;if("string"==typeof p&&["top","left","start","#"].includes(p))p=0;else if("string"==typeof p&&["bottom","right","end"].includes(p))p=this.limit;else{let e=null;if("string"==typeof p?(e=document.querySelector(p))||("#top"===p?p=0:console.warn("Lenis: Target not found",p)):p instanceof HTMLElement&&p?.nodeType&&(e=p),e){if(this.options.wrapper!==window){let e=this.rootElement.getBoundingClientRect();g-=this.isHorizontal?e.left:e.top}let t=e.getBoundingClientRect(),i=getComputedStyle(e),l=this.isHorizontal?Number.parseFloat(i.scrollMarginLeft):Number.parseFloat(i.scrollMarginTop),o=getComputedStyle(this.rootElement),n=this.isHorizontal?Number.parseFloat(o.scrollPaddingLeft):Number.parseFloat(o.scrollPaddingTop);p=(this.isHorizontal?t.left:t.top)+this.animatedScroll-(Number.isNaN(l)?0:l)-(Number.isNaN(n)?0:n)}}if("number"==typeof p){if(p+=g,this.options.infinite){if(o){this.targetScroll=this.animatedScroll=this.scroll;let e=p-this.animatedScroll;e>this.limit/2?p-=this.limit:e<-this.limit/2&&(p+=this.limit)}}else p=s(0,p,this.limit);if(p===this.targetScroll){c?.(this),d?.(this);return}if(this.userData=h??{},i){this.animatedScroll=this.targetScroll=p,this.setScroll(this.scroll),this.reset(),this.preventNextNativeScrollEvent(),this.emit(),d?.(this),this.userData={},requestAnimationFrame(()=>{this.dispatchScrollendEvent()});return}o||(this.targetScroll=p),"number"==typeof a&&"function"!=typeof r?r=u:"function"==typeof r&&"number"!=typeof a&&(a=1),this.animate.fromTo(this.animatedScroll,p,{duration:a,easing:r,lerp:n,onStart:()=>{l&&(this.isLocked=!0),this.isScrolling="smooth",c?.(this)},onUpdate:(e,t)=>{this.isScrolling="smooth",this.lastVelocity=this.velocity,this.velocity=e-this.animatedScroll,this.direction=Math.sign(this.velocity),this.animatedScroll=e,this.setScroll(this.scroll),o&&(this.targetScroll=e),t||this.emit(),t&&(this.reset(),this.emit(),d?.(this),this.userData={},requestAnimationFrame(()=>{this.dispatchScrollendEvent()}),this.preventNextNativeScrollEvent())}})}}preventNextNativeScrollEvent(){this._preventNextNativeScrollEvent=!0,requestAnimationFrame(()=>{this._preventNextNativeScrollEvent=!1})}hasNestedScroll(e,{deltaX:t,deltaY:i}){let l,o,n,s,a,r,c,d,m,h,p,u,g,f,w,x,v=Date.now();e._lenis||(e._lenis={});let b=e._lenis;if(v-(b.time??0)>2e3){b.time=Date.now();let t=window.getComputedStyle(e);if(b.computedStyle=t,l=["auto","overlay","scroll"].includes(t.overflowX),o=["auto","overlay","scroll"].includes(t.overflowY),a=["auto"].includes(t.overscrollBehaviorX),r=["auto"].includes(t.overscrollBehaviorY),b.hasOverflowX=l,b.hasOverflowY=o,!(l||o))return!1;c=e.scrollWidth,d=e.scrollHeight,m=e.clientWidth,h=e.clientHeight,n=c>m,s=d>h,b.isScrollableX=n,b.isScrollableY=s,b.scrollWidth=c,b.scrollHeight=d,b.clientWidth=m,b.clientHeight=h,b.hasOverscrollBehaviorX=a,b.hasOverscrollBehaviorY=r}else n=b.isScrollableX,s=b.isScrollableY,l=b.hasOverflowX,o=b.hasOverflowY,c=b.scrollWidth,d=b.scrollHeight,m=b.clientWidth,h=b.clientHeight,a=b.hasOverscrollBehaviorX,r=b.hasOverscrollBehaviorY;if(!(l&&n||o&&s))return!1;let y=Math.abs(t)>=Math.abs(i)?"horizontal":"vertical";if("horizontal"===y)p=Math.round(e.scrollLeft),u=c-m,g=t,f=l,w=n,x=a;else{if("vertical"!==y)return!1;p=Math.round(e.scrollTop),u=d-h,g=i,f=o,w=s,x=r}return!x&&(p>=u||p<=0)||(g>0?p0)&&f&&w}get rootElement(){return this.options.wrapper===window?document.documentElement:this.options.wrapper}get limit(){return this.options.naiveDimensions?this.isHorizontal?this.rootElement.scrollWidth-this.rootElement.clientWidth:this.rootElement.scrollHeight-this.rootElement.clientHeight:this.dimensions.limit[this.isHorizontal?"x":"y"]}get isHorizontal(){return"horizontal"===this.options.orientation}get actualScroll(){let e=this.options.wrapper;return this.isHorizontal?e.scrollX??e.scrollLeft:e.scrollY??e.scrollTop}get scroll(){var e;return this.options.infinite?(this.animatedScroll%(e=this.limit)+e)%e:this.animatedScroll}get progress(){return 0===this.limit?1:this.scroll/this.limit}get isScrolling(){return this._isScrolling}set isScrolling(e){this._isScrolling!==e&&(this._isScrolling=e,this.updateClassName())}get isStopped(){return this._isStopped}set isStopped(e){this._isStopped!==e&&(this._isStopped=e,this.updateClassName())}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked!==e&&(this._isLocked=e,this.updateClassName())}get isSmooth(){return"smooth"===this.isScrolling}get className(){let e="lenis";return this.options.autoToggle&&(e+=" lenis-autoToggle"),this.isStopped&&(e+=" lenis-stopped"),this.isLocked&&(e+=" lenis-locked"),this.isScrolling&&(e+=" lenis-scrolling"),"smooth"===this.isScrolling&&(e+=" lenis-smooth"),e}updateClassName(){this.cleanUpClassName(),this.className.split(" ").forEach(e=>{this.rootElement.classList.add(e)})}cleanUpClassName(){for(let e of Array.from(this.rootElement.classList))("lenis"===e||e.startsWith("lenis-"))&&this.rootElement.classList.remove(e)}};let f=[];e.s(["default",0,function(){let e=(0,i.usePathname)();return(0,t.useEffect)(()=>{let t,i=f.some(t=>e===t||e.startsWith(`${t}/`)),n=window.matchMedia("(prefers-reduced-motion: reduce)").matches,s=window.matchMedia("(hover: hover) and (pointer: fine)").matches;if(i||n||!s){if(window.location.hash){let e=()=>{try{let e=document.querySelector(window.location.hash);e&&e.scrollIntoView()}catch(e){console.warn(e)}};e(),t=setTimeout(e,100)}else window.scrollTo(0,0);return()=>{t&&clearTimeout(t)}}l.default.registerPlugin(o.ScrollTrigger);let a=new g("/miletruth"===e||e.startsWith("/miletruth/")?{lerp:.13,wheelMultiplier:1.3,touchMultiplier:1.6,orientation:"vertical",gestureOrientation:"vertical",smoothWheel:!0}:{duration:1.05,easing:e=>Math.min(1,1.001-Math.pow(2,-10*e)),orientation:"vertical",gestureOrientation:"vertical",smoothWheel:!0});if(window.location.hash){let e=()=>{try{let e=document.querySelector(window.location.hash);e&&a.scrollTo(e,{immediate:!0})}catch(e){console.warn(e)}};e(),t=setTimeout(e,100)}else a.scrollTo(0,{immediate:!0}),window.scrollTo(0,0);a.on("scroll",o.ScrollTrigger.update);let r=e=>a.raf(1e3*e);return l.default.ticker.add(r),l.default.ticker.lagSmoothing(0),o.ScrollTrigger.refresh(),()=>{t&&clearTimeout(t),l.default.ticker.remove(r),a.destroy()}},[e]),null}],26290)},8971,e=>{"use strict";var t=e.i(43476),i=e.i(71645),l=e.i(18566),o=e.i(57688);e.s(["default",0,function(){let e=(0,l.usePathname)(),[n,s]=(0,i.useState)("visible"),a=(0,i.useRef)(!0);return((0,i.useEffect)(()=>{let e,t=performance.now(),i=!1,l=()=>{i||(i=!0,e=setTimeout(()=>s("hiding"),Math.max(0,450-(performance.now()-t))))},o=setTimeout(l,2500),n=()=>l();return"complete"===document.readyState?l():window.addEventListener("load",n,{once:!0}),()=>{clearTimeout(o),clearTimeout(e),window.removeEventListener("load",n)}},[]),(0,i.useEffect)(()=>{if(a.current){a.current=!1;return}s("visible");let e=setTimeout(()=>s("hiding"),520);return()=>clearTimeout(e)},[e]),"gone"===n)?null:(0,t.jsxs)("div",{className:`dm-loader${"hiding"===n?" is-hiding":""}`,role:"status","aria-live":"polite","aria-label":"Loading",onTransitionEnd:e=>{"opacity"===e.propertyName&&"hiding"===n&&s("gone")},children:[(0,t.jsx)("div",{className:"dm-loader__pulse",children:(0,t.jsx)(o.default,{src:"/images/preloader.png",alt:"Doormile",width:325,height:239,priority:!0,className:"dm-loader__logo"})}),(0,t.jsx)("style",{children:` .dm-loader { position: fixed; inset: 0; @@ -134,8 +266,8 @@ will-change: opacity; } .dm-loader.is-hiding { opacity: 0; pointer-events: none; } - .dm-loader__pulse { animation: dmLoaderPulse 1.5s linear infinite; } - .dm-loader__logo { width: clamp(140px, 18vw, 200px); height: auto; } + .dm-loader__pulse { animation: dmLoaderPulse 1.5s linear infinite; display: grid; place-items: center; } + .dm-loader__logo { display: block; margin: 0 auto; width: clamp(120px, 32vw, 180px); height: auto; } @keyframes dmLoaderPulse { 50% { transform: scale(0.85); } 100% { transform: scale(1); } diff --git a/build/_next/static/chunks/17n7rg0fwvf9d.js b/build/_next/static/chunks/17n7rg0fwvf9d.js deleted file mode 100644 index 0fc15f8..0000000 --- a/build/_next/static/chunks/17n7rg0fwvf9d.js +++ /dev/null @@ -1,9 +0,0 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,67585,(t,e,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"BailoutToCSR",{enumerable:!0,get:function(){return s}});let n=t.r(32061);function s({reason:t,children:e}){if("u"{"use strict";function n(t){return t.split("/").map(t=>encodeURIComponent(t)).join("/")}Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"encodeURIPath",{enumerable:!0,get:function(){return n}})},52157,(t,e,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"PreloadChunks",{enumerable:!0,get:function(){return l}});let n=t.r(43476),s=t.r(74080),r=t.r(63599),o=t.r(9885),a=t.r(43369);function l({moduleIds:t}){if("u">typeof window)return null;let e=r.workAsyncStorage.getStore();if(void 0===e)return null;let i=[];if(e.reactLoadableManifest&&t){let n=e.reactLoadableManifest;for(let e of t){if(!n[e])continue;let t=n[e].files;i.push(...t)}}if(0===i.length)return null;let h=(0,a.getAssetTokenQuery)();return(0,n.jsx)(n.Fragment,{children:i.map(t=>{let i=`${e.assetPrefix}/_next/${(0,o.encodeURIPath)(t)}${h}`;return t.endsWith(".css")?(0,n.jsx)("link",{precedence:"dynamic",href:i,rel:"stylesheet",as:"style",nonce:e.nonce},t):((0,s.preload)(i,{as:"script",fetchPriority:"low",nonce:e.nonce}),null)})})}},69093,(t,e,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"default",{enumerable:!0,get:function(){return h}});let n=t.r(43476),s=t.r(71645),r=t.r(67585),o=t.r(52157);function a(t){return{default:t&&"default"in t?t.default:t}}let l={loader:()=>Promise.resolve(a(()=>null)),loading:null,ssr:!0},h=function(t){let e={...l,...t},i=(0,s.lazy)(()=>e.loader().then(a)),h=e.loading;function u(t){let a=h?(0,n.jsx)(h,{isLoading:!0,pastDelay:!0,error:null}):null,l=!e.ssr||!!e.loading,u=l?s.Suspense:s.Fragment,d=e.ssr?(0,n.jsxs)(n.Fragment,{children:["u"{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"default",{enumerable:!0,get:function(){return s}});let n=t.r(55682)._(t.r(69093));function s(t,e){let i={};"function"==typeof t&&(i.loader=t);let s={...i,...e};return(0,n.default)({...s,modules:s.loadableGenerated?.modules})}("function"==typeof i.default||"object"==typeof i.default&&null!==i.default)&&void 0===i.default.__esModule&&(Object.defineProperty(i.default,"__esModule",{value:!0}),Object.assign(i.default,i),e.exports=i.default)},46932,88653,87652,95420,t=>{"use strict";let e,i,n,s=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],r=new Set([...s,"pathRotation"]),o=(t,e,i)=>i>e?e:i"number"==typeof t,parse:parseFloat,transform:t=>t},l={...a,transform:t=>o(0,1,t)},h={...a,default:1},u=t=>Math.round(1e5*t)/1e5,d=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu,c=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,p=(t,e)=>i=>!!("string"==typeof i&&c.test(i)&&i.startsWith(t)||e&&null!=i&&Object.prototype.hasOwnProperty.call(i,e)),m=(t,e,i)=>n=>{if("string"!=typeof n)return n;let[s,r,o,a]=n.match(d);return{[t]:parseFloat(s),[e]:parseFloat(r),[i]:parseFloat(o),alpha:void 0!==a?parseFloat(a):1}},f={...a,transform:t=>Math.round(o(0,255,t))},y={test:p("rgb","red"),parse:m("red","green","blue"),transform:({red:t,green:e,blue:i,alpha:n=1})=>"rgba("+f.transform(t)+", "+f.transform(e)+", "+f.transform(i)+", "+u(l.transform(n))+")"},g={test:p("#"),parse:function(t){let e="",i="",n="",s="";return t.length>5?(e=t.substring(1,3),i=t.substring(3,5),n=t.substring(5,7),s=t.substring(7,9)):(e=t.substring(1,2),i=t.substring(2,3),n=t.substring(3,4),s=t.substring(4,5),e+=e,i+=i,n+=n,s+=s),{red:parseInt(e,16),green:parseInt(i,16),blue:parseInt(n,16),alpha:s?parseInt(s,16)/255:1}},transform:y.transform},v=t=>({test:e=>"string"==typeof e&&e.endsWith(t)&&1===e.split(" ").length,parse:parseFloat,transform:e=>`${e}${t}`}),x=v("deg"),w=v("%"),b=v("px"),T=v("vh"),P=v("vw"),S={...w,parse:t=>w.parse(t)/100,transform:t=>w.transform(100*t)},A={test:p("hsl","hue"),parse:m("hue","saturation","lightness"),transform:({hue:t,saturation:e,lightness:i,alpha:n=1})=>"hsla("+Math.round(t)+", "+w.transform(u(e))+", "+w.transform(u(i))+", "+u(l.transform(n))+")"},E={test:t=>y.test(t)||g.test(t)||A.test(t),parse:t=>y.test(t)?y.parse(t):A.test(t)?A.parse(t):g.parse(t),transform:t=>"string"==typeof t?t:t.hasOwnProperty("red")?y.transform(t):A.transform(t),getAnimatableNone:t=>{let e=E.parse(t);return e.alpha=0,E.transform(e)}},M=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu,C="number",V="color",k=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function R(t){let e=t.toString(),i=[],n={color:[],number:[],var:[]},s=[],r=0,o=e.replace(k,t=>(E.test(t)?(n.color.push(r),s.push(V),i.push(E.parse(t))):t.startsWith("var(")?(n.var.push(r),s.push("var"),i.push(t)):(n.number.push(r),s.push(C),i.push(parseFloat(t))),++r,"${}")).split("${}");return{values:i,split:o,indexes:n,types:s}}function D({split:t,types:e}){let i=t.length;return n=>{let s="";for(let r=0;r0},parse:function(t){return R(t).values},createTransformer:function(t){return D(R(t))},getAnimatableNone:function(t){let e=R(t);return D(e)(e.values.map((t,i)=>((t,e)=>"number"==typeof t?e?.trim().endsWith("/")?t:0:"number"==typeof t?0:E.test(t)?E.getAnimatableNone(t):t)(t,e.split[i])))}},j=new Set(["brightness","contrast","saturate","opacity"]);function B(t){let[e,i]=t.slice(0,-1).split("(");if("drop-shadow"===e)return t;let[n]=i.match(d)||[];if(!n)return t;let s=i.replace(n,""),r=+!!j.has(e);return n!==i&&(r*=100),e+"("+r+s+")"}let F=/\b([a-z-]*)\(.*?\)/gu,O={...L,getAnimatableNone:t=>{let e=t.match(F);return e?e.map(B).join(" "):t}},I={...L,getAnimatableNone:t=>{let e=L.parse(t);return L.createTransformer(t)(e.map(t=>"number"==typeof t?0:"object"==typeof t?{...t,alpha:1}:t))}},U={...a,transform:Math.round},$={borderWidth:b,borderTopWidth:b,borderRightWidth:b,borderBottomWidth:b,borderLeftWidth:b,borderRadius:b,borderTopLeftRadius:b,borderTopRightRadius:b,borderBottomRightRadius:b,borderBottomLeftRadius:b,width:b,maxWidth:b,height:b,maxHeight:b,top:b,right:b,bottom:b,left:b,inset:b,insetBlock:b,insetBlockStart:b,insetBlockEnd:b,insetInline:b,insetInlineStart:b,insetInlineEnd:b,padding:b,paddingTop:b,paddingRight:b,paddingBottom:b,paddingLeft:b,paddingBlock:b,paddingBlockStart:b,paddingBlockEnd:b,paddingInline:b,paddingInlineStart:b,paddingInlineEnd:b,margin:b,marginTop:b,marginRight:b,marginBottom:b,marginLeft:b,marginBlock:b,marginBlockStart:b,marginBlockEnd:b,marginInline:b,marginInlineStart:b,marginInlineEnd:b,fontSize:b,backgroundPositionX:b,backgroundPositionY:b,rotate:x,pathRotation:x,rotateX:x,rotateY:x,rotateZ:x,scale:h,scaleX:h,scaleY:h,scaleZ:h,skew:x,skewX:x,skewY:x,distance:b,translateX:b,translateY:b,translateZ:b,x:b,y:b,z:b,perspective:b,transformPerspective:b,opacity:l,originX:S,originY:S,originZ:b,zIndex:U,fillOpacity:l,strokeOpacity:l,numOctaves:U},W={...$,color:E,backgroundColor:E,outlineColor:E,fill:E,stroke:E,borderColor:E,borderTopColor:E,borderRightColor:E,borderBottomColor:E,borderLeftColor:E,filter:O,WebkitFilter:O,mask:I,WebkitMask:I},N=t=>W[t],z=()=>({translate:0,scale:1,origin:0,originPoint:0}),Y=()=>({x:z(),y:z()}),X=()=>({min:0,max:0}),H=()=>({x:X(),y:X()}),_=t=>!!(t&&t.getVelocity),K=new Set(["width","height","top","left","right","bottom",...s]),G=t=>e=>e.test(t),q=[a,b,w,x,P,T,{test:t=>"auto"===t,parse:t=>t}],Z=t=>q.find(G(t));var J,Q=t.i(47167);let tt=()=>{},te=()=>{};Q.default;let ti=t=>e=>"string"==typeof e&&e.startsWith(t),tn=ti("--"),ts=ti("var(--"),tr=t=>!!ts(t)&&to.test(t.split("/*")[0].trim()),to=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function ta(t){return"string"==typeof t&&t.split("/*")[0].includes("var(--")}let tl=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u,th=t=>180*t/Math.PI,tu=t=>tc(th(Math.atan2(t[1],t[0]))),td={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:t=>(Math.abs(t[0])+Math.abs(t[3]))/2,rotate:tu,rotateZ:tu,skewX:t=>th(Math.atan(t[1])),skewY:t=>th(Math.atan(t[2])),skew:t=>(Math.abs(t[1])+Math.abs(t[2]))/2},tc=t=>((t%=360)<0&&(t+=360),t),tp=t=>Math.sqrt(t[0]*t[0]+t[1]*t[1]),tm=t=>Math.sqrt(t[4]*t[4]+t[5]*t[5]),tf={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:tp,scaleY:tm,scale:t=>(tp(t)+tm(t))/2,rotateX:t=>tc(th(Math.atan2(t[6],t[5]))),rotateY:t=>tc(th(Math.atan2(-t[2],t[0]))),rotateZ:tu,rotate:tu,skewX:t=>th(Math.atan(t[4])),skewY:t=>th(Math.atan(t[1])),skew:t=>(Math.abs(t[1])+Math.abs(t[4]))/2};function ty(t){return+!!t.includes("scale")}function tg(t,e){let i,n;if(!t||"none"===t)return ty(e);let s=t.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);if(s)i=tf,n=s;else{let e=t.match(/^matrix\(([-\d.e\s,]+)\)$/u);i=td,n=e}if(!n)return ty(e);let r=i[e],o=n[1].split(",").map(tv);return"function"==typeof r?r(o):o[r]}function tv(t){return parseFloat(t.trim())}let tx=t=>t===a||t===b,tw=new Set(["x","y","z"]),tb=s.filter(t=>!tw.has(t)),tT={width:({x:t},{paddingLeft:e="0",paddingRight:i="0",boxSizing:n})=>{let s=t.max-t.min;return"border-box"===n?s:s-parseFloat(e)-parseFloat(i)},height:({y:t},{paddingTop:e="0",paddingBottom:i="0",boxSizing:n})=>{let s=t.max-t.min;return"border-box"===n?s:s-parseFloat(e)-parseFloat(i)},top:(t,{top:e})=>parseFloat(e),left:(t,{left:e})=>parseFloat(e),bottom:({y:t},{top:e})=>parseFloat(e)+(t.max-t.min),right:({x:t},{left:e})=>parseFloat(e)+(t.max-t.min),x:(t,{transform:e})=>tg(e,"x"),y:(t,{transform:e})=>tg(e,"y")};tT.translateX=tT.x,tT.translateY=tT.y;let tP=t=>t,tS={},tA=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function tE(t,e){let i=!1,n=!0,s={delta:0,timestamp:0,isProcessing:!1},r=()=>i=!0,o=tA.reduce((t,i)=>(t[i]=function(t,e){let i=new Set,n=new Set,s=!1,r=!1,o=new WeakSet,a={delta:0,timestamp:0,isProcessing:!1},l=0;function h(e){o.has(e)&&(u.schedule(e),t()),l++,e(a)}let u={schedule:(t,e=!1,r=!1)=>{let a=r&&s?i:n;return e&&o.add(t),a.add(t),t},cancel:t=>{n.delete(t),o.delete(t)},process:t=>{if(a=t,s){r=!0;return}s=!0;let o=i;i=n,n=o,i.forEach(h),e,l=0,i.clear(),s=!1,r&&(r=!1,u.process(t))}};return u}(r,e?i:void 0),t),{}),{setup:a,read:l,resolveKeyframes:h,preUpdate:u,update:d,preRender:c,render:p,postRender:m}=o,f=()=>{let r=tS.useManualTiming,o=r?s.timestamp:performance.now();i=!1,r||(s.delta=n?1e3/60:Math.max(Math.min(o-s.timestamp,40),1)),s.timestamp=o,s.isProcessing=!0,a.process(s),l.process(s),h.process(s),u.process(s),d.process(s),c.process(s),p.process(s),m.process(s),s.isProcessing=!1,i&&e&&(n=!1,t(f))};return{schedule:tA.reduce((e,r)=>{let a=o[r];return e[r]=(e,r=!1,o=!1)=>(!i&&(i=!0,n=!0,s.isProcessing||t(f)),a.schedule(e,r,o)),e},{}),cancel:t=>{for(let e=0;etypeof requestAnimationFrame?requestAnimationFrame:tP,!0),tR=new Set,tD=!1,tL=!1,tj=!1;function tB(){if(tL){let t=Array.from(tR).filter(t=>t.needsMeasurement),e=new Set(t.map(t=>t.element)),i=new Map;e.forEach(t=>{let e,n=(e=[],tb.forEach(i=>{let n=t.getValue(i);void 0!==n&&(e.push([i,n.get()]),n.set(+!!i.startsWith("scale")))}),e);n.length&&(i.set(t,n),t.render())}),t.forEach(t=>t.measureInitialState()),e.forEach(t=>{t.render();let e=i.get(t);e&&e.forEach(([e,i])=>{t.getValue(e)?.set(i)})}),t.forEach(t=>t.measureEndState()),t.forEach(t=>{void 0!==t.suspendedScrollY&&window.scrollTo(0,t.suspendedScrollY)})}tL=!1,tD=!1,tR.forEach(t=>t.complete(tj)),tR.clear()}function tF(){tR.forEach(t=>{t.readKeyframes(),t.needsMeasurement&&(tL=!0)})}class tO{constructor(t,e,i,n,s,r=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...t],this.onComplete=e,this.name=i,this.motionValue=n,this.element=s,this.isAsync=r}scheduleResolve(){this.state="scheduled",this.isAsync?(tR.add(this),tD||(tD=!0,tM.read(tF),tM.resolveKeyframes(tB))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:t,name:e,element:i,motionValue:n}=this;if(null===t[0]){let s=n?.get(),r=t[t.length-1];if(void 0!==s)t[0]=s;else if(i&&e){let n=i.readValue(e,r);null!=n&&(t[0]=n)}void 0===t[0]&&(t[0]=r),n&&void 0===s&&n.set(t[0])}for(let e=1;e{t.getValue(e).set(i)}),this.resolveNoneKeyframes()}}let tN=t=>1e3*t;function tz(t,e){-1===t.indexOf(e)&&t.push(e)}function tY(t,e){let i=t.indexOf(e);i>-1&&t.splice(i,1)}class tX{constructor(){this.subscriptions=[]}add(t){return tz(this.subscriptions,t),()=>tY(this.subscriptions,t)}notify(t,e,i){let n=this.subscriptions.length;if(n)if(1===n)this.subscriptions[0](t,e,i);else for(let s=0;s(void 0===e&&(e=t()),e)}let tK={};function tG(t,e){let i=t_(t);return()=>tK[e]??i()}let tq=tG(()=>void 0!==window.ScrollTimeline,"scrollTimeline"),tZ=t=>null!==t;function tJ(t,{repeat:e,repeatType:i="loop"},n,s=1){let r=t.filter(tZ),o=s<0||e&&"loop"!==i&&e%2==1?0:r.length-1;return o&&void 0!==n?n:r[o]}class tQ{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(t=>{this.resolve=t})}notifyFinished(){this.resolve()}then(t,e){return this.finished.then(t,e)}}let t0={layout:0,mainThread:0,waapi:0},t1=t=>Array.isArray(t)&&"number"==typeof t[0],t5=tG(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch(t){return!1}return!0},"linearEasing"),t3=(t,e,i=10)=>{let n="",s=Math.max(Math.round(e/i),2);for(let e=0;e`cubic-bezier(${t}, ${e}, ${i}, ${n})`,t9={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:t2([0,.65,.55,1]),circOut:t2([.55,0,1,.45]),backIn:t2([.31,.01,.66,-.59]),backOut:t2([.33,1.53,.69,.99])};function t4(t){return"function"==typeof t&&"applyToOptions"in t}class t6 extends tQ{constructor(t){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!t)return;const{element:e,name:i,keyframes:n,pseudoElement:s,allowFlatten:r=!1,finalKeyframe:o,onComplete:a}=t;this.isPseudoElement=!!s,this.allowFlatten=r,this.options=t,te("string"!=typeof t.type,'Mini animate() doesn\'t support "type" as a string.',"mini-spring");const l=function({type:t,...e}){return t4(t)&&t5()?t.applyToOptions(e):(e.duration??(e.duration=300),e.ease??(e.ease="easeOut"),e)}(t);this.animation=function(t,e,i,{delay:n=0,duration:s=300,repeat:r=0,repeatType:o="loop",ease:a="easeOut",times:l}={},h){let u={[e]:i};l&&(u.offset=l);let d=function t(e,i){if(e)return"function"==typeof e?t5()?t3(e,i):"ease-out":t1(e)?t2(e):Array.isArray(e)?e.map(e=>t(e,i)||t9.easeOut):t9[e]}(a,s);Array.isArray(d)&&(u.easing=d);let c={delay:n,duration:s,easing:Array.isArray(d)?"linear":d,fill:"both",iterations:r+1,direction:"reverse"===o?"alternate":"normal"};h&&(c.pseudoElement=h);let p=t.animate(u,c);return p}(e,i,n,l,s),!1===l.autoplay&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!s){let t=tJ(n,this.options,o,this.speed);this.updateMotionValue&&this.updateMotionValue(t),tH(e,i,t),this.animation.cancel()}a?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),"finished"===this.state&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch(t){}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:t}=this;"idle"!==t&&"finished"!==t&&(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){let t=this.options?.element;!this.isPseudoElement&&t?.isConnected&&this.animation.commitStyles?.()}get duration(){return Number(this.animation.effect?.getComputedTiming?.().duration||0)/1e3}get iterationDuration(){let{delay:t=0}=this.options||{};return this.duration+t/1e3}get time(){return(Number(this.animation.currentTime)||0)/1e3}set time(t){let e=null!==this.finishedTime;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=tN(t),e&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(t){t<0&&(this.finishedTime=null),this.animation.playbackRate=t}get state(){return null!==this.finishedTime?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(t){this.manualStartTime=this.animation.startTime=t}attachTimeline({timeline:t,rangeStart:e,rangeEnd:i,observe:n}){return(this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,t&&tq())?(this.animation.timeline=t,e&&(this.animation.rangeStart=e),i&&(this.animation.rangeEnd=i),tP):n(this)}}let t8=new Set(["opacity","clipPath","filter","transform"]),{schedule:t7}=tE(queueMicrotask,!1);function et(){e=void 0}let ee={now:()=>(void 0===e&&ee.set(tV.isProcessing||tS.useManualTiming?tV.timestamp:performance.now()),e),set:t=>{e=t,queueMicrotask(et)}},ei=(t,e)=>e?1e3/e*t:0,en={current:void 0};class es{constructor(t,e={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=t=>{let e=ee.now();if(this.updatedAt!==e&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(t),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(let t of this.dependents)t.dirty()},this.hasAnimated=!1,this.setCurrent(t),this.owner=e.owner}setCurrent(t){this.current=t,this.updatedAt=ee.now(),null===this.canTrackVelocity&&void 0!==t&&(this.canTrackVelocity=!isNaN(parseFloat(this.current)))}setPrevFrameValue(t=this.current){this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt}onChange(t){return this.on("change",t)}on(t,e){this.events[t]||(this.events[t]=new tX);let i=this.events[t].add(e);return"change"===t?()=>{i(),tM.read(()=>{this.events.change.getSize()||this.stop()})}:i}clearListeners(){for(let t in this.events)this.events[t].clear()}attach(t,e){this.passiveEffect=t,this.stopPassiveEffect=e}set(t){this.passiveEffect?this.passiveEffect(t,this.updateAndNotify):this.updateAndNotify(t)}setWithVelocity(t,e,i){this.set(e),this.prev=void 0,this.prevFrameValue=t,this.prevUpdatedAt=this.updatedAt-i}jump(t,e=!0){this.updateAndNotify(t),this.prev=t,this.prevUpdatedAt=this.prevFrameValue=void 0,e&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(t){this.dependents||(this.dependents=new Set),this.dependents.add(t)}removeDependent(t){this.dependents&&this.dependents.delete(t)}get(){return en.current&&en.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let t=ee.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||t-this.updatedAt>30)return 0;let e=Math.min(this.updatedAt-this.prevUpdatedAt,30);return ei(parseFloat(this.current)-parseFloat(this.prevFrameValue),e)}start(t){return this.stop(),new Promise(e=>{this.hasAnimated=!0,this.animation=t(e),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function er(t,e){return new es(t,e)}let eo=[...q,E,L],ea=new WeakMap;function el(t){return null!==t&&"object"==typeof t&&"function"==typeof t.start}function eh(t){return"string"==typeof t||Array.isArray(t)}let eu=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],ed=["initial",...eu];function ec(t){return el(t.animate)||ed.some(e=>eh(t[e]))}function ep(t){return!!(ec(t)||t.variants)}let em={current:null},ef={current:!1},ey="u">typeof window;function eg(t){let e=[{},{}];return t?.values.forEach((t,i)=>{e[0][i]=t.get(),e[1][i]=t.getVelocity()}),e}function ev(t,e,i,n){if("function"==typeof e){let[s,r]=eg(n);e=e(void 0!==i?i:t.custom,s,r)}if("string"==typeof e&&(e=t.variants&&t.variants[e]),"function"==typeof e){let[s,r]=eg(n);e=e(void 0!==i?i:t.custom,s,r)}return e}let ex=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],ew={};class eb{scrapeMotionValuesFromProps(t,e,i){return{}}constructor({parent:t,props:e,presenceContext:i,reducedMotionConfig:n,skipAnimations:s,blockInitialAnimation:r,visualState:o},a={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=tO,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{let t=ee.now();this.renderScheduledAtthis.bindToMotionValue(e,t)),"never"===this.reducedMotionConfig?this.shouldReduceMotion=!1:"always"===this.reducedMotionConfig?this.shouldReduceMotion=!0:(ef.current||function(){if(ef.current=!0,ey)if(window.matchMedia){let t=window.matchMedia("(prefers-reduced-motion)"),e=()=>em.current=t.matches;t.addEventListener("change",e),e()}else em.current=!1}(),this.shouldReduceMotion=em.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){for(let t in this.projection&&this.projection.unmount(),tC(this.notifyUpdate),tC(this.render),this.valueSubscriptions.forEach(t=>t()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this),this.events)this.events[t].clear();for(let t in this.features){let e=this.features[t];e&&(e.unmount(),e.isMounted=!1)}this.current=null}addChild(t){this.children.add(t),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(t)}removeChild(t){this.children.delete(t),this.enteringChildren&&this.enteringChildren.delete(t)}bindToMotionValue(t,e){let i;if(this.valueSubscriptions.has(t)&&this.valueSubscriptions.get(t)(),e.accelerate&&t8.has(t)&&this.current instanceof HTMLElement){let{factory:i,keyframes:n,times:s,ease:r,duration:o}=e.accelerate,a=new t6({element:this.current,name:t,keyframes:n,times:s,ease:r,duration:tN(o)}),l=i(a);this.valueSubscriptions.set(t,()=>{l(),a.cancel()});return}let n=r.has(t);n&&this.onBindTransform&&this.onBindTransform();let s=e.on("change",e=>{this.latestValues[t]=e,this.props.onUpdate&&tM.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});"u">typeof window&&window.MotionCheckAppearSync&&(i=window.MotionCheckAppearSync(this,t,e)),this.valueSubscriptions.set(t,()=>{s(),i&&i()})}sortNodePosition(t){return this.current&&this.sortInstanceNodePosition&&this.type===t.type?this.sortInstanceNodePosition(this.current,t.current):0}updateFeatures(){let t="animation";for(t in ew){let e=ew[t];if(!e)continue;let{isEnabled:i,Feature:n}=e;if(!this.features[t]&&n&&i(this.props)&&(this.features[t]=new n(this)),this.features[t]){let e=this.features[t];e.isMounted?e.update():(e.mount(),e.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):H()}getStaticValue(t){return this.latestValues[t]}setStaticValue(t,e){this.latestValues[t]=e}update(t,e){(t.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=t,this.prevPresenceContext=this.presenceContext,this.presenceContext=e;for(let e=0;ee.variantChildren.delete(t)}addValue(t,e){let i=this.values.get(t);e!==i&&(i&&this.removeValue(t),this.bindToMotionValue(t,e),this.values.set(t,e),this.latestValues[t]=e.get())}removeValue(t){this.values.delete(t);let e=this.valueSubscriptions.get(t);e&&(e(),this.valueSubscriptions.delete(t)),delete this.latestValues[t],this.removeValueFromRenderState(t,this.renderState)}hasValue(t){return this.values.has(t)}getValue(t,e){if(this.props.values&&this.props.values[t])return this.props.values[t];let i=this.values.get(t);return void 0===i&&void 0!==e&&(i=er(null===e?void 0:e,{owner:this}),this.addValue(t,i)),i}readValue(t,e){let i=void 0===this.latestValues[t]&&this.current?this.getBaseTargetFromProps(this.props,t)??this.readValueFromInstance(this.current,t,this.options):this.latestValues[t];if(null!=i){let n,s;if("string"==typeof i&&(n=i,/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(n)||(s=i,/^0[^.\s]+$/u.test(s))))i=parseFloat(i);else{let n;n=i,!eo.find(G(n))&&L.test(e)&&(i=tU(t,e))}this.setBaseTarget(t,_(i)?i.get():i)}return _(i)?i.get():i}setBaseTarget(t,e){this.baseTarget[t]=e}getBaseTarget(t){let e,{initial:i}=this.props;if("string"==typeof i||"object"==typeof i){let n=ev(this.props,i,this.presenceContext?.custom);n&&(e=n[t])}if(i&&void 0!==e)return e;let n=this.getBaseTargetFromProps(this.props,t);return void 0===n||_(n)?void 0!==this.initialValues[t]&&void 0===e?void 0:this.baseTarget[t]:n}on(t,e){return this.events[t]||(this.events[t]=new tX),this.events[t].add(e)}notify(t,...e){this.events[t]&&this.events[t].notify(...e)}scheduleRenderMicrotask(){t7.render(this.render)}}class eT extends eb{constructor(){super(...arguments),this.KeyframeResolver=tW}sortInstanceNodePosition(t,e){return 2&t.compareDocumentPosition(e)?1:-1}getBaseTargetFromProps(t,e){let i=t.style;return i?i[e]:void 0}removeValueFromRenderState(t,{vars:e,style:i}){delete e[t],delete i[t]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);let{children:t}=this.props;_(t)&&(this.childSubscription=t.on("change",t=>{this.current&&(this.current.textContent=`${t}`)}))}}function eP(t){return t.replace(/([A-Z])/g,t=>`-${t.toLowerCase()}`)}let eS=(t,e)=>e&&"number"==typeof t?e.transform(t):t,eA={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},eE=s.length;function eM(t,e,i){let{style:n,vars:o,transformOrigin:a}=t,l=!1,h=!1;for(let t in e){let i=e[t];if(r.has(t)){l=!0;continue}if(tn(t)){o[t]=i;continue}{let e=eS(i,$[t]);t.startsWith("origin")?(h=!0,a[t]=e):n[t]=e}}if(!e.transform&&(l||i?n.transform=function(t,e,i){let n="",r=!0;for(let o=0;o"string"==typeof t&&"svg"===t.toLowerCase();function ej(t,{style:e,vars:i},n,s){let r,o=t.style;for(r in e)o[r]=e[r];for(r in s?.applyProjectionStyles(o,n),i)o.setProperty(r,i[r])}function eB(t,e){return e.max===e.min?0:t/(e.max-e.min)*100}let eF={correct:(t,e)=>{if(!e.target)return t;if("string"==typeof t)if(!b.test(t))return t;else t=parseFloat(t);let i=eB(t,e.target.x),n=eB(t,e.target.y);return`${i}% ${n}%`}},eO=(t,e,i)=>t+(e-t)*i,eI={borderRadius:{...eF,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:eF,borderTopRightRadius:eF,borderBottomLeftRadius:eF,borderBottomRightRadius:eF,boxShadow:{correct:(t,{treeScale:e,projectionDelta:i})=>{let n=L.parse(t);if(n.length>5)return t;let s=L.createTransformer(t),r=+("number"!=typeof n[0]),o=i.x.scale*e.x,a=i.y.scale*e.y;n[0+r]/=o,n[1+r]/=a;let l=eO(o,a,.5);return"number"==typeof n[2+r]&&(n[2+r]/=l),"number"==typeof n[3+r]&&(n[3+r]/=l),s(n)}}};function eU(t,{layout:e,layoutId:i}){return r.has(t)||t.startsWith("origin")||(e||void 0!==i)&&(!!eI[t]||"opacity"===t)}function e$(t,e,i){let n=t.style,s=e?.style,r={};if(!n)return r;for(let e in n)(_(n[e])||s&&_(s[e])||eU(e,t)||i?.getValue(e)?.liveStyle!==void 0)&&(r[e]=n[e]);return r}function eW(t,e,i){let n=e$(t,e,i);for(let i in t)(_(t[i])||_(e[i]))&&(n[-1!==s.indexOf(i)?"attr"+i.charAt(0).toUpperCase()+i.substring(1):i]=t[i]);return n}class eN extends eT{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=H}getBaseTargetFromProps(t,e){return t[e]}readValueFromInstance(t,e){if(r.has(e)){let t=N(e);return t&&t.default||0}return e=eD.has(e)?e:eP(e),t.getAttribute(e)}scrapeMotionValuesFromProps(t,e,i){return eW(t,e,i)}build(t,e,i){eR(t,e,this.isSVGTag,i.transformTemplate,i.style)}renderInstance(t,e,i,n){for(let i in ej(t,e,void 0,n),e.attrs)t.setAttribute(eD.has(i)?i:eP(i),e.attrs[i])}mount(t){this.isSVGTag=eL(t.tagName),super.mount(t)}}function ez({top:t,left:e,right:i,bottom:n}){return{x:{min:e,max:i},y:{min:t,max:n}}}function eY(t){return void 0===t||1===t}function eX({scale:t,scaleX:e,scaleY:i}){return!eY(t)||!eY(e)||!eY(i)}function eH(t){return eX(t)||e_(t)||t.z||t.rotate||t.rotateX||t.rotateY||t.skewX||t.skewY}function e_(t){var e,i;return(e=t.x)&&"0%"!==e||(i=t.y)&&"0%"!==i}function eK(t,e,i,n,s){return void 0!==s&&(t=n+s*(t-n)),n+i*(t-n)+e}function eG(t,e=0,i=1,n,s){t.min=eK(t.min,e,i,n,s),t.max=eK(t.max,e,i,n,s)}function eq(t,{x:e,y:i}){eG(t.x,e.translate,e.scale,e.originPoint),eG(t.y,i.translate,i.scale,i.originPoint)}function eZ(t,e){t.min+=e,t.max+=e}function eJ(t,e,i,n,s=.5){let r=eO(t.min,t.max,s);eG(t,e,i,r,n)}function eQ(t,e){return"string"==typeof t?parseFloat(t)/100*(e.max-e.min):t}function e0(t,e,i){let n=i??t;eJ(t.x,eQ(e.x,n.x),e.scaleX,e.scale,e.originX),eJ(t.y,eQ(e.y,n.y),e.scaleY,e.scale,e.originY)}function e1(t,e){return ez(function(t,e){if(!e)return t;let i=e({x:t.left,y:t.top}),n=e({x:t.right,y:t.bottom});return{top:i.y,left:i.x,bottom:n.y,right:n.x}}(t.getBoundingClientRect(),e))}class e5 extends eT{constructor(){super(...arguments),this.type="html",this.renderInstance=ej}readValueFromInstance(t,e){if(r.has(e))return this.projection?.isProjecting?ty(e):((t,e)=>{let{transform:i="none"}=getComputedStyle(t);return tg(i,e)})(t,e);{let i=window.getComputedStyle(t),n=(tn(e)?i.getPropertyValue(e):i[e])||0;return"string"==typeof n?n.trim():n}}measureInstanceViewportBox(t,{transformPagePoint:e}){return e1(t,e)}build(t,e,i){eM(t,e,i.transformTemplate)}scrapeMotionValuesFromProps(t,e,i){return e$(t,e,i)}}var e3=t.i(71645);let e2=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function e9(t){if("string"!=typeof t||t.includes("-"));else if(e2.indexOf(t)>-1||/[A-Z]/u.test(t))return!0;return!1}var e4=t.i(43476);let e6=(0,e3.createContext)({}),e8=(0,e3.createContext)({strict:!1}),e7=(0,e3.createContext)({transformPagePoint:t=>t,isStatic:!1,reducedMotion:"never"}),it=(0,e3.createContext)({});function ie(t){return Array.isArray(t)?t.join(" "):t}let ii=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function is(t,e,i){for(let n in e)_(e[n])||eU(n,i)||(t[n]=e[n])}let ir=()=>({...ii(),attrs:{}}),io=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function ia(t){return t.startsWith("while")||t.startsWith("drag")&&"draggable"!==t||t.startsWith("layout")||t.startsWith("onTap")||t.startsWith("onPan")||t.startsWith("onLayout")||io.has(t)}let il=t=>!ia(t);try{J=(()=>{let t=Error("Cannot find module '@emotion/is-prop-valid'");throw t.code="MODULE_NOT_FOUND",t})().default,"function"==typeof J&&(il=t=>t.startsWith("on")?!ia(t):J(t))}catch{}function ih(t){return _(t)?t.get():t}let iu=(0,e3.createContext)(null);function id(t){let e=(0,e3.useRef)(null);return null===e.current&&(e.current=t()),e.current}let ic=t=>(e,i)=>{let n=(0,e3.useContext)(it),s=(0,e3.useContext)(iu),r=()=>(function({scrapeMotionValuesFromProps:t,createRenderState:e},i,n,s){return{latestValues:function(t,e,i,n){let s={},r=n(t,{});for(let t in r)s[t]=ih(r[t]);let{initial:o,animate:a}=t,l=ec(t),h=ep(t);e&&h&&!l&&!1!==t.inherit&&(void 0===o&&(o=e.initial),void 0===a&&(a=e.animate));let u=!!i&&!1===i.initial,d=(u=u||!1===o)?a:o;if(d&&"boolean"!=typeof d&&!el(d)){let e=Array.isArray(d)?d:[d];for(let i=0;iiy[e].some(e=>!!t[e])};ew=t,ig=!0}(),ew}let ix=Symbol.for("motionComponentSymbol"),iw="data-"+eP("framerAppearId"),ib=(0,e3.createContext)({});function iT(t){return t&&"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,"current")}let iP="u">typeof window?e3.useLayoutEffect:e3.useEffect;function iS(t,{forwardMotionProps:e=!1,type:i}={},n,s){n&&function(t){let e=iv();for(let i in t)e[i]={...e[i],...t[i]};ew=e}(n);let r=i?"svg"===i:e9(t),o=r?im:ip;function a(i,n){var a;let l,h,u,d={...(0,e3.useContext)(e7),...i,layoutId:function({layoutId:t}){let e=(0,e3.useContext)(e6).id;return e&&void 0!==t?e+"-"+t:t}(i)},{isStatic:c}=d,p=function(t){let{initial:e,animate:i}=function(t,e){if(ec(t)){let{initial:e,animate:i}=t;return{initial:!1===e||eh(e)?e:void 0,animate:eh(i)?i:void 0}}return!1!==t.inherit?e:{}}(t,(0,e3.useContext)(it));return(0,e3.useMemo)(()=>({initial:e,animate:i}),[ie(e),ie(i)])}(i),m=o(i,c);if(!c&&"u">typeof window){(0,e3.useContext)(e8).strict;let e=function(t){let{drag:e,layout:i}=iv();if(!e&&!i)return{};let n={...e,...i};return{MeasureLayout:e?.isEnabled(t)||i?.isEnabled(t)?n.MeasureLayout:void 0,ProjectionNode:n.ProjectionNode}}(d);l=e.MeasureLayout,p.visualElement=function(t,e,i,n,s,r){let{visualElement:o}=(0,e3.useContext)(it),a=(0,e3.useContext)(e8),l=(0,e3.useContext)(iu),h=(0,e3.useContext)(e7),u=h.reducedMotion,d=h.skipAnimations,c=(0,e3.useRef)(null),p=(0,e3.useRef)(!1);n=n||a.renderer,!c.current&&n&&(c.current=n(t,{visualState:e,parent:o,props:i,presenceContext:l,blockInitialAnimation:!!l&&!1===l.initial,reducedMotionConfig:u,skipAnimations:d,isSVG:r}),p.current&&c.current&&(c.current.manuallyAnimateOnMount=!0));let m=c.current,f=(0,e3.useContext)(ib);m&&!m.projection&&s&&("html"===m.type||"svg"===m.type)&&function(t,e,i,n){let{layoutId:s,layout:r,drag:o,dragConstraints:a,layoutScroll:l,layoutRoot:h,layoutAnchor:u,layoutCrossfade:d}=e;t.projection=new i(t.latestValues,e["data-framer-portal-id"]?void 0:function t(e){if(e)return!1!==e.options.allowProjection?e.projection:t(e.parent)}(t.parent)),t.projection.setOptions({layoutId:s,layout:r,alwaysMeasureLayout:!!o||a&&iT(a),visualElement:t,animationType:"string"==typeof r?r:"both",initialPromotionConfig:n,crossfade:d,layoutScroll:l,layoutRoot:h,layoutAnchor:u})}(c.current,i,s,f);let y=(0,e3.useRef)(!1);(0,e3.useInsertionEffect)(()=>{m&&y.current&&m.update(i,l)});let g=i[iw],v=(0,e3.useRef)(!!g&&"u">typeof window&&!window.MotionHandoffIsComplete?.(g)&&window.MotionHasOptimisedAnimation?.(g));return iP(()=>{p.current=!0,m&&(y.current=!0,window.MotionIsMounted=!0,m.updateFeatures(),m.scheduleRenderMicrotask(),v.current&&m.animationState&&m.animationState.animateChanges())}),(0,e3.useEffect)(()=>{m&&(!v.current&&m.animationState&&m.animationState.animateChanges(),v.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(g)}),v.current=!1),m.enteringChildren=void 0)}),m}(t,m,d,s,e.ProjectionNode,r)}return(0,e4.jsxs)(it.Provider,{value:p,children:[l&&p.visualElement?(0,e4.jsx)(l,{visualElement:p.visualElement,...d}):null,function(t,e,i,{latestValues:n},s,r=!1,o){let a=(o??e9(t)?function(t,e,i,n){let s=(0,e3.useMemo)(()=>{let i=ir();return eR(i,e,eL(n),t.transformTemplate,t.style),{...i.attrs,style:{...i.style}}},[e]);if(t.style){let e={};is(e,t.style,t),s.style={...e,...s.style}}return s}:function(t,e){let i,n,s={},r=(i=t.style||{},is(n={},i,t),Object.assign(n,function({transformTemplate:t},e){return(0,e3.useMemo)(()=>{let i=ii();return eM(i,e,t),Object.assign({},i.vars,i.style)},[e])}(t,e)),n);return t.drag&&!1!==t.dragListener&&(s.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout="none",r.touchAction=!0===t.drag?"none":`pan-${"x"===t.drag?"y":"x"}`),void 0===t.tabIndex&&(t.onTap||t.onTapStart||t.whileTap)&&(s.tabIndex=0),s.style=r,s})(e,n,s,t),l=function(t,e,i){let n={};for(let s in t)("values"!==s||"object"!=typeof t.values)&&!_(t[s])&&(il(s)||!0===i&&ia(s)||!e&&!ia(s)||t.draggable&&s.startsWith("onDrag"))&&(n[s]=t[s]);return n}(e,"string"==typeof t,r),h=t!==e3.Fragment?{...l,...a,ref:i}:{},{children:u}=e,d=(0,e3.useMemo)(()=>_(u)?u.get():u,[u]);return(0,e3.createElement)(t,{...h,children:d})}(t,i,(a=p.visualElement,h=(0,e3.useRef)(n),(0,e3.useInsertionEffect)(()=>{h.current=n}),u=(0,e3.useRef)(null),(0,e3.useCallback)(t=>{t&&m.onMount?.(t),a&&(t?a.mount(t):a.unmount());let e=h.current;if("function"==typeof e)if(t){let i=e(t);"function"==typeof i&&(u.current=i)}else u.current?(u.current(),u.current=null):e(t);else e&&(e.current=t)},[a])),m,c,e,r)]})}a.displayName=`motion.${"string"==typeof t?t:`create(${t.displayName??t.name??""})`}`;let l=(0,e3.forwardRef)(a);return l[ix]=t,l}class iA{constructor(t){this.isMounted=!1,this.node=t}update(){}}function iE(t,e,i){let n=t.getProps();return ev(n,e,void 0!==i?i:n.custom,t)}function iM(t,e){if(t?.inherit&&e){let{inherit:i,...n}=t;return{...e,...n}}return t}function iC(t,e){let i=t?.[e]??t?.default??t;return i!==t?iM(i,t):i}let iV=t=>Array.isArray(t);function ik(t,e){let i=t.getValue("willChange");if(_(i)&&i.add)return i.add(e);if(!i&&tS.WillChange){let i=new tS.WillChange("auto");t.addValue("willChange",i),i.add(e)}}let iR=(...t)=>t.reduce((t,e)=>i=>e(t(i)));function iD(t,e,i){return(i<0&&(i+=1),i>1&&(i-=1),i<1/6)?t+(e-t)*6*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}function iL(t,e){return i=>i>0?e:t}let ij=(t,e,i)=>{let n=t*t,s=i*(e*e-n)+n;return s<0?0:Math.sqrt(s)},iB=[g,y,A];function iF(t){let e=iB.find(e=>e.test(t));if(tt(!!e,`'${t}' is not an animatable color. Use the equivalent color code instead.`,"color-not-animatable"),!e)return!1;let i=e.parse(t);return e===A&&(i=function({hue:t,saturation:e,lightness:i,alpha:n}){t/=360,i/=100;let s=0,r=0,o=0;if(e/=100){let n=i<.5?i*(1+e):i+e-i*e,a=2*i-n;s=iD(a,n,t+1/3),r=iD(a,n,t),o=iD(a,n,t-1/3)}else s=r=o=i;return{red:Math.round(255*s),green:Math.round(255*r),blue:Math.round(255*o),alpha:n}}(i)),i}let iO=(t,e)=>{let i=iF(t),n=iF(e);if(!i||!n)return iL(t,e);let s={...i};return t=>(s.red=ij(i.red,n.red,t),s.green=ij(i.green,n.green,t),s.blue=ij(i.blue,n.blue,t),s.alpha=eO(i.alpha,n.alpha,t),y.transform(s))},iI=new Set(["none","hidden"]);function iU(t,e){return i=>eO(t,e,i)}function i$(t){return"number"==typeof t?iU:"string"==typeof t?tr(t)?iL:E.test(t)?iO:iz:Array.isArray(t)?iW:"object"==typeof t?E.test(t)?iO:iN:iL}function iW(t,e){let i=[...t],n=i.length,s=t.map((t,i)=>i$(t)(t,e[i]));return t=>{for(let e=0;e{for(let e in n)i[e]=n[e](t);return i}}let iz=(t,e)=>{let i=L.createTransformer(e),n=R(t),s=R(e);if(!(n.indexes.var.length===s.indexes.var.length&&n.indexes.color.length===s.indexes.color.length&&n.indexes.number.length>=s.indexes.number.length))return tt(!0,`Complex values '${t}' and '${e}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`,"complex-values-different"),iL(t,e);if(iI.has(t)&&!s.values.length||iI.has(e)&&!n.values.length)return iI.has(t)?i=>i<=0?t:e:i=>i>=1?e:t;return iR(iW(function(t,e){let i=[],n={color:0,var:0,number:0};for(let s=0;s{let e=({timestamp:e})=>t(e);return{start:(t=!0)=>tM.update(e,t),stop:()=>tC(e),now:()=>tV.isProcessing?tV.timestamp:ee.now()}};function iH(t){let e=0,i=t.next(e);for(;!i.done&&e<2e4;)e+=50,i=t.next(e);return e>=2e4?1/0:e}let i_=.01,iK=2,iG=.005,iq=.5;function iZ(t,e){return t*Math.sqrt(1-e*e)}let iJ=["duration","bounce"],iQ=["stiffness","damping","mass"];function i0(t,e){return e.some(e=>void 0!==t[e])}function i1(t=.3,e=.3){let i,n,s,r,a,l,h="object"!=typeof t?{visualDuration:t,keyframes:[0,1],bounce:e}:t,{restSpeed:u,restDelta:d}=h,c=h.keyframes[0],p=h.keyframes[h.keyframes.length-1],m={done:!1,value:c},{stiffness:f,damping:y,mass:g,duration:v,velocity:x,isResolvedFromDuration:w}=function(t){let e={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...t};if(!i0(t,iQ)&&i0(t,iJ))if(e.velocity=0,t.visualDuration){let i=2*Math.PI/(1.2*t.visualDuration),n=i*i,s=2*o(.05,1,1-(t.bounce||0))*Math.sqrt(n);e={...e,mass:1,stiffness:n,damping:s}}else{let i=function({duration:t=800,bounce:e=.3,velocity:i=0,mass:n=1}){let s,r;tt(t<=tN(10),"Spring duration must be 10 seconds or less","spring-duration-limit");let a=1-e;a=o(.05,1,a),t=o(.01,10,t/1e3),a<1?(s=e=>{let n=e*a,s=n*t;return .001-(n-i)/iZ(e,a)*Math.exp(-s)},r=e=>{let n=e*a*t,r=Math.pow(a,2)*Math.pow(e,2)*t,o=Math.exp(-n),l=iZ(Math.pow(e,2),a);return(n*i+i-r)*o*(-s(e)+.001>0?-1:1)/l}):(s=e=>-.001+Math.exp(-e*t)*((e-i)*t+1),r=e=>t*t*(i-e)*Math.exp(-e*t));let l=function(t,e,i){let n=i;for(let i=1;i<12;i++)n-=t(n)/e(n);return n}(s,r,5/t);if(t=tN(t),isNaN(l))return{stiffness:100,damping:10,duration:t};{let e=Math.pow(l,2)*n;return{stiffness:e,damping:2*a*Math.sqrt(n*e),duration:t}}}({...t,velocity:0});(e={...e,...i,mass:1}).isResolvedFromDuration=!0}return e}({...h,velocity:-((h.velocity||0)/1e3)}),b=x||0,T=y/(2*Math.sqrt(f*g)),P=p-c,S=Math.sqrt(f/g)/1e3,A=5>Math.abs(P);if(u||(u=A?i_:iK),d||(d=A?iG:iq),T<1)s=iZ(S,T),r=(b+T*S*P)/s,i=t=>p-Math.exp(-T*S*t)*(r*Math.sin(s*t)+P*Math.cos(s*t)),a=T*S*r+P*s,l=T*S*P-r*s,n=t=>Math.exp(-T*S*t)*(a*Math.sin(s*t)+l*Math.cos(s*t));else if(1===T){i=t=>p-Math.exp(-S*t)*(P+(b+S*P)*t);let t=b+S*P;n=e=>Math.exp(-S*e)*(S*t*e-b)}else{let t=S*Math.sqrt(T*T-1);i=e=>{let i=Math.exp(-T*S*e),n=Math.min(t*e,300);return p-i*((b+T*S*P)*Math.sinh(n)+t*P*Math.cosh(n))/t};let e=(b+T*S*P)/t,s=T*S*e-P*t,r=T*S*P-e*t;n=e=>{let i=Math.exp(-T*S*e),n=Math.min(t*e,300);return i*(s*Math.sinh(n)+r*Math.cosh(n))}}let E={calculatedDuration:w&&v||null,velocity:t=>tN(n(t)),next:t=>{if(!w&&T<1){let e=Math.exp(-T*S*t),i=Math.sin(s*t),n=Math.cos(s*t),o=p-e*(r*i+P*n);return m.done=Math.abs(tN(e*(a*i+l*n)))<=u&&Math.abs(p-o)<=d,m.value=m.done?p:o,m}let e=i(t);return w?m.done=t>=v:m.done=Math.abs(tN(n(t)))<=u&&Math.abs(p-e)<=d,m.value=m.done?p:e,m},toString:()=>{let t=Math.min(iH(E),2e4),e=t3(e=>E.next(t*e).value,t,30);return t+"ms "+e},toTransition:()=>{}};return E}function i5(t,e,i){let n=Math.max(e-5,0);return ei(i-t(n),e-n)}function i3({keyframes:t,velocity:e=0,power:i=.8,timeConstant:n=325,bounceDamping:s=10,bounceStiffness:r=500,modifyTarget:o,min:a,max:l,restDelta:h=.5,restSpeed:u}){let d,c,p=t[0],m={done:!1,value:p},f=i*e,y=p+f,g=void 0===o?y:o(y);g!==y&&(f=g-p);let v=t=>-f*Math.exp(-t/n),x=t=>g+v(t),w=t=>{let e=v(t),i=x(t);m.done=Math.abs(e)<=h,m.value=m.done?g:i},b=t=>{let e;if(e=m.value,void 0!==a&&el){var i;d=t,c=i1({keyframes:[m.value,(i=m.value,void 0===a?l:void 0===l||Math.abs(a-i){let e=!1;return(c||void 0!==d||(e=!0,w(t),b(t)),void 0!==d&&t>=d)?c.next(t-d):(e||w(t),m)}}}i1.applyToOptions=t=>{let e=function(t,e=100,i){let n=i({...t,keyframes:[0,e]}),s=Math.min(iH(n),2e4);return{type:"keyframes",ease:t=>n.next(s*t).value/e,duration:s/1e3}}(t,100,i1);return t.ease=e.ease,t.duration=tN(e.duration),t.type="keyframes",t};let i2=(t,e,i)=>(((1-3*i+3*e)*t+(3*i-6*e))*t+3*e)*t;function i9(t,e,i,n){return t===e&&i===n?tP:s=>0===s||1===s?s:i2(function(t,e,i,n,s){let r,o,a=0;do(r=i2(o=e+(i-e)/2,n,s)-t)>0?i=o:e=o;while(Math.abs(r)>1e-7&&++a<12)return o}(s,0,1,t,i),e,n)}let i4=i9(.42,0,1,1),i6=i9(0,0,.58,1),i8=i9(.42,0,.58,1),i7=t=>e=>e<=.5?t(2*e)/2:(2-t(2*(1-e)))/2,nt=t=>e=>1-t(1-e),ne=i9(.33,1.53,.69,.99),ni=nt(ne),nn=i7(ni),ns=t=>t>=1?1:(t*=2)<1?.5*ni(t):.5*(2-Math.pow(2,-10*(t-1))),nr=t=>1-Math.sin(Math.acos(t)),no=nt(nr),na=i7(nr),nl={linear:tP,easeIn:i4,easeInOut:i8,easeOut:i6,circIn:nr,circInOut:na,circOut:no,backIn:ni,backInOut:nn,backOut:ne,anticipate:ns},nh=t=>{if(t1(t)){te(4===t.length,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");let[e,i,n,s]=t;return i9(e,i,n,s)}return"string"==typeof t?(te(void 0!==nl[t],`Invalid easing type '${t}'`,"invalid-easing-type"),nl[t]):t},nu=(t,e,i)=>{let n=e-t;return n?(i-t)/n:1};function nd(t,e,{clamp:i=!0,ease:n,mixer:s}={}){let r=t.length;if(te(r===e.length,"Both input and output ranges must be the same length","range-length"),1===r)return()=>e[0];if(2===r&&e[0]===e[1])return()=>e[1];let a=t[0]===t[1];t[0]>t[r-1]&&(t=[...t].reverse(),e=[...e].reverse());let l=function(t,e,i){let n=[],s=i||tS.mix||iY,r=t.length-1;for(let i=0;i{if(a&&i1)for(;nu(o(t[0],t[r-1],e)):u}function nc({duration:t=300,keyframes:e,times:i,ease:n="easeInOut"}){var s;let r,o=Array.isArray(n)&&"number"!=typeof n[0]?n.map(nh):nh(n),a={done:!1,value:e[0]},l=nd((s=i&&i.length===e.length?i:(!function(t,e){let i=t[t.length-1];for(let n=1;n<=e;n++){let s=nu(0,e,n);t.push(eO(i,1,s))}}(r=[0],e.length-1),r),s.map(e=>e*t)),e,{ease:Array.isArray(o)?o:e.map(()=>o||i8).splice(0,e.length-1)});return{calculatedDuration:t,next:e=>(a.value=l(e),a.done=e>=t,a)}}let np={decay:i3,inertia:i3,tween:nc,keyframes:nc,spring:i1};function nm(t){"string"==typeof t.type&&(t.type=np[t.type])}let nf=t=>t/100;class ny extends tQ{constructor(t){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{let{motionValue:t}=this.options;t&&t.updatedAt!==ee.now()&&this.tick(ee.now()),this.isStopped=!0,"idle"!==this.state&&(this.teardown(),this.options.onStop?.())},t0.mainThread++,this.options=t,this.initAnimation(),this.play(),!1===t.autoplay&&this.pause()}initAnimation(){let{options:t}=this;nm(t);let{type:e=nc,repeat:i=0,repeatDelay:n=0,repeatType:s,velocity:r=0}=t,{keyframes:o}=t,a=e||nc;a!==nc&&"number"!=typeof o[0]&&(this.mixKeyframes=iR(nf,iY(o[0],o[1])),o=[0,100]);let l=a({...t,keyframes:o});"mirror"===s&&(this.mirroredGenerator=a({...t,keyframes:[...o].reverse(),velocity:-r})),null===l.calculatedDuration&&(l.calculatedDuration=iH(l));let{calculatedDuration:h}=l;this.calculatedDuration=h,this.resolvedDuration=h+n,this.totalDuration=this.resolvedDuration*(i+1)-n,this.generator=l}updateTime(t){let e=Math.round(t-this.startTime)*this.playbackSpeed;null!==this.holdTime?this.currentTime=this.holdTime:this.currentTime=e}tick(t,e=!1){let i,{generator:n,totalDuration:s,mixKeyframes:r,mirroredGenerator:a,resolvedDuration:l,calculatedDuration:h}=this;if(null===this.startTime)return n.next(0);let{delay:u=0,keyframes:d,repeat:c,repeatType:p,repeatDelay:m,type:f,onUpdate:y,finalKeyframe:g}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,t):this.speed<0&&(this.startTime=Math.min(t-s/this.speed,this.startTime)),e?this.currentTime=t:this.updateTime(t);let v=this.currentTime-u*(this.playbackSpeed>=0?1:-1),x=this.playbackSpeed>=0?v<0:v>s;this.currentTime=Math.max(v,0),"finished"===this.state&&null===this.holdTime&&(this.currentTime=s);let w=this.currentTime,b=n;if(c){let t=Math.min(this.currentTime,s)/l,e=Math.floor(t),i=t%1;!i&&t>=1&&(i=1),1===i&&e--,(e=Math.min(e,c+1))%2&&("reverse"===p?(i=1-i,m&&(i-=m/l)):"mirror"===p&&(b=a)),w=o(0,1,i)*l}x?(this.delayState.value=d[0],i=this.delayState):i=b.next(w),r&&!x&&(i.value=r(i.value));let{done:T}=i;x||null===h||(T=this.playbackSpeed>=0?this.currentTime>=s:this.currentTime<=0);let P=null===this.holdTime&&("finished"===this.state||"running"===this.state&&T);return P&&f!==i3&&(i.value=tJ(d,this.options,g,this.speed)),y&&y(i.value),P&&this.finish(),i}then(t,e){return this.finished.then(t,e)}get duration(){return this.calculatedDuration/1e3}get iterationDuration(){let{delay:t=0}=this.options||{};return this.duration+t/1e3}get time(){return this.currentTime/1e3}set time(t){t=tN(t),this.currentTime=t,null===this.startTime||null!==this.holdTime||0===this.playbackSpeed?this.holdTime=t:this.driver&&(this.startTime=this.driver.now()-t/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=t,this.tick(t))}getGeneratorVelocity(){let t=this.currentTime;if(t<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(t);let e=this.generator.next(t).value;return i5(t=>this.generator.next(t).value,t,e)}get speed(){return this.playbackSpeed}set speed(t){let e=this.playbackSpeed!==t;e&&this.driver&&this.updateTime(ee.now()),this.playbackSpeed=t,e&&this.driver&&(this.time=this.currentTime/1e3)}play(){if(this.isStopped)return;let{driver:t=iX,startTime:e}=this.options;this.driver||(this.driver=t(t=>this.tick(t))),this.options.onPlay?.();let i=this.driver.now();"finished"===this.state?(this.updateFinished(),this.startTime=i):null!==this.holdTime?this.startTime=i-this.holdTime:this.startTime||(this.startTime=e??i),"finished"===this.state&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(ee.now()),this.holdTime=this.currentTime}complete(){"running"!==this.state&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null,t0.mainThread--}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(t){return this.startTime=0,this.tick(t,!0)}attachTimeline(t){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),t.observe(this)}}let ng={anticipate:ns,backInOut:nn,circInOut:na};class nv extends t6{constructor(t){!function(t){"string"==typeof t.ease&&t.ease in ng&&(t.ease=ng[t.ease])}(t),nm(t),super(t),void 0!==t.startTime&&!1!==t.autoplay&&(this.startTime=t.startTime),this.options=t}updateMotionValue(t){let{motionValue:e,onUpdate:i,onComplete:n,element:s,...r}=this.options;if(!e)return;if(void 0!==t)return void e.set(t);let a=new ny({...r,autoplay:!1}),l=Math.max(10,ee.now()-this.startTime),h=o(0,10,l-10),u=a.sample(l).value,{name:d}=this.options;s&&d&&tH(s,d,u),e.setWithVelocity(a.sample(Math.max(0,l-h)).value,u,h),a.stop()}}let nx=(t,e)=>"zIndex"!==e&&!!("number"==typeof t||Array.isArray(t)||"string"==typeof t&&(L.test(t)||"0"===t)&&!t.startsWith("url("));function nw(t){t.duration=0,t.type="keyframes"}let nb=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/,nT=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),nP=t_(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));class nS extends tQ{constructor({autoplay:t=!0,delay:e=0,type:i="keyframes",repeat:n=0,repeatDelay:s=0,repeatType:r="loop",keyframes:o,name:a,motionValue:l,element:h,...u}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=ee.now();const d={autoplay:t,delay:e,type:i,repeat:n,repeatDelay:s,repeatType:r,name:a,motionValue:l,element:h,...u},c=h?.KeyframeResolver||tO;this.keyframeResolver=new c(o,(t,e,i)=>this.onKeyframesResolved(t,e,d,!i),a,l,h),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(t,e,i,n){let s;this.keyframeResolver=void 0;let{name:r,type:o,velocity:a,delay:l,isHandoff:h,onUpdate:u}=i;this.resolvedAt=ee.now();let d=!0;!function(t,e,i,n){let s=t[0];if(null===s)return!1;if("display"===e||"visibility"===e)return!0;let r=t[t.length-1],o=nx(s,e),a=nx(r,e);return tt(o===a,`You are trying to animate ${e} from "${s}" to "${r}". "${o?r:s}" is not an animatable value.`,"value-not-animatable"),!!o&&!!a&&(function(t){let e=t[0];if(1===t.length)return!0;for(let i=0;i40?this.resolvedAt:this.createdAt:void 0,finalKeyframe:e,...i,keyframes:t},p=d&&!h&&function(t){let{motionValue:e,name:i,repeatDelay:n,repeatType:s,damping:r,type:o,keyframes:a}=t;if(!(e?.owner?.current instanceof HTMLElement))return!1;let{onUpdate:l,transformTemplate:h}=e.owner.getProps();return nP()&&i&&(t8.has(i)||nT.has(i)&&function(t){for(let e=0;e{this.notifyFinished()}).catch(tP),this.pendingTimeline&&(this.stopTimeline=s.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=s}get finished(){return this._animation?this.animation.finished:this._finished}then(t,e){return this.finished.finally(t).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),tj=!0,tF(),tB(),tj=!1),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(t){this.animation.time=t}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(t){this.animation.speed=t}get startTime(){return this.animation.startTime}attachTimeline(t){return this._animation?this.stopTimeline=this.animation.attachTimeline(t):this.pendingTimeline=t,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}let nA={type:"spring",stiffness:500,damping:25,restSpeed:10},nE={type:"keyframes",duration:.8},nM={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},nC=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]),nV=(t,e,i,n={},s,o)=>a=>{let l=iC(n,t)||{},h=l.delay||n.delay||0,{elapsed:u=0}=n;u-=tN(h);let d={keyframes:Array.isArray(i)?i:[null,i],ease:"easeOut",velocity:e.getVelocity(),...l,delay:-u,onUpdate:t=>{e.set(t),l.onUpdate&&l.onUpdate(t)},onComplete:()=>{a(),l.onComplete&&l.onComplete()},name:t,motionValue:e,element:o?void 0:s};!function(t){for(let e in t)if(!nC.has(e))return!0;return!1}(l)&&Object.assign(d,((t,{keyframes:e})=>e.length>2?nE:r.has(t)?t.startsWith("scale")?{type:"spring",stiffness:550,damping:0===e[1]?2*Math.sqrt(550):30,restSpeed:10}:nA:nM)(t,d)),d.duration&&(d.duration=tN(d.duration)),d.repeatDelay&&(d.repeatDelay=tN(d.repeatDelay)),void 0!==d.from&&(d.keyframes[0]=d.from);let c=!1;if(!1!==d.type&&(0!==d.duration||d.repeatDelay)||(nw(d),0===d.delay&&(c=!0)),(tS.instantAnimations||tS.skipAnimations||s?.shouldSkipAnimations||l.skipAnimations)&&(c=!0,nw(d),d.delay=0),d.allowFlatten=!l.type&&!l.ease,c&&!o&&void 0!==e.get()){let t=tJ(d.keyframes,l);if(void 0!==t)return void tM.update(()=>{d.onUpdate(t),d.onComplete()})}return l.isSync?new ny(d):new nS(d)};function nk(t,e,{delay:i=0,transitionOverride:n,type:s}={}){let{transition:r,transitionEnd:o,...a}=e,l=t.getDefaultTransition();r=r?iM(r,l):l;let h=r?.reduceMotion,u=r?.skipAnimations;n&&(r=n);let d=[],c=s&&t.animationState&&t.animationState.getState()[s],p=r?.path;for(let e in p&&p.animateVisualElement(t,a,r,i,d),a){let n=t.getValue(e,t.latestValues[e]??null),s=a[e];if(void 0===s||c&&function({protectedKeys:t,needsAnimating:e},i){let n=t.hasOwnProperty(i)&&!0!==e[i];return e[i]=!1,n}(c,e))continue;let o={delay:i,...iC(r||{},e)};u&&(o.skipAnimations=!0);let l=n.get();if(void 0!==l&&!n.isAnimating()&&!Array.isArray(s)&&s===l&&!o.velocity){tM.update(()=>n.set(s));continue}let p=!1;if(window.MotionHandoffAnimation){let i=t.props[iw];if(i){let t=window.MotionHandoffAnimation(i,e,tM);null!==t&&(o.startTime=t,p=!0)}}ik(t,e);let m=h??t.shouldReduceMotion;n.start(nV(e,n,s,m&&K.has(e)?{type:!1}:o,t,p));let f=n.animation;f&&d.push(f)}if(o){let e=()=>tM.update(()=>{o&&function(t,e){let{transitionEnd:i={},transition:n={},...s}=iE(t,e)||{};for(let e in s={...s,...i}){var r;let i=iV(r=s[e])?r[r.length-1]||0:r;t.hasValue(e)?t.getValue(e).set(i):t.addValue(e,er(i))}}(t,o)});d.length?Promise.all(d).then(e):e()}return d}function nR(t,e,i,n=0,s=1){let r=Array.from(t).sort((t,e)=>t.sortNodePosition(e)).indexOf(e),o=t.size,a=(o-1)*n;return"function"==typeof i?i(r,o):1===s?r*n:a-r*n}function nD(t,e,i={}){let n=iE(t,e,"exit"===i.type?t.presenceContext?.custom:void 0),{transition:s=t.getDefaultTransition()||{}}=n||{};i.transitionOverride&&(s=i.transitionOverride);let r=n?()=>Promise.all(nk(t,n,i)):()=>Promise.resolve(),o=t.variantChildren&&t.variantChildren.size?(n=0)=>{let{delayChildren:r=0,staggerChildren:o,staggerDirection:a}=s;return function(t,e,i=0,n=0,s=0,r=1,o){let a=[];for(let l of t.variantChildren)l.notify("AnimationStart",e),a.push(nD(l,e,{...o,delay:i+("function"==typeof n?0:n)+nR(t.variantChildren,l,n,s,r)}).then(()=>l.notify("AnimationComplete",e)));return Promise.all(a)}(t,e,n,r,o,a,i)}:()=>Promise.resolve(),{when:a}=s;if(!a)return Promise.all([r(),o(i.delay)]);{let[t,e]="beforeChildren"===a?[r,o]:[o,r];return t().then(()=>e())}}let nL=ed.length;function nj(t,e){if(!Array.isArray(e))return!1;let i=e.length;if(i!==t.length)return!1;for(let n=0;nt.removeEventListener(e,i)}let nN={x:!1,y:!1};function nz(t){return t.max-t.min}function nY(t,e,i,n=.5){t.origin=n,t.originPoint=eO(e.min,e.max,t.origin),t.scale=nz(i)/nz(e),t.translate=eO(i.min,i.max,t.origin)-t.originPoint,(t.scale>=.9999&&t.scale<=1.0001||isNaN(t.scale))&&(t.scale=1),(t.translate>=-.01&&t.translate<=.01||isNaN(t.translate))&&(t.translate=0)}function nX(t,e,i,n){nY(t.x,e.x,i.x,n?n.originX:void 0),nY(t.y,e.y,i.y,n?n.originY:void 0)}function nH(t,e,i,n=0){t.min=(n?eO(i.min,i.max,n):i.min)+e.min,t.max=t.min+nz(e)}function n_(t,e,i,n=0){let s=n?eO(i.min,i.max,n):i.min;t.min=e.min-s,t.max=t.min+nz(e)}function nK(t,e,i,n){n_(t.x,e.x,i.x,n?.x),n_(t.y,e.y,i.y,n?.y)}let nG=t=>"object"==typeof t&&null!==t;function nq(t){return nG(t)&&"ownerSVGElement"in t}function nZ(t,e,i){if(null==t)return[];if(t instanceof EventTarget)return[t];if("string"==typeof t){let n=document;e&&(n=e.current);let s=i?.[t]??n.querySelectorAll(t);return s?Array.from(s):[]}return Array.from(t).filter(t=>null!=t)}let nJ=new WeakMap,nQ=(t,e,i)=>(n,s)=>s&&s[0]?s[0][t+"Size"]:nq(n)&&"getBBox"in n?n.getBBox()[e]:n[i],n0=nQ("inline","width","offsetWidth"),n1=nQ("block","height","offsetHeight");function n5({target:t,borderBoxSize:e}){nJ.get(t)?.forEach(i=>{i(t,{get width(){return n0(t,e)},get height(){return n1(t,e)}})})}function n3(t){t.forEach(n5)}let n2=new Set;function n9(t,e){let s;return"function"==typeof t?(n2.add(t),n||(n=()=>{let t={get width(){return window.innerWidth},get height(){return window.innerHeight}};n2.forEach(e=>e(t))},window.addEventListener("resize",n)),()=>{n2.delete(t),n2.size||"function"!=typeof n||(window.removeEventListener("resize",n),n=void 0)}):(!i&&"u">typeof ResizeObserver&&(i=new ResizeObserver(n3)),(s=nZ(t)).forEach(t=>{let n=nJ.get(t);n||(n=new Set,nJ.set(t,n)),n.add(e),i?.observe(t)}),()=>{s.forEach(t=>{let n=nJ.get(t);n?.delete(e),n?.size||i?.unobserve(t)})})}let n4=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]),n6=new Set(["INPUT","SELECT","TEXTAREA"]),n8=t=>"mouse"===t.pointerType?"number"!=typeof t.button||t.button<=0:!1!==t.isPrimary;function n7(t){return{point:{x:t.pageX,y:t.pageY}}}function st(t,e,i,n){return nW(t,e,t=>n8(t)&&i(t,n7(t)),n)}let se=({current:t})=>t?t.ownerDocument.defaultView:null,si=(t,e)=>Math.abs(t-e),sn=new Set(["auto","scroll"]);class ss{constructor(t,e,{transformPagePoint:i,contextWindow:n=window,dragSnapToOrigin:s=!1,distanceThreshold:r=3,element:o}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=t=>{this.handleScroll(t.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{var t,e;if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=sr(this.lastRawMoveEventInfo,this.transformPagePoint));let i=sa(this.lastMoveEventInfo,this.history),n=null!==this.startEvent,s=(t=i.offset,e={x:0,y:0},Math.sqrt(si(t.x,e.x)**2+si(t.y,e.y)**2)>=this.distanceThreshold);if(!n&&!s)return;let{point:r}=i,{timestamp:o}=tV;this.history.push({...r,timestamp:o});let{onStart:a,onMove:l}=this.handlers;n||(a&&a(this.lastMoveEvent,i),this.startEvent=this.lastMoveEvent),l&&l(this.lastMoveEvent,i)},this.handlePointerMove=(t,e)=>{this.lastMoveEvent=t,this.lastRawMoveEventInfo=e,this.lastMoveEventInfo=sr(e,this.transformPagePoint),tM.update(this.updatePoint,!0)},this.handlePointerUp=(t,e)=>{this.end();let{onEnd:i,onSessionEnd:n,resumeAnimation:s}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&s&&s(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let r=sa("pointercancel"===t.type?this.lastMoveEventInfo:sr(e,this.transformPagePoint),this.history);this.startEvent&&i&&i(t,r),n&&n(t,r)},!n8(t))return;this.dragSnapToOrigin=s,this.handlers=e,this.transformPagePoint=i,this.distanceThreshold=r,this.contextWindow=n||window;const a=sr(n7(t),this.transformPagePoint),{point:l}=a,{timestamp:h}=tV;this.history=[{...l,timestamp:h}];const{onSessionStart:u}=e;u&&u(t,sa(a,this.history)),this.removeListeners=iR(st(this.contextWindow,"pointermove",this.handlePointerMove),st(this.contextWindow,"pointerup",this.handlePointerUp),st(this.contextWindow,"pointercancel",this.handlePointerUp)),o&&this.startScrollTracking(o)}startScrollTracking(t){let e=t.parentElement;for(;e;){let t=getComputedStyle(e);(sn.has(t.overflowX)||sn.has(t.overflowY))&&this.scrollPositions.set(e,{x:e.scrollLeft,y:e.scrollTop}),e=e.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener("scroll",this.onElementScroll,{capture:!0}),window.addEventListener("scroll",this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener("scroll",this.onElementScroll,{capture:!0}),window.removeEventListener("scroll",this.onWindowScroll)}}handleScroll(t){let e=this.scrollPositions.get(t);if(!e)return;let i=t===window,n=i?{x:window.scrollX,y:window.scrollY}:{x:t.scrollLeft,y:t.scrollTop},s={x:n.x-e.x,y:n.y-e.y};(0!==s.x||0!==s.y)&&(i?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=s.x,this.lastMoveEventInfo.point.y+=s.y):this.history.length>0&&(this.history[0].x-=s.x,this.history[0].y-=s.y),this.scrollPositions.set(t,n),tM.update(this.updatePoint,!0))}updateHandlers(t){this.handlers=t}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),tC(this.updatePoint)}}function sr(t,e){return e?{point:e(t.point)}:t}function so(t,e){return{x:t.x-e.x,y:t.y-e.y}}function sa({point:t},e){return{point:t,delta:so(t,sl(e)),offset:so(t,e[0]),velocity:function(t){if(t.length<2)return{x:0,y:0};let e=t.length-1,i=null,n=sl(t);for(;e>=0&&(i=t[e],!(n.timestamp-i.timestamp>tN(.1)));)e--;if(!i)return{x:0,y:0};i===t[0]&&t.length>2&&n.timestamp-i.timestamp>2*tN(.1)&&(i=t[1]);let s=(n.timestamp-i.timestamp)/1e3;if(0===s)return{x:0,y:0};let r={x:(n.x-i.x)/s,y:(n.y-i.y)/s};return r.x===1/0&&(r.x=0),r.y===1/0&&(r.y=0),r}(e)}}function sl(t){return t[t.length-1]}function sh(t,e,i){return{min:void 0!==e?t.min+e:void 0,max:void 0!==i?t.max+i-(t.max-t.min):void 0}}function su(t,e){let i=e.min-t.min,n=e.max-t.max;return e.max-e.min{e&&this.snapToCursor(n7(t).point),this.stopAnimation()},r=(t,e)=>{let{drag:i,dragPropagation:n,onDragStart:s}=this.getProps();if(i&&!n&&(this.openDragLock&&this.openDragLock(),this.openDragLock=function(t){if("x"===t||"y"===t)if(nN[t])return null;else return nN[t]=!0,()=>{nN[t]=!1};return nN.x||nN.y?null:(nN.x=nN.y=!0,()=>{nN.x=nN.y=!1})}(i),!this.openDragLock))return;this.latestPointerEvent=t,this.latestPanInfo=e,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),n$(t=>{let e=this.getAxisMotionValue(t).get()||0;if(w.test(e)){let{projection:i}=this.visualElement;if(i&&i.layout){let n=i.layout.layoutBox[t];n&&(e=nz(n)*(parseFloat(e)/100))}}this.originPoint[t]=e}),s&&tM.update(()=>s(t,e),!1,!0),ik(this.visualElement,"transform");let{animationState:r}=this.visualElement;r&&r.setActive("whileDrag",!0)},o=(t,e)=>{this.latestPointerEvent=t,this.latestPanInfo=e;let{dragPropagation:i,dragDirectionLock:n,onDirectionLock:s,onDrag:r}=this.getProps();if(!i&&!this.openDragLock)return;let{offset:o}=e;if(n&&null===this.currentDirection){this.currentDirection=function(t,e=10){let i=null;return Math.abs(t.y)>e?i="y":Math.abs(t.x)>e&&(i="x"),i}(o),null!==this.currentDirection&&s&&s(this.currentDirection);return}this.updateAxis("x",e.point,o),this.updateAxis("y",e.point,o),this.visualElement.render(),r&&tM.update(()=>r(t,e),!1,!0)},a=(t,e)=>{this.latestPointerEvent=t,this.latestPanInfo=e,this.stop(t,e),this.latestPointerEvent=null,this.latestPanInfo=null},l=()=>{let{dragSnapToOrigin:t}=this.getProps();(t||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:h}=this.getProps();this.panSession=new ss(t,{onSessionStart:s,onStart:r,onMove:o,onSessionEnd:a,resumeAnimation:l},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:h,distanceThreshold:i,contextWindow:se(this.visualElement),element:this.visualElement.current})}stop(t,e){let i=t||this.latestPointerEvent,n=e||this.latestPanInfo,s=this.isDragging;if(this.cancel(),!s||!n||!i)return;let{velocity:r}=n;this.startAnimation(r);let{onDragEnd:o}=this.getProps();o&&tM.postRender(()=>o(i,n))}cancel(){this.isDragging=!1;let{projection:t,animationState:e}=this.visualElement;t&&(t.isAnimationBlocked=!1),this.endPanSession();let{dragPropagation:i}=this.getProps();!i&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),e&&e.setActive("whileDrag",!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(t,e,i){let{drag:n}=this.getProps();if(!i||!sy(t,n,this.currentDirection))return;let s=this.getAxisMotionValue(t),r=this.originPoint[t]+i[t];this.constraints&&this.constraints[t]&&(r=function(t,{min:e,max:i},n){return void 0!==e&&ti&&(t=n?eO(i,t,n.max):Math.min(t,i)),t}(r,this.constraints[t],this.elastic[t])),s.set(r)}resolveConstraints(){let{dragConstraints:t,dragElastic:e}=this.getProps(),i=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,n=this.constraints;t&&iT(t)?this.constraints||(this.constraints=this.resolveRefConstraints()):t&&i?this.constraints=function(t,{top:e,left:i,bottom:n,right:s}){return{x:sh(t.x,i,s),y:sh(t.y,e,n)}}(i.layoutBox,t):this.constraints=!1,this.elastic=function(t=.35){return!1===t?t=0:!0===t&&(t=.35),{x:sd(t,"left","right"),y:sd(t,"top","bottom")}}(e),n!==this.constraints&&!iT(t)&&i&&this.constraints&&!this.hasMutatedConstraints&&n$(t=>{var e,n;let s;!1!==this.constraints&&this.getAxisMotionValue(t)&&(this.constraints[t]=(e=i.layoutBox[t],n=this.constraints[t],s={},void 0!==n.min&&(s.min=n.min-e.min),void 0!==n.max&&(s.max=n.max-e.min),s))})}resolveRefConstraints(){var t;let{dragConstraints:e,onMeasureDragConstraints:i}=this.getProps();if(!e||!iT(e))return!1;let n=e.current;te(null!==n,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.","drag-constraints-ref");let{projection:s}=this.visualElement;if(!s||!s.layout)return!1;s.root&&(s.root.scroll=void 0,s.root.updateScroll());let r=function(t,e,i){let n=e1(t,i),{scroll:s}=e;return s&&(eZ(n.x,s.offset.x),eZ(n.y,s.offset.y)),n}(n,s.root,this.visualElement.getTransformPagePoint()),o=(t=s.layout.layoutBox,{x:su(t.x,r.x),y:su(t.y,r.y)});if(i){let t=i(function({x:t,y:e}){return{top:e.min,right:t.max,bottom:e.max,left:t.min}}(o));this.hasMutatedConstraints=!!t,t&&(o=ez(t))}return o}startAnimation(t){let{drag:e,dragMomentum:i,dragElastic:n,dragTransition:s,dragSnapToOrigin:r,onDragTransitionEnd:o}=this.getProps(),a=this.constraints||{};return Promise.all(n$(o=>{if(!sy(o,e,this.currentDirection))return;let l=a&&a[o]||{};(!0===r||r===o)&&(l={min:0,max:0});let h={type:"inertia",velocity:i?t[o]:0,bounceStiffness:n?200:1e6,bounceDamping:n?40:1e7,timeConstant:750,restDelta:1,restSpeed:10,...s,...l};return this.startAxisValueAnimation(o,h)})).then(o)}startAxisValueAnimation(t,e){let i=this.getAxisMotionValue(t);return ik(this.visualElement,t),i.start(nV(t,i,0,e,this.visualElement,!1))}stopAnimation(){n$(t=>this.getAxisMotionValue(t).stop())}getAxisMotionValue(t){let e=`_drag${t.toUpperCase()}`;return this.visualElement.getProps()[e]||this.visualElement.getValue(t,this.visualElement.latestValues[t]??0)}snapToCursor(t){n$(e=>{let{drag:i}=this.getProps();if(!sy(e,i,this.currentDirection))return;let{projection:n}=this.visualElement,s=this.getAxisMotionValue(e);if(n&&n.layout){let{min:i,max:r}=n.layout.layoutBox[e],o=s.get()||0;s.set(t[e]-eO(i,r,.5)+o)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:t,dragConstraints:e}=this.getProps(),{projection:i}=this.visualElement;if(!iT(e)||!i||!this.constraints)return;this.stopAnimation();let n={x:0,y:0};n$(t=>{let e=this.getAxisMotionValue(t);if(e&&!1!==this.constraints){var i,s;let r,a,l,h=e.get();n[t]=(i={min:h,max:h},s=this.constraints[t],r=.5,a=nz(i),(l=nz(s))>a?r=nu(s.min,s.max-a,i.min):a>l&&(r=nu(i.min,i.max-l,s.min)),o(0,1,r))}});let{transformTemplate:s}=this.visualElement.getProps();this.visualElement.current.style.transform=s?s({},""):"none",i.root&&i.root.updateScroll(),i.updateLayout(),this.constraints=!1,this.resolveConstraints(),n$(e=>{if(!sy(e,t,null))return;let i=this.getAxisMotionValue(e),{min:s,max:r}=this.constraints[e];i.set(eO(s,r,n[e]))}),this.visualElement.render()}addListeners(){let t;if(!this.visualElement.current)return;sp.set(this.visualElement,this);let e=this.visualElement.current,i=st(e,"pointerdown",t=>{let{drag:i,dragListener:n=!0}=this.getProps(),s=t.target,r=s!==e&&(n6.has(s.tagName)||!0===s.isContentEditable);i&&n&&!r&&this.start(t)}),n=()=>{var i,n,s;let r,o,{dragConstraints:a}=this.getProps();iT(a)&&a.current&&(this.constraints=this.resolveRefConstraints(),t||(i=e,n=a.current,r=n9(i,sf(s=()=>this.scalePositionWithinConstraints())),o=n9(n,sf(s)),t=()=>{r(),o()}))},{projection:s}=this.visualElement,r=s.addEventListener("measure",n);s&&!s.layout&&(s.root&&s.root.updateScroll(),s.updateLayout()),tM.read(n);let o=nW(window,"resize",()=>this.scalePositionWithinConstraints()),a=s.addEventListener("didUpdate",({delta:t,hasLayoutChanged:e})=>{this.isDragging&&e&&(n$(e=>{let i=this.getAxisMotionValue(e);i&&(this.originPoint[e]+=t[e].translate,i.set(i.get()+t[e].translate))}),this.visualElement.render())});return()=>{o(),i(),r(),a&&a(),t&&t()}}getProps(){let t=this.visualElement.getProps(),{drag:e=!1,dragDirectionLock:i=!1,dragPropagation:n=!1,dragConstraints:s=!1,dragElastic:r=.35,dragMomentum:o=!0}=t;return{...t,drag:e,dragDirectionLock:i,dragPropagation:n,dragConstraints:s,dragElastic:r,dragMomentum:o}}}function sf(t){let e=!0;return()=>{if(e){e=!1;return}t()}}function sy(t,e,i){return(!0===e||e===t)&&(null===i||i===t)}let sg=t=>(e,i)=>{t&&tM.update(()=>t(e,i),!1,!0)},sv={hasAnimatedSinceResize:!0,hasEverUpdated:!1};var sx=e3;function sw(t=!0){let e=(0,e3.useContext)(iu);if(null===e)return[!0,null];let{isPresent:i,onExitComplete:n,register:s}=e,r=(0,e3.useId)();(0,e3.useEffect)(()=>{if(t)return s(r)},[t]);let o=(0,e3.useCallback)(()=>t&&n&&n(r),[r,n,t]);return!i&&n?[!1,o]:[!0]}let sb=!1;class sT extends sx.Component{componentDidMount(){let{visualElement:t,layoutGroup:e,switchLayoutGroup:i,layoutId:n}=this.props,{projection:s}=t;s&&(e.group&&e.group.add(s),i&&i.register&&n&&i.register(s),sb&&s.root.didUpdate(),s.addEventListener("animationComplete",()=>{this.safeToRemove()}),s.setOptions({...s.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),sv.hasEverUpdated=!0}getSnapshotBeforeUpdate(t){let{layoutDependency:e,visualElement:i,drag:n,isPresent:s}=this.props,{projection:r}=i;return r&&(r.isPresent=s,t.layoutDependency!==e&&r.setOptions({...r.options,layoutDependency:e}),sb=!0,n||t.layoutDependency!==e||void 0===e||t.isPresent!==s?r.willUpdate():this.safeToRemove(),t.isPresent!==s&&(s?r.promote():r.relegate()||tM.postRender(()=>{let t=r.getStack();t&&t.members.length||this.safeToRemove()}))),null}componentDidUpdate(){let{visualElement:t,layoutAnchor:e}=this.props,{projection:i}=t;i&&(i.options.layoutAnchor=e,i.root.didUpdate(),t7.postRender(()=>{!i.currentAnimation&&i.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:t,layoutGroup:e,switchLayoutGroup:i}=this.props,{projection:n}=t;sb=!0,n&&(n.scheduleCheckAfterUnmount(),e&&e.group&&e.group.remove(n),i&&i.deregister&&i.deregister(n))}safeToRemove(){let{safeToRemove:t}=this.props;t&&t()}render(){return null}}function sP(t){let[e,i]=sw(),n=(0,sx.useContext)(e6);return(0,e4.jsx)(sT,{...t,layoutGroup:n,switchLayoutGroup:(0,sx.useContext)(ib),isPresent:e,safeToRemove:i})}let sS=["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"],sA=sS.length,sE=t=>"string"==typeof t?parseFloat(t):t,sM=t=>"number"==typeof t||b.test(t);function sC(t,e){return void 0!==t[e]?t[e]:t.borderRadius}let sV=sR(0,.5,no),sk=sR(.5,.95,tP);function sR(t,e,i){return n=>ne?1:i(nu(t,e,n))}function sD(t,e){t.min=e.min,t.max=e.max}function sL(t,e){sD(t.x,e.x),sD(t.y,e.y)}function sj(t,e){t.translate=e.translate,t.scale=e.scale,t.originPoint=e.originPoint,t.origin=e.origin}function sB(t,e,i,n,s){return t-=e,t=n+1/i*(t-n),void 0!==s&&(t=n+1/s*(t-n)),t}function sF(t,e,[i,n,s],r,o){!function(t,e=0,i=1,n=.5,s,r=t,o=t){if(w.test(e)&&(e=parseFloat(e),e=eO(o.min,o.max,e/100)-o.min),"number"!=typeof e)return;let a=eO(r.min,r.max,n);t===r&&(a-=e),t.min=sB(t.min,e,i,a,s),t.max=sB(t.max,e,i,a,s)}(t,e[i],e[n],e[s],e.scale,r,o)}let sO=["x","scaleX","originX"],sI=["y","scaleY","originY"];function sU(t,e,i,n){sF(t.x,e,sO,i?i.x:void 0,n?n.x:void 0),sF(t.y,e,sI,i?i.y:void 0,n?n.y:void 0)}function s$(t){return 0===t.translate&&1===t.scale}function sW(t){return s$(t.x)&&s$(t.y)}function sN(t,e){return t.min===e.min&&t.max===e.max}function sz(t,e){return Math.round(t.min)===Math.round(e.min)&&Math.round(t.max)===Math.round(e.max)}function sY(t,e){return sz(t.x,e.x)&&sz(t.y,e.y)}function sX(t){return nz(t.x)/nz(t.y)}function sH(t,e){return t.translate===e.translate&&t.scale===e.scale&&t.originPoint===e.originPoint}class s_{constructor(){this.members=[]}add(t){tz(this.members,t);for(let e=this.members.length-1;e>=0;e--){let i=this.members[e];if(i===t||i===this.lead||i===this.prevLead)continue;let n=i.instance;n&&!1!==n.isConnected||i.snapshot||(tY(this.members,i),i.unmount())}t.scheduleRender()}remove(t){if(tY(this.members,t),t===this.prevLead&&(this.prevLead=void 0),t===this.lead){let t=this.members[this.members.length-1];t&&this.promote(t)}}relegate(t){for(let e=this.members.indexOf(t)-1;e>=0;e--){let t=this.members[e];if(!1!==t.isPresent&&t.instance?.isConnected!==!1)return this.promote(t),!0}return!1}promote(t,e){let i=this.lead;if(t!==i&&(this.prevLead=i,this.lead=t,t.show(),i)){i.updateSnapshot(),t.scheduleRender();let{layoutDependency:n}=i.options,{layoutDependency:s}=t.options;(void 0===n||n!==s)&&(t.resumeFrom=i,e&&(i.preserveOpacity=!0),i.snapshot&&(t.snapshot=i.snapshot,t.snapshot.latestValues=i.animationValues||i.latestValues),t.root?.isUpdating&&(t.isLayoutDirty=!0)),!1===t.options.crossfade&&i.hide()}}exitAnimationComplete(){this.members.forEach(t=>{t.options.onExitComplete?.(),t.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(t=>t.instance&&t.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}}let sK=(t,e)=>t.depth-e.depth;class sG{constructor(){this.children=[],this.isDirty=!1}add(t){tz(this.children,t),this.isDirty=!0}remove(t){tY(this.children,t),this.isDirty=!0}forEach(t){this.isDirty&&this.children.sort(sK),this.isDirty=!1,this.children.forEach(t)}}let sq=["","X","Y","Z"],sZ=0;function sJ(t,e,i,n){let{latestValues:s}=e;s[t]&&(i[t]=s[t],e.setStaticValue(t,0),n&&(n[t]=0))}function sQ({attachResizeListener:t,defaultParent:e,measureScroll:i,checkIsScrollRoot:n,resetTransform:s}){return class{constructor(t={},i=e?.()){this.id=sZ++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,this.nodes.forEach(s5),this.nodes.forEach(re),this.nodes.forEach(ri),this.nodes.forEach(s3)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=t,this.root=i?i.root||i:this,this.path=i?[...i.path,i]:[],this.parent=i,this.depth=i?i.depth+1:0;for(let t=0;tthis.root.updateBlockedByResize=!1;tM.read(()=>{n=window.innerWidth}),t(e,()=>{let t=window.innerWidth;if(t!==n){let e,r;n=t,this.root.updateBlockedByResize=!0,i&&i(),e=ee.now(),r=({timestamp:t})=>{let i=t-e;i>=250&&(tC(r),s(i-250))},tM.setup(r,!0),i=()=>tC(r),sv.hasAnimatedSinceResize&&(sv.hasAnimatedSinceResize=!1,this.nodes.forEach(rt))}})}i&&this.root.registerSharedNode(i,this),!1!==this.options.animate&&s&&(i||n)&&this.addEventListener("didUpdate",({delta:t,hasLayoutChanged:e,hasRelativeLayoutChanged:i,layout:n})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}let r=this.options.transition||s.getDefaultTransition()||rl,{onLayoutAnimationStart:o,onLayoutAnimationComplete:a}=s.getProps(),l=!this.targetLayout||!sY(this.targetLayout,n),h=!e&&i;if(this.options.layoutRoot||this.resumeFrom||h||e&&(l||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);let e={...iC(r,"layout"),onPlay:o,onComplete:a};(s.shouldReduceMotion||this.options.layoutRoot)&&(e.delay=0,e.type=!1),this.startAnimation(e),this.setAnimationOrigin(t,h,e.path)}else e||rt(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=n})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let t=this.getStack();t&&t.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),tC(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){!this.isUpdateBlocked()&&(this.isUpdating=!0,this.nodes&&this.nodes.forEach(rn),this.animationId++)}getTransformTemplate(){let{visualElement:t}=this.options;return t&&t.getProps().transformTemplate}willUpdate(t=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&function t(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;let{visualElement:i}=e.options;if(!i)return;let n=i.props[iw];if(window.MotionHasOptimisedAnimation(n,"transform")){let{layout:t,layoutId:i}=e.options;window.MotionCancelOptimisedAnimation(n,"transform",tM,!(t||i))}let{parent:s}=e;s&&!s.hasCheckedOptimisedAppear&&t(s)}(this),this.root.isUpdating||this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let t=0;t{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){!this.snapshot&&this.instance&&(this.snapshot=this.measure(),!this.snapshot||nz(this.snapshot.measuredBox.x)||nz(this.snapshot.measuredBox.y)||(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let t=0;t.999999999999&&(e.x=1),e.y<1.0000000000001&&e.y>.999999999999&&(e.y=1)}}(this.layoutCorrected,this.treeScale,this.path,e),t.layout&&!t.target&&(1!==this.treeScale.x||1!==this.treeScale.y)&&(t.target=t.layout.layoutBox,t.targetWithTransforms=H());let{target:a}=t;if(!a){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}this.projectionDelta&&this.prevProjectionDelta?(sj(this.prevProjectionDelta.x,this.projectionDelta.x),sj(this.prevProjectionDelta.y,this.projectionDelta.y)):this.createProjectionDeltas(),nX(this.projectionDelta,this.layoutCorrected,a,this.latestValues),this.treeScale.x===r&&this.treeScale.y===o&&sH(this.projectionDelta.x,this.prevProjectionDelta.x)&&sH(this.projectionDelta.y,this.prevProjectionDelta.y)||(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",a))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(t=!0){if(this.options.visualElement?.scheduleRender(),t){let t=this.getStack();t&&t.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=Y(),this.projectionDelta=Y(),this.projectionDeltaWithTransform=Y()}setAnimationOrigin(t,e=!1,i){let n,s=this.snapshot,r=s?s.latestValues:{},o={...this.latestValues},a=Y();this.relativeParent&&this.relativeParent.options.layoutRoot||(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!e;let l=H(),h=(s?s.source:void 0)!==(this.layout?this.layout.source:void 0),u=this.getStack(),d=!u||u.members.length<=1,c=!!(h&&!d&&!0===this.options.crossfade&&!this.path.some(ra));this.animationProgress=0;let p=i?.interpolateProjection(t);this.mixTargetDelta=e=>{let i=e/1e3,s=p?.(i);if(s?(a.x.translate=s.x,a.x.scale=eO(t.x.scale,1,i),a.x.origin=t.x.origin,a.x.originPoint=t.x.originPoint,a.y.translate=s.y,a.y.scale=eO(t.y.scale,1,i),a.y.origin=t.y.origin,a.y.originPoint=t.y.originPoint):(rr(a.x,t.x,i),rr(a.y,t.y,i)),this.setTargetDelta(a),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout){var u,m,f,y,g,v;nK(l,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),f=this.relativeTarget,y=this.relativeTargetOrigin,g=l,v=i,ro(f.x,y.x,g.x,v),ro(f.y,y.y,g.y,v),n&&(u=this.relativeTarget,m=n,sN(u.x,m.x)&&sN(u.y,m.y))&&(this.isProjectionDirty=!1),n||(n=H()),sL(n,this.relativeTarget)}h&&(this.animationValues=o,function(t,e,i,n,s,r){s?(t.opacity=eO(0,i.opacity??1,sV(n)),t.opacityExit=eO(e.opacity??1,0,sk(n))):r&&(t.opacity=eO(e.opacity??1,i.opacity??1,n));for(let s=0;s{var e,i,n;let s;sv.hasAnimatedSinceResize=!0,t0.layout++,this.motionValue||(this.motionValue=er(0)),this.motionValue.jump(0,!1),this.currentAnimation=(e=this.motionValue,i=[0,1e3],n={...t,velocity:0,isSync:!0,onUpdate:e=>{this.mixTargetDelta(e),t.onUpdate&&t.onUpdate(e)},onStop:()=>{t0.layout--},onComplete:()=>{t0.layout--,t.onComplete&&t.onComplete(),this.completeAnimation()}},(s=_(e)?e:er(e)).start(nV("",s,i,n)),s.animation),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);let t=this.getStack();t&&t.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(1e3),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){let t=this.getLead(),{targetWithTransforms:e,target:i,layout:n,latestValues:s}=t;if(e&&i&&n){if(this!==t&&this.layout&&n&&rc(this.options.animationType,this.layout.layoutBox,n.layoutBox)){i=this.target||H();let e=nz(this.layout.layoutBox.x);i.x.min=t.target.x.min,i.x.max=i.x.min+e;let n=nz(this.layout.layoutBox.y);i.y.min=t.target.y.min,i.y.max=i.y.min+n}sL(e,i),e0(e,s),nX(this.projectionDeltaWithTransform,this.layoutCorrected,e,s)}}registerSharedNode(t,e){this.sharedNodes.has(t)||this.sharedNodes.set(t,new s_),this.sharedNodes.get(t).add(e);let i=e.options.initialPromotionConfig;e.promote({transition:i?i.transition:void 0,preserveFollowOpacity:i&&i.shouldPreserveFollowOpacity?i.shouldPreserveFollowOpacity(e):void 0})}isLead(){let t=this.getStack();return!t||t.lead===this}getLead(){let{layoutId:t}=this.options;return t&&this.getStack()?.lead||this}getPrevLead(){let{layoutId:t}=this.options;return t?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:t}=this.options;if(t)return this.root.sharedNodes.get(t)}promote({needsReset:t,transition:e,preserveFollowOpacity:i}={}){let n=this.getStack();n&&n.promote(this,i),t&&(this.projectionDelta=void 0,this.needsReset=!0),e&&this.setOptions({transition:e})}relegate(){let t=this.getStack();return!!t&&t.relegate(this)}resetSkewAndRotation(){let{visualElement:t}=this.options;if(!t)return;let e=!1,{latestValues:i}=t;if((i.z||i.rotate||i.rotateX||i.rotateY||i.rotateZ||i.skewX||i.skewY)&&(e=!0),!e)return;let n={};i.z&&sJ("z",t,n,this.animationValues);for(let e=0;et.currentAnimation?.stop()),this.root.nodes.forEach(s9),this.root.sharedNodes.clear()}}}function s0(t){t.updateLayout()}function s1(t){let e=t.resumeFrom?.snapshot||t.snapshot;if(t.isLead()&&t.layout&&e&&t.hasListeners("didUpdate")){let{layoutBox:i,measuredBox:n}=t.layout,{animationType:s}=t.options,r=e.source!==t.layout.source;if("size"===s)n$(t=>{let n=r?e.measuredBox[t]:e.layoutBox[t],s=nz(n);n.min=i[t].min,n.max=n.min+s});else if("x"===s||"y"===s){let t="x"===s?"y":"x";sD(r?e.measuredBox[t]:e.layoutBox[t],i[t])}else rc(s,e.layoutBox,i)&&n$(n=>{let s=r?e.measuredBox[n]:e.layoutBox[n],o=nz(i[n]);s.max=s.min+o,t.relativeTarget&&!t.currentAnimation&&(t.isProjectionDirty=!0,t.relativeTarget[n].max=t.relativeTarget[n].min+o)});let o=Y();nX(o,i,e.layoutBox);let a=Y();r?nX(a,t.applyTransform(n,!0),e.measuredBox):nX(a,i,e.layoutBox);let l=!sW(o),h=!1;if(!t.resumeFrom){let n=t.getClosestProjectingParent();if(n&&!n.resumeFrom){let{snapshot:s,layout:r}=n;if(s&&r){let o=t.options.layoutAnchor||void 0,a=H();nK(a,e.layoutBox,s.layoutBox,o);let l=H();nK(l,i,r.layoutBox,o),sY(a,l)||(h=!0),n.options.layoutRoot&&(t.relativeTarget=l,t.relativeTargetOrigin=a,t.relativeParent=n)}}}t.notifyListeners("didUpdate",{layout:i,snapshot:e,delta:a,layoutDelta:o,hasLayoutChanged:l,hasRelativeLayoutChanged:h})}else if(t.isLead()){let{onExitComplete:e}=t.options;e&&e()}t.options.transition=void 0}function s5(t){t.parent&&(t.isProjecting()||(t.isProjectionDirty=t.parent.isProjectionDirty),t.isSharedProjectionDirty||(t.isSharedProjectionDirty=!!(t.isProjectionDirty||t.parent.isProjectionDirty||t.parent.isSharedProjectionDirty)),t.isTransformDirty||(t.isTransformDirty=t.parent.isTransformDirty))}function s3(t){t.isProjectionDirty=t.isSharedProjectionDirty=t.isTransformDirty=!1}function s2(t){t.clearSnapshot()}function s9(t){t.clearMeasurements()}function s4(t){t.isLayoutDirty=!0,t.updateLayout()}function s6(t){t.isLayoutDirty=!1}function s8(t){t.isAnimationBlocked&&t.layout&&!t.isLayoutDirty&&(t.snapshot=t.layout,t.isLayoutDirty=!0)}function s7(t){let{visualElement:e}=t.options;e&&e.getProps().onBeforeLayoutMeasure&&e.notify("BeforeLayoutMeasure"),t.resetTransform()}function rt(t){t.finishAnimation(),t.targetDelta=t.relativeTarget=t.target=void 0,t.isProjectionDirty=!0}function re(t){t.resolveTargetDelta()}function ri(t){t.calcProjection()}function rn(t){t.resetSkewAndRotation()}function rs(t){t.removeLeadSnapshot()}function rr(t,e,i){t.translate=eO(e.translate,0,i),t.scale=eO(e.scale,1,i),t.origin=e.origin,t.originPoint=e.originPoint}function ro(t,e,i,n){t.min=eO(e.min,i.min,n),t.max=eO(e.max,i.max,n)}function ra(t){return t.animationValues&&void 0!==t.animationValues.opacityExit}let rl={duration:.45,ease:[.4,0,.1,1]},rh=t=>"u">typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(t),ru=rh("applewebkit/")&&!rh("chrome/")?Math.round:tP;function rd(t){t.min=ru(t.min),t.max=ru(t.max)}function rc(t,e,i){return"position"===t||"preserve-aspect"===t&&!(.2>=Math.abs(sX(e)-sX(i)))}function rp(t){return t!==t.root&&t.scroll?.wasRoot}let rm=sQ({attachResizeListener:(t,e)=>nW(t,"resize",e),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),rf={current:void 0},ry=sQ({measureScroll:t=>({x:t.scrollLeft,y:t.scrollTop}),defaultParent:()=>{if(!rf.current){let t=new rm({});t.mount(window),t.setOptions({layoutScroll:!0}),rf.current=t}return rf.current},resetTransform:(t,e)=>{t.style.transform=void 0!==e?e:"none"},checkIsScrollRoot:t=>"fixed"===window.getComputedStyle(t).position});function rg(t,e){let i=nZ(t),n=new AbortController;return[i,{passive:!0,...e,signal:n.signal},()=>n.abort()]}function rv(t,e,i){let{props:n}=t;t.animationState&&n.whileHover&&t.animationState.setActive("whileHover","Start"===i);let s=n["onHover"+i];s&&tM.postRender(()=>s(e,n7(e)))}function rx(t){return nG(t)&&"offsetHeight"in t&&!("ownerSVGElement"in t)}let rw=(t,e)=>!!e&&(t===e||rw(t,e.parentElement)),rb=new WeakSet;function rT(t){return e=>{"Enter"===e.key&&t(e)}}function rP(t,e){t.dispatchEvent(new PointerEvent("pointer"+e,{isPrimary:!0,bubbles:!0}))}function rS(t){return n8(t)&&!(nN.x||nN.y)}let rA=new WeakSet;function rE(t,e,i){let{props:n}=t;if(t.current instanceof HTMLButtonElement&&t.current.disabled)return;t.animationState&&n.whileTap&&t.animationState.setActive("whileTap","Start"===i);let s=n["onTap"+("End"===i?"":i)];s&&tM.postRender(()=>s(e,n7(e)))}let rM=new WeakMap,rC=new WeakMap,rV=t=>{let e=rM.get(t.target);e&&e(t)},rk=t=>{t.forEach(rV)},rR={some:0,all:1},rD=function(t,e){if("u"iS(i,n,t,e);return new Proxy((t,e)=>n(t,e),{get:(s,r)=>"create"===r?n:(i.has(r)||i.set(r,iS(r,void 0,t,e)),i.get(r))})}({animation:{Feature:class extends iA{constructor(t){super(t),t.animationState||(t.animationState=function(t){let e=e=>Promise.all(e.map(({animation:e,options:i})=>(function(t,e,i={}){let n;if(t.notify("AnimationStart",e),Array.isArray(e))n=Promise.all(e.map(e=>nD(t,e,i)));else if("string"==typeof e)n=nD(t,e,i);else{let s="function"==typeof e?iE(t,e,i.custom):e;n=Promise.all(nk(t,s,i))}return n.then(()=>{t.notify("AnimationComplete",e)})})(t,e,i))),i=nI(),n=!0,s=!1,r=e=>(i,n)=>{let s=iE(t,n,"exit"===e?t.presenceContext?.custom:void 0);if(s){let{transition:t,transitionEnd:e,...n}=s;i={...i,...n,...e}}return i};function o(o){let{props:a}=t,l=function t(e){if(!e)return;if(!e.isControllingVariants){let i=e.parent&&t(e.parent)||{};return void 0!==e.props.initial&&(i.initial=e.props.initial),i}let i={};for(let t=0;tc&&v,P=!1,S=Array.isArray(g)?g:[g],A=S.reduce(r(f),{});!1===x&&(A={});let{prevResolvedValues:E={}}=y,M={...E,...A},C=e=>{T=!0,u.has(e)&&(P=!0,u.delete(e)),y.needsAnimating[e]=!0;let i=t.getValue(e);i&&(i.liveStyle=!1)};for(let t in M){let e=A[t],i=E[t];if(!d.hasOwnProperty(t))(iV(e)&&iV(i)?!nj(e,i)||b:e!==i)?null!=e?C(t):u.add(t):void 0!==e&&u.has(t)?C(t):y.protectedKeys[t]=!0}y.prevProp=g,y.prevResolvedValues=A,y.isActive&&(d={...d,...A}),(n||s)&&t.blockInitialAnimation&&(T=!1);let V=w&&b,k=!V||P;T&&k&&h.push(...S.map(e=>{let i={type:f};if("string"==typeof e&&(n||s)&&!V&&t.manuallyAnimateOnMount&&t.parent){let{parent:n}=t,s=iE(n,e);if(n.enteringChildren&&s){let{delayChildren:e}=s.transition||{};i.delay=nR(n.enteringChildren,t,e)}}return{animation:e,options:i}}))}if(u.size){let e={};if("boolean"!=typeof a.initial){let i=iE(t,Array.isArray(a.initial)?a.initial[0]:a.initial);i&&i.transition&&(e.transition=i.transition)}u.forEach(i=>{let n=t.getBaseTarget(i),s=t.getValue(i);s&&(s.liveStyle=!0),e[i]=n??null}),h.push({animation:e})}let f=!!h.length;return n&&(!1===a.initial||a.initial===a.animate)&&!t.manuallyAnimateOnMount&&(f=!1),n=!1,s=!1,f?e(h):Promise.resolve()}return{animateChanges:o,setActive:function(e,n){if(i[e].isActive===n)return Promise.resolve();t.variantChildren?.forEach(t=>t.animationState?.setActive(e,n)),i[e].isActive=n;let s=o(e);for(let t in i)i[t].protectedKeys={};return s},setAnimateFunction:function(i){e=i(t)},getState:()=>i,reset:()=>{i=nI(),s=!0}}}(t))}updateAnimationControlsSubscription(){let{animate:t}=this.node.getProps();el(t)&&(this.unmountControls=t.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){let{animate:t}=this.node.getProps(),{animate:e}=this.node.prevProps||{};t!==e&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}},exit:{Feature:class extends iA{constructor(){super(...arguments),this.id=nU++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;let{isPresent:t,onExitComplete:e}=this.node.presenceContext,{isPresent:i}=this.node.prevPresenceContext||{};if(!this.node.animationState||t===i)return;if(t&&!1===i){if(this.isExitComplete){let{initial:t,custom:e}=this.node.getProps();if("string"==typeof t||"object"==typeof t&&null!==t&&!Array.isArray(t)){let i=iE(this.node,t,e);if(i){let{transition:t,transitionEnd:e,...n}=i;for(let t in n)this.node.getValue(t)?.jump(n[t])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}let n=this.node.animationState.setActive("exit",!t);e&&!t&&n.then(()=>{this.isExitComplete=!0,e(this.id)})}mount(){let{register:t,onExitComplete:e}=this.node.presenceContext||{};e&&e(this.id),t&&(this.unmount=t(this.id))}unmount(){}}},inView:{Feature:class extends iA{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){var t;let e;this.stopObserver?.();let{viewport:i={}}=this.node.getProps(),{root:n,margin:s,amount:r="some",once:o}=i,a={root:n?n.current:void 0,rootMargin:s,threshold:"number"==typeof r?r:rR[r]},l=t=>{let{isIntersecting:e}=t;if(this.isInView===e||(this.isInView=e,o&&!e&&this.hasEnteredView))return;e&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",e);let{onViewportEnter:i,onViewportLeave:n}=this.node.getProps(),s=e?i:n;s&&s(t)};this.stopObserver=(t=this.node.current,e=function({root:t,...e}){let i=t||document;rC.has(i)||rC.set(i,{});let n=rC.get(i),s=JSON.stringify(e);return n[s]||(n[s]=new IntersectionObserver(rk,{root:t,...e})),n[s]}(a),rM.set(t,l),e.observe(t),()=>{rM.delete(t),e.unobserve(t)})}mount(){this.startObserver()}update(){if("u"t[i]!==e[i]}(t,e))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}}},tap:{Feature:class extends iA{mount(){let{current:t}=this.node;if(!t)return;let{globalTapTarget:e,propagate:i}=this.node.props;this.unmount=function(t,e,i={}){let[n,s,r]=rg(t,i),o=t=>{let n=t.currentTarget;if(!rS(t)||rA.has(t))return;rb.add(n),i.stopPropagation&&rA.add(t);let r=e(n,t),o=(t,e)=>{window.removeEventListener("pointerup",a),window.removeEventListener("pointercancel",l),rb.has(n)&&rb.delete(n),rS(t)&&"function"==typeof r&&r(t,{success:e})},a=t=>{o(t,n===window||n===document||i.useGlobalTarget||rw(n,t.target))},l=t=>{o(t,!1)};window.addEventListener("pointerup",a,s),window.addEventListener("pointercancel",l,s)};return n.forEach(t=>{((i.useGlobalTarget?window:t).addEventListener("pointerdown",o,s),rx(t))&&(t.addEventListener("focus",t=>((t,e)=>{let i=t.currentTarget;if(!i)return;let n=rT(()=>{if(rb.has(i))return;rP(i,"down");let t=rT(()=>{rP(i,"up")});i.addEventListener("keyup",t,e),i.addEventListener("blur",()=>rP(i,"cancel"),e)});i.addEventListener("keydown",n,e),i.addEventListener("blur",()=>i.removeEventListener("keydown",n),e)})(t,s)),n4.has(t.tagName)||!0===t.isContentEditable||t.hasAttribute("tabindex")||(t.tabIndex=0))}),r}(t,(t,e)=>(rE(this.node,e,"Start"),(t,{success:e})=>rE(this.node,t,e?"End":"Cancel")),{useGlobalTarget:e,stopPropagation:i?.tap===!1})}unmount(){}}},focus:{Feature:class extends iA{constructor(){super(...arguments),this.isActive=!1}onFocus(){let t=!1;try{t=this.node.current.matches(":focus-visible")}catch(e){t=!0}t&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){this.isActive&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=iR(nW(this.node.current,"focus",()=>this.onFocus()),nW(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}},hover:{Feature:class extends iA{mount(){let{current:t}=this.node;t&&(this.unmount=function(t,e,i={}){let[n,s,r]=rg(t,i);return n.forEach(t=>{let i,n=!1,r=!1,o=e=>{i&&(i(e),i=void 0),t.removeEventListener("pointerleave",l)},a=t=>{n=!1,window.removeEventListener("pointerup",a),window.removeEventListener("pointercancel",a),r&&(r=!1,o(t))},l=t=>{if("touch"!==t.pointerType){if(n){r=!0;return}o(t)}};t.addEventListener("pointerenter",n=>{if("touch"===n.pointerType||nN.x||nN.y)return;r=!1;let o=e(t,n);"function"==typeof o&&(i=o,t.addEventListener("pointerleave",l,s))},s),t.addEventListener("pointerdown",()=>{n=!0,window.addEventListener("pointerup",a,s),window.addEventListener("pointercancel",a,s)},s)}),r}(t,(t,e)=>(rv(this.node,e,"Start"),t=>rv(this.node,t,"End"))))}unmount(){}}},pan:{Feature:class extends iA{constructor(){super(...arguments),this.removePointerDownListener=tP}onPointerDown(t){this.session=new ss(t,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:se(this.node)})}createPanHandlers(){let{onPanSessionStart:t,onPanStart:e,onPan:i,onPanEnd:n}=this.node.getProps();return{onSessionStart:sg(t),onStart:sg(e),onMove:sg(i),onEnd:(t,e)=>{delete this.session,n&&tM.postRender(()=>n(t,e))}}}mount(){this.removePointerDownListener=st(this.node.current,"pointerdown",t=>this.onPointerDown(t))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}},drag:{Feature:class extends iA{constructor(t){super(t),this.removeGroupControls=tP,this.removeListeners=tP,this.controls=new sm(t)}mount(){let{dragControls:t}=this.node.getProps();t&&(this.removeGroupControls=t.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||tP}update(){let{dragControls:t}=this.node.getProps(),{dragControls:e}=this.node.prevProps||{};t!==e&&(this.removeGroupControls(),t&&(this.removeGroupControls=t.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}},ProjectionNode:ry,MeasureLayout:sP},layout:{ProjectionNode:ry,MeasureLayout:sP}},(t,e)=>e.isSVG??e9(t)?new eN(e):new e5(e,{allowProjection:t!==e3.Fragment}));t.s(["motion",0,rD],46932);var rL=e3;function rj(t,e){if("function"==typeof t)return t(e);null!=t&&(t.current=e)}class rB extends rL.Component{getSnapshotBeforeUpdate(t){let e=this.props.childRef.current;if(rx(e)&&t.isPresent&&!this.props.isPresent&&!1!==this.props.pop){let t=e.offsetParent,i=rx(t)&&t.offsetWidth||0,n=rx(t)&&t.offsetHeight||0,s=getComputedStyle(e),r=this.props.sizeRef.current;r.height=parseFloat(s.height),r.width=parseFloat(s.width),r.top=e.offsetTop,r.left=e.offsetLeft,r.right=i-r.width-r.left,r.bottom=n-r.height-r.top,r.direction=s.direction}return null}componentDidUpdate(){}render(){return this.props.children}}function rF({children:t,isPresent:e,anchorX:i,anchorY:n,root:s,pop:r}){let o=(0,rL.useId)(),a=(0,rL.useRef)(null),l=(0,rL.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0,direction:"ltr"}),{nonce:h}=(0,rL.useContext)(e7),u=function(...t){return e3.useCallback(function(...t){return e=>{let i=!1,n=t.map(t=>{let n=rj(t,e);return i||"function"!=typeof n||(i=!0),n});if(i)return()=>{for(let e=0;e{let{width:t,height:u,top:d,left:c,right:p,bottom:m,direction:f}=l.current;if(e||!1===r||!a.current||!t||!u)return;let y="rtl"===f,g="left"===i?y?`right: ${p}`:`left: ${c}`:y?`left: ${c}`:`right: ${p}`,v="bottom"===n?`bottom: ${m}`:`top: ${d}`;a.current.dataset.motionPopId=o;let x=document.createElement("style");h&&(x.nonce=h);let w=s??document.head;return w.appendChild(x),x.sheet&&x.sheet.insertRule(` - [data-motion-pop-id="${o}"] { - position: absolute !important; - width: ${t}px !important; - height: ${u}px !important; - ${g}px !important; - ${v}px !important; - } - `),()=>{a.current?.removeAttribute("data-motion-pop-id"),w.contains(x)&&w.removeChild(x)}},[e]),(0,e4.jsx)(rB,{isPresent:e,childRef:a,sizeRef:l,pop:r,children:!1===r?t:rL.cloneElement(t,{ref:u})})}let rO=({children:t,initial:e,isPresent:i,onExitComplete:n,custom:s,presenceAffectsLayout:r,mode:o,anchorX:a,anchorY:l,root:h})=>{let u=id(rI),d=(0,e3.useId)(),c=!0,p=(0,e3.useMemo)(()=>(c=!1,{id:d,initial:e,isPresent:i,custom:s,onExitComplete:t=>{for(let e of(u.set(t,!0),u.values()))if(!e)return;n&&n()},register:t=>(u.set(t,!1),()=>u.delete(t))}),[i,u,n]);return r&&c&&(p={...p}),(0,e3.useMemo)(()=>{u.forEach((t,e)=>u.set(e,!1))},[i]),e3.useEffect(()=>{i||u.size||!n||n()},[i]),t=(0,e4.jsx)(rF,{pop:"popLayout"===o,isPresent:i,anchorX:a,anchorY:l,root:h,children:t}),(0,e4.jsx)(iu.Provider,{value:p,children:t})};function rI(){return new Map}let rU=t=>t.key||"";function r$(t){let e=[];return e3.Children.forEach(t,t=>{(0,e3.isValidElement)(t)&&e.push(t)}),e}function rW(t){let e=id(()=>er(t)),{isStatic:i}=(0,e3.useContext)(e7);if(i){let[,i]=(0,e3.useState)(t);(0,e3.useEffect)(()=>e.on("change",i),[])}return e}function rN(t,e){let i=rW(e()),n=()=>i.set(e());return n(),iP(()=>{let e=()=>tM.preRender(n,!1,!0),i=t.map(t=>t.on("change",e));return()=>{i.forEach(t=>t()),tC(n)}}),i}t.s(["AnimatePresence",0,({children:t,custom:e,initial:i=!0,onExitComplete:n,presenceAffectsLayout:s=!0,mode:r="sync",propagate:o=!1,anchorX:a="left",anchorY:l="top",root:h})=>{let[u,d]=sw(o),c=(0,e3.useMemo)(()=>r$(t),[t]),p=o&&!u?[]:c.map(rU),m=(0,e3.useRef)(!0),f=(0,e3.useRef)(c),y=id(()=>new Map),g=(0,e3.useRef)(new Set),[v,x]=(0,e3.useState)(c),[w,b]=(0,e3.useState)(c);iP(()=>{m.current=!1,f.current=c;for(let t=0;t{let v=rU(t),x=(!o||!!u)&&(c===w||p.includes(v));return(0,e4.jsx)(rO,{isPresent:x,initial:(!m.current||!!i)&&void 0,custom:e,presenceAffectsLayout:s,mode:r,root:h,onExitComplete:x?void 0:()=>{if(g.current.has(v)||!y.has(v))return;g.current.add(v),y.set(v,!0);let t=!0;y.forEach(e=>{e||(t=!1)}),t&&(P?.(),b(f.current),o&&d?.(),n&&n())},anchorX:a,anchorY:l,children:t},v)})})}],88653),t.s(["useMotionValue",0,rW],87652);function rz(t,e){let i=id(()=>[]);return rN(t,()=>{i.length=0;let n=t.length;for(let e=0;eObject.keys(a)),u=id(()=>({}));for(let e of h)u[e]=t(r,o,a[e],l);return u}let h="function"==typeof i?i:function(...t){let e=!Array.isArray(t[0]),i=e?0:-1,n=t[0+i],s=nd(t[1+i],t[2+i],t[3+i]);return e?s(n):s}(i,n,s),u=Array.isArray(e)?rz(e,h):rz([e],([t])=>h(t)),d=Array.isArray(e)?void 0:e.accelerate;return d&&!d.isTransformed&&"function"!=typeof i&&Array.isArray(n)&&s?.clamp!==!1&&(u.accelerate={...d,times:i,keyframes:n,isTransformed:!0,...s?.ease?{ease:s.ease}:{}}),u}],95420)}]); \ No newline at end of file diff --git a/build/_next/static/chunks/turbopack-15_muki0uw~-z.js b/build/_next/static/chunks/turbopack-0m94-63c52uuf.js similarity index 95% rename from build/_next/static/chunks/turbopack-15_muki0uw~-z.js rename to build/_next/static/chunks/turbopack-0m94-63c52uuf.js index 1f32bab..79b39d4 100644 --- a/build/_next/static/chunks/turbopack-15_muki0uw~-z.js +++ b/build/_next/static/chunks/turbopack-0m94-63c52uuf.js @@ -1 +1 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/00p7g7z6lnrfl.js","static/chunks/0zy6uq8rugo5b.js","static/chunks/110q6k5sdl4es.js","static/chunks/0mmsd47xe~1uj.js","static/chunks/07uz2g0_38qia.js"],runtimeModuleIds:[94553]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_next/",r=function(){if(null!=self.TURBOPACK_ASSET_SUFFIX)return self.TURBOPACK_ASSET_SUFFIX;let e=document?.currentScript?.getAttribute?.("src")??"",t=e.indexOf("?");return t>=0?e.slice(t):""}(),n=["NEXT_DEPLOYMENT_ID","NEXT_CLIENT_ASSET_SUFFIX"];var o,i=((o=i||{})[o.Runtime=0]="Runtime",o[o.Parent=1]="Parent",o[o.Update=2]="Update",o);let l=new WeakMap;function s(e,t){this.m=e,this.e=t}let u=s.prototype,a=Object.prototype.hasOwnProperty,c="u">typeof Symbol&&Symbol.toStringTag;function f(e,t,r){a.call(e,t)||Object.defineProperty(e,t,r)}function p(e,t){let r=e[t];return r||(r=h(t),e[t]=r),r}function h(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function d(e,t){f(e,"__esModule",{value:!0}),c&&f(e,c,{value:"Module"});let r=0;for(;rObject.getPrototypeOf(e):e=>e.__proto__,y=[null,b({}),b([]),b(b)];function g(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!y.includes(t);t=b(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),d(t,n),t}function O(e){let t=B(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=g(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function w(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}function j(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}u.i=O,u.A=function(e){return this.r(e)(O.bind(this))},u.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},u.r=function(e){return B(e,this.m).exports},u.f=function(e){function t(t){if(t=w(t),a.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=w(t),a.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let k=Symbol("turbopack queues"),U=Symbol("turbopack exports"),C=Symbol("turbopack error");function P(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}u.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:i,reject:l,promise:s}=j(),u=Object.assign(s,{[U]:r.exports,[k]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),a={get:()=>u,set(e){e!==u&&(u[U]=e)}};Object.defineProperty(r,"exports",a),Object.defineProperty(r,"namespaceObject",a),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(k in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[U]:{},[k]:e=>e(t)};return e.then(e=>{r[U]=e,P(t)},e=>{r[C]=e,P(t)}),r}}return{[U]:e,[k]:()=>{}}}),r=()=>t.map(e=>{if(e[C])throw e[C];return e[U]}),{promise:i,resolve:l}=j(),s=Object.assign(()=>l(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[k](u)),s.queueCount?i:r()},function(e){e?l(u[C]=e):i(u[U]),P(n)}),n&&-1===n.status&&(n.status=0)};let v=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function R(e,t){throw Error(`Invariant: ${t(e)}`)}v.prototype=URL.prototype,u.U=v,u.z=function(e){throw Error("dynamic usage of require is not supported")},u.g=globalThis;let S=s.prototype,$=new Map;u.M=$;let _=new Map,E=new Map;async function T(e,t,r){let n;if("string"==typeof r)return M(e,t,q(r));let o=r.included||[],i=o.map(e=>!!$.has(e)||_.get(e));if(i.length>0&&i.every(e=>e))return void await Promise.all(i);let l=r.moduleChunks||[],s=l.map(e=>E.get(e)).filter(e=>e);if(s.length>0){if(s.length===l.length)return void await Promise.all(s);let r=new Set;for(let e of l)E.has(e)||r.add(e);for(let n of r){let r=M(e,t,q(n));E.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=M(e,t,q(r.path)),l))E.has(o)||E.set(o,n)}for(let e of o)_.has(e)||_.set(e,n);await n}S.l=function(e){return T(i.Parent,this.m.id,e)};let A=Promise.resolve(void 0),x=new WeakMap;function M(t,r,n){let o=e.loadChunkCached(t,n),l=x.get(o);if(void 0===l){let e=x.set.bind(x,o,A);l=o.then(e).catch(e=>{let o;switch(t){case i.Runtime:o=`as a runtime dependency of chunk ${r}`;break;case i.Parent:o=`from module ${r}`;break;case i.Update:o="from an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}let l=Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw l.name="ChunkLoadError",l}),x.set(o,l)}return l}function q(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}${r}`}S.L=function(e){return M(i.Parent,this.m.id,e)},S.R=function(e){let t=this.r(e);return t?.default??t},S.P=function(e){return`/ROOT/${e??""}`},S.q=function(e,t){m.call(this,`${e}${r}`,t)},S.b=function(e,t,o,i){let l="SharedWorker"===e.name,s=[o.map(e=>q(e)).reverse(),r];for(let e of n)s.push(globalThis[e]);let u=new URL(q(t),location.origin),a=JSON.stringify(s);return l?u.searchParams.set("params",a):u.hash="#params="+encodeURIComponent(a),new e(u,i?{...i,type:void 0}:void 0)};let N=/\.js(?:\?[^#]*)?(?:#.*)?$/,K=/\.css(?:\?[^#]*)?(?:#.*)?$/;function L(e){return K.test(e)}u.w=function(t,r,n){return e.loadWebAssembly(i.Parent,this.m.id,t,r,n)},u.u=function(t,r){return e.loadWebAssemblyModule(i.Parent,this.m.id,t,r)};let I={};u.c=I;let B=(e,t)=>{let r=I[e];if(r){if(r.error)throw r.error;return r}return W(e,i.Parent,t.id)};function W(e,t,r){let n=$.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let o=h(e),i=o.exports;I[e]=o;let l=new s(o,i);try{n(l,o,i)}catch(e){throw o.error=e,e}return o.namespaceObject&&o.exports!==o.namespaceObject&&g(o.exports,o.namespaceObject),o}function F(t){let r,n=function(e){if("string"==typeof e)return e;if(e)return{src:e.getAttribute("src")};if("u">typeof TURBOPACK_NEXT_CHUNK_URLS)return{src:TURBOPACK_NEXT_CHUNK_URLS.pop()};throw Error("chunk path empty but not in a worker")}(t[0]);return 2===t.length?r=t[1]:(r=void 0,!function(e,t){let r=1;for(;r{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},X.set(e,t)}return t}e={async registerChunk(e,r){let n=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(e.src.replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(e);if(D("string"==typeof e?q(e):e.src).resolve(),null!=r){for(let e of r.otherChunks)D(q("string"==typeof e?e:e.path));if(await Promise.all(r.otherChunks.map(e=>T(i.Runtime,n,e))),r.runtimeModuleIds.length>0)for(let e of r.runtimeModuleIds)!function(e,t){let r=I[t];if(r){if(r.error)throw r.error;return}W(t,i.Runtime,e)}(n,e)}},loadChunkCached:(e,t)=>(function(e,t){let r=D(t);if(r.loadingStarted)return r.promise;if(e===i.Runtime)return r.loadingStarted=!0,L(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(L(t));else if(N.test(t))self.TURBOPACK_NEXT_CHUNK_URLS.push(t),importScripts(t);else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let e=decodeURI(t);if(L(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"]`).length>0)r.resolve();else{let e=document.createElement("link");e.rel="stylesheet",e.href=t,e.onerror=()=>{r.reject()},e.onload=()=>{r.resolve()},document.head.appendChild(e)}else if(N.test(t)){let n=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${e}"],script[src^="${e}?"]`);if(n.length>0)for(let e of Array.from(n))e.addEventListener("error",()=>{r.reject()});else{let e=document.createElement("script");e.src=t,e.onerror=()=>{r.reject()},document.head.appendChild(e)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise})(e,t),async loadWebAssembly(e,t,r,n,o){let i=fetch(q(r)),{instance:l}=await WebAssembly.instantiateStreaming(i,o);return l.exports},async loadWebAssemblyModule(e,t,r,n){let o=fetch(q(r));return await WebAssembly.compileStreaming(o)}};let H=globalThis.TURBOPACK;globalThis.TURBOPACK={push:F},H.forEach(F)})(); \ No newline at end of file +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,{otherChunks:["static/chunks/02wozf8tof0sv.js","static/chunks/0zy6uq8rugo5b.js","static/chunks/110q6k5sdl4es.js","static/chunks/0mmsd47xe~1uj.js","static/chunks/07uz2g0_38qia.js"],runtimeModuleIds:[94553]}]),(()=>{let e;if(!Array.isArray(globalThis.TURBOPACK))return;let t="/_next/",r=function(){if(null!=self.TURBOPACK_ASSET_SUFFIX)return self.TURBOPACK_ASSET_SUFFIX;let e=document?.currentScript?.getAttribute?.("src")??"",t=e.indexOf("?");return t>=0?e.slice(t):""}(),n=["NEXT_DEPLOYMENT_ID","NEXT_CLIENT_ASSET_SUFFIX"];var o,i=((o=i||{})[o.Runtime=0]="Runtime",o[o.Parent=1]="Parent",o[o.Update=2]="Update",o);let l=new WeakMap;function s(e,t){this.m=e,this.e=t}let u=s.prototype,a=Object.prototype.hasOwnProperty,c="u">typeof Symbol&&Symbol.toStringTag;function f(e,t,r){a.call(e,t)||Object.defineProperty(e,t,r)}function p(e,t){let r=e[t];return r||(r=h(t),e[t]=r),r}function h(e){return{exports:{},error:void 0,id:e,namespaceObject:void 0}}function d(e,t){f(e,"__esModule",{value:!0}),c&&f(e,c,{value:"Module"});let r=0;for(;rObject.getPrototypeOf(e):e=>e.__proto__,y=[null,b({}),b([]),b(b)];function g(e,t,r){let n=[],o=-1;for(let t=e;("object"==typeof t||"function"==typeof t)&&!y.includes(t);t=b(t))for(let r of Object.getOwnPropertyNames(t))n.push(r,function(e,t){return()=>e[t]}(e,r)),-1===o&&"default"===r&&(o=n.length-1);return r&&o>=0||(o>=0?n.splice(o,1,0,e):n.push("default",0,e)),d(t,n),t}function O(e){let t=B(e,this.m);if(t.namespaceObject)return t.namespaceObject;let r=t.exports;return t.namespaceObject=g(r,"function"==typeof r?function(...e){return r.apply(this,e)}:Object.create(null),r&&r.__esModule)}function w(e){let t=e.indexOf("#");-1!==t&&(e=e.substring(0,t));let r=e.indexOf("?");return -1!==r&&(e=e.substring(0,r)),e}function j(){let e,t;return{promise:new Promise((r,n)=>{t=n,e=r}),resolve:e,reject:t}}u.i=O,u.A=function(e){return this.r(e)(O.bind(this))},u.t="function"==typeof require?require:function(){throw Error("Unexpected use of runtime require")},u.r=function(e){return B(e,this.m).exports},u.f=function(e){function t(t){if(t=w(t),a.call(e,t))return e[t].module();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r}return t.keys=()=>Object.keys(e),t.resolve=t=>{if(t=w(t),a.call(e,t))return e[t].id();let r=Error(`Cannot find module '${t}'`);throw r.code="MODULE_NOT_FOUND",r},t.import=async e=>await t(e),t};let k=Symbol("turbopack queues"),U=Symbol("turbopack exports"),v=Symbol("turbopack error");function C(e){e&&1!==e.status&&(e.status=1,e.forEach(e=>e.queueCount--),e.forEach(e=>e.queueCount--?e.queueCount++:e()))}u.a=function(e,t){let r=this.m,n=t?Object.assign([],{status:-1}):void 0,o=new Set,{resolve:i,reject:l,promise:s}=j(),u=Object.assign(s,{[U]:r.exports,[k]:e=>{n&&e(n),o.forEach(e),u.catch(()=>{})}}),a={get:()=>u,set(e){e!==u&&(u[U]=e)}};Object.defineProperty(r,"exports",a),Object.defineProperty(r,"namespaceObject",a),e(function(e){let t=e.map(e=>{if(null!==e&&"object"==typeof e){if(k in e)return e;if(null!=e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then){let t=Object.assign([],{status:0}),r={[U]:{},[k]:e=>e(t)};return e.then(e=>{r[U]=e,C(t)},e=>{r[v]=e,C(t)}),r}}return{[U]:e,[k]:()=>{}}}),r=()=>t.map(e=>{if(e[v])throw e[v];return e[U]}),{promise:i,resolve:l}=j(),s=Object.assign(()=>l(r),{queueCount:0});function u(e){e!==n&&!o.has(e)&&(o.add(e),e&&0===e.status&&(s.queueCount++,e.push(s)))}return t.map(e=>e[k](u)),s.queueCount?i:r()},function(e){e?l(u[v]=e):i(u[U]),C(n)}),n&&-1===n.status&&(n.status=0)};let P=function(e){let t=new URL(e,"x:/"),r={};for(let e in t)r[e]=t[e];for(let t in r.href=e,r.pathname=e.replace(/[?#].*/,""),r.origin=r.protocol="",r.toString=r.toJSON=(...t)=>e,r)Object.defineProperty(this,t,{enumerable:!0,configurable:!0,value:r[t]})};function R(e,t){throw Error(`Invariant: ${t(e)}`)}P.prototype=URL.prototype,u.U=P,u.z=function(e){throw Error("dynamic usage of require is not supported")},u.g=globalThis;let S=s.prototype,$=new Map;u.M=$;let _=new Map,E=new Map;async function T(e,t,r){let n;if("string"==typeof r)return M(e,t,q(r));let o=r.included||[],i=o.map(e=>!!$.has(e)||_.get(e));if(i.length>0&&i.every(e=>e))return void await Promise.all(i);let l=r.moduleChunks||[],s=l.map(e=>E.get(e)).filter(e=>e);if(s.length>0){if(s.length===l.length)return void await Promise.all(s);let r=new Set;for(let e of l)E.has(e)||r.add(e);for(let n of r){let r=M(e,t,q(n));E.set(n,r),s.push(r)}n=Promise.all(s)}else{for(let o of(n=M(e,t,q(r.path)),l))E.has(o)||E.set(o,n)}for(let e of o)_.has(e)||_.set(e,n);await n}S.l=function(e){return T(i.Parent,this.m.id,e)};let A=Promise.resolve(void 0),x=new WeakMap;function M(t,r,n){let o=e.loadChunkCached(t,n),l=x.get(o);if(void 0===l){let e=x.set.bind(x,o,A);l=o.then(e).catch(e=>{let o;switch(t){case i.Runtime:o=`as a runtime dependency of chunk ${r}`;break;case i.Parent:o=`from module ${r}`;break;case i.Update:o="from an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}let l=Error(`Failed to load chunk ${n} ${o}${e?`: ${e}`:""}`,e?{cause:e}:void 0);throw l.name="ChunkLoadError",l}),x.set(o,l)}return l}function q(e){return`${t}${e.split("/").map(e=>encodeURIComponent(e)).join("/")}${r}`}S.L=function(e){return M(i.Parent,this.m.id,e)},S.R=function(e){let t=this.r(e);return t?.default??t},S.P=function(e){return`/ROOT/${e??""}`},S.q=function(e,t){m.call(this,`${e}${r}`,t)},S.b=function(e,t,o,i){let l="SharedWorker"===e.name,s=[o.map(e=>q(e)).reverse(),r];for(let e of n)s.push(globalThis[e]);let u=new URL(q(t),location.origin),a=JSON.stringify(s);return l?u.searchParams.set("params",a):u.hash="#params="+encodeURIComponent(a),new e(u,i?{...i,type:void 0}:void 0)};let N=/\.js(?:\?[^#]*)?(?:#.*)?$/,K=/\.css(?:\?[^#]*)?(?:#.*)?$/;function L(e){return K.test(e)}u.w=function(t,r,n){return e.loadWebAssembly(i.Parent,this.m.id,t,r,n)},u.u=function(t,r){return e.loadWebAssemblyModule(i.Parent,this.m.id,t,r)};let I={};u.c=I;let B=(e,t)=>{let r=I[e];if(r){if(r.error)throw r.error;return r}return W(e,i.Parent,t.id)};function W(e,t,r){let n=$.get(e);if("function"!=typeof n)throw Error(function(e,t,r){let n;switch(t){case 0:n=`as a runtime entry of chunk ${r}`;break;case 1:n=`because it was required from module ${r}`;break;case 2:n="because of an HMR update";break;default:R(t,e=>`Unknown source type: ${e}`)}return`Module ${e} was instantiated ${n}, but the module factory is not available.`}(e,t,r));let o=h(e),i=o.exports;I[e]=o;let l=new s(o,i);try{n(l,o,i)}catch(e){throw o.error=e,e}return o.namespaceObject&&o.exports!==o.namespaceObject&&g(o.exports,o.namespaceObject),o}function F(t){let r,n=function(e){if("string"==typeof e)return e;if(e)return{src:e.getAttribute("src")};if("u">typeof TURBOPACK_NEXT_CHUNK_URLS)return{src:TURBOPACK_NEXT_CHUNK_URLS.pop()};throw Error("chunk path empty but not in a worker")}(t[0]);return 2===t.length?r=t[1]:(r=void 0,!function(e,t){let r=1;for(;r{r=e,n=t}),resolve:()=>{t.resolved=!0,r()},reject:n},X.set(e,t)}return t}e={async registerChunk(e,r){let n=function(e){if("string"==typeof e)return e;let r=decodeURIComponent(e.src.replace(/[?#].*$/,""));return r.startsWith(t)?r.slice(t.length):r}(e);if(D("string"==typeof e?q(e):e.src).resolve(),null!=r){for(let e of r.otherChunks)D(q("string"==typeof e?e:e.path));if(await Promise.all(r.otherChunks.map(e=>T(i.Runtime,n,e))),r.runtimeModuleIds.length>0)for(let e of r.runtimeModuleIds)!function(e,t){let r=I[t];if(r){if(r.error)throw r.error;return}W(t,i.Runtime,e)}(n,e)}},loadChunkCached:(e,t)=>(function(e,t){let r=D(t);if(r.loadingStarted)return r.promise;if(e===i.Runtime)return r.loadingStarted=!0,L(t)&&r.resolve(),r.promise;if("function"==typeof importScripts)if(L(t));else if(N.test(t))self.TURBOPACK_NEXT_CHUNK_URLS.push(t),importScripts(t);else throw Error(`can't infer type of chunk from URL ${t} in worker`);else{let e=decodeURI(t);if(L(t))if(document.querySelectorAll(`link[rel=stylesheet][href="${t}"],link[rel=stylesheet][href^="${t}?"],link[rel=stylesheet][href="${e}"],link[rel=stylesheet][href^="${e}?"]`).length>0)r.resolve();else{let e=document.createElement("link");e.rel="stylesheet",e.href=t,e.onerror=()=>{r.reject()},e.onload=()=>{r.resolve()},document.head.appendChild(e)}else if(N.test(t)){let n=document.querySelectorAll(`script[src="${t}"],script[src^="${t}?"],script[src="${e}"],script[src^="${e}?"]`);if(n.length>0)for(let e of Array.from(n))e.addEventListener("error",()=>{r.reject()});else{let e=document.createElement("script");e.src=t,e.onerror=()=>{r.reject()},document.head.appendChild(e)}}else throw Error(`can't infer type of chunk from URL ${t}`)}return r.loadingStarted=!0,r.promise})(e,t),async loadWebAssembly(e,t,r,n,o){let i=fetch(q(r)),{instance:l}=await WebAssembly.instantiateStreaming(i,o);return l.exports},async loadWebAssemblyModule(e,t,r,n){let o=fetch(q(r));return await WebAssembly.compileStreaming(o)}};let H=globalThis.TURBOPACK;globalThis.TURBOPACK={push:F},H.forEach(F)})(); \ No newline at end of file diff --git a/build/_next/static/media/layers-2x.0olxl6i2vnf_c.png b/build/_next/static/media/layers-2x.0olxl6i2vnf_c.png new file mode 100644 index 0000000..200c333 Binary files /dev/null and b/build/_next/static/media/layers-2x.0olxl6i2vnf_c.png differ diff --git a/build/_next/static/media/layers.1220hx8ja1.sy.png b/build/_next/static/media/layers.1220hx8ja1.sy.png new file mode 100644 index 0000000..1a72e57 Binary files /dev/null and b/build/_next/static/media/layers.1220hx8ja1.sy.png differ diff --git a/build/_next/static/media/marker-icon.0i9~u_difxrfa.png b/build/_next/static/media/marker-icon.0i9~u_difxrfa.png new file mode 100644 index 0000000..950edf2 Binary files /dev/null and b/build/_next/static/media/marker-icon.0i9~u_difxrfa.png differ diff --git a/build/_next/static/stHCYLWgK385AnoV1Kxkn/_ssgManifest.js b/build/_next/static/stHCYLWgK385AnoV1Kxkn/_ssgManifest.js deleted file mode 100644 index 5b3ff59..0000000 --- a/build/_next/static/stHCYLWgK385AnoV1Kxkn/_ssgManifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB() \ No newline at end of file diff --git a/build/_not-found.html b/build/_not-found.html index 959f751..b4d9621 100644 --- a/build/_not-found.html +++ b/build/_not-found.html @@ -1,4 +1,4 @@ -404: This page could not be found.Doormile — Delivering Trust. Beyond Boundaries

404

This page could not be found.

404

This page could not be found.

\ No newline at end of file + + /* Compact footer link columns on phones (<=480px). The kit only sets + column --width at min-width:481px, so below that all four blocks + fall back to 100% and stack into one very tall column. Put the + logo+social full-width on top, then lay the three link groups out + in a 2-up grid (matching the tablet 47% intent) so the footer is + roughly half as tall. */ + /* Inline icon beside each contact label (Call Center / Our Location / + Email / Social network). */ + .elementor-6585 .dm-foot-label { + display: inline-flex !important; + align-items: center; + gap: 8px; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { + flex: 0 0 auto; + color: #C01227; + } + + /* ── Compact mobile contact footer (<=600px) ── + On phones the upper contact section stacked into one very tall + column with 50px margins between every block. Tighten the heading, + collapse those stack margins, and pair Email + Social side-by-side + (both are short) so the footer is far shorter without losing the + full-width address readability. */ + @media (max-width: 600px) { + /* Trim the band's oversized top/bottom padding on phones. */ + .elementor-6585 .elementor-element.elementor-element-b29b8fc > .e-con-inner { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .elementor-6585 .elementor-element.elementor-element-687d944 .logico-title { + font-size: clamp(24px, 6.6vw, 32px) !important; + line-height: 1.2 !important; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { width: 14px; height: 14px; } + /* The Call Center / Our Location group carries a 10px side padding + the Email / Social group doesn't, leaving its labels indented + 10px out of line with everything else — zero it so all four + contact blocks share the same left edge as the heading. */ + .elementor-6585 .elementor-element.elementor-element-2631b42 { + padding-left: 0 !important; + padding-right: 0 !important; + } + /* All four contact blocks stack in one left-aligned column with a + consistent gap (Social network sits below Email). */ + .elementor-6585 .elementor-element.elementor-element-2631b42, + .elementor-6585 .elementor-element.elementor-element-f5d8e63, + .elementor-6585 .elementor-element.elementor-element-645be8d, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + margin-top: 22px !important; + } + .elementor-6585 .elementor-element.elementor-element-645be8d > .e-con-inner { + flex-direction: column !important; + gap: 0 !important; + align-items: stretch !important; + } + .elementor-6585 .elementor-element.elementor-element-a96d151, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + width: 100% !important; + } + } + + @media (max-width: 480px) { + .elementor-6585 .elementor-element.elementor-element-3f1ba7a { + display: flex !important; + flex-direction: row !important; + flex-wrap: wrap !important; + gap: 36px 16px !important; + } + .elementor-6585 .elementor-element.elementor-element-64e2e81 { + flex: 0 0 100% !important; + width: 100% !important; + } + .elementor-6585 .elementor-element.elementor-element-5b73dd3, + .elementor-6585 .elementor-element.elementor-element-451f15c, + .elementor-6585 .elementor-element.elementor-element-44a1f5d { + flex: 1 1 calc(50% - 8px) !important; + width: calc(50% - 8px) !important; + min-width: 0 !important; + } + /* Allow long links (e.g. "Women entrepreneurship") to wrap inside + the narrow columns instead of overflowing. */ + .elementor-6585 .logico-custom-menu-widget li a { + white-space: normal !important; + } + /* Trim the large social-icons top gap so the brand block stays tight. */ + .elementor-6585 .elementor-element.elementor-element-e4e6486 > .elementor-widget-container { + margin-top: 24px !important; + } + } + \ No newline at end of file diff --git a/build/_not-found.txt b/build/_not-found.txt index 0b3952c..ae48f52 100644 --- a/build/_not-found.txt +++ b/build/_not-found.txt @@ -1,26 +1,26 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -c:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +c:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] d:"$Sreact.suspense" -10:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -12:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] -14:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +10:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +12:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +14:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"P":null,"c":["","_not-found"],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:2:props:children:1:props:children:1:props:children:props:children:1:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:2:props:children:1:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:2:props:children:1:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:2:props:children:1:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$Lc",null,{"children":["$","$d",null,{"name":"Next.MetadataOutlet","children":"$@e"}]}]]}],{},null,false,null]},null,false,"$@f"]},null,false,null],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L10",null,{"children":"$L11"}],["$","div",null,{"hidden":true,"children":["$","$L12",null,{"children":["$","$d",null,{"name":"Next.Metadata","children":"$L13"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$14",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} +0:{"P":null,"c":["","_not-found"],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:2:props:children:1:props:children:1:props:children:props:children:1:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:2:props:children:1:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:2:props:children:1:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:2:props:children:1:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$Lc",null,{"children":["$","$d",null,{"name":"Next.MetadataOutlet","children":"$@e"}]}]]}],{},null,false,null]},null,false,"$@f"]},null,false,null],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L10",null,{"children":"$L11"}],["$","div",null,{"hidden":true,"children":["$","$L12",null,{"children":["$","$d",null,{"name":"Next.Metadata","children":"$L13"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$14",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} 15:[] f:"$W15" 11:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -16:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +16:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] e:null 13:[["$","title","0",{"children":"Doormile — Delivering Trust. Beyond Boundaries"}],["$","meta","1",{"name":"description","content":"Doormile powers last-mile logistics with MileTruth™ AI, providing connected miles, SLA protection, and carrier management."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L16","7",{}]] diff --git a/build/_not-found/__next._full.txt b/build/_not-found/__next._full.txt index 0b3952c..ae48f52 100644 --- a/build/_not-found/__next._full.txt +++ b/build/_not-found/__next._full.txt @@ -1,26 +1,26 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -c:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +c:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] d:"$Sreact.suspense" -10:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -12:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] -14:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +10:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +12:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +14:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"P":null,"c":["","_not-found"],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:2:props:children:1:props:children:1:props:children:props:children:1:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:2:props:children:1:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:2:props:children:1:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:2:props:children:1:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$Lc",null,{"children":["$","$d",null,{"name":"Next.MetadataOutlet","children":"$@e"}]}]]}],{},null,false,null]},null,false,"$@f"]},null,false,null],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L10",null,{"children":"$L11"}],["$","div",null,{"hidden":true,"children":["$","$L12",null,{"children":["$","$d",null,{"name":"Next.Metadata","children":"$L13"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$14",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} +0:{"P":null,"c":["","_not-found"],"q":"","i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:2:props:children:1:props:children:1:props:children:props:children:1:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:2:props:children:1:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:2:props:children:1:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:0:props:children:1:props:children:1:props:children:2:props:children:1:props:children:1:props:children:props:children:1:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$Lc",null,{"children":["$","$d",null,{"name":"Next.MetadataOutlet","children":"$@e"}]}]]}],{},null,false,null]},null,false,"$@f"]},null,false,null],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L10",null,{"children":"$L11"}],["$","div",null,{"hidden":true,"children":["$","$L12",null,{"children":["$","$d",null,{"name":"Next.Metadata","children":"$L13"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$14",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} 15:[] f:"$W15" 11:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -16:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +16:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] e:null 13:[["$","title","0",{"children":"Doormile — Delivering Trust. Beyond Boundaries"}],["$","meta","1",{"name":"description","content":"Doormile powers last-mile logistics with MileTruth™ AI, providing connected miles, SLA protection, and carrier management."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L16","7",{}]] diff --git a/build/_not-found/__next._head.txt b/build/_not-found/__next._head.txt index 2318266..a5f4c95 100644 --- a/build/_not-found/__next._head.txt +++ b/build/_not-found/__next._head.txt @@ -1,6 +1,6 @@ 1:"$Sreact.fragment" -2:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -3:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] 4:"$Sreact.suspense" -5:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] -0:{"rsc":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Doormile — Delivering Trust. Beyond Boundaries"}],["$","meta","1",{"name":"description","content":"Doormile powers last-mile logistics with MileTruth™ AI, providing connected miles, SLA protection, and carrier management."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Doormile — Delivering Trust. Beyond Boundaries"}],["$","meta","1",{"name":"description","content":"Doormile powers last-mile logistics with MileTruth™ AI, providing connected miles, SLA protection, and carrier management."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/_not-found/__next._index.txt b/build/_not-found/__next._index.txt index d8e09a9..9c09249 100644 --- a/build/_not-found/__next._index.txt +++ b/build/_not-found/__next._index.txt @@ -1,15 +1,15 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/_not-found/__next._not-found.__PAGE__.txt b/build/_not-found/__next._not-found.__PAGE__.txt index 8a1ed97..c249cea 100644 --- a/build/_not-found/__next._not-found.__PAGE__.txt +++ b/build/_not-found/__next._not-found.__PAGE__.txt @@ -1,5 +1,5 @@ 1:"$Sreact.fragment" -2:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 3:"$Sreact.suspense" -0:{"rsc":["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null,["$","$L2",null,{"children":["$","$3",null,{"name":"Next.MetadataOutlet","children":"$@4"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} 4:null diff --git a/build/_not-found/__next._not-found.txt b/build/_not-found/__next._not-found.txt index 1983a3d..e7f2861 100644 --- a/build/_not-found/__next._not-found.txt +++ b/build/_not-found/__next._not-found.txt @@ -1,5 +1,5 @@ 1:"$Sreact.fragment" -2:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] 4:[] -0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/_not-found/__next._tree.txt b/build/_not-found/__next._tree.txt index f72cfca..959bf36 100644 --- a/build/_not-found/__next._tree.txt +++ b/build/_not-found/__next._tree.txt @@ -1,4 +1,4 @@ -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"/_not-found","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"/_not-found","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/about-us.html b/build/about-us.html index ed8718f..47e72d0 100644 --- a/build/about-us.html +++ b/build/about-us.html @@ -1,4 +1,4 @@ -About Us – Doormile

01

Empowering Women

Doormile empowers women in last-mile delivery.

/ Women Empowerment /

Women Leading the Way

Women Map
500+
Women Partners
35+
Cities
10K+
Deliveries
Women Leadership

Women driving decisions across operations, routing, and last-mile delivery every day.

Entrepreneurship

Enabling women to build, own, and scale their own delivery businesses.

Innovation

Fresh thinking that reshapes how first and last-mile logistics actually work.

Community Growth

Local hiring and training that lifts entire neighbourhoods, not just routes.

/ DoorMile wins/

WHERE DOORMILE WINS

A side-by-side technical capabilities comparison showing how operational fleet ownership and dynamic AI planning disrupt basic aggregators.

CapabilityDoormileAggregatorsLocal CouriersSoftware Platforms
Owned fleet control✓ YesNoYesNo
Dynamic routing & dispatch✓ AdvancedBasicNoAdvanced
EV-aware planning✓ YesNoNoNo
Documentation & proof trail✓ YesPartialNoYes
Real-time tracking✓ YesYesNoYes
Verified handling✓ YesPartialNoNo
Hyperlocal learning✓ YesNoNoNo
SLA accountability✓ HighLowMediumLow
VISION / 2030

The Intelligence Grid Behind Every Urban Mile

From Hyderabad EV pilot to nationwide AI logistics intelligence by 2030

ROADMAP TO 2030
100% COMPLETE →
2026
Pilot Phase
Hyderabad Pilot

Launch operations in Hyderabad with dedicated EV hubs and MileTruth AI v1.0.

50-80 orders/day
1 city
10+ women partners
2027
Multi-City
Multi-City Scale

Expand to Bengaluru and Chennai, securing key B2B enterprise traction.

300-500 orders/day
3 cities
50+ EVs
2028
Platform
Platform Expansion

Scale to 5+ cities. Launch developer API marketplace and Series A readiness.

1,200+ orders/day
5+ cities
API marketplace
2030
Vision State
AI Pulse Layer

Nationwide AI logistics grid reaching 15+ cities, empowering female micro-entrepreneurs.

5,000+ orders/day
RsRs 65 Cr+ revenue
2,000+ women partners
/Team /

Meet crew

Ratan Kumar
Ratan Kumar
COO & Operational Specialist
Parthiban
Parthiban
CGO & Growth Specialist
Aravinth
Aravinth
CFO & Finance Specialist
Fazul Ilahi
Fazul Ilahi
CTO & Technology Specialist
Suriya Kumar
Suriya Kumar
Engineering Head & AI Specialist

Ready to Start
Your Journey?

Join our Women Entrepreneurship program and become part of
India's fastest-growing logistics network.

/Team /

Meet crew

Ratan Kumar
Ratan Kumar
COO & Operational Specialist
Parthiban
Parthiban
CGO & Growth Specialist
Aravinth
Aravinth
CFO & Finance Specialist
Fazul Ilahi
Fazul Ilahi
CTO & Technology Specialist
Suriya Kumar
Suriya Kumar
Engineering Head & AI Specialist

Ready to Start
Your Journey?

Join our Women Entrepreneurship program and become part of
India's fastest-growing logistics network.

\ No newline at end of file + + /* Compact footer link columns on phones (<=480px). The kit only sets + column --width at min-width:481px, so below that all four blocks + fall back to 100% and stack into one very tall column. Put the + logo+social full-width on top, then lay the three link groups out + in a 2-up grid (matching the tablet 47% intent) so the footer is + roughly half as tall. */ + /* Inline icon beside each contact label (Call Center / Our Location / + Email / Social network). */ + .elementor-6585 .dm-foot-label { + display: inline-flex !important; + align-items: center; + gap: 8px; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { + flex: 0 0 auto; + color: #C01227; + } + + /* ── Compact mobile contact footer (<=600px) ── + On phones the upper contact section stacked into one very tall + column with 50px margins between every block. Tighten the heading, + collapse those stack margins, and pair Email + Social side-by-side + (both are short) so the footer is far shorter without losing the + full-width address readability. */ + @media (max-width: 600px) { + /* Trim the band's oversized top/bottom padding on phones. */ + .elementor-6585 .elementor-element.elementor-element-b29b8fc > .e-con-inner { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .elementor-6585 .elementor-element.elementor-element-687d944 .logico-title { + font-size: clamp(24px, 6.6vw, 32px) !important; + line-height: 1.2 !important; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { width: 14px; height: 14px; } + /* The Call Center / Our Location group carries a 10px side padding + the Email / Social group doesn't, leaving its labels indented + 10px out of line with everything else — zero it so all four + contact blocks share the same left edge as the heading. */ + .elementor-6585 .elementor-element.elementor-element-2631b42 { + padding-left: 0 !important; + padding-right: 0 !important; + } + /* All four contact blocks stack in one left-aligned column with a + consistent gap (Social network sits below Email). */ + .elementor-6585 .elementor-element.elementor-element-2631b42, + .elementor-6585 .elementor-element.elementor-element-f5d8e63, + .elementor-6585 .elementor-element.elementor-element-645be8d, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + margin-top: 22px !important; + } + .elementor-6585 .elementor-element.elementor-element-645be8d > .e-con-inner { + flex-direction: column !important; + gap: 0 !important; + align-items: stretch !important; + } + .elementor-6585 .elementor-element.elementor-element-a96d151, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + width: 100% !important; + } + } + + @media (max-width: 480px) { + .elementor-6585 .elementor-element.elementor-element-3f1ba7a { + display: flex !important; + flex-direction: row !important; + flex-wrap: wrap !important; + gap: 36px 16px !important; + } + .elementor-6585 .elementor-element.elementor-element-64e2e81 { + flex: 0 0 100% !important; + width: 100% !important; + } + .elementor-6585 .elementor-element.elementor-element-5b73dd3, + .elementor-6585 .elementor-element.elementor-element-451f15c, + .elementor-6585 .elementor-element.elementor-element-44a1f5d { + flex: 1 1 calc(50% - 8px) !important; + width: calc(50% - 8px) !important; + min-width: 0 !important; + } + /* Allow long links (e.g. "Women entrepreneurship") to wrap inside + the narrow columns instead of overflowing. */ + .elementor-6585 .logico-custom-menu-widget li a { + white-space: normal !important; + } + /* Trim the large social-icons top gap so the brand block stays tight. */ + .elementor-6585 .elementor-element.elementor-element-e4e6486 > .elementor-widget-container { + margin-top: 24px !important; + } + } + \ No newline at end of file diff --git a/build/about-us.txt b/build/about-us.txt index 42be571..60353ba 100644 --- a/build/about-us.txt +++ b/build/about-us.txt @@ -1,16 +1,16 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -19:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +19:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -18,20 +18,20 @@ b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4 :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"P":null,"c":["","about-us"],"q":"","i":false,"f":[[["",{"children":["about-us",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"86","className":"elementor elementor-86 elementor-59","children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n .about-us-hero-content {\n width: 100% !important;\n text-align: center !important;\n color: #fff !important;\n padding: 40px !important;\n z-index: 2;\n display: flex !important;\n flex-direction: column !important;\n justify-content: center !important;\n align-items: center !important;\n height: 100% !important;\n }\n\n .about-us-hero-title {\n margin: 0 !important;\n font-family: \"Manrope\", Sans-serif !important;\n font-size: clamp(34px, 5.5vw, 68px) !important;\n font-weight: 850 !important;\n line-height: 1.1 !important;\n text-transform: uppercase !important;\n letter-spacing: -1.5px !important;\n color: #ffffff !important;\n text-align: center !important;\n }\n "}}],"$Lc"],"$Ld","$Le","$Lf","$L10","$L11","$L12","$L13"]}]}]}]}],["$L14","$L15"],"$L16"]}],{},null,false,null]},null,false,"$@17"]},null,false,null],"$L18",false]],"m":"$undefined","G":["$19",["$L1a"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} -1b:I[24911,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"default"] -1c:I[61867,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"default"] -1f:I[47580,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"default"] -20:I[2012,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"default"] -23:I[22016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],""] -24:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +0:{"P":null,"c":["","about-us"],"q":"","i":false,"f":[[["",{"children":["about-us",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"86","className":"elementor elementor-86 elementor-59","children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n .about-us-hero-content {\n width: 100% !important;\n text-align: center !important;\n color: #fff !important;\n padding: 40px !important;\n z-index: 2;\n display: flex !important;\n flex-direction: column !important;\n justify-content: center !important;\n align-items: center !important;\n height: 100% !important;\n }\n\n .about-us-hero-title {\n margin: 0 !important;\n font-family: \"Manrope\", Sans-serif !important;\n font-size: clamp(34px, 5.5vw, 68px) !important;\n font-weight: 850 !important;\n line-height: 1.1 !important;\n text-transform: uppercase !important;\n letter-spacing: -1.5px !important;\n color: #ffffff !important;\n text-align: center !important;\n }\n "}}],"$Lc"],"$Ld","$Le","$Lf","$L10","$L11","$L12","$L13"]}]}]}]}],["$L14","$L15"],"$L16"]}],{},null,false,null]},null,false,"$@17"]},null,false,null],"$L18",false]],"m":"$undefined","G":["$19",["$L1a"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +1b:I[24911,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"default"] +1c:I[61867,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"default"] +1f:I[47580,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"default"] +20:I[2012,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"default"] +23:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],""] +24:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 25:"$Sreact.suspense" -28:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -2a:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +28:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +2a:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] c:["$","div",null,{"className":"custom-standard-hero-container","children":["$","div",null,{"style":{"backgroundImage":"url('/images/about-bg.png')","--hero-overlay":"linear-gradient(to bottom, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.92) 60%, rgba(0, 0, 0, 0.98) 100%)"},"className":"custom-standard-hero-card","children":["$","div",null,{"className":"about-us-hero-content","children":["$","h3",null,{"className":"about-us-hero-title","children":["The Operators Building ",["$","br",null,{}]," ",["$","span",null,{"style":{"color":"#C01227"},"children":"Doormile"}]]}]}]}]}] d:["$","$L1b",null,{}] e:["$","$L1c",null,{}] -1d:T16a4, +1d:T2027, /* ============================================================ Success Stories — redesigned right column (stats + 2x2 cards) Dark section · red accent #dc2626 / #ef4444 · Manrope @@ -155,6 +155,21 @@ e:["$","$L1c",null,{}] white-space: nowrap !important; } + /* The banner image (bg-header-women.png) is very wide (≈2.48:1) and the + woman — the subject of this section — sits on the right. On narrow + screens "cover" center-crops her out, so shift the focal point right + to keep her face in frame. */ + @media (max-width: 1024px) { + .elementor-element.elementor-element-7da6646:not(.elementor-motion-effects-element-type-background) { + background-position: 78% center !important; + } + } + @media (max-width: 600px) { + .elementor-element.elementor-element-7da6646:not(.elementor-motion-effects-element-type-background) { + background-position: 82% center !important; + } + } + /* Stack the two columns below the desktop breakpoint so the box group always gets full width and stays centered — never clipped. */ @media (max-width: 1024px) { @@ -163,11 +178,46 @@ e:["$","$L1c",null,{}] } .elementor-element.elementor-element-2ed47f3 { grid-template-columns: 1fr !important; } #ws-stories { max-width: 640px; margin: 0 auto; } + /* Align the heading, image and stats/cards to one shared left/right + edge — the heading + image widgets carried extra inset that left + them staggered (80px / 70px / 60px) against the stats column. */ + #women-entrepreneurship .elementor-element-36efec7, + #women-entrepreneurship .elementor-element-b2c956f { + padding-left: 0 !important; + padding-right: 0 !important; + } + #women-entrepreneurship .elementor-element-778840d, + #women-entrepreneurship .elementor-element-bbfb67f, + #women-entrepreneurship .elementor-element-778840d > .elementor-widget-container, + #women-entrepreneurship .elementor-element-bbfb67f > .elementor-widget-container { + padding-left: 0 !important; + padding-right: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + } } @media (max-width: 600px) { - #ws-stories .ws__stats { grid-template-columns: 1fr 1fr 1fr; gap: 8px; } - #ws-stories .ws__stat { padding: 14px 10px; } - #ws-stories .ws__stat-label { font-size: 11px !important; letter-spacing: 0.02em; } + /* KPI stat cards stack one-per-row on mobile. Inside each card the big + number sits on the left and the label on the right, vertically + centered, so every stat reads as a clean full-width row instead of + three cramped columns. */ + #ws-stories .ws__stats { grid-template-columns: 1fr; gap: 12px; } + #ws-stories .ws__stat { + display: flex; + align-items: center; + justify-content: space-between; + gap: 16px; + padding: 20px 22px; + min-width: 0; + } + #ws-stories .ws__stat-num { font-size: clamp(30px, 9vw, 40px); } + #ws-stories .ws__stat-label { + margin-top: 0; + font-size: 13px !important; + letter-spacing: 0.02em; + text-align: right; + min-height: 0; + } #ws-stories .ws__cards { grid-template-columns: 1fr; } } f:[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$1d"}}],"$L1e"] @@ -265,18 +315,18 @@ e:["$","$L1c",null,{}] 12:[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$21"}}],"$L22"] 13:["$","div",null,{"className":"we-container","children":["$","div",null,{"className":"we-cta reveal","children":["$","div",null,{"className":"we-cta-inner","children":[["$","h2",null,{"className":"we-cta-title","children":["Ready to Start",["$","br",null,{}],["$","em",null,{"children":"Your Journey?"}]]}],["$","p",null,{"className":"we-cta-sub","children":["Join our Women Entrepreneurship program and become part of ",["$","br",null,{}],"India's fastest-growing logistics network."]}],["$","div",null,{"className":"we-cta-btns","children":["$","$L23",null,{"href":"/contact","className":"btn-we-primary","style":{"textDecoration":"none"},"children":["Apply Now",["$","svg",null,{"width":"20","height":"20","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2.5","strokeLinecap":"round","strokeLinejoin":"round","style":{"marginLeft":"8px","display":"inline-block","verticalAlign":"middle"},"children":[["$","line",null,{"x1":"5","y1":"12","x2":"19","y2":"12"}],["$","polyline",null,{"points":"12 5 19 12 12 19"}]]}]]}]}]]}]}]}] 14:["$","script","script-0",{"src":"/_next/static/chunks/0qm~m5xq2.z6g.js","async":true,"nonce":"$undefined"}] -15:["$","script","script-1",{"src":"/_next/static/chunks/05gvsernou_9a.js","async":true,"nonce":"$undefined"}] +15:["$","script","script-1",{"src":"/_next/static/chunks/0rn9tljn2_ryg.js","async":true,"nonce":"$undefined"}] 16:["$","$L24",null,{"children":["$","$25",null,{"name":"Next.MetadataOutlet","children":"$@26"}]}] 27:[] 17:"$W27" 18:["$","$1","h",{"children":[null,["$","$L28",null,{"children":"$L29"}],["$","div",null,{"hidden":true,"children":["$","$L2a",null,{"children":["$","$25",null,{"name":"Next.Metadata","children":"$L2b"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] -1a:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] -2d:I[85437,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"Image"] +1a:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +2d:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"Image"] 1e:["$","div",null,{"id":"women-entrepreneurship","className":"elementor-element elementor-element-bbc6760 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"bbc6760","data-element_type":"container","data-e-type":"container","style":{"backgroundColor":"#1f1f1f","width":"calc(100% - 40px)","marginLeft":"20px","marginRight":"20px","borderRadius":"25px"},"children":[["$","div",null,{"className":"elementor-element elementor-element-13a7637 elementor-widget__width-auto elementor-absolute elementor-widget elementor-widget-logico_decorative_block","data-id":"13a7637","data-element_type":"widget","data-e-type":"widget","style":{"position":"absolute"},"children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"block-decoration animation-enable block-decoration-style-1","children":["$","div",null,{"className":"block-decoration-item"}]}]}]}],["$","div",null,{"style":{"backgroundImage":"url(/images/bg-header-women.png)"},"className":"elementor-element elementor-element-7da6646 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"7da6646","data-element_type":"container","data-e-type":"container"}],["$","div",null,{"className":"elementor-element elementor-element-8b5d6e6 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"8b5d6e6","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-1f766ea e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"1f766ea","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-3b61435 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"3b61435","data-element_type":"container","data-e-type":"container","data-settings":"{\"background_background\":\"classic\"}","children":[["$","div",null,{"className":"elementor-element elementor-element-c364d1c elementor-widget elementor-widget-text-editor","data-id":"c364d1c","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","p",null,{"children":"01"}]}]}],["$","div",null,{"className":"elementor-element elementor-element-239afbb elementor-widget elementor-widget-logico_heading","data-id":"239afbb","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","h5",null,{"className":"logico-title","children":"Empowering Women"}]}]}],["$","div",null,{"className":"elementor-element elementor-element-0d307dd elementor-widget elementor-widget-text-editor","data-id":"0d307dd","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","p",null,{"children":"Doormile empowers women in last-mile delivery."}]}]}]]}],["$","div",null,{"className":"elementor-element elementor-element-5aea22e e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5aea22e","data-element_type":"container","data-e-type":"container","data-settings":"{\"background_background\":\"classic\"}","children":["$","div",null,{"className":"elementor-element elementor-element-46b9ffa elementor-widget elementor-widget-logico_button","data-id":"46b9ffa","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_button.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"button-widget","children":["$","div",null,{"className":"button-container","children":["$","a",null,{"href":"#","className":"logico-small-button","children":["Explore more",["$","svg",null,{"viewBox":"0 0 13 20","children":["$","polyline",null,{"points":"0.5 19.5 3 19.5 12.5 10 3 0.5"}]}]]}]}]}]}]}]}]]}]}],"$L2c"]}] 22:["$","div",null,{"className":"elementor-element elementor-element-c2c601a e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"c2c601a","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-3306a27 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"3306a27","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-7afb238 elementor-widget elementor-widget-logico_heading","data-id":"7afb238","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-title","children":"/Team /"}]}]}],["$","div",null,{"style":{"alignSelf":"flex-start","width":"100%"},"className":"elementor-element elementor-element-c46350e elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"c46350e","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","h3",null,{"className":"logico-title","style":{"textAlign":"left"},"children":"Meet crew"}]}]}],["$","div",null,{"className":"elementor-element elementor-element-ac909e5 elementor-widget elementor-widget-logico_team_listing","data-id":"ac909e5","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_team_listing.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-team-listing-widget","children":["$","div",null,{"className":"archive-listing","children":["$","div",null,{"className":"archive-listing-wrapper team-listing-wrapper team-grid-listing columns-5","children":[["$","div","0",{"className":"team-item-wrapper post-2866 team type-team status-publish has-post-thumbnail hentry","children":["$","div",null,{"className":"team-item","children":[["$","div",null,{"className":"team-item-media","children":["$","div",null,{"className":"post-media","children":["$","a",null,{"href":"#","children":["$","$L2d",null,{"src":"/images/Investor.png","alt":"Ratan Kumar","width":300,"height":360,"style":{"objectFit":"cover","width":"100%","height":"100%"}}]}]}]}],["$","div",null,{"className":"team-item-content","children":[["$","div",null,{"className":"post-title","children":["$","a",null,{"href":"#","children":"Ratan Kumar"}]}],["$","div",null,{"className":"team-item-position","dangerouslySetInnerHTML":{"__html":"COO & Operational Specialist"}}],["$","div",null,{"className":"team-item-socials","children":["$","ul",null,{"className":"team-socials wrapper-socials","children":["$","li",null,{"children":["$","a",null,{"href":"https://www.linkedin.com/","target":"_blank","rel":"noreferrer","className":"fab fa-linkedin-in"}]}]}]}]]}]]}]}],["$","div","1",{"className":"team-item-wrapper post-2866 team type-team status-publish has-post-thumbnail hentry","children":["$","div",null,{"className":"team-item","children":[["$","div",null,{"className":"team-item-media","children":["$","div",null,{"className":"post-media","children":["$","a",null,{"href":"#","children":["$","$L2d",null,{"src":"/images/Parthi.png","alt":"Parthiban","width":300,"height":360,"style":{"objectFit":"cover","width":"100%","height":"100%"}}]}]}]}],["$","div",null,{"className":"team-item-content","children":[["$","div",null,{"className":"post-title","children":["$","a",null,{"href":"#","children":"Parthiban"}]}],["$","div",null,{"className":"team-item-position","dangerouslySetInnerHTML":{"__html":"CGO & Growth Specialist"}}],["$","div",null,{"className":"team-item-socials","children":["$","ul",null,{"className":"team-socials wrapper-socials","children":["$","li",null,{"children":["$","a",null,{"href":"https://www.linkedin.com/","target":"_blank","rel":"noreferrer","className":"fab fa-linkedin-in"}]}]}]}]]}]]}]}],["$","div","2",{"className":"team-item-wrapper post-2866 team type-team status-publish has-post-thumbnail hentry","children":["$","div",null,{"className":"team-item","children":[["$","div",null,{"className":"team-item-media","children":["$","div",null,{"className":"post-media","children":"$L2e"}]}],"$L2f"]}]}],"$L30","$L31"]}]}]}]}]}]]}]}]}] -32:I[5074,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"default"] -33:I[2018,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"ScrollReveal"] -34:I[2018,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"StaggerChildren"] +32:I[5074,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"default"] +33:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"ScrollReveal"] +34:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"StaggerChildren"] 2c:["$","div",null,{"className":"elementor-element elementor-element-b6e14bd e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child","data-id":"b6e14bd","data-element_type":"container","data-e-type":"container","data-settings":"{\"background_background\":\"classic\"}","children":[["$","div",null,{"className":"ws-map","aria-hidden":"true","children":["$","$L32",null,{}]}],["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-90cc867 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"90cc867","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-24c0280 elementor-widget__width-inherit elementor-widget elementor-widget-logico_heading","data-id":"24c0280","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-title","children":"/ Women Empowerment /"}]}]}],["$","div",null,{"className":"elementor-element elementor-element-2ed47f3 e-con-full e-grid cut-corner-no sticky-container-off e-con e-child","data-id":"2ed47f3","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-36efec7 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"36efec7","data-element_type":"container","data-e-type":"container","children":[["$","$L33",null,{"duration":0.8,"yOffset":28,"triggerOnce":true,"children":["$","div",null,{"className":"elementor-element elementor-element-778840d elementor-widget elementor-widget-logico_heading","data-id":"778840d","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","h3",null,{"className":"logico-title","children":"Women Leading the Way"}]}]}]}],["$","div",null,{"className":"elementor-element elementor-element-bbfb67f elementor-widget elementor-widget-image","data-id":"bbfb67f","data-element_type":"widget","data-e-type":"widget","data-widget_type":"image.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","$L2d",null,{"src":"/images/bg-map-women.png","alt":"Women Map","width":626,"height":692,"style":{"maxWidth":"100%","height":"auto"}}]}]}]]}],["$","div",null,{"className":"elementor-element elementor-element-b2c956f e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"b2c956f","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"id":"ws-stories","children":[["$","$L34",null,{"className":"ws__stats","stagger":0.1,"duration":0.6,"yOffset":20,"triggerOnce":true,"children":[["$","div","Women Partners",{"className":"ws__stat","children":[["$","div",null,{"className":"ws__stat-num","children":["500",["$","span",null,{"children":"+"}]]}],["$","div",null,{"className":"ws__stat-label","children":"Women Partners"}]]}],["$","div","Cities",{"className":"ws__stat","children":[["$","div",null,{"className":"ws__stat-num","children":["35",["$","span",null,{"children":"+"}]]}],["$","div",null,{"className":"ws__stat-label","children":"Cities"}]]}],["$","div","Deliveries",{"className":"ws__stat","children":[["$","div",null,{"className":"ws__stat-num","children":["10K",["$","span",null,{"children":"+"}]]}],["$","div",null,{"className":"ws__stat-label","children":"Deliveries"}]]}]]}],["$","$L34",null,{"className":"ws__cards","stagger":0.08,"duration":0.6,"yOffset":24,"triggerOnce":true,"children":[["$","div","Women Leadership",{"className":"ws__card","children":[["$","span",null,{"className":"ws__card-icon","aria-hidden":"true","children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"1.8","strokeLinecap":"round","strokeLinejoin":"round","children":[["$","circle",null,{"cx":"12","cy":"9","r":"5"}],["$","path",null,{"d":"M9 13.5 7.5 21 12 18l4.5 3-1.5-7.5"}]]}]}],["$","div",null,{"className":"ws__card-title","children":"Women Leadership"}],["$","p",null,{"className":"ws__card-desc","children":"Women driving decisions across operations, routing, and last-mile delivery every day."}]]}],["$","div","Entrepreneurship",{"className":"ws__card","children":["$L35","$L36","$L37"]}],"$L38","$L39"]}]]}]}]]}]]}]}]]}] 2e:["$","a",null,{"href":"#","children":["$","$L2d",null,{"src":"/images/Aravinth.png","alt":"Aravinth","width":300,"height":360,"style":{"objectFit":"cover","width":"100%","height":"100%"}}]}] 2f:["$","div",null,{"className":"team-item-content","children":[["$","div",null,{"className":"post-title","children":["$","a",null,{"href":"#","children":"Aravinth"}]}],["$","div",null,{"className":"team-item-position","dangerouslySetInnerHTML":{"__html":"CFO & Finance Specialist"}}],["$","div",null,{"className":"team-item-socials","children":["$","ul",null,{"className":"team-socials wrapper-socials","children":["$","li",null,{"children":["$","a",null,{"href":"https://www.linkedin.com/","target":"_blank","rel":"noreferrer","className":"fab fa-linkedin-in"}]}]}]}]]}] @@ -288,6 +338,6 @@ e:["$","$L1c",null,{}] 38:["$","div","Innovation",{"className":"ws__card","children":[["$","span",null,{"className":"ws__card-icon","aria-hidden":"true","children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"1.8","strokeLinecap":"round","strokeLinejoin":"round","children":[["$","path",null,{"d":"M9 18h6M10 21h4"}],["$","path",null,{"d":"M12 3a6 6 0 0 0-3.8 10.6c.5.5.8 1.2.8 1.9v.5h6v-.5c0-.7.3-1.4.8-1.9A6 6 0 0 0 12 3Z"}]]}]}],["$","div",null,{"className":"ws__card-title","children":"Innovation"}],["$","p",null,{"className":"ws__card-desc","children":"Fresh thinking that reshapes how first and last-mile logistics actually work."}]]}] 39:["$","div","Community Growth",{"className":"ws__card","children":[["$","span",null,{"className":"ws__card-icon","aria-hidden":"true","children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"1.8","strokeLinecap":"round","strokeLinejoin":"round","children":[["$","circle",null,{"cx":"9","cy":"8","r":"3"}],["$","path",null,{"d":"M3.5 20c0-3 2.5-5 5.5-5s5.5 2 5.5 5M16 5.5a3 3 0 0 1 0 5.8M20.5 20c0-2.3-1.4-3.9-3.3-4.6"}]]}]}],["$","div",null,{"className":"ws__card-title","children":"Community Growth"}],["$","p",null,{"className":"ws__card-desc","children":"Local hiring and training that lifts entire neighbourhoods, not just routes."}]]}] 29:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -3a:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +3a:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] 26:null 2b:[["$","title","0",{"children":"About Us – Doormile"}],["$","meta","1",{"name":"description","content":"Meet the best crew and operators behind Doormile. Explore our roadmap, competitive edge, and operational excellence in EV and last-mile logistics."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L3a","7",{}]] diff --git a/build/about-us/__next._full.txt b/build/about-us/__next._full.txt index 42be571..60353ba 100644 --- a/build/about-us/__next._full.txt +++ b/build/about-us/__next._full.txt @@ -1,16 +1,16 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -19:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +19:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -18,20 +18,20 @@ b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4 :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"P":null,"c":["","about-us"],"q":"","i":false,"f":[[["",{"children":["about-us",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"86","className":"elementor elementor-86 elementor-59","children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n .about-us-hero-content {\n width: 100% !important;\n text-align: center !important;\n color: #fff !important;\n padding: 40px !important;\n z-index: 2;\n display: flex !important;\n flex-direction: column !important;\n justify-content: center !important;\n align-items: center !important;\n height: 100% !important;\n }\n\n .about-us-hero-title {\n margin: 0 !important;\n font-family: \"Manrope\", Sans-serif !important;\n font-size: clamp(34px, 5.5vw, 68px) !important;\n font-weight: 850 !important;\n line-height: 1.1 !important;\n text-transform: uppercase !important;\n letter-spacing: -1.5px !important;\n color: #ffffff !important;\n text-align: center !important;\n }\n "}}],"$Lc"],"$Ld","$Le","$Lf","$L10","$L11","$L12","$L13"]}]}]}]}],["$L14","$L15"],"$L16"]}],{},null,false,null]},null,false,"$@17"]},null,false,null],"$L18",false]],"m":"$undefined","G":["$19",["$L1a"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} -1b:I[24911,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"default"] -1c:I[61867,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"default"] -1f:I[47580,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"default"] -20:I[2012,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"default"] -23:I[22016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],""] -24:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +0:{"P":null,"c":["","about-us"],"q":"","i":false,"f":[[["",{"children":["about-us",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"86","className":"elementor elementor-86 elementor-59","children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n .about-us-hero-content {\n width: 100% !important;\n text-align: center !important;\n color: #fff !important;\n padding: 40px !important;\n z-index: 2;\n display: flex !important;\n flex-direction: column !important;\n justify-content: center !important;\n align-items: center !important;\n height: 100% !important;\n }\n\n .about-us-hero-title {\n margin: 0 !important;\n font-family: \"Manrope\", Sans-serif !important;\n font-size: clamp(34px, 5.5vw, 68px) !important;\n font-weight: 850 !important;\n line-height: 1.1 !important;\n text-transform: uppercase !important;\n letter-spacing: -1.5px !important;\n color: #ffffff !important;\n text-align: center !important;\n }\n "}}],"$Lc"],"$Ld","$Le","$Lf","$L10","$L11","$L12","$L13"]}]}]}]}],["$L14","$L15"],"$L16"]}],{},null,false,null]},null,false,"$@17"]},null,false,null],"$L18",false]],"m":"$undefined","G":["$19",["$L1a"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +1b:I[24911,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"default"] +1c:I[61867,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"default"] +1f:I[47580,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"default"] +20:I[2012,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"default"] +23:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],""] +24:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 25:"$Sreact.suspense" -28:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -2a:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +28:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +2a:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] c:["$","div",null,{"className":"custom-standard-hero-container","children":["$","div",null,{"style":{"backgroundImage":"url('/images/about-bg.png')","--hero-overlay":"linear-gradient(to bottom, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.92) 60%, rgba(0, 0, 0, 0.98) 100%)"},"className":"custom-standard-hero-card","children":["$","div",null,{"className":"about-us-hero-content","children":["$","h3",null,{"className":"about-us-hero-title","children":["The Operators Building ",["$","br",null,{}]," ",["$","span",null,{"style":{"color":"#C01227"},"children":"Doormile"}]]}]}]}]}] d:["$","$L1b",null,{}] e:["$","$L1c",null,{}] -1d:T16a4, +1d:T2027, /* ============================================================ Success Stories — redesigned right column (stats + 2x2 cards) Dark section · red accent #dc2626 / #ef4444 · Manrope @@ -155,6 +155,21 @@ e:["$","$L1c",null,{}] white-space: nowrap !important; } + /* The banner image (bg-header-women.png) is very wide (≈2.48:1) and the + woman — the subject of this section — sits on the right. On narrow + screens "cover" center-crops her out, so shift the focal point right + to keep her face in frame. */ + @media (max-width: 1024px) { + .elementor-element.elementor-element-7da6646:not(.elementor-motion-effects-element-type-background) { + background-position: 78% center !important; + } + } + @media (max-width: 600px) { + .elementor-element.elementor-element-7da6646:not(.elementor-motion-effects-element-type-background) { + background-position: 82% center !important; + } + } + /* Stack the two columns below the desktop breakpoint so the box group always gets full width and stays centered — never clipped. */ @media (max-width: 1024px) { @@ -163,11 +178,46 @@ e:["$","$L1c",null,{}] } .elementor-element.elementor-element-2ed47f3 { grid-template-columns: 1fr !important; } #ws-stories { max-width: 640px; margin: 0 auto; } + /* Align the heading, image and stats/cards to one shared left/right + edge — the heading + image widgets carried extra inset that left + them staggered (80px / 70px / 60px) against the stats column. */ + #women-entrepreneurship .elementor-element-36efec7, + #women-entrepreneurship .elementor-element-b2c956f { + padding-left: 0 !important; + padding-right: 0 !important; + } + #women-entrepreneurship .elementor-element-778840d, + #women-entrepreneurship .elementor-element-bbfb67f, + #women-entrepreneurship .elementor-element-778840d > .elementor-widget-container, + #women-entrepreneurship .elementor-element-bbfb67f > .elementor-widget-container { + padding-left: 0 !important; + padding-right: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + } } @media (max-width: 600px) { - #ws-stories .ws__stats { grid-template-columns: 1fr 1fr 1fr; gap: 8px; } - #ws-stories .ws__stat { padding: 14px 10px; } - #ws-stories .ws__stat-label { font-size: 11px !important; letter-spacing: 0.02em; } + /* KPI stat cards stack one-per-row on mobile. Inside each card the big + number sits on the left and the label on the right, vertically + centered, so every stat reads as a clean full-width row instead of + three cramped columns. */ + #ws-stories .ws__stats { grid-template-columns: 1fr; gap: 12px; } + #ws-stories .ws__stat { + display: flex; + align-items: center; + justify-content: space-between; + gap: 16px; + padding: 20px 22px; + min-width: 0; + } + #ws-stories .ws__stat-num { font-size: clamp(30px, 9vw, 40px); } + #ws-stories .ws__stat-label { + margin-top: 0; + font-size: 13px !important; + letter-spacing: 0.02em; + text-align: right; + min-height: 0; + } #ws-stories .ws__cards { grid-template-columns: 1fr; } } f:[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$1d"}}],"$L1e"] @@ -265,18 +315,18 @@ e:["$","$L1c",null,{}] 12:[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$21"}}],"$L22"] 13:["$","div",null,{"className":"we-container","children":["$","div",null,{"className":"we-cta reveal","children":["$","div",null,{"className":"we-cta-inner","children":[["$","h2",null,{"className":"we-cta-title","children":["Ready to Start",["$","br",null,{}],["$","em",null,{"children":"Your Journey?"}]]}],["$","p",null,{"className":"we-cta-sub","children":["Join our Women Entrepreneurship program and become part of ",["$","br",null,{}],"India's fastest-growing logistics network."]}],["$","div",null,{"className":"we-cta-btns","children":["$","$L23",null,{"href":"/contact","className":"btn-we-primary","style":{"textDecoration":"none"},"children":["Apply Now",["$","svg",null,{"width":"20","height":"20","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2.5","strokeLinecap":"round","strokeLinejoin":"round","style":{"marginLeft":"8px","display":"inline-block","verticalAlign":"middle"},"children":[["$","line",null,{"x1":"5","y1":"12","x2":"19","y2":"12"}],["$","polyline",null,{"points":"12 5 19 12 12 19"}]]}]]}]}]]}]}]}] 14:["$","script","script-0",{"src":"/_next/static/chunks/0qm~m5xq2.z6g.js","async":true,"nonce":"$undefined"}] -15:["$","script","script-1",{"src":"/_next/static/chunks/05gvsernou_9a.js","async":true,"nonce":"$undefined"}] +15:["$","script","script-1",{"src":"/_next/static/chunks/0rn9tljn2_ryg.js","async":true,"nonce":"$undefined"}] 16:["$","$L24",null,{"children":["$","$25",null,{"name":"Next.MetadataOutlet","children":"$@26"}]}] 27:[] 17:"$W27" 18:["$","$1","h",{"children":[null,["$","$L28",null,{"children":"$L29"}],["$","div",null,{"hidden":true,"children":["$","$L2a",null,{"children":["$","$25",null,{"name":"Next.Metadata","children":"$L2b"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] -1a:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] -2d:I[85437,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"Image"] +1a:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +2d:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"Image"] 1e:["$","div",null,{"id":"women-entrepreneurship","className":"elementor-element elementor-element-bbc6760 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"bbc6760","data-element_type":"container","data-e-type":"container","style":{"backgroundColor":"#1f1f1f","width":"calc(100% - 40px)","marginLeft":"20px","marginRight":"20px","borderRadius":"25px"},"children":[["$","div",null,{"className":"elementor-element elementor-element-13a7637 elementor-widget__width-auto elementor-absolute elementor-widget elementor-widget-logico_decorative_block","data-id":"13a7637","data-element_type":"widget","data-e-type":"widget","style":{"position":"absolute"},"children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"block-decoration animation-enable block-decoration-style-1","children":["$","div",null,{"className":"block-decoration-item"}]}]}]}],["$","div",null,{"style":{"backgroundImage":"url(/images/bg-header-women.png)"},"className":"elementor-element elementor-element-7da6646 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"7da6646","data-element_type":"container","data-e-type":"container"}],["$","div",null,{"className":"elementor-element elementor-element-8b5d6e6 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"8b5d6e6","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-1f766ea e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"1f766ea","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-3b61435 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"3b61435","data-element_type":"container","data-e-type":"container","data-settings":"{\"background_background\":\"classic\"}","children":[["$","div",null,{"className":"elementor-element elementor-element-c364d1c elementor-widget elementor-widget-text-editor","data-id":"c364d1c","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","p",null,{"children":"01"}]}]}],["$","div",null,{"className":"elementor-element elementor-element-239afbb elementor-widget elementor-widget-logico_heading","data-id":"239afbb","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","h5",null,{"className":"logico-title","children":"Empowering Women"}]}]}],["$","div",null,{"className":"elementor-element elementor-element-0d307dd elementor-widget elementor-widget-text-editor","data-id":"0d307dd","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","p",null,{"children":"Doormile empowers women in last-mile delivery."}]}]}]]}],["$","div",null,{"className":"elementor-element elementor-element-5aea22e e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5aea22e","data-element_type":"container","data-e-type":"container","data-settings":"{\"background_background\":\"classic\"}","children":["$","div",null,{"className":"elementor-element elementor-element-46b9ffa elementor-widget elementor-widget-logico_button","data-id":"46b9ffa","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_button.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"button-widget","children":["$","div",null,{"className":"button-container","children":["$","a",null,{"href":"#","className":"logico-small-button","children":["Explore more",["$","svg",null,{"viewBox":"0 0 13 20","children":["$","polyline",null,{"points":"0.5 19.5 3 19.5 12.5 10 3 0.5"}]}]]}]}]}]}]}]}]]}]}],"$L2c"]}] 22:["$","div",null,{"className":"elementor-element elementor-element-c2c601a e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"c2c601a","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-3306a27 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"3306a27","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-7afb238 elementor-widget elementor-widget-logico_heading","data-id":"7afb238","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-title","children":"/Team /"}]}]}],["$","div",null,{"style":{"alignSelf":"flex-start","width":"100%"},"className":"elementor-element elementor-element-c46350e elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"c46350e","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","h3",null,{"className":"logico-title","style":{"textAlign":"left"},"children":"Meet crew"}]}]}],["$","div",null,{"className":"elementor-element elementor-element-ac909e5 elementor-widget elementor-widget-logico_team_listing","data-id":"ac909e5","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_team_listing.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-team-listing-widget","children":["$","div",null,{"className":"archive-listing","children":["$","div",null,{"className":"archive-listing-wrapper team-listing-wrapper team-grid-listing columns-5","children":[["$","div","0",{"className":"team-item-wrapper post-2866 team type-team status-publish has-post-thumbnail hentry","children":["$","div",null,{"className":"team-item","children":[["$","div",null,{"className":"team-item-media","children":["$","div",null,{"className":"post-media","children":["$","a",null,{"href":"#","children":["$","$L2d",null,{"src":"/images/Investor.png","alt":"Ratan Kumar","width":300,"height":360,"style":{"objectFit":"cover","width":"100%","height":"100%"}}]}]}]}],["$","div",null,{"className":"team-item-content","children":[["$","div",null,{"className":"post-title","children":["$","a",null,{"href":"#","children":"Ratan Kumar"}]}],["$","div",null,{"className":"team-item-position","dangerouslySetInnerHTML":{"__html":"COO & Operational Specialist"}}],["$","div",null,{"className":"team-item-socials","children":["$","ul",null,{"className":"team-socials wrapper-socials","children":["$","li",null,{"children":["$","a",null,{"href":"https://www.linkedin.com/","target":"_blank","rel":"noreferrer","className":"fab fa-linkedin-in"}]}]}]}]]}]]}]}],["$","div","1",{"className":"team-item-wrapper post-2866 team type-team status-publish has-post-thumbnail hentry","children":["$","div",null,{"className":"team-item","children":[["$","div",null,{"className":"team-item-media","children":["$","div",null,{"className":"post-media","children":["$","a",null,{"href":"#","children":["$","$L2d",null,{"src":"/images/Parthi.png","alt":"Parthiban","width":300,"height":360,"style":{"objectFit":"cover","width":"100%","height":"100%"}}]}]}]}],["$","div",null,{"className":"team-item-content","children":[["$","div",null,{"className":"post-title","children":["$","a",null,{"href":"#","children":"Parthiban"}]}],["$","div",null,{"className":"team-item-position","dangerouslySetInnerHTML":{"__html":"CGO & Growth Specialist"}}],["$","div",null,{"className":"team-item-socials","children":["$","ul",null,{"className":"team-socials wrapper-socials","children":["$","li",null,{"children":["$","a",null,{"href":"https://www.linkedin.com/","target":"_blank","rel":"noreferrer","className":"fab fa-linkedin-in"}]}]}]}]]}]]}]}],["$","div","2",{"className":"team-item-wrapper post-2866 team type-team status-publish has-post-thumbnail hentry","children":["$","div",null,{"className":"team-item","children":[["$","div",null,{"className":"team-item-media","children":["$","div",null,{"className":"post-media","children":"$L2e"}]}],"$L2f"]}]}],"$L30","$L31"]}]}]}]}]}]]}]}]}] -32:I[5074,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"default"] -33:I[2018,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"ScrollReveal"] -34:I[2018,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"StaggerChildren"] +32:I[5074,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"default"] +33:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"ScrollReveal"] +34:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"StaggerChildren"] 2c:["$","div",null,{"className":"elementor-element elementor-element-b6e14bd e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child","data-id":"b6e14bd","data-element_type":"container","data-e-type":"container","data-settings":"{\"background_background\":\"classic\"}","children":[["$","div",null,{"className":"ws-map","aria-hidden":"true","children":["$","$L32",null,{}]}],["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-90cc867 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"90cc867","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-24c0280 elementor-widget__width-inherit elementor-widget elementor-widget-logico_heading","data-id":"24c0280","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-title","children":"/ Women Empowerment /"}]}]}],["$","div",null,{"className":"elementor-element elementor-element-2ed47f3 e-con-full e-grid cut-corner-no sticky-container-off e-con e-child","data-id":"2ed47f3","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-36efec7 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"36efec7","data-element_type":"container","data-e-type":"container","children":[["$","$L33",null,{"duration":0.8,"yOffset":28,"triggerOnce":true,"children":["$","div",null,{"className":"elementor-element elementor-element-778840d elementor-widget elementor-widget-logico_heading","data-id":"778840d","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","h3",null,{"className":"logico-title","children":"Women Leading the Way"}]}]}]}],["$","div",null,{"className":"elementor-element elementor-element-bbfb67f elementor-widget elementor-widget-image","data-id":"bbfb67f","data-element_type":"widget","data-e-type":"widget","data-widget_type":"image.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","$L2d",null,{"src":"/images/bg-map-women.png","alt":"Women Map","width":626,"height":692,"style":{"maxWidth":"100%","height":"auto"}}]}]}]]}],["$","div",null,{"className":"elementor-element elementor-element-b2c956f e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"b2c956f","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"id":"ws-stories","children":[["$","$L34",null,{"className":"ws__stats","stagger":0.1,"duration":0.6,"yOffset":20,"triggerOnce":true,"children":[["$","div","Women Partners",{"className":"ws__stat","children":[["$","div",null,{"className":"ws__stat-num","children":["500",["$","span",null,{"children":"+"}]]}],["$","div",null,{"className":"ws__stat-label","children":"Women Partners"}]]}],["$","div","Cities",{"className":"ws__stat","children":[["$","div",null,{"className":"ws__stat-num","children":["35",["$","span",null,{"children":"+"}]]}],["$","div",null,{"className":"ws__stat-label","children":"Cities"}]]}],["$","div","Deliveries",{"className":"ws__stat","children":[["$","div",null,{"className":"ws__stat-num","children":["10K",["$","span",null,{"children":"+"}]]}],["$","div",null,{"className":"ws__stat-label","children":"Deliveries"}]]}]]}],["$","$L34",null,{"className":"ws__cards","stagger":0.08,"duration":0.6,"yOffset":24,"triggerOnce":true,"children":[["$","div","Women Leadership",{"className":"ws__card","children":[["$","span",null,{"className":"ws__card-icon","aria-hidden":"true","children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"1.8","strokeLinecap":"round","strokeLinejoin":"round","children":[["$","circle",null,{"cx":"12","cy":"9","r":"5"}],["$","path",null,{"d":"M9 13.5 7.5 21 12 18l4.5 3-1.5-7.5"}]]}]}],["$","div",null,{"className":"ws__card-title","children":"Women Leadership"}],["$","p",null,{"className":"ws__card-desc","children":"Women driving decisions across operations, routing, and last-mile delivery every day."}]]}],["$","div","Entrepreneurship",{"className":"ws__card","children":["$L35","$L36","$L37"]}],"$L38","$L39"]}]]}]}]]}]]}]}]]}] 2e:["$","a",null,{"href":"#","children":["$","$L2d",null,{"src":"/images/Aravinth.png","alt":"Aravinth","width":300,"height":360,"style":{"objectFit":"cover","width":"100%","height":"100%"}}]}] 2f:["$","div",null,{"className":"team-item-content","children":[["$","div",null,{"className":"post-title","children":["$","a",null,{"href":"#","children":"Aravinth"}]}],["$","div",null,{"className":"team-item-position","dangerouslySetInnerHTML":{"__html":"CFO & Finance Specialist"}}],["$","div",null,{"className":"team-item-socials","children":["$","ul",null,{"className":"team-socials wrapper-socials","children":["$","li",null,{"children":["$","a",null,{"href":"https://www.linkedin.com/","target":"_blank","rel":"noreferrer","className":"fab fa-linkedin-in"}]}]}]}]]}] @@ -288,6 +338,6 @@ e:["$","$L1c",null,{}] 38:["$","div","Innovation",{"className":"ws__card","children":[["$","span",null,{"className":"ws__card-icon","aria-hidden":"true","children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"1.8","strokeLinecap":"round","strokeLinejoin":"round","children":[["$","path",null,{"d":"M9 18h6M10 21h4"}],["$","path",null,{"d":"M12 3a6 6 0 0 0-3.8 10.6c.5.5.8 1.2.8 1.9v.5h6v-.5c0-.7.3-1.4.8-1.9A6 6 0 0 0 12 3Z"}]]}]}],["$","div",null,{"className":"ws__card-title","children":"Innovation"}],["$","p",null,{"className":"ws__card-desc","children":"Fresh thinking that reshapes how first and last-mile logistics actually work."}]]}] 39:["$","div","Community Growth",{"className":"ws__card","children":[["$","span",null,{"className":"ws__card-icon","aria-hidden":"true","children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"1.8","strokeLinecap":"round","strokeLinejoin":"round","children":[["$","circle",null,{"cx":"9","cy":"8","r":"3"}],["$","path",null,{"d":"M3.5 20c0-3 2.5-5 5.5-5s5.5 2 5.5 5M16 5.5a3 3 0 0 1 0 5.8M20.5 20c0-2.3-1.4-3.9-3.3-4.6"}]]}]}],["$","div",null,{"className":"ws__card-title","children":"Community Growth"}],["$","p",null,{"className":"ws__card-desc","children":"Local hiring and training that lifts entire neighbourhoods, not just routes."}]]}] 29:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -3a:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +3a:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] 26:null 2b:[["$","title","0",{"children":"About Us – Doormile"}],["$","meta","1",{"name":"description","content":"Meet the best crew and operators behind Doormile. Explore our roadmap, competitive edge, and operational excellence in EV and last-mile logistics."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L3a","7",{}]] diff --git a/build/about-us/__next._head.txt b/build/about-us/__next._head.txt index 63d627a..0df2f65 100644 --- a/build/about-us/__next._head.txt +++ b/build/about-us/__next._head.txt @@ -1,6 +1,6 @@ 1:"$Sreact.fragment" -2:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -3:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] 4:"$Sreact.suspense" -5:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] -0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"About Us – Doormile"}],["$","meta","1",{"name":"description","content":"Meet the best crew and operators behind Doormile. Explore our roadmap, competitive edge, and operational excellence in EV and last-mile logistics."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"About Us – Doormile"}],["$","meta","1",{"name":"description","content":"Meet the best crew and operators behind Doormile. Explore our roadmap, competitive edge, and operational excellence in EV and last-mile logistics."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/about-us/__next._index.txt b/build/about-us/__next._index.txt index d8e09a9..9c09249 100644 --- a/build/about-us/__next._index.txt +++ b/build/about-us/__next._index.txt @@ -1,15 +1,15 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/about-us/__next._tree.txt b/build/about-us/__next._tree.txt index c4b2701..e81ea7d 100644 --- a/build/about-us/__next._tree.txt +++ b/build/about-us/__next._tree.txt @@ -1,4 +1,4 @@ -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -6,4 +6,4 @@ :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"about-us","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"about-us","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/about-us/__next.about-us.__PAGE__.txt b/build/about-us/__next.about-us.__PAGE__.txt index f8a8c0d..b616e4b 100644 --- a/build/about-us/__next.about-us.__PAGE__.txt +++ b/build/about-us/__next.about-us.__PAGE__.txt @@ -1,16 +1,16 @@ 1:"$Sreact.fragment" -2:I[24911,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"default"] -3:I[61867,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"default"] -e:I[47580,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"default"] -f:I[2012,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"default"] -12:I[22016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],""] -13:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +2:I[24911,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"default"] +3:I[61867,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"default"] +e:I[47580,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"default"] +f:I[2012,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"default"] +12:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],""] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 14:"$Sreact.suspense" -16:I[5074,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"default"] -17:I[2018,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"ScrollReveal"] -18:I[85437,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"Image"] -19:I[2018,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/05gvsernou_9a.js"],"StaggerChildren"] -4:T16a4, +16:I[5074,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"default"] +17:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"ScrollReveal"] +18:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"Image"] +19:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0qm~m5xq2.z6g.js","/_next/static/chunks/0rn9tljn2_ryg.js"],"StaggerChildren"] +4:T2027, /* ============================================================ Success Stories — redesigned right column (stats + 2x2 cards) Dark section · red accent #dc2626 / #ef4444 · Manrope @@ -134,6 +134,21 @@ f:I[2012,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4j white-space: nowrap !important; } + /* The banner image (bg-header-women.png) is very wide (≈2.48:1) and the + woman — the subject of this section — sits on the right. On narrow + screens "cover" center-crops her out, so shift the focal point right + to keep her face in frame. */ + @media (max-width: 1024px) { + .elementor-element.elementor-element-7da6646:not(.elementor-motion-effects-element-type-background) { + background-position: 78% center !important; + } + } + @media (max-width: 600px) { + .elementor-element.elementor-element-7da6646:not(.elementor-motion-effects-element-type-background) { + background-position: 82% center !important; + } + } + /* Stack the two columns below the desktop breakpoint so the box group always gets full width and stays centered — never clipped. */ @media (max-width: 1024px) { @@ -142,14 +157,49 @@ f:I[2012,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4j } .elementor-element.elementor-element-2ed47f3 { grid-template-columns: 1fr !important; } #ws-stories { max-width: 640px; margin: 0 auto; } + /* Align the heading, image and stats/cards to one shared left/right + edge — the heading + image widgets carried extra inset that left + them staggered (80px / 70px / 60px) against the stats column. */ + #women-entrepreneurship .elementor-element-36efec7, + #women-entrepreneurship .elementor-element-b2c956f { + padding-left: 0 !important; + padding-right: 0 !important; + } + #women-entrepreneurship .elementor-element-778840d, + #women-entrepreneurship .elementor-element-bbfb67f, + #women-entrepreneurship .elementor-element-778840d > .elementor-widget-container, + #women-entrepreneurship .elementor-element-bbfb67f > .elementor-widget-container { + padding-left: 0 !important; + padding-right: 0 !important; + margin-left: 0 !important; + margin-right: 0 !important; + } } @media (max-width: 600px) { - #ws-stories .ws__stats { grid-template-columns: 1fr 1fr 1fr; gap: 8px; } - #ws-stories .ws__stat { padding: 14px 10px; } - #ws-stories .ws__stat-label { font-size: 11px !important; letter-spacing: 0.02em; } + /* KPI stat cards stack one-per-row on mobile. Inside each card the big + number sits on the left and the label on the right, vertically + centered, so every stat reads as a clean full-width row instead of + three cramped columns. */ + #ws-stories .ws__stats { grid-template-columns: 1fr; gap: 12px; } + #ws-stories .ws__stat { + display: flex; + align-items: center; + justify-content: space-between; + gap: 16px; + padding: 20px 22px; + min-width: 0; + } + #ws-stories .ws__stat-num { font-size: clamp(30px, 9vw, 40px); } + #ws-stories .ws__stat-label { + margin-top: 0; + font-size: 13px !important; + letter-spacing: 0.02em; + text-align: right; + min-height: 0; + } #ws-stories .ws__cards { grid-template-columns: 1fr; } } - 0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"86","className":"elementor elementor-86 elementor-59","children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n .about-us-hero-content {\n width: 100% !important;\n text-align: center !important;\n color: #fff !important;\n padding: 40px !important;\n z-index: 2;\n display: flex !important;\n flex-direction: column !important;\n justify-content: center !important;\n align-items: center !important;\n height: 100% !important;\n }\n\n .about-us-hero-title {\n margin: 0 !important;\n font-family: \"Manrope\", Sans-serif !important;\n font-size: clamp(34px, 5.5vw, 68px) !important;\n font-weight: 850 !important;\n line-height: 1.1 !important;\n text-transform: uppercase !important;\n letter-spacing: -1.5px !important;\n color: #ffffff !important;\n text-align: center !important;\n }\n "}}],["$","div",null,{"className":"custom-standard-hero-container","children":["$","div",null,{"style":{"backgroundImage":"url('/images/about-bg.png')","--hero-overlay":"linear-gradient(to bottom, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.92) 60%, rgba(0, 0, 0, 0.98) 100%)"},"className":"custom-standard-hero-card","children":["$","div",null,{"className":"about-us-hero-content","children":["$","h3",null,{"className":"about-us-hero-title","children":["The Operators Building ",["$","br",null,{}]," ",["$","span",null,{"style":{"color":"#C01227"},"children":"Doormile"}]]}]}]}]}]],["$","$L2",null,{}],["$","$L3",null,{}],[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$4"}}],"$L5"],"$L6","$L7","$L8","$L9"]}]}]}]}],["$La","$Lb"],"$Lc"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} + 0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"86","className":"elementor elementor-86 elementor-59","children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n .about-us-hero-content {\n width: 100% !important;\n text-align: center !important;\n color: #fff !important;\n padding: 40px !important;\n z-index: 2;\n display: flex !important;\n flex-direction: column !important;\n justify-content: center !important;\n align-items: center !important;\n height: 100% !important;\n }\n\n .about-us-hero-title {\n margin: 0 !important;\n font-family: \"Manrope\", Sans-serif !important;\n font-size: clamp(34px, 5.5vw, 68px) !important;\n font-weight: 850 !important;\n line-height: 1.1 !important;\n text-transform: uppercase !important;\n letter-spacing: -1.5px !important;\n color: #ffffff !important;\n text-align: center !important;\n }\n "}}],["$","div",null,{"className":"custom-standard-hero-container","children":["$","div",null,{"style":{"backgroundImage":"url('/images/about-bg.png')","--hero-overlay":"linear-gradient(to bottom, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.92) 60%, rgba(0, 0, 0, 0.98) 100%)"},"className":"custom-standard-hero-card","children":["$","div",null,{"className":"about-us-hero-content","children":["$","h3",null,{"className":"about-us-hero-title","children":["The Operators Building ",["$","br",null,{}]," ",["$","span",null,{"style":{"color":"#C01227"},"children":"Doormile"}]]}]}]}]}]],["$","$L2",null,{}],["$","$L3",null,{}],[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$4"}}],"$L5"],"$L6","$L7","$L8","$L9"]}]}]}]}],["$La","$Lb"],"$Lc"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} 5:["$","div",null,{"id":"women-entrepreneurship","className":"elementor-element elementor-element-bbc6760 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"bbc6760","data-element_type":"container","data-e-type":"container","style":{"backgroundColor":"#1f1f1f","width":"calc(100% - 40px)","marginLeft":"20px","marginRight":"20px","borderRadius":"25px"},"children":[["$","div",null,{"className":"elementor-element elementor-element-13a7637 elementor-widget__width-auto elementor-absolute elementor-widget elementor-widget-logico_decorative_block","data-id":"13a7637","data-element_type":"widget","data-e-type":"widget","style":{"position":"absolute"},"children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"block-decoration animation-enable block-decoration-style-1","children":["$","div",null,{"className":"block-decoration-item"}]}]}]}],["$","div",null,{"style":{"backgroundImage":"url(/images/bg-header-women.png)"},"className":"elementor-element elementor-element-7da6646 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"7da6646","data-element_type":"container","data-e-type":"container"}],["$","div",null,{"className":"elementor-element elementor-element-8b5d6e6 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"8b5d6e6","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-1f766ea e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"1f766ea","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-3b61435 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"3b61435","data-element_type":"container","data-e-type":"container","data-settings":"{\"background_background\":\"classic\"}","children":[["$","div",null,{"className":"elementor-element elementor-element-c364d1c elementor-widget elementor-widget-text-editor","data-id":"c364d1c","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","p",null,{"children":"01"}]}]}],["$","div",null,{"className":"elementor-element elementor-element-239afbb elementor-widget elementor-widget-logico_heading","data-id":"239afbb","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","h5",null,{"className":"logico-title","children":"Empowering Women"}]}]}],["$","div",null,{"className":"elementor-element elementor-element-0d307dd elementor-widget elementor-widget-text-editor","data-id":"0d307dd","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","p",null,{"children":"Doormile empowers women in last-mile delivery."}]}]}]]}],["$","div",null,{"className":"elementor-element elementor-element-5aea22e e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5aea22e","data-element_type":"container","data-e-type":"container","data-settings":"{\"background_background\":\"classic\"}","children":["$","div",null,{"className":"elementor-element elementor-element-46b9ffa elementor-widget elementor-widget-logico_button","data-id":"46b9ffa","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_button.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"button-widget","children":["$","div",null,{"className":"button-container","children":["$","a",null,{"href":"#","className":"logico-small-button","children":["Explore more",["$","svg",null,{"viewBox":"0 0 13 20","children":["$","polyline",null,{"points":"0.5 19.5 3 19.5 12.5 10 3 0.5"}]}]]}]}]}]}]}]}]]}]}],"$Ld"]}] 6:["$","$Le",null,{}] 7:["$","$Lf",null,{}] @@ -245,7 +295,7 @@ f:I[2012,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4j 8:[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$10"}}],"$L11"] 9:["$","div",null,{"className":"we-container","children":["$","div",null,{"className":"we-cta reveal","children":["$","div",null,{"className":"we-cta-inner","children":[["$","h2",null,{"className":"we-cta-title","children":["Ready to Start",["$","br",null,{}],["$","em",null,{"children":"Your Journey?"}]]}],["$","p",null,{"className":"we-cta-sub","children":["Join our Women Entrepreneurship program and become part of ",["$","br",null,{}],"India's fastest-growing logistics network."]}],["$","div",null,{"className":"we-cta-btns","children":["$","$L12",null,{"href":"/contact","className":"btn-we-primary","style":{"textDecoration":"none"},"children":["Apply Now",["$","svg",null,{"width":"20","height":"20","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"2.5","strokeLinecap":"round","strokeLinejoin":"round","style":{"marginLeft":"8px","display":"inline-block","verticalAlign":"middle"},"children":[["$","line",null,{"x1":"5","y1":"12","x2":"19","y2":"12"}],["$","polyline",null,{"points":"12 5 19 12 12 19"}]]}]]}]}]]}]}]}] a:["$","script","script-0",{"src":"/_next/static/chunks/0qm~m5xq2.z6g.js","async":true}] -b:["$","script","script-1",{"src":"/_next/static/chunks/05gvsernou_9a.js","async":true}] +b:["$","script","script-1",{"src":"/_next/static/chunks/0rn9tljn2_ryg.js","async":true}] c:["$","$L13",null,{"children":["$","$14",null,{"name":"Next.MetadataOutlet","children":"$@15"}]}] d:["$","div",null,{"className":"elementor-element elementor-element-b6e14bd e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child","data-id":"b6e14bd","data-element_type":"container","data-e-type":"container","data-settings":"{\"background_background\":\"classic\"}","children":[["$","div",null,{"className":"ws-map","aria-hidden":"true","children":["$","$L16",null,{}]}],["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-90cc867 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"90cc867","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-24c0280 elementor-widget__width-inherit elementor-widget elementor-widget-logico_heading","data-id":"24c0280","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-title","children":"/ Women Empowerment /"}]}]}],["$","div",null,{"className":"elementor-element elementor-element-2ed47f3 e-con-full e-grid cut-corner-no sticky-container-off e-con e-child","data-id":"2ed47f3","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-36efec7 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"36efec7","data-element_type":"container","data-e-type":"container","children":[["$","$L17",null,{"duration":0.8,"yOffset":28,"triggerOnce":true,"children":["$","div",null,{"className":"elementor-element elementor-element-778840d elementor-widget elementor-widget-logico_heading","data-id":"778840d","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","h3",null,{"className":"logico-title","children":"Women Leading the Way"}]}]}]}],["$","div",null,{"className":"elementor-element elementor-element-bbfb67f elementor-widget elementor-widget-image","data-id":"bbfb67f","data-element_type":"widget","data-e-type":"widget","data-widget_type":"image.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","$L18",null,{"src":"/images/bg-map-women.png","alt":"Women Map","width":626,"height":692,"style":{"maxWidth":"100%","height":"auto"}}]}]}]]}],["$","div",null,{"className":"elementor-element elementor-element-b2c956f e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"b2c956f","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"id":"ws-stories","children":[["$","$L19",null,{"className":"ws__stats","stagger":0.1,"duration":0.6,"yOffset":20,"triggerOnce":true,"children":[["$","div","Women Partners",{"className":"ws__stat","children":[["$","div",null,{"className":"ws__stat-num","children":["500",["$","span",null,{"children":"+"}]]}],["$","div",null,{"className":"ws__stat-label","children":"Women Partners"}]]}],["$","div","Cities",{"className":"ws__stat","children":[["$","div",null,{"className":"ws__stat-num","children":["35",["$","span",null,{"children":"+"}]]}],["$","div",null,{"className":"ws__stat-label","children":"Cities"}]]}],["$","div","Deliveries",{"className":"ws__stat","children":[["$","div",null,{"className":"ws__stat-num","children":["10K",["$","span",null,{"children":"+"}]]}],["$","div",null,{"className":"ws__stat-label","children":"Deliveries"}]]}]]}],["$","$L19",null,{"className":"ws__cards","stagger":0.08,"duration":0.6,"yOffset":24,"triggerOnce":true,"children":[["$","div","Women Leadership",{"className":"ws__card","children":[["$","span",null,{"className":"ws__card-icon","aria-hidden":"true","children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"1.8","strokeLinecap":"round","strokeLinejoin":"round","children":[["$","circle",null,{"cx":"12","cy":"9","r":"5"}],["$","path",null,{"d":"M9 13.5 7.5 21 12 18l4.5 3-1.5-7.5"}]]}]}],["$","div",null,{"className":"ws__card-title","children":"Women Leadership"}],["$","p",null,{"className":"ws__card-desc","children":"Women driving decisions across operations, routing, and last-mile delivery every day."}]]}],["$","div","Entrepreneurship",{"className":"ws__card","children":["$L1a","$L1b","$L1c"]}],"$L1d","$L1e"]}]]}]}]]}]]}]}]]}] 11:["$","div",null,{"className":"elementor-element elementor-element-c2c601a e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"c2c601a","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-3306a27 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"3306a27","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-7afb238 elementor-widget elementor-widget-logico_heading","data-id":"7afb238","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-title","children":"/Team /"}]}]}],["$","div",null,{"style":{"alignSelf":"flex-start","width":"100%"},"className":"elementor-element elementor-element-c46350e elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"c46350e","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","h3",null,{"className":"logico-title","style":{"textAlign":"left"},"children":"Meet crew"}]}]}],["$","div",null,{"className":"elementor-element elementor-element-ac909e5 elementor-widget elementor-widget-logico_team_listing","data-id":"ac909e5","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_team_listing.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-team-listing-widget","children":["$","div",null,{"className":"archive-listing","children":["$","div",null,{"className":"archive-listing-wrapper team-listing-wrapper team-grid-listing columns-5","children":[["$","div","0",{"className":"team-item-wrapper post-2866 team type-team status-publish has-post-thumbnail hentry","children":["$","div",null,{"className":"team-item","children":[["$","div",null,{"className":"team-item-media","children":["$","div",null,{"className":"post-media","children":["$","a",null,{"href":"#","children":["$","$L18",null,{"src":"/images/Investor.png","alt":"Ratan Kumar","width":300,"height":360,"style":{"objectFit":"cover","width":"100%","height":"100%"}}]}]}]}],["$","div",null,{"className":"team-item-content","children":[["$","div",null,{"className":"post-title","children":["$","a",null,{"href":"#","children":"Ratan Kumar"}]}],["$","div",null,{"className":"team-item-position","dangerouslySetInnerHTML":{"__html":"COO & Operational Specialist"}}],["$","div",null,{"className":"team-item-socials","children":["$","ul",null,{"className":"team-socials wrapper-socials","children":["$","li",null,{"children":["$","a",null,{"href":"https://www.linkedin.com/","target":"_blank","rel":"noreferrer","className":"fab fa-linkedin-in"}]}]}]}]]}]]}]}],["$","div","1",{"className":"team-item-wrapper post-2866 team type-team status-publish has-post-thumbnail hentry","children":["$","div",null,{"className":"team-item","children":[["$","div",null,{"className":"team-item-media","children":["$","div",null,{"className":"post-media","children":["$","a",null,{"href":"#","children":["$","$L18",null,{"src":"/images/Parthi.png","alt":"Parthiban","width":300,"height":360,"style":{"objectFit":"cover","width":"100%","height":"100%"}}]}]}]}],["$","div",null,{"className":"team-item-content","children":[["$","div",null,{"className":"post-title","children":["$","a",null,{"href":"#","children":"Parthiban"}]}],["$","div",null,{"className":"team-item-position","dangerouslySetInnerHTML":{"__html":"CGO & Growth Specialist"}}],["$","div",null,{"className":"team-item-socials","children":["$","ul",null,{"className":"team-socials wrapper-socials","children":["$","li",null,{"children":["$","a",null,{"href":"https://www.linkedin.com/","target":"_blank","rel":"noreferrer","className":"fab fa-linkedin-in"}]}]}]}]]}]]}]}],["$","div","2",{"className":"team-item-wrapper post-2866 team type-team status-publish has-post-thumbnail hentry","children":["$","div",null,{"className":"team-item","children":[["$","div",null,{"className":"team-item-media","children":["$","div",null,{"className":"post-media","children":"$L1f"}]}],"$L20"]}]}],"$L21","$L22"]}]}]}]}]}]]}]}]}] diff --git a/build/about-us/__next.about-us.txt b/build/about-us/__next.about-us.txt index 1983a3d..e7f2861 100644 --- a/build/about-us/__next.about-us.txt +++ b/build/about-us/__next.about-us.txt @@ -1,5 +1,5 @@ 1:"$Sreact.fragment" -2:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] 4:[] -0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog.html b/build/blog.html index 461ff82..e8e37d5 100644 --- a/build/blog.html +++ b/build/blog.html @@ -1,4 +1,4 @@ -Blog – Doormile

How AI Is Transforming Last-Mile EV Delivery

Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last.

How AI Is Transforming Last-Mile EV DeliveryTechnology

The EV Paradox: Solving Range Anxiety for Urban Fleets

Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch.

The EV Paradox: Solving Range Anxiety for Urban FleetsEV Fleet

42% Less Distance: Insights from Our Hyderabad Hub

A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses.

42% Less Distance: Insights from Our Hyderabad HubCase Study

MileTruth™ AI — 10 Stages to Smarter Dispatch

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.

MileTruth™ AI — 10 Stages to Smarter DispatchMileTruth

Why Mathematical Precision Beats Heuristics in Routing

Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time.

Why Mathematical Precision Beats Heuristics in RoutingTechnology

Fleet Reduction Without Compromising Delivery Volume

Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch.

Fleet Reduction Without Compromising Delivery VolumeFleet Management

Building a Greener City: The Future of Urban Logistics

Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale.

Building a Greener City: The Future of Urban LogisticsSustainability

How Doormile Maintains 99.9% SLA Compliance at Scale

Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint.

How Doormile Maintains 99.9% SLA Compliance at ScaleOperations

Battery Simulation: The Secret to EV Route Pre-Validation

Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate.

Battery Simulation: The Secret to EV Route Pre-ValidationEV Fleet
\ No newline at end of file + + /* Compact footer link columns on phones (<=480px). The kit only sets + column --width at min-width:481px, so below that all four blocks + fall back to 100% and stack into one very tall column. Put the + logo+social full-width on top, then lay the three link groups out + in a 2-up grid (matching the tablet 47% intent) so the footer is + roughly half as tall. */ + /* Inline icon beside each contact label (Call Center / Our Location / + Email / Social network). */ + .elementor-6585 .dm-foot-label { + display: inline-flex !important; + align-items: center; + gap: 8px; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { + flex: 0 0 auto; + color: #C01227; + } + + /* ── Compact mobile contact footer (<=600px) ── + On phones the upper contact section stacked into one very tall + column with 50px margins between every block. Tighten the heading, + collapse those stack margins, and pair Email + Social side-by-side + (both are short) so the footer is far shorter without losing the + full-width address readability. */ + @media (max-width: 600px) { + /* Trim the band's oversized top/bottom padding on phones. */ + .elementor-6585 .elementor-element.elementor-element-b29b8fc > .e-con-inner { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .elementor-6585 .elementor-element.elementor-element-687d944 .logico-title { + font-size: clamp(24px, 6.6vw, 32px) !important; + line-height: 1.2 !important; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { width: 14px; height: 14px; } + /* The Call Center / Our Location group carries a 10px side padding + the Email / Social group doesn't, leaving its labels indented + 10px out of line with everything else — zero it so all four + contact blocks share the same left edge as the heading. */ + .elementor-6585 .elementor-element.elementor-element-2631b42 { + padding-left: 0 !important; + padding-right: 0 !important; + } + /* All four contact blocks stack in one left-aligned column with a + consistent gap (Social network sits below Email). */ + .elementor-6585 .elementor-element.elementor-element-2631b42, + .elementor-6585 .elementor-element.elementor-element-f5d8e63, + .elementor-6585 .elementor-element.elementor-element-645be8d, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + margin-top: 22px !important; + } + .elementor-6585 .elementor-element.elementor-element-645be8d > .e-con-inner { + flex-direction: column !important; + gap: 0 !important; + align-items: stretch !important; + } + .elementor-6585 .elementor-element.elementor-element-a96d151, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + width: 100% !important; + } + } + + @media (max-width: 480px) { + .elementor-6585 .elementor-element.elementor-element-3f1ba7a { + display: flex !important; + flex-direction: row !important; + flex-wrap: wrap !important; + gap: 36px 16px !important; + } + .elementor-6585 .elementor-element.elementor-element-64e2e81 { + flex: 0 0 100% !important; + width: 100% !important; + } + .elementor-6585 .elementor-element.elementor-element-5b73dd3, + .elementor-6585 .elementor-element.elementor-element-451f15c, + .elementor-6585 .elementor-element.elementor-element-44a1f5d { + flex: 1 1 calc(50% - 8px) !important; + width: calc(50% - 8px) !important; + min-width: 0 !important; + } + /* Allow long links (e.g. "Women entrepreneurship") to wrap inside + the narrow columns instead of overflowing. */ + .elementor-6585 .logico-custom-menu-widget li a { + white-space: normal !important; + } + /* Trim the large social-icons top gap so the brand block stays tight. */ + .elementor-6585 .elementor-element.elementor-element-e4e6486 > .elementor-widget-container { + margin-top: 24px !important; + } + } + \ No newline at end of file diff --git a/build/blog.txt b/build/blog.txt index 015bc48..1384849 100644 --- a/build/blog.txt +++ b/build/blog.txt @@ -1,16 +1,16 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -11:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +11:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -18,13 +18,13 @@ b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4 :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"P":null,"c":["","blog"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"104","className":"elementor elementor-104","children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n .blogs-hero-title {\n color: #ffffff !important;\n font-family: var(--font-manrope), sans-serif !important;\n font-size: clamp(34px, 5.5vw, 68px) !important;\n font-weight: 850 !important;\n line-height: 1.08 !important;\n text-transform: uppercase !important;\n letter-spacing: -1.5px !important;\n margin: 0 !important;\n }\n "}}],"$Lc"],"$Ld"]}]}]}]}],null,"$Le"]}],{},null,false,null]},null,false,"$@f"]},null,false,null],"$L10",false]],"m":"$undefined","G":["$11",["$L12"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} -15:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +0:{"P":null,"c":["","blog"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"104","className":"elementor elementor-104","children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n .blogs-hero-title {\n color: #ffffff !important;\n font-family: var(--font-manrope), sans-serif !important;\n font-size: clamp(34px, 5.5vw, 68px) !important;\n font-weight: 850 !important;\n line-height: 1.08 !important;\n text-transform: uppercase !important;\n letter-spacing: -1.5px !important;\n margin: 0 !important;\n }\n "}}],"$Lc"],"$Ld"]}]}]}]}],null,"$Le"]}],{},null,false,null]},null,false,"$@f"]},null,false,null],"$L10",false]],"m":"$undefined","G":["$11",["$L12"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +15:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 16:"$Sreact.suspense" -19:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -1b:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +19:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +1b:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] c:["$","div",null,{"className":"custom-standard-hero-container","children":["$","div",null,{"style":{"backgroundImage":"url(/images/home2-banner-1.jpg)","backgroundPosition":"center center","backgroundRepeat":"no-repeat","backgroundSize":"cover"},"className":"custom-standard-hero-card","children":["$","div",null,{"className":"e-con-inner","style":{"position":"relative","width":"100%","height":"100%","display":"flex","alignItems":"center","justifyContent":"center","flexDirection":"column"},"children":["$","div",null,{"style":{"textAlign":"center","color":"#fff","zIndex":5},"children":["$","h1",null,{"className":"blogs-hero-title","children":["Delivering Trust.",["$","br",null,{}],["$","span",null,{"style":{"color":"#C01227"},"children":"Beyond Boundaries"}]]}]}]}]}]}] -13:T1160, +13:T12af, .custom-blog-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; @@ -97,9 +97,18 @@ c:["$","div",null,{"className":"custom-standard-hero-container","children":["$", font-family: var(--font-manrope), sans-serif !important; } + /* Bottom block pinned to the card base — keeps Read More + image at the + same vertical position across cards with different text lengths. */ + .custom-blog-bottom { + display: flex !important; + flex-direction: column !important; + margin-top: auto !important; + } + .custom-blog-readmore { display: inline-flex !important; align-items: center !important; + align-self: flex-start !important; gap: 6px !important; font-size: 13px !important; font-weight: 800 !important; @@ -124,7 +133,6 @@ c:["$","div",null,{"className":"custom-standard-hero-container","children":["$", aspect-ratio: 4 / 3 !important; border-radius: 20px !important; overflow: hidden !important; - margin-top: auto !important; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05) !important; } @@ -149,18 +157,19 @@ e:["$","$L15",null,{"children":["$","$16",null,{"name":"Next.MetadataOutlet","ch 18:[] f:"$W18" 10:["$","$1","h",{"children":[null,["$","$L19",null,{"children":"$L1a"}],["$","div",null,{"hidden":true,"children":["$","$L1b",null,{"children":["$","$16",null,{"name":"Next.Metadata","children":"$L1c"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] -12:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] -1d:I[2018,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ScrollReveal"] -1e:I[85437,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"Image"] -14:["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-3dec5cf e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"3dec5cf","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-aa12479 elementor-widget elementor-widget-logico_blog_listing","data-id":"aa12479","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_blog_listing.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"archive-listing","children":["$","div",null,{"className":"custom-blog-grid","children":[["$","$L1d","0",{"delay":0,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"How AI Is Transforming Last-Mile EV Delivery"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1e",null,{"src":"/images/blog-post-pic-17.png","alt":"How AI Is Transforming Last-Mile EV Delivery","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Technology"}]]}]]}]}],["$","$L1d","1",{"delay":0.08,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1e",null,{"src":"/images/ev-paradox.png","alt":"The EV Paradox: Solving Range Anxiety for Urban Fleets","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"EV Fleet"}]]}]]}]}],["$","$L1d","2",{"delay":0.16,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","p",null,{"className":"custom-blog-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1e",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Case Study"}]]}]]}]}],["$","$L1d","3",{"delay":0,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}],["$","p",null,{"className":"custom-blog-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."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1e",null,{"src":"/images/blog-post-pic-31.png","alt":"MileTruth™ AI — 10 Stages to Smarter Dispatch","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"MileTruth"}]]}]]}]}],["$","$L1d","4",{"delay":0.08,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":["$L1f","$L20"]}],"$L21"]}]}],"$L22","$L23","$L24","$L25"]}]}]}]}]}]}] -1f:["$","h3",null,{"className":"custom-blog-title","children":"Why Mathematical Precision Beats Heuristics in Routing"}] -20:["$","p",null,{"className":"custom-blog-excerpt","children":"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time."}] -21:["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1e",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Technology"}]]}] -22:["$","$L1d","5",{"delay":0.16,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Fleet Reduction Without Compromising Delivery Volume"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1e",null,{"src":"/images/blog-post-pic-8.jpeg","alt":"Fleet Reduction Without Compromising Delivery Volume","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Fleet Management"}]]}]]}]}] -23:["$","$L1d","6",{"delay":0,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Building a Greener City: The Future of Urban Logistics"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1e",null,{"src":"/images/blog-post-pic-6.jpeg","alt":"Building a Greener City: The Future of Urban Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Sustainability"}]]}]]}]}] -24:["$","$L1d","7",{"delay":0.08,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"How Doormile Maintains 99.9% SLA Compliance at Scale"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1e",null,{"src":"/images/last-mile-approach.jpg","alt":"How Doormile Maintains 99.9% SLA Compliance at Scale","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Operations"}]]}]]}]}] -25:["$","$L1d","8",{"delay":0.16,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Battery Simulation: The Secret to EV Route Pre-Validation"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1e",null,{"src":"/images/blog-post-pic-3.jpeg","alt":"Battery Simulation: The Secret to EV Route Pre-Validation","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"EV Fleet"}]]}]]}]}] +12:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +1d:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ScrollReveal"] +1e:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] +1f:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"Image"] +14:["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-3dec5cf e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"3dec5cf","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-aa12479 elementor-widget elementor-widget-logico_blog_listing","data-id":"aa12479","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_blog_listing.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"archive-listing","children":["$","div",null,{"className":"custom-blog-grid","children":[["$","$L1d","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0,"duration":0.8,"yOffset":35,"children":["$","$L1e",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"How AI Is Transforming Last-Mile EV Delivery"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1f",null,{"src":"/images/blog-post-pic-17.png","alt":"How AI Is Transforming Last-Mile EV Delivery","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Technology"}]]}]]}]]}]}],["$","$L1d","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.8,"yOffset":35,"children":["$","$L1e",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","p",null,{"className":"custom-blog-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1f",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Case Study"}]]}]]}]]}]}],["$","$L1d","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.16,"duration":0.8,"yOffset":35,"children":["$","$L1e",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}],["$","p",null,{"className":"custom-blog-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."}]]}],"$L20"]}]}],"$L21","$L22","$L23","$L24","$L25","$L26"]}]}]}]}]}]}] +20:["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1f",null,{"src":"/images/blog-post-pic-31.png","alt":"MileTruth™ AI — 10 Stages to Smarter Dispatch","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"MileTruth"}]]}]]}] +21:["$","$L1d","the-ev-paradox-solving-range-anxiety-for-urban-fleets",{"delay":0,"duration":0.8,"yOffset":35,"children":["$","$L1e",null,{"href":"/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1f",null,{"src":"/images/ev-paradox.png","alt":"The EV Paradox: Solving Range Anxiety for Urban Fleets","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"EV Fleet"}]]}]]}]]}]}] +22:["$","$L1d","why-mathematical-precision-beats-heuristics-in-routing",{"delay":0.08,"duration":0.8,"yOffset":35,"children":["$","$L1e",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Why Mathematical Precision Beats Heuristics in Routing"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1f",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Technology"}]]}]]}]]}]}] +23:["$","$L1d","fleet-reduction-without-compromising-delivery-volume",{"delay":0.16,"duration":0.8,"yOffset":35,"children":["$","$L1e",null,{"href":"/blog/fleet-reduction-without-compromising-delivery-volume","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Fleet Reduction Without Compromising Delivery Volume"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1f",null,{"src":"/images/blog-post-pic-8.jpeg","alt":"Fleet Reduction Without Compromising Delivery Volume","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Fleet Management"}]]}]]}]]}]}] +24:["$","$L1d","building-a-greener-city-the-future-of-urban-logistics",{"delay":0,"duration":0.8,"yOffset":35,"children":["$","$L1e",null,{"href":"/blog/building-a-greener-city-the-future-of-urban-logistics","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Building a Greener City: The Future of Urban Logistics"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1f",null,{"src":"/images/blog-post-pic-6.jpeg","alt":"Building a Greener City: The Future of Urban Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Sustainability"}]]}]]}]]}]}] +25:["$","$L1d","how-doormile-maintains-99-9-sla-compliance-at-scale",{"delay":0.08,"duration":0.8,"yOffset":35,"children":["$","$L1e",null,{"href":"/blog/how-doormile-maintains-99-9-sla-compliance-at-scale","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"How Doormile Maintains 99.9% SLA Compliance at Scale"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1f",null,{"src":"/images/last-mile-approach.jpg","alt":"How Doormile Maintains 99.9% SLA Compliance at Scale","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Operations"}]]}]]}]]}]}] +26:["$","$L1d","battery-simulation-the-secret-to-ev-route-pre-validation",{"delay":0.16,"duration":0.8,"yOffset":35,"children":["$","$L1e",null,{"href":"/blog/battery-simulation-the-secret-to-ev-route-pre-validation","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Battery Simulation: The Secret to EV Route Pre-Validation"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1f",null,{"src":"/images/blog-post-pic-3.jpeg","alt":"Battery Simulation: The Secret to EV Route Pre-Validation","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"EV Fleet"}]]}]]}]]}]}] 1a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -26:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +27:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] 17:null -1c:[["$","title","0",{"children":"Blog – Doormile"}],["$","meta","1",{"name":"description","content":"Insights and logistics intelligence from the team behind Doormile. Learn how AI is transforming EV planning and last-mile operations."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L26","7",{}]] +1c:[["$","title","0",{"children":"Blog – Doormile"}],["$","meta","1",{"name":"description","content":"Insights and logistics intelligence from the team behind Doormile. Learn how AI is transforming EV planning and last-mile operations."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L27","7",{}]] diff --git a/build/blog/42-less-distance-insights-from-our-hyderabad-hub.html b/build/blog/42-less-distance-insights-from-our-hyderabad-hub.html new file mode 100644 index 0000000..3d1f5ec --- /dev/null +++ b/build/blog/42-less-distance-insights-from-our-hyderabad-hub.html @@ -0,0 +1,754 @@ +42% Less Distance: Insights from Our Hyderabad Hub – Doormile

Doormile

Doormile logo
Our Location

5th Floor, Vision Ultima, Street No.3, Jayabheri Enclave, Gachibowli, Hyderabad, Telangana 500032.

Contact Us

Tel : +91 86886 97941

Email

care@doormile.com

Case Study

42% Less Distance: Insights from Our Hyderabad Hub

Doormile Team2 min read

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.

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.

The baseline

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.

  • Zone-based allocation that ignored cross-zone efficiencies
  • Manual sequencing that couldn't evaluate every alternative
  • No pre-validation of ETAs against real travel times
  • Reactive rather than predictive handling of disruptions

What changed

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.

Hyderabad delivery hub routing analysis
Consolidating the day's deliveries into a single optimisation removed redundant cross-town travel.

The results

  • 42% reduction in total distance travelled across the hub
  • 37% fewer vehicles required for the same delivery volume
  • Zero SLA misses across the measured deployment window
  • Proportional drop in fuel cost and per-parcel emissions

Fewer vehicles, less fuel, zero missed SLAs — and not by working the team harder. By making a better decision before the wheels turned.

Hyderabad Hub Operations

Why it generalises

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.

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.

\ No newline at end of file diff --git a/build/blog/42-less-distance-insights-from-our-hyderabad-hub.txt b/build/blog/42-less-distance-insights-from-our-hyderabad-hub.txt new file mode 100644 index 0000000..1ea4c91 --- /dev/null +++ b/build/blog/42-less-distance-insights-from-our-hyderabad-hub.txt @@ -0,0 +1,532 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +e:"$Sreact.suspense" +11:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"P":null,"c":["","blog","42-less-distance-insights-from-our-hyderabad-hub"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","42-less-distance-insights-from-our-hyderabad-hub","d",null],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$Lc",[["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true,"nonce":"$undefined"}]],["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]]}],{},null,false,null]},null,false,"$@10"]},null,false,"$@10"]},null,false,null],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$e",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +16:[] +10:"$W16" +17: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
, 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); } +c:["$","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":"$17"}}],"$L18","$L19"]}],"$L1a"]}]}]]}] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +1c:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +18:["$","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"}]]}]}]}] +19:["$","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":["$","$L1b",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L1b",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":[["$","$L1c","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."}]}],["$","$L1c","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"The baseline"}]}],["$","$L1c","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."}]}],["$","$L1c","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"}]]}]}],["$","$L1c","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"What changed"}]}],["$","$L1c","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."}]}],"$L1d","$L1e","$L1f","$L20","$L21","$L22","$L23"]}]]}],"$L24"]}]]}] +25: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%; } + } +1a:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$25"}}],"$L26"]}] +27:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +28:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"] +1d:["$","$L1c","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L27",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."}]]}]}] +1e:["$","$L1c","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"The results"}]}] +1f:["$","$L1c","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"}]]}]}] +20:["$","$L1c","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"]}]]}]}] +21:["$","$L1c","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"Why it generalises"}]}] +22:["$","$L1c","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."}]}] +23:["$","$L1c","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."}]}] +24:["$","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"}],["$","$L28",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":["$","$L1b",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":["$","$L27",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":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L27",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":["$","$L1b",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":["$","$L27",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":["$","$L1b",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L27",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],"$L29"]}]}],"$L2a","$L2b","$L2c"]}]]}],"$L2d"]}]}] +26:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L1b",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":["$","$L27",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"}]]}]]}],["$","$L1b",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":["$","$L27",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":[["$","$L1c","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L27",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"}]]}]]}]]}]]}]}],["$","$L1c","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L27",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."}],"$L2e"]}]]}]}],"$L2f"]}]]}],"$L30"]}] +29:["$","span",null,{"className":"dm-blog-category-count","children":1}] +2a:["$","li","Operations",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2b:["$","li","Sustainability",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2c:["$","li","Technology",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}] +2d:["$","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."}],["$","$L1b",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"}]]}]]}]]}] +2e:["$","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"}]]}]]}] +2f:["$","$L1c","the-ev-paradox-solving-range-anxiety-for-urban-fleets",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L27",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"}]]}]]}]]}]]}]}] +30:["$","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."}]]}],["$","$L1b",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"}]]}]]}]]}] +12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +31:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +f:null +14:[["$","title","0",{"children":"42% Less Distance: Insights from Our Hyderabad Hub – Doormile"}],["$","meta","1",{"name":"description","content":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"Case Study,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/42-less-distance-insights-from-our-hyderabad-hub"}],["$","meta","6",{"property":"og:title","content":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","meta","7",{"property":"og:description","content":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/42-less-distance-insights-from-our-hyderabad-hub"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-15.png"}],["$","meta","11",{"property":"og:image:alt","content":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-09-18T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","meta","17",{"name":"twitter:description","content":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-15.png"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L31","23",{}]] diff --git a/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next._full.txt b/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next._full.txt new file mode 100644 index 0000000..1ea4c91 --- /dev/null +++ b/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next._full.txt @@ -0,0 +1,532 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +e:"$Sreact.suspense" +11:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"P":null,"c":["","blog","42-less-distance-insights-from-our-hyderabad-hub"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","42-less-distance-insights-from-our-hyderabad-hub","d",null],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$Lc",[["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true,"nonce":"$undefined"}]],["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]]}],{},null,false,null]},null,false,"$@10"]},null,false,"$@10"]},null,false,null],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$e",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +16:[] +10:"$W16" +17: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
, 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); } +c:["$","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":"$17"}}],"$L18","$L19"]}],"$L1a"]}]}]]}] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +1c:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +18:["$","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"}]]}]}]}] +19:["$","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":["$","$L1b",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L1b",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":[["$","$L1c","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."}]}],["$","$L1c","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"The baseline"}]}],["$","$L1c","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."}]}],["$","$L1c","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"}]]}]}],["$","$L1c","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"What changed"}]}],["$","$L1c","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."}]}],"$L1d","$L1e","$L1f","$L20","$L21","$L22","$L23"]}]]}],"$L24"]}]]}] +25: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%; } + } +1a:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$25"}}],"$L26"]}] +27:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +28:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"] +1d:["$","$L1c","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L27",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."}]]}]}] +1e:["$","$L1c","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"The results"}]}] +1f:["$","$L1c","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"}]]}]}] +20:["$","$L1c","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"]}]]}]}] +21:["$","$L1c","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"Why it generalises"}]}] +22:["$","$L1c","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."}]}] +23:["$","$L1c","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."}]}] +24:["$","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"}],["$","$L28",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":["$","$L1b",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":["$","$L27",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":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L27",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":["$","$L1b",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":["$","$L27",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":["$","$L1b",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L27",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],"$L29"]}]}],"$L2a","$L2b","$L2c"]}]]}],"$L2d"]}]}] +26:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L1b",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":["$","$L27",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"}]]}]]}],["$","$L1b",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":["$","$L27",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":[["$","$L1c","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L27",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"}]]}]]}]]}]]}]}],["$","$L1c","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L27",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."}],"$L2e"]}]]}]}],"$L2f"]}]]}],"$L30"]}] +29:["$","span",null,{"className":"dm-blog-category-count","children":1}] +2a:["$","li","Operations",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2b:["$","li","Sustainability",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2c:["$","li","Technology",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}] +2d:["$","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."}],["$","$L1b",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"}]]}]]}]]}] +2e:["$","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"}]]}]]}] +2f:["$","$L1c","the-ev-paradox-solving-range-anxiety-for-urban-fleets",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L27",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"}]]}]]}]]}]]}]}] +30:["$","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."}]]}],["$","$L1b",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"}]]}]]}]]}] +12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +31:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +f:null +14:[["$","title","0",{"children":"42% Less Distance: Insights from Our Hyderabad Hub – Doormile"}],["$","meta","1",{"name":"description","content":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"Case Study,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/42-less-distance-insights-from-our-hyderabad-hub"}],["$","meta","6",{"property":"og:title","content":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","meta","7",{"property":"og:description","content":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/42-less-distance-insights-from-our-hyderabad-hub"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-15.png"}],["$","meta","11",{"property":"og:image:alt","content":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-09-18T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","meta","17",{"name":"twitter:description","content":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-15.png"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L31","23",{}]] diff --git a/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next._head.txt b/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next._head.txt new file mode 100644 index 0000000..27182be --- /dev/null +++ b/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next._head.txt @@ -0,0 +1,6 @@ +1:"$Sreact.fragment" +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +4:"$Sreact.suspense" +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"42% Less Distance: Insights from Our Hyderabad Hub – Doormile"}],["$","meta","1",{"name":"description","content":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"Case Study,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/42-less-distance-insights-from-our-hyderabad-hub"}],["$","meta","6",{"property":"og:title","content":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","meta","7",{"property":"og:description","content":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/42-less-distance-insights-from-our-hyderabad-hub"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-15.png"}],["$","meta","11",{"property":"og:image:alt","content":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-09-18T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","meta","17",{"name":"twitter:description","content":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-15.png"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","23",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next._index.txt b/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next._index.txt new file mode 100644 index 0000000..9c09249 --- /dev/null +++ b/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next._index.txt @@ -0,0 +1,15 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next._tree.txt b/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next._tree.txt new file mode 100644 index 0000000..dfd8650 --- /dev/null +++ b/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next._tree.txt @@ -0,0 +1,9 @@ +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"blog","param":null,"prefetchHints":0,"slots":{"children":{"name":"slug","param":{"type":"d","key":"42-less-distance-insights-from-our-hyderabad-hub","siblings":null},"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next.blog.$d$slug.__PAGE__.txt b/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next.blog.$d$slug.__PAGE__.txt new file mode 100644 index 0000000..feefc59 --- /dev/null +++ b/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next.blog.$d$slug.__PAGE__.txt @@ -0,0 +1,507 @@ +1:"$Sreact.fragment" +8:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +9:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +14:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +15:"$Sreact.suspense" +17:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +18:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.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
, 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":"TAuyMDUsvWIfF6U_s0MKe"} +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"}]]}]]}]]}] diff --git a/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next.blog.$d$slug.txt b/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next.blog.$d$slug.txt new file mode 100644 index 0000000..e7f2861 --- /dev/null +++ b/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next.blog.$d$slug.txt @@ -0,0 +1,5 @@ +1:"$Sreact.fragment" +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:[] +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next.blog.txt b/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next.blog.txt new file mode 100644 index 0000000..e7f2861 --- /dev/null +++ b/build/blog/42-less-distance-insights-from-our-hyderabad-hub/__next.blog.txt @@ -0,0 +1,5 @@ +1:"$Sreact.fragment" +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:[] +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/__next._full.txt b/build/blog/__next._full.txt index 015bc48..1384849 100644 --- a/build/blog/__next._full.txt +++ b/build/blog/__next._full.txt @@ -1,16 +1,16 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -11:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +11:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -18,13 +18,13 @@ b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4 :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"P":null,"c":["","blog"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"104","className":"elementor elementor-104","children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n .blogs-hero-title {\n color: #ffffff !important;\n font-family: var(--font-manrope), sans-serif !important;\n font-size: clamp(34px, 5.5vw, 68px) !important;\n font-weight: 850 !important;\n line-height: 1.08 !important;\n text-transform: uppercase !important;\n letter-spacing: -1.5px !important;\n margin: 0 !important;\n }\n "}}],"$Lc"],"$Ld"]}]}]}]}],null,"$Le"]}],{},null,false,null]},null,false,"$@f"]},null,false,null],"$L10",false]],"m":"$undefined","G":["$11",["$L12"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} -15:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +0:{"P":null,"c":["","blog"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"104","className":"elementor elementor-104","children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n .blogs-hero-title {\n color: #ffffff !important;\n font-family: var(--font-manrope), sans-serif !important;\n font-size: clamp(34px, 5.5vw, 68px) !important;\n font-weight: 850 !important;\n line-height: 1.08 !important;\n text-transform: uppercase !important;\n letter-spacing: -1.5px !important;\n margin: 0 !important;\n }\n "}}],"$Lc"],"$Ld"]}]}]}]}],null,"$Le"]}],{},null,false,null]},null,false,"$@f"]},null,false,null],"$L10",false]],"m":"$undefined","G":["$11",["$L12"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +15:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 16:"$Sreact.suspense" -19:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -1b:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +19:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +1b:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] c:["$","div",null,{"className":"custom-standard-hero-container","children":["$","div",null,{"style":{"backgroundImage":"url(/images/home2-banner-1.jpg)","backgroundPosition":"center center","backgroundRepeat":"no-repeat","backgroundSize":"cover"},"className":"custom-standard-hero-card","children":["$","div",null,{"className":"e-con-inner","style":{"position":"relative","width":"100%","height":"100%","display":"flex","alignItems":"center","justifyContent":"center","flexDirection":"column"},"children":["$","div",null,{"style":{"textAlign":"center","color":"#fff","zIndex":5},"children":["$","h1",null,{"className":"blogs-hero-title","children":["Delivering Trust.",["$","br",null,{}],["$","span",null,{"style":{"color":"#C01227"},"children":"Beyond Boundaries"}]]}]}]}]}]}] -13:T1160, +13:T12af, .custom-blog-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; @@ -97,9 +97,18 @@ c:["$","div",null,{"className":"custom-standard-hero-container","children":["$", font-family: var(--font-manrope), sans-serif !important; } + /* Bottom block pinned to the card base — keeps Read More + image at the + same vertical position across cards with different text lengths. */ + .custom-blog-bottom { + display: flex !important; + flex-direction: column !important; + margin-top: auto !important; + } + .custom-blog-readmore { display: inline-flex !important; align-items: center !important; + align-self: flex-start !important; gap: 6px !important; font-size: 13px !important; font-weight: 800 !important; @@ -124,7 +133,6 @@ c:["$","div",null,{"className":"custom-standard-hero-container","children":["$", aspect-ratio: 4 / 3 !important; border-radius: 20px !important; overflow: hidden !important; - margin-top: auto !important; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05) !important; } @@ -149,18 +157,19 @@ e:["$","$L15",null,{"children":["$","$16",null,{"name":"Next.MetadataOutlet","ch 18:[] f:"$W18" 10:["$","$1","h",{"children":[null,["$","$L19",null,{"children":"$L1a"}],["$","div",null,{"hidden":true,"children":["$","$L1b",null,{"children":["$","$16",null,{"name":"Next.Metadata","children":"$L1c"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] -12:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] -1d:I[2018,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ScrollReveal"] -1e:I[85437,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"Image"] -14:["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-3dec5cf e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"3dec5cf","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-aa12479 elementor-widget elementor-widget-logico_blog_listing","data-id":"aa12479","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_blog_listing.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"archive-listing","children":["$","div",null,{"className":"custom-blog-grid","children":[["$","$L1d","0",{"delay":0,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"How AI Is Transforming Last-Mile EV Delivery"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1e",null,{"src":"/images/blog-post-pic-17.png","alt":"How AI Is Transforming Last-Mile EV Delivery","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Technology"}]]}]]}]}],["$","$L1d","1",{"delay":0.08,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1e",null,{"src":"/images/ev-paradox.png","alt":"The EV Paradox: Solving Range Anxiety for Urban Fleets","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"EV Fleet"}]]}]]}]}],["$","$L1d","2",{"delay":0.16,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","p",null,{"className":"custom-blog-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1e",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Case Study"}]]}]]}]}],["$","$L1d","3",{"delay":0,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}],["$","p",null,{"className":"custom-blog-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."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1e",null,{"src":"/images/blog-post-pic-31.png","alt":"MileTruth™ AI — 10 Stages to Smarter Dispatch","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"MileTruth"}]]}]]}]}],["$","$L1d","4",{"delay":0.08,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":["$L1f","$L20"]}],"$L21"]}]}],"$L22","$L23","$L24","$L25"]}]}]}]}]}]}] -1f:["$","h3",null,{"className":"custom-blog-title","children":"Why Mathematical Precision Beats Heuristics in Routing"}] -20:["$","p",null,{"className":"custom-blog-excerpt","children":"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time."}] -21:["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1e",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Technology"}]]}] -22:["$","$L1d","5",{"delay":0.16,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Fleet Reduction Without Compromising Delivery Volume"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1e",null,{"src":"/images/blog-post-pic-8.jpeg","alt":"Fleet Reduction Without Compromising Delivery Volume","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Fleet Management"}]]}]]}]}] -23:["$","$L1d","6",{"delay":0,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Building a Greener City: The Future of Urban Logistics"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1e",null,{"src":"/images/blog-post-pic-6.jpeg","alt":"Building a Greener City: The Future of Urban Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Sustainability"}]]}]]}]}] -24:["$","$L1d","7",{"delay":0.08,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"How Doormile Maintains 99.9% SLA Compliance at Scale"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1e",null,{"src":"/images/last-mile-approach.jpg","alt":"How Doormile Maintains 99.9% SLA Compliance at Scale","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Operations"}]]}]]}]}] -25:["$","$L1d","8",{"delay":0.16,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Battery Simulation: The Secret to EV Route Pre-Validation"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1e",null,{"src":"/images/blog-post-pic-3.jpeg","alt":"Battery Simulation: The Secret to EV Route Pre-Validation","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"EV Fleet"}]]}]]}]}] +12:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +1d:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ScrollReveal"] +1e:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] +1f:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"Image"] +14:["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-3dec5cf e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"3dec5cf","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-aa12479 elementor-widget elementor-widget-logico_blog_listing","data-id":"aa12479","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_blog_listing.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"archive-listing","children":["$","div",null,{"className":"custom-blog-grid","children":[["$","$L1d","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0,"duration":0.8,"yOffset":35,"children":["$","$L1e",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"How AI Is Transforming Last-Mile EV Delivery"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1f",null,{"src":"/images/blog-post-pic-17.png","alt":"How AI Is Transforming Last-Mile EV Delivery","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Technology"}]]}]]}]]}]}],["$","$L1d","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.8,"yOffset":35,"children":["$","$L1e",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","p",null,{"className":"custom-blog-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1f",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Case Study"}]]}]]}]]}]}],["$","$L1d","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.16,"duration":0.8,"yOffset":35,"children":["$","$L1e",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}],["$","p",null,{"className":"custom-blog-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."}]]}],"$L20"]}]}],"$L21","$L22","$L23","$L24","$L25","$L26"]}]}]}]}]}]}] +20:["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1f",null,{"src":"/images/blog-post-pic-31.png","alt":"MileTruth™ AI — 10 Stages to Smarter Dispatch","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"MileTruth"}]]}]]}] +21:["$","$L1d","the-ev-paradox-solving-range-anxiety-for-urban-fleets",{"delay":0,"duration":0.8,"yOffset":35,"children":["$","$L1e",null,{"href":"/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1f",null,{"src":"/images/ev-paradox.png","alt":"The EV Paradox: Solving Range Anxiety for Urban Fleets","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"EV Fleet"}]]}]]}]]}]}] +22:["$","$L1d","why-mathematical-precision-beats-heuristics-in-routing",{"delay":0.08,"duration":0.8,"yOffset":35,"children":["$","$L1e",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Why Mathematical Precision Beats Heuristics in Routing"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1f",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Technology"}]]}]]}]]}]}] +23:["$","$L1d","fleet-reduction-without-compromising-delivery-volume",{"delay":0.16,"duration":0.8,"yOffset":35,"children":["$","$L1e",null,{"href":"/blog/fleet-reduction-without-compromising-delivery-volume","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Fleet Reduction Without Compromising Delivery Volume"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1f",null,{"src":"/images/blog-post-pic-8.jpeg","alt":"Fleet Reduction Without Compromising Delivery Volume","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Fleet Management"}]]}]]}]]}]}] +24:["$","$L1d","building-a-greener-city-the-future-of-urban-logistics",{"delay":0,"duration":0.8,"yOffset":35,"children":["$","$L1e",null,{"href":"/blog/building-a-greener-city-the-future-of-urban-logistics","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Building a Greener City: The Future of Urban Logistics"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1f",null,{"src":"/images/blog-post-pic-6.jpeg","alt":"Building a Greener City: The Future of Urban Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Sustainability"}]]}]]}]]}]}] +25:["$","$L1d","how-doormile-maintains-99-9-sla-compliance-at-scale",{"delay":0.08,"duration":0.8,"yOffset":35,"children":["$","$L1e",null,{"href":"/blog/how-doormile-maintains-99-9-sla-compliance-at-scale","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"How Doormile Maintains 99.9% SLA Compliance at Scale"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1f",null,{"src":"/images/last-mile-approach.jpg","alt":"How Doormile Maintains 99.9% SLA Compliance at Scale","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Operations"}]]}]]}]]}]}] +26:["$","$L1d","battery-simulation-the-secret-to-ev-route-pre-validation",{"delay":0.16,"duration":0.8,"yOffset":35,"children":["$","$L1e",null,{"href":"/blog/battery-simulation-the-secret-to-ev-route-pre-validation","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Battery Simulation: The Secret to EV Route Pre-Validation"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L1f",null,{"src":"/images/blog-post-pic-3.jpeg","alt":"Battery Simulation: The Secret to EV Route Pre-Validation","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"EV Fleet"}]]}]]}]]}]}] 1a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -26:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +27:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] 17:null -1c:[["$","title","0",{"children":"Blog – Doormile"}],["$","meta","1",{"name":"description","content":"Insights and logistics intelligence from the team behind Doormile. Learn how AI is transforming EV planning and last-mile operations."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L26","7",{}]] +1c:[["$","title","0",{"children":"Blog – Doormile"}],["$","meta","1",{"name":"description","content":"Insights and logistics intelligence from the team behind Doormile. Learn how AI is transforming EV planning and last-mile operations."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L27","7",{}]] diff --git a/build/blog/__next._head.txt b/build/blog/__next._head.txt index acc9815..7a5f294 100644 --- a/build/blog/__next._head.txt +++ b/build/blog/__next._head.txt @@ -1,6 +1,6 @@ 1:"$Sreact.fragment" -2:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -3:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] 4:"$Sreact.suspense" -5:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] -0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Blog – Doormile"}],["$","meta","1",{"name":"description","content":"Insights and logistics intelligence from the team behind Doormile. Learn how AI is transforming EV planning and last-mile operations."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Blog – Doormile"}],["$","meta","1",{"name":"description","content":"Insights and logistics intelligence from the team behind Doormile. Learn how AI is transforming EV planning and last-mile operations."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/__next._index.txt b/build/blog/__next._index.txt index d8e09a9..9c09249 100644 --- a/build/blog/__next._index.txt +++ b/build/blog/__next._index.txt @@ -1,15 +1,15 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/__next._tree.txt b/build/blog/__next._tree.txt index 6eda49f..7f39a34 100644 --- a/build/blog/__next._tree.txt +++ b/build/blog/__next._tree.txt @@ -1,4 +1,4 @@ -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -6,4 +6,4 @@ :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"blog","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"blog","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/__next.blog.__PAGE__.txt b/build/blog/__next.blog.__PAGE__.txt index a0b827d..0c06800 100644 --- a/build/blog/__next.blog.__PAGE__.txt +++ b/build/blog/__next.blog.__PAGE__.txt @@ -1,9 +1,10 @@ 1:"$Sreact.fragment" -5:I[2018,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ScrollReveal"] -6:I[85437,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"Image"] -e:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] -f:"$Sreact.suspense" -2:T1160, +5:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ScrollReveal"] +6:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] +7:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"Image"] +f:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +10:"$Sreact.suspense" +2:T12af, .custom-blog-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; @@ -76,9 +77,18 @@ f:"$Sreact.suspense" font-family: var(--font-manrope), sans-serif !important; } + /* Bottom block pinned to the card base — keeps Read More + image at the + same vertical position across cards with different text lengths. */ + .custom-blog-bottom { + display: flex !important; + flex-direction: column !important; + margin-top: auto !important; + } + .custom-blog-readmore { display: inline-flex !important; align-items: center !important; + align-self: flex-start !important; gap: 6px !important; font-size: 13px !important; font-weight: 800 !important; @@ -103,7 +113,6 @@ f:"$Sreact.suspense" aspect-ratio: 4 / 3 !important; border-radius: 20px !important; overflow: hidden !important; - margin-top: auto !important; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05) !important; } @@ -123,14 +132,14 @@ f:"$Sreact.suspense" box-shadow: 0 4px 10px rgba(192, 18, 39, 0.2) !important; font-family: var(--font-manrope), sans-serif !important; } - 0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"104","className":"elementor elementor-104","children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n .blogs-hero-title {\n color: #ffffff !important;\n font-family: var(--font-manrope), sans-serif !important;\n font-size: clamp(34px, 5.5vw, 68px) !important;\n font-weight: 850 !important;\n line-height: 1.08 !important;\n text-transform: uppercase !important;\n letter-spacing: -1.5px !important;\n margin: 0 !important;\n }\n "}}],["$","div",null,{"className":"custom-standard-hero-container","children":["$","div",null,{"style":{"backgroundImage":"url(/images/home2-banner-1.jpg)","backgroundPosition":"center center","backgroundRepeat":"no-repeat","backgroundSize":"cover"},"className":"custom-standard-hero-card","children":["$","div",null,{"className":"e-con-inner","style":{"position":"relative","width":"100%","height":"100%","display":"flex","alignItems":"center","justifyContent":"center","flexDirection":"column"},"children":["$","div",null,{"style":{"textAlign":"center","color":"#fff","zIndex":5},"children":["$","h1",null,{"className":"blogs-hero-title","children":["Delivering Trust.",["$","br",null,{}],["$","span",null,{"style":{"color":"#C01227"},"children":"Beyond Boundaries"}]]}]}]}]}]}]],["$","div",null,{"className":"elementor-element elementor-element-c70681e e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"c70681e","data-element_type":"container","data-e-type":"container","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$2"}}],"$L3"]}]]}]}]}]}],null,"$L4"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} -3:["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-3dec5cf e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"3dec5cf","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-aa12479 elementor-widget elementor-widget-logico_blog_listing","data-id":"aa12479","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_blog_listing.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"archive-listing","children":["$","div",null,{"className":"custom-blog-grid","children":[["$","$L5","0",{"delay":0,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"How AI Is Transforming Last-Mile EV Delivery"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L6",null,{"src":"/images/blog-post-pic-17.png","alt":"How AI Is Transforming Last-Mile EV Delivery","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Technology"}]]}]]}]}],["$","$L5","1",{"delay":0.08,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L6",null,{"src":"/images/ev-paradox.png","alt":"The EV Paradox: Solving Range Anxiety for Urban Fleets","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"EV Fleet"}]]}]]}]}],["$","$L5","2",{"delay":0.16,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","p",null,{"className":"custom-blog-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L6",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Case Study"}]]}]]}]}],["$","$L5","3",{"delay":0,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}],["$","p",null,{"className":"custom-blog-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."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L6",null,{"src":"/images/blog-post-pic-31.png","alt":"MileTruth™ AI — 10 Stages to Smarter Dispatch","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"MileTruth"}]]}]]}]}],["$","$L5","4",{"delay":0.08,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":["$L7","$L8"]}],"$L9"]}]}],"$La","$Lb","$Lc","$Ld"]}]}]}]}]}]}] -4:["$","$Le",null,{"children":["$","$f",null,{"name":"Next.MetadataOutlet","children":"$@10"}]}] -7:["$","h3",null,{"className":"custom-blog-title","children":"Why Mathematical Precision Beats Heuristics in Routing"}] -8:["$","p",null,{"className":"custom-blog-excerpt","children":"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time."}] -9:["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L6",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Technology"}]]}] -a:["$","$L5","5",{"delay":0.16,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Fleet Reduction Without Compromising Delivery Volume"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L6",null,{"src":"/images/blog-post-pic-8.jpeg","alt":"Fleet Reduction Without Compromising Delivery Volume","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Fleet Management"}]]}]]}]}] -b:["$","$L5","6",{"delay":0,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Building a Greener City: The Future of Urban Logistics"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L6",null,{"src":"/images/blog-post-pic-6.jpeg","alt":"Building a Greener City: The Future of Urban Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Sustainability"}]]}]]}]}] -c:["$","$L5","7",{"delay":0.08,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"How Doormile Maintains 99.9% SLA Compliance at Scale"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L6",null,{"src":"/images/last-mile-approach.jpg","alt":"How Doormile Maintains 99.9% SLA Compliance at Scale","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Operations"}]]}]]}]}] -d:["$","$L5","8",{"delay":0.16,"duration":0.8,"yOffset":35,"children":["$","div",null,{"className":"custom-blog-card","children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Battery Simulation: The Secret to EV Route Pre-Validation"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate."}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L6",null,{"src":"/images/blog-post-pic-3.jpeg","alt":"Battery Simulation: The Secret to EV Route Pre-Validation","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"EV Fleet"}]]}]]}]}] -10:null + 0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"104","className":"elementor elementor-104","children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n .blogs-hero-title {\n color: #ffffff !important;\n font-family: var(--font-manrope), sans-serif !important;\n font-size: clamp(34px, 5.5vw, 68px) !important;\n font-weight: 850 !important;\n line-height: 1.08 !important;\n text-transform: uppercase !important;\n letter-spacing: -1.5px !important;\n margin: 0 !important;\n }\n "}}],["$","div",null,{"className":"custom-standard-hero-container","children":["$","div",null,{"style":{"backgroundImage":"url(/images/home2-banner-1.jpg)","backgroundPosition":"center center","backgroundRepeat":"no-repeat","backgroundSize":"cover"},"className":"custom-standard-hero-card","children":["$","div",null,{"className":"e-con-inner","style":{"position":"relative","width":"100%","height":"100%","display":"flex","alignItems":"center","justifyContent":"center","flexDirection":"column"},"children":["$","div",null,{"style":{"textAlign":"center","color":"#fff","zIndex":5},"children":["$","h1",null,{"className":"blogs-hero-title","children":["Delivering Trust.",["$","br",null,{}],["$","span",null,{"style":{"color":"#C01227"},"children":"Beyond Boundaries"}]]}]}]}]}]}]],["$","div",null,{"className":"elementor-element elementor-element-c70681e e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"c70681e","data-element_type":"container","data-e-type":"container","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$2"}}],"$L3"]}]]}]}]}]}],null,"$L4"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} +3:["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-3dec5cf e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"3dec5cf","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-aa12479 elementor-widget elementor-widget-logico_blog_listing","data-id":"aa12479","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_blog_listing.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"archive-listing","children":["$","div",null,{"className":"custom-blog-grid","children":[["$","$L5","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0,"duration":0.8,"yOffset":35,"children":["$","$L6",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"How AI Is Transforming Last-Mile EV Delivery"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L7",null,{"src":"/images/blog-post-pic-17.png","alt":"How AI Is Transforming Last-Mile EV Delivery","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Technology"}]]}]]}]]}]}],["$","$L5","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.8,"yOffset":35,"children":["$","$L6",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","p",null,{"className":"custom-blog-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L7",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Case Study"}]]}]]}]]}]}],["$","$L5","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.16,"duration":0.8,"yOffset":35,"children":["$","$L6",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}],["$","p",null,{"className":"custom-blog-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."}]]}],"$L8"]}]}],"$L9","$La","$Lb","$Lc","$Ld","$Le"]}]}]}]}]}]}] +4:["$","$Lf",null,{"children":["$","$10",null,{"name":"Next.MetadataOutlet","children":"$@11"}]}] +8:["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L7",null,{"src":"/images/blog-post-pic-31.png","alt":"MileTruth™ AI — 10 Stages to Smarter Dispatch","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"MileTruth"}]]}]]}] +9:["$","$L5","the-ev-paradox-solving-range-anxiety-for-urban-fleets",{"delay":0,"duration":0.8,"yOffset":35,"children":["$","$L6",null,{"href":"/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L7",null,{"src":"/images/ev-paradox.png","alt":"The EV Paradox: Solving Range Anxiety for Urban Fleets","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"EV Fleet"}]]}]]}]]}]}] +a:["$","$L5","why-mathematical-precision-beats-heuristics-in-routing",{"delay":0.08,"duration":0.8,"yOffset":35,"children":["$","$L6",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Why Mathematical Precision Beats Heuristics in Routing"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L7",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Technology"}]]}]]}]]}]}] +b:["$","$L5","fleet-reduction-without-compromising-delivery-volume",{"delay":0.16,"duration":0.8,"yOffset":35,"children":["$","$L6",null,{"href":"/blog/fleet-reduction-without-compromising-delivery-volume","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Fleet Reduction Without Compromising Delivery Volume"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L7",null,{"src":"/images/blog-post-pic-8.jpeg","alt":"Fleet Reduction Without Compromising Delivery Volume","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Fleet Management"}]]}]]}]]}]}] +c:["$","$L5","building-a-greener-city-the-future-of-urban-logistics",{"delay":0,"duration":0.8,"yOffset":35,"children":["$","$L6",null,{"href":"/blog/building-a-greener-city-the-future-of-urban-logistics","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Building a Greener City: The Future of Urban Logistics"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L7",null,{"src":"/images/blog-post-pic-6.jpeg","alt":"Building a Greener City: The Future of Urban Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Sustainability"}]]}]]}]]}]}] +d:["$","$L5","how-doormile-maintains-99-9-sla-compliance-at-scale",{"delay":0.08,"duration":0.8,"yOffset":35,"children":["$","$L6",null,{"href":"/blog/how-doormile-maintains-99-9-sla-compliance-at-scale","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"How Doormile Maintains 99.9% SLA Compliance at Scale"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L7",null,{"src":"/images/last-mile-approach.jpg","alt":"How Doormile Maintains 99.9% SLA Compliance at Scale","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"Operations"}]]}]]}]]}]}] +e:["$","$L5","battery-simulation-the-secret-to-ev-route-pre-validation",{"delay":0.16,"duration":0.8,"yOffset":35,"children":["$","$L6",null,{"href":"/blog/battery-simulation-the-secret-to-ev-route-pre-validation","className":"custom-blog-card","style":{"textDecoration":"none"},"children":[["$","div",null,{"className":"flex flex-col","children":[["$","h3",null,{"className":"custom-blog-title","children":"Battery Simulation: The Secret to EV Route Pre-Validation"}],["$","p",null,{"className":"custom-blog-excerpt","children":"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate."}]]}],["$","div",null,{"className":"custom-blog-bottom","children":[["$","span",null,{"className":"custom-blog-readmore","children":["Read More",["$","svg",null,{"className":"custom-blog-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"}]]}]]}],["$","div",null,{"className":"custom-blog-img-container","children":[["$","$L7",null,{"src":"/images/blog-post-pic-3.jpeg","alt":"Battery Simulation: The Secret to EV Route Pre-Validation","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, 33vw"}],["$","span",null,{"className":"custom-blog-badge","children":"EV Fleet"}]]}]]}]]}]}] +11:null diff --git a/build/blog/__next.blog.txt b/build/blog/__next.blog.txt index 1983a3d..e7f2861 100644 --- a/build/blog/__next.blog.txt +++ b/build/blog/__next.blog.txt @@ -1,5 +1,5 @@ 1:"$Sreact.fragment" -2:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] 4:[] -0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation.html b/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation.html new file mode 100644 index 0000000..e2f8632 --- /dev/null +++ b/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation.html @@ -0,0 +1,754 @@ +Battery Simulation: The Secret to EV Route Pre-Validation – Doormile

Doormile

Doormile logo
Our Location

5th Floor, Vision Ultima, Street No.3, Jayabheri Enclave, Gachibowli, Hyderabad, Telangana 500032.

Contact Us

Tel : +91 86886 97941

Email

care@doormile.com

EV Fleet

Battery Simulation: The Secret to EV Route Pre-Validation

Doormile Team2 min read

A stranded EV is not just a late delivery — it is a vehicle out of service, a customer let down, and a recovery cost. Simulating the route against real charge capacity before dispatch is how you make sure it never happens.

In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. Battery Simulation: The Secret to EV Route Pre-Validation looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road.

Why this matters for modern fleets

Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles.

  • Fewer vehicles deployed for the same delivery volume
  • Lower cost-per-drop through tighter, smarter sequencing
  • Predictable ETAs that protect customer trust and SLA targets
  • A cleaner, lower-emission footprint per parcel delivered

From data to decision

Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub.

Battery Simulation: The Secret to EV Route Pre-Validation
EV Fleet — operational intelligence applied at the point of dispatch.

We don't guess the route. We calculate it — and we prove it works before the wheels start turning.

Doormile Operations

Putting it into practice

The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle.

  1. Benchmark today's distance, fleet size and on-time rate.
  2. Feed real constraints — capacity, windows, charge — into the engine.
  3. Validate routes against real-world conditions before dispatch.
  4. Measure the delta, then scale the approach across hubs.

Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on.

\ No newline at end of file diff --git a/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation.txt b/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation.txt new file mode 100644 index 0000000..04c9026 --- /dev/null +++ b/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation.txt @@ -0,0 +1,530 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +e:"$Sreact.suspense" +11:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"P":null,"c":["","blog","battery-simulation-the-secret-to-ev-route-pre-validation"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","battery-simulation-the-secret-to-ev-route-pre-validation","d",null],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$Lc",[["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true,"nonce":"$undefined"}]],["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]]}],{},null,false,null]},null,false,"$@10"]},null,false,"$@10"]},null,false,null],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$e",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +16:[] +10:"$W16" +17: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
, 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); } +c:["$","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\":\"Battery Simulation: The Secret to EV Route Pre-Validation\",\"description\":\"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-3.jpeg\"],\"datePublished\":\"2025-06-12T00:00:00.000Z\",\"dateModified\":\"2025-06-12T00: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/battery-simulation-the-secret-to-ev-route-pre-validation\"},\"articleSection\":\"EV Fleet\"}"}}],["$","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\":\"Battery Simulation: The Secret to EV Route Pre-Validation\",\"item\":\"https://www.doormile.com/blog/battery-simulation-the-secret-to-ev-route-pre-validation\"}]}"}}],["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":[["$","article",null,{"className":"dm-single-blog","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$17"}}],"$L18","$L19"]}],"$L1a"]}]}]]}] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +1c:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +18:["$","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-3.jpeg)","--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":"EV Fleet"}],["$","h1",null,{"className":"dm-banner-title","children":"Battery Simulation: The Secret to EV Route Pre-Validation"}]]}]}]}] +19:["$","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":["$","$L1b",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L1b",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":"Battery Simulation: The Secret to EV Route Pre-Validation"}]]}]}],["$","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-06-12","children":"Jun 12, 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":"A stranded EV is not just a late delivery — it is a vehicle out of service, a customer let down, and a recovery cost. Simulating the route against real charge capacity before dispatch is how you make sure it never happens."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L1c","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. Battery Simulation: The Secret to EV Route Pre-Validation looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road."}]}],["$","$L1c","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Why this matters for modern fleets"}]}],["$","$L1c","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."}]}],["$","$L1c","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Fewer vehicles deployed for the same delivery volume"}],["$","li","1",{"children":"Lower cost-per-drop through tighter, smarter sequencing"}],["$","li","2",{"children":"Predictable ETAs that protect customer trust and SLA targets"}],["$","li","3",{"children":"A cleaner, lower-emission footprint per parcel delivered"}]]}]}],["$","$L1c","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"From data to decision"}]}],["$","$L1c","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."}]}],"$L1d","$L1e","$L1f","$L20","$L21","$L22"]}]]}],"$L23"]}]]}] +24: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%; } + } +1a:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$24"}}],"$L25"]}] +26:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +27:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"] +1d:["$","$L1c","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L26",null,{"src":"/images/blog-post-pic-3.jpeg","alt":"Battery Simulation: The Secret to EV Route Pre-Validation","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"EV Fleet — operational intelligence applied at the point of dispatch."}]]}]}] +1e:["$","$L1c","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"We don't guess the route. We calculate it — and we prove it works before the wheels start turning."}],["$","cite",null,{"children":["— ","Doormile Operations"]}]]}]}] +1f:["$","$L1c","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Putting it into practice"}]}] +20:["$","$L1c","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."}]}] +21:["$","$L1c","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Benchmark today's distance, fleet size and on-time rate."}],["$","li","1",{"children":"Feed real constraints — capacity, windows, charge — into the engine."}],["$","li","2",{"children":"Validate routes against real-world conditions before dispatch."}],["$","li","3",{"children":"Measure the delta, then scale the approach across hubs."}]]}]}] +22:["$","$L1c","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}]}] +23:["$","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"}],["$","$L27",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":["$","$L1b",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":["$","$L26",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 2025"}]]}]]}]}],["$","li","miletruth-ai-10-stages-to-smarter-dispatch",{"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",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":["$","$L1b",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":["$","$L26",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"}]]}]]}]}]]}]]}],["$","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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],"$L28","$L29","$L2a"]}]]}],"$L2b"]}]}] +25:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L1b",null,{"href":"/blog/how-doormile-maintains-99-9-sla-compliance-at-scale","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/last-mile-approach.jpg","alt":"How Doormile Maintains 99.9% SLA Compliance at Scale","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":"Operations"}],["$","span",null,{"className":"dm-prevnext-title","children":"How Doormile Maintains 99.9% SLA Compliance at Scale"}]]}]]}],["$","span",null,{"className":"dm-prevnext-placeholder"}]]}],["$","div",null,{"className":"dm-related","children":[["$","h2",null,{"className":"dm-related-heading","children":"Related Articles"}],["$","div",null,{"className":"dm-related-grid","children":[["$","$L1c","the-ev-paradox-solving-range-anxiety-for-urban-fleets",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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"}]]}]]}]]}]]}]}],["$","$L1c","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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"}]]}]]}]]}]]}]}],["$","$L1c","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":["$L2c","$L2d"]}]}]]}]]}],"$L2e"]}] +28:["$","li","Operations",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +29:["$","li","Sustainability",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2a:["$","li","Technology",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}] +2b:["$","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."}],["$","$L1b",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"}]]}]]}]]}] +2c:["$","div",null,{"className":"dm-related-img","children":[["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}] +2d:["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}],["$","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"}]]}]]}]]}] +2e:["$","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."}]]}],["$","$L1b",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"}]]}]]}]]}] +12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +2f:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +f:null +14:[["$","title","0",{"children":"Battery Simulation: The Secret to EV Route Pre-Validation – Doormile"}],["$","meta","1",{"name":"description","content":"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"EV Fleet,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/battery-simulation-the-secret-to-ev-route-pre-validation"}],["$","meta","6",{"property":"og:title","content":"Battery Simulation: The Secret to EV Route Pre-Validation"}],["$","meta","7",{"property":"og:description","content":"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/battery-simulation-the-secret-to-ev-route-pre-validation"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-3.jpeg"}],["$","meta","11",{"property":"og:image:alt","content":"Battery Simulation: The Secret to EV Route Pre-Validation"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-06-12T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"Battery Simulation: The Secret to EV Route Pre-Validation"}],["$","meta","17",{"name":"twitter:description","content":"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-3.jpeg"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L2f","23",{}]] diff --git a/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next._full.txt b/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next._full.txt new file mode 100644 index 0000000..04c9026 --- /dev/null +++ b/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next._full.txt @@ -0,0 +1,530 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +e:"$Sreact.suspense" +11:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"P":null,"c":["","blog","battery-simulation-the-secret-to-ev-route-pre-validation"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","battery-simulation-the-secret-to-ev-route-pre-validation","d",null],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$Lc",[["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true,"nonce":"$undefined"}]],["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]]}],{},null,false,null]},null,false,"$@10"]},null,false,"$@10"]},null,false,null],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$e",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +16:[] +10:"$W16" +17: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
, 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); } +c:["$","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\":\"Battery Simulation: The Secret to EV Route Pre-Validation\",\"description\":\"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-3.jpeg\"],\"datePublished\":\"2025-06-12T00:00:00.000Z\",\"dateModified\":\"2025-06-12T00: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/battery-simulation-the-secret-to-ev-route-pre-validation\"},\"articleSection\":\"EV Fleet\"}"}}],["$","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\":\"Battery Simulation: The Secret to EV Route Pre-Validation\",\"item\":\"https://www.doormile.com/blog/battery-simulation-the-secret-to-ev-route-pre-validation\"}]}"}}],["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":[["$","article",null,{"className":"dm-single-blog","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$17"}}],"$L18","$L19"]}],"$L1a"]}]}]]}] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +1c:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +18:["$","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-3.jpeg)","--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":"EV Fleet"}],["$","h1",null,{"className":"dm-banner-title","children":"Battery Simulation: The Secret to EV Route Pre-Validation"}]]}]}]}] +19:["$","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":["$","$L1b",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L1b",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":"Battery Simulation: The Secret to EV Route Pre-Validation"}]]}]}],["$","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-06-12","children":"Jun 12, 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":"A stranded EV is not just a late delivery — it is a vehicle out of service, a customer let down, and a recovery cost. Simulating the route against real charge capacity before dispatch is how you make sure it never happens."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L1c","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. Battery Simulation: The Secret to EV Route Pre-Validation looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road."}]}],["$","$L1c","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Why this matters for modern fleets"}]}],["$","$L1c","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."}]}],["$","$L1c","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Fewer vehicles deployed for the same delivery volume"}],["$","li","1",{"children":"Lower cost-per-drop through tighter, smarter sequencing"}],["$","li","2",{"children":"Predictable ETAs that protect customer trust and SLA targets"}],["$","li","3",{"children":"A cleaner, lower-emission footprint per parcel delivered"}]]}]}],["$","$L1c","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"From data to decision"}]}],["$","$L1c","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."}]}],"$L1d","$L1e","$L1f","$L20","$L21","$L22"]}]]}],"$L23"]}]]}] +24: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%; } + } +1a:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$24"}}],"$L25"]}] +26:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +27:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"] +1d:["$","$L1c","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L26",null,{"src":"/images/blog-post-pic-3.jpeg","alt":"Battery Simulation: The Secret to EV Route Pre-Validation","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"EV Fleet — operational intelligence applied at the point of dispatch."}]]}]}] +1e:["$","$L1c","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"We don't guess the route. We calculate it — and we prove it works before the wheels start turning."}],["$","cite",null,{"children":["— ","Doormile Operations"]}]]}]}] +1f:["$","$L1c","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Putting it into practice"}]}] +20:["$","$L1c","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."}]}] +21:["$","$L1c","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Benchmark today's distance, fleet size and on-time rate."}],["$","li","1",{"children":"Feed real constraints — capacity, windows, charge — into the engine."}],["$","li","2",{"children":"Validate routes against real-world conditions before dispatch."}],["$","li","3",{"children":"Measure the delta, then scale the approach across hubs."}]]}]}] +22:["$","$L1c","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}]}] +23:["$","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"}],["$","$L27",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":["$","$L1b",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":["$","$L26",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 2025"}]]}]]}]}],["$","li","miletruth-ai-10-stages-to-smarter-dispatch",{"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",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":["$","$L1b",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":["$","$L26",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"}]]}]]}]}]]}]]}],["$","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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],"$L28","$L29","$L2a"]}]]}],"$L2b"]}]}] +25:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L1b",null,{"href":"/blog/how-doormile-maintains-99-9-sla-compliance-at-scale","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/last-mile-approach.jpg","alt":"How Doormile Maintains 99.9% SLA Compliance at Scale","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":"Operations"}],["$","span",null,{"className":"dm-prevnext-title","children":"How Doormile Maintains 99.9% SLA Compliance at Scale"}]]}]]}],["$","span",null,{"className":"dm-prevnext-placeholder"}]]}],["$","div",null,{"className":"dm-related","children":[["$","h2",null,{"className":"dm-related-heading","children":"Related Articles"}],["$","div",null,{"className":"dm-related-grid","children":[["$","$L1c","the-ev-paradox-solving-range-anxiety-for-urban-fleets",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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"}]]}]]}]]}]]}]}],["$","$L1c","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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"}]]}]]}]]}]]}]}],["$","$L1c","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":["$L2c","$L2d"]}]}]]}]]}],"$L2e"]}] +28:["$","li","Operations",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +29:["$","li","Sustainability",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2a:["$","li","Technology",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}] +2b:["$","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."}],["$","$L1b",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"}]]}]]}]]}] +2c:["$","div",null,{"className":"dm-related-img","children":[["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}] +2d:["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}],["$","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"}]]}]]}]]}] +2e:["$","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."}]]}],["$","$L1b",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"}]]}]]}]]}] +12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +2f:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +f:null +14:[["$","title","0",{"children":"Battery Simulation: The Secret to EV Route Pre-Validation – Doormile"}],["$","meta","1",{"name":"description","content":"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"EV Fleet,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/battery-simulation-the-secret-to-ev-route-pre-validation"}],["$","meta","6",{"property":"og:title","content":"Battery Simulation: The Secret to EV Route Pre-Validation"}],["$","meta","7",{"property":"og:description","content":"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/battery-simulation-the-secret-to-ev-route-pre-validation"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-3.jpeg"}],["$","meta","11",{"property":"og:image:alt","content":"Battery Simulation: The Secret to EV Route Pre-Validation"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-06-12T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"Battery Simulation: The Secret to EV Route Pre-Validation"}],["$","meta","17",{"name":"twitter:description","content":"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-3.jpeg"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L2f","23",{}]] diff --git a/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next._head.txt b/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next._head.txt new file mode 100644 index 0000000..6e87979 --- /dev/null +++ b/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next._head.txt @@ -0,0 +1,6 @@ +1:"$Sreact.fragment" +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +4:"$Sreact.suspense" +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Battery Simulation: The Secret to EV Route Pre-Validation – Doormile"}],["$","meta","1",{"name":"description","content":"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"EV Fleet,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/battery-simulation-the-secret-to-ev-route-pre-validation"}],["$","meta","6",{"property":"og:title","content":"Battery Simulation: The Secret to EV Route Pre-Validation"}],["$","meta","7",{"property":"og:description","content":"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/battery-simulation-the-secret-to-ev-route-pre-validation"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-3.jpeg"}],["$","meta","11",{"property":"og:image:alt","content":"Battery Simulation: The Secret to EV Route Pre-Validation"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-06-12T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"Battery Simulation: The Secret to EV Route Pre-Validation"}],["$","meta","17",{"name":"twitter:description","content":"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-3.jpeg"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","23",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next._index.txt b/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next._index.txt new file mode 100644 index 0000000..9c09249 --- /dev/null +++ b/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next._index.txt @@ -0,0 +1,15 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next._tree.txt b/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next._tree.txt new file mode 100644 index 0000000..014d7a2 --- /dev/null +++ b/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next._tree.txt @@ -0,0 +1,9 @@ +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"blog","param":null,"prefetchHints":0,"slots":{"children":{"name":"slug","param":{"type":"d","key":"battery-simulation-the-secret-to-ev-route-pre-validation","siblings":null},"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next.blog.$d$slug.__PAGE__.txt b/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next.blog.$d$slug.__PAGE__.txt new file mode 100644 index 0000000..05cc470 --- /dev/null +++ b/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next.blog.$d$slug.__PAGE__.txt @@ -0,0 +1,505 @@ +1:"$Sreact.fragment" +8:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +9:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +14:"$Sreact.suspense" +16:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +17:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.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
, 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\":\"Battery Simulation: The Secret to EV Route Pre-Validation\",\"description\":\"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-3.jpeg\"],\"datePublished\":\"2025-06-12T00:00:00.000Z\",\"dateModified\":\"2025-06-12T00: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/battery-simulation-the-secret-to-ev-route-pre-validation\"},\"articleSection\":\"EV Fleet\"}"}}],["$","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\":\"Battery Simulation: The Secret to EV Route Pre-Validation\",\"item\":\"https://www.doormile.com/blog/battery-simulation-the-secret-to-ev-route-pre-validation\"}]}"}}],["$","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":"TAuyMDUsvWIfF6U_s0MKe"} +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-3.jpeg)","--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":"EV Fleet"}],["$","h1",null,{"className":"dm-banner-title","children":"Battery Simulation: The Secret to EV Route Pre-Validation"}]]}]}]}] +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":"Battery Simulation: The Secret to EV Route Pre-Validation"}]]}]}],["$","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-06-12","children":"Jun 12, 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":"A stranded EV is not just a late delivery — it is a vehicle out of service, a customer let down, and a recovery cost. Simulating the route against real charge capacity before dispatch is how you make sure it never happens."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L9","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. Battery Simulation: The Secret to EV Route Pre-Validation looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road."}]}],["$","$L9","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Why this matters for modern fleets"}]}],["$","$L9","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."}]}],["$","$L9","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Fewer vehicles deployed for the same delivery volume"}],["$","li","1",{"children":"Lower cost-per-drop through tighter, smarter sequencing"}],["$","li","2",{"children":"Predictable ETAs that protect customer trust and SLA targets"}],["$","li","3",{"children":"A cleaner, lower-emission footprint per parcel delivered"}]]}]}],["$","$L9","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"From data to decision"}]}],["$","$L9","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."}]}],"$La","$Lb","$Lc","$Ld","$Le","$Lf"]}]]}],"$L10"]}]]}] +11: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":"$11"}}],"$L12"]}] +6:["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true}] +7:["$","$L13",null,{"children":["$","$14",null,{"name":"Next.MetadataOutlet","children":"$@15"}]}] +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":["$","$L16",null,{"src":"/images/blog-post-pic-3.jpeg","alt":"Battery Simulation: The Secret to EV Route Pre-Validation","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"EV Fleet — operational intelligence applied at the point of dispatch."}]]}]}] +b:["$","$L9","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"We don't guess the route. We calculate it — and we prove it works before the wheels start turning."}],["$","cite",null,{"children":["— ","Doormile Operations"]}]]}]}] +c:["$","$L9","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Putting it into practice"}]}] +d:["$","$L9","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."}]}] +e:["$","$L9","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Benchmark today's distance, fleet size and on-time rate."}],["$","li","1",{"children":"Feed real constraints — capacity, windows, charge — into the engine."}],["$","li","2",{"children":"Validate routes against real-world conditions before dispatch."}],["$","li","3",{"children":"Measure the delta, then scale the approach across hubs."}]]}]}] +f:["$","$L9","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}]}] +10:["$","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"}],["$","$L17",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":["$","$L16",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L8",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L16",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 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":["$","$L16",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":["$","$L16",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"}]]}]]}]}]]}]]}],["$","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"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],"$L18","$L19","$L1a"]}]]}],"$L1b"]}]}] +12:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L8",null,{"href":"/blog/how-doormile-maintains-99-9-sla-compliance-at-scale","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L16",null,{"src":"/images/last-mile-approach.jpg","alt":"How Doormile Maintains 99.9% SLA Compliance at Scale","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":"Operations"}],["$","span",null,{"className":"dm-prevnext-title","children":"How Doormile Maintains 99.9% SLA Compliance at Scale"}]]}]]}],["$","span",null,{"className":"dm-prevnext-placeholder"}]]}],["$","div",null,{"className":"dm-related","children":[["$","h2",null,{"className":"dm-related-heading","children":"Related Articles"}],["$","div",null,{"className":"dm-related-grid","children":[["$","$L9","the-ev-paradox-solving-range-anxiety-for-urban-fleets",{"delay":0,"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":[["$","$L16",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"}]]}]]}]]}]]}]}],["$","$L9","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0.08,"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":[["$","$L16",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","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L8",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":["$L1c","$L1d"]}]}]]}]]}],"$L1e"]}] +15:null +18:["$","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}]]}]}] +19:["$","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}]]}]}] +1a:["$","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}]]}]}] +1b:["$","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"}]]}]]}]]}] +1c:["$","div",null,{"className":"dm-related-img","children":[["$","$L16",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}] +1d:["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}],["$","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"}]]}]]}]]}] +1e:["$","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"}]]}]]}]]}] diff --git a/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next.blog.$d$slug.txt b/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next.blog.$d$slug.txt new file mode 100644 index 0000000..e7f2861 --- /dev/null +++ b/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next.blog.$d$slug.txt @@ -0,0 +1,5 @@ +1:"$Sreact.fragment" +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:[] +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next.blog.txt b/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next.blog.txt new file mode 100644 index 0000000..e7f2861 --- /dev/null +++ b/build/blog/battery-simulation-the-secret-to-ev-route-pre-validation/__next.blog.txt @@ -0,0 +1,5 @@ +1:"$Sreact.fragment" +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:[] +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/building-a-greener-city-the-future-of-urban-logistics.html b/build/blog/building-a-greener-city-the-future-of-urban-logistics.html new file mode 100644 index 0000000..b4f5948 --- /dev/null +++ b/build/blog/building-a-greener-city-the-future-of-urban-logistics.html @@ -0,0 +1,754 @@ +Building a Greener City: The Future of Urban Logistics – Doormile

Doormile

Doormile logo
Our Location

5th Floor, Vision Ultima, Street No.3, Jayabheri Enclave, Gachibowli, Hyderabad, Telangana 500032.

Contact Us

Tel : +91 86886 97941

Email

care@doormile.com

Sustainability

Building a Greener City: The Future of Urban Logistics

Doormile Team2 min read

Zero-emission delivery is no longer a marketing line — it is becoming a regulatory expectation. The path there runs through two changes at once: electrifying the fleet, and routing it intelligently enough to make electrification viable.

In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. Building a Greener City: The Future of Urban Logistics looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road.

Why this matters for modern fleets

Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles.

  • Fewer vehicles deployed for the same delivery volume
  • Lower cost-per-drop through tighter, smarter sequencing
  • Predictable ETAs that protect customer trust and SLA targets
  • A cleaner, lower-emission footprint per parcel delivered

From data to decision

Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub.

Building a Greener City: The Future of Urban Logistics
Sustainability — operational intelligence applied at the point of dispatch.

We don't guess the route. We calculate it — and we prove it works before the wheels start turning.

Doormile Operations

Putting it into practice

The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle.

  1. Benchmark today's distance, fleet size and on-time rate.
  2. Feed real constraints — capacity, windows, charge — into the engine.
  3. Validate routes against real-world conditions before dispatch.
  4. Measure the delta, then scale the approach across hubs.

Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on.

\ No newline at end of file diff --git a/build/blog/building-a-greener-city-the-future-of-urban-logistics.txt b/build/blog/building-a-greener-city-the-future-of-urban-logistics.txt new file mode 100644 index 0000000..14ba659 --- /dev/null +++ b/build/blog/building-a-greener-city-the-future-of-urban-logistics.txt @@ -0,0 +1,531 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +e:"$Sreact.suspense" +11:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"P":null,"c":["","blog","building-a-greener-city-the-future-of-urban-logistics"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","building-a-greener-city-the-future-of-urban-logistics","d",null],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$Lc",[["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true,"nonce":"$undefined"}]],["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]]}],{},null,false,null]},null,false,"$@10"]},null,false,"$@10"]},null,false,null],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$e",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +16:[] +10:"$W16" +17: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
, 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); } +c:["$","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\":\"Building a Greener City: The Future of Urban Logistics\",\"description\":\"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-6.jpeg\"],\"datePublished\":\"2025-07-10T00:00:00.000Z\",\"dateModified\":\"2025-07-10T00: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/building-a-greener-city-the-future-of-urban-logistics\"},\"articleSection\":\"Sustainability\"}"}}],["$","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\":\"Building a Greener City: The Future of Urban Logistics\",\"item\":\"https://www.doormile.com/blog/building-a-greener-city-the-future-of-urban-logistics\"}]}"}}],["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":[["$","article",null,{"className":"dm-single-blog","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$17"}}],"$L18","$L19"]}],"$L1a"]}]}]]}] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +1c:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +18:["$","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-6.jpeg)","--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":"Sustainability"}],["$","h1",null,{"className":"dm-banner-title","children":"Building a Greener City: The Future of Urban Logistics"}]]}]}]}] +19:["$","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":["$","$L1b",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L1b",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":"Building a Greener City: The Future of Urban Logistics"}]]}]}],["$","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-07-10","children":"Jul 10, 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":"Zero-emission delivery is no longer a marketing line — it is becoming a regulatory expectation. The path there runs through two changes at once: electrifying the fleet, and routing it intelligently enough to make electrification viable."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L1c","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. Building a Greener City: The Future of Urban Logistics looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road."}]}],["$","$L1c","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Why this matters for modern fleets"}]}],["$","$L1c","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."}]}],["$","$L1c","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Fewer vehicles deployed for the same delivery volume"}],["$","li","1",{"children":"Lower cost-per-drop through tighter, smarter sequencing"}],["$","li","2",{"children":"Predictable ETAs that protect customer trust and SLA targets"}],["$","li","3",{"children":"A cleaner, lower-emission footprint per parcel delivered"}]]}]}],["$","$L1c","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"From data to decision"}]}],["$","$L1c","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."}]}],"$L1d","$L1e","$L1f","$L20","$L21","$L22"]}]]}],"$L23"]}]]}] +24: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%; } + } +1a:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$24"}}],"$L25"]}] +26:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +27:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"] +1d:["$","$L1c","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L26",null,{"src":"/images/blog-post-pic-6.jpeg","alt":"Building a Greener City: The Future of Urban Logistics","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"Sustainability — operational intelligence applied at the point of dispatch."}]]}]}] +1e:["$","$L1c","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"We don't guess the route. We calculate it — and we prove it works before the wheels start turning."}],["$","cite",null,{"children":["— ","Doormile Operations"]}]]}]}] +1f:["$","$L1c","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Putting it into practice"}]}] +20:["$","$L1c","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."}]}] +21:["$","$L1c","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Benchmark today's distance, fleet size and on-time rate."}],["$","li","1",{"children":"Feed real constraints — capacity, windows, charge — into the engine."}],["$","li","2",{"children":"Validate routes against real-world conditions before dispatch."}],["$","li","3",{"children":"Measure the delta, then scale the approach across hubs."}]]}]}] +22:["$","$L1c","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}]}] +23:["$","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"}],["$","$L27",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":["$","$L1b",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":["$","$L26",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 2025"}]]}]]}]}],["$","li","miletruth-ai-10-stages-to-smarter-dispatch",{"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",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":["$","$L1b",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":["$","$L26",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"}]]}]]}]}]]}]]}],["$","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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],"$L28","$L29","$L2a"]}]]}],"$L2b"]}]}] +25:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L1b",null,{"href":"/blog/fleet-reduction-without-compromising-delivery-volume","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-8.jpeg","alt":"Fleet Reduction Without Compromising Delivery Volume","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":"Fleet Management"}],["$","span",null,{"className":"dm-prevnext-title","children":"Fleet Reduction Without Compromising Delivery Volume"}]]}]]}],["$","$L1b",null,{"href":"/blog/how-doormile-maintains-99-9-sla-compliance-at-scale","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":"Operations"}],["$","span",null,{"className":"dm-prevnext-title","children":"How Doormile Maintains 99.9% SLA Compliance at Scale"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/last-mile-approach.jpg","alt":"How Doormile Maintains 99.9% SLA Compliance at Scale","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":[["$","$L1c","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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"}]]}]]}]]}]]}]}],["$","$L1c","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],"$L2c","$L2d"]}]]}]}],"$L2e"]}]]}],"$L2f"]}] +28:["$","li","Operations",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +29:["$","li","Sustainability",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2a:["$","li","Technology",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}] +2b:["$","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."}],["$","$L1b",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"}]]}]]}]]}] +2c:["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}] +2d:["$","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"}]]}]]}] +2e:["$","$L1c","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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."}],["$","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"}]]}]]}]]}]]}]}] +2f:["$","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."}]]}],["$","$L1b",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"}]]}]]}]]}] +12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +30:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +f:null +14:[["$","title","0",{"children":"Building a Greener City: The Future of Urban Logistics – Doormile"}],["$","meta","1",{"name":"description","content":"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"Sustainability,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/building-a-greener-city-the-future-of-urban-logistics"}],["$","meta","6",{"property":"og:title","content":"Building a Greener City: The Future of Urban Logistics"}],["$","meta","7",{"property":"og:description","content":"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/building-a-greener-city-the-future-of-urban-logistics"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-6.jpeg"}],["$","meta","11",{"property":"og:image:alt","content":"Building a Greener City: The Future of Urban Logistics"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-07-10T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"Building a Greener City: The Future of Urban Logistics"}],["$","meta","17",{"name":"twitter:description","content":"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-6.jpeg"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L30","23",{}]] diff --git a/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next._full.txt b/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next._full.txt new file mode 100644 index 0000000..14ba659 --- /dev/null +++ b/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next._full.txt @@ -0,0 +1,531 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +e:"$Sreact.suspense" +11:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"P":null,"c":["","blog","building-a-greener-city-the-future-of-urban-logistics"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","building-a-greener-city-the-future-of-urban-logistics","d",null],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$Lc",[["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true,"nonce":"$undefined"}]],["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]]}],{},null,false,null]},null,false,"$@10"]},null,false,"$@10"]},null,false,null],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$e",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +16:[] +10:"$W16" +17: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
, 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); } +c:["$","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\":\"Building a Greener City: The Future of Urban Logistics\",\"description\":\"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-6.jpeg\"],\"datePublished\":\"2025-07-10T00:00:00.000Z\",\"dateModified\":\"2025-07-10T00: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/building-a-greener-city-the-future-of-urban-logistics\"},\"articleSection\":\"Sustainability\"}"}}],["$","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\":\"Building a Greener City: The Future of Urban Logistics\",\"item\":\"https://www.doormile.com/blog/building-a-greener-city-the-future-of-urban-logistics\"}]}"}}],["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":[["$","article",null,{"className":"dm-single-blog","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$17"}}],"$L18","$L19"]}],"$L1a"]}]}]]}] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +1c:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +18:["$","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-6.jpeg)","--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":"Sustainability"}],["$","h1",null,{"className":"dm-banner-title","children":"Building a Greener City: The Future of Urban Logistics"}]]}]}]}] +19:["$","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":["$","$L1b",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L1b",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":"Building a Greener City: The Future of Urban Logistics"}]]}]}],["$","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-07-10","children":"Jul 10, 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":"Zero-emission delivery is no longer a marketing line — it is becoming a regulatory expectation. The path there runs through two changes at once: electrifying the fleet, and routing it intelligently enough to make electrification viable."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L1c","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. Building a Greener City: The Future of Urban Logistics looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road."}]}],["$","$L1c","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Why this matters for modern fleets"}]}],["$","$L1c","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."}]}],["$","$L1c","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Fewer vehicles deployed for the same delivery volume"}],["$","li","1",{"children":"Lower cost-per-drop through tighter, smarter sequencing"}],["$","li","2",{"children":"Predictable ETAs that protect customer trust and SLA targets"}],["$","li","3",{"children":"A cleaner, lower-emission footprint per parcel delivered"}]]}]}],["$","$L1c","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"From data to decision"}]}],["$","$L1c","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."}]}],"$L1d","$L1e","$L1f","$L20","$L21","$L22"]}]]}],"$L23"]}]]}] +24: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%; } + } +1a:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$24"}}],"$L25"]}] +26:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +27:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"] +1d:["$","$L1c","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L26",null,{"src":"/images/blog-post-pic-6.jpeg","alt":"Building a Greener City: The Future of Urban Logistics","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"Sustainability — operational intelligence applied at the point of dispatch."}]]}]}] +1e:["$","$L1c","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"We don't guess the route. We calculate it — and we prove it works before the wheels start turning."}],["$","cite",null,{"children":["— ","Doormile Operations"]}]]}]}] +1f:["$","$L1c","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Putting it into practice"}]}] +20:["$","$L1c","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."}]}] +21:["$","$L1c","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Benchmark today's distance, fleet size and on-time rate."}],["$","li","1",{"children":"Feed real constraints — capacity, windows, charge — into the engine."}],["$","li","2",{"children":"Validate routes against real-world conditions before dispatch."}],["$","li","3",{"children":"Measure the delta, then scale the approach across hubs."}]]}]}] +22:["$","$L1c","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}]}] +23:["$","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"}],["$","$L27",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":["$","$L1b",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":["$","$L26",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 2025"}]]}]]}]}],["$","li","miletruth-ai-10-stages-to-smarter-dispatch",{"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",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":["$","$L1b",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":["$","$L26",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"}]]}]]}]}]]}]]}],["$","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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],"$L28","$L29","$L2a"]}]]}],"$L2b"]}]}] +25:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L1b",null,{"href":"/blog/fleet-reduction-without-compromising-delivery-volume","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-8.jpeg","alt":"Fleet Reduction Without Compromising Delivery Volume","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":"Fleet Management"}],["$","span",null,{"className":"dm-prevnext-title","children":"Fleet Reduction Without Compromising Delivery Volume"}]]}]]}],["$","$L1b",null,{"href":"/blog/how-doormile-maintains-99-9-sla-compliance-at-scale","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":"Operations"}],["$","span",null,{"className":"dm-prevnext-title","children":"How Doormile Maintains 99.9% SLA Compliance at Scale"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/last-mile-approach.jpg","alt":"How Doormile Maintains 99.9% SLA Compliance at Scale","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":[["$","$L1c","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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"}]]}]]}]]}]]}]}],["$","$L1c","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],"$L2c","$L2d"]}]]}]}],"$L2e"]}]]}],"$L2f"]}] +28:["$","li","Operations",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +29:["$","li","Sustainability",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2a:["$","li","Technology",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}] +2b:["$","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."}],["$","$L1b",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"}]]}]]}]]}] +2c:["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}] +2d:["$","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"}]]}]]}] +2e:["$","$L1c","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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."}],["$","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"}]]}]]}]]}]]}]}] +2f:["$","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."}]]}],["$","$L1b",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"}]]}]]}]]}] +12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +30:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +f:null +14:[["$","title","0",{"children":"Building a Greener City: The Future of Urban Logistics – Doormile"}],["$","meta","1",{"name":"description","content":"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"Sustainability,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/building-a-greener-city-the-future-of-urban-logistics"}],["$","meta","6",{"property":"og:title","content":"Building a Greener City: The Future of Urban Logistics"}],["$","meta","7",{"property":"og:description","content":"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/building-a-greener-city-the-future-of-urban-logistics"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-6.jpeg"}],["$","meta","11",{"property":"og:image:alt","content":"Building a Greener City: The Future of Urban Logistics"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-07-10T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"Building a Greener City: The Future of Urban Logistics"}],["$","meta","17",{"name":"twitter:description","content":"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-6.jpeg"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L30","23",{}]] diff --git a/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next._head.txt b/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next._head.txt new file mode 100644 index 0000000..d9479c8 --- /dev/null +++ b/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next._head.txt @@ -0,0 +1,6 @@ +1:"$Sreact.fragment" +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +4:"$Sreact.suspense" +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Building a Greener City: The Future of Urban Logistics – Doormile"}],["$","meta","1",{"name":"description","content":"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"Sustainability,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/building-a-greener-city-the-future-of-urban-logistics"}],["$","meta","6",{"property":"og:title","content":"Building a Greener City: The Future of Urban Logistics"}],["$","meta","7",{"property":"og:description","content":"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/building-a-greener-city-the-future-of-urban-logistics"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-6.jpeg"}],["$","meta","11",{"property":"og:image:alt","content":"Building a Greener City: The Future of Urban Logistics"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-07-10T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"Building a Greener City: The Future of Urban Logistics"}],["$","meta","17",{"name":"twitter:description","content":"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-6.jpeg"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","23",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next._index.txt b/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next._index.txt new file mode 100644 index 0000000..9c09249 --- /dev/null +++ b/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next._index.txt @@ -0,0 +1,15 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next._tree.txt b/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next._tree.txt new file mode 100644 index 0000000..a4ace86 --- /dev/null +++ b/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next._tree.txt @@ -0,0 +1,9 @@ +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"blog","param":null,"prefetchHints":0,"slots":{"children":{"name":"slug","param":{"type":"d","key":"building-a-greener-city-the-future-of-urban-logistics","siblings":null},"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next.blog.$d$slug.__PAGE__.txt b/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next.blog.$d$slug.__PAGE__.txt new file mode 100644 index 0000000..40dcba1 --- /dev/null +++ b/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next.blog.$d$slug.__PAGE__.txt @@ -0,0 +1,506 @@ +1:"$Sreact.fragment" +8:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +9:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +14:"$Sreact.suspense" +16:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +17:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.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
, 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\":\"Building a Greener City: The Future of Urban Logistics\",\"description\":\"Cities are demanding cleaner delivery. We explore how AI-powered EV fleets and optimised routing create a path to zero-emission last-mile logistics at city scale.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-6.jpeg\"],\"datePublished\":\"2025-07-10T00:00:00.000Z\",\"dateModified\":\"2025-07-10T00: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/building-a-greener-city-the-future-of-urban-logistics\"},\"articleSection\":\"Sustainability\"}"}}],["$","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\":\"Building a Greener City: The Future of Urban Logistics\",\"item\":\"https://www.doormile.com/blog/building-a-greener-city-the-future-of-urban-logistics\"}]}"}}],["$","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":"TAuyMDUsvWIfF6U_s0MKe"} +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-6.jpeg)","--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":"Sustainability"}],["$","h1",null,{"className":"dm-banner-title","children":"Building a Greener City: The Future of Urban Logistics"}]]}]}]}] +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":"Building a Greener City: The Future of Urban Logistics"}]]}]}],["$","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-07-10","children":"Jul 10, 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":"Zero-emission delivery is no longer a marketing line — it is becoming a regulatory expectation. The path there runs through two changes at once: electrifying the fleet, and routing it intelligently enough to make electrification viable."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L9","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. Building a Greener City: The Future of Urban Logistics looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road."}]}],["$","$L9","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Why this matters for modern fleets"}]}],["$","$L9","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."}]}],["$","$L9","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Fewer vehicles deployed for the same delivery volume"}],["$","li","1",{"children":"Lower cost-per-drop through tighter, smarter sequencing"}],["$","li","2",{"children":"Predictable ETAs that protect customer trust and SLA targets"}],["$","li","3",{"children":"A cleaner, lower-emission footprint per parcel delivered"}]]}]}],["$","$L9","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"From data to decision"}]}],["$","$L9","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."}]}],"$La","$Lb","$Lc","$Ld","$Le","$Lf"]}]]}],"$L10"]}]]}] +11: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":"$11"}}],"$L12"]}] +6:["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true}] +7:["$","$L13",null,{"children":["$","$14",null,{"name":"Next.MetadataOutlet","children":"$@15"}]}] +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":["$","$L16",null,{"src":"/images/blog-post-pic-6.jpeg","alt":"Building a Greener City: The Future of Urban Logistics","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"Sustainability — operational intelligence applied at the point of dispatch."}]]}]}] +b:["$","$L9","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"We don't guess the route. We calculate it — and we prove it works before the wheels start turning."}],["$","cite",null,{"children":["— ","Doormile Operations"]}]]}]}] +c:["$","$L9","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Putting it into practice"}]}] +d:["$","$L9","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."}]}] +e:["$","$L9","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Benchmark today's distance, fleet size and on-time rate."}],["$","li","1",{"children":"Feed real constraints — capacity, windows, charge — into the engine."}],["$","li","2",{"children":"Validate routes against real-world conditions before dispatch."}],["$","li","3",{"children":"Measure the delta, then scale the approach across hubs."}]]}]}] +f:["$","$L9","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}]}] +10:["$","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"}],["$","$L17",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":["$","$L16",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L8",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L16",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 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":["$","$L16",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":["$","$L16",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"}]]}]]}]}]]}]]}],["$","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"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],"$L18","$L19","$L1a"]}]]}],"$L1b"]}]}] +12:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L8",null,{"href":"/blog/fleet-reduction-without-compromising-delivery-volume","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L16",null,{"src":"/images/blog-post-pic-8.jpeg","alt":"Fleet Reduction Without Compromising Delivery Volume","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":"Fleet Management"}],["$","span",null,{"className":"dm-prevnext-title","children":"Fleet Reduction Without Compromising Delivery Volume"}]]}]]}],["$","$L8",null,{"href":"/blog/how-doormile-maintains-99-9-sla-compliance-at-scale","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":"Operations"}],["$","span",null,{"className":"dm-prevnext-title","children":"How Doormile Maintains 99.9% SLA Compliance at Scale"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L16",null,{"src":"/images/last-mile-approach.jpg","alt":"How Doormile Maintains 99.9% SLA Compliance at Scale","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":[["$","$L16",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","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L8",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L16",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],"$L1c","$L1d"]}]]}]}],"$L1e"]}]]}],"$L1f"]}] +15:null +18:["$","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}]]}]}] +19:["$","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}]]}]}] +1a:["$","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}]]}]}] +1b:["$","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"}]]}]]}]]}] +1c:["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}] +1d:["$","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"}]]}]]}] +1e:["$","$L9","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.16,"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":[["$","$L16",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."}],["$","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:["$","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"}]]}]]}]]}] diff --git a/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next.blog.$d$slug.txt b/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next.blog.$d$slug.txt new file mode 100644 index 0000000..e7f2861 --- /dev/null +++ b/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next.blog.$d$slug.txt @@ -0,0 +1,5 @@ +1:"$Sreact.fragment" +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:[] +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next.blog.txt b/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next.blog.txt new file mode 100644 index 0000000..e7f2861 --- /dev/null +++ b/build/blog/building-a-greener-city-the-future-of-urban-logistics/__next.blog.txt @@ -0,0 +1,5 @@ +1:"$Sreact.fragment" +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:[] +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/fleet-reduction-without-compromising-delivery-volume.html b/build/blog/fleet-reduction-without-compromising-delivery-volume.html new file mode 100644 index 0000000..4e81a2d --- /dev/null +++ b/build/blog/fleet-reduction-without-compromising-delivery-volume.html @@ -0,0 +1,754 @@ +Fleet Reduction Without Compromising Delivery Volume – Doormile

Doormile

Doormile logo
Our Location

5th Floor, Vision Ultima, Street No.3, Jayabheri Enclave, Gachibowli, Hyderabad, Telangana 500032.

Contact Us

Tel : +91 86886 97941

Email

care@doormile.com

Fleet Management

Fleet Reduction Without Compromising Delivery Volume

Doormile Team2 min read

Cutting your fleet usually means cutting capacity — unless the kilometres you remove were never necessary in the first place. Smarter routing reclaims that wasted distance and turns it into headroom.

In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. Fleet Reduction Without Compromising Delivery Volume looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road.

Why this matters for modern fleets

Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles.

  • Fewer vehicles deployed for the same delivery volume
  • Lower cost-per-drop through tighter, smarter sequencing
  • Predictable ETAs that protect customer trust and SLA targets
  • A cleaner, lower-emission footprint per parcel delivered

From data to decision

Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub.

Fleet Reduction Without Compromising Delivery Volume
Fleet Management — operational intelligence applied at the point of dispatch.

We don't guess the route. We calculate it — and we prove it works before the wheels start turning.

Doormile Operations

Putting it into practice

The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle.

  1. Benchmark today's distance, fleet size and on-time rate.
  2. Feed real constraints — capacity, windows, charge — into the engine.
  3. Validate routes against real-world conditions before dispatch.
  4. Measure the delta, then scale the approach across hubs.

Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on.

\ No newline at end of file diff --git a/build/blog/fleet-reduction-without-compromising-delivery-volume.txt b/build/blog/fleet-reduction-without-compromising-delivery-volume.txt new file mode 100644 index 0000000..bf545b9 --- /dev/null +++ b/build/blog/fleet-reduction-without-compromising-delivery-volume.txt @@ -0,0 +1,531 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +e:"$Sreact.suspense" +11:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"P":null,"c":["","blog","fleet-reduction-without-compromising-delivery-volume"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","fleet-reduction-without-compromising-delivery-volume","d",null],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$Lc",[["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true,"nonce":"$undefined"}]],["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]]}],{},null,false,null]},null,false,"$@10"]},null,false,"$@10"]},null,false,null],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$e",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +16:[] +10:"$W16" +17: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
, 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); } +c:["$","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\":\"Fleet Reduction Without Compromising Delivery Volume\",\"description\":\"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-8.jpeg\"],\"datePublished\":\"2025-07-24T00:00:00.000Z\",\"dateModified\":\"2025-07-24T00: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/fleet-reduction-without-compromising-delivery-volume\"},\"articleSection\":\"Fleet Management\"}"}}],["$","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\":\"Fleet Reduction Without Compromising Delivery Volume\",\"item\":\"https://www.doormile.com/blog/fleet-reduction-without-compromising-delivery-volume\"}]}"}}],["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":[["$","article",null,{"className":"dm-single-blog","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$17"}}],"$L18","$L19"]}],"$L1a"]}]}]]}] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +1c:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +18:["$","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-8.jpeg)","--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":"Fleet Management"}],["$","h1",null,{"className":"dm-banner-title","children":"Fleet Reduction Without Compromising Delivery Volume"}]]}]}]}] +19:["$","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":["$","$L1b",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L1b",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":"Fleet Reduction Without Compromising Delivery Volume"}]]}]}],["$","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-07-24","children":"Jul 24, 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":"Cutting your fleet usually means cutting capacity — unless the kilometres you remove were never necessary in the first place. Smarter routing reclaims that wasted distance and turns it into headroom."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L1c","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. Fleet Reduction Without Compromising Delivery Volume looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road."}]}],["$","$L1c","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Why this matters for modern fleets"}]}],["$","$L1c","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."}]}],["$","$L1c","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Fewer vehicles deployed for the same delivery volume"}],["$","li","1",{"children":"Lower cost-per-drop through tighter, smarter sequencing"}],["$","li","2",{"children":"Predictable ETAs that protect customer trust and SLA targets"}],["$","li","3",{"children":"A cleaner, lower-emission footprint per parcel delivered"}]]}]}],["$","$L1c","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"From data to decision"}]}],["$","$L1c","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."}]}],"$L1d","$L1e","$L1f","$L20","$L21","$L22"]}]]}],"$L23"]}]]}] +24: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%; } + } +1a:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$24"}}],"$L25"]}] +26:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +27:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"] +1d:["$","$L1c","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L26",null,{"src":"/images/blog-post-pic-8.jpeg","alt":"Fleet Reduction Without Compromising Delivery Volume","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"Fleet Management — operational intelligence applied at the point of dispatch."}]]}]}] +1e:["$","$L1c","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"We don't guess the route. We calculate it — and we prove it works before the wheels start turning."}],["$","cite",null,{"children":["— ","Doormile Operations"]}]]}]}] +1f:["$","$L1c","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Putting it into practice"}]}] +20:["$","$L1c","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."}]}] +21:["$","$L1c","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Benchmark today's distance, fleet size and on-time rate."}],["$","li","1",{"children":"Feed real constraints — capacity, windows, charge — into the engine."}],["$","li","2",{"children":"Validate routes against real-world conditions before dispatch."}],["$","li","3",{"children":"Measure the delta, then scale the approach across hubs."}]]}]}] +22:["$","$L1c","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}]}] +23:["$","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"}],["$","$L27",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":["$","$L1b",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":["$","$L26",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 2025"}]]}]]}]}],["$","li","miletruth-ai-10-stages-to-smarter-dispatch",{"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",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":["$","$L1b",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":["$","$L26",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"}]]}]]}]}]]}]]}],["$","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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],"$L28","$L29","$L2a"]}]]}],"$L2b"]}]}] +25:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L1b",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","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":"Why Mathematical Precision Beats Heuristics in Routing"}]]}]]}],["$","$L1b",null,{"href":"/blog/building-a-greener-city-the-future-of-urban-logistics","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":"Sustainability"}],["$","span",null,{"className":"dm-prevnext-title","children":"Building a Greener City: The Future of Urban Logistics"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-6.jpeg","alt":"Building a Greener City: The Future of Urban Logistics","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":[["$","$L1c","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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"}]]}]]}]]}]]}]}],["$","$L1c","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],"$L2c","$L2d"]}]]}]}],"$L2e"]}]]}],"$L2f"]}] +28:["$","li","Operations",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +29:["$","li","Sustainability",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2a:["$","li","Technology",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}] +2b:["$","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."}],["$","$L1b",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"}]]}]]}]]}] +2c:["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}] +2d:["$","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"}]]}]]}] +2e:["$","$L1c","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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."}],["$","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"}]]}]]}]]}]]}]}] +2f:["$","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."}]]}],["$","$L1b",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"}]]}]]}]]}] +12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +30:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +f:null +14:[["$","title","0",{"children":"Fleet Reduction Without Compromising Delivery Volume – Doormile"}],["$","meta","1",{"name":"description","content":"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"Fleet Management,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/fleet-reduction-without-compromising-delivery-volume"}],["$","meta","6",{"property":"og:title","content":"Fleet Reduction Without Compromising Delivery Volume"}],["$","meta","7",{"property":"og:description","content":"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/fleet-reduction-without-compromising-delivery-volume"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-8.jpeg"}],["$","meta","11",{"property":"og:image:alt","content":"Fleet Reduction Without Compromising Delivery Volume"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-07-24T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"Fleet Reduction Without Compromising Delivery Volume"}],["$","meta","17",{"name":"twitter:description","content":"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-8.jpeg"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L30","23",{}]] diff --git a/build/blog/fleet-reduction-without-compromising-delivery-volume/__next._full.txt b/build/blog/fleet-reduction-without-compromising-delivery-volume/__next._full.txt new file mode 100644 index 0000000..bf545b9 --- /dev/null +++ b/build/blog/fleet-reduction-without-compromising-delivery-volume/__next._full.txt @@ -0,0 +1,531 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +e:"$Sreact.suspense" +11:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"P":null,"c":["","blog","fleet-reduction-without-compromising-delivery-volume"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","fleet-reduction-without-compromising-delivery-volume","d",null],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$Lc",[["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true,"nonce":"$undefined"}]],["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]]}],{},null,false,null]},null,false,"$@10"]},null,false,"$@10"]},null,false,null],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$e",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +16:[] +10:"$W16" +17: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
, 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); } +c:["$","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\":\"Fleet Reduction Without Compromising Delivery Volume\",\"description\":\"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-8.jpeg\"],\"datePublished\":\"2025-07-24T00:00:00.000Z\",\"dateModified\":\"2025-07-24T00: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/fleet-reduction-without-compromising-delivery-volume\"},\"articleSection\":\"Fleet Management\"}"}}],["$","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\":\"Fleet Reduction Without Compromising Delivery Volume\",\"item\":\"https://www.doormile.com/blog/fleet-reduction-without-compromising-delivery-volume\"}]}"}}],["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":[["$","article",null,{"className":"dm-single-blog","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$17"}}],"$L18","$L19"]}],"$L1a"]}]}]]}] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +1c:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +18:["$","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-8.jpeg)","--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":"Fleet Management"}],["$","h1",null,{"className":"dm-banner-title","children":"Fleet Reduction Without Compromising Delivery Volume"}]]}]}]}] +19:["$","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":["$","$L1b",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L1b",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":"Fleet Reduction Without Compromising Delivery Volume"}]]}]}],["$","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-07-24","children":"Jul 24, 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":"Cutting your fleet usually means cutting capacity — unless the kilometres you remove were never necessary in the first place. Smarter routing reclaims that wasted distance and turns it into headroom."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L1c","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. Fleet Reduction Without Compromising Delivery Volume looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road."}]}],["$","$L1c","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Why this matters for modern fleets"}]}],["$","$L1c","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."}]}],["$","$L1c","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Fewer vehicles deployed for the same delivery volume"}],["$","li","1",{"children":"Lower cost-per-drop through tighter, smarter sequencing"}],["$","li","2",{"children":"Predictable ETAs that protect customer trust and SLA targets"}],["$","li","3",{"children":"A cleaner, lower-emission footprint per parcel delivered"}]]}]}],["$","$L1c","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"From data to decision"}]}],["$","$L1c","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."}]}],"$L1d","$L1e","$L1f","$L20","$L21","$L22"]}]]}],"$L23"]}]]}] +24: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%; } + } +1a:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$24"}}],"$L25"]}] +26:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +27:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"] +1d:["$","$L1c","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L26",null,{"src":"/images/blog-post-pic-8.jpeg","alt":"Fleet Reduction Without Compromising Delivery Volume","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"Fleet Management — operational intelligence applied at the point of dispatch."}]]}]}] +1e:["$","$L1c","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"We don't guess the route. We calculate it — and we prove it works before the wheels start turning."}],["$","cite",null,{"children":["— ","Doormile Operations"]}]]}]}] +1f:["$","$L1c","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Putting it into practice"}]}] +20:["$","$L1c","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."}]}] +21:["$","$L1c","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Benchmark today's distance, fleet size and on-time rate."}],["$","li","1",{"children":"Feed real constraints — capacity, windows, charge — into the engine."}],["$","li","2",{"children":"Validate routes against real-world conditions before dispatch."}],["$","li","3",{"children":"Measure the delta, then scale the approach across hubs."}]]}]}] +22:["$","$L1c","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}]}] +23:["$","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"}],["$","$L27",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":["$","$L1b",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":["$","$L26",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 2025"}]]}]]}]}],["$","li","miletruth-ai-10-stages-to-smarter-dispatch",{"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",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":["$","$L1b",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":["$","$L26",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"}]]}]]}]}]]}]]}],["$","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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],"$L28","$L29","$L2a"]}]]}],"$L2b"]}]}] +25:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L1b",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","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":"Why Mathematical Precision Beats Heuristics in Routing"}]]}]]}],["$","$L1b",null,{"href":"/blog/building-a-greener-city-the-future-of-urban-logistics","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":"Sustainability"}],["$","span",null,{"className":"dm-prevnext-title","children":"Building a Greener City: The Future of Urban Logistics"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-6.jpeg","alt":"Building a Greener City: The Future of Urban Logistics","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":[["$","$L1c","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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"}]]}]]}]]}]]}]}],["$","$L1c","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],"$L2c","$L2d"]}]]}]}],"$L2e"]}]]}],"$L2f"]}] +28:["$","li","Operations",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +29:["$","li","Sustainability",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2a:["$","li","Technology",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}] +2b:["$","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."}],["$","$L1b",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"}]]}]]}]]}] +2c:["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}] +2d:["$","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"}]]}]]}] +2e:["$","$L1c","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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."}],["$","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"}]]}]]}]]}]]}]}] +2f:["$","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."}]]}],["$","$L1b",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"}]]}]]}]]}] +12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +30:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +f:null +14:[["$","title","0",{"children":"Fleet Reduction Without Compromising Delivery Volume – Doormile"}],["$","meta","1",{"name":"description","content":"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"Fleet Management,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/fleet-reduction-without-compromising-delivery-volume"}],["$","meta","6",{"property":"og:title","content":"Fleet Reduction Without Compromising Delivery Volume"}],["$","meta","7",{"property":"og:description","content":"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/fleet-reduction-without-compromising-delivery-volume"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-8.jpeg"}],["$","meta","11",{"property":"og:image:alt","content":"Fleet Reduction Without Compromising Delivery Volume"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-07-24T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"Fleet Reduction Without Compromising Delivery Volume"}],["$","meta","17",{"name":"twitter:description","content":"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-8.jpeg"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L30","23",{}]] diff --git a/build/blog/fleet-reduction-without-compromising-delivery-volume/__next._head.txt b/build/blog/fleet-reduction-without-compromising-delivery-volume/__next._head.txt new file mode 100644 index 0000000..b0a51f8 --- /dev/null +++ b/build/blog/fleet-reduction-without-compromising-delivery-volume/__next._head.txt @@ -0,0 +1,6 @@ +1:"$Sreact.fragment" +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +4:"$Sreact.suspense" +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Fleet Reduction Without Compromising Delivery Volume – Doormile"}],["$","meta","1",{"name":"description","content":"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"Fleet Management,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/fleet-reduction-without-compromising-delivery-volume"}],["$","meta","6",{"property":"og:title","content":"Fleet Reduction Without Compromising Delivery Volume"}],["$","meta","7",{"property":"og:description","content":"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/fleet-reduction-without-compromising-delivery-volume"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-8.jpeg"}],["$","meta","11",{"property":"og:image:alt","content":"Fleet Reduction Without Compromising Delivery Volume"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-07-24T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"Fleet Reduction Without Compromising Delivery Volume"}],["$","meta","17",{"name":"twitter:description","content":"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-8.jpeg"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","23",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/fleet-reduction-without-compromising-delivery-volume/__next._index.txt b/build/blog/fleet-reduction-without-compromising-delivery-volume/__next._index.txt new file mode 100644 index 0000000..9c09249 --- /dev/null +++ b/build/blog/fleet-reduction-without-compromising-delivery-volume/__next._index.txt @@ -0,0 +1,15 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/fleet-reduction-without-compromising-delivery-volume/__next._tree.txt b/build/blog/fleet-reduction-without-compromising-delivery-volume/__next._tree.txt new file mode 100644 index 0000000..e82f82b --- /dev/null +++ b/build/blog/fleet-reduction-without-compromising-delivery-volume/__next._tree.txt @@ -0,0 +1,9 @@ +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"blog","param":null,"prefetchHints":0,"slots":{"children":{"name":"slug","param":{"type":"d","key":"fleet-reduction-without-compromising-delivery-volume","siblings":null},"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/fleet-reduction-without-compromising-delivery-volume/__next.blog.$d$slug.__PAGE__.txt b/build/blog/fleet-reduction-without-compromising-delivery-volume/__next.blog.$d$slug.__PAGE__.txt new file mode 100644 index 0000000..73f304b --- /dev/null +++ b/build/blog/fleet-reduction-without-compromising-delivery-volume/__next.blog.$d$slug.__PAGE__.txt @@ -0,0 +1,506 @@ +1:"$Sreact.fragment" +8:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +9:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +14:"$Sreact.suspense" +16:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +17:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.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
, 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\":\"Fleet Reduction Without Compromising Delivery Volume\",\"description\":\"Deploying 37% fewer vehicles while handling the same order volumes isn't a trade-off — it's the result of smarter routing intelligence applied at every dispatch.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-8.jpeg\"],\"datePublished\":\"2025-07-24T00:00:00.000Z\",\"dateModified\":\"2025-07-24T00: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/fleet-reduction-without-compromising-delivery-volume\"},\"articleSection\":\"Fleet Management\"}"}}],["$","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\":\"Fleet Reduction Without Compromising Delivery Volume\",\"item\":\"https://www.doormile.com/blog/fleet-reduction-without-compromising-delivery-volume\"}]}"}}],["$","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":"TAuyMDUsvWIfF6U_s0MKe"} +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-8.jpeg)","--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":"Fleet Management"}],["$","h1",null,{"className":"dm-banner-title","children":"Fleet Reduction Without Compromising Delivery Volume"}]]}]}]}] +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":"Fleet Reduction Without Compromising Delivery Volume"}]]}]}],["$","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-07-24","children":"Jul 24, 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":"Cutting your fleet usually means cutting capacity — unless the kilometres you remove were never necessary in the first place. Smarter routing reclaims that wasted distance and turns it into headroom."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L9","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. Fleet Reduction Without Compromising Delivery Volume looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road."}]}],["$","$L9","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Why this matters for modern fleets"}]}],["$","$L9","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."}]}],["$","$L9","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Fewer vehicles deployed for the same delivery volume"}],["$","li","1",{"children":"Lower cost-per-drop through tighter, smarter sequencing"}],["$","li","2",{"children":"Predictable ETAs that protect customer trust and SLA targets"}],["$","li","3",{"children":"A cleaner, lower-emission footprint per parcel delivered"}]]}]}],["$","$L9","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"From data to decision"}]}],["$","$L9","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."}]}],"$La","$Lb","$Lc","$Ld","$Le","$Lf"]}]]}],"$L10"]}]]}] +11: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":"$11"}}],"$L12"]}] +6:["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true}] +7:["$","$L13",null,{"children":["$","$14",null,{"name":"Next.MetadataOutlet","children":"$@15"}]}] +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":["$","$L16",null,{"src":"/images/blog-post-pic-8.jpeg","alt":"Fleet Reduction Without Compromising Delivery Volume","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"Fleet Management — operational intelligence applied at the point of dispatch."}]]}]}] +b:["$","$L9","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"We don't guess the route. We calculate it — and we prove it works before the wheels start turning."}],["$","cite",null,{"children":["— ","Doormile Operations"]}]]}]}] +c:["$","$L9","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Putting it into practice"}]}] +d:["$","$L9","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."}]}] +e:["$","$L9","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Benchmark today's distance, fleet size and on-time rate."}],["$","li","1",{"children":"Feed real constraints — capacity, windows, charge — into the engine."}],["$","li","2",{"children":"Validate routes against real-world conditions before dispatch."}],["$","li","3",{"children":"Measure the delta, then scale the approach across hubs."}]]}]}] +f:["$","$L9","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}]}] +10:["$","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"}],["$","$L17",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":["$","$L16",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L8",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L16",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 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":["$","$L16",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":["$","$L16",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"}]]}]]}]}]]}]]}],["$","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"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],"$L18","$L19","$L1a"]}]]}],"$L1b"]}]}] +12:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L8",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L16",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","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":"Why Mathematical Precision Beats Heuristics in Routing"}]]}]]}],["$","$L8",null,{"href":"/blog/building-a-greener-city-the-future-of-urban-logistics","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":"Sustainability"}],["$","span",null,{"className":"dm-prevnext-title","children":"Building a Greener City: The Future of Urban Logistics"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L16",null,{"src":"/images/blog-post-pic-6.jpeg","alt":"Building a Greener City: The Future of Urban Logistics","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":[["$","$L16",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","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L8",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L16",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],"$L1c","$L1d"]}]]}]}],"$L1e"]}]]}],"$L1f"]}] +15:null +18:["$","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}]]}]}] +19:["$","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}]]}]}] +1a:["$","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}]]}]}] +1b:["$","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"}]]}]]}]]}] +1c:["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}] +1d:["$","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"}]]}]]}] +1e:["$","$L9","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.16,"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":[["$","$L16",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."}],["$","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:["$","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"}]]}]]}]]}] diff --git a/build/blog/fleet-reduction-without-compromising-delivery-volume/__next.blog.$d$slug.txt b/build/blog/fleet-reduction-without-compromising-delivery-volume/__next.blog.$d$slug.txt new file mode 100644 index 0000000..e7f2861 --- /dev/null +++ b/build/blog/fleet-reduction-without-compromising-delivery-volume/__next.blog.$d$slug.txt @@ -0,0 +1,5 @@ +1:"$Sreact.fragment" +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:[] +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/fleet-reduction-without-compromising-delivery-volume/__next.blog.txt b/build/blog/fleet-reduction-without-compromising-delivery-volume/__next.blog.txt new file mode 100644 index 0000000..e7f2861 --- /dev/null +++ b/build/blog/fleet-reduction-without-compromising-delivery-volume/__next.blog.txt @@ -0,0 +1,5 @@ +1:"$Sreact.fragment" +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:[] +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/how-ai-is-transforming-last-mile-ev-delivery.html b/build/blog/how-ai-is-transforming-last-mile-ev-delivery.html new file mode 100644 index 0000000..f10bca9 --- /dev/null +++ b/build/blog/how-ai-is-transforming-last-mile-ev-delivery.html @@ -0,0 +1,754 @@ +How AI Is Transforming Last-Mile EV Delivery – Doormile

Doormile

Doormile logo
Our Location

5th Floor, Vision Ultima, Street No.3, Jayabheri Enclave, Gachibowli, Hyderabad, Telangana 500032.

Contact Us

Tel : +91 86886 97941

Email

care@doormile.com

Technology

How AI Is Transforming Last-Mile EV Delivery

Doormile Team2 min read

The last mile has always been logistics' most expensive and least predictable stretch. Add electric vehicles to the mix and the problem sharpens: now every route must respect not just time and capacity, but battery range. Artificial intelligence is what turns that constraint into an advantage.

For decades, last-mile delivery was planned the way it was a generation ago — dispatchers, spreadsheets, and hard-won intuition. That approach scales poorly, and it breaks entirely when you electrify the fleet. EVs introduce a moving constraint that no static plan can absorb: a vehicle's remaining range changes with load, terrain, traffic and temperature, all at once.

The shift from rules to learning

Traditional routing tools rely on fixed rules: nearest-stop-first, fixed zones, manual overrides. They are fast to set up and brittle in practice. Machine-learning-driven systems instead learn from outcomes — every completed delivery, every delay, every charge cycle becomes training signal that sharpens the next decision.

  • Demand forecasting that anticipates volume spikes before they hit the hub
  • Travel-time models trained on the city's real traffic, not generic averages
  • Battery-draw prediction tuned to each vehicle class and load profile
  • Continuous feedback that improves accuracy with every dispatch

Real-time adaptation

The real unlock is not planning — it is replanning. When a road closes, an order is added, or a vehicle's charge drops faster than expected, an AI-driven system re-optimises in milliseconds and reroutes the affected vehicles without a human in the loop. The plan stays optimal even as reality refuses to hold still.

Electric delivery vehicle routing visualisation
AI continuously re-evaluates range, load and traffic to keep every EV route feasible.

An electric fleet is only as good as the intelligence that routes it. The battery sets the limit — the algorithm decides whether you ever reach it.

Doormile Engineering

What it means for operators

For fleet operators, the payoff is concrete: fewer vehicles covering the same ground, near-zero range-related failures, and ETAs accurate enough to commit to. AI does not replace the operator — it removes the guesswork, so the operator can run a larger, cleaner, more reliable fleet with the same team.

  1. Capture real operational data — deliveries, delays, charge cycles.
  2. Let models learn your city's actual travel and demand patterns.
  3. Validate every route against live battery capacity before dispatch.
  4. Re-optimise continuously as conditions change through the day.

The fleets pulling ahead are not the ones with the most vehicles — they are the ones with the smartest kilometre. That is the promise AI brings to last-mile EV delivery, and it is already on the road.

\ No newline at end of file diff --git a/build/blog/how-ai-is-transforming-last-mile-ev-delivery.txt b/build/blog/how-ai-is-transforming-last-mile-ev-delivery.txt new file mode 100644 index 0000000..17c66e0 --- /dev/null +++ b/build/blog/how-ai-is-transforming-last-mile-ev-delivery.txt @@ -0,0 +1,531 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +e:"$Sreact.suspense" +11:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"P":null,"c":["","blog","how-ai-is-transforming-last-mile-ev-delivery"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","how-ai-is-transforming-last-mile-ev-delivery","d",null],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$Lc",[["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true,"nonce":"$undefined"}]],["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]]}],{},null,false,null]},null,false,"$@10"]},null,false,"$@10"]},null,false,null],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$e",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +16:[] +10:"$W16" +17: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
, 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); } +c:["$","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\":\"How AI Is Transforming Last-Mile EV Delivery\",\"description\":\"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-17.png\"],\"datePublished\":\"2025-10-02T00:00:00.000Z\",\"dateModified\":\"2025-10-02T00: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/how-ai-is-transforming-last-mile-ev-delivery\"},\"articleSection\":\"Technology\"}"}}],["$","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\":\"How AI Is Transforming Last-Mile EV Delivery\",\"item\":\"https://www.doormile.com/blog/how-ai-is-transforming-last-mile-ev-delivery\"}]}"}}],["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":[["$","article",null,{"className":"dm-single-blog","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$17"}}],"$L18","$L19"]}],"$L1a"]}]}]]}] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +1c:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +18:["$","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-17.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":"Technology"}],["$","h1",null,{"className":"dm-banner-title","children":"How AI Is Transforming Last-Mile EV Delivery"}]]}]}]}] +19:["$","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":["$","$L1b",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L1b",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":"How AI Is Transforming Last-Mile EV Delivery"}]]}]}],["$","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-10-02","children":"Oct 2, 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":"The last mile has always been logistics' most expensive and least predictable stretch. Add electric vehicles to the mix and the problem sharpens: now every route must respect not just time and capacity, but battery range. Artificial intelligence is what turns that constraint into an advantage."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L1c","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"For decades, last-mile delivery was planned the way it was a generation ago — dispatchers, spreadsheets, and hard-won intuition. That approach scales poorly, and it breaks entirely when you electrify the fleet. EVs introduce a moving constraint that no static plan can absorb: a vehicle's remaining range changes with load, terrain, traffic and temperature, all at once."}]}],["$","$L1c","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"The shift from rules to learning"}]}],["$","$L1c","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Traditional routing tools rely on fixed rules: nearest-stop-first, fixed zones, manual overrides. They are fast to set up and brittle in practice. Machine-learning-driven systems instead learn from outcomes — every completed delivery, every delay, every charge cycle becomes training signal that sharpens the next decision."}]}],["$","$L1c","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Demand forecasting that anticipates volume spikes before they hit the hub"}],["$","li","1",{"children":"Travel-time models trained on the city's real traffic, not generic averages"}],["$","li","2",{"children":"Battery-draw prediction tuned to each vehicle class and load profile"}],["$","li","3",{"children":"Continuous feedback that improves accuracy with every dispatch"}]]}]}],["$","$L1c","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"Real-time adaptation"}]}],["$","$L1c","5",{"delay":0,"duration":0.6,"yOffset":20,"children":"$L1d"}],"$L1e","$L1f","$L20","$L21","$L22","$L23"]}]]}],"$L24"]}]]}] +25: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%; } + } +1a:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$25"}}],"$L26"]}] +27:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +28:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"] +1d:["$","p",null,{"className":"dm-article-p","children":"The real unlock is not planning — it is replanning. When a road closes, an order is added, or a vehicle's charge drops faster than expected, an AI-driven system re-optimises in milliseconds and reroutes the affected vehicles without a human in the loop. The plan stays optimal even as reality refuses to hold still."}] +1e:["$","$L1c","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L27",null,{"src":"/images/ev-paradox.png","alt":"Electric delivery vehicle routing visualisation","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"AI continuously re-evaluates range, load and traffic to keep every EV route feasible."}]]}]}] +1f:["$","$L1c","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"An electric fleet is only as good as the intelligence that routes it. The battery sets the limit — the algorithm decides whether you ever reach it."}],["$","cite",null,{"children":["— ","Doormile Engineering"]}]]}]}] +20:["$","$L1c","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"What it means for operators"}]}] +21:["$","$L1c","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"For fleet operators, the payoff is concrete: fewer vehicles covering the same ground, near-zero range-related failures, and ETAs accurate enough to commit to. AI does not replace the operator — it removes the guesswork, so the operator can run a larger, cleaner, more reliable fleet with the same team."}]}] +22:["$","$L1c","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Capture real operational data — deliveries, delays, charge cycles."}],["$","li","1",{"children":"Let models learn your city's actual travel and demand patterns."}],["$","li","2",{"children":"Validate every route against live battery capacity before dispatch."}],["$","li","3",{"children":"Re-optimise continuously as conditions change through the day."}]]}]}] +23:["$","$L1c","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The fleets pulling ahead are not the ones with the most vehicles — they are the ones with the smartest kilometre. That is the promise AI brings to last-mile EV delivery, and it is already on the road."}]}] +24:["$","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"}],["$","$L28",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L27",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 2025"}]]}]]}]}],["$","li","miletruth-ai-10-stages-to-smarter-dispatch",{"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L27",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":["$","$L1b",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":["$","$L27",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":["$","$L1b",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L27",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],"$L29"]}]}],"$L2a","$L2b","$L2c"]}]]}],"$L2d"]}]}] +26:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","span",null,{"className":"dm-prevnext-placeholder"}],["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","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":"Case Study"}],["$","span",null,{"className":"dm-prevnext-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L27",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","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":[["$","$L1c","why-mathematical-precision-beats-heuristics-in-routing",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L27",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","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":"Why Mathematical Precision Beats Heuristics in Routing"}],["$","p",null,{"className":"dm-related-card-excerpt","children":"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time."}],["$","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"}]]}]]}]]}]]}]}],["$","$L1c","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L27",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}],["$","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"}]]}]]}]]}]]}]}],["$","$L1c","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.16,"duration":0.7,"yOffset":30,"children":"$L2e"}]]}]]}],"$L2f"]}] +29:["$","span",null,{"className":"dm-blog-category-count","children":1}] +2a:["$","li","Operations",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2b:["$","li","Sustainability",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2c:["$","li","Technology",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}] +2d:["$","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."}],["$","$L1b",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"}]]}]]}]]}] +2e:["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L27",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."}],["$","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"}]]}]]}]]}]]}] +2f:["$","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."}]]}],["$","$L1b",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"}]]}]]}]]}] +12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +30:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +f:null +14:[["$","title","0",{"children":"How AI Is Transforming Last-Mile EV Delivery – Doormile"}],["$","meta","1",{"name":"description","content":"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"Technology,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/how-ai-is-transforming-last-mile-ev-delivery"}],["$","meta","6",{"property":"og:title","content":"How AI Is Transforming Last-Mile EV Delivery"}],["$","meta","7",{"property":"og:description","content":"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/how-ai-is-transforming-last-mile-ev-delivery"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-17.png"}],["$","meta","11",{"property":"og:image:alt","content":"How AI Is Transforming Last-Mile EV Delivery"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-10-02T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"How AI Is Transforming Last-Mile EV Delivery"}],["$","meta","17",{"name":"twitter:description","content":"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-17.png"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L30","23",{}]] diff --git a/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next._full.txt b/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next._full.txt new file mode 100644 index 0000000..17c66e0 --- /dev/null +++ b/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next._full.txt @@ -0,0 +1,531 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +e:"$Sreact.suspense" +11:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"P":null,"c":["","blog","how-ai-is-transforming-last-mile-ev-delivery"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","how-ai-is-transforming-last-mile-ev-delivery","d",null],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$Lc",[["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true,"nonce":"$undefined"}]],["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]]}],{},null,false,null]},null,false,"$@10"]},null,false,"$@10"]},null,false,null],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$e",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +16:[] +10:"$W16" +17: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
, 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); } +c:["$","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\":\"How AI Is Transforming Last-Mile EV Delivery\",\"description\":\"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-17.png\"],\"datePublished\":\"2025-10-02T00:00:00.000Z\",\"dateModified\":\"2025-10-02T00: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/how-ai-is-transforming-last-mile-ev-delivery\"},\"articleSection\":\"Technology\"}"}}],["$","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\":\"How AI Is Transforming Last-Mile EV Delivery\",\"item\":\"https://www.doormile.com/blog/how-ai-is-transforming-last-mile-ev-delivery\"}]}"}}],["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":[["$","article",null,{"className":"dm-single-blog","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$17"}}],"$L18","$L19"]}],"$L1a"]}]}]]}] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +1c:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +18:["$","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-17.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":"Technology"}],["$","h1",null,{"className":"dm-banner-title","children":"How AI Is Transforming Last-Mile EV Delivery"}]]}]}]}] +19:["$","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":["$","$L1b",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L1b",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":"How AI Is Transforming Last-Mile EV Delivery"}]]}]}],["$","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-10-02","children":"Oct 2, 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":"The last mile has always been logistics' most expensive and least predictable stretch. Add electric vehicles to the mix and the problem sharpens: now every route must respect not just time and capacity, but battery range. Artificial intelligence is what turns that constraint into an advantage."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L1c","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"For decades, last-mile delivery was planned the way it was a generation ago — dispatchers, spreadsheets, and hard-won intuition. That approach scales poorly, and it breaks entirely when you electrify the fleet. EVs introduce a moving constraint that no static plan can absorb: a vehicle's remaining range changes with load, terrain, traffic and temperature, all at once."}]}],["$","$L1c","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"The shift from rules to learning"}]}],["$","$L1c","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Traditional routing tools rely on fixed rules: nearest-stop-first, fixed zones, manual overrides. They are fast to set up and brittle in practice. Machine-learning-driven systems instead learn from outcomes — every completed delivery, every delay, every charge cycle becomes training signal that sharpens the next decision."}]}],["$","$L1c","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Demand forecasting that anticipates volume spikes before they hit the hub"}],["$","li","1",{"children":"Travel-time models trained on the city's real traffic, not generic averages"}],["$","li","2",{"children":"Battery-draw prediction tuned to each vehicle class and load profile"}],["$","li","3",{"children":"Continuous feedback that improves accuracy with every dispatch"}]]}]}],["$","$L1c","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"Real-time adaptation"}]}],["$","$L1c","5",{"delay":0,"duration":0.6,"yOffset":20,"children":"$L1d"}],"$L1e","$L1f","$L20","$L21","$L22","$L23"]}]]}],"$L24"]}]]}] +25: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%; } + } +1a:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$25"}}],"$L26"]}] +27:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +28:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"] +1d:["$","p",null,{"className":"dm-article-p","children":"The real unlock is not planning — it is replanning. When a road closes, an order is added, or a vehicle's charge drops faster than expected, an AI-driven system re-optimises in milliseconds and reroutes the affected vehicles without a human in the loop. The plan stays optimal even as reality refuses to hold still."}] +1e:["$","$L1c","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L27",null,{"src":"/images/ev-paradox.png","alt":"Electric delivery vehicle routing visualisation","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"AI continuously re-evaluates range, load and traffic to keep every EV route feasible."}]]}]}] +1f:["$","$L1c","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"An electric fleet is only as good as the intelligence that routes it. The battery sets the limit — the algorithm decides whether you ever reach it."}],["$","cite",null,{"children":["— ","Doormile Engineering"]}]]}]}] +20:["$","$L1c","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"What it means for operators"}]}] +21:["$","$L1c","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"For fleet operators, the payoff is concrete: fewer vehicles covering the same ground, near-zero range-related failures, and ETAs accurate enough to commit to. AI does not replace the operator — it removes the guesswork, so the operator can run a larger, cleaner, more reliable fleet with the same team."}]}] +22:["$","$L1c","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Capture real operational data — deliveries, delays, charge cycles."}],["$","li","1",{"children":"Let models learn your city's actual travel and demand patterns."}],["$","li","2",{"children":"Validate every route against live battery capacity before dispatch."}],["$","li","3",{"children":"Re-optimise continuously as conditions change through the day."}]]}]}] +23:["$","$L1c","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The fleets pulling ahead are not the ones with the most vehicles — they are the ones with the smartest kilometre. That is the promise AI brings to last-mile EV delivery, and it is already on the road."}]}] +24:["$","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"}],["$","$L28",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L27",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 2025"}]]}]]}]}],["$","li","miletruth-ai-10-stages-to-smarter-dispatch",{"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L27",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":["$","$L1b",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":["$","$L27",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":["$","$L1b",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L27",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],"$L29"]}]}],"$L2a","$L2b","$L2c"]}]]}],"$L2d"]}]}] +26:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","span",null,{"className":"dm-prevnext-placeholder"}],["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","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":"Case Study"}],["$","span",null,{"className":"dm-prevnext-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L27",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","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":[["$","$L1c","why-mathematical-precision-beats-heuristics-in-routing",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L27",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","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":"Why Mathematical Precision Beats Heuristics in Routing"}],["$","p",null,{"className":"dm-related-card-excerpt","children":"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time."}],["$","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"}]]}]]}]]}]]}]}],["$","$L1c","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L27",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}],["$","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"}]]}]]}]]}]]}]}],["$","$L1c","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.16,"duration":0.7,"yOffset":30,"children":"$L2e"}]]}]]}],"$L2f"]}] +29:["$","span",null,{"className":"dm-blog-category-count","children":1}] +2a:["$","li","Operations",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2b:["$","li","Sustainability",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2c:["$","li","Technology",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}] +2d:["$","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."}],["$","$L1b",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"}]]}]]}]]}] +2e:["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L27",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."}],["$","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"}]]}]]}]]}]]}] +2f:["$","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."}]]}],["$","$L1b",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"}]]}]]}]]}] +12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +30:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +f:null +14:[["$","title","0",{"children":"How AI Is Transforming Last-Mile EV Delivery – Doormile"}],["$","meta","1",{"name":"description","content":"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"Technology,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/how-ai-is-transforming-last-mile-ev-delivery"}],["$","meta","6",{"property":"og:title","content":"How AI Is Transforming Last-Mile EV Delivery"}],["$","meta","7",{"property":"og:description","content":"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/how-ai-is-transforming-last-mile-ev-delivery"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-17.png"}],["$","meta","11",{"property":"og:image:alt","content":"How AI Is Transforming Last-Mile EV Delivery"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-10-02T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"How AI Is Transforming Last-Mile EV Delivery"}],["$","meta","17",{"name":"twitter:description","content":"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-17.png"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L30","23",{}]] diff --git a/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next._head.txt b/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next._head.txt new file mode 100644 index 0000000..143f37d --- /dev/null +++ b/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next._head.txt @@ -0,0 +1,6 @@ +1:"$Sreact.fragment" +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +4:"$Sreact.suspense" +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"How AI Is Transforming Last-Mile EV Delivery – Doormile"}],["$","meta","1",{"name":"description","content":"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"Technology,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/how-ai-is-transforming-last-mile-ev-delivery"}],["$","meta","6",{"property":"og:title","content":"How AI Is Transforming Last-Mile EV Delivery"}],["$","meta","7",{"property":"og:description","content":"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/how-ai-is-transforming-last-mile-ev-delivery"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-17.png"}],["$","meta","11",{"property":"og:image:alt","content":"How AI Is Transforming Last-Mile EV Delivery"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-10-02T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"How AI Is Transforming Last-Mile EV Delivery"}],["$","meta","17",{"name":"twitter:description","content":"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-17.png"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","23",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next._index.txt b/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next._index.txt new file mode 100644 index 0000000..9c09249 --- /dev/null +++ b/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next._index.txt @@ -0,0 +1,15 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next._tree.txt b/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next._tree.txt new file mode 100644 index 0000000..4241b36 --- /dev/null +++ b/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next._tree.txt @@ -0,0 +1,9 @@ +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"blog","param":null,"prefetchHints":0,"slots":{"children":{"name":"slug","param":{"type":"d","key":"how-ai-is-transforming-last-mile-ev-delivery","siblings":null},"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next.blog.$d$slug.__PAGE__.txt b/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next.blog.$d$slug.__PAGE__.txt new file mode 100644 index 0000000..14ab339 --- /dev/null +++ b/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next.blog.$d$slug.__PAGE__.txt @@ -0,0 +1,506 @@ +1:"$Sreact.fragment" +8:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +9:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +14:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +15:"$Sreact.suspense" +17:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +18:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.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
, 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\":\"How AI Is Transforming Last-Mile EV Delivery\",\"description\":\"Machine learning and real-time data are reshaping how fleets plan, dispatch, and adapt — making every kilometre smarter than the last.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-17.png\"],\"datePublished\":\"2025-10-02T00:00:00.000Z\",\"dateModified\":\"2025-10-02T00: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/how-ai-is-transforming-last-mile-ev-delivery\"},\"articleSection\":\"Technology\"}"}}],["$","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\":\"How AI Is Transforming Last-Mile EV Delivery\",\"item\":\"https://www.doormile.com/blog/how-ai-is-transforming-last-mile-ev-delivery\"}]}"}}],["$","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":"TAuyMDUsvWIfF6U_s0MKe"} +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-17.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":"Technology"}],["$","h1",null,{"className":"dm-banner-title","children":"How AI Is Transforming Last-Mile EV Delivery"}]]}]}]}] +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":"How AI Is Transforming Last-Mile EV Delivery"}]]}]}],["$","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-10-02","children":"Oct 2, 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":"The last mile has always been logistics' most expensive and least predictable stretch. Add electric vehicles to the mix and the problem sharpens: now every route must respect not just time and capacity, but battery range. Artificial intelligence is what turns that constraint into an advantage."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L9","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"For decades, last-mile delivery was planned the way it was a generation ago — dispatchers, spreadsheets, and hard-won intuition. That approach scales poorly, and it breaks entirely when you electrify the fleet. EVs introduce a moving constraint that no static plan can absorb: a vehicle's remaining range changes with load, terrain, traffic and temperature, all at once."}]}],["$","$L9","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"The shift from rules to learning"}]}],["$","$L9","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Traditional routing tools rely on fixed rules: nearest-stop-first, fixed zones, manual overrides. They are fast to set up and brittle in practice. Machine-learning-driven systems instead learn from outcomes — every completed delivery, every delay, every charge cycle becomes training signal that sharpens the next decision."}]}],["$","$L9","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Demand forecasting that anticipates volume spikes before they hit the hub"}],["$","li","1",{"children":"Travel-time models trained on the city's real traffic, not generic averages"}],["$","li","2",{"children":"Battery-draw prediction tuned to each vehicle class and load profile"}],["$","li","3",{"children":"Continuous feedback that improves accuracy with every dispatch"}]]}]}],["$","$L9","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"Real-time adaptation"}]}],["$","$L9","5",{"delay":0,"duration":0.6,"yOffset":20,"children":"$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:["$","p",null,{"className":"dm-article-p","children":"The real unlock is not planning — it is replanning. When a road closes, an order is added, or a vehicle's charge drops faster than expected, an AI-driven system re-optimises in milliseconds and reroutes the affected vehicles without a human in the loop. The plan stays optimal even as reality refuses to hold still."}] +b:["$","$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/ev-paradox.png","alt":"Electric delivery vehicle routing visualisation","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"AI continuously re-evaluates range, load and traffic to keep every EV route feasible."}]]}]}] +c:["$","$L9","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"An electric fleet is only as good as the intelligence that routes it. The battery sets the limit — the algorithm decides whether you ever reach it."}],["$","cite",null,{"children":["— ","Doormile Engineering"]}]]}]}] +d:["$","$L9","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"What it means for operators"}]}] +e:["$","$L9","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"For fleet operators, the payoff is concrete: fewer vehicles covering the same ground, near-zero range-related failures, and ETAs accurate enough to commit to. AI does not replace the operator — it removes the guesswork, so the operator can run a larger, cleaner, more reliable fleet with the same team."}]}] +f:["$","$L9","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Capture real operational data — deliveries, delays, charge cycles."}],["$","li","1",{"children":"Let models learn your city's actual travel and demand patterns."}],["$","li","2",{"children":"Validate every route against live battery capacity before dispatch."}],["$","li","3",{"children":"Re-optimise continuously as conditions change through the day."}]]}]}] +10:["$","$L9","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The fleets pulling ahead are not the ones with the most vehicles — they are the ones with the smartest kilometre. That is the promise AI brings to last-mile EV delivery, and it is already on the road."}]}] +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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L8",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L17",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 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":[["$","span",null,{"className":"dm-prevnext-placeholder"}],["$","$L8",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","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":"Case Study"}],["$","span",null,{"className":"dm-prevnext-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L17",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","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","why-mathematical-precision-beats-heuristics-in-routing",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L8",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L17",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","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":"Why Mathematical Precision Beats Heuristics in Routing"}],["$","p",null,{"className":"dm-related-card-excerpt","children":"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time."}],["$","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","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L8",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L17",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}],["$","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.16,"duration":0.7,"yOffset":30,"children":"$L1e"}]]}]]}],"$L1f"]}] +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:["$","$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."}],["$","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:["$","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"}]]}]]}]]}] diff --git a/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next.blog.$d$slug.txt b/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next.blog.$d$slug.txt new file mode 100644 index 0000000..e7f2861 --- /dev/null +++ b/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next.blog.$d$slug.txt @@ -0,0 +1,5 @@ +1:"$Sreact.fragment" +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:[] +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next.blog.txt b/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next.blog.txt new file mode 100644 index 0000000..e7f2861 --- /dev/null +++ b/build/blog/how-ai-is-transforming-last-mile-ev-delivery/__next.blog.txt @@ -0,0 +1,5 @@ +1:"$Sreact.fragment" +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:[] +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale.html b/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale.html new file mode 100644 index 0000000..185d2bb --- /dev/null +++ b/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale.html @@ -0,0 +1,754 @@ +How Doormile Maintains 99.9% SLA Compliance at Scale – Doormile

Doormile

Doormile logo
Our Location

5th Floor, Vision Ultima, Street No.3, Jayabheri Enclave, Gachibowli, Hyderabad, Telangana 500032.

Contact Us

Tel : +91 86886 97941

Email

care@doormile.com

Operations

How Doormile Maintains 99.9% SLA Compliance at Scale

Doormile Team2 min read

An SLA you hit 99.9% of the time is not an average you got lucky on — it is a system designed so that missing is the exception, not the risk. Reliability, it turns out, is an engineering decision made long before dispatch.

In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. How Doormile Maintains 99.9% SLA Compliance at Scale looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road.

Why this matters for modern fleets

Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles.

  • Fewer vehicles deployed for the same delivery volume
  • Lower cost-per-drop through tighter, smarter sequencing
  • Predictable ETAs that protect customer trust and SLA targets
  • A cleaner, lower-emission footprint per parcel delivered

From data to decision

Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub.

How Doormile Maintains 99.9% SLA Compliance at Scale
Operations — operational intelligence applied at the point of dispatch.

We don't guess the route. We calculate it — and we prove it works before the wheels start turning.

Doormile Operations

Putting it into practice

The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle.

  1. Benchmark today's distance, fleet size and on-time rate.
  2. Feed real constraints — capacity, windows, charge — into the engine.
  3. Validate routes against real-world conditions before dispatch.
  4. Measure the delta, then scale the approach across hubs.

Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on.

\ No newline at end of file diff --git a/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale.txt b/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale.txt new file mode 100644 index 0000000..1b891cc --- /dev/null +++ b/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale.txt @@ -0,0 +1,531 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +e:"$Sreact.suspense" +11:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"P":null,"c":["","blog","how-doormile-maintains-99-9-sla-compliance-at-scale"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","how-doormile-maintains-99-9-sla-compliance-at-scale","d",null],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$Lc",[["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true,"nonce":"$undefined"}]],["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]]}],{},null,false,null]},null,false,"$@10"]},null,false,"$@10"]},null,false,null],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$e",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +16:[] +10:"$W16" +17: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
, 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); } +c:["$","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\":\"How Doormile Maintains 99.9% SLA Compliance at Scale\",\"description\":\"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint.\",\"image\":[\"https://www.doormile.com/images/last-mile-approach.jpg\"],\"datePublished\":\"2025-06-26T00:00:00.000Z\",\"dateModified\":\"2025-06-26T00: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/how-doormile-maintains-99-9-sla-compliance-at-scale\"},\"articleSection\":\"Operations\"}"}}],["$","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\":\"How Doormile Maintains 99.9% SLA Compliance at Scale\",\"item\":\"https://www.doormile.com/blog/how-doormile-maintains-99-9-sla-compliance-at-scale\"}]}"}}],["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":[["$","article",null,{"className":"dm-single-blog","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$17"}}],"$L18","$L19"]}],"$L1a"]}]}]]}] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +1c:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +18:["$","div",null,{"className":"custom-standard-hero-container","children":["$","div",null,{"className":"custom-standard-hero-card dm-banner-card","style":{"backgroundImage":"url(/images/last-mile-approach.jpg)","--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":"Operations"}],["$","h1",null,{"className":"dm-banner-title","children":"How Doormile Maintains 99.9% SLA Compliance at Scale"}]]}]}]}] +19:["$","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":["$","$L1b",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L1b",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":"How Doormile Maintains 99.9% SLA Compliance at Scale"}]]}]}],["$","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-06-26","children":"Jun 26, 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":"An SLA you hit 99.9% of the time is not an average you got lucky on — it is a system designed so that missing is the exception, not the risk. Reliability, it turns out, is an engineering decision made long before dispatch."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L1c","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. How Doormile Maintains 99.9% SLA Compliance at Scale looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road."}]}],["$","$L1c","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Why this matters for modern fleets"}]}],["$","$L1c","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."}]}],["$","$L1c","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Fewer vehicles deployed for the same delivery volume"}],["$","li","1",{"children":"Lower cost-per-drop through tighter, smarter sequencing"}],["$","li","2",{"children":"Predictable ETAs that protect customer trust and SLA targets"}],["$","li","3",{"children":"A cleaner, lower-emission footprint per parcel delivered"}]]}]}],["$","$L1c","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"From data to decision"}]}],["$","$L1c","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."}]}],"$L1d","$L1e","$L1f","$L20","$L21","$L22"]}]]}],"$L23"]}]]}] +24: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%; } + } +1a:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$24"}}],"$L25"]}] +26:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +27:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"] +1d:["$","$L1c","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L26",null,{"src":"/images/last-mile-approach.jpg","alt":"How Doormile Maintains 99.9% SLA Compliance at Scale","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"Operations — operational intelligence applied at the point of dispatch."}]]}]}] +1e:["$","$L1c","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"We don't guess the route. We calculate it — and we prove it works before the wheels start turning."}],["$","cite",null,{"children":["— ","Doormile Operations"]}]]}]}] +1f:["$","$L1c","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Putting it into practice"}]}] +20:["$","$L1c","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."}]}] +21:["$","$L1c","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Benchmark today's distance, fleet size and on-time rate."}],["$","li","1",{"children":"Feed real constraints — capacity, windows, charge — into the engine."}],["$","li","2",{"children":"Validate routes against real-world conditions before dispatch."}],["$","li","3",{"children":"Measure the delta, then scale the approach across hubs."}]]}]}] +22:["$","$L1c","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}]}] +23:["$","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"}],["$","$L27",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":["$","$L1b",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":["$","$L26",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 2025"}]]}]]}]}],["$","li","miletruth-ai-10-stages-to-smarter-dispatch",{"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",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":["$","$L1b",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":["$","$L26",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"}]]}]]}]}]]}]]}],["$","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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],"$L28","$L29","$L2a"]}]]}],"$L2b"]}]}] +25:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L1b",null,{"href":"/blog/building-a-greener-city-the-future-of-urban-logistics","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-6.jpeg","alt":"Building a Greener City: The Future of Urban Logistics","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":"Sustainability"}],["$","span",null,{"className":"dm-prevnext-title","children":"Building a Greener City: The Future of Urban Logistics"}]]}]]}],["$","$L1b",null,{"href":"/blog/battery-simulation-the-secret-to-ev-route-pre-validation","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":"EV Fleet"}],["$","span",null,{"className":"dm-prevnext-title","children":"Battery Simulation: The Secret to EV Route Pre-Validation"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-3.jpeg","alt":"Battery Simulation: The Secret to EV Route Pre-Validation","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":[["$","$L1c","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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"}]]}]]}]]}]]}]}],["$","$L1c","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],"$L2c","$L2d"]}]]}]}],"$L2e"]}]]}],"$L2f"]}] +28:["$","li","Operations",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +29:["$","li","Sustainability",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2a:["$","li","Technology",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}] +2b:["$","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."}],["$","$L1b",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"}]]}]]}]]}] +2c:["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}] +2d:["$","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"}]]}]]}] +2e:["$","$L1c","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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."}],["$","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"}]]}]]}]]}]]}]}] +2f:["$","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."}]]}],["$","$L1b",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"}]]}]]}]]}] +12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +30:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +f:null +14:[["$","title","0",{"children":"How Doormile Maintains 99.9% SLA Compliance at Scale – Doormile"}],["$","meta","1",{"name":"description","content":"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"Operations,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/how-doormile-maintains-99-9-sla-compliance-at-scale"}],["$","meta","6",{"property":"og:title","content":"How Doormile Maintains 99.9% SLA Compliance at Scale"}],["$","meta","7",{"property":"og:description","content":"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/how-doormile-maintains-99-9-sla-compliance-at-scale"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/last-mile-approach.jpg"}],["$","meta","11",{"property":"og:image:alt","content":"How Doormile Maintains 99.9% SLA Compliance at Scale"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-06-26T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"How Doormile Maintains 99.9% SLA Compliance at Scale"}],["$","meta","17",{"name":"twitter:description","content":"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/last-mile-approach.jpg"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L30","23",{}]] diff --git a/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next._full.txt b/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next._full.txt new file mode 100644 index 0000000..1b891cc --- /dev/null +++ b/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next._full.txt @@ -0,0 +1,531 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +e:"$Sreact.suspense" +11:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"P":null,"c":["","blog","how-doormile-maintains-99-9-sla-compliance-at-scale"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","how-doormile-maintains-99-9-sla-compliance-at-scale","d",null],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$Lc",[["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true,"nonce":"$undefined"}]],["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]]}],{},null,false,null]},null,false,"$@10"]},null,false,"$@10"]},null,false,null],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$e",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +16:[] +10:"$W16" +17: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
, 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); } +c:["$","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\":\"How Doormile Maintains 99.9% SLA Compliance at Scale\",\"description\":\"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint.\",\"image\":[\"https://www.doormile.com/images/last-mile-approach.jpg\"],\"datePublished\":\"2025-06-26T00:00:00.000Z\",\"dateModified\":\"2025-06-26T00: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/how-doormile-maintains-99-9-sla-compliance-at-scale\"},\"articleSection\":\"Operations\"}"}}],["$","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\":\"How Doormile Maintains 99.9% SLA Compliance at Scale\",\"item\":\"https://www.doormile.com/blog/how-doormile-maintains-99-9-sla-compliance-at-scale\"}]}"}}],["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":[["$","article",null,{"className":"dm-single-blog","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$17"}}],"$L18","$L19"]}],"$L1a"]}]}]]}] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +1c:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +18:["$","div",null,{"className":"custom-standard-hero-container","children":["$","div",null,{"className":"custom-standard-hero-card dm-banner-card","style":{"backgroundImage":"url(/images/last-mile-approach.jpg)","--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":"Operations"}],["$","h1",null,{"className":"dm-banner-title","children":"How Doormile Maintains 99.9% SLA Compliance at Scale"}]]}]}]}] +19:["$","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":["$","$L1b",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L1b",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":"How Doormile Maintains 99.9% SLA Compliance at Scale"}]]}]}],["$","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-06-26","children":"Jun 26, 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":"An SLA you hit 99.9% of the time is not an average you got lucky on — it is a system designed so that missing is the exception, not the risk. Reliability, it turns out, is an engineering decision made long before dispatch."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L1c","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. How Doormile Maintains 99.9% SLA Compliance at Scale looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road."}]}],["$","$L1c","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Why this matters for modern fleets"}]}],["$","$L1c","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."}]}],["$","$L1c","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Fewer vehicles deployed for the same delivery volume"}],["$","li","1",{"children":"Lower cost-per-drop through tighter, smarter sequencing"}],["$","li","2",{"children":"Predictable ETAs that protect customer trust and SLA targets"}],["$","li","3",{"children":"A cleaner, lower-emission footprint per parcel delivered"}]]}]}],["$","$L1c","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"From data to decision"}]}],["$","$L1c","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."}]}],"$L1d","$L1e","$L1f","$L20","$L21","$L22"]}]]}],"$L23"]}]]}] +24: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%; } + } +1a:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$24"}}],"$L25"]}] +26:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +27:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"] +1d:["$","$L1c","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L26",null,{"src":"/images/last-mile-approach.jpg","alt":"How Doormile Maintains 99.9% SLA Compliance at Scale","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"Operations — operational intelligence applied at the point of dispatch."}]]}]}] +1e:["$","$L1c","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"We don't guess the route. We calculate it — and we prove it works before the wheels start turning."}],["$","cite",null,{"children":["— ","Doormile Operations"]}]]}]}] +1f:["$","$L1c","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Putting it into practice"}]}] +20:["$","$L1c","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."}]}] +21:["$","$L1c","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Benchmark today's distance, fleet size and on-time rate."}],["$","li","1",{"children":"Feed real constraints — capacity, windows, charge — into the engine."}],["$","li","2",{"children":"Validate routes against real-world conditions before dispatch."}],["$","li","3",{"children":"Measure the delta, then scale the approach across hubs."}]]}]}] +22:["$","$L1c","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}]}] +23:["$","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"}],["$","$L27",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":["$","$L1b",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":["$","$L26",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 2025"}]]}]]}]}],["$","li","miletruth-ai-10-stages-to-smarter-dispatch",{"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",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":["$","$L1b",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":["$","$L26",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"}]]}]]}]}]]}]]}],["$","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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],"$L28","$L29","$L2a"]}]]}],"$L2b"]}]}] +25:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L1b",null,{"href":"/blog/building-a-greener-city-the-future-of-urban-logistics","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-6.jpeg","alt":"Building a Greener City: The Future of Urban Logistics","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":"Sustainability"}],["$","span",null,{"className":"dm-prevnext-title","children":"Building a Greener City: The Future of Urban Logistics"}]]}]]}],["$","$L1b",null,{"href":"/blog/battery-simulation-the-secret-to-ev-route-pre-validation","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":"EV Fleet"}],["$","span",null,{"className":"dm-prevnext-title","children":"Battery Simulation: The Secret to EV Route Pre-Validation"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-3.jpeg","alt":"Battery Simulation: The Secret to EV Route Pre-Validation","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":[["$","$L1c","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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"}]]}]]}]]}]]}]}],["$","$L1c","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],"$L2c","$L2d"]}]]}]}],"$L2e"]}]]}],"$L2f"]}] +28:["$","li","Operations",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +29:["$","li","Sustainability",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2a:["$","li","Technology",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}] +2b:["$","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."}],["$","$L1b",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"}]]}]]}]]}] +2c:["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}] +2d:["$","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"}]]}]]}] +2e:["$","$L1c","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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."}],["$","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"}]]}]]}]]}]]}]}] +2f:["$","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."}]]}],["$","$L1b",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"}]]}]]}]]}] +12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +30:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +f:null +14:[["$","title","0",{"children":"How Doormile Maintains 99.9% SLA Compliance at Scale – Doormile"}],["$","meta","1",{"name":"description","content":"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"Operations,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/how-doormile-maintains-99-9-sla-compliance-at-scale"}],["$","meta","6",{"property":"og:title","content":"How Doormile Maintains 99.9% SLA Compliance at Scale"}],["$","meta","7",{"property":"og:description","content":"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/how-doormile-maintains-99-9-sla-compliance-at-scale"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/last-mile-approach.jpg"}],["$","meta","11",{"property":"og:image:alt","content":"How Doormile Maintains 99.9% SLA Compliance at Scale"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-06-26T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"How Doormile Maintains 99.9% SLA Compliance at Scale"}],["$","meta","17",{"name":"twitter:description","content":"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/last-mile-approach.jpg"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L30","23",{}]] diff --git a/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next._head.txt b/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next._head.txt new file mode 100644 index 0000000..fc6677b --- /dev/null +++ b/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next._head.txt @@ -0,0 +1,6 @@ +1:"$Sreact.fragment" +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +4:"$Sreact.suspense" +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"How Doormile Maintains 99.9% SLA Compliance at Scale – Doormile"}],["$","meta","1",{"name":"description","content":"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"Operations,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/how-doormile-maintains-99-9-sla-compliance-at-scale"}],["$","meta","6",{"property":"og:title","content":"How Doormile Maintains 99.9% SLA Compliance at Scale"}],["$","meta","7",{"property":"og:description","content":"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/how-doormile-maintains-99-9-sla-compliance-at-scale"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/last-mile-approach.jpg"}],["$","meta","11",{"property":"og:image:alt","content":"How Doormile Maintains 99.9% SLA Compliance at Scale"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-06-26T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"How Doormile Maintains 99.9% SLA Compliance at Scale"}],["$","meta","17",{"name":"twitter:description","content":"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/last-mile-approach.jpg"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","23",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next._index.txt b/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next._index.txt new file mode 100644 index 0000000..9c09249 --- /dev/null +++ b/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next._index.txt @@ -0,0 +1,15 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next._tree.txt b/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next._tree.txt new file mode 100644 index 0000000..9df934c --- /dev/null +++ b/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next._tree.txt @@ -0,0 +1,9 @@ +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"blog","param":null,"prefetchHints":0,"slots":{"children":{"name":"slug","param":{"type":"d","key":"how-doormile-maintains-99-9-sla-compliance-at-scale","siblings":null},"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next.blog.$d$slug.__PAGE__.txt b/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next.blog.$d$slug.__PAGE__.txt new file mode 100644 index 0000000..5a8438c --- /dev/null +++ b/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next.blog.$d$slug.__PAGE__.txt @@ -0,0 +1,506 @@ +1:"$Sreact.fragment" +8:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +9:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +14:"$Sreact.suspense" +16:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +17:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.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
, 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\":\"How Doormile Maintains 99.9% SLA Compliance at Scale\",\"description\":\"Hitting SLA targets 99.9% of the time isn't luck — it's the product of ETA pre-validation, real-time rebalancing, and a routing engine built with delivery reliability as its first constraint.\",\"image\":[\"https://www.doormile.com/images/last-mile-approach.jpg\"],\"datePublished\":\"2025-06-26T00:00:00.000Z\",\"dateModified\":\"2025-06-26T00: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/how-doormile-maintains-99-9-sla-compliance-at-scale\"},\"articleSection\":\"Operations\"}"}}],["$","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\":\"How Doormile Maintains 99.9% SLA Compliance at Scale\",\"item\":\"https://www.doormile.com/blog/how-doormile-maintains-99-9-sla-compliance-at-scale\"}]}"}}],["$","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":"TAuyMDUsvWIfF6U_s0MKe"} +3:["$","div",null,{"className":"custom-standard-hero-container","children":["$","div",null,{"className":"custom-standard-hero-card dm-banner-card","style":{"backgroundImage":"url(/images/last-mile-approach.jpg)","--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":"Operations"}],["$","h1",null,{"className":"dm-banner-title","children":"How Doormile Maintains 99.9% SLA Compliance at Scale"}]]}]}]}] +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":"How Doormile Maintains 99.9% SLA Compliance at Scale"}]]}]}],["$","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-06-26","children":"Jun 26, 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":"An SLA you hit 99.9% of the time is not an average you got lucky on — it is a system designed so that missing is the exception, not the risk. Reliability, it turns out, is an engineering decision made long before dispatch."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L9","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. How Doormile Maintains 99.9% SLA Compliance at Scale looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road."}]}],["$","$L9","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Why this matters for modern fleets"}]}],["$","$L9","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."}]}],["$","$L9","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Fewer vehicles deployed for the same delivery volume"}],["$","li","1",{"children":"Lower cost-per-drop through tighter, smarter sequencing"}],["$","li","2",{"children":"Predictable ETAs that protect customer trust and SLA targets"}],["$","li","3",{"children":"A cleaner, lower-emission footprint per parcel delivered"}]]}]}],["$","$L9","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"From data to decision"}]}],["$","$L9","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."}]}],"$La","$Lb","$Lc","$Ld","$Le","$Lf"]}]]}],"$L10"]}]]}] +11: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":"$11"}}],"$L12"]}] +6:["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true}] +7:["$","$L13",null,{"children":["$","$14",null,{"name":"Next.MetadataOutlet","children":"$@15"}]}] +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":["$","$L16",null,{"src":"/images/last-mile-approach.jpg","alt":"How Doormile Maintains 99.9% SLA Compliance at Scale","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"Operations — operational intelligence applied at the point of dispatch."}]]}]}] +b:["$","$L9","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"We don't guess the route. We calculate it — and we prove it works before the wheels start turning."}],["$","cite",null,{"children":["— ","Doormile Operations"]}]]}]}] +c:["$","$L9","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Putting it into practice"}]}] +d:["$","$L9","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."}]}] +e:["$","$L9","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Benchmark today's distance, fleet size and on-time rate."}],["$","li","1",{"children":"Feed real constraints — capacity, windows, charge — into the engine."}],["$","li","2",{"children":"Validate routes against real-world conditions before dispatch."}],["$","li","3",{"children":"Measure the delta, then scale the approach across hubs."}]]}]}] +f:["$","$L9","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}]}] +10:["$","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"}],["$","$L17",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":["$","$L16",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L8",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L16",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 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":["$","$L16",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":["$","$L16",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"}]]}]]}]}]]}]]}],["$","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"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],"$L18","$L19","$L1a"]}]]}],"$L1b"]}]}] +12:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L8",null,{"href":"/blog/building-a-greener-city-the-future-of-urban-logistics","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L16",null,{"src":"/images/blog-post-pic-6.jpeg","alt":"Building a Greener City: The Future of Urban Logistics","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":"Sustainability"}],["$","span",null,{"className":"dm-prevnext-title","children":"Building a Greener City: The Future of Urban Logistics"}]]}]]}],["$","$L8",null,{"href":"/blog/battery-simulation-the-secret-to-ev-route-pre-validation","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":"EV Fleet"}],["$","span",null,{"className":"dm-prevnext-title","children":"Battery Simulation: The Secret to EV Route Pre-Validation"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L16",null,{"src":"/images/blog-post-pic-3.jpeg","alt":"Battery Simulation: The Secret to EV Route Pre-Validation","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":[["$","$L16",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","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L8",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L16",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],"$L1c","$L1d"]}]]}]}],"$L1e"]}]]}],"$L1f"]}] +15:null +18:["$","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}]]}]}] +19:["$","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}]]}]}] +1a:["$","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}]]}]}] +1b:["$","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"}]]}]]}]]}] +1c:["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}] +1d:["$","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"}]]}]]}] +1e:["$","$L9","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.16,"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":[["$","$L16",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."}],["$","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:["$","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"}]]}]]}]]}] diff --git a/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next.blog.$d$slug.txt b/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next.blog.$d$slug.txt new file mode 100644 index 0000000..e7f2861 --- /dev/null +++ b/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next.blog.$d$slug.txt @@ -0,0 +1,5 @@ +1:"$Sreact.fragment" +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:[] +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next.blog.txt b/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next.blog.txt new file mode 100644 index 0000000..e7f2861 --- /dev/null +++ b/build/blog/how-doormile-maintains-99-9-sla-compliance-at-scale/__next.blog.txt @@ -0,0 +1,5 @@ +1:"$Sreact.fragment" +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:[] +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/miletruth-ai-10-stages-to-smarter-dispatch.html b/build/blog/miletruth-ai-10-stages-to-smarter-dispatch.html new file mode 100644 index 0000000..3ca00a1 --- /dev/null +++ b/build/blog/miletruth-ai-10-stages-to-smarter-dispatch.html @@ -0,0 +1,754 @@ +MileTruth™ AI — 10 Stages to Smarter Dispatch – Doormile

Doormile

Doormile logo
Our Location

5th Floor, Vision Ultima, Street No.3, Jayabheri Enclave, Gachibowli, Hyderabad, Telangana 500032.

Contact Us

Tel : +91 86886 97941

Email

care@doormile.com

MileTruth

MileTruth™ AI — 10 Stages to Smarter Dispatch

Doormile Team2 min read

Behind every Doormile dispatch is a pipeline that turns raw orders into a validated, optimal route in under 45 milliseconds. This is how MileTruth™ does it — ten stages, each one removing a source of error before the next begins.

Speed and correctness are usually a trade-off. MileTruth is engineered to deliver both: a routing decision fast enough to feel instant, yet rigorous enough to commit a fleet to. The secret is a staged pipeline where each step has a single responsibility and hands clean, validated data to the next.

The ten stages

  1. Ingestion — orders, constraints and fleet state are normalised on arrival.
  2. Validation — addresses, time windows and capacities are checked and geocoded.
  3. Demand modelling — volume and service-time estimates are attached to each stop.
  4. Travel-time estimation — real-world, time-of-day travel matrices are built.
  5. Constraint assembly — capacity, range, windows and rules are encoded.
  6. Strategy generation — multiple routing universes are explored in parallel.
  7. Optimisation — the solver searches for the minimum-cost feasible plan.
  8. Battery / range validation — EV routes are checked against real charge capacity.
  9. ETA pre-validation — promised times are verified before any commitment.
  10. Output — the final, validated route is emitted to dispatch.

Why staging matters

Collapsing these steps into one monolithic calculation is how most tools accumulate hidden errors. By isolating each concern, MileTruth catches a bad address before it reaches the solver, and an infeasible battery plan before it reaches a rider. Each stage is independently testable, observable and fast.

MileTruth routing pipeline diagram
Ten focused stages turn raw orders into a validated route in well under 45 milliseconds.

Each stage exists to delete a category of mistake. By the time a route reaches dispatch, the questionable decisions have already been ruled out.

MileTruth Engineering

Parallel strategy universes

Stage six is where MileTruth diverges from conventional routers. Rather than committing to one heuristic, it generates several distinct routing strategies simultaneously — each a complete candidate plan — and lets the optimiser select the best. Powered by a mathematical solver, it evaluates trade-offs no dispatcher could hold in their head.

  • Multiple candidate plans evaluated, not a single best guess
  • Mathematical optimisation instead of fixed heuristics
  • Range and ETA validated inside the loop, not bolted on after
  • Sub-45ms output that keeps dispatch genuinely real-time

Ten stages, one outcome: a route you can trust enough to commit a fleet to — calculated, validated, and delivered before a dispatcher could finish reading the order list.

\ No newline at end of file diff --git a/build/blog/miletruth-ai-10-stages-to-smarter-dispatch.txt b/build/blog/miletruth-ai-10-stages-to-smarter-dispatch.txt new file mode 100644 index 0000000..16a4f9b --- /dev/null +++ b/build/blog/miletruth-ai-10-stages-to-smarter-dispatch.txt @@ -0,0 +1,533 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +e:"$Sreact.suspense" +11:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"P":null,"c":["","blog","miletruth-ai-10-stages-to-smarter-dispatch"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","miletruth-ai-10-stages-to-smarter-dispatch","d",null],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$Lc",[["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true,"nonce":"$undefined"}]],["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]]}],{},null,false,null]},null,false,"$@10"]},null,false,"$@10"]},null,false,null],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$e",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +16:[] +10:"$W16" +17: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
, 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); } +c:["$","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\":\"MileTruth™ AI — 10 Stages to Smarter Dispatch\",\"description\":\"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.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-31.png\"],\"datePublished\":\"2025-09-05T00:00:00.000Z\",\"dateModified\":\"2025-09-05T00: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/miletruth-ai-10-stages-to-smarter-dispatch\"},\"articleSection\":\"MileTruth\"}"}}],["$","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\":\"MileTruth™ AI — 10 Stages to Smarter Dispatch\",\"item\":\"https://www.doormile.com/blog/miletruth-ai-10-stages-to-smarter-dispatch\"}]}"}}],["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":[["$","article",null,{"className":"dm-single-blog","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$17"}}],"$L18","$L19"]}],"$L1a"]}]}]]}] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +1c:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +18:["$","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-31.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":"MileTruth"}],["$","h1",null,{"className":"dm-banner-title","children":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}]]}]}]}] +19:["$","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":["$","$L1b",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L1b",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":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}]]}]}],["$","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-05","children":"Sep 5, 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":"Behind every Doormile dispatch is a pipeline that turns raw orders into a validated, optimal route in under 45 milliseconds. This is how MileTruth™ does it — ten stages, each one removing a source of error before the next begins."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L1c","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Speed and correctness are usually a trade-off. MileTruth is engineered to deliver both: a routing decision fast enough to feel instant, yet rigorous enough to commit a fleet to. The secret is a staged pipeline where each step has a single responsibility and hands clean, validated data to the next."}]}],["$","$L1c","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"The ten stages"}]}],["$","$L1c","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Ingestion — orders, constraints and fleet state are normalised on arrival."}],["$","li","1",{"children":"Validation — addresses, time windows and capacities are checked and geocoded."}],["$","li","2",{"children":"Demand modelling — volume and service-time estimates are attached to each stop."}],["$","li","3",{"children":"Travel-time estimation — real-world, time-of-day travel matrices are built."}],["$","li","4",{"children":"Constraint assembly — capacity, range, windows and rules are encoded."}],["$","li","5",{"children":"Strategy generation — multiple routing universes are explored in parallel."}],["$","li","6",{"children":"Optimisation — the solver searches for the minimum-cost feasible plan."}],["$","li","7",{"children":"Battery / range validation — EV routes are checked against real charge capacity."}],["$","li","8",{"children":"ETA pre-validation — promised times are verified before any commitment."}],["$","li","9",{"children":"Output — the final, validated route is emitted to dispatch."}]]}]}],["$","$L1c","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"Why staging matters"}]}],["$","$L1c","4",{"delay":0,"duration":0.6,"yOffset":20,"children":"$L1d"}],"$L1e","$L1f","$L20","$L21","$L22","$L23"]}]]}],"$L24"]}]]}] +25: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%; } + } +1a:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$25"}}],"$L26"]}] +27:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +28:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"] +1d:["$","p",null,{"className":"dm-article-p","children":"Collapsing these steps into one monolithic calculation is how most tools accumulate hidden errors. By isolating each concern, MileTruth catches a bad address before it reaches the solver, and an infeasible battery plan before it reaches a rider. Each stage is independently testable, observable and fast."}] +1e:["$","$L1c","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L27",null,{"src":"/images/blog-post-pic-31.png","alt":"MileTruth routing pipeline diagram","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"Ten focused stages turn raw orders into a validated route in well under 45 milliseconds."}]]}]}] +1f:["$","$L1c","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"Each stage exists to delete a category of mistake. By the time a route reaches dispatch, the questionable decisions have already been ruled out."}],["$","cite",null,{"children":["— ","MileTruth Engineering"]}]]}]}] +20:["$","$L1c","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Parallel strategy universes"}]}] +21:["$","$L1c","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Stage six is where MileTruth diverges from conventional routers. Rather than committing to one heuristic, it generates several distinct routing strategies simultaneously — each a complete candidate plan — and lets the optimiser select the best. Powered by a mathematical solver, it evaluates trade-offs no dispatcher could hold in their head."}]}] +22:["$","$L1c","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Multiple candidate plans evaluated, not a single best guess"}],["$","li","1",{"children":"Mathematical optimisation instead of fixed heuristics"}],["$","li","2",{"children":"Range and ETA validated inside the loop, not bolted on after"}],["$","li","3",{"children":"Sub-45ms output that keeps dispatch genuinely real-time"}]]}]}] +23:["$","$L1c","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Ten stages, one outcome: a route you can trust enough to commit a fleet to — calculated, validated, and delivered before a dispatcher could finish reading the order list."}]}] +24:["$","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"}],["$","$L28",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":["$","$L1b",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":["$","$L27",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L27",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 2025"}]]}]]}]}],["$","li","the-ev-paradox-solving-range-anxiety-for-urban-fleets",{"children":["$","$L1b",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":["$","$L27",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":["$","$L1b",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L27",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],"$L29"]}]}],"$L2a","$L2b","$L2c"]}]]}],"$L2d"]}]}] +26:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L27",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","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":"Case Study"}],["$","span",null,{"className":"dm-prevnext-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}]]}]]}],["$","$L1b",null,{"href":"/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets","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":"EV Fleet"}],["$","span",null,{"className":"dm-prevnext-title","children":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L27",null,{"src":"/images/ev-paradox.png","alt":"The EV Paradox: Solving Range Anxiety for Urban Fleets","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":[["$","$L1c","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L27",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"}]]}]]}]]}]]}]}],["$","$L1c","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L27",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],"$L2e","$L2f"]}]]}]}],"$L30"]}]]}],"$L31"]}] +29:["$","span",null,{"className":"dm-blog-category-count","children":1}] +2a:["$","li","Operations",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2b:["$","li","Sustainability",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2c:["$","li","Technology",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}] +2d:["$","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."}],["$","$L1b",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"}]]}]]}]]}] +2e:["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}] +2f:["$","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"}]]}]]}] +30:["$","$L1c","the-ev-paradox-solving-range-anxiety-for-urban-fleets",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L27",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"}]]}]]}]]}]]}]}] +31:["$","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."}]]}],["$","$L1b",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"}]]}]]}]]}] +12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +32:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +f:null +14:[["$","title","0",{"children":"MileTruth™ AI — 10 Stages to Smarter Dispatch – Doormile"}],["$","meta","1",{"name":"description","content":"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."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"MileTruth,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/miletruth-ai-10-stages-to-smarter-dispatch"}],["$","meta","6",{"property":"og:title","content":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}],["$","meta","7",{"property":"og:description","content":"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."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/miletruth-ai-10-stages-to-smarter-dispatch"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-31.png"}],["$","meta","11",{"property":"og:image:alt","content":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-09-05T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}],["$","meta","17",{"name":"twitter:description","content":"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."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-31.png"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L32","23",{}]] diff --git a/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next._full.txt b/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next._full.txt new file mode 100644 index 0000000..16a4f9b --- /dev/null +++ b/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next._full.txt @@ -0,0 +1,533 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +e:"$Sreact.suspense" +11:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"P":null,"c":["","blog","miletruth-ai-10-stages-to-smarter-dispatch"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","miletruth-ai-10-stages-to-smarter-dispatch","d",null],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$Lc",[["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true,"nonce":"$undefined"}]],["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]]}],{},null,false,null]},null,false,"$@10"]},null,false,"$@10"]},null,false,null],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$e",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +16:[] +10:"$W16" +17: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
, 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); } +c:["$","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\":\"MileTruth™ AI — 10 Stages to Smarter Dispatch\",\"description\":\"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.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-31.png\"],\"datePublished\":\"2025-09-05T00:00:00.000Z\",\"dateModified\":\"2025-09-05T00: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/miletruth-ai-10-stages-to-smarter-dispatch\"},\"articleSection\":\"MileTruth\"}"}}],["$","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\":\"MileTruth™ AI — 10 Stages to Smarter Dispatch\",\"item\":\"https://www.doormile.com/blog/miletruth-ai-10-stages-to-smarter-dispatch\"}]}"}}],["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":[["$","article",null,{"className":"dm-single-blog","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$17"}}],"$L18","$L19"]}],"$L1a"]}]}]]}] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +1c:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +18:["$","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-31.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":"MileTruth"}],["$","h1",null,{"className":"dm-banner-title","children":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}]]}]}]}] +19:["$","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":["$","$L1b",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L1b",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":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}]]}]}],["$","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-05","children":"Sep 5, 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":"Behind every Doormile dispatch is a pipeline that turns raw orders into a validated, optimal route in under 45 milliseconds. This is how MileTruth™ does it — ten stages, each one removing a source of error before the next begins."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L1c","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Speed and correctness are usually a trade-off. MileTruth is engineered to deliver both: a routing decision fast enough to feel instant, yet rigorous enough to commit a fleet to. The secret is a staged pipeline where each step has a single responsibility and hands clean, validated data to the next."}]}],["$","$L1c","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"The ten stages"}]}],["$","$L1c","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Ingestion — orders, constraints and fleet state are normalised on arrival."}],["$","li","1",{"children":"Validation — addresses, time windows and capacities are checked and geocoded."}],["$","li","2",{"children":"Demand modelling — volume and service-time estimates are attached to each stop."}],["$","li","3",{"children":"Travel-time estimation — real-world, time-of-day travel matrices are built."}],["$","li","4",{"children":"Constraint assembly — capacity, range, windows and rules are encoded."}],["$","li","5",{"children":"Strategy generation — multiple routing universes are explored in parallel."}],["$","li","6",{"children":"Optimisation — the solver searches for the minimum-cost feasible plan."}],["$","li","7",{"children":"Battery / range validation — EV routes are checked against real charge capacity."}],["$","li","8",{"children":"ETA pre-validation — promised times are verified before any commitment."}],["$","li","9",{"children":"Output — the final, validated route is emitted to dispatch."}]]}]}],["$","$L1c","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"Why staging matters"}]}],["$","$L1c","4",{"delay":0,"duration":0.6,"yOffset":20,"children":"$L1d"}],"$L1e","$L1f","$L20","$L21","$L22","$L23"]}]]}],"$L24"]}]]}] +25: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%; } + } +1a:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$25"}}],"$L26"]}] +27:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +28:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"] +1d:["$","p",null,{"className":"dm-article-p","children":"Collapsing these steps into one monolithic calculation is how most tools accumulate hidden errors. By isolating each concern, MileTruth catches a bad address before it reaches the solver, and an infeasible battery plan before it reaches a rider. Each stage is independently testable, observable and fast."}] +1e:["$","$L1c","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L27",null,{"src":"/images/blog-post-pic-31.png","alt":"MileTruth routing pipeline diagram","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"Ten focused stages turn raw orders into a validated route in well under 45 milliseconds."}]]}]}] +1f:["$","$L1c","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"Each stage exists to delete a category of mistake. By the time a route reaches dispatch, the questionable decisions have already been ruled out."}],["$","cite",null,{"children":["— ","MileTruth Engineering"]}]]}]}] +20:["$","$L1c","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Parallel strategy universes"}]}] +21:["$","$L1c","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Stage six is where MileTruth diverges from conventional routers. Rather than committing to one heuristic, it generates several distinct routing strategies simultaneously — each a complete candidate plan — and lets the optimiser select the best. Powered by a mathematical solver, it evaluates trade-offs no dispatcher could hold in their head."}]}] +22:["$","$L1c","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Multiple candidate plans evaluated, not a single best guess"}],["$","li","1",{"children":"Mathematical optimisation instead of fixed heuristics"}],["$","li","2",{"children":"Range and ETA validated inside the loop, not bolted on after"}],["$","li","3",{"children":"Sub-45ms output that keeps dispatch genuinely real-time"}]]}]}] +23:["$","$L1c","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Ten stages, one outcome: a route you can trust enough to commit a fleet to — calculated, validated, and delivered before a dispatcher could finish reading the order list."}]}] +24:["$","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"}],["$","$L28",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":["$","$L1b",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":["$","$L27",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L27",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 2025"}]]}]]}]}],["$","li","the-ev-paradox-solving-range-anxiety-for-urban-fleets",{"children":["$","$L1b",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":["$","$L27",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":["$","$L1b",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L27",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],"$L29"]}]}],"$L2a","$L2b","$L2c"]}]]}],"$L2d"]}]}] +26:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L27",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","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":"Case Study"}],["$","span",null,{"className":"dm-prevnext-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}]]}]]}],["$","$L1b",null,{"href":"/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets","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":"EV Fleet"}],["$","span",null,{"className":"dm-prevnext-title","children":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L27",null,{"src":"/images/ev-paradox.png","alt":"The EV Paradox: Solving Range Anxiety for Urban Fleets","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":[["$","$L1c","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L27",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"}]]}]]}]]}]]}]}],["$","$L1c","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L27",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],"$L2e","$L2f"]}]]}]}],"$L30"]}]]}],"$L31"]}] +29:["$","span",null,{"className":"dm-blog-category-count","children":1}] +2a:["$","li","Operations",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2b:["$","li","Sustainability",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2c:["$","li","Technology",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}] +2d:["$","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."}],["$","$L1b",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"}]]}]]}]]}] +2e:["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}] +2f:["$","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"}]]}]]}] +30:["$","$L1c","the-ev-paradox-solving-range-anxiety-for-urban-fleets",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L27",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"}]]}]]}]]}]]}]}] +31:["$","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."}]]}],["$","$L1b",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"}]]}]]}]]}] +12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +32:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +f:null +14:[["$","title","0",{"children":"MileTruth™ AI — 10 Stages to Smarter Dispatch – Doormile"}],["$","meta","1",{"name":"description","content":"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."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"MileTruth,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/miletruth-ai-10-stages-to-smarter-dispatch"}],["$","meta","6",{"property":"og:title","content":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}],["$","meta","7",{"property":"og:description","content":"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."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/miletruth-ai-10-stages-to-smarter-dispatch"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-31.png"}],["$","meta","11",{"property":"og:image:alt","content":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-09-05T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}],["$","meta","17",{"name":"twitter:description","content":"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."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-31.png"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L32","23",{}]] diff --git a/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next._head.txt b/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next._head.txt new file mode 100644 index 0000000..0272158 --- /dev/null +++ b/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next._head.txt @@ -0,0 +1,6 @@ +1:"$Sreact.fragment" +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +4:"$Sreact.suspense" +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"MileTruth™ AI — 10 Stages to Smarter Dispatch – Doormile"}],["$","meta","1",{"name":"description","content":"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."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"MileTruth,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/miletruth-ai-10-stages-to-smarter-dispatch"}],["$","meta","6",{"property":"og:title","content":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}],["$","meta","7",{"property":"og:description","content":"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."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/miletruth-ai-10-stages-to-smarter-dispatch"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-31.png"}],["$","meta","11",{"property":"og:image:alt","content":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-09-05T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}],["$","meta","17",{"name":"twitter:description","content":"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."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-31.png"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","23",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next._index.txt b/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next._index.txt new file mode 100644 index 0000000..9c09249 --- /dev/null +++ b/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next._index.txt @@ -0,0 +1,15 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next._tree.txt b/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next._tree.txt new file mode 100644 index 0000000..11476c0 --- /dev/null +++ b/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next._tree.txt @@ -0,0 +1,9 @@ +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"blog","param":null,"prefetchHints":0,"slots":{"children":{"name":"slug","param":{"type":"d","key":"miletruth-ai-10-stages-to-smarter-dispatch","siblings":null},"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next.blog.$d$slug.__PAGE__.txt b/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next.blog.$d$slug.__PAGE__.txt new file mode 100644 index 0000000..3b0ff9e --- /dev/null +++ b/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next.blog.$d$slug.__PAGE__.txt @@ -0,0 +1,508 @@ +1:"$Sreact.fragment" +8:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +9:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +14:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +15:"$Sreact.suspense" +17:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +18:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.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
, 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\":\"MileTruth™ AI — 10 Stages to Smarter Dispatch\",\"description\":\"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.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-31.png\"],\"datePublished\":\"2025-09-05T00:00:00.000Z\",\"dateModified\":\"2025-09-05T00: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/miletruth-ai-10-stages-to-smarter-dispatch\"},\"articleSection\":\"MileTruth\"}"}}],["$","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\":\"MileTruth™ AI — 10 Stages to Smarter Dispatch\",\"item\":\"https://www.doormile.com/blog/miletruth-ai-10-stages-to-smarter-dispatch\"}]}"}}],["$","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":"TAuyMDUsvWIfF6U_s0MKe"} +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-31.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":"MileTruth"}],["$","h1",null,{"className":"dm-banner-title","children":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}]]}]}]}] +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":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}]]}]}],["$","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-05","children":"Sep 5, 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":"Behind every Doormile dispatch is a pipeline that turns raw orders into a validated, optimal route in under 45 milliseconds. This is how MileTruth™ does it — ten stages, each one removing a source of error before the next begins."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L9","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Speed and correctness are usually a trade-off. MileTruth is engineered to deliver both: a routing decision fast enough to feel instant, yet rigorous enough to commit a fleet to. The secret is a staged pipeline where each step has a single responsibility and hands clean, validated data to the next."}]}],["$","$L9","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"The ten stages"}]}],["$","$L9","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Ingestion — orders, constraints and fleet state are normalised on arrival."}],["$","li","1",{"children":"Validation — addresses, time windows and capacities are checked and geocoded."}],["$","li","2",{"children":"Demand modelling — volume and service-time estimates are attached to each stop."}],["$","li","3",{"children":"Travel-time estimation — real-world, time-of-day travel matrices are built."}],["$","li","4",{"children":"Constraint assembly — capacity, range, windows and rules are encoded."}],["$","li","5",{"children":"Strategy generation — multiple routing universes are explored in parallel."}],["$","li","6",{"children":"Optimisation — the solver searches for the minimum-cost feasible plan."}],["$","li","7",{"children":"Battery / range validation — EV routes are checked against real charge capacity."}],["$","li","8",{"children":"ETA pre-validation — promised times are verified before any commitment."}],["$","li","9",{"children":"Output — the final, validated route is emitted to dispatch."}]]}]}],["$","$L9","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"Why staging matters"}]}],["$","$L9","4",{"delay":0,"duration":0.6,"yOffset":20,"children":"$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:["$","p",null,{"className":"dm-article-p","children":"Collapsing these steps into one monolithic calculation is how most tools accumulate hidden errors. By isolating each concern, MileTruth catches a bad address before it reaches the solver, and an infeasible battery plan before it reaches a rider. Each stage is independently testable, observable and fast."}] +b:["$","$L9","5",{"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/blog-post-pic-31.png","alt":"MileTruth routing pipeline diagram","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"Ten focused stages turn raw orders into a validated route in well under 45 milliseconds."}]]}]}] +c:["$","$L9","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"Each stage exists to delete a category of mistake. By the time a route reaches dispatch, the questionable decisions have already been ruled out."}],["$","cite",null,{"children":["— ","MileTruth Engineering"]}]]}]}] +d:["$","$L9","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Parallel strategy universes"}]}] +e:["$","$L9","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Stage six is where MileTruth diverges from conventional routers. Rather than committing to one heuristic, it generates several distinct routing strategies simultaneously — each a complete candidate plan — and lets the optimiser select the best. Powered by a mathematical solver, it evaluates trade-offs no dispatcher could hold in their head."}]}] +f:["$","$L9","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Multiple candidate plans evaluated, not a single best guess"}],["$","li","1",{"children":"Mathematical optimisation instead of fixed heuristics"}],["$","li","2",{"children":"Range and ETA validated inside the loop, not bolted on after"}],["$","li","3",{"children":"Sub-45ms output that keeps dispatch genuinely real-time"}]]}]}] +10:["$","$L9","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Ten stages, one outcome: a route you can trust enough to commit a fleet to — calculated, validated, and delivered before a dispatcher could finish reading the order list."}]}] +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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L8",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L17",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 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/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L17",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","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":"Case Study"}],["$","span",null,{"className":"dm-prevnext-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}]]}]]}],["$","$L8",null,{"href":"/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets","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":"EV Fleet"}],["$","span",null,{"className":"dm-prevnext-title","children":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L17",null,{"src":"/images/ev-paradox.png","alt":"The EV Paradox: Solving Range Anxiety for Urban Fleets","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","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L8",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L17",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],"$L1e","$L1f"]}]]}]}],"$L20"]}]]}],"$L21"]}] +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:["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}] +1f:["$","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:["$","$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"}]]}]]}]]}]]}]}] +21:["$","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"}]]}]]}]]}] diff --git a/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next.blog.$d$slug.txt b/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next.blog.$d$slug.txt new file mode 100644 index 0000000..e7f2861 --- /dev/null +++ b/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next.blog.$d$slug.txt @@ -0,0 +1,5 @@ +1:"$Sreact.fragment" +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:[] +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next.blog.txt b/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next.blog.txt new file mode 100644 index 0000000..e7f2861 --- /dev/null +++ b/build/blog/miletruth-ai-10-stages-to-smarter-dispatch/__next.blog.txt @@ -0,0 +1,5 @@ +1:"$Sreact.fragment" +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:[] +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets.html b/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets.html new file mode 100644 index 0000000..cf56bb6 --- /dev/null +++ b/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets.html @@ -0,0 +1,754 @@ +The EV Paradox: Solving Range Anxiety for Urban Fleets – Doormile

Doormile

Doormile logo
Our Location

5th Floor, Vision Ultima, Street No.3, Jayabheri Enclave, Gachibowli, Hyderabad, Telangana 500032.

Contact Us

Tel : +91 86886 97941

Email

care@doormile.com

EV Fleet

The EV Paradox: Solving Range Anxiety for Urban Fleets

Doormile Team2 min read

Electric fleets promise cleaner cities and lower running costs — but they trade one problem for another. Range becomes a hard constraint on every route, and range anxiety becomes an operational risk. Solving it before dispatch is the whole game.

In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. The EV Paradox: Solving Range Anxiety for Urban Fleets looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road.

Why this matters for modern fleets

Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles.

  • Fewer vehicles deployed for the same delivery volume
  • Lower cost-per-drop through tighter, smarter sequencing
  • Predictable ETAs that protect customer trust and SLA targets
  • A cleaner, lower-emission footprint per parcel delivered

From data to decision

Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub.

The EV Paradox: Solving Range Anxiety for Urban Fleets
EV Fleet — operational intelligence applied at the point of dispatch.

We don't guess the route. We calculate it — and we prove it works before the wheels start turning.

Doormile Operations

Putting it into practice

The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle.

  1. Benchmark today's distance, fleet size and on-time rate.
  2. Feed real constraints — capacity, windows, charge — into the engine.
  3. Validate routes against real-world conditions before dispatch.
  4. Measure the delta, then scale the approach across hubs.

Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on.

\ No newline at end of file diff --git a/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets.txt b/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets.txt new file mode 100644 index 0000000..733c24e --- /dev/null +++ b/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets.txt @@ -0,0 +1,532 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +e:"$Sreact.suspense" +11:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"P":null,"c":["","blog","the-ev-paradox-solving-range-anxiety-for-urban-fleets"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","the-ev-paradox-solving-range-anxiety-for-urban-fleets","d",null],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$Lc",[["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true,"nonce":"$undefined"}]],["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]]}],{},null,false,null]},null,false,"$@10"]},null,false,"$@10"]},null,false,null],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$e",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +16:[] +10:"$W16" +17: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
, 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); } +c:["$","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\":\"The EV Paradox: Solving Range Anxiety for Urban Fleets\",\"description\":\"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch.\",\"image\":[\"https://www.doormile.com/images/ev-paradox.png\"],\"datePublished\":\"2025-08-21T00:00:00.000Z\",\"dateModified\":\"2025-08-21T00: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/the-ev-paradox-solving-range-anxiety-for-urban-fleets\"},\"articleSection\":\"EV Fleet\"}"}}],["$","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\":\"The EV Paradox: Solving Range Anxiety for Urban Fleets\",\"item\":\"https://www.doormile.com/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets\"}]}"}}],["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":[["$","article",null,{"className":"dm-single-blog","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$17"}}],"$L18","$L19"]}],"$L1a"]}]}]]}] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +1c:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +18:["$","div",null,{"className":"custom-standard-hero-container","children":["$","div",null,{"className":"custom-standard-hero-card dm-banner-card","style":{"backgroundImage":"url(/images/ev-paradox.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":"EV Fleet"}],["$","h1",null,{"className":"dm-banner-title","children":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}]]}]}]}] +19:["$","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":["$","$L1b",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L1b",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":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}]]}]}],["$","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-08-21","children":"Aug 21, 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":"Electric fleets promise cleaner cities and lower running costs — but they trade one problem for another. Range becomes a hard constraint on every route, and range anxiety becomes an operational risk. Solving it before dispatch is the whole game."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L1c","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. The EV Paradox: Solving Range Anxiety for Urban Fleets looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road."}]}],["$","$L1c","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Why this matters for modern fleets"}]}],["$","$L1c","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."}]}],["$","$L1c","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Fewer vehicles deployed for the same delivery volume"}],["$","li","1",{"children":"Lower cost-per-drop through tighter, smarter sequencing"}],["$","li","2",{"children":"Predictable ETAs that protect customer trust and SLA targets"}],["$","li","3",{"children":"A cleaner, lower-emission footprint per parcel delivered"}]]}]}],["$","$L1c","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"From data to decision"}]}],["$","$L1c","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."}]}],"$L1d","$L1e","$L1f","$L20","$L21","$L22"]}]]}],"$L23"]}]]}] +24: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%; } + } +1a:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$24"}}],"$L25"]}] +26:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +27:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"] +1d:["$","$L1c","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L26",null,{"src":"/images/ev-paradox.png","alt":"The EV Paradox: Solving Range Anxiety for Urban Fleets","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"EV Fleet — operational intelligence applied at the point of dispatch."}]]}]}] +1e:["$","$L1c","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"We don't guess the route. We calculate it — and we prove it works before the wheels start turning."}],["$","cite",null,{"children":["— ","Doormile Operations"]}]]}]}] +1f:["$","$L1c","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Putting it into practice"}]}] +20:["$","$L1c","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."}]}] +21:["$","$L1c","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Benchmark today's distance, fleet size and on-time rate."}],["$","li","1",{"children":"Feed real constraints — capacity, windows, charge — into the engine."}],["$","li","2",{"children":"Validate routes against real-world conditions before dispatch."}],["$","li","3",{"children":"Measure the delta, then scale the approach across hubs."}]]}]}] +22:["$","$L1c","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}]}] +23:["$","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"}],["$","$L27",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":["$","$L1b",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":["$","$L26",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 2025"}]]}]]}]}],["$","li","miletruth-ai-10-stages-to-smarter-dispatch",{"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",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","why-mathematical-precision-beats-heuristics-in-routing",{"children":["$","$L1b",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],"$L28","$L29","$L2a"]}]]}],"$L2b"]}]}] +25:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-31.png","alt":"MileTruth™ AI — 10 Stages to Smarter Dispatch","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":"MileTruth"}],["$","span",null,{"className":"dm-prevnext-title","children":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}]]}]]}],["$","$L1b",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","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":"Technology"}],["$","span",null,{"className":"dm-prevnext-title","children":"Why Mathematical Precision Beats Heuristics in Routing"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","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":[["$","$L1c","battery-simulation-the-secret-to-ev-route-pre-validation",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/battery-simulation-the-secret-to-ev-route-pre-validation","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",null,{"src":"/images/blog-post-pic-3.jpeg","alt":"Battery Simulation: The Secret to EV Route Pre-Validation","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":"Battery Simulation: The Secret to EV Route Pre-Validation"}],["$","p",null,{"className":"dm-related-card-excerpt","children":"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate."}],["$","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"}]]}]]}]]}]]}]}],["$","$L1c","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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":["$L2c","$L2d","$L2e"]}]]}]}],"$L2f"]}]]}],"$L30"]}] +28:["$","li","Operations",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +29:["$","li","Sustainability",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2a:["$","li","Technology",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}] +2b:["$","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."}],["$","$L1b",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"}]]}]]}]]}] +2c:["$","h3",null,{"className":"dm-related-card-title","children":"How AI Is Transforming Last-Mile EV Delivery"}] +2d:["$","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."}] +2e:["$","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"}]]}]]}] +2f:["$","$L1c","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}],["$","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"}]]}]]}]]}]]}]}] +30:["$","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."}]]}],["$","$L1b",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"}]]}]]}]]}] +12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +31:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +f:null +14:[["$","title","0",{"children":"The EV Paradox: Solving Range Anxiety for Urban Fleets – Doormile"}],["$","meta","1",{"name":"description","content":"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"EV Fleet,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets"}],["$","meta","6",{"property":"og:title","content":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}],["$","meta","7",{"property":"og:description","content":"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/ev-paradox.png"}],["$","meta","11",{"property":"og:image:alt","content":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-08-21T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}],["$","meta","17",{"name":"twitter:description","content":"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/ev-paradox.png"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L31","23",{}]] diff --git a/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next._full.txt b/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next._full.txt new file mode 100644 index 0000000..733c24e --- /dev/null +++ b/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next._full.txt @@ -0,0 +1,532 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +e:"$Sreact.suspense" +11:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"P":null,"c":["","blog","the-ev-paradox-solving-range-anxiety-for-urban-fleets"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","the-ev-paradox-solving-range-anxiety-for-urban-fleets","d",null],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$Lc",[["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true,"nonce":"$undefined"}]],["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]]}],{},null,false,null]},null,false,"$@10"]},null,false,"$@10"]},null,false,null],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$e",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +16:[] +10:"$W16" +17: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
, 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); } +c:["$","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\":\"The EV Paradox: Solving Range Anxiety for Urban Fleets\",\"description\":\"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch.\",\"image\":[\"https://www.doormile.com/images/ev-paradox.png\"],\"datePublished\":\"2025-08-21T00:00:00.000Z\",\"dateModified\":\"2025-08-21T00: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/the-ev-paradox-solving-range-anxiety-for-urban-fleets\"},\"articleSection\":\"EV Fleet\"}"}}],["$","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\":\"The EV Paradox: Solving Range Anxiety for Urban Fleets\",\"item\":\"https://www.doormile.com/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets\"}]}"}}],["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":[["$","article",null,{"className":"dm-single-blog","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$17"}}],"$L18","$L19"]}],"$L1a"]}]}]]}] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +1c:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +18:["$","div",null,{"className":"custom-standard-hero-container","children":["$","div",null,{"className":"custom-standard-hero-card dm-banner-card","style":{"backgroundImage":"url(/images/ev-paradox.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":"EV Fleet"}],["$","h1",null,{"className":"dm-banner-title","children":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}]]}]}]}] +19:["$","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":["$","$L1b",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L1b",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":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}]]}]}],["$","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-08-21","children":"Aug 21, 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":"Electric fleets promise cleaner cities and lower running costs — but they trade one problem for another. Range becomes a hard constraint on every route, and range anxiety becomes an operational risk. Solving it before dispatch is the whole game."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L1c","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. The EV Paradox: Solving Range Anxiety for Urban Fleets looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road."}]}],["$","$L1c","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Why this matters for modern fleets"}]}],["$","$L1c","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."}]}],["$","$L1c","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Fewer vehicles deployed for the same delivery volume"}],["$","li","1",{"children":"Lower cost-per-drop through tighter, smarter sequencing"}],["$","li","2",{"children":"Predictable ETAs that protect customer trust and SLA targets"}],["$","li","3",{"children":"A cleaner, lower-emission footprint per parcel delivered"}]]}]}],["$","$L1c","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"From data to decision"}]}],["$","$L1c","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."}]}],"$L1d","$L1e","$L1f","$L20","$L21","$L22"]}]]}],"$L23"]}]]}] +24: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%; } + } +1a:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$24"}}],"$L25"]}] +26:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +27:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"] +1d:["$","$L1c","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L26",null,{"src":"/images/ev-paradox.png","alt":"The EV Paradox: Solving Range Anxiety for Urban Fleets","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"EV Fleet — operational intelligence applied at the point of dispatch."}]]}]}] +1e:["$","$L1c","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"We don't guess the route. We calculate it — and we prove it works before the wheels start turning."}],["$","cite",null,{"children":["— ","Doormile Operations"]}]]}]}] +1f:["$","$L1c","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Putting it into practice"}]}] +20:["$","$L1c","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."}]}] +21:["$","$L1c","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Benchmark today's distance, fleet size and on-time rate."}],["$","li","1",{"children":"Feed real constraints — capacity, windows, charge — into the engine."}],["$","li","2",{"children":"Validate routes against real-world conditions before dispatch."}],["$","li","3",{"children":"Measure the delta, then scale the approach across hubs."}]]}]}] +22:["$","$L1c","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}]}] +23:["$","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"}],["$","$L27",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":["$","$L1b",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":["$","$L26",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 2025"}]]}]]}]}],["$","li","miletruth-ai-10-stages-to-smarter-dispatch",{"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",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","why-mathematical-precision-beats-heuristics-in-routing",{"children":["$","$L1b",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],"$L28","$L29","$L2a"]}]]}],"$L2b"]}]}] +25:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-31.png","alt":"MileTruth™ AI — 10 Stages to Smarter Dispatch","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":"MileTruth"}],["$","span",null,{"className":"dm-prevnext-title","children":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}]]}]]}],["$","$L1b",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","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":"Technology"}],["$","span",null,{"className":"dm-prevnext-title","children":"Why Mathematical Precision Beats Heuristics in Routing"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","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":[["$","$L1c","battery-simulation-the-secret-to-ev-route-pre-validation",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/battery-simulation-the-secret-to-ev-route-pre-validation","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",null,{"src":"/images/blog-post-pic-3.jpeg","alt":"Battery Simulation: The Secret to EV Route Pre-Validation","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":"Battery Simulation: The Secret to EV Route Pre-Validation"}],["$","p",null,{"className":"dm-related-card-excerpt","children":"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate."}],["$","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"}]]}]]}]]}]]}]}],["$","$L1c","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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":["$L2c","$L2d","$L2e"]}]]}]}],"$L2f"]}]]}],"$L30"]}] +28:["$","li","Operations",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +29:["$","li","Sustainability",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2a:["$","li","Technology",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}] +2b:["$","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."}],["$","$L1b",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"}]]}]]}]]}] +2c:["$","h3",null,{"className":"dm-related-card-title","children":"How AI Is Transforming Last-Mile EV Delivery"}] +2d:["$","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."}] +2e:["$","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"}]]}]]}] +2f:["$","$L1c","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}],["$","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"}]]}]]}]]}]]}]}] +30:["$","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."}]]}],["$","$L1b",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"}]]}]]}]]}] +12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +31:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +f:null +14:[["$","title","0",{"children":"The EV Paradox: Solving Range Anxiety for Urban Fleets – Doormile"}],["$","meta","1",{"name":"description","content":"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"EV Fleet,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets"}],["$","meta","6",{"property":"og:title","content":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}],["$","meta","7",{"property":"og:description","content":"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/ev-paradox.png"}],["$","meta","11",{"property":"og:image:alt","content":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-08-21T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}],["$","meta","17",{"name":"twitter:description","content":"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/ev-paradox.png"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L31","23",{}]] diff --git a/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next._head.txt b/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next._head.txt new file mode 100644 index 0000000..94cce9b --- /dev/null +++ b/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next._head.txt @@ -0,0 +1,6 @@ +1:"$Sreact.fragment" +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +4:"$Sreact.suspense" +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"The EV Paradox: Solving Range Anxiety for Urban Fleets – Doormile"}],["$","meta","1",{"name":"description","content":"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"EV Fleet,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets"}],["$","meta","6",{"property":"og:title","content":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}],["$","meta","7",{"property":"og:description","content":"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/ev-paradox.png"}],["$","meta","11",{"property":"og:image:alt","content":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-08-21T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}],["$","meta","17",{"name":"twitter:description","content":"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/ev-paradox.png"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","23",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next._index.txt b/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next._index.txt new file mode 100644 index 0000000..9c09249 --- /dev/null +++ b/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next._index.txt @@ -0,0 +1,15 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next._tree.txt b/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next._tree.txt new file mode 100644 index 0000000..0229da6 --- /dev/null +++ b/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next._tree.txt @@ -0,0 +1,9 @@ +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"blog","param":null,"prefetchHints":0,"slots":{"children":{"name":"slug","param":{"type":"d","key":"the-ev-paradox-solving-range-anxiety-for-urban-fleets","siblings":null},"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next.blog.$d$slug.__PAGE__.txt b/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next.blog.$d$slug.__PAGE__.txt new file mode 100644 index 0000000..cdf8d62 --- /dev/null +++ b/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next.blog.$d$slug.__PAGE__.txt @@ -0,0 +1,507 @@ +1:"$Sreact.fragment" +8:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +9:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +14:"$Sreact.suspense" +16:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +17:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.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
, 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\":\"The EV Paradox: Solving Range Anxiety for Urban Fleets\",\"description\":\"Electric vehicles promise sustainability, but battery constraints introduce a new routing challenge. Here's how MileTruth™ AI solves it before dispatch.\",\"image\":[\"https://www.doormile.com/images/ev-paradox.png\"],\"datePublished\":\"2025-08-21T00:00:00.000Z\",\"dateModified\":\"2025-08-21T00: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/the-ev-paradox-solving-range-anxiety-for-urban-fleets\"},\"articleSection\":\"EV Fleet\"}"}}],["$","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\":\"The EV Paradox: Solving Range Anxiety for Urban Fleets\",\"item\":\"https://www.doormile.com/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets\"}]}"}}],["$","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":"TAuyMDUsvWIfF6U_s0MKe"} +3:["$","div",null,{"className":"custom-standard-hero-container","children":["$","div",null,{"className":"custom-standard-hero-card dm-banner-card","style":{"backgroundImage":"url(/images/ev-paradox.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":"EV Fleet"}],["$","h1",null,{"className":"dm-banner-title","children":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}]]}]}]}] +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":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}]]}]}],["$","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-08-21","children":"Aug 21, 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":"Electric fleets promise cleaner cities and lower running costs — but they trade one problem for another. Range becomes a hard constraint on every route, and range anxiety becomes an operational risk. Solving it before dispatch is the whole game."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L9","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. The EV Paradox: Solving Range Anxiety for Urban Fleets looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road."}]}],["$","$L9","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Why this matters for modern fleets"}]}],["$","$L9","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."}]}],["$","$L9","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Fewer vehicles deployed for the same delivery volume"}],["$","li","1",{"children":"Lower cost-per-drop through tighter, smarter sequencing"}],["$","li","2",{"children":"Predictable ETAs that protect customer trust and SLA targets"}],["$","li","3",{"children":"A cleaner, lower-emission footprint per parcel delivered"}]]}]}],["$","$L9","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"From data to decision"}]}],["$","$L9","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."}]}],"$La","$Lb","$Lc","$Ld","$Le","$Lf"]}]]}],"$L10"]}]]}] +11: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":"$11"}}],"$L12"]}] +6:["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true}] +7:["$","$L13",null,{"children":["$","$14",null,{"name":"Next.MetadataOutlet","children":"$@15"}]}] +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":["$","$L16",null,{"src":"/images/ev-paradox.png","alt":"The EV Paradox: Solving Range Anxiety for Urban Fleets","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"EV Fleet — operational intelligence applied at the point of dispatch."}]]}]}] +b:["$","$L9","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"We don't guess the route. We calculate it — and we prove it works before the wheels start turning."}],["$","cite",null,{"children":["— ","Doormile Operations"]}]]}]}] +c:["$","$L9","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Putting it into practice"}]}] +d:["$","$L9","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."}]}] +e:["$","$L9","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Benchmark today's distance, fleet size and on-time rate."}],["$","li","1",{"children":"Feed real constraints — capacity, windows, charge — into the engine."}],["$","li","2",{"children":"Validate routes against real-world conditions before dispatch."}],["$","li","3",{"children":"Measure the delta, then scale the approach across hubs."}]]}]}] +f:["$","$L9","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}]}] +10:["$","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"}],["$","$L17",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":["$","$L16",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L8",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L16",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 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":["$","$L16",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","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":["$","$L16",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"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],"$L18","$L19","$L1a"]}]]}],"$L1b"]}]}] +12:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L8",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L16",null,{"src":"/images/blog-post-pic-31.png","alt":"MileTruth™ AI — 10 Stages to Smarter Dispatch","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":"MileTruth"}],["$","span",null,{"className":"dm-prevnext-title","children":"MileTruth™ AI — 10 Stages to Smarter Dispatch"}]]}]]}],["$","$L8",null,{"href":"/blog/why-mathematical-precision-beats-heuristics-in-routing","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":"Technology"}],["$","span",null,{"className":"dm-prevnext-title","children":"Why Mathematical Precision Beats Heuristics in Routing"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L16",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","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","battery-simulation-the-secret-to-ev-route-pre-validation",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L8",null,{"href":"/blog/battery-simulation-the-secret-to-ev-route-pre-validation","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L16",null,{"src":"/images/blog-post-pic-3.jpeg","alt":"Battery Simulation: The Secret to EV Route Pre-Validation","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":"Battery Simulation: The Secret to EV Route Pre-Validation"}],["$","p",null,{"className":"dm-related-card-excerpt","children":"Before a single rider leaves the hub, MileTruth™ simulates every route against real charge capacity — eliminating mid-route failures and protecting your fulfillment rate."}],["$","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","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0.08,"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":[["$","$L16",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":["$L1c","$L1d","$L1e"]}]]}]}],"$L1f"]}]]}],"$L20"]}] +15:null +18:["$","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}]]}]}] +19:["$","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}]]}]}] +1a:["$","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}]]}]}] +1b:["$","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"}]]}]]}]]}] +1c:["$","h3",null,{"className":"dm-related-card-title","children":"How AI Is Transforming Last-Mile EV Delivery"}] +1d:["$","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."}] +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","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L8",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L16",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}],["$","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"}]]}]]}]]}] diff --git a/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next.blog.$d$slug.txt b/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next.blog.$d$slug.txt new file mode 100644 index 0000000..e7f2861 --- /dev/null +++ b/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next.blog.$d$slug.txt @@ -0,0 +1,5 @@ +1:"$Sreact.fragment" +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:[] +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next.blog.txt b/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next.blog.txt new file mode 100644 index 0000000..e7f2861 --- /dev/null +++ b/build/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets/__next.blog.txt @@ -0,0 +1,5 @@ +1:"$Sreact.fragment" +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:[] +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/why-mathematical-precision-beats-heuristics-in-routing.html b/build/blog/why-mathematical-precision-beats-heuristics-in-routing.html new file mode 100644 index 0000000..02a61ee --- /dev/null +++ b/build/blog/why-mathematical-precision-beats-heuristics-in-routing.html @@ -0,0 +1,754 @@ +Why Mathematical Precision Beats Heuristics in Routing – Doormile

Doormile

Doormile logo
Our Location

5th Floor, Vision Ultima, Street No.3, Jayabheri Enclave, Gachibowli, Hyderabad, Telangana 500032.

Contact Us

Tel : +91 86886 97941

Email

care@doormile.com

Technology

Why Mathematical Precision Beats Heuristics in Routing

Doormile Team2 min read

Heuristics are fast to build and easy to trust — until they quietly cost you a vehicle a day. Mathematical optimisation asks more of the engine and gives more back: provably better routes, every dispatch, at scale.

In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. Why Mathematical Precision Beats Heuristics in Routing looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road.

Why this matters for modern fleets

Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles.

  • Fewer vehicles deployed for the same delivery volume
  • Lower cost-per-drop through tighter, smarter sequencing
  • Predictable ETAs that protect customer trust and SLA targets
  • A cleaner, lower-emission footprint per parcel delivered

From data to decision

Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub.

Why Mathematical Precision Beats Heuristics in Routing
Technology — operational intelligence applied at the point of dispatch.

We don't guess the route. We calculate it — and we prove it works before the wheels start turning.

Doormile Operations

Putting it into practice

The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle.

  1. Benchmark today's distance, fleet size and on-time rate.
  2. Feed real constraints — capacity, windows, charge — into the engine.
  3. Validate routes against real-world conditions before dispatch.
  4. Measure the delta, then scale the approach across hubs.

Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on.

\ No newline at end of file diff --git a/build/blog/why-mathematical-precision-beats-heuristics-in-routing.txt b/build/blog/why-mathematical-precision-beats-heuristics-in-routing.txt new file mode 100644 index 0000000..babbdd3 --- /dev/null +++ b/build/blog/why-mathematical-precision-beats-heuristics-in-routing.txt @@ -0,0 +1,531 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +e:"$Sreact.suspense" +11:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"P":null,"c":["","blog","why-mathematical-precision-beats-heuristics-in-routing"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","why-mathematical-precision-beats-heuristics-in-routing","d",null],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$Lc",[["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true,"nonce":"$undefined"}]],["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]]}],{},null,false,null]},null,false,"$@10"]},null,false,"$@10"]},null,false,null],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$e",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +16:[] +10:"$W16" +17: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
, 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); } +c:["$","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\":\"Why Mathematical Precision Beats Heuristics in Routing\",\"description\":\"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-14.jpeg\"],\"datePublished\":\"2025-08-07T00:00:00.000Z\",\"dateModified\":\"2025-08-07T00: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/why-mathematical-precision-beats-heuristics-in-routing\"},\"articleSection\":\"Technology\"}"}}],["$","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\":\"Why Mathematical Precision Beats Heuristics in Routing\",\"item\":\"https://www.doormile.com/blog/why-mathematical-precision-beats-heuristics-in-routing\"}]}"}}],["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":[["$","article",null,{"className":"dm-single-blog","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$17"}}],"$L18","$L19"]}],"$L1a"]}]}]]}] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +1c:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +18:["$","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-14.jpeg)","--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":"Technology"}],["$","h1",null,{"className":"dm-banner-title","children":"Why Mathematical Precision Beats Heuristics in Routing"}]]}]}]}] +19:["$","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":["$","$L1b",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L1b",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":"Why Mathematical Precision Beats Heuristics in Routing"}]]}]}],["$","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-08-07","children":"Aug 7, 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":"Heuristics are fast to build and easy to trust — until they quietly cost you a vehicle a day. Mathematical optimisation asks more of the engine and gives more back: provably better routes, every dispatch, at scale."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L1c","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. Why Mathematical Precision Beats Heuristics in Routing looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road."}]}],["$","$L1c","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Why this matters for modern fleets"}]}],["$","$L1c","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."}]}],["$","$L1c","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Fewer vehicles deployed for the same delivery volume"}],["$","li","1",{"children":"Lower cost-per-drop through tighter, smarter sequencing"}],["$","li","2",{"children":"Predictable ETAs that protect customer trust and SLA targets"}],["$","li","3",{"children":"A cleaner, lower-emission footprint per parcel delivered"}]]}]}],["$","$L1c","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"From data to decision"}]}],["$","$L1c","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."}]}],"$L1d","$L1e","$L1f","$L20","$L21","$L22"]}]]}],"$L23"]}]]}] +24: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%; } + } +1a:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$24"}}],"$L25"]}] +26:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +27:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"] +1d:["$","$L1c","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L26",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"Technology — operational intelligence applied at the point of dispatch."}]]}]}] +1e:["$","$L1c","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"We don't guess the route. We calculate it — and we prove it works before the wheels start turning."}],["$","cite",null,{"children":["— ","Doormile Operations"]}]]}]}] +1f:["$","$L1c","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Putting it into practice"}]}] +20:["$","$L1c","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."}]}] +21:["$","$L1c","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Benchmark today's distance, fleet size and on-time rate."}],["$","li","1",{"children":"Feed real constraints — capacity, windows, charge — into the engine."}],["$","li","2",{"children":"Validate routes against real-world conditions before dispatch."}],["$","li","3",{"children":"Measure the delta, then scale the approach across hubs."}]]}]}] +22:["$","$L1c","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}]}] +23:["$","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"}],["$","$L27",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":["$","$L1b",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":["$","$L26",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 2025"}]]}]]}]}],["$","li","miletruth-ai-10-stages-to-smarter-dispatch",{"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",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":["$","$L1b",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":["$","$L26",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"}]]}]]}]}]]}]]}],["$","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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],"$L28","$L29","$L2a"]}]]}],"$L2b"]}]}] +25:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L1b",null,{"href":"/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/ev-paradox.png","alt":"The EV Paradox: Solving Range Anxiety for Urban Fleets","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":"EV Fleet"}],["$","span",null,{"className":"dm-prevnext-title","children":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}]]}]]}],["$","$L1b",null,{"href":"/blog/fleet-reduction-without-compromising-delivery-volume","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":"Fleet Management"}],["$","span",null,{"className":"dm-prevnext-title","children":"Fleet Reduction Without Compromising Delivery Volume"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-8.jpeg","alt":"Fleet Reduction Without Compromising Delivery Volume","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":[["$","$L1c","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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"}]]}]]}]]}]]}]}],["$","$L1c","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],"$L2c","$L2d"]}]]}]}],"$L2e"]}]]}],"$L2f"]}] +28:["$","li","Operations",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +29:["$","li","Sustainability",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2a:["$","li","Technology",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}] +2b:["$","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."}],["$","$L1b",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"}]]}]]}]]}] +2c:["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}] +2d:["$","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"}]]}]]}] +2e:["$","$L1c","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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."}],["$","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"}]]}]]}]]}]]}]}] +2f:["$","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."}]]}],["$","$L1b",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"}]]}]]}]]}] +12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +30:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +f:null +14:[["$","title","0",{"children":"Why Mathematical Precision Beats Heuristics in Routing – Doormile"}],["$","meta","1",{"name":"description","content":"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"Technology,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/why-mathematical-precision-beats-heuristics-in-routing"}],["$","meta","6",{"property":"og:title","content":"Why Mathematical Precision Beats Heuristics in Routing"}],["$","meta","7",{"property":"og:description","content":"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/why-mathematical-precision-beats-heuristics-in-routing"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-14.jpeg"}],["$","meta","11",{"property":"og:image:alt","content":"Why Mathematical Precision Beats Heuristics in Routing"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-08-07T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"Why Mathematical Precision Beats Heuristics in Routing"}],["$","meta","17",{"name":"twitter:description","content":"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-14.jpeg"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L30","23",{}]] diff --git a/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next._full.txt b/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next._full.txt new file mode 100644 index 0000000..babbdd3 --- /dev/null +++ b/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next._full.txt @@ -0,0 +1,531 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +e:"$Sreact.suspense" +11:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"P":null,"c":["","blog","why-mathematical-precision-beats-heuristics-in-routing"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","why-mathematical-precision-beats-heuristics-in-routing","d",null],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$Lc",[["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true,"nonce":"$undefined"}]],["$","$Ld",null,{"children":["$","$e",null,{"name":"Next.MetadataOutlet","children":"$@f"}]}]]}],{},null,false,null]},null,false,"$@10"]},null,false,"$@10"]},null,false,null],["$","$1","h",{"children":[null,["$","$L11",null,{"children":"$L12"}],["$","div",null,{"hidden":true,"children":["$","$L13",null,{"children":["$","$e",null,{"name":"Next.Metadata","children":"$L14"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$15",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +16:[] +10:"$W16" +17: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
, 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); } +c:["$","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\":\"Why Mathematical Precision Beats Heuristics in Routing\",\"description\":\"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-14.jpeg\"],\"datePublished\":\"2025-08-07T00:00:00.000Z\",\"dateModified\":\"2025-08-07T00: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/why-mathematical-precision-beats-heuristics-in-routing\"},\"articleSection\":\"Technology\"}"}}],["$","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\":\"Why Mathematical Precision Beats Heuristics in Routing\",\"item\":\"https://www.doormile.com/blog/why-mathematical-precision-beats-heuristics-in-routing\"}]}"}}],["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":[["$","article",null,{"className":"dm-single-blog","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$17"}}],"$L18","$L19"]}],"$L1a"]}]}]]}] +1b:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +1c:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +18:["$","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-14.jpeg)","--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":"Technology"}],["$","h1",null,{"className":"dm-banner-title","children":"Why Mathematical Precision Beats Heuristics in Routing"}]]}]}]}] +19:["$","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":["$","$L1b",null,{"href":"/","children":"Home"}]}],["$","li",null,{"aria-hidden":"true","className":"dm-meta-sep","children":"/"}],["$","li",null,{"children":["$","$L1b",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":"Why Mathematical Precision Beats Heuristics in Routing"}]]}]}],["$","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-08-07","children":"Aug 7, 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":"Heuristics are fast to build and easy to trust — until they quietly cost you a vehicle a day. Mathematical optimisation asks more of the engine and gives more back: provably better routes, every dispatch, at scale."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L1c","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. Why Mathematical Precision Beats Heuristics in Routing looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road."}]}],["$","$L1c","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Why this matters for modern fleets"}]}],["$","$L1c","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."}]}],["$","$L1c","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Fewer vehicles deployed for the same delivery volume"}],["$","li","1",{"children":"Lower cost-per-drop through tighter, smarter sequencing"}],["$","li","2",{"children":"Predictable ETAs that protect customer trust and SLA targets"}],["$","li","3",{"children":"A cleaner, lower-emission footprint per parcel delivered"}]]}]}],["$","$L1c","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"From data to decision"}]}],["$","$L1c","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."}]}],"$L1d","$L1e","$L1f","$L20","$L21","$L22"]}]]}],"$L23"]}]]}] +24: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%; } + } +1a:["$","section",null,{"className":"dm-blog-footer","aria-label":"More articles","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$24"}}],"$L25"]}] +26:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +27:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"default"] +1d:["$","$L1c","6",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","figure",null,{"className":"dm-article-figure","children":[["$","span",null,{"className":"dm-article-figure-img","children":["$","$L26",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"Technology — operational intelligence applied at the point of dispatch."}]]}]}] +1e:["$","$L1c","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"We don't guess the route. We calculate it — and we prove it works before the wheels start turning."}],["$","cite",null,{"children":["— ","Doormile Operations"]}]]}]}] +1f:["$","$L1c","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Putting it into practice"}]}] +20:["$","$L1c","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."}]}] +21:["$","$L1c","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Benchmark today's distance, fleet size and on-time rate."}],["$","li","1",{"children":"Feed real constraints — capacity, windows, charge — into the engine."}],["$","li","2",{"children":"Validate routes against real-world conditions before dispatch."}],["$","li","3",{"children":"Measure the delta, then scale the approach across hubs."}]]}]}] +22:["$","$L1c","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}]}] +23:["$","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"}],["$","$L27",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":["$","$L1b",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":["$","$L26",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 2025"}]]}]]}]}],["$","li","miletruth-ai-10-stages-to-smarter-dispatch",{"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L26",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":["$","$L1b",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":["$","$L26",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"}]]}]]}]}]]}]]}],["$","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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",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":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"MileTruth"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],"$L28","$L29","$L2a"]}]]}],"$L2b"]}]}] +25:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L1b",null,{"href":"/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/ev-paradox.png","alt":"The EV Paradox: Solving Range Anxiety for Urban Fleets","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":"EV Fleet"}],["$","span",null,{"className":"dm-prevnext-title","children":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}]]}]]}],["$","$L1b",null,{"href":"/blog/fleet-reduction-without-compromising-delivery-volume","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":"Fleet Management"}],["$","span",null,{"className":"dm-prevnext-title","children":"Fleet Reduction Without Compromising Delivery Volume"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L26",null,{"src":"/images/blog-post-pic-8.jpeg","alt":"Fleet Reduction Without Compromising Delivery Volume","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":[["$","$L1c","how-ai-is-transforming-last-mile-ev-delivery",{"delay":0,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/how-ai-is-transforming-last-mile-ev-delivery","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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"}]]}]]}]]}]]}]}],["$","$L1c","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],"$L2c","$L2d"]}]]}]}],"$L2e"]}]]}],"$L2f"]}] +28:["$","li","Operations",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Operations"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +29:["$","li","Sustainability",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Sustainability"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}] +2a:["$","li","Technology",{"children":["$","$L1b",null,{"href":"/blog","className":"dm-blog-category-item","children":[["$","span",null,{"children":"Technology"}],["$","span",null,{"className":"dm-blog-category-count","children":2}]]}]}] +2b:["$","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."}],["$","$L1b",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"}]]}]]}]]}] +2c:["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}] +2d:["$","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"}]]}]]}] +2e:["$","$L1c","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.16,"duration":0.7,"yOffset":30,"children":["$","$L1b",null,{"href":"/blog/miletruth-ai-10-stages-to-smarter-dispatch","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L26",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."}],["$","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"}]]}]]}]]}]]}]}] +2f:["$","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."}]]}],["$","$L1b",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"}]]}]]}]]}] +12:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +30:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +f:null +14:[["$","title","0",{"children":"Why Mathematical Precision Beats Heuristics in Routing – Doormile"}],["$","meta","1",{"name":"description","content":"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"Technology,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/why-mathematical-precision-beats-heuristics-in-routing"}],["$","meta","6",{"property":"og:title","content":"Why Mathematical Precision Beats Heuristics in Routing"}],["$","meta","7",{"property":"og:description","content":"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/why-mathematical-precision-beats-heuristics-in-routing"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-14.jpeg"}],["$","meta","11",{"property":"og:image:alt","content":"Why Mathematical Precision Beats Heuristics in Routing"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-08-07T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"Why Mathematical Precision Beats Heuristics in Routing"}],["$","meta","17",{"name":"twitter:description","content":"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-14.jpeg"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L30","23",{}]] diff --git a/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next._head.txt b/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next._head.txt new file mode 100644 index 0000000..3f993ce --- /dev/null +++ b/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next._head.txt @@ -0,0 +1,6 @@ +1:"$Sreact.fragment" +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +4:"$Sreact.suspense" +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Why Mathematical Precision Beats Heuristics in Routing – Doormile"}],["$","meta","1",{"name":"description","content":"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time."}],["$","meta","2",{"name":"author","content":"Doormile Team"}],["$","meta","3",{"name":"keywords","content":"Technology,last-mile logistics,EV fleet,MileTruth,route optimisation"}],["$","meta","4",{"name":"robots","content":"index, follow"}],["$","link","5",{"rel":"canonical","href":"https://www.doormile.com/blog/why-mathematical-precision-beats-heuristics-in-routing"}],["$","meta","6",{"property":"og:title","content":"Why Mathematical Precision Beats Heuristics in Routing"}],["$","meta","7",{"property":"og:description","content":"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time."}],["$","meta","8",{"property":"og:url","content":"https://www.doormile.com/blog/why-mathematical-precision-beats-heuristics-in-routing"}],["$","meta","9",{"property":"og:site_name","content":"Doormile"}],["$","meta","10",{"property":"og:image","content":"https://www.doormile.com/images/blog-post-pic-14.jpeg"}],["$","meta","11",{"property":"og:image:alt","content":"Why Mathematical Precision Beats Heuristics in Routing"}],["$","meta","12",{"property":"og:type","content":"article"}],["$","meta","13",{"property":"article:published_time","content":"2025-08-07T00:00:00.000Z"}],["$","meta","14",{"property":"article:author","content":"Doormile Team"}],["$","meta","15",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","16",{"name":"twitter:title","content":"Why Mathematical Precision Beats Heuristics in Routing"}],["$","meta","17",{"name":"twitter:description","content":"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time."}],["$","meta","18",{"name":"twitter:image","content":"https://www.doormile.com/images/blog-post-pic-14.jpeg"}],["$","link","19",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","20",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","21",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","22",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","23",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next._index.txt b/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next._index.txt new file mode 100644 index 0000000..9c09249 --- /dev/null +++ b/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next._index.txt @@ -0,0 +1,15 @@ +1:"$Sreact.fragment" +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next._tree.txt b/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next._tree.txt new file mode 100644 index 0000000..9219442 --- /dev/null +++ b/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next._tree.txt @@ -0,0 +1,9 @@ +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] +:HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] +:HL["/css/site.css","style"] +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"blog","param":null,"prefetchHints":0,"slots":{"children":{"name":"slug","param":{"type":"d","key":"why-mathematical-precision-beats-heuristics-in-routing","siblings":null},"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next.blog.$d$slug.__PAGE__.txt b/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next.blog.$d$slug.__PAGE__.txt new file mode 100644 index 0000000..a05b674 --- /dev/null +++ b/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next.blog.$d$slug.__PAGE__.txt @@ -0,0 +1,506 @@ +1:"$Sreact.fragment" +8:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],""] +9:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"ScrollReveal"] +13:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +14:"$Sreact.suspense" +16:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0a3t_oyn5arl-.js"],"Image"] +17:I[23096,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.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
, 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\":\"Why Mathematical Precision Beats Heuristics in Routing\",\"description\":\"Most routing tools guess. We calculate. Powered by Google OR-Tools, MileTruth evaluates six parallel strategy universes to select the optimal route every time.\",\"image\":[\"https://www.doormile.com/images/blog-post-pic-14.jpeg\"],\"datePublished\":\"2025-08-07T00:00:00.000Z\",\"dateModified\":\"2025-08-07T00: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/why-mathematical-precision-beats-heuristics-in-routing\"},\"articleSection\":\"Technology\"}"}}],["$","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\":\"Why Mathematical Precision Beats Heuristics in Routing\",\"item\":\"https://www.doormile.com/blog/why-mathematical-precision-beats-heuristics-in-routing\"}]}"}}],["$","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":"TAuyMDUsvWIfF6U_s0MKe"} +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-14.jpeg)","--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":"Technology"}],["$","h1",null,{"className":"dm-banner-title","children":"Why Mathematical Precision Beats Heuristics in Routing"}]]}]}]}] +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":"Why Mathematical Precision Beats Heuristics in Routing"}]]}]}],["$","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-08-07","children":"Aug 7, 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":"Heuristics are fast to build and easy to trust — until they quietly cost you a vehicle a day. Mathematical optimisation asks more of the engine and gives more back: provably better routes, every dispatch, at scale."}],["$","div",null,{"className":"dm-article-body","children":[["$","$L9","0",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"In last-mile logistics, the difference between a good day and a missed SLA is rarely a single dramatic failure — it is the quiet accumulation of small inefficiencies. Why Mathematical Precision Beats Heuristics in Routing looks at how Doormile turns those margins into measurable advantage, and why a precision-first approach consistently outperforms guesswork on the road."}]}],["$","$L9","1",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Why this matters for modern fleets"}]}],["$","$L9","2",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Every additional kilometre carries cost: fuel or charge, rider hours, vehicle wear, and the risk of a late delivery. When routing decisions are made on intuition or static rules, those costs compound across hundreds of stops. Treating the route as a solvable optimisation problem — not a best guess — is what separates scalable operations from ones that simply add more vehicles."}]}],["$","$L9","3",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ul",null,{"className":"dm-article-ul","children":[["$","li","0",{"children":"Fewer vehicles deployed for the same delivery volume"}],["$","li","1",{"children":"Lower cost-per-drop through tighter, smarter sequencing"}],["$","li","2",{"children":"Predictable ETAs that protect customer trust and SLA targets"}],["$","li","3",{"children":"A cleaner, lower-emission footprint per parcel delivered"}]]}]}],["$","$L9","4",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h3",null,{"className":"dm-article-h3","children":"From data to decision"}]}],["$","$L9","5",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Doormile's MileTruth™ engine ingests orders, constraints and live conditions, then evaluates the routing problem across parallel strategy universes before committing to a plan. The result is a dispatch decision grounded in mathematics rather than heuristics — validated before a single rider leaves the hub."}]}],"$La","$Lb","$Lc","$Ld","$Le","$Lf"]}]]}],"$L10"]}]]}] +11: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":"$11"}}],"$L12"]}] +6:["$","script","script-0",{"src":"/_next/static/chunks/0a3t_oyn5arl-.js","async":true}] +7:["$","$L13",null,{"children":["$","$14",null,{"name":"Next.MetadataOutlet","children":"$@15"}]}] +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":["$","$L16",null,{"src":"/images/blog-post-pic-14.jpeg","alt":"Why Mathematical Precision Beats Heuristics in Routing","fill":true,"sizes":"(max-width: 768px) 100vw, 760px","style":{"objectFit":"cover"}}]}],["$","figcaption",null,{"children":"Technology — operational intelligence applied at the point of dispatch."}]]}]}] +b:["$","$L9","7",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","blockquote",null,{"className":"dm-article-quote","children":[["$","p",null,{"children":"We don't guess the route. We calculate it — and we prove it works before the wheels start turning."}],["$","cite",null,{"children":["— ","Doormile Operations"]}]]}]}] +c:["$","$L9","8",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","h2",null,{"className":"dm-article-h2","children":"Putting it into practice"}]}] +d:["$","$L9","9",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"The teams that benefit most treat routing intelligence as core infrastructure, not an afterthought. Start by measuring your current cost-per-drop and SLA adherence, then let a precision engine reveal where distance, time and capacity are being lost. The gains are rarely theoretical — they show up directly in the next dispatch cycle."}]}] +e:["$","$L9","10",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","ol",null,{"className":"dm-article-ol","children":[["$","li","0",{"children":"Benchmark today's distance, fleet size and on-time rate."}],["$","li","1",{"children":"Feed real constraints — capacity, windows, charge — into the engine."}],["$","li","2",{"children":"Validate routes against real-world conditions before dispatch."}],["$","li","3",{"children":"Measure the delta, then scale the approach across hubs."}]]}]}] +f:["$","$L9","11",{"delay":0,"duration":0.6,"yOffset":20,"children":["$","p",null,{"className":"dm-article-p","children":"Smarter routing is not about working harder on the road — it is about making the right decision before the journey begins. That is the foundation every Doormile deployment is built on."}]}] +10:["$","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"}],["$","$L17",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":["$","$L16",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","42-less-distance-insights-from-our-hyderabad-hub",{"children":["$","$L8",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-blog-recent-item","children":[["$","span",null,{"className":"dm-blog-recent-thumb","children":["$","$L16",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"62px","style":{"objectFit":"cover"}}]}],["$","span",null,{"className":"dm-blog-recent-meta","children":[["$","span",null,{"className":"dm-blog-recent-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],["$","time",null,{"dateTime":"2025-09-18","className":"dm-blog-recent-date","children":"Sep 18, 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":["$","$L16",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":["$","$L16",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"}]]}]]}]}]]}]]}],["$","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"}],["$","span",null,{"className":"dm-blog-category-count","children":1}]]}]}],"$L18","$L19","$L1a"]}]]}],"$L1b"]}]}] +12:["$","div",null,{"className":"dm-blog-footer-inner","children":[["$","nav",null,{"className":"dm-prevnext","aria-label":"Article navigation","children":[["$","$L8",null,{"href":"/blog/the-ev-paradox-solving-range-anxiety-for-urban-fleets","className":"dm-prevnext-card dm-prevnext-prev","children":[["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L16",null,{"src":"/images/ev-paradox.png","alt":"The EV Paradox: Solving Range Anxiety for Urban Fleets","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":"EV Fleet"}],["$","span",null,{"className":"dm-prevnext-title","children":"The EV Paradox: Solving Range Anxiety for Urban Fleets"}]]}]]}],["$","$L8",null,{"href":"/blog/fleet-reduction-without-compromising-delivery-volume","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":"Fleet Management"}],["$","span",null,{"className":"dm-prevnext-title","children":"Fleet Reduction Without Compromising Delivery Volume"}]]}],["$","span",null,{"className":"dm-prevnext-thumb","children":["$","$L16",null,{"src":"/images/blog-post-pic-8.jpeg","alt":"Fleet Reduction Without Compromising Delivery Volume","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":[["$","$L16",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","42-less-distance-insights-from-our-hyderabad-hub",{"delay":0.08,"duration":0.7,"yOffset":30,"children":["$","$L8",null,{"href":"/blog/42-less-distance-insights-from-our-hyderabad-hub","className":"dm-related-card","children":[["$","div",null,{"className":"dm-related-img","children":[["$","$L16",null,{"src":"/images/blog-post-pic-15.png","alt":"42% Less Distance: Insights from Our Hyderabad Hub","fill":true,"sizes":"(max-width: 700px) 100vw, (max-width: 1024px) 50vw, 33vw","style":{"objectFit":"cover"}}],["$","span",null,{"className":"dm-related-badge","children":"Case Study"}]]}],["$","div",null,{"className":"dm-related-body","children":[["$","h3",null,{"className":"dm-related-card-title","children":"42% Less Distance: Insights from Our Hyderabad Hub"}],"$L1c","$L1d"]}]]}]}],"$L1e"]}]]}],"$L1f"]}] +15:null +18:["$","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}]]}]}] +19:["$","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}]]}]}] +1a:["$","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}]]}]}] +1b:["$","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"}]]}]]}]]}] +1c:["$","p",null,{"className":"dm-related-card-excerpt","children":"A detailed look at how Doormile's MileTruth routing engine delivered measurable efficiency gains — fewer vehicles, less fuel, and zero SLA misses."}] +1d:["$","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"}]]}]]}] +1e:["$","$L9","miletruth-ai-10-stages-to-smarter-dispatch",{"delay":0.16,"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":[["$","$L16",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."}],["$","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:["$","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"}]]}]]}]]}] diff --git a/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next.blog.$d$slug.txt b/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next.blog.$d$slug.txt new file mode 100644 index 0000000..e7f2861 --- /dev/null +++ b/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next.blog.$d$slug.txt @@ -0,0 +1,5 @@ +1:"$Sreact.fragment" +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:[] +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next.blog.txt b/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next.blog.txt new file mode 100644 index 0000000..e7f2861 --- /dev/null +++ b/build/blog/why-mathematical-precision-beats-heuristics-in-routing/__next.blog.txt @@ -0,0 +1,5 @@ +1:"$Sreact.fragment" +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:[] +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/contact.html b/build/contact.html index 0508647..7122403 100644 --- a/build/contact.html +++ b/build/contact.html @@ -1,4 +1,4 @@ -Contact Us – Doormile
\ No newline at end of file + + /* Compact footer link columns on phones (<=480px). The kit only sets + column --width at min-width:481px, so below that all four blocks + fall back to 100% and stack into one very tall column. Put the + logo+social full-width on top, then lay the three link groups out + in a 2-up grid (matching the tablet 47% intent) so the footer is + roughly half as tall. */ + /* Inline icon beside each contact label (Call Center / Our Location / + Email / Social network). */ + .elementor-6585 .dm-foot-label { + display: inline-flex !important; + align-items: center; + gap: 8px; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { + flex: 0 0 auto; + color: #C01227; + } + + /* ── Compact mobile contact footer (<=600px) ── + On phones the upper contact section stacked into one very tall + column with 50px margins between every block. Tighten the heading, + collapse those stack margins, and pair Email + Social side-by-side + (both are short) so the footer is far shorter without losing the + full-width address readability. */ + @media (max-width: 600px) { + /* Trim the band's oversized top/bottom padding on phones. */ + .elementor-6585 .elementor-element.elementor-element-b29b8fc > .e-con-inner { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .elementor-6585 .elementor-element.elementor-element-687d944 .logico-title { + font-size: clamp(24px, 6.6vw, 32px) !important; + line-height: 1.2 !important; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { width: 14px; height: 14px; } + /* The Call Center / Our Location group carries a 10px side padding + the Email / Social group doesn't, leaving its labels indented + 10px out of line with everything else — zero it so all four + contact blocks share the same left edge as the heading. */ + .elementor-6585 .elementor-element.elementor-element-2631b42 { + padding-left: 0 !important; + padding-right: 0 !important; + } + /* All four contact blocks stack in one left-aligned column with a + consistent gap (Social network sits below Email). */ + .elementor-6585 .elementor-element.elementor-element-2631b42, + .elementor-6585 .elementor-element.elementor-element-f5d8e63, + .elementor-6585 .elementor-element.elementor-element-645be8d, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + margin-top: 22px !important; + } + .elementor-6585 .elementor-element.elementor-element-645be8d > .e-con-inner { + flex-direction: column !important; + gap: 0 !important; + align-items: stretch !important; + } + .elementor-6585 .elementor-element.elementor-element-a96d151, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + width: 100% !important; + } + } + + @media (max-width: 480px) { + .elementor-6585 .elementor-element.elementor-element-3f1ba7a { + display: flex !important; + flex-direction: row !important; + flex-wrap: wrap !important; + gap: 36px 16px !important; + } + .elementor-6585 .elementor-element.elementor-element-64e2e81 { + flex: 0 0 100% !important; + width: 100% !important; + } + .elementor-6585 .elementor-element.elementor-element-5b73dd3, + .elementor-6585 .elementor-element.elementor-element-451f15c, + .elementor-6585 .elementor-element.elementor-element-44a1f5d { + flex: 1 1 calc(50% - 8px) !important; + width: calc(50% - 8px) !important; + min-width: 0 !important; + } + /* Allow long links (e.g. "Women entrepreneurship") to wrap inside + the narrow columns instead of overflowing. */ + .elementor-6585 .logico-custom-menu-widget li a { + white-space: normal !important; + } + /* Trim the large social-icons top gap so the brand block stays tight. */ + .elementor-6585 .elementor-element.elementor-element-e4e6486 > .elementor-widget-container { + margin-top: 24px !important; + } + } +
\ No newline at end of file diff --git a/build/contact.txt b/build/contact.txt index ec586ef..18ad17f 100644 --- a/build/contact.txt +++ b/build/contact.txt @@ -1,27 +1,28 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -12:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +14:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/chunks/0bq~re.i_tntr.css","style"] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -c:T1cef, +c:T1c70, .contacts-hero-custom { background-color: #0b0b0b !important; - background-image: url('/images/home2-slide-1.jpg') !important; + background-image: url('/images/home2-banner-3.jpg') !important; background-size: cover !important; background-position: center !important; } @@ -41,7 +42,9 @@ c:T1cef, .contacts-hero-bg-overlay { position: absolute !important; inset: 0 !important; - background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.8) 50%, rgba(0, 0, 0, 0.95) 100%) !important; + /* Lighter wash so the red van / sunset stays vivid like the reference, + while keeping the centered heading readable. */ + background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.42) 55%, rgba(0, 0, 0, 0.62) 100%) !important; z-index: 1 !important; } @@ -84,27 +87,27 @@ c:T1cef, z-index: 2 !important; } - /* Glassmorphic Center Card */ + /* Center content — card frame removed (no background, border, blur or + shadow); the text sits directly on the hero background. */ .contacts-hero-glass-card { position: relative !important; z-index: 3 !important; - background: rgba(10, 10, 10, 0.55) !important; - backdrop-filter: blur(24px) saturate(180%) !important; - -webkit-backdrop-filter: blur(24px) saturate(180%) !important; - border: 1px solid rgba(255, 255, 255, 0.08) !important; - border-radius: 30px !important; - padding: 60px 50px !important; + background: transparent !important; + backdrop-filter: none !important; + -webkit-backdrop-filter: none !important; + border: none !important; + border-radius: 0 !important; + padding: 0 16px !important; max-width: 820px !important; width: 90% !important; - box-shadow: 0 40px 80px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important; + box-shadow: none !important; text-align: center !important; - transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.6s ease, border-color 0.6s ease !important; } .contacts-hero-glass-card:hover { - transform: translateY(-5px) scale(1.005) !important; - box-shadow: 0 45px 90px rgba(192, 18, 39, 0.14), 0 30px 60px rgba(0, 0, 0, 0.6) !important; - border-color: rgba(192, 18, 39, 0.3) !important; + transform: none !important; + box-shadow: none !important; + border-color: transparent !important; } /* Spaced kicker */ @@ -210,23 +213,66 @@ c:T1cef, @media (max-width: 768px) { .contacts-hero-glass-card { - padding: 40px 24px !important; + padding: 0 16px !important; width: 95% !important; } } - 0:{"P":null,"c":["","contact"],"q":"","i":false,"f":[[["",{"children":["contact",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"41","className":"elementor elementor-41","children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$c"}}],"$Ld"],"$Le"]}]}]}]}],null,"$Lf"]}],{},null,false,null]},null,false,"$@10"]},null,false,null],"$L11",false]],"m":"$undefined","G":["$12",["$L13"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} -14:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] -15:"$Sreact.suspense" -18:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -1a:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] + 0:{"P":null,"c":["","contact"],"q":"","i":false,"f":[[["",{"children":["contact",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"41","className":"elementor elementor-41","children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$c"}}],"$Ld"],"$Le"]}]}]}]}],["$Lf","$L10"],"$L11"]}],{},null,false,null]},null,false,"$@12"]},null,false,null],"$L13",false]],"m":"$undefined","G":["$14",["$L15"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +17:I[23466,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0yeyoeh5fs0l6.js"],"default"] +18:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +19:"$Sreact.suspense" +1c:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +1e:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] d:["$","div",null,{"className":"custom-standard-hero-container","children":["$","div",null,{"className":"custom-standard-hero-card contacts-hero-custom","children":["$","div",null,{"className":"contacts-hero-card-custom","children":[["$","div",null,{"className":"contacts-hero-bg-overlay"}],["$","div",null,{"className":"contacts-hero-grid"}],["$","div",null,{"className":"contacts-hero-glow-red"}],["$","div",null,{"className":"contacts-hero-glow-blue"}],["$","div",null,{"className":"contacts-hero-glass-card","children":[["$","div",null,{"className":"contacts-hero-kicker","children":[["$","span",null,{"className":"contacts-hero-kicker-line"}],["$","span",null,{"className":"contacts-hero-kicker-text","children":"24/7 support & sales"}],["$","span",null,{"className":"contacts-hero-kicker-line"}]]}],["$","h1",null,{"className":"contacts-hero-title","children":["Get In ",["$","span",null,{"className":"contacts-hero-title-highlight","children":"Touch"}]]}],["$","p",null,{"className":"contacts-hero-desc","children":"Have questions about our smart delivery network, pricing plans, or partner ecosystem? Let's build the future of logistics together."}]]}]]}]}]}] -e:["$","div",null,{"className":"elementor-element elementor-element-7304a53 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"7304a53","data-element_type":"container","data-e-type":"container","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n .elementor-element-7304a53 {\n --padding-left: 20px;\n --padding-right: 20px;\n --margin-top: 40px;\n --margin-bottom: 0px;\n }\n .elementor-element-7304a53 .elementor-custom-embed {\n border-radius: 25px 25px 0 0;\n overflow: hidden;\n background: #ededed;\n line-height: 0;\n }\n .elementor-element-7304a53 .elementor-custom-embed iframe {\n display: block;\n filter: grayscale(100%);\n }\n @media (max-width: 768px) {\n .elementor-element-7304a53 .elementor-custom-embed { height: 360px !important; }\n }\n "}}],["$","div",null,{"className":"elementor-element elementor-element-5a3eed4 elementor-widget elementor-widget-google_maps","data-id":"5a3eed4","data-element_type":"widget","data-e-type":"widget","data-widget_type":"google_maps.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"elementor-custom-embed","style":{"width":"100%","height":"500px"},"children":["$","iframe",null,{"src":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3806.1918122409634!2d78.35579498480733!3d17.45053110831999!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3bcb93b8c5a049b3%3A0x6f4b5999fccad985!2sJayabheri%20Enclave%2C%20Gachibowli%2C%20Hyderabad%2C%20Telangana!5e0!3m2!1sen!2sin!4v1778663239768!5m2!1sen!2sin","width":"100%","height":"100%","style":{"border":0},"allowFullScreen":true,"loading":"lazy","referrerPolicy":"no-referrer-when-downgrade","title":"Doormile Location Map"}]}]}]}]]}] -f:["$","$L14",null,{"children":["$","$15",null,{"name":"Next.MetadataOutlet","children":"$@16"}]}] -17:[] -10:"$W17" -11:["$","$1","h",{"children":[null,["$","$L18",null,{"children":"$L19"}],["$","div",null,{"hidden":true,"children":["$","$L1a",null,{"children":["$","$15",null,{"name":"Next.Metadata","children":"$L1b"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] -13:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] -19:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -1c:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] -16:null -1b:[["$","title","0",{"children":"Contact Us – Doormile"}],["$","meta","1",{"name":"description","content":"Get in touch with Doormile's last-mile logistics team. Call us, email, visit our Gachibowli, Hyderabad office, or drop a message."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L1c","7",{}]] +16:T6a8, + .elementor-element-7304a53 { + --padding-left: 20px; + --padding-right: 20px; + --margin-top: 12px; + --margin-bottom: 0px; + /* Reduce the large gap above the map (was 40px). */ + margin-top: 12px !important; + padding-top: 0 !important; + /* Real side padding so the map is inset like the hero/footer sections + (the --padding-* vars only work with elementor-frontend.css, which + isn't loaded, so the map was going edge-to-edge). Matches + .custom-standard-hero-container: 20px desktop / 10px mobile. */ + padding-left: 20px; + padding-right: 20px; + box-sizing: border-box; + /* The section computes to display:inline here (the --display:flex var + isn't mapped without elementor-frontend.css), so its padding never + constrained the block child. Force flex so the padding insets the map. */ + display: flex; + flex-direction: column; + width: 100%; + } + .elementor-element-7304a53 .elementor-custom-embed { + /* Rounded on all corners so the map reads as a self-contained card + (bottom was square before, leaving a hard edge above the footer gap). */ + border-radius: 25px; + overflow: hidden; + background: #0b0b0b; + line-height: 0; + } + @media (max-width: 840px) { + .elementor-element-7304a53 { + padding-left: 10px; + padding-right: 10px; + } + } + @media (max-width: 768px) { + .elementor-element-7304a53 .elementor-custom-embed { height: 360px !important; } + } + e:["$","div",null,{"className":"elementor-element elementor-element-7304a53 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"7304a53","data-element_type":"container","data-e-type":"container","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$16"}}],["$","div",null,{"className":"elementor-element elementor-element-5a3eed4 elementor-widget","data-id":"5a3eed4","data-element_type":"widget","data-e-type":"widget","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"elementor-custom-embed","style":{"width":"100%","height":"500px"},"children":["$","$L17",null,{}]}]}]}]]}] +f:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0bq~re.i_tntr.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +10:["$","script","script-0",{"src":"/_next/static/chunks/0yeyoeh5fs0l6.js","async":true,"nonce":"$undefined"}] +11:["$","$L18",null,{"children":["$","$19",null,{"name":"Next.MetadataOutlet","children":"$@1a"}]}] +1b:[] +12:"$W1b" +13:["$","$1","h",{"children":[null,["$","$L1c",null,{"children":"$L1d"}],["$","div",null,{"hidden":true,"children":["$","$L1e",null,{"children":["$","$19",null,{"name":"Next.Metadata","children":"$L1f"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] +15:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +1d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +20:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +1a:null +1f:[["$","title","0",{"children":"Contact Us – Doormile"}],["$","meta","1",{"name":"description","content":"Get in touch with Doormile's last-mile logistics team. Call us, email, visit our Gachibowli, Hyderabad office, or drop a message."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L20","7",{}]] diff --git a/build/contact/__next._full.txt b/build/contact/__next._full.txt index ec586ef..18ad17f 100644 --- a/build/contact/__next._full.txt +++ b/build/contact/__next._full.txt @@ -1,27 +1,28 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -12:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +14:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/chunks/0bq~re.i_tntr.css","style"] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -c:T1cef, +c:T1c70, .contacts-hero-custom { background-color: #0b0b0b !important; - background-image: url('/images/home2-slide-1.jpg') !important; + background-image: url('/images/home2-banner-3.jpg') !important; background-size: cover !important; background-position: center !important; } @@ -41,7 +42,9 @@ c:T1cef, .contacts-hero-bg-overlay { position: absolute !important; inset: 0 !important; - background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.8) 50%, rgba(0, 0, 0, 0.95) 100%) !important; + /* Lighter wash so the red van / sunset stays vivid like the reference, + while keeping the centered heading readable. */ + background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.42) 55%, rgba(0, 0, 0, 0.62) 100%) !important; z-index: 1 !important; } @@ -84,27 +87,27 @@ c:T1cef, z-index: 2 !important; } - /* Glassmorphic Center Card */ + /* Center content — card frame removed (no background, border, blur or + shadow); the text sits directly on the hero background. */ .contacts-hero-glass-card { position: relative !important; z-index: 3 !important; - background: rgba(10, 10, 10, 0.55) !important; - backdrop-filter: blur(24px) saturate(180%) !important; - -webkit-backdrop-filter: blur(24px) saturate(180%) !important; - border: 1px solid rgba(255, 255, 255, 0.08) !important; - border-radius: 30px !important; - padding: 60px 50px !important; + background: transparent !important; + backdrop-filter: none !important; + -webkit-backdrop-filter: none !important; + border: none !important; + border-radius: 0 !important; + padding: 0 16px !important; max-width: 820px !important; width: 90% !important; - box-shadow: 0 40px 80px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important; + box-shadow: none !important; text-align: center !important; - transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.6s ease, border-color 0.6s ease !important; } .contacts-hero-glass-card:hover { - transform: translateY(-5px) scale(1.005) !important; - box-shadow: 0 45px 90px rgba(192, 18, 39, 0.14), 0 30px 60px rgba(0, 0, 0, 0.6) !important; - border-color: rgba(192, 18, 39, 0.3) !important; + transform: none !important; + box-shadow: none !important; + border-color: transparent !important; } /* Spaced kicker */ @@ -210,23 +213,66 @@ c:T1cef, @media (max-width: 768px) { .contacts-hero-glass-card { - padding: 40px 24px !important; + padding: 0 16px !important; width: 95% !important; } } - 0:{"P":null,"c":["","contact"],"q":"","i":false,"f":[[["",{"children":["contact",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"41","className":"elementor elementor-41","children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$c"}}],"$Ld"],"$Le"]}]}]}]}],null,"$Lf"]}],{},null,false,null]},null,false,"$@10"]},null,false,null],"$L11",false]],"m":"$undefined","G":["$12",["$L13"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} -14:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] -15:"$Sreact.suspense" -18:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -1a:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] + 0:{"P":null,"c":["","contact"],"q":"","i":false,"f":[[["",{"children":["contact",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"41","className":"elementor elementor-41","children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$c"}}],"$Ld"],"$Le"]}]}]}]}],["$Lf","$L10"],"$L11"]}],{},null,false,null]},null,false,"$@12"]},null,false,null],"$L13",false]],"m":"$undefined","G":["$14",["$L15"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +17:I[23466,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0yeyoeh5fs0l6.js"],"default"] +18:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +19:"$Sreact.suspense" +1c:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +1e:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] d:["$","div",null,{"className":"custom-standard-hero-container","children":["$","div",null,{"className":"custom-standard-hero-card contacts-hero-custom","children":["$","div",null,{"className":"contacts-hero-card-custom","children":[["$","div",null,{"className":"contacts-hero-bg-overlay"}],["$","div",null,{"className":"contacts-hero-grid"}],["$","div",null,{"className":"contacts-hero-glow-red"}],["$","div",null,{"className":"contacts-hero-glow-blue"}],["$","div",null,{"className":"contacts-hero-glass-card","children":[["$","div",null,{"className":"contacts-hero-kicker","children":[["$","span",null,{"className":"contacts-hero-kicker-line"}],["$","span",null,{"className":"contacts-hero-kicker-text","children":"24/7 support & sales"}],["$","span",null,{"className":"contacts-hero-kicker-line"}]]}],["$","h1",null,{"className":"contacts-hero-title","children":["Get In ",["$","span",null,{"className":"contacts-hero-title-highlight","children":"Touch"}]]}],["$","p",null,{"className":"contacts-hero-desc","children":"Have questions about our smart delivery network, pricing plans, or partner ecosystem? Let's build the future of logistics together."}]]}]]}]}]}] -e:["$","div",null,{"className":"elementor-element elementor-element-7304a53 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"7304a53","data-element_type":"container","data-e-type":"container","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n .elementor-element-7304a53 {\n --padding-left: 20px;\n --padding-right: 20px;\n --margin-top: 40px;\n --margin-bottom: 0px;\n }\n .elementor-element-7304a53 .elementor-custom-embed {\n border-radius: 25px 25px 0 0;\n overflow: hidden;\n background: #ededed;\n line-height: 0;\n }\n .elementor-element-7304a53 .elementor-custom-embed iframe {\n display: block;\n filter: grayscale(100%);\n }\n @media (max-width: 768px) {\n .elementor-element-7304a53 .elementor-custom-embed { height: 360px !important; }\n }\n "}}],["$","div",null,{"className":"elementor-element elementor-element-5a3eed4 elementor-widget elementor-widget-google_maps","data-id":"5a3eed4","data-element_type":"widget","data-e-type":"widget","data-widget_type":"google_maps.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"elementor-custom-embed","style":{"width":"100%","height":"500px"},"children":["$","iframe",null,{"src":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3806.1918122409634!2d78.35579498480733!3d17.45053110831999!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3bcb93b8c5a049b3%3A0x6f4b5999fccad985!2sJayabheri%20Enclave%2C%20Gachibowli%2C%20Hyderabad%2C%20Telangana!5e0!3m2!1sen!2sin!4v1778663239768!5m2!1sen!2sin","width":"100%","height":"100%","style":{"border":0},"allowFullScreen":true,"loading":"lazy","referrerPolicy":"no-referrer-when-downgrade","title":"Doormile Location Map"}]}]}]}]]}] -f:["$","$L14",null,{"children":["$","$15",null,{"name":"Next.MetadataOutlet","children":"$@16"}]}] -17:[] -10:"$W17" -11:["$","$1","h",{"children":[null,["$","$L18",null,{"children":"$L19"}],["$","div",null,{"hidden":true,"children":["$","$L1a",null,{"children":["$","$15",null,{"name":"Next.Metadata","children":"$L1b"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] -13:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] -19:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -1c:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] -16:null -1b:[["$","title","0",{"children":"Contact Us – Doormile"}],["$","meta","1",{"name":"description","content":"Get in touch with Doormile's last-mile logistics team. Call us, email, visit our Gachibowli, Hyderabad office, or drop a message."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L1c","7",{}]] +16:T6a8, + .elementor-element-7304a53 { + --padding-left: 20px; + --padding-right: 20px; + --margin-top: 12px; + --margin-bottom: 0px; + /* Reduce the large gap above the map (was 40px). */ + margin-top: 12px !important; + padding-top: 0 !important; + /* Real side padding so the map is inset like the hero/footer sections + (the --padding-* vars only work with elementor-frontend.css, which + isn't loaded, so the map was going edge-to-edge). Matches + .custom-standard-hero-container: 20px desktop / 10px mobile. */ + padding-left: 20px; + padding-right: 20px; + box-sizing: border-box; + /* The section computes to display:inline here (the --display:flex var + isn't mapped without elementor-frontend.css), so its padding never + constrained the block child. Force flex so the padding insets the map. */ + display: flex; + flex-direction: column; + width: 100%; + } + .elementor-element-7304a53 .elementor-custom-embed { + /* Rounded on all corners so the map reads as a self-contained card + (bottom was square before, leaving a hard edge above the footer gap). */ + border-radius: 25px; + overflow: hidden; + background: #0b0b0b; + line-height: 0; + } + @media (max-width: 840px) { + .elementor-element-7304a53 { + padding-left: 10px; + padding-right: 10px; + } + } + @media (max-width: 768px) { + .elementor-element-7304a53 .elementor-custom-embed { height: 360px !important; } + } + e:["$","div",null,{"className":"elementor-element elementor-element-7304a53 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"7304a53","data-element_type":"container","data-e-type":"container","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$16"}}],["$","div",null,{"className":"elementor-element elementor-element-5a3eed4 elementor-widget","data-id":"5a3eed4","data-element_type":"widget","data-e-type":"widget","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"elementor-custom-embed","style":{"width":"100%","height":"500px"},"children":["$","$L17",null,{}]}]}]}]]}] +f:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0bq~re.i_tntr.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +10:["$","script","script-0",{"src":"/_next/static/chunks/0yeyoeh5fs0l6.js","async":true,"nonce":"$undefined"}] +11:["$","$L18",null,{"children":["$","$19",null,{"name":"Next.MetadataOutlet","children":"$@1a"}]}] +1b:[] +12:"$W1b" +13:["$","$1","h",{"children":[null,["$","$L1c",null,{"children":"$L1d"}],["$","div",null,{"hidden":true,"children":["$","$L1e",null,{"children":["$","$19",null,{"name":"Next.Metadata","children":"$L1f"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] +15:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +1d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +20:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +1a:null +1f:[["$","title","0",{"children":"Contact Us – Doormile"}],["$","meta","1",{"name":"description","content":"Get in touch with Doormile's last-mile logistics team. Call us, email, visit our Gachibowli, Hyderabad office, or drop a message."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L20","7",{}]] diff --git a/build/contact/__next._head.txt b/build/contact/__next._head.txt index 704bb2f..09286e6 100644 --- a/build/contact/__next._head.txt +++ b/build/contact/__next._head.txt @@ -1,6 +1,6 @@ 1:"$Sreact.fragment" -2:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -3:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] 4:"$Sreact.suspense" -5:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] -0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Contact Us – Doormile"}],["$","meta","1",{"name":"description","content":"Get in touch with Doormile's last-mile logistics team. Call us, email, visit our Gachibowli, Hyderabad office, or drop a message."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Contact Us – Doormile"}],["$","meta","1",{"name":"description","content":"Get in touch with Doormile's last-mile logistics team. Call us, email, visit our Gachibowli, Hyderabad office, or drop a message."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/contact/__next._index.txt b/build/contact/__next._index.txt index d8e09a9..9c09249 100644 --- a/build/contact/__next._index.txt +++ b/build/contact/__next._index.txt @@ -1,15 +1,15 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/contact/__next._tree.txt b/build/contact/__next._tree.txt index f9f8032..6ed892c 100644 --- a/build/contact/__next._tree.txt +++ b/build/contact/__next._tree.txt @@ -1,9 +1,10 @@ -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] +:HL["/_next/static/chunks/0bq~re.i_tntr.css","style"] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"contact","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"contact","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/contact/__next.contact.__PAGE__.txt b/build/contact/__next.contact.__PAGE__.txt index cf53033..1cadeb6 100644 --- a/build/contact/__next.contact.__PAGE__.txt +++ b/build/contact/__next.contact.__PAGE__.txt @@ -1,10 +1,12 @@ 1:"$Sreact.fragment" -6:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] -7:"$Sreact.suspense" -2:T1cef, +9:I[23466,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0yeyoeh5fs0l6.js"],"default"] +a:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +b:"$Sreact.suspense" +:HL["/_next/static/chunks/0bq~re.i_tntr.css","style"] +2:T1c70, .contacts-hero-custom { background-color: #0b0b0b !important; - background-image: url('/images/home2-slide-1.jpg') !important; + background-image: url('/images/home2-banner-3.jpg') !important; background-size: cover !important; background-position: center !important; } @@ -24,7 +26,9 @@ .contacts-hero-bg-overlay { position: absolute !important; inset: 0 !important; - background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.8) 50%, rgba(0, 0, 0, 0.95) 100%) !important; + /* Lighter wash so the red van / sunset stays vivid like the reference, + while keeping the centered heading readable. */ + background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.42) 55%, rgba(0, 0, 0, 0.62) 100%) !important; z-index: 1 !important; } @@ -67,27 +71,27 @@ z-index: 2 !important; } - /* Glassmorphic Center Card */ + /* Center content — card frame removed (no background, border, blur or + shadow); the text sits directly on the hero background. */ .contacts-hero-glass-card { position: relative !important; z-index: 3 !important; - background: rgba(10, 10, 10, 0.55) !important; - backdrop-filter: blur(24px) saturate(180%) !important; - -webkit-backdrop-filter: blur(24px) saturate(180%) !important; - border: 1px solid rgba(255, 255, 255, 0.08) !important; - border-radius: 30px !important; - padding: 60px 50px !important; + background: transparent !important; + backdrop-filter: none !important; + -webkit-backdrop-filter: none !important; + border: none !important; + border-radius: 0 !important; + padding: 0 16px !important; max-width: 820px !important; width: 90% !important; - box-shadow: 0 40px 80px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important; + box-shadow: none !important; text-align: center !important; - transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.6s ease, border-color 0.6s ease !important; } .contacts-hero-glass-card:hover { - transform: translateY(-5px) scale(1.005) !important; - box-shadow: 0 45px 90px rgba(192, 18, 39, 0.14), 0 30px 60px rgba(0, 0, 0, 0.6) !important; - border-color: rgba(192, 18, 39, 0.3) !important; + transform: none !important; + box-shadow: none !important; + border-color: transparent !important; } /* Spaced kicker */ @@ -193,12 +197,54 @@ @media (max-width: 768px) { .contacts-hero-glass-card { - padding: 40px 24px !important; + padding: 0 16px !important; width: 95% !important; } } - 0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"41","className":"elementor elementor-41","children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$2"}}],"$L3"],"$L4"]}]}]}]}],null,"$L5"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} + 0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"41","className":"elementor elementor-41","children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$2"}}],"$L3"],"$L4"]}]}]}]}],["$L5","$L6"],"$L7"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} 3:["$","div",null,{"className":"custom-standard-hero-container","children":["$","div",null,{"className":"custom-standard-hero-card contacts-hero-custom","children":["$","div",null,{"className":"contacts-hero-card-custom","children":[["$","div",null,{"className":"contacts-hero-bg-overlay"}],["$","div",null,{"className":"contacts-hero-grid"}],["$","div",null,{"className":"contacts-hero-glow-red"}],["$","div",null,{"className":"contacts-hero-glow-blue"}],["$","div",null,{"className":"contacts-hero-glass-card","children":[["$","div",null,{"className":"contacts-hero-kicker","children":[["$","span",null,{"className":"contacts-hero-kicker-line"}],["$","span",null,{"className":"contacts-hero-kicker-text","children":"24/7 support & sales"}],["$","span",null,{"className":"contacts-hero-kicker-line"}]]}],["$","h1",null,{"className":"contacts-hero-title","children":["Get In ",["$","span",null,{"className":"contacts-hero-title-highlight","children":"Touch"}]]}],["$","p",null,{"className":"contacts-hero-desc","children":"Have questions about our smart delivery network, pricing plans, or partner ecosystem? Let's build the future of logistics together."}]]}]]}]}]}] -4:["$","div",null,{"className":"elementor-element elementor-element-7304a53 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"7304a53","data-element_type":"container","data-e-type":"container","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n .elementor-element-7304a53 {\n --padding-left: 20px;\n --padding-right: 20px;\n --margin-top: 40px;\n --margin-bottom: 0px;\n }\n .elementor-element-7304a53 .elementor-custom-embed {\n border-radius: 25px 25px 0 0;\n overflow: hidden;\n background: #ededed;\n line-height: 0;\n }\n .elementor-element-7304a53 .elementor-custom-embed iframe {\n display: block;\n filter: grayscale(100%);\n }\n @media (max-width: 768px) {\n .elementor-element-7304a53 .elementor-custom-embed { height: 360px !important; }\n }\n "}}],["$","div",null,{"className":"elementor-element elementor-element-5a3eed4 elementor-widget elementor-widget-google_maps","data-id":"5a3eed4","data-element_type":"widget","data-e-type":"widget","data-widget_type":"google_maps.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"elementor-custom-embed","style":{"width":"100%","height":"500px"},"children":["$","iframe",null,{"src":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3806.1918122409634!2d78.35579498480733!3d17.45053110831999!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3bcb93b8c5a049b3%3A0x6f4b5999fccad985!2sJayabheri%20Enclave%2C%20Gachibowli%2C%20Hyderabad%2C%20Telangana!5e0!3m2!1sen!2sin!4v1778663239768!5m2!1sen!2sin","width":"100%","height":"100%","style":{"border":0},"allowFullScreen":true,"loading":"lazy","referrerPolicy":"no-referrer-when-downgrade","title":"Doormile Location Map"}]}]}]}]]}] -5:["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}] -8:null +8:T6a8, + .elementor-element-7304a53 { + --padding-left: 20px; + --padding-right: 20px; + --margin-top: 12px; + --margin-bottom: 0px; + /* Reduce the large gap above the map (was 40px). */ + margin-top: 12px !important; + padding-top: 0 !important; + /* Real side padding so the map is inset like the hero/footer sections + (the --padding-* vars only work with elementor-frontend.css, which + isn't loaded, so the map was going edge-to-edge). Matches + .custom-standard-hero-container: 20px desktop / 10px mobile. */ + padding-left: 20px; + padding-right: 20px; + box-sizing: border-box; + /* The section computes to display:inline here (the --display:flex var + isn't mapped without elementor-frontend.css), so its padding never + constrained the block child. Force flex so the padding insets the map. */ + display: flex; + flex-direction: column; + width: 100%; + } + .elementor-element-7304a53 .elementor-custom-embed { + /* Rounded on all corners so the map reads as a self-contained card + (bottom was square before, leaving a hard edge above the footer gap). */ + border-radius: 25px; + overflow: hidden; + background: #0b0b0b; + line-height: 0; + } + @media (max-width: 840px) { + .elementor-element-7304a53 { + padding-left: 10px; + padding-right: 10px; + } + } + @media (max-width: 768px) { + .elementor-element-7304a53 .elementor-custom-embed { height: 360px !important; } + } + 4:["$","div",null,{"className":"elementor-element elementor-element-7304a53 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"7304a53","data-element_type":"container","data-e-type":"container","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$8"}}],["$","div",null,{"className":"elementor-element elementor-element-5a3eed4 elementor-widget","data-id":"5a3eed4","data-element_type":"widget","data-e-type":"widget","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"elementor-custom-embed","style":{"width":"100%","height":"500px"},"children":["$","$L9",null,{}]}]}]}]]}] +5:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0bq~re.i_tntr.css","precedence":"next"}] +6:["$","script","script-0",{"src":"/_next/static/chunks/0yeyoeh5fs0l6.js","async":true}] +7:["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}] +c:null diff --git a/build/contact/__next.contact.txt b/build/contact/__next.contact.txt index 1983a3d..e7f2861 100644 --- a/build/contact/__next.contact.txt +++ b/build/contact/__next.contact.txt @@ -1,5 +1,5 @@ 1:"$Sreact.fragment" -2:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] 4:[] -0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/cookie-policy.html b/build/cookie-policy.html index e89cff1..6353ef3 100644 --- a/build/cookie-policy.html +++ b/build/cookie-policy.html @@ -1,4 +1,4 @@ -Cookie Policy – Doormile
\ No newline at end of file + + /* Compact footer link columns on phones (<=480px). The kit only sets + column --width at min-width:481px, so below that all four blocks + fall back to 100% and stack into one very tall column. Put the + logo+social full-width on top, then lay the three link groups out + in a 2-up grid (matching the tablet 47% intent) so the footer is + roughly half as tall. */ + /* Inline icon beside each contact label (Call Center / Our Location / + Email / Social network). */ + .elementor-6585 .dm-foot-label { + display: inline-flex !important; + align-items: center; + gap: 8px; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { + flex: 0 0 auto; + color: #C01227; + } + + /* ── Compact mobile contact footer (<=600px) ── + On phones the upper contact section stacked into one very tall + column with 50px margins between every block. Tighten the heading, + collapse those stack margins, and pair Email + Social side-by-side + (both are short) so the footer is far shorter without losing the + full-width address readability. */ + @media (max-width: 600px) { + /* Trim the band's oversized top/bottom padding on phones. */ + .elementor-6585 .elementor-element.elementor-element-b29b8fc > .e-con-inner { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .elementor-6585 .elementor-element.elementor-element-687d944 .logico-title { + font-size: clamp(24px, 6.6vw, 32px) !important; + line-height: 1.2 !important; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { width: 14px; height: 14px; } + /* The Call Center / Our Location group carries a 10px side padding + the Email / Social group doesn't, leaving its labels indented + 10px out of line with everything else — zero it so all four + contact blocks share the same left edge as the heading. */ + .elementor-6585 .elementor-element.elementor-element-2631b42 { + padding-left: 0 !important; + padding-right: 0 !important; + } + /* All four contact blocks stack in one left-aligned column with a + consistent gap (Social network sits below Email). */ + .elementor-6585 .elementor-element.elementor-element-2631b42, + .elementor-6585 .elementor-element.elementor-element-f5d8e63, + .elementor-6585 .elementor-element.elementor-element-645be8d, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + margin-top: 22px !important; + } + .elementor-6585 .elementor-element.elementor-element-645be8d > .e-con-inner { + flex-direction: column !important; + gap: 0 !important; + align-items: stretch !important; + } + .elementor-6585 .elementor-element.elementor-element-a96d151, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + width: 100% !important; + } + } + + @media (max-width: 480px) { + .elementor-6585 .elementor-element.elementor-element-3f1ba7a { + display: flex !important; + flex-direction: row !important; + flex-wrap: wrap !important; + gap: 36px 16px !important; + } + .elementor-6585 .elementor-element.elementor-element-64e2e81 { + flex: 0 0 100% !important; + width: 100% !important; + } + .elementor-6585 .elementor-element.elementor-element-5b73dd3, + .elementor-6585 .elementor-element.elementor-element-451f15c, + .elementor-6585 .elementor-element.elementor-element-44a1f5d { + flex: 1 1 calc(50% - 8px) !important; + width: calc(50% - 8px) !important; + min-width: 0 !important; + } + /* Allow long links (e.g. "Women entrepreneurship") to wrap inside + the narrow columns instead of overflowing. */ + .elementor-6585 .logico-custom-menu-widget li a { + white-space: normal !important; + } + /* Trim the large social-icons top gap so the brand block stays tight. */ + .elementor-6585 .elementor-element.elementor-element-e4e6486 > .elementor-widget-container { + margin-top: 24px !important; + } + } +
\ No newline at end of file diff --git a/build/cookie-policy.txt b/build/cookie-policy.txt index 31e0c55..71bc143 100644 --- a/build/cookie-policy.txt +++ b/build/cookie-policy.txt @@ -1,16 +1,16 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -15:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -18,11 +18,11 @@ b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4 :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"P":null,"c":["","cookie-policy"],"q":"","i":false,"f":[[["",{"children":["cookie-policy",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","section",null,{"className":"dm-legal","aria-label":"Cookie Policy","children":[["$","div",null,{"className":"dm-legal__wrap","children":[["$","aside",null,{"className":"dm-legal__toc","aria-label":"On this page","children":["$","div",null,{"className":"dm-legal__toc-inner","children":[["$","p",null,{"className":"dm-legal__toc-label","children":"On this page"}],["$","nav",null,{"children":["$","ul",null,{"children":[["$","li","What Are Cookies?",{"children":["$","a",null,{"href":"#what-are-cookies","children":"What Are Cookies?"}]}],["$","li","Why We Use Cookies",{"children":["$","a",null,{"href":"#why-we-use-cookies","children":"Why We Use Cookies"}]}],["$","li","Types of Cookies We Use",{"children":["$","a",null,{"href":"#types-of-cookies-we-use","children":"Types of Cookies We Use"}]}],"$Lc","$Ld","$Le","$Lf"]}]}]]}]}],"$L10"]}],"$L11"]}]}]}]}],null,"$L12"]}],{},null,false,null]},null,false,"$@13"]},null,false,null],"$L14",false]],"m":"$undefined","G":["$15",["$L16"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} -19:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +0:{"P":null,"c":["","cookie-policy"],"q":"","i":false,"f":[[["",{"children":["cookie-policy",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","section",null,{"className":"dm-legal","aria-label":"Cookie Policy","children":[["$","div",null,{"className":"dm-legal__wrap","children":[["$","aside",null,{"className":"dm-legal__toc","aria-label":"On this page","children":["$","div",null,{"className":"dm-legal__toc-inner","children":[["$","p",null,{"className":"dm-legal__toc-label","children":"On this page"}],["$","nav",null,{"children":["$","ul",null,{"children":[["$","li","What Are Cookies?",{"children":["$","a",null,{"href":"#what-are-cookies","children":"What Are Cookies?"}]}],["$","li","Why We Use Cookies",{"children":["$","a",null,{"href":"#why-we-use-cookies","children":"Why We Use Cookies"}]}],["$","li","Types of Cookies We Use",{"children":["$","a",null,{"href":"#types-of-cookies-we-use","children":"Types of Cookies We Use"}]}],"$Lc","$Ld","$Le","$Lf"]}]}]]}]}],"$L10"]}],"$L11"]}]}]}]}],null,"$L12"]}],{},null,false,null]},null,false,"$@13"]},null,false,null],"$L14",false]],"m":"$undefined","G":["$15",["$L16"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +19:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 1a:"$Sreact.suspense" -1d:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -1f:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +1d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +1f:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] c:["$","li","Managing Cookies",{"children":["$","a",null,{"href":"#managing-cookies","children":"Managing Cookies"}]}] d:["$","li","Cookie Consent",{"children":["$","a",null,{"href":"#cookie-consent","children":"Cookie Consent"}]}] e:["$","li","Policy Updates",{"children":["$","a",null,{"href":"#policy-updates","children":"Policy Updates"}]}] @@ -206,10 +206,10 @@ f:["$","li","Contact Us",{"children":["$","a",null,{"href":"#contact-us","childr 1c:[] 13:"$W1c" 14:["$","$1","h",{"children":[null,["$","$L1d",null,{"children":"$L1e"}],["$","div",null,{"hidden":true,"children":["$","$L1f",null,{"children":["$","$1a",null,{"name":"Next.Metadata","children":"$L20"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] -16:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] -21:I[22016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] +16:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +21:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] 17:["$","section","Contact Us",{"id":"contact-us","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Contact Us"}],[["$","p","0",{"className":"dm-legal__p","children":["If you have questions regarding this Cookie Policy or our use of cookies, please contact us through our ",["$","$L21",null,{"href":"/contact","className":"dm-legal__link","children":"Contact page"}],"."]}]]]}] 1e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -22:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +22:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] 1b:null 20:[["$","title","0",{"children":"Cookie Policy – Doormile"}],["$","meta","1",{"name":"description","content":"How Doormile uses cookies and similar technologies when you visit our website, and how you can manage them."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L22","7",{}]] diff --git a/build/cookie-policy/__next._full.txt b/build/cookie-policy/__next._full.txt index 31e0c55..71bc143 100644 --- a/build/cookie-policy/__next._full.txt +++ b/build/cookie-policy/__next._full.txt @@ -1,16 +1,16 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -15:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -18,11 +18,11 @@ b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4 :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"P":null,"c":["","cookie-policy"],"q":"","i":false,"f":[[["",{"children":["cookie-policy",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","section",null,{"className":"dm-legal","aria-label":"Cookie Policy","children":[["$","div",null,{"className":"dm-legal__wrap","children":[["$","aside",null,{"className":"dm-legal__toc","aria-label":"On this page","children":["$","div",null,{"className":"dm-legal__toc-inner","children":[["$","p",null,{"className":"dm-legal__toc-label","children":"On this page"}],["$","nav",null,{"children":["$","ul",null,{"children":[["$","li","What Are Cookies?",{"children":["$","a",null,{"href":"#what-are-cookies","children":"What Are Cookies?"}]}],["$","li","Why We Use Cookies",{"children":["$","a",null,{"href":"#why-we-use-cookies","children":"Why We Use Cookies"}]}],["$","li","Types of Cookies We Use",{"children":["$","a",null,{"href":"#types-of-cookies-we-use","children":"Types of Cookies We Use"}]}],"$Lc","$Ld","$Le","$Lf"]}]}]]}]}],"$L10"]}],"$L11"]}]}]}]}],null,"$L12"]}],{},null,false,null]},null,false,"$@13"]},null,false,null],"$L14",false]],"m":"$undefined","G":["$15",["$L16"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} -19:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +0:{"P":null,"c":["","cookie-policy"],"q":"","i":false,"f":[[["",{"children":["cookie-policy",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","section",null,{"className":"dm-legal","aria-label":"Cookie Policy","children":[["$","div",null,{"className":"dm-legal__wrap","children":[["$","aside",null,{"className":"dm-legal__toc","aria-label":"On this page","children":["$","div",null,{"className":"dm-legal__toc-inner","children":[["$","p",null,{"className":"dm-legal__toc-label","children":"On this page"}],["$","nav",null,{"children":["$","ul",null,{"children":[["$","li","What Are Cookies?",{"children":["$","a",null,{"href":"#what-are-cookies","children":"What Are Cookies?"}]}],["$","li","Why We Use Cookies",{"children":["$","a",null,{"href":"#why-we-use-cookies","children":"Why We Use Cookies"}]}],["$","li","Types of Cookies We Use",{"children":["$","a",null,{"href":"#types-of-cookies-we-use","children":"Types of Cookies We Use"}]}],"$Lc","$Ld","$Le","$Lf"]}]}]]}]}],"$L10"]}],"$L11"]}]}]}]}],null,"$L12"]}],{},null,false,null]},null,false,"$@13"]},null,false,null],"$L14",false]],"m":"$undefined","G":["$15",["$L16"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +19:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 1a:"$Sreact.suspense" -1d:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -1f:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +1d:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +1f:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] c:["$","li","Managing Cookies",{"children":["$","a",null,{"href":"#managing-cookies","children":"Managing Cookies"}]}] d:["$","li","Cookie Consent",{"children":["$","a",null,{"href":"#cookie-consent","children":"Cookie Consent"}]}] e:["$","li","Policy Updates",{"children":["$","a",null,{"href":"#policy-updates","children":"Policy Updates"}]}] @@ -206,10 +206,10 @@ f:["$","li","Contact Us",{"children":["$","a",null,{"href":"#contact-us","childr 1c:[] 13:"$W1c" 14:["$","$1","h",{"children":[null,["$","$L1d",null,{"children":"$L1e"}],["$","div",null,{"hidden":true,"children":["$","$L1f",null,{"children":["$","$1a",null,{"name":"Next.Metadata","children":"$L20"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] -16:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] -21:I[22016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] +16:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +21:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] 17:["$","section","Contact Us",{"id":"contact-us","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Contact Us"}],[["$","p","0",{"className":"dm-legal__p","children":["If you have questions regarding this Cookie Policy or our use of cookies, please contact us through our ",["$","$L21",null,{"href":"/contact","className":"dm-legal__link","children":"Contact page"}],"."]}]]]}] 1e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -22:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +22:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] 1b:null 20:[["$","title","0",{"children":"Cookie Policy – Doormile"}],["$","meta","1",{"name":"description","content":"How Doormile uses cookies and similar technologies when you visit our website, and how you can manage them."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L22","7",{}]] diff --git a/build/cookie-policy/__next._head.txt b/build/cookie-policy/__next._head.txt index 5576af1..72c5b3c 100644 --- a/build/cookie-policy/__next._head.txt +++ b/build/cookie-policy/__next._head.txt @@ -1,6 +1,6 @@ 1:"$Sreact.fragment" -2:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -3:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] 4:"$Sreact.suspense" -5:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] -0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Cookie Policy – Doormile"}],["$","meta","1",{"name":"description","content":"How Doormile uses cookies and similar technologies when you visit our website, and how you can manage them."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Cookie Policy – Doormile"}],["$","meta","1",{"name":"description","content":"How Doormile uses cookies and similar technologies when you visit our website, and how you can manage them."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/cookie-policy/__next._index.txt b/build/cookie-policy/__next._index.txt index d8e09a9..9c09249 100644 --- a/build/cookie-policy/__next._index.txt +++ b/build/cookie-policy/__next._index.txt @@ -1,15 +1,15 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/cookie-policy/__next._tree.txt b/build/cookie-policy/__next._tree.txt index 8f50c11..5456434 100644 --- a/build/cookie-policy/__next._tree.txt +++ b/build/cookie-policy/__next._tree.txt @@ -1,4 +1,4 @@ -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -6,4 +6,4 @@ :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"cookie-policy","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"cookie-policy","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/cookie-policy/__next.cookie-policy.__PAGE__.txt b/build/cookie-policy/__next.cookie-policy.__PAGE__.txt index bf35338..60305ad 100644 --- a/build/cookie-policy/__next.cookie-policy.__PAGE__.txt +++ b/build/cookie-policy/__next.cookie-policy.__PAGE__.txt @@ -1,8 +1,8 @@ 1:"$Sreact.fragment" -a:I[22016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] -c:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +a:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] +c:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] d:"$Sreact.suspense" -0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","section",null,{"className":"dm-legal","aria-label":"Cookie Policy","children":[["$","div",null,{"className":"dm-legal__wrap","children":[["$","aside",null,{"className":"dm-legal__toc","aria-label":"On this page","children":["$","div",null,{"className":"dm-legal__toc-inner","children":[["$","p",null,{"className":"dm-legal__toc-label","children":"On this page"}],["$","nav",null,{"children":["$","ul",null,{"children":[["$","li","What Are Cookies?",{"children":["$","a",null,{"href":"#what-are-cookies","children":"What Are Cookies?"}]}],["$","li","Why We Use Cookies",{"children":["$","a",null,{"href":"#why-we-use-cookies","children":"Why We Use Cookies"}]}],["$","li","Types of Cookies We Use",{"children":["$","a",null,{"href":"#types-of-cookies-we-use","children":"Types of Cookies We Use"}]}],["$","li","Managing Cookies",{"children":["$","a",null,{"href":"#managing-cookies","children":"Managing Cookies"}]}],["$","li","Cookie Consent",{"children":["$","a",null,{"href":"#cookie-consent","children":"Cookie Consent"}]}],["$","li","Policy Updates",{"children":["$","a",null,{"href":"#policy-updates","children":"Policy Updates"}]}],["$","li","Contact Us",{"children":["$","a",null,{"href":"#contact-us","children":"Contact Us"}]}]]}]}]]}]}],["$","div",null,{"className":"dm-legal__main","children":[["$","header",null,{"className":"dm-legal__hero","children":[["$","h1",null,{"className":"dm-legal__title","children":"Cookie Policy"}],["$","p",null,{"className":"dm-legal__updated","children":["Last Updated: ","June 2026"]}],["$","p",null,{"className":"dm-legal__lead","children":"This Cookie Policy explains how Doormile uses cookies and similar technologies when you visit our website."}]]}],["$","article",null,{"className":"dm-legal__content","children":[["$","section","What Are Cookies?",{"id":"what-are-cookies","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"What Are Cookies?"}],[["$","p","0",{"className":"dm-legal__p","children":"Cookies are small text files stored on your device that help websites remember information about your visit and improve the browsing experience."}]]]}],["$","section","Why We Use Cookies",{"id":"why-we-use-cookies","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Why We Use Cookies"}],[["$","p","0",{"className":"dm-legal__p","children":"We use cookies to:"}],["$","ul","1",{"className":"dm-legal__ul","children":[["$","li","0",{"children":"Enable essential website functionality"}],["$","li","1",{"children":"Improve website performance"}],["$","li","2",{"children":"Analyze visitor behavior and traffic patterns"}],["$","li","3",{"children":"Remember user preferences"}],["$","li","4",{"children":"Enhance overall user experience"}],["$","li","5",{"children":"Support website security"}]]}]]]}],["$","section","Types of Cookies We Use",{"id":"types-of-cookies-we-use","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Types of Cookies We Use"}],[["$","h3","0",{"className":"dm-legal__h3","children":"Essential Cookies"}],["$","p","1",{"className":"dm-legal__p","children":"These cookies are required for core website functionality and security features. The website may not function correctly without them."}],["$","h3","2",{"className":"dm-legal__h3","children":"Performance Cookies"}],["$","p","3",{"className":"dm-legal__p","children":"These cookies collect information about how visitors interact with the website and help us improve performance and usability."}],["$","h3","4",{"className":"dm-legal__h3","children":"Analytics Cookies"}],["$","p","5",{"className":"dm-legal__p","children":"Analytics cookies help us understand website traffic, visitor engagement, popular content, and user journeys."}],["$","h3","6",{"className":"dm-legal__h3","children":"Functional Cookies"}],["$","p","7",{"className":"dm-legal__p","children":"These cookies remember user preferences such as language, region, and other customization settings."}],"$L2","$L3"]]}],"$L4","$L5","$L6","$L7"]}]]}]]}],"$L8"]}]}]}]}],null,"$L9"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","section",null,{"className":"dm-legal","aria-label":"Cookie Policy","children":[["$","div",null,{"className":"dm-legal__wrap","children":[["$","aside",null,{"className":"dm-legal__toc","aria-label":"On this page","children":["$","div",null,{"className":"dm-legal__toc-inner","children":[["$","p",null,{"className":"dm-legal__toc-label","children":"On this page"}],["$","nav",null,{"children":["$","ul",null,{"children":[["$","li","What Are Cookies?",{"children":["$","a",null,{"href":"#what-are-cookies","children":"What Are Cookies?"}]}],["$","li","Why We Use Cookies",{"children":["$","a",null,{"href":"#why-we-use-cookies","children":"Why We Use Cookies"}]}],["$","li","Types of Cookies We Use",{"children":["$","a",null,{"href":"#types-of-cookies-we-use","children":"Types of Cookies We Use"}]}],["$","li","Managing Cookies",{"children":["$","a",null,{"href":"#managing-cookies","children":"Managing Cookies"}]}],["$","li","Cookie Consent",{"children":["$","a",null,{"href":"#cookie-consent","children":"Cookie Consent"}]}],["$","li","Policy Updates",{"children":["$","a",null,{"href":"#policy-updates","children":"Policy Updates"}]}],["$","li","Contact Us",{"children":["$","a",null,{"href":"#contact-us","children":"Contact Us"}]}]]}]}]]}]}],["$","div",null,{"className":"dm-legal__main","children":[["$","header",null,{"className":"dm-legal__hero","children":[["$","h1",null,{"className":"dm-legal__title","children":"Cookie Policy"}],["$","p",null,{"className":"dm-legal__updated","children":["Last Updated: ","June 2026"]}],["$","p",null,{"className":"dm-legal__lead","children":"This Cookie Policy explains how Doormile uses cookies and similar technologies when you visit our website."}]]}],["$","article",null,{"className":"dm-legal__content","children":[["$","section","What Are Cookies?",{"id":"what-are-cookies","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"What Are Cookies?"}],[["$","p","0",{"className":"dm-legal__p","children":"Cookies are small text files stored on your device that help websites remember information about your visit and improve the browsing experience."}]]]}],["$","section","Why We Use Cookies",{"id":"why-we-use-cookies","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Why We Use Cookies"}],[["$","p","0",{"className":"dm-legal__p","children":"We use cookies to:"}],["$","ul","1",{"className":"dm-legal__ul","children":[["$","li","0",{"children":"Enable essential website functionality"}],["$","li","1",{"children":"Improve website performance"}],["$","li","2",{"children":"Analyze visitor behavior and traffic patterns"}],["$","li","3",{"children":"Remember user preferences"}],["$","li","4",{"children":"Enhance overall user experience"}],["$","li","5",{"children":"Support website security"}]]}]]]}],["$","section","Types of Cookies We Use",{"id":"types-of-cookies-we-use","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Types of Cookies We Use"}],[["$","h3","0",{"className":"dm-legal__h3","children":"Essential Cookies"}],["$","p","1",{"className":"dm-legal__p","children":"These cookies are required for core website functionality and security features. The website may not function correctly without them."}],["$","h3","2",{"className":"dm-legal__h3","children":"Performance Cookies"}],["$","p","3",{"className":"dm-legal__p","children":"These cookies collect information about how visitors interact with the website and help us improve performance and usability."}],["$","h3","4",{"className":"dm-legal__h3","children":"Analytics Cookies"}],["$","p","5",{"className":"dm-legal__p","children":"Analytics cookies help us understand website traffic, visitor engagement, popular content, and user journeys."}],["$","h3","6",{"className":"dm-legal__h3","children":"Functional Cookies"}],["$","p","7",{"className":"dm-legal__p","children":"These cookies remember user preferences such as language, region, and other customization settings."}],"$L2","$L3"]]}],"$L4","$L5","$L6","$L7"]}]]}]]}],"$L8"]}]}]}]}],null,"$L9"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} 2:["$","h3","8",{"className":"dm-legal__h3","children":"Third-Party Cookies"}] 3:["$","p","9",{"className":"dm-legal__p","children":"Some third-party services integrated into our website, including analytics and performance monitoring tools, may place cookies on your device."}] 4:["$","section","Managing Cookies",{"id":"managing-cookies","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Managing Cookies"}],[["$","p","0",{"className":"dm-legal__p","children":"Most web browsers allow users to control, block, or delete cookies through browser settings. Please note that disabling cookies may impact certain website features and functionality."}]]]}] diff --git a/build/cookie-policy/__next.cookie-policy.txt b/build/cookie-policy/__next.cookie-policy.txt index 1983a3d..e7f2861 100644 --- a/build/cookie-policy/__next.cookie-policy.txt +++ b/build/cookie-policy/__next.cookie-policy.txt @@ -1,5 +1,5 @@ 1:"$Sreact.fragment" -2:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] 4:[] -0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/how-it-works.html b/build/how-it-works.html index bb6a385..243e7c0 100644 --- a/build/how-it-works.html +++ b/build/how-it-works.html @@ -1,4 +1,4 @@ -How It Works – Doormile
/ How It Works /

Doormile connects first, mid, and last mile into a seamless delivery experience

First Mile

Orders are picked up from warehouses with live tracking and quality checks.

Mid Mile

Smooth inter-city delivery through strategically located hubs with live tracking.

Last Mile

Packages are delivered to customers with real-time updates and proof of delivery.

/ Why Businesses Choose Doormile /

The connected approach delivers measurable advantages

Origin to Hub
01 / First Mile

Origin to Hub

We collect freight directly from your facility, optimise vehicle assignment in real time, and consolidate loads for maximum efficiency before they reach the hub.

  • AI-scheduled pickups
  • Dynamic load consolidation
  • Yard & dock management
Hub to Hub Transit
02 / Mid Mile

Hub to Hub Transit

Freight moves between hubs on optimised line-haul routes. Real-time tracking, cross-docking, and SLA monitoring keep every shipment on schedule.

  • Optimised line-haul routing
  • Cross-docking & sortation
  • Live SLA monitoring
Hub to Doorstep
03 / Last Mile

Hub to Doorstep

The final and most complex phase. We optimise multi-stop routes, deliver within precise windows, and capture digital proof of delivery at every door.

  • Multi-stop route optimisation
  • Precise delivery windows
  • Digital proof of delivery
/ Doormile Approach /
The Doormile Way

Smarter, Faster, Connected Logistics

We connect first mile and last mile into one seamless system, reducing delays and improving efficiency. With real-time tracking and digital workflows,
every delivery is faster, reliable, and fully transparent.

Seamless logistics powered by real-time tracking, digital processes, and reliable delivery execution.

End-to-End Protection

End-to-end visibility ensures every shipment stays secure and on schedule.

Proactive delay prevention

Real-time monitoring helps prevent delays before they impact deliveries.

Single owner, single promise

One unified system manages the entire delivery process seamlessly.

Dynamic AI-driven adjustments

AI-powered routing adapts instantly to improve speed and efficiency.

/ Why Businesses Choose Doormile /

The connected approach delivers measurable advantages

Origin to Hub
01 / First Mile

Origin to Hub

We collect freight directly from your facility, optimise vehicle assignment in real time, and consolidate loads for maximum efficiency before they reach the hub.

  • AI-scheduled pickups
  • Dynamic load consolidation
  • Yard & dock management
Hub to Hub Transit
02 / Mid Mile

Hub to Hub Transit

Freight moves between hubs on optimised line-haul routes. Real-time tracking, cross-docking, and SLA monitoring keep every shipment on schedule.

  • Optimised line-haul routing
  • Cross-docking & sortation
  • Live SLA monitoring
Hub to Doorstep
03 / Last Mile

Hub to Doorstep

The final and most complex phase. We optimise multi-stop routes, deliver within precise windows, and capture digital proof of delivery at every door.

  • Multi-stop route optimisation
  • Precise delivery windows
  • Digital proof of delivery
/ Doormile Approach /
The Doormile Way

Smarter, Faster, Connected Logistics

We connect first mile and last mile into one seamless system, reducing delays and improving efficiency. With real-time tracking and digital workflows,
every delivery is faster, reliable, and fully transparent.

Seamless logistics powered by real-time tracking, digital processes, and reliable delivery execution.

End-to-End Protection

End-to-end visibility ensures every shipment stays secure and on schedule.

Proactive delay prevention

Real-time monitoring helps prevent delays before they impact deliveries.

Single owner, single promise

One unified system manages the entire delivery process seamlessly.

Dynamic AI-driven adjustments

AI-powered routing adapts instantly to improve speed and efficiency.

\ No newline at end of file + + /* Compact footer link columns on phones (<=480px). The kit only sets + column --width at min-width:481px, so below that all four blocks + fall back to 100% and stack into one very tall column. Put the + logo+social full-width on top, then lay the three link groups out + in a 2-up grid (matching the tablet 47% intent) so the footer is + roughly half as tall. */ + /* Inline icon beside each contact label (Call Center / Our Location / + Email / Social network). */ + .elementor-6585 .dm-foot-label { + display: inline-flex !important; + align-items: center; + gap: 8px; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { + flex: 0 0 auto; + color: #C01227; + } + + /* ── Compact mobile contact footer (<=600px) ── + On phones the upper contact section stacked into one very tall + column with 50px margins between every block. Tighten the heading, + collapse those stack margins, and pair Email + Social side-by-side + (both are short) so the footer is far shorter without losing the + full-width address readability. */ + @media (max-width: 600px) { + /* Trim the band's oversized top/bottom padding on phones. */ + .elementor-6585 .elementor-element.elementor-element-b29b8fc > .e-con-inner { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .elementor-6585 .elementor-element.elementor-element-687d944 .logico-title { + font-size: clamp(24px, 6.6vw, 32px) !important; + line-height: 1.2 !important; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { width: 14px; height: 14px; } + /* The Call Center / Our Location group carries a 10px side padding + the Email / Social group doesn't, leaving its labels indented + 10px out of line with everything else — zero it so all four + contact blocks share the same left edge as the heading. */ + .elementor-6585 .elementor-element.elementor-element-2631b42 { + padding-left: 0 !important; + padding-right: 0 !important; + } + /* All four contact blocks stack in one left-aligned column with a + consistent gap (Social network sits below Email). */ + .elementor-6585 .elementor-element.elementor-element-2631b42, + .elementor-6585 .elementor-element.elementor-element-f5d8e63, + .elementor-6585 .elementor-element.elementor-element-645be8d, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + margin-top: 22px !important; + } + .elementor-6585 .elementor-element.elementor-element-645be8d > .e-con-inner { + flex-direction: column !important; + gap: 0 !important; + align-items: stretch !important; + } + .elementor-6585 .elementor-element.elementor-element-a96d151, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + width: 100% !important; + } + } + + @media (max-width: 480px) { + .elementor-6585 .elementor-element.elementor-element-3f1ba7a { + display: flex !important; + flex-direction: row !important; + flex-wrap: wrap !important; + gap: 36px 16px !important; + } + .elementor-6585 .elementor-element.elementor-element-64e2e81 { + flex: 0 0 100% !important; + width: 100% !important; + } + .elementor-6585 .elementor-element.elementor-element-5b73dd3, + .elementor-6585 .elementor-element.elementor-element-451f15c, + .elementor-6585 .elementor-element.elementor-element-44a1f5d { + flex: 1 1 calc(50% - 8px) !important; + width: calc(50% - 8px) !important; + min-width: 0 !important; + } + /* Allow long links (e.g. "Women entrepreneurship") to wrap inside + the narrow columns instead of overflowing. */ + .elementor-6585 .logico-custom-menu-widget li a { + white-space: normal !important; + } + /* Trim the large social-icons top gap so the brand block stays tight. */ + .elementor-6585 .elementor-element.elementor-element-e4e6486 > .elementor-widget-container { + margin-top: 24px !important; + } + } +
\ No newline at end of file diff --git a/build/how-it-works.txt b/build/how-it-works.txt index add2215..8400579 100644 --- a/build/how-it-works.txt +++ b/build/how-it-works.txt @@ -1,17 +1,17 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -c:I[74528,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/176ek.qhywyii.js"],"default"] -15:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +c:I[74528,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0goeli7p09ovo.js"],"default"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -19,7 +19,7 @@ c:I[74528,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4 :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -d:T1b95, +d:T1d85, /* ===================================================================== How It Works · "Doormile connects first, mid, and last mile" section Self-contained recreation of the original Elementor design @@ -111,6 +111,11 @@ d:T1b95, while keeping the 70px row-gap. */ .elementor-element-4add972 { display: grid; + /* Elementor's ".e-con.e-grid" (specificity 0,2,0) sets grid-template-columns + from this CSS var, which OUT-RANKS a plain ".elementor-element-4add972" + (0,1,0) rule — so the responsive breakpoints below MUST drive the var, + not grid-template-columns directly, or the grid never collapses on mobile. */ + --e-con-grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(3, 1fr); grid-auto-flow: row; gap: 70px 60px; @@ -178,25 +183,25 @@ d:T1b95, .logico-front-end .elementor-element-63a9de5 .logico-title { font-size: clamp(40px, 5vw, 60px); } } @media (max-width: 1020px) { - .elementor-element-c36a604 { margin: 15px 15px 0 15px; padding: 76px 0 0 0; } + .elementor-element-c36a604 { margin: 15px 15px 0 15px; padding: 76px 0 60px 0; } .elementor-element-77d1265 { padding: 0 30px; } - .elementor-element-4add972 { grid-template-columns: repeat(2, 1fr); gap: 50px 40px; } + .elementor-element-4add972 { --e-con-grid-template-columns: repeat(2, 1fr); grid-template-columns: repeat(2, 1fr); gap: 50px 40px; } .logico-front-end .elementor-element-63a9de5 .logico-title { font-size: clamp(34px, 6vw, 52px); } } @media (max-width: 480px) { - .elementor-element-c36a604 { margin: 12px 12px 0 12px; border-radius: 20px 20px 0 0; padding: 70px 0 0 0; } + .elementor-element-c36a604 { margin: 12px 12px 0 12px; border-radius: 20px 20px 0 0; padding: 70px 0 50px 0; } .elementor-element-77d1265 { padding: 0 22px; } - .elementor-element-4add972 { grid-template-columns: 1fr; gap: 56px; } + .elementor-element-4add972 { --e-con-grid-template-columns: 1fr; grid-template-columns: 1fr; gap: 56px; } .logico-front-end .elementor-element-63a9de5 .logico-title { font-size: clamp(30px, 9vw, 44px); } } - 0:{"P":null,"c":["","how-it-works"],"q":"","i":false,"f":[[["",{"children":["how-it-works",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"59","className":"elementor elementor-59","children":[["$","$Lc",null,{}],[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$d"}}],"$Le"],"$Lf","$L10"]}]}]}]}],["$L11"],"$L12"]}],{},null,false,null]},null,false,"$@13"]},null,false,null],"$L14",false]],"m":"$undefined","G":["$15",["$L16"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} -60:I[24911,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/176ek.qhywyii.js"],"default"] -61:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] + 0:{"P":null,"c":["","how-it-works"],"q":"","i":false,"f":[[["",{"children":["how-it-works",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"59","className":"elementor elementor-59","children":[["$","$Lc",null,{}],[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$d"}}],"$Le"],"$Lf","$L10"]}]}]}]}],["$L11"],"$L12"]}],{},null,false,null]},null,false,"$@13"]},null,false,null],"$L14",false]],"m":"$undefined","G":["$15",["$L16"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +60:I[24911,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0goeli7p09ovo.js"],"default"] +61:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 62:"$Sreact.suspense" -65:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -67:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +65:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +67:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] e:["$","div",null,{"className":"elementor-element elementor-element-c36a604 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child","data-id":"c36a604","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-77d1265 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"77d1265","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-b147420 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"b147420","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-5bc90f3 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5bc90f3","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-176d17f elementor-widget elementor-widget-logico_heading","data-id":"176d17f","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-title","children":"/ How It Works /"}]}]}],["$","div",null,{"className":"elementor-element elementor-element-63a9de5 elementor-widget elementor-widget-logico_heading","data-id":"63a9de5","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","h3",null,{"className":"logico-title","children":"Doormile connects first, mid, and last mile into a seamless delivery experience"}]}]}]]}]}],["$","div",null,{"className":"elementor-element elementor-element-4add972 e-con-full e-grid cut-corner-no sticky-container-off e-con e-child","data-id":"4add972","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-e1670a9 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"e1670a9","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-74687fb elementor-view-default elementor-widget elementor-widget-icon","data-id":"74687fb","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"elementor-icon-wrapper","children":["$","div",null,{"className":"elementor-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","width":"138","height":"139","viewBox":"0 0 138 139","fill":"none","children":[["$","g",null,{"clipPath":"url(#clip0_1_97412)","children":[["$","g",null,{"clipPath":"url(#clip1_1_97412)","children":[["$","path",null,{"d":"M106 57L137.999 75.4121V77.6922L137.084 78.2052L105.113 59.8217V57.513L106 57Z","fill":"#ffffff"}],["$","path",null,{"d":"M137.084 75.9257L137.999 75.4127V77.6928L137.084 78.2059L105.113 59.8223V57.5137L137.084 75.9257Z","fill":"#686868"}],["$","path",null,{"d":"M121.413 80.4003L107.258 86.1862L106.457 86.6422V82.6805L107.973 77.0371L118.925 70.7383L121.356 74.529L122.214 79.7733L121.413 80.4003Z","fill":"#ffffff"}],["$","path",null,{"d":"M121.413 80.4003L107.258 86.1862L106.457 86.6422V82.6805L107.973 77.0371L118.925 70.7383L121.356 74.529L122.214 79.7733L121.413 80.4003Z","fill":"#686868"}],["$","path",null,{"d":"M125.505 82.765L121.415 80.3994L120.586 75.2976L118.441 71.9629L122.559 74.3285L124.675 77.6632L125.505 82.765Z","fill":"#ffffff"}],["$","path",null,{"d":"M122.789 82.4522C122.789 80.8276 122.217 79.6875 121.273 79.146L118.528 77.5784C117.613 77.0369 116.326 77.1224 114.896 77.9489C112.065 79.5735 109.777 83.5353 109.777 86.7844C109.777 88.409 110.349 89.5491 111.293 90.0906L114.01 91.6582C114.953 92.1998 116.211 92.1142 117.641 91.2877C120.501 89.6631 122.789 85.7014 122.789 82.4522Z","fill":"#ffffff"}],"$L17","$L18","$L19","$L1a","$L1b","$L1c","$L1d","$L1e","$L1f","$L20","$L21"]}],"$L22","$L23","$L24","$L25","$L26","$L27","$L28","$L29","$L2a","$L2b","$L2c","$L2d","$L2e","$L2f","$L30","$L31","$L32","$L33","$L34","$L35","$L36","$L37","$L38","$L39","$L3a","$L3b","$L3c","$L3d","$L3e","$L3f","$L40","$L41","$L42","$L43","$L44","$L45","$L46","$L47","$L48","$L49","$L4a","$L4b","$L4c","$L4d","$L4e","$L4f","$L50","$L51","$L52","$L53","$L54","$L55","$L56","$L57","$L58"]}],"$L59"]}]}]}]}]}],"$L5a","$L5b"]}],"$L5c","$L5d"]}]]}]}]}] -5e:T1d2a, +5e:T1e53, /* ===================================================================== "Why Businesses Choose Doormile" — First / Mid / Last Mile stage cards. Dark rounded card on the white page (consistent with the Miles3 @@ -388,27 +393,31 @@ e:["$","div",null,{"className":"elementor-element elementor-element-c36a604 e-fl } @media (max-width: 1020px) { - .wcd-section { margin: -150px 15px 15px 15px; padding: 40px 0 80px; } + /* No pull-up overlap on mobile/tablet: the Miles3 cards stack into a + 1–2 col layout, so a negative margin-top covers the last card's + text. Both sections share #1F1F1F + equal side margins, so butting + them at margin-top:0 keeps the seamless dark panel. */ + .wcd-section { margin: 0 15px 15px 15px; padding: 40px 0 80px; } .wcd-inner { padding: 0 30px; } .wcd-grid { grid-template-columns: 1fr; gap: 24px; } .wcd-card-body { padding: 32px; } .logico-front-end .wcd-section h3.wcd-card-title { font-size: 28px; } } @media (max-width: 480px) { - .wcd-section { margin: -100px 12px 12px 12px; border-radius: 0 0 20px 20px; padding: 30px 0 64px; } + .wcd-section { margin: 0 12px 12px 12px; border-radius: 0 0 20px 20px; padding: 30px 0 64px; } .wcd-inner { padding: 0 20px; } .wcd-card-body { padding: 24px; } } f:[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$5e"}}],"$L5f"] 10:["$","$L60",null,{}] -11:["$","script","script-0",{"src":"/_next/static/chunks/176ek.qhywyii.js","async":true,"nonce":"$undefined"}] +11:["$","script","script-0",{"src":"/_next/static/chunks/0goeli7p09ovo.js","async":true,"nonce":"$undefined"}] 12:["$","$L61",null,{"children":["$","$62",null,{"name":"Next.MetadataOutlet","children":"$@63"}]}] 64:[] 13:"$W64" 14:["$","$1","h",{"children":[null,["$","$L65",null,{"children":"$L66"}],["$","div",null,{"hidden":true,"children":["$","$L67",null,{"children":["$","$62",null,{"name":"Next.Metadata","children":"$L68"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] -16:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] -191:I[2018,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/176ek.qhywyii.js"],"ScrollReveal"] -192:I[85437,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/176ek.qhywyii.js"],"Image"] +16:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +191:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0goeli7p09ovo.js"],"ScrollReveal"] +192:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0goeli7p09ovo.js"],"Image"] 17:["$","path",null,{"d":"M122.788 82.453C122.788 79.2039 120.501 77.8928 117.669 79.5174C114.838 81.142 112.551 85.1037 112.551 88.3529C112.551 91.6021 114.838 92.9131 117.669 91.2886C120.501 89.664 122.788 85.7022 122.788 82.453Z","fill":"#686868"}] 18:["$","path",null,{"d":"M120.844 83.5634C120.844 81.5398 119.415 80.7417 117.67 81.7393C115.897 82.7654 114.496 85.2165 114.496 87.2116C114.496 89.2352 115.926 90.0333 117.67 89.0357C119.415 88.0382 120.844 85.587 120.844 83.5634Z","fill":"#EAECF2"}] 19:["$","path",null,{"d":"M120.244 83.6203C120.244 81.8247 118.986 81.1121 117.413 81.9957C115.84 82.8792 114.582 85.0739 114.582 86.8695C114.582 88.6651 115.84 89.4061 117.413 88.4941C118.986 87.6105 120.244 85.4159 120.244 83.6203Z","fill":"#686868"}] @@ -777,6 +786,6 @@ ff:["$","path",null,{"opacity":"0.3","d":"M40.1617 142.516L39.3783 142.078L35.92 190:["$","div",null,{"className":"elementor-element elementor-element-1057c22 elementor-widget elementor-widget-text-editor","data-id":"1057c22","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","p",null,{"children":"Packages are delivered to customers with real-time updates and proof of delivery."}]}]}] 193:["$","article",null,{"className":"wcd-card","style":{"height":"100%"},"children":[["$","div",null,{"className":"wcd-card-media","children":["$","$L192",null,{"src":"/images/last-mile-approach.jpg","alt":"Hub to Doorstep","fill":true,"sizes":"(max-width: 1020px) 100vw, 33vw"}]}],["$","div",null,{"className":"wcd-card-body","children":[["$","div",null,{"className":"wcd-card-label","children":"03 / Last Mile"}],["$","h3",null,{"className":"wcd-card-title","children":"Hub to Doorstep"}],["$","p",null,{"className":"wcd-card-desc","children":"The final and most complex phase. We optimise multi-stop routes, deliver within precise windows, and capture digital proof of delivery at every door."}],["$","ul",null,{"className":"wcd-card-points","children":[["$","li","Multi-stop route optimisation",{"children":[["$","svg",null,{"className":"wcd-check","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":"10"}],["$","path",null,{"d":"m9 12 2 2 4-4"}]]}],["$","span",null,{"children":"Multi-stop route optimisation"}]]}],["$","li","Precise delivery windows",{"children":[["$","svg",null,{"className":"wcd-check","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":"10"}],["$","path",null,{"d":"m9 12 2 2 4-4"}]]}],["$","span",null,{"children":"Precise delivery windows"}]]}],["$","li","Digital proof of delivery",{"children":[["$","svg",null,{"className":"wcd-check","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":"10"}],["$","path",null,{"d":"m9 12 2 2 4-4"}]]}],["$","span",null,{"children":"Digital proof of delivery"}]]}]]}]]}]]}] 66:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -19c:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +19c:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] 63:null 68:[["$","title","0",{"children":"How It Works – Doormile"}],["$","meta","1",{"name":"description","content":"See how Doormile connects first, mid, and last mile into a seamless delivery experience powered by MileTruth™ AI."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L19c","7",{}]] diff --git a/build/how-it-works/__next._full.txt b/build/how-it-works/__next._full.txt index add2215..8400579 100644 --- a/build/how-it-works/__next._full.txt +++ b/build/how-it-works/__next._full.txt @@ -1,17 +1,17 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -c:I[74528,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/176ek.qhywyii.js"],"default"] -15:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +c:I[74528,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0goeli7p09ovo.js"],"default"] +15:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -19,7 +19,7 @@ c:I[74528,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4 :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -d:T1b95, +d:T1d85, /* ===================================================================== How It Works · "Doormile connects first, mid, and last mile" section Self-contained recreation of the original Elementor design @@ -111,6 +111,11 @@ d:T1b95, while keeping the 70px row-gap. */ .elementor-element-4add972 { display: grid; + /* Elementor's ".e-con.e-grid" (specificity 0,2,0) sets grid-template-columns + from this CSS var, which OUT-RANKS a plain ".elementor-element-4add972" + (0,1,0) rule — so the responsive breakpoints below MUST drive the var, + not grid-template-columns directly, or the grid never collapses on mobile. */ + --e-con-grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(3, 1fr); grid-auto-flow: row; gap: 70px 60px; @@ -178,25 +183,25 @@ d:T1b95, .logico-front-end .elementor-element-63a9de5 .logico-title { font-size: clamp(40px, 5vw, 60px); } } @media (max-width: 1020px) { - .elementor-element-c36a604 { margin: 15px 15px 0 15px; padding: 76px 0 0 0; } + .elementor-element-c36a604 { margin: 15px 15px 0 15px; padding: 76px 0 60px 0; } .elementor-element-77d1265 { padding: 0 30px; } - .elementor-element-4add972 { grid-template-columns: repeat(2, 1fr); gap: 50px 40px; } + .elementor-element-4add972 { --e-con-grid-template-columns: repeat(2, 1fr); grid-template-columns: repeat(2, 1fr); gap: 50px 40px; } .logico-front-end .elementor-element-63a9de5 .logico-title { font-size: clamp(34px, 6vw, 52px); } } @media (max-width: 480px) { - .elementor-element-c36a604 { margin: 12px 12px 0 12px; border-radius: 20px 20px 0 0; padding: 70px 0 0 0; } + .elementor-element-c36a604 { margin: 12px 12px 0 12px; border-radius: 20px 20px 0 0; padding: 70px 0 50px 0; } .elementor-element-77d1265 { padding: 0 22px; } - .elementor-element-4add972 { grid-template-columns: 1fr; gap: 56px; } + .elementor-element-4add972 { --e-con-grid-template-columns: 1fr; grid-template-columns: 1fr; gap: 56px; } .logico-front-end .elementor-element-63a9de5 .logico-title { font-size: clamp(30px, 9vw, 44px); } } - 0:{"P":null,"c":["","how-it-works"],"q":"","i":false,"f":[[["",{"children":["how-it-works",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"59","className":"elementor elementor-59","children":[["$","$Lc",null,{}],[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$d"}}],"$Le"],"$Lf","$L10"]}]}]}]}],["$L11"],"$L12"]}],{},null,false,null]},null,false,"$@13"]},null,false,null],"$L14",false]],"m":"$undefined","G":["$15",["$L16"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} -60:I[24911,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/176ek.qhywyii.js"],"default"] -61:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] + 0:{"P":null,"c":["","how-it-works"],"q":"","i":false,"f":[[["",{"children":["how-it-works",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"59","className":"elementor elementor-59","children":[["$","$Lc",null,{}],[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$d"}}],"$Le"],"$Lf","$L10"]}]}]}]}],["$L11"],"$L12"]}],{},null,false,null]},null,false,"$@13"]},null,false,null],"$L14",false]],"m":"$undefined","G":["$15",["$L16"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +60:I[24911,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0goeli7p09ovo.js"],"default"] +61:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 62:"$Sreact.suspense" -65:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -67:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +65:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +67:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] e:["$","div",null,{"className":"elementor-element elementor-element-c36a604 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child","data-id":"c36a604","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-77d1265 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"77d1265","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-b147420 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"b147420","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-5bc90f3 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5bc90f3","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-176d17f elementor-widget elementor-widget-logico_heading","data-id":"176d17f","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-title","children":"/ How It Works /"}]}]}],["$","div",null,{"className":"elementor-element elementor-element-63a9de5 elementor-widget elementor-widget-logico_heading","data-id":"63a9de5","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","h3",null,{"className":"logico-title","children":"Doormile connects first, mid, and last mile into a seamless delivery experience"}]}]}]]}]}],["$","div",null,{"className":"elementor-element elementor-element-4add972 e-con-full e-grid cut-corner-no sticky-container-off e-con e-child","data-id":"4add972","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-e1670a9 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"e1670a9","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-74687fb elementor-view-default elementor-widget elementor-widget-icon","data-id":"74687fb","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"elementor-icon-wrapper","children":["$","div",null,{"className":"elementor-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","width":"138","height":"139","viewBox":"0 0 138 139","fill":"none","children":[["$","g",null,{"clipPath":"url(#clip0_1_97412)","children":[["$","g",null,{"clipPath":"url(#clip1_1_97412)","children":[["$","path",null,{"d":"M106 57L137.999 75.4121V77.6922L137.084 78.2052L105.113 59.8217V57.513L106 57Z","fill":"#ffffff"}],["$","path",null,{"d":"M137.084 75.9257L137.999 75.4127V77.6928L137.084 78.2059L105.113 59.8223V57.5137L137.084 75.9257Z","fill":"#686868"}],["$","path",null,{"d":"M121.413 80.4003L107.258 86.1862L106.457 86.6422V82.6805L107.973 77.0371L118.925 70.7383L121.356 74.529L122.214 79.7733L121.413 80.4003Z","fill":"#ffffff"}],["$","path",null,{"d":"M121.413 80.4003L107.258 86.1862L106.457 86.6422V82.6805L107.973 77.0371L118.925 70.7383L121.356 74.529L122.214 79.7733L121.413 80.4003Z","fill":"#686868"}],["$","path",null,{"d":"M125.505 82.765L121.415 80.3994L120.586 75.2976L118.441 71.9629L122.559 74.3285L124.675 77.6632L125.505 82.765Z","fill":"#ffffff"}],["$","path",null,{"d":"M122.789 82.4522C122.789 80.8276 122.217 79.6875 121.273 79.146L118.528 77.5784C117.613 77.0369 116.326 77.1224 114.896 77.9489C112.065 79.5735 109.777 83.5353 109.777 86.7844C109.777 88.409 110.349 89.5491 111.293 90.0906L114.01 91.6582C114.953 92.1998 116.211 92.1142 117.641 91.2877C120.501 89.6631 122.789 85.7014 122.789 82.4522Z","fill":"#ffffff"}],"$L17","$L18","$L19","$L1a","$L1b","$L1c","$L1d","$L1e","$L1f","$L20","$L21"]}],"$L22","$L23","$L24","$L25","$L26","$L27","$L28","$L29","$L2a","$L2b","$L2c","$L2d","$L2e","$L2f","$L30","$L31","$L32","$L33","$L34","$L35","$L36","$L37","$L38","$L39","$L3a","$L3b","$L3c","$L3d","$L3e","$L3f","$L40","$L41","$L42","$L43","$L44","$L45","$L46","$L47","$L48","$L49","$L4a","$L4b","$L4c","$L4d","$L4e","$L4f","$L50","$L51","$L52","$L53","$L54","$L55","$L56","$L57","$L58"]}],"$L59"]}]}]}]}]}],"$L5a","$L5b"]}],"$L5c","$L5d"]}]]}]}]}] -5e:T1d2a, +5e:T1e53, /* ===================================================================== "Why Businesses Choose Doormile" — First / Mid / Last Mile stage cards. Dark rounded card on the white page (consistent with the Miles3 @@ -388,27 +393,31 @@ e:["$","div",null,{"className":"elementor-element elementor-element-c36a604 e-fl } @media (max-width: 1020px) { - .wcd-section { margin: -150px 15px 15px 15px; padding: 40px 0 80px; } + /* No pull-up overlap on mobile/tablet: the Miles3 cards stack into a + 1–2 col layout, so a negative margin-top covers the last card's + text. Both sections share #1F1F1F + equal side margins, so butting + them at margin-top:0 keeps the seamless dark panel. */ + .wcd-section { margin: 0 15px 15px 15px; padding: 40px 0 80px; } .wcd-inner { padding: 0 30px; } .wcd-grid { grid-template-columns: 1fr; gap: 24px; } .wcd-card-body { padding: 32px; } .logico-front-end .wcd-section h3.wcd-card-title { font-size: 28px; } } @media (max-width: 480px) { - .wcd-section { margin: -100px 12px 12px 12px; border-radius: 0 0 20px 20px; padding: 30px 0 64px; } + .wcd-section { margin: 0 12px 12px 12px; border-radius: 0 0 20px 20px; padding: 30px 0 64px; } .wcd-inner { padding: 0 20px; } .wcd-card-body { padding: 24px; } } f:[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$5e"}}],"$L5f"] 10:["$","$L60",null,{}] -11:["$","script","script-0",{"src":"/_next/static/chunks/176ek.qhywyii.js","async":true,"nonce":"$undefined"}] +11:["$","script","script-0",{"src":"/_next/static/chunks/0goeli7p09ovo.js","async":true,"nonce":"$undefined"}] 12:["$","$L61",null,{"children":["$","$62",null,{"name":"Next.MetadataOutlet","children":"$@63"}]}] 64:[] 13:"$W64" 14:["$","$1","h",{"children":[null,["$","$L65",null,{"children":"$L66"}],["$","div",null,{"hidden":true,"children":["$","$L67",null,{"children":["$","$62",null,{"name":"Next.Metadata","children":"$L68"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] -16:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] -191:I[2018,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/176ek.qhywyii.js"],"ScrollReveal"] -192:I[85437,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/176ek.qhywyii.js"],"Image"] +16:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +191:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0goeli7p09ovo.js"],"ScrollReveal"] +192:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0goeli7p09ovo.js"],"Image"] 17:["$","path",null,{"d":"M122.788 82.453C122.788 79.2039 120.501 77.8928 117.669 79.5174C114.838 81.142 112.551 85.1037 112.551 88.3529C112.551 91.6021 114.838 92.9131 117.669 91.2886C120.501 89.664 122.788 85.7022 122.788 82.453Z","fill":"#686868"}] 18:["$","path",null,{"d":"M120.844 83.5634C120.844 81.5398 119.415 80.7417 117.67 81.7393C115.897 82.7654 114.496 85.2165 114.496 87.2116C114.496 89.2352 115.926 90.0333 117.67 89.0357C119.415 88.0382 120.844 85.587 120.844 83.5634Z","fill":"#EAECF2"}] 19:["$","path",null,{"d":"M120.244 83.6203C120.244 81.8247 118.986 81.1121 117.413 81.9957C115.84 82.8792 114.582 85.0739 114.582 86.8695C114.582 88.6651 115.84 89.4061 117.413 88.4941C118.986 87.6105 120.244 85.4159 120.244 83.6203Z","fill":"#686868"}] @@ -777,6 +786,6 @@ ff:["$","path",null,{"opacity":"0.3","d":"M40.1617 142.516L39.3783 142.078L35.92 190:["$","div",null,{"className":"elementor-element elementor-element-1057c22 elementor-widget elementor-widget-text-editor","data-id":"1057c22","data-element_type":"widget","data-e-type":"widget","data-widget_type":"text-editor.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","p",null,{"children":"Packages are delivered to customers with real-time updates and proof of delivery."}]}]}] 193:["$","article",null,{"className":"wcd-card","style":{"height":"100%"},"children":[["$","div",null,{"className":"wcd-card-media","children":["$","$L192",null,{"src":"/images/last-mile-approach.jpg","alt":"Hub to Doorstep","fill":true,"sizes":"(max-width: 1020px) 100vw, 33vw"}]}],["$","div",null,{"className":"wcd-card-body","children":[["$","div",null,{"className":"wcd-card-label","children":"03 / Last Mile"}],["$","h3",null,{"className":"wcd-card-title","children":"Hub to Doorstep"}],["$","p",null,{"className":"wcd-card-desc","children":"The final and most complex phase. We optimise multi-stop routes, deliver within precise windows, and capture digital proof of delivery at every door."}],["$","ul",null,{"className":"wcd-card-points","children":[["$","li","Multi-stop route optimisation",{"children":[["$","svg",null,{"className":"wcd-check","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":"10"}],["$","path",null,{"d":"m9 12 2 2 4-4"}]]}],["$","span",null,{"children":"Multi-stop route optimisation"}]]}],["$","li","Precise delivery windows",{"children":[["$","svg",null,{"className":"wcd-check","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":"10"}],["$","path",null,{"d":"m9 12 2 2 4-4"}]]}],["$","span",null,{"children":"Precise delivery windows"}]]}],["$","li","Digital proof of delivery",{"children":[["$","svg",null,{"className":"wcd-check","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":"10"}],["$","path",null,{"d":"m9 12 2 2 4-4"}]]}],["$","span",null,{"children":"Digital proof of delivery"}]]}]]}]]}]]}] 66:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -19c:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +19c:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] 63:null 68:[["$","title","0",{"children":"How It Works – Doormile"}],["$","meta","1",{"name":"description","content":"See how Doormile connects first, mid, and last mile into a seamless delivery experience powered by MileTruth™ AI."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L19c","7",{}]] diff --git a/build/how-it-works/__next._head.txt b/build/how-it-works/__next._head.txt index a2768ae..06b6c0f 100644 --- a/build/how-it-works/__next._head.txt +++ b/build/how-it-works/__next._head.txt @@ -1,6 +1,6 @@ 1:"$Sreact.fragment" -2:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -3:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] 4:"$Sreact.suspense" -5:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] -0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"How It Works – Doormile"}],["$","meta","1",{"name":"description","content":"See how Doormile connects first, mid, and last mile into a seamless delivery experience powered by MileTruth™ AI."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"How It Works – Doormile"}],["$","meta","1",{"name":"description","content":"See how Doormile connects first, mid, and last mile into a seamless delivery experience powered by MileTruth™ AI."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/how-it-works/__next._index.txt b/build/how-it-works/__next._index.txt index d8e09a9..9c09249 100644 --- a/build/how-it-works/__next._index.txt +++ b/build/how-it-works/__next._index.txt @@ -1,15 +1,15 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/how-it-works/__next._tree.txt b/build/how-it-works/__next._tree.txt index f00f585..4f93695 100644 --- a/build/how-it-works/__next._tree.txt +++ b/build/how-it-works/__next._tree.txt @@ -1,4 +1,4 @@ -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -6,4 +6,4 @@ :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"how-it-works","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"how-it-works","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/how-it-works/__next.how-it-works.__PAGE__.txt b/build/how-it-works/__next.how-it-works.__PAGE__.txt index 592bdad..6640fa3 100644 --- a/build/how-it-works/__next.how-it-works.__PAGE__.txt +++ b/build/how-it-works/__next.how-it-works.__PAGE__.txt @@ -1,11 +1,11 @@ 1:"$Sreact.fragment" -2:I[74528,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/176ek.qhywyii.js"],"default"] -52:I[24911,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/176ek.qhywyii.js"],"default"] -53:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +2:I[74528,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0goeli7p09ovo.js"],"default"] +52:I[24911,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0goeli7p09ovo.js"],"default"] +53:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 54:"$Sreact.suspense" -17e:I[2018,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/176ek.qhywyii.js"],"ScrollReveal"] -17f:I[85437,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/176ek.qhywyii.js"],"Image"] -3:T1b95, +17e:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0goeli7p09ovo.js"],"ScrollReveal"] +17f:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0goeli7p09ovo.js"],"Image"] +3:T1d85, /* ===================================================================== How It Works · "Doormile connects first, mid, and last mile" section Self-contained recreation of the original Elementor design @@ -97,6 +97,11 @@ while keeping the 70px row-gap. */ .elementor-element-4add972 { display: grid; + /* Elementor's ".e-con.e-grid" (specificity 0,2,0) sets grid-template-columns + from this CSS var, which OUT-RANKS a plain ".elementor-element-4add972" + (0,1,0) rule — so the responsive breakpoints below MUST drive the var, + not grid-template-columns directly, or the grid never collapses on mobile. */ + --e-con-grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(3, 1fr); grid-auto-flow: row; gap: 70px 60px; @@ -164,20 +169,20 @@ .logico-front-end .elementor-element-63a9de5 .logico-title { font-size: clamp(40px, 5vw, 60px); } } @media (max-width: 1020px) { - .elementor-element-c36a604 { margin: 15px 15px 0 15px; padding: 76px 0 0 0; } + .elementor-element-c36a604 { margin: 15px 15px 0 15px; padding: 76px 0 60px 0; } .elementor-element-77d1265 { padding: 0 30px; } - .elementor-element-4add972 { grid-template-columns: repeat(2, 1fr); gap: 50px 40px; } + .elementor-element-4add972 { --e-con-grid-template-columns: repeat(2, 1fr); grid-template-columns: repeat(2, 1fr); gap: 50px 40px; } .logico-front-end .elementor-element-63a9de5 .logico-title { font-size: clamp(34px, 6vw, 52px); } } @media (max-width: 480px) { - .elementor-element-c36a604 { margin: 12px 12px 0 12px; border-radius: 20px 20px 0 0; padding: 70px 0 0 0; } + .elementor-element-c36a604 { margin: 12px 12px 0 12px; border-radius: 20px 20px 0 0; padding: 70px 0 50px 0; } .elementor-element-77d1265 { padding: 0 22px; } - .elementor-element-4add972 { grid-template-columns: 1fr; gap: 56px; } + .elementor-element-4add972 { --e-con-grid-template-columns: 1fr; grid-template-columns: 1fr; gap: 56px; } .logico-front-end .elementor-element-63a9de5 .logico-title { font-size: clamp(30px, 9vw, 44px); } } - 0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"59","className":"elementor elementor-59","children":[["$","$L2",null,{}],[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$3"}}],"$L4"],"$L5","$L6"]}]}]}]}],["$L7"],"$L8"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} + 0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"59","className":"elementor elementor-59","children":[["$","$L2",null,{}],[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$3"}}],"$L4"],"$L5","$L6"]}]}]}]}],["$L7"],"$L8"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} 4:["$","div",null,{"className":"elementor-element elementor-element-c36a604 e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-child","data-id":"c36a604","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-77d1265 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"77d1265","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-b147420 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"b147420","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-5bc90f3 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5bc90f3","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-176d17f elementor-widget elementor-widget-logico_heading","data-id":"176d17f","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-title","children":"/ How It Works /"}]}]}],["$","div",null,{"className":"elementor-element elementor-element-63a9de5 elementor-widget elementor-widget-logico_heading","data-id":"63a9de5","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","h3",null,{"className":"logico-title","children":"Doormile connects first, mid, and last mile into a seamless delivery experience"}]}]}]]}]}],["$","div",null,{"className":"elementor-element elementor-element-4add972 e-con-full e-grid cut-corner-no sticky-container-off e-con e-child","data-id":"4add972","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-e1670a9 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"e1670a9","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-74687fb elementor-view-default elementor-widget elementor-widget-icon","data-id":"74687fb","data-element_type":"widget","data-e-type":"widget","data-widget_type":"icon.default","children":["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"elementor-icon-wrapper","children":["$","div",null,{"className":"elementor-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","width":"138","height":"139","viewBox":"0 0 138 139","fill":"none","children":[["$","g",null,{"clipPath":"url(#clip0_1_97412)","children":[["$","g",null,{"clipPath":"url(#clip1_1_97412)","children":[["$","path",null,{"d":"M106 57L137.999 75.4121V77.6922L137.084 78.2052L105.113 59.8217V57.513L106 57Z","fill":"#ffffff"}],["$","path",null,{"d":"M137.084 75.9257L137.999 75.4127V77.6928L137.084 78.2059L105.113 59.8223V57.5137L137.084 75.9257Z","fill":"#686868"}],["$","path",null,{"d":"M121.413 80.4003L107.258 86.1862L106.457 86.6422V82.6805L107.973 77.0371L118.925 70.7383L121.356 74.529L122.214 79.7733L121.413 80.4003Z","fill":"#ffffff"}],["$","path",null,{"d":"M121.413 80.4003L107.258 86.1862L106.457 86.6422V82.6805L107.973 77.0371L118.925 70.7383L121.356 74.529L122.214 79.7733L121.413 80.4003Z","fill":"#686868"}],["$","path",null,{"d":"M125.505 82.765L121.415 80.3994L120.586 75.2976L118.441 71.9629L122.559 74.3285L124.675 77.6632L125.505 82.765Z","fill":"#ffffff"}],["$","path",null,{"d":"M122.789 82.4522C122.789 80.8276 122.217 79.6875 121.273 79.146L118.528 77.5784C117.613 77.0369 116.326 77.1224 114.896 77.9489C112.065 79.5735 109.777 83.5353 109.777 86.7844C109.777 88.409 110.349 89.5491 111.293 90.0906L114.01 91.6582C114.953 92.1998 116.211 92.1142 117.641 91.2877C120.501 89.6631 122.789 85.7014 122.789 82.4522Z","fill":"#ffffff"}],"$L9","$La","$Lb","$Lc","$Ld","$Le","$Lf","$L10","$L11","$L12","$L13"]}],"$L14","$L15","$L16","$L17","$L18","$L19","$L1a","$L1b","$L1c","$L1d","$L1e","$L1f","$L20","$L21","$L22","$L23","$L24","$L25","$L26","$L27","$L28","$L29","$L2a","$L2b","$L2c","$L2d","$L2e","$L2f","$L30","$L31","$L32","$L33","$L34","$L35","$L36","$L37","$L38","$L39","$L3a","$L3b","$L3c","$L3d","$L3e","$L3f","$L40","$L41","$L42","$L43","$L44","$L45","$L46","$L47","$L48","$L49","$L4a"]}],"$L4b"]}]}]}]}]}],"$L4c","$L4d"]}],"$L4e","$L4f"]}]]}]}]}] -50:T1d2a, +50:T1e53, /* ===================================================================== "Why Businesses Choose Doormile" — First / Mid / Last Mile stage cards. Dark rounded card on the white page (consistent with the Miles3 @@ -369,20 +374,24 @@ } @media (max-width: 1020px) { - .wcd-section { margin: -150px 15px 15px 15px; padding: 40px 0 80px; } + /* No pull-up overlap on mobile/tablet: the Miles3 cards stack into a + 1–2 col layout, so a negative margin-top covers the last card's + text. Both sections share #1F1F1F + equal side margins, so butting + them at margin-top:0 keeps the seamless dark panel. */ + .wcd-section { margin: 0 15px 15px 15px; padding: 40px 0 80px; } .wcd-inner { padding: 0 30px; } .wcd-grid { grid-template-columns: 1fr; gap: 24px; } .wcd-card-body { padding: 32px; } .logico-front-end .wcd-section h3.wcd-card-title { font-size: 28px; } } @media (max-width: 480px) { - .wcd-section { margin: -100px 12px 12px 12px; border-radius: 0 0 20px 20px; padding: 30px 0 64px; } + .wcd-section { margin: 0 12px 12px 12px; border-radius: 0 0 20px 20px; padding: 30px 0 64px; } .wcd-inner { padding: 0 20px; } .wcd-card-body { padding: 24px; } } 5:[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$50"}}],"$L51"] 6:["$","$L52",null,{}] -7:["$","script","script-0",{"src":"/_next/static/chunks/176ek.qhywyii.js","async":true}] +7:["$","script","script-0",{"src":"/_next/static/chunks/0goeli7p09ovo.js","async":true}] 8:["$","$L53",null,{"children":["$","$54",null,{"name":"Next.MetadataOutlet","children":"$@55"}]}] 9:["$","path",null,{"d":"M122.788 82.453C122.788 79.2039 120.501 77.8928 117.669 79.5174C114.838 81.142 112.551 85.1037 112.551 88.3529C112.551 91.6021 114.838 92.9131 117.669 91.2886C120.501 89.664 122.788 85.7022 122.788 82.453Z","fill":"#686868"}] a:["$","path",null,{"d":"M120.844 83.5634C120.844 81.5398 119.415 80.7417 117.67 81.7393C115.897 82.7654 114.496 85.2165 114.496 87.2116C114.496 89.2352 115.926 90.0333 117.67 89.0357C119.415 88.0382 120.844 85.587 120.844 83.5634Z","fill":"#EAECF2"}] diff --git a/build/how-it-works/__next.how-it-works.txt b/build/how-it-works/__next.how-it-works.txt index 1983a3d..e7f2861 100644 --- a/build/how-it-works/__next.how-it-works.txt +++ b/build/how-it-works/__next.how-it-works.txt @@ -1,5 +1,5 @@ 1:"$Sreact.fragment" -2:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] 4:[] -0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/index.html b/build/index.html index 1f71357..bc34122 100644 --- a/build/index.html +++ b/build/index.html @@ -1,4 +1,4 @@ -Doormile — Delivering Trust. Beyond Boundaries
0.0%
On-Time Delivery
0x Faster
Faster Response
0%
Cost Reduction
/ The Problem /

Fragmented Logistics is Broken

73%

of delays happen at handoffs

3x

higher risk of missed SLAs

2.5x

more time spent on coordination

28%

increase in operational costs

01

EV Logistics

Cleaner miles, lower costs

/ EV-Native Design /

BUILT FOR ELECTRIC. NOT ADAPTED.

DoorMile electric delivery van
100%ELECTRIC FLEET
-40%COST / MILE
Battery-Aware Routing

Battery level, health, and degradation are first-class inputs to route optimization — not afterthoughts.

Charging Integration

Seamlessly integrate charging stops without compromising delivery windows or SLA commitments.

Energy-Optimized Paths

Factor in elevation, speed limits, payload weight, and live weather for maximum range efficiency.

Predictable Operations

EVs become predictable assets, not operational risks. Full visibility from depot to doorstep.

SLA Compliance0.0%
Distance Saved0%
Fewer Vehicles0%
Dispatch Latency0ms
/ Industry Solutions /

Smart solutions built exclusively for your industry

\ No newline at end of file + + /* Compact footer link columns on phones (<=480px). The kit only sets + column --width at min-width:481px, so below that all four blocks + fall back to 100% and stack into one very tall column. Put the + logo+social full-width on top, then lay the three link groups out + in a 2-up grid (matching the tablet 47% intent) so the footer is + roughly half as tall. */ + /* Inline icon beside each contact label (Call Center / Our Location / + Email / Social network). */ + .elementor-6585 .dm-foot-label { + display: inline-flex !important; + align-items: center; + gap: 8px; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { + flex: 0 0 auto; + color: #C01227; + } + + /* ── Compact mobile contact footer (<=600px) ── + On phones the upper contact section stacked into one very tall + column with 50px margins between every block. Tighten the heading, + collapse those stack margins, and pair Email + Social side-by-side + (both are short) so the footer is far shorter without losing the + full-width address readability. */ + @media (max-width: 600px) { + /* Trim the band's oversized top/bottom padding on phones. */ + .elementor-6585 .elementor-element.elementor-element-b29b8fc > .e-con-inner { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .elementor-6585 .elementor-element.elementor-element-687d944 .logico-title { + font-size: clamp(24px, 6.6vw, 32px) !important; + line-height: 1.2 !important; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { width: 14px; height: 14px; } + /* The Call Center / Our Location group carries a 10px side padding + the Email / Social group doesn't, leaving its labels indented + 10px out of line with everything else — zero it so all four + contact blocks share the same left edge as the heading. */ + .elementor-6585 .elementor-element.elementor-element-2631b42 { + padding-left: 0 !important; + padding-right: 0 !important; + } + /* All four contact blocks stack in one left-aligned column with a + consistent gap (Social network sits below Email). */ + .elementor-6585 .elementor-element.elementor-element-2631b42, + .elementor-6585 .elementor-element.elementor-element-f5d8e63, + .elementor-6585 .elementor-element.elementor-element-645be8d, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + margin-top: 22px !important; + } + .elementor-6585 .elementor-element.elementor-element-645be8d > .e-con-inner { + flex-direction: column !important; + gap: 0 !important; + align-items: stretch !important; + } + .elementor-6585 .elementor-element.elementor-element-a96d151, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + width: 100% !important; + } + } + + @media (max-width: 480px) { + .elementor-6585 .elementor-element.elementor-element-3f1ba7a { + display: flex !important; + flex-direction: row !important; + flex-wrap: wrap !important; + gap: 36px 16px !important; + } + .elementor-6585 .elementor-element.elementor-element-64e2e81 { + flex: 0 0 100% !important; + width: 100% !important; + } + .elementor-6585 .elementor-element.elementor-element-5b73dd3, + .elementor-6585 .elementor-element.elementor-element-451f15c, + .elementor-6585 .elementor-element.elementor-element-44a1f5d { + flex: 1 1 calc(50% - 8px) !important; + width: calc(50% - 8px) !important; + min-width: 0 !important; + } + /* Allow long links (e.g. "Women entrepreneurship") to wrap inside + the narrow columns instead of overflowing. */ + .elementor-6585 .logico-custom-menu-widget li a { + white-space: normal !important; + } + /* Trim the large social-icons top gap so the brand block stays tight. */ + .elementor-6585 .elementor-element.elementor-element-e4e6486 > .elementor-widget-container { + margin-top: 24px !important; + } + } +
\ No newline at end of file diff --git a/build/index.txt b/build/index.txt index 523805f..4de2128 100644 --- a/build/index.txt +++ b/build/index.txt @@ -1,19 +1,19 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -c:I[97677,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"default"] -d:I[58140,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"default"] -e:I[36854,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"default"] -18:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +c:I[97677,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"default"] +d:I[58140,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"default"] +e:I[36854,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"default"] +17:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -21,19 +21,19 @@ e:I[36854,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4 :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"61","className":"elementor elementor-61","children":[["$","$Lc",null,{}],["$","$Ld",null,{}],["$","$Le",null,{}],["$","div",null,{"className":"elementor-element elementor-element-b62c0b3 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"b62c0b3","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-592e9e8 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"592e9e8","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-ab41b28 elementor-widget elementor-widget-logico_marquee","data-id":"ab41b28","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_marquee.default","children":["$","div",null,{"className":"elementor-widget-container","children":"$Lf"}]}]}]}],"$L10","$L11","$L12","$L13"]}]}]}]}],["$L14","$L15"],"$L16"]}],{},null,false,null]},null,false,null],"$L17",false]],"m":"$undefined","G":["$18",["$L19"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} -1c:I[32693,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"default"] -1d:I[24911,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"default"] -1e:I[14224,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"default"] -23:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] -24:"$Sreact.suspense" -26:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -28:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] -f:["$","div",null,{"className":"logico-ticker-wrapper","style":{"overflow":"hidden","position":"relative","width":"100%"},"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n @keyframes cssMarquee {\n 0% { transform: translate3d(0, 0, 0); }\n 100% { transform: translate3d(-33.33%, 0, 0); }\n }\n .marquee-container-css {\n display: flex;\n width: max-content;\n animation: cssMarquee 25s linear infinite;\n }\n .marquee-container-css:hover {\n animation-play-state: paused;\n }\n "}}],["$","div",null,{"className":"marquee-container-css","children":[["$","div","0",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","1",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","2",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","3",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","4",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","5",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","6",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","7",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":"$L1a"}]]}],"$L1b"]}]]}] -10:["$","$L1c",null,{}] -11:["$","$L1d",null,{}] -12:["$","$L1e",null,{}] -1f:T65e, +0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"61","className":"elementor elementor-61","children":[["$","$Lc",null,{}],["$","$Ld",null,{}],["$","$Le",null,{}],["$","div",null,{"className":"elementor-element elementor-element-b62c0b3 e-con-full e-flex cut-corner-no sticky-container-off e-con e-parent","data-id":"b62c0b3","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-592e9e8 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"592e9e8","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-ab41b28 elementor-widget elementor-widget-logico_marquee","data-id":"ab41b28","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_marquee.default","children":["$","div",null,{"className":"elementor-widget-container","children":"$Lf"}]}]}]}],"$L10","$L11","$L12","$L13"]}]}]}]}],["$L14"],"$L15"]}],{},null,false,null]},null,false,null],"$L16",false]],"m":"$undefined","G":["$17",["$L18"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +1b:I[32693,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"default"] +1c:I[24911,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"default"] +1d:I[14224,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"default"] +22:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +23:"$Sreact.suspense" +25:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +27:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +f:["$","div",null,{"className":"logico-ticker-wrapper","style":{"overflow":"hidden","position":"relative","width":"100%"},"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"\n @keyframes cssMarquee {\n 0% { transform: translate3d(0, 0, 0); }\n 100% { transform: translate3d(-33.33%, 0, 0); }\n }\n .marquee-container-css {\n display: flex;\n width: max-content;\n animation: cssMarquee 25s linear infinite;\n }\n .marquee-container-css:hover {\n animation-play-state: paused;\n }\n "}}],["$","div",null,{"className":"marquee-container-css","children":[["$","div","0",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","1",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","2",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","3",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","4",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","5",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","6",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}],["$","div","7",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":"$L19"}]]}],"$L1a"]}]]}] +10:["$","$L1b",null,{}] +11:["$","$L1c",null,{}] +12:["$","$L1d",null,{}] +1e:T65e, /* Minimal section label — matches the "/ Doormile Approach /" pattern */ .industry-section-label { width: 100%; @@ -70,25 +70,24 @@ f:["$","div",null,{"className":"logico-ticker-wrapper","style":{"overflow":"hidd letter-spacing: 1.5px; } } - 13:["$","div",null,{"className":"elementor-element elementor-element-3b4a7cc e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"3b4a7cc","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-d602f7f e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"d602f7f","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-f64bd88 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"f64bd88","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-5ed2dbb e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5ed2dbb","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-c8162c4 elementor-widget elementor-widget-logico_heading industry-section-label","data-id":"c8162c4","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$1f"}}],["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-title","children":"/ Industry Solutions /"}]}]]}],["$","div",null,{"className":"elementor-element elementor-element-1487241 elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"1487241","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","style":{"margin":"30px 0 0 0"},"children":["$","h3",null,{"className":"logico-title","style":{"fontSize":"clamp(28px, 3.5vw, 48px)","lineHeight":"1.1","fontWeight":800,"textTransform":"uppercase","maxWidth":"900px"},"children":"$L20"}]}]}]]}],"$L21"]}],"$L22"]}]}]}] -14:["$","script","script-0",{"src":"/_next/static/chunks/0662liixyy6d6.js","async":true,"nonce":"$undefined"}] -15:["$","script","script-1",{"src":"/_next/static/chunks/09evlrjkg19-o.js","async":true,"nonce":"$undefined"}] -16:["$","$L23",null,{"children":["$","$24",null,{"name":"Next.MetadataOutlet","children":"$@25"}]}] -17:["$","$1","h",{"children":[null,["$","$L26",null,{"children":"$L27"}],["$","div",null,{"hidden":true,"children":["$","$L28",null,{"children":["$","$24",null,{"name":"Next.Metadata","children":"$L29"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] -19:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] -2a:I[2018,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"ScrollReveal"] -2b:I[22016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],""] -2c:I[85437,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0662liixyy6d6.js","/_next/static/chunks/09evlrjkg19-o.js"],"Image"] -1a:["$","i",null,{"className":"fontello icon-half-logo"}] -1b:["$","div","8",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}] -20:["$","$L2a",null,{"delay":0.05,"duration":0.8,"yOffset":25,"children":["Smart solutions built exclusively for your ",["$","span",null,{"style":{"color":"#c01227"},"children":"industry"}]]}] -21:["$","div",null,{"className":"elementor-element elementor-element-4af73cb e-con-full elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"4af73cb","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-46f2f7d elementor-widget__width-initial elementor-widget elementor-widget-logico_button","data-id":"46f2f7d","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_button.default","children":["$","div",null,{"className":"elementor-widget-container"}]}]}] -22:["$","div",null,{"className":"elementor-element elementor-element-6829276 e-grid e-con-full cut-corner-no sticky-container-off e-con e-child","data-id":"6829276","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"industry-solutions-grid","children":[["$","$L2b",null,{"href":"/solutions","className":"industry-card-link","children":[["$","div",null,{"className":"industry-card-bg","children":["$","$L2c",null,{"src":"/images/tab-pic-1.jpeg","alt":"FMCG Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"}]}],["$","div",null,{"className":"industry-card-overlay"}],["$","div",null,{"className":"industry-card-hover-bg"}],["$","div",null,{"className":"industry-card-default-content","children":["$","h4",null,{"className":"industry-card-default-title","children":"FMCG"}]}],["$","div",null,{"className":"industry-card-hover-content","children":[["$","div",null,{"className":"industry-card-hover-top","children":[["$","p",null,{"className":"industry-card-description","children":"High volume, tight margins, zero tolerance for stockouts."}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Challenges"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-1","children":"Unpredictable demand spikes"}],["$","li",null,{"className":"industry-card-list-item bullet-2","children":"Fresh product expiry constraints"}],["$","li",null,{"className":"industry-card-list-item bullet-3","children":"Multi-stop route complexity"}]]}]]}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Doormile Solutions"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-4","children":"AI-driven demand-responsive routing"}],["$","li",null,{"className":"industry-card-list-item bullet-5","children":"Freshness-aware delivery prioritization"}],["$","li",null,{"className":"industry-card-list-item bullet-6","children":"Dynamic batch optimization"}]]}]]}]]}],["$","div",null,{"className":"industry-card-hover-bottom","children":[["$","div",null,{"className":"industry-card-hover-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeLinejoin":"round","style":{"width":"20px","height":"20px"},"children":[["$","line",null,{"x1":"7","y1":"17","x2":"17","y2":"7"}],["$","polyline",null,{"points":"7 7 17 7 17 17"}]]}]}],["$","h4",null,{"className":"industry-card-hover-title","children":"FMCG"}]]}]]}]]}],["$","$L2b",null,{"href":"/solutions","className":"industry-card-link","children":[["$","div",null,{"className":"industry-card-bg","children":["$","$L2c",null,{"src":"/images/tab-pic-2.jpeg","alt":"Pharma Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"}]}],["$","div",null,{"className":"industry-card-overlay"}],["$","div",null,{"className":"industry-card-hover-bg"}],["$","div",null,{"className":"industry-card-default-content","children":["$","h4",null,{"className":"industry-card-default-title","children":"Pharmaceutical"}]}],["$","div",null,{"className":"industry-card-hover-content","children":[["$","div",null,{"className":"industry-card-hover-top","children":[["$","p",null,{"className":"industry-card-description","children":"Temperature-sensitive, compliance-critical, life-saving."}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Challenges"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-1","children":"Cold chain integrity requirements"}],["$","li",null,{"className":"industry-card-list-item bullet-2","children":"Regulatory compliance tracking"}],["$","li",null,{"className":"industry-card-list-item bullet-3","children":"Critical delivery time windows"}]]}]]}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Doormile Solutions"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-4","children":"Real-time temperature monitoring"}],"$L2d","$L2e"]}]]}]]}],"$L2f"]}]]}],"$L30"]}]}] -2d:["$","li",null,{"className":"industry-card-list-item bullet-5","children":"Chain-of-custody documentation"}] -2e:["$","li",null,{"className":"industry-card-list-item bullet-6","children":"Priority override for critical shipments"}] -2f:["$","div",null,{"className":"industry-card-hover-bottom","children":[["$","div",null,{"className":"industry-card-hover-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeLinejoin":"round","style":{"width":"20px","height":"20px"},"children":[["$","line",null,{"x1":"7","y1":"17","x2":"17","y2":"7"}],["$","polyline",null,{"points":"7 7 17 7 17 17"}]]}]}],["$","h4",null,{"className":"industry-card-hover-title","children":"Pharmaceutical"}]]}] -30:["$","$L2b",null,{"href":"/solutions","className":"industry-card-link","children":[["$","div",null,{"className":"industry-card-bg","children":["$","$L2c",null,{"src":"/images/tab-pic-3.jpeg","alt":"Enterprise Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"}]}],["$","div",null,{"className":"industry-card-overlay"}],["$","div",null,{"className":"industry-card-hover-bg"}],["$","div",null,{"className":"industry-card-default-content","children":["$","h4",null,{"className":"industry-card-default-title","children":"Enterprise & B2B"}]}],["$","div",null,{"className":"industry-card-hover-content","children":[["$","div",null,{"className":"industry-card-hover-top","children":[["$","p",null,{"className":"industry-card-description","children":"High-value shipments with complex delivery requirements."}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Challenges"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-1","children":"Appointment scheduling coordination"}],["$","li",null,{"className":"industry-card-list-item bullet-2","children":"White-glove delivery standards"}],["$","li",null,{"className":"industry-card-list-item bullet-3","children":"Multi-location routing complexity"}]]}]]}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Doormile Solutions"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-4","children":"Automated appointment optimization"}],["$","li",null,{"className":"industry-card-list-item bullet-5","children":"Service level guarantee tracking"}],["$","li",null,{"className":"industry-card-list-item bullet-6","children":"Enterprise integration APIs"}]]}]]}]]}],["$","div",null,{"className":"industry-card-hover-bottom","children":[["$","div",null,{"className":"industry-card-hover-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeLinejoin":"round","style":{"width":"20px","height":"20px"},"children":[["$","line",null,{"x1":"7","y1":"17","x2":"17","y2":"7"}],["$","polyline",null,{"points":"7 7 17 7 17 17"}]]}]}],["$","h4",null,{"className":"industry-card-hover-title","children":"Enterprise & B2B"}]]}]]}]]}] -27:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -31:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] -25:null -29:[["$","title","0",{"children":"Doormile — Delivering Trust. Beyond Boundaries"}],["$","meta","1",{"name":"description","content":"Doormile helps logistics companies track every mile with MileTruth™ AI. Real-time SLA protection and connected miles visibility."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L31","7",{}]] + 13:["$","div",null,{"className":"elementor-element elementor-element-3b4a7cc e-flex e-con-boxed cut-corner-no sticky-container-off e-con e-parent","data-id":"3b4a7cc","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"e-con-inner","children":["$","div",null,{"className":"elementor-element elementor-element-d602f7f e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"d602f7f","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-f64bd88 e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"f64bd88","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-5ed2dbb e-con-full e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"5ed2dbb","data-element_type":"container","data-e-type":"container","children":[["$","div",null,{"className":"elementor-element elementor-element-c8162c4 elementor-widget elementor-widget-logico_heading industry-section-label","data-id":"c8162c4","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$1e"}}],["$","div",null,{"className":"elementor-widget-container","children":["$","div",null,{"className":"logico-title","children":"/ Industry Solutions /"}]}]]}],["$","div",null,{"className":"elementor-element elementor-element-1487241 elementor-widget__width-initial elementor-widget elementor-widget-logico_heading","data-id":"1487241","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_heading.default","children":["$","div",null,{"className":"elementor-widget-container","style":{"margin":"30px 0 0 0"},"children":["$","h3",null,{"className":"logico-title","style":{"fontSize":"clamp(28px, 3.5vw, 48px)","lineHeight":"1.1","fontWeight":800,"textTransform":"uppercase","maxWidth":"900px"},"children":"$L1f"}]}]}]]}],"$L20"]}],"$L21"]}]}]}] +14:["$","script","script-0",{"src":"/_next/static/chunks/000jk3-x5hh9p.js","async":true,"nonce":"$undefined"}] +15:["$","$L22",null,{"children":["$","$23",null,{"name":"Next.MetadataOutlet","children":"$@24"}]}] +16:["$","$1","h",{"children":[null,["$","$L25",null,{"children":"$L26"}],["$","div",null,{"hidden":true,"children":["$","$L27",null,{"children":["$","$23",null,{"name":"Next.Metadata","children":"$L28"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] +18:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +29:I[2018,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"ScrollReveal"] +2a:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],""] +2b:I[5500,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/000jk3-x5hh9p.js"],"Image"] +19:["$","i",null,{"className":"fontello icon-half-logo"}] +1a:["$","div","8",{"className":"ticker","style":{"display":"inline-flex","alignItems":"center","whiteSpace":"nowrap","paddingRight":"50px"},"children":[["$","span",null,{"className":"ticker-text","children":["$","p",null,{"style":{"margin":0,"display":"inline"},"children":"30% More Cost Efficient"}]}],["$","span",null,{"className":"separator","style":{"marginLeft":"25px","display":"inline-flex","alignItems":"center"},"children":["$","i",null,{"className":"fontello icon-half-logo"}]}]]}] +1f:["$","$L29",null,{"delay":0.05,"duration":0.8,"yOffset":25,"children":["Smart solutions built exclusively for your ",["$","span",null,{"style":{"color":"#c01227"},"children":"industry"}]]}] +20:["$","div",null,{"className":"elementor-element elementor-element-4af73cb e-con-full elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile e-flex cut-corner-no sticky-container-off e-con e-child","data-id":"4af73cb","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"elementor-element elementor-element-46f2f7d elementor-widget__width-initial elementor-widget elementor-widget-logico_button","data-id":"46f2f7d","data-element_type":"widget","data-e-type":"widget","data-widget_type":"logico_button.default","children":["$","div",null,{"className":"elementor-widget-container"}]}]}] +21:["$","div",null,{"className":"elementor-element elementor-element-6829276 e-grid e-con-full cut-corner-no sticky-container-off e-con e-child","data-id":"6829276","data-element_type":"container","data-e-type":"container","children":["$","div",null,{"className":"industry-solutions-grid","children":[["$","$L2a",null,{"href":"/solutions","className":"industry-card-link","children":[["$","div",null,{"className":"industry-card-bg","children":["$","$L2b",null,{"src":"/images/tab-pic-1.jpeg","alt":"FMCG Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"}]}],["$","div",null,{"className":"industry-card-overlay"}],["$","div",null,{"className":"industry-card-hover-bg"}],["$","div",null,{"className":"industry-card-default-content","children":["$","h4",null,{"className":"industry-card-default-title","children":"FMCG"}]}],["$","div",null,{"className":"industry-card-hover-content","children":[["$","div",null,{"className":"industry-card-hover-top","children":[["$","p",null,{"className":"industry-card-description","children":"High volume, tight margins, zero tolerance for stockouts."}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Challenges"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-1","children":"Unpredictable demand spikes"}],["$","li",null,{"className":"industry-card-list-item bullet-2","children":"Fresh product expiry constraints"}],["$","li",null,{"className":"industry-card-list-item bullet-3","children":"Multi-stop route complexity"}]]}]]}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Doormile Solutions"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-4","children":"AI-driven demand-responsive routing"}],["$","li",null,{"className":"industry-card-list-item bullet-5","children":"Freshness-aware delivery prioritization"}],["$","li",null,{"className":"industry-card-list-item bullet-6","children":"Dynamic batch optimization"}]]}]]}]]}],["$","div",null,{"className":"industry-card-hover-bottom","children":[["$","div",null,{"className":"industry-card-hover-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeLinejoin":"round","style":{"width":"20px","height":"20px"},"children":[["$","line",null,{"x1":"7","y1":"17","x2":"17","y2":"7"}],["$","polyline",null,{"points":"7 7 17 7 17 17"}]]}]}],["$","h4",null,{"className":"industry-card-hover-title","children":"FMCG"}]]}]]}]]}],["$","$L2a",null,{"href":"/solutions","className":"industry-card-link","children":[["$","div",null,{"className":"industry-card-bg","children":["$","$L2b",null,{"src":"/images/tab-pic-2.jpeg","alt":"Pharma Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"}]}],["$","div",null,{"className":"industry-card-overlay"}],["$","div",null,{"className":"industry-card-hover-bg"}],["$","div",null,{"className":"industry-card-default-content","children":["$","h4",null,{"className":"industry-card-default-title","children":"Pharmaceutical"}]}],["$","div",null,{"className":"industry-card-hover-content","children":[["$","div",null,{"className":"industry-card-hover-top","children":[["$","p",null,{"className":"industry-card-description","children":"Temperature-sensitive, compliance-critical, life-saving."}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Challenges"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-1","children":"Cold chain integrity requirements"}],["$","li",null,{"className":"industry-card-list-item bullet-2","children":"Regulatory compliance tracking"}],["$","li",null,{"className":"industry-card-list-item bullet-3","children":"Critical delivery time windows"}]]}]]}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Doormile Solutions"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-4","children":"Real-time temperature monitoring"}],"$L2c","$L2d"]}]]}]]}],"$L2e"]}]]}],"$L2f"]}]}] +2c:["$","li",null,{"className":"industry-card-list-item bullet-5","children":"Chain-of-custody documentation"}] +2d:["$","li",null,{"className":"industry-card-list-item bullet-6","children":"Priority override for critical shipments"}] +2e:["$","div",null,{"className":"industry-card-hover-bottom","children":[["$","div",null,{"className":"industry-card-hover-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeLinejoin":"round","style":{"width":"20px","height":"20px"},"children":[["$","line",null,{"x1":"7","y1":"17","x2":"17","y2":"7"}],["$","polyline",null,{"points":"7 7 17 7 17 17"}]]}]}],["$","h4",null,{"className":"industry-card-hover-title","children":"Pharmaceutical"}]]}] +2f:["$","$L2a",null,{"href":"/solutions","className":"industry-card-link","children":[["$","div",null,{"className":"industry-card-bg","children":["$","$L2b",null,{"src":"/images/tab-pic-3.jpeg","alt":"Enterprise Logistics","fill":true,"style":{"objectFit":"cover"},"sizes":"(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"}]}],["$","div",null,{"className":"industry-card-overlay"}],["$","div",null,{"className":"industry-card-hover-bg"}],["$","div",null,{"className":"industry-card-default-content","children":["$","h4",null,{"className":"industry-card-default-title","children":"Enterprise & B2B"}]}],["$","div",null,{"className":"industry-card-hover-content","children":[["$","div",null,{"className":"industry-card-hover-top","children":[["$","p",null,{"className":"industry-card-description","children":"High-value shipments with complex delivery requirements."}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Challenges"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-1","children":"Appointment scheduling coordination"}],["$","li",null,{"className":"industry-card-list-item bullet-2","children":"White-glove delivery standards"}],["$","li",null,{"className":"industry-card-list-item bullet-3","children":"Multi-location routing complexity"}]]}]]}],["$","div",null,{"children":[["$","h5",null,{"className":"industry-card-section-title","children":"Doormile Solutions"}],["$","ul",null,{"className":"industry-card-list","children":[["$","li",null,{"className":"industry-card-list-item bullet-4","children":"Automated appointment optimization"}],["$","li",null,{"className":"industry-card-list-item bullet-5","children":"Service level guarantee tracking"}],["$","li",null,{"className":"industry-card-list-item bullet-6","children":"Enterprise integration APIs"}]]}]]}]]}],["$","div",null,{"className":"industry-card-hover-bottom","children":[["$","div",null,{"className":"industry-card-hover-icon","children":["$","svg",null,{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":"3","strokeLinecap":"round","strokeLinejoin":"round","style":{"width":"20px","height":"20px"},"children":[["$","line",null,{"x1":"7","y1":"17","x2":"17","y2":"7"}],["$","polyline",null,{"points":"7 7 17 7 17 17"}]]}]}],["$","h4",null,{"className":"industry-card-hover-title","children":"Enterprise & B2B"}]]}]]}]]}] +26:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] +30:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +24:null +28:[["$","title","0",{"children":"Doormile — Delivering Trust. Beyond Boundaries"}],["$","meta","1",{"name":"description","content":"Doormile helps logistics companies track every mile with MileTruth™ AI. Real-time SLA protection and connected miles visibility."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L30","7",{}]] diff --git a/build/miletruth.html b/build/miletruth.html index b612ae3..2a6349e 100644 --- a/build/miletruth.html +++ b/build/miletruth.html @@ -1,4 +1,4 @@ -MileTruth – Doormile
SLA Compliance
1 %
Distance Saved
1 %
Fewer Vehicles
1 %
Dispatch Latency
45ms
Doormile AI Control Tower

AI Logistics Optimization Engine

Watch Doormile's AI engine transform chaotic logistics into precision-optimized delivery networks — reducing distance, fleet size, delays, and cost in real time.

🔍AnalyzeOptimize🚛Assign📡Execute📊Monitor
Route Distance
312 km
Vehicles
8
Orders
59
Delayed
23
Cost Overrun
+18%
Live Analytics: 59 OrdersAI Accuracy: 98.7%Fleet: 5/5 EV ActiveRoute Health: 99.4%Carbon: -12%
SLA Compliance
1 %
Distance Saved
1 %
Fewer Vehicles
1 %
Dispatch Latency
45ms

PERFORMANCE

Our AI-powered routing system reduces unnecessary travel by selecting the most efficient delivery paths across the city. This helps lower fuel and battery consumption while improving delivery speed and operational efficiency. Businesses can complete more deliveries in less time with significantly reduced logistics costs.

01/03
OPTIMIZE EVERY MILE

Cut travel distance, reduce operating cost, and improve fleet productivity across every route.

/ Performance /

SMARTER ROUTES. LOWER COSTS.

-42%DISTANCE SAVED
-37%FEWER VEHICLES
Performance InsightAI ENGINE
Optimization Running
42%Distance Saved

Route Optimization

  • Route optimization active
  • 37% fewer vehicles required
  • SLA compliance 99.9%

AI selects the most efficient delivery paths across every zone, cutting unnecessary travel and fuel and battery consumption.

01/04
Distance Saved0%
Faster Routes0%
Lower Cost0%
On-Time0.0%

INNOVATION

Our Parallel Universe Engine simultaneously evaluates multiple routing strategies to identify the most efficient delivery plan for every dispatch window. By simulating different route combinations in real time, the system ensures faster, smarter, and more cost-effective logistics decisions. This enables businesses to maintain high operational accuracy while adapting dynamically to changing delivery conditions.

01/03
CHOOSE THE BEST PLAN

Analyze thousands of route possibilities and automatically select the most efficient delivery strategy.

/ Innovation /

MANY STRATEGIES. ONE BEST PLAN.

45msINFERENCE
100%SLA-FIRST
AI Decision EngineAI ENGINE
Generating Routes
6 plansRoute Plans Generated

Generate Routes

  • Parallel strategies explored
  • 59 orders in scope
  • Real-time combinations

The Parallel Universe Engine evaluates many routing strategies at once for every dispatch window, exploring route combinations in real time.

01/04
Inference0ms
Strategies0+
SLA Met0.0%
Adaptive0/7
\ No newline at end of file + + /* Compact footer link columns on phones (<=480px). The kit only sets + column --width at min-width:481px, so below that all four blocks + fall back to 100% and stack into one very tall column. Put the + logo+social full-width on top, then lay the three link groups out + in a 2-up grid (matching the tablet 47% intent) so the footer is + roughly half as tall. */ + /* Inline icon beside each contact label (Call Center / Our Location / + Email / Social network). */ + .elementor-6585 .dm-foot-label { + display: inline-flex !important; + align-items: center; + gap: 8px; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { + flex: 0 0 auto; + color: #C01227; + } + + /* ── Compact mobile contact footer (<=600px) ── + On phones the upper contact section stacked into one very tall + column with 50px margins between every block. Tighten the heading, + collapse those stack margins, and pair Email + Social side-by-side + (both are short) so the footer is far shorter without losing the + full-width address readability. */ + @media (max-width: 600px) { + /* Trim the band's oversized top/bottom padding on phones. */ + .elementor-6585 .elementor-element.elementor-element-b29b8fc > .e-con-inner { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .elementor-6585 .elementor-element.elementor-element-687d944 .logico-title { + font-size: clamp(24px, 6.6vw, 32px) !important; + line-height: 1.2 !important; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { width: 14px; height: 14px; } + /* The Call Center / Our Location group carries a 10px side padding + the Email / Social group doesn't, leaving its labels indented + 10px out of line with everything else — zero it so all four + contact blocks share the same left edge as the heading. */ + .elementor-6585 .elementor-element.elementor-element-2631b42 { + padding-left: 0 !important; + padding-right: 0 !important; + } + /* All four contact blocks stack in one left-aligned column with a + consistent gap (Social network sits below Email). */ + .elementor-6585 .elementor-element.elementor-element-2631b42, + .elementor-6585 .elementor-element.elementor-element-f5d8e63, + .elementor-6585 .elementor-element.elementor-element-645be8d, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + margin-top: 22px !important; + } + .elementor-6585 .elementor-element.elementor-element-645be8d > .e-con-inner { + flex-direction: column !important; + gap: 0 !important; + align-items: stretch !important; + } + .elementor-6585 .elementor-element.elementor-element-a96d151, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + width: 100% !important; + } + } + + @media (max-width: 480px) { + .elementor-6585 .elementor-element.elementor-element-3f1ba7a { + display: flex !important; + flex-direction: row !important; + flex-wrap: wrap !important; + gap: 36px 16px !important; + } + .elementor-6585 .elementor-element.elementor-element-64e2e81 { + flex: 0 0 100% !important; + width: 100% !important; + } + .elementor-6585 .elementor-element.elementor-element-5b73dd3, + .elementor-6585 .elementor-element.elementor-element-451f15c, + .elementor-6585 .elementor-element.elementor-element-44a1f5d { + flex: 1 1 calc(50% - 8px) !important; + width: calc(50% - 8px) !important; + min-width: 0 !important; + } + /* Allow long links (e.g. "Women entrepreneurship") to wrap inside + the narrow columns instead of overflowing. */ + .elementor-6585 .logico-custom-menu-widget li a { + white-space: normal !important; + } + /* Trim the large social-icons top gap so the brand block stays tight. */ + .elementor-6585 .elementor-element.elementor-element-e4e6486 > .elementor-widget-container { + margin-top: 24px !important; + } + } + \ No newline at end of file diff --git a/build/miletruth.txt b/build/miletruth.txt index a02c033..82c19a0 100644 --- a/build/miletruth.txt +++ b/build/miletruth.txt @@ -1,24 +1,24 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -c:I[58829,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0dk5i18w5.4u4.js","/_next/static/chunks/17n7rg0fwvf9d.js","/_next/static/chunks/0gfs5b90gkbge.js"],"default"] -d:I[76756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0dk5i18w5.4u4.js","/_next/static/chunks/17n7rg0fwvf9d.js","/_next/static/chunks/0gfs5b90gkbge.js"],"default"] -e:I[38730,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0dk5i18w5.4u4.js","/_next/static/chunks/17n7rg0fwvf9d.js","/_next/static/chunks/0gfs5b90gkbge.js"],"default"] -f:I[33016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0dk5i18w5.4u4.js","/_next/static/chunks/17n7rg0fwvf9d.js","/_next/static/chunks/0gfs5b90gkbge.js"],"default"] -10:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +c:I[58829,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/04syu-h-mffeu.js"],"default"] +d:I[76756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/04syu-h-mffeu.js"],"default"] +e:I[38730,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/04syu-h-mffeu.js"],"default"] +f:I[33016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/04syu-h-mffeu.js"],"default"] +10:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 11:"$Sreact.suspense" -14:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -16:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] -18:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +14:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +16:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +18:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -26,10 +26,10 @@ f:I[33016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4 :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"P":null,"c":["","miletruth"],"q":"","i":false,"f":[[["",{"children":["miletruth",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"59","className":"elementor elementor-59","children":[["$","$Lc",null,{}],["$","$Ld",null,{}],["$","$Le",null,{}],["$","$Lf",null,{}]]}]}]}]}],[["$","script","script-0",{"src":"/_next/static/chunks/0dk5i18w5.4u4.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/17n7rg0fwvf9d.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/0gfs5b90gkbge.js","async":true,"nonce":"$undefined"}]],["$","$L10",null,{"children":["$","$11",null,{"name":"Next.MetadataOutlet","children":"$@12"}]}]]}],{},null,false,null]},null,false,"$@13"]},null,false,null],["$","$1","h",{"children":[null,["$","$L14",null,{"children":"$L15"}],["$","div",null,{"hidden":true,"children":["$","$L16",null,{"children":["$","$11",null,{"name":"Next.Metadata","children":"$L17"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$18",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} +0:{"P":null,"c":["","miletruth"],"q":"","i":false,"f":[[["",{"children":["miletruth",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"59","className":"elementor elementor-59","children":[["$","$Lc",null,{}],["$","$Ld",null,{}],["$","$Le",null,{}],["$","$Lf",null,{}]]}]}]}]}],[["$","script","script-0",{"src":"/_next/static/chunks/04syu-h-mffeu.js","async":true,"nonce":"$undefined"}]],["$","$L10",null,{"children":["$","$11",null,{"name":"Next.MetadataOutlet","children":"$@12"}]}]]}],{},null,false,null]},null,false,"$@13"]},null,false,null],["$","$1","h",{"children":[null,["$","$L14",null,{"children":"$L15"}],["$","div",null,{"hidden":true,"children":["$","$L16",null,{"children":["$","$11",null,{"name":"Next.Metadata","children":"$L17"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$18",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} 19:[] 13:"$W19" 15:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -1a:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +1a:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] 12:null 17:[["$","title","0",{"children":"MileTruth – Doormile"}],["$","meta","1",{"name":"description","content":"Optimizes every stage of the delivery journey for maximum efficiency. Explore the only AI built exclusively for logistics."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L1a","7",{}]] diff --git a/build/miletruth/__next._full.txt b/build/miletruth/__next._full.txt index a02c033..82c19a0 100644 --- a/build/miletruth/__next._full.txt +++ b/build/miletruth/__next._full.txt @@ -1,24 +1,24 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -c:I[58829,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0dk5i18w5.4u4.js","/_next/static/chunks/17n7rg0fwvf9d.js","/_next/static/chunks/0gfs5b90gkbge.js"],"default"] -d:I[76756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0dk5i18w5.4u4.js","/_next/static/chunks/17n7rg0fwvf9d.js","/_next/static/chunks/0gfs5b90gkbge.js"],"default"] -e:I[38730,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0dk5i18w5.4u4.js","/_next/static/chunks/17n7rg0fwvf9d.js","/_next/static/chunks/0gfs5b90gkbge.js"],"default"] -f:I[33016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0dk5i18w5.4u4.js","/_next/static/chunks/17n7rg0fwvf9d.js","/_next/static/chunks/0gfs5b90gkbge.js"],"default"] -10:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +c:I[58829,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/04syu-h-mffeu.js"],"default"] +d:I[76756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/04syu-h-mffeu.js"],"default"] +e:I[38730,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/04syu-h-mffeu.js"],"default"] +f:I[33016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/04syu-h-mffeu.js"],"default"] +10:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 11:"$Sreact.suspense" -14:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -16:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] -18:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +14:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +16:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +18:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -26,10 +26,10 @@ f:I[33016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4 :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"P":null,"c":["","miletruth"],"q":"","i":false,"f":[[["",{"children":["miletruth",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"59","className":"elementor elementor-59","children":[["$","$Lc",null,{}],["$","$Ld",null,{}],["$","$Le",null,{}],["$","$Lf",null,{}]]}]}]}]}],[["$","script","script-0",{"src":"/_next/static/chunks/0dk5i18w5.4u4.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/17n7rg0fwvf9d.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/0gfs5b90gkbge.js","async":true,"nonce":"$undefined"}]],["$","$L10",null,{"children":["$","$11",null,{"name":"Next.MetadataOutlet","children":"$@12"}]}]]}],{},null,false,null]},null,false,"$@13"]},null,false,null],["$","$1","h",{"children":[null,["$","$L14",null,{"children":"$L15"}],["$","div",null,{"hidden":true,"children":["$","$L16",null,{"children":["$","$11",null,{"name":"Next.Metadata","children":"$L17"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$18",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} +0:{"P":null,"c":["","miletruth"],"q":"","i":false,"f":[[["",{"children":["miletruth",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"59","className":"elementor elementor-59","children":[["$","$Lc",null,{}],["$","$Ld",null,{}],["$","$Le",null,{}],["$","$Lf",null,{}]]}]}]}]}],[["$","script","script-0",{"src":"/_next/static/chunks/04syu-h-mffeu.js","async":true,"nonce":"$undefined"}]],["$","$L10",null,{"children":["$","$11",null,{"name":"Next.MetadataOutlet","children":"$@12"}]}]]}],{},null,false,null]},null,false,"$@13"]},null,false,null],["$","$1","h",{"children":[null,["$","$L14",null,{"children":"$L15"}],["$","div",null,{"hidden":true,"children":["$","$L16",null,{"children":["$","$11",null,{"name":"Next.Metadata","children":"$L17"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$18",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} 19:[] 13:"$W19" 15:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -1a:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +1a:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] 12:null 17:[["$","title","0",{"children":"MileTruth – Doormile"}],["$","meta","1",{"name":"description","content":"Optimizes every stage of the delivery journey for maximum efficiency. Explore the only AI built exclusively for logistics."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L1a","7",{}]] diff --git a/build/miletruth/__next._head.txt b/build/miletruth/__next._head.txt index 8d55b35..882f57d 100644 --- a/build/miletruth/__next._head.txt +++ b/build/miletruth/__next._head.txt @@ -1,6 +1,6 @@ 1:"$Sreact.fragment" -2:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -3:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] 4:"$Sreact.suspense" -5:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] -0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"MileTruth – Doormile"}],["$","meta","1",{"name":"description","content":"Optimizes every stage of the delivery journey for maximum efficiency. Explore the only AI built exclusively for logistics."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"MileTruth – Doormile"}],["$","meta","1",{"name":"description","content":"Optimizes every stage of the delivery journey for maximum efficiency. Explore the only AI built exclusively for logistics."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/miletruth/__next._index.txt b/build/miletruth/__next._index.txt index d8e09a9..9c09249 100644 --- a/build/miletruth/__next._index.txt +++ b/build/miletruth/__next._index.txt @@ -1,15 +1,15 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/miletruth/__next._tree.txt b/build/miletruth/__next._tree.txt index f9cb527..1f336be 100644 --- a/build/miletruth/__next._tree.txt +++ b/build/miletruth/__next._tree.txt @@ -1,4 +1,4 @@ -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -6,4 +6,4 @@ :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"miletruth","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"miletruth","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/miletruth/__next.miletruth.__PAGE__.txt b/build/miletruth/__next.miletruth.__PAGE__.txt index c9011d0..8398f11 100644 --- a/build/miletruth/__next.miletruth.__PAGE__.txt +++ b/build/miletruth/__next.miletruth.__PAGE__.txt @@ -1,9 +1,9 @@ 1:"$Sreact.fragment" -2:I[58829,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0dk5i18w5.4u4.js","/_next/static/chunks/17n7rg0fwvf9d.js","/_next/static/chunks/0gfs5b90gkbge.js"],"default"] -3:I[76756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0dk5i18w5.4u4.js","/_next/static/chunks/17n7rg0fwvf9d.js","/_next/static/chunks/0gfs5b90gkbge.js"],"default"] -4:I[38730,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0dk5i18w5.4u4.js","/_next/static/chunks/17n7rg0fwvf9d.js","/_next/static/chunks/0gfs5b90gkbge.js"],"default"] -5:I[33016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0dk5i18w5.4u4.js","/_next/static/chunks/17n7rg0fwvf9d.js","/_next/static/chunks/0gfs5b90gkbge.js"],"default"] -6:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +2:I[58829,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/04syu-h-mffeu.js"],"default"] +3:I[76756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/04syu-h-mffeu.js"],"default"] +4:I[38730,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/04syu-h-mffeu.js"],"default"] +5:I[33016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/04syu-h-mffeu.js"],"default"] +6:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 7:"$Sreact.suspense" -0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"59","className":"elementor elementor-59","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{}],["$","$L5",null,{}]]}]}]}]}],[["$","script","script-0",{"src":"/_next/static/chunks/0dk5i18w5.4u4.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/17n7rg0fwvf9d.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/0gfs5b90gkbge.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"59","className":"elementor elementor-59","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{}],["$","$L5",null,{}]]}]}]}]}],[["$","script","script-0",{"src":"/_next/static/chunks/04syu-h-mffeu.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} 8:null diff --git a/build/miletruth/__next.miletruth.txt b/build/miletruth/__next.miletruth.txt index 1983a3d..e7f2861 100644 --- a/build/miletruth/__next.miletruth.txt +++ b/build/miletruth/__next.miletruth.txt @@ -1,5 +1,5 @@ 1:"$Sreact.fragment" -2:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] 4:[] -0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/privacy-policy.html b/build/privacy-policy.html index e390071..a3c1b31 100644 --- a/build/privacy-policy.html +++ b/build/privacy-policy.html @@ -1,4 +1,4 @@ -Privacy Policy – Doormile
\ No newline at end of file + + /* Compact footer link columns on phones (<=480px). The kit only sets + column --width at min-width:481px, so below that all four blocks + fall back to 100% and stack into one very tall column. Put the + logo+social full-width on top, then lay the three link groups out + in a 2-up grid (matching the tablet 47% intent) so the footer is + roughly half as tall. */ + /* Inline icon beside each contact label (Call Center / Our Location / + Email / Social network). */ + .elementor-6585 .dm-foot-label { + display: inline-flex !important; + align-items: center; + gap: 8px; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { + flex: 0 0 auto; + color: #C01227; + } + + /* ── Compact mobile contact footer (<=600px) ── + On phones the upper contact section stacked into one very tall + column with 50px margins between every block. Tighten the heading, + collapse those stack margins, and pair Email + Social side-by-side + (both are short) so the footer is far shorter without losing the + full-width address readability. */ + @media (max-width: 600px) { + /* Trim the band's oversized top/bottom padding on phones. */ + .elementor-6585 .elementor-element.elementor-element-b29b8fc > .e-con-inner { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .elementor-6585 .elementor-element.elementor-element-687d944 .logico-title { + font-size: clamp(24px, 6.6vw, 32px) !important; + line-height: 1.2 !important; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { width: 14px; height: 14px; } + /* The Call Center / Our Location group carries a 10px side padding + the Email / Social group doesn't, leaving its labels indented + 10px out of line with everything else — zero it so all four + contact blocks share the same left edge as the heading. */ + .elementor-6585 .elementor-element.elementor-element-2631b42 { + padding-left: 0 !important; + padding-right: 0 !important; + } + /* All four contact blocks stack in one left-aligned column with a + consistent gap (Social network sits below Email). */ + .elementor-6585 .elementor-element.elementor-element-2631b42, + .elementor-6585 .elementor-element.elementor-element-f5d8e63, + .elementor-6585 .elementor-element.elementor-element-645be8d, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + margin-top: 22px !important; + } + .elementor-6585 .elementor-element.elementor-element-645be8d > .e-con-inner { + flex-direction: column !important; + gap: 0 !important; + align-items: stretch !important; + } + .elementor-6585 .elementor-element.elementor-element-a96d151, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + width: 100% !important; + } + } + + @media (max-width: 480px) { + .elementor-6585 .elementor-element.elementor-element-3f1ba7a { + display: flex !important; + flex-direction: row !important; + flex-wrap: wrap !important; + gap: 36px 16px !important; + } + .elementor-6585 .elementor-element.elementor-element-64e2e81 { + flex: 0 0 100% !important; + width: 100% !important; + } + .elementor-6585 .elementor-element.elementor-element-5b73dd3, + .elementor-6585 .elementor-element.elementor-element-451f15c, + .elementor-6585 .elementor-element.elementor-element-44a1f5d { + flex: 1 1 calc(50% - 8px) !important; + width: calc(50% - 8px) !important; + min-width: 0 !important; + } + /* Allow long links (e.g. "Women entrepreneurship") to wrap inside + the narrow columns instead of overflowing. */ + .elementor-6585 .logico-custom-menu-widget li a { + white-space: normal !important; + } + /* Trim the large social-icons top gap so the brand block stays tight. */ + .elementor-6585 .elementor-element.elementor-element-e4e6486 > .elementor-widget-container { + margin-top: 24px !important; + } + } + \ No newline at end of file diff --git a/build/privacy-policy.txt b/build/privacy-policy.txt index 02f97ea..2eea752 100644 --- a/build/privacy-policy.txt +++ b/build/privacy-policy.txt @@ -1,16 +1,16 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -19:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +19:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -18,11 +18,11 @@ b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4 :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"P":null,"c":["","privacy-policy"],"q":"","i":false,"f":[[["",{"children":["privacy-policy",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","section",null,{"className":"dm-legal","aria-label":"Privacy Policy","children":[["$","div",null,{"className":"dm-legal__wrap","children":[["$","aside",null,{"className":"dm-legal__toc","aria-label":"On this page","children":["$","div",null,{"className":"dm-legal__toc-inner","children":[["$","p",null,{"className":"dm-legal__toc-label","children":"On this page"}],["$","nav",null,{"children":["$","ul",null,{"children":[["$","li","Information We Collect",{"children":["$","a",null,{"href":"#information-we-collect","children":"Information We Collect"}]}],["$","li","How We Use Your Information",{"children":["$","a",null,{"href":"#how-we-use-your-information","children":"How We Use Your Information"}]}],["$","li","Information Sharing",{"children":"$Lc"}],"$Ld","$Le","$Lf","$L10","$L11","$L12","$L13"]}]}]]}]}],"$L14"]}],"$L15"]}]}]}]}],null,"$L16"]}],{},null,false,null]},null,false,"$@17"]},null,false,null],"$L18",false]],"m":"$undefined","G":["$19",["$L1a"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} -20:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +0:{"P":null,"c":["","privacy-policy"],"q":"","i":false,"f":[[["",{"children":["privacy-policy",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","section",null,{"className":"dm-legal","aria-label":"Privacy Policy","children":[["$","div",null,{"className":"dm-legal__wrap","children":[["$","aside",null,{"className":"dm-legal__toc","aria-label":"On this page","children":["$","div",null,{"className":"dm-legal__toc-inner","children":[["$","p",null,{"className":"dm-legal__toc-label","children":"On this page"}],["$","nav",null,{"children":["$","ul",null,{"children":[["$","li","Information We Collect",{"children":["$","a",null,{"href":"#information-we-collect","children":"Information We Collect"}]}],["$","li","How We Use Your Information",{"children":["$","a",null,{"href":"#how-we-use-your-information","children":"How We Use Your Information"}]}],["$","li","Information Sharing",{"children":"$Lc"}],"$Ld","$Le","$Lf","$L10","$L11","$L12","$L13"]}]}]]}]}],"$L14"]}],"$L15"]}]}]}]}],null,"$L16"]}],{},null,false,null]},null,false,"$@17"]},null,false,null],"$L18",false]],"m":"$undefined","G":["$19",["$L1a"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +20:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 21:"$Sreact.suspense" -24:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -26:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +24:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +26:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] c:["$","a",null,{"href":"#information-sharing","children":"Information Sharing"}] d:["$","li","Data Security",{"children":["$","a",null,{"href":"#data-security","children":"Data Security"}]}] e:["$","li","Data Retention",{"children":["$","a",null,{"href":"#data-retention","children":"Data Retention"}]}] @@ -210,13 +210,13 @@ f:["$","li","Cookies and Tracking Technologies",{"children":["$","a",null,{"href 23:[] 17:"$W23" 18:["$","$1","h",{"children":[null,["$","$L24",null,{"children":"$L25"}],["$","div",null,{"hidden":true,"children":["$","$L26",null,{"children":["$","$21",null,{"name":"Next.Metadata","children":"$L27"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] -1a:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] -28:I[22016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] +1a:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +28:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] 1b:["$","section","Your Rights",{"id":"your-rights","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Your Rights"}],[["$","p","0",{"className":"dm-legal__p","children":"Depending on applicable laws, you may have the right to:"}],["$","ul","1",{"className":"dm-legal__ul","children":[["$","li","0",{"children":"Access your personal information"}],["$","li","1",{"children":"Request correction of inaccurate data"}],["$","li","2",{"children":"Request deletion of personal information"}],["$","li","3",{"children":"Restrict or object to certain processing activities"}],["$","li","4",{"children":"Withdraw consent where applicable"}]]}]]]}] 1c:["$","section","Third-Party Links",{"id":"third-party-links","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Third-Party Links"}],[["$","p","0",{"className":"dm-legal__p","children":"Our website may contain links to third-party websites. We are not responsible for the privacy practices or content of external websites."}]]]}] 1d:["$","section","Policy Updates",{"id":"policy-updates","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Policy Updates"}],[["$","p","0",{"className":"dm-legal__p","children":"We may update this Privacy Policy periodically. Any changes will be posted on this page with a revised effective date."}]]]}] 1e:["$","section","Contact Us",{"id":"contact-us","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Contact Us"}],[["$","p","0",{"className":"dm-legal__p","children":["For privacy-related questions or requests, please contact us through our ",["$","$L28",null,{"href":"/contact","className":"dm-legal__link","children":"Contact page"}],"."]}]]]}] 25:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -29:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +29:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] 22:null 27:[["$","title","0",{"children":"Privacy Policy – Doormile"}],["$","meta","1",{"name":"description","content":"How Doormile collects, uses, stores, and protects your information when you visit our website, interact with our services, or communicate with us."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L29","7",{}]] diff --git a/build/privacy-policy/__next._full.txt b/build/privacy-policy/__next._full.txt index 02f97ea..2eea752 100644 --- a/build/privacy-policy/__next._full.txt +++ b/build/privacy-policy/__next._full.txt @@ -1,16 +1,16 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -19:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +19:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -18,11 +18,11 @@ b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4 :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"P":null,"c":["","privacy-policy"],"q":"","i":false,"f":[[["",{"children":["privacy-policy",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","section",null,{"className":"dm-legal","aria-label":"Privacy Policy","children":[["$","div",null,{"className":"dm-legal__wrap","children":[["$","aside",null,{"className":"dm-legal__toc","aria-label":"On this page","children":["$","div",null,{"className":"dm-legal__toc-inner","children":[["$","p",null,{"className":"dm-legal__toc-label","children":"On this page"}],["$","nav",null,{"children":["$","ul",null,{"children":[["$","li","Information We Collect",{"children":["$","a",null,{"href":"#information-we-collect","children":"Information We Collect"}]}],["$","li","How We Use Your Information",{"children":["$","a",null,{"href":"#how-we-use-your-information","children":"How We Use Your Information"}]}],["$","li","Information Sharing",{"children":"$Lc"}],"$Ld","$Le","$Lf","$L10","$L11","$L12","$L13"]}]}]]}]}],"$L14"]}],"$L15"]}]}]}]}],null,"$L16"]}],{},null,false,null]},null,false,"$@17"]},null,false,null],"$L18",false]],"m":"$undefined","G":["$19",["$L1a"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} -20:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +0:{"P":null,"c":["","privacy-policy"],"q":"","i":false,"f":[[["",{"children":["privacy-policy",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","section",null,{"className":"dm-legal","aria-label":"Privacy Policy","children":[["$","div",null,{"className":"dm-legal__wrap","children":[["$","aside",null,{"className":"dm-legal__toc","aria-label":"On this page","children":["$","div",null,{"className":"dm-legal__toc-inner","children":[["$","p",null,{"className":"dm-legal__toc-label","children":"On this page"}],["$","nav",null,{"children":["$","ul",null,{"children":[["$","li","Information We Collect",{"children":["$","a",null,{"href":"#information-we-collect","children":"Information We Collect"}]}],["$","li","How We Use Your Information",{"children":["$","a",null,{"href":"#how-we-use-your-information","children":"How We Use Your Information"}]}],["$","li","Information Sharing",{"children":"$Lc"}],"$Ld","$Le","$Lf","$L10","$L11","$L12","$L13"]}]}]]}]}],"$L14"]}],"$L15"]}]}]}]}],null,"$L16"]}],{},null,false,null]},null,false,"$@17"]},null,false,null],"$L18",false]],"m":"$undefined","G":["$19",["$L1a"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +20:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 21:"$Sreact.suspense" -24:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -26:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +24:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +26:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] c:["$","a",null,{"href":"#information-sharing","children":"Information Sharing"}] d:["$","li","Data Security",{"children":["$","a",null,{"href":"#data-security","children":"Data Security"}]}] e:["$","li","Data Retention",{"children":["$","a",null,{"href":"#data-retention","children":"Data Retention"}]}] @@ -210,13 +210,13 @@ f:["$","li","Cookies and Tracking Technologies",{"children":["$","a",null,{"href 23:[] 17:"$W23" 18:["$","$1","h",{"children":[null,["$","$L24",null,{"children":"$L25"}],["$","div",null,{"hidden":true,"children":["$","$L26",null,{"children":["$","$21",null,{"name":"Next.Metadata","children":"$L27"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] -1a:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] -28:I[22016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] +1a:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +28:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] 1b:["$","section","Your Rights",{"id":"your-rights","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Your Rights"}],[["$","p","0",{"className":"dm-legal__p","children":"Depending on applicable laws, you may have the right to:"}],["$","ul","1",{"className":"dm-legal__ul","children":[["$","li","0",{"children":"Access your personal information"}],["$","li","1",{"children":"Request correction of inaccurate data"}],["$","li","2",{"children":"Request deletion of personal information"}],["$","li","3",{"children":"Restrict or object to certain processing activities"}],["$","li","4",{"children":"Withdraw consent where applicable"}]]}]]]}] 1c:["$","section","Third-Party Links",{"id":"third-party-links","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Third-Party Links"}],[["$","p","0",{"className":"dm-legal__p","children":"Our website may contain links to third-party websites. We are not responsible for the privacy practices or content of external websites."}]]]}] 1d:["$","section","Policy Updates",{"id":"policy-updates","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Policy Updates"}],[["$","p","0",{"className":"dm-legal__p","children":"We may update this Privacy Policy periodically. Any changes will be posted on this page with a revised effective date."}]]]}] 1e:["$","section","Contact Us",{"id":"contact-us","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Contact Us"}],[["$","p","0",{"className":"dm-legal__p","children":["For privacy-related questions or requests, please contact us through our ",["$","$L28",null,{"href":"/contact","className":"dm-legal__link","children":"Contact page"}],"."]}]]]}] 25:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -29:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +29:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] 22:null 27:[["$","title","0",{"children":"Privacy Policy – Doormile"}],["$","meta","1",{"name":"description","content":"How Doormile collects, uses, stores, and protects your information when you visit our website, interact with our services, or communicate with us."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L29","7",{}]] diff --git a/build/privacy-policy/__next._head.txt b/build/privacy-policy/__next._head.txt index 5d1d34d..dec71b1 100644 --- a/build/privacy-policy/__next._head.txt +++ b/build/privacy-policy/__next._head.txt @@ -1,6 +1,6 @@ 1:"$Sreact.fragment" -2:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -3:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] 4:"$Sreact.suspense" -5:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] -0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Privacy Policy – Doormile"}],["$","meta","1",{"name":"description","content":"How Doormile collects, uses, stores, and protects your information when you visit our website, interact with our services, or communicate with us."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Privacy Policy – Doormile"}],["$","meta","1",{"name":"description","content":"How Doormile collects, uses, stores, and protects your information when you visit our website, interact with our services, or communicate with us."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/privacy-policy/__next._index.txt b/build/privacy-policy/__next._index.txt index d8e09a9..9c09249 100644 --- a/build/privacy-policy/__next._index.txt +++ b/build/privacy-policy/__next._index.txt @@ -1,15 +1,15 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/privacy-policy/__next._tree.txt b/build/privacy-policy/__next._tree.txt index 426f64b..ebdefd0 100644 --- a/build/privacy-policy/__next._tree.txt +++ b/build/privacy-policy/__next._tree.txt @@ -1,4 +1,4 @@ -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -6,4 +6,4 @@ :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"privacy-policy","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"privacy-policy","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/privacy-policy/__next.privacy-policy.__PAGE__.txt b/build/privacy-policy/__next.privacy-policy.__PAGE__.txt index 8338350..a43c129 100644 --- a/build/privacy-policy/__next.privacy-policy.__PAGE__.txt +++ b/build/privacy-policy/__next.privacy-policy.__PAGE__.txt @@ -1,8 +1,8 @@ 1:"$Sreact.fragment" -c:I[22016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] -e:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +c:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] +e:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] f:"$Sreact.suspense" -0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","section",null,{"className":"dm-legal","aria-label":"Privacy Policy","children":[["$","div",null,{"className":"dm-legal__wrap","children":[["$","aside",null,{"className":"dm-legal__toc","aria-label":"On this page","children":["$","div",null,{"className":"dm-legal__toc-inner","children":[["$","p",null,{"className":"dm-legal__toc-label","children":"On this page"}],["$","nav",null,{"children":["$","ul",null,{"children":[["$","li","Information We Collect",{"children":["$","a",null,{"href":"#information-we-collect","children":"Information We Collect"}]}],["$","li","How We Use Your Information",{"children":["$","a",null,{"href":"#how-we-use-your-information","children":"How We Use Your Information"}]}],["$","li","Information Sharing",{"children":["$","a",null,{"href":"#information-sharing","children":"Information Sharing"}]}],["$","li","Data Security",{"children":["$","a",null,{"href":"#data-security","children":"Data Security"}]}],["$","li","Data Retention",{"children":["$","a",null,{"href":"#data-retention","children":"Data Retention"}]}],["$","li","Cookies and Tracking Technologies",{"children":["$","a",null,{"href":"#cookies-and-tracking-technologies","children":"Cookies and Tracking Technologies"}]}],["$","li","Your Rights",{"children":["$","a",null,{"href":"#your-rights","children":"Your Rights"}]}],["$","li","Third-Party Links",{"children":["$","a",null,{"href":"#third-party-links","children":"Third-Party Links"}]}],["$","li","Policy Updates",{"children":["$","a",null,{"href":"#policy-updates","children":"Policy Updates"}]}],["$","li","Contact Us",{"children":["$","a",null,{"href":"#contact-us","children":"Contact Us"}]}]]}]}]]}]}],["$","div",null,{"className":"dm-legal__main","children":[["$","header",null,{"className":"dm-legal__hero","children":[["$","h1",null,{"className":"dm-legal__title","children":"Privacy Policy"}],["$","p",null,{"className":"dm-legal__updated","children":["Last Updated: ","June 2026"]}],["$","p",null,{"className":"dm-legal__lead","children":"At Doormile, we are committed to protecting your privacy and maintaining the security of the information you share with us. This Privacy Policy outlines how we collect, use, store, and protect your information when you visit our website, interact with our services, or communicate with us."}]]}],["$","article",null,{"className":"dm-legal__content","children":[["$","section","Information We Collect",{"id":"information-we-collect","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Information We Collect"}],[["$","p","0",{"className":"dm-legal__p","children":"We may collect the following information:"}],["$","ul","1",{"className":"dm-legal__ul","children":[["$","li","0",{"children":"Full name"}],["$","li","1",{"children":"Email address"}],["$","li","2",{"children":"Phone number"}],["$","li","3",{"children":"Company name"}],["$","li","4",{"children":"Job title"}],["$","li","5",{"children":"Information submitted through contact forms"}],["$","li","6",{"children":"Service inquiry details"}],["$","li","7",{"children":"Website usage data and analytics"}],["$","li","8",{"children":"Browser, device, and IP information"}]]}]]]}],["$","section","How We Use Your Information",{"id":"how-we-use-your-information","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"How We Use Your Information"}],[["$","p","0",{"className":"dm-legal__p","children":"We use your information to:"}],["$","ul","1",{"className":"dm-legal__ul","children":[["$","li","0",{"children":"Respond to inquiries and support requests"}],["$","li","1",{"children":"Provide information about our services"}],["$","li","2",{"children":"Improve website performance and user experience"}],["$","li","3",{"children":"Analyze usage trends and platform effectiveness"}],["$","li","4",{"children":"Maintain security and prevent unauthorized access"}],["$","li","5",{"children":"Communicate service updates and business information"}],["$","li","6",{"children":"Comply with legal and regulatory requirements"}]]}]]]}],"$L2","$L3","$L4","$L5","$L6","$L7","$L8","$L9"]}]]}]]}],"$La"]}]}]}]}],null,"$Lb"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","section",null,{"className":"dm-legal","aria-label":"Privacy Policy","children":[["$","div",null,{"className":"dm-legal__wrap","children":[["$","aside",null,{"className":"dm-legal__toc","aria-label":"On this page","children":["$","div",null,{"className":"dm-legal__toc-inner","children":[["$","p",null,{"className":"dm-legal__toc-label","children":"On this page"}],["$","nav",null,{"children":["$","ul",null,{"children":[["$","li","Information We Collect",{"children":["$","a",null,{"href":"#information-we-collect","children":"Information We Collect"}]}],["$","li","How We Use Your Information",{"children":["$","a",null,{"href":"#how-we-use-your-information","children":"How We Use Your Information"}]}],["$","li","Information Sharing",{"children":["$","a",null,{"href":"#information-sharing","children":"Information Sharing"}]}],["$","li","Data Security",{"children":["$","a",null,{"href":"#data-security","children":"Data Security"}]}],["$","li","Data Retention",{"children":["$","a",null,{"href":"#data-retention","children":"Data Retention"}]}],["$","li","Cookies and Tracking Technologies",{"children":["$","a",null,{"href":"#cookies-and-tracking-technologies","children":"Cookies and Tracking Technologies"}]}],["$","li","Your Rights",{"children":["$","a",null,{"href":"#your-rights","children":"Your Rights"}]}],["$","li","Third-Party Links",{"children":["$","a",null,{"href":"#third-party-links","children":"Third-Party Links"}]}],["$","li","Policy Updates",{"children":["$","a",null,{"href":"#policy-updates","children":"Policy Updates"}]}],["$","li","Contact Us",{"children":["$","a",null,{"href":"#contact-us","children":"Contact Us"}]}]]}]}]]}]}],["$","div",null,{"className":"dm-legal__main","children":[["$","header",null,{"className":"dm-legal__hero","children":[["$","h1",null,{"className":"dm-legal__title","children":"Privacy Policy"}],["$","p",null,{"className":"dm-legal__updated","children":["Last Updated: ","June 2026"]}],["$","p",null,{"className":"dm-legal__lead","children":"At Doormile, we are committed to protecting your privacy and maintaining the security of the information you share with us. This Privacy Policy outlines how we collect, use, store, and protect your information when you visit our website, interact with our services, or communicate with us."}]]}],["$","article",null,{"className":"dm-legal__content","children":[["$","section","Information We Collect",{"id":"information-we-collect","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Information We Collect"}],[["$","p","0",{"className":"dm-legal__p","children":"We may collect the following information:"}],["$","ul","1",{"className":"dm-legal__ul","children":[["$","li","0",{"children":"Full name"}],["$","li","1",{"children":"Email address"}],["$","li","2",{"children":"Phone number"}],["$","li","3",{"children":"Company name"}],["$","li","4",{"children":"Job title"}],["$","li","5",{"children":"Information submitted through contact forms"}],["$","li","6",{"children":"Service inquiry details"}],["$","li","7",{"children":"Website usage data and analytics"}],["$","li","8",{"children":"Browser, device, and IP information"}]]}]]]}],["$","section","How We Use Your Information",{"id":"how-we-use-your-information","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"How We Use Your Information"}],[["$","p","0",{"className":"dm-legal__p","children":"We use your information to:"}],["$","ul","1",{"className":"dm-legal__ul","children":[["$","li","0",{"children":"Respond to inquiries and support requests"}],["$","li","1",{"children":"Provide information about our services"}],["$","li","2",{"children":"Improve website performance and user experience"}],["$","li","3",{"children":"Analyze usage trends and platform effectiveness"}],["$","li","4",{"children":"Maintain security and prevent unauthorized access"}],["$","li","5",{"children":"Communicate service updates and business information"}],["$","li","6",{"children":"Comply with legal and regulatory requirements"}]]}]]]}],"$L2","$L3","$L4","$L5","$L6","$L7","$L8","$L9"]}]]}]]}],"$La"]}]}]}]}],null,"$Lb"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} 2:["$","section","Information Sharing",{"id":"information-sharing","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Information Sharing"}],[["$","p","0",{"className":"dm-legal__p","children":"Doormile does not sell, rent, or trade personal information. Information may be shared with trusted service providers that assist with website hosting, analytics, communications, and operational support, subject to appropriate confidentiality and security obligations."}]]]}] 3:["$","section","Data Security",{"id":"data-security","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Data Security"}],[["$","p","0",{"className":"dm-legal__p","children":"We implement industry-standard administrative, technical, and organizational safeguards designed to protect personal information from unauthorized access, disclosure, alteration, or destruction."}]]]}] 4:["$","section","Data Retention",{"id":"data-retention","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Data Retention"}],[["$","p","0",{"className":"dm-legal__p","children":"We retain information only for as long as necessary to fulfill the purposes described in this policy, comply with legal obligations, resolve disputes, and enforce agreements."}]]]}] diff --git a/build/privacy-policy/__next.privacy-policy.txt b/build/privacy-policy/__next.privacy-policy.txt index 1983a3d..e7f2861 100644 --- a/build/privacy-policy/__next.privacy-policy.txt +++ b/build/privacy-policy/__next.privacy-policy.txt @@ -1,5 +1,5 @@ 1:"$Sreact.fragment" -2:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] 4:[] -0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/solutions.html b/build/solutions.html index ff4367f..3b4c974 100644 --- a/build/solutions.html +++ b/build/solutions.html @@ -1,4 +1,4 @@ -Solutions – Doormile
FMCG logistics

FMCG

FMCG logistics demands speed, precision, and continuous fulfillment across high-volume delivery networks. Businesses must balance tight delivery timelines, inventory movement, and operational efficiency without compromising product availability.

  • Unpredictable demand spikes create delivery pressure and reduce operational efficiency during peak periods.
  • Fresh product expiry constraints require faster, precisely timed deliveries to maintain product quality.
  • Multi-stop route complexity increases travel time, operational costs, and delivery coordination challenges.
  • Inventory stockout risks increase when delivery delays disrupt fast-moving product distribution.
Pharma logistics

Pharma

Pharma logistics requires precision, compliance, and real-time monitoring so every shipment arrives safely and on time — from temperature-sensitive medicines to urgent emergency deliveries.

  • Cold chain integrity demands precise temperature control throughout transit.
  • Regulatory compliance must be tracked and documented on every delivery.
  • Critical delivery time windows require highly accurate scheduling.
  • Emergency shipments need instant dispatch and zero-delay execution.
Enterprise and B2B logistics

Enterprise & B2B

Enterprise and B2B logistics require coordination and reliability to manage high-value shipments at scale — with appointment scheduling, white-glove standards, and strict SLA commitments.

  • Appointment scheduling requires precise timing across many locations.
  • White-glove delivery standards demand premium handling and accuracy.
  • Multi-location routing complexity grows with large-scale operations.
  • Strict SLA commitments pressure teams to stay timely and error-free.
FMCG logistics

FMCG

FMCG logistics demands speed, precision, and continuous fulfillment across high-volume delivery networks. Businesses must balance tight delivery timelines, inventory movement, and operational efficiency without compromising product availability.

  • Unpredictable demand spikes create delivery pressure and reduce operational efficiency during peak periods.
  • Fresh product expiry constraints require faster, precisely timed deliveries to maintain product quality.
  • Multi-stop route complexity increases travel time, operational costs, and delivery coordination challenges.
  • Inventory stockout risks increase when delivery delays disrupt fast-moving product distribution.
Pharma logistics

Pharma

Pharma logistics requires precision, compliance, and real-time monitoring so every shipment arrives safely and on time — from temperature-sensitive medicines to urgent emergency deliveries.

  • Cold chain integrity demands precise temperature control throughout transit.
  • Regulatory compliance must be tracked and documented on every delivery.
  • Critical delivery time windows require highly accurate scheduling.
  • Emergency shipments need instant dispatch and zero-delay execution.
Enterprise and B2B logistics

Enterprise & B2B

Enterprise and B2B logistics require coordination and reliability to manage high-value shipments at scale — with appointment scheduling, white-glove standards, and strict SLA commitments.

  • Appointment scheduling requires precise timing across many locations.
  • White-glove delivery standards demand premium handling and accuracy.
  • Multi-location routing complexity grows with large-scale operations.
  • Strict SLA commitments pressure teams to stay timely and error-free.
\ No newline at end of file + + /* Compact footer link columns on phones (<=480px). The kit only sets + column --width at min-width:481px, so below that all four blocks + fall back to 100% and stack into one very tall column. Put the + logo+social full-width on top, then lay the three link groups out + in a 2-up grid (matching the tablet 47% intent) so the footer is + roughly half as tall. */ + /* Inline icon beside each contact label (Call Center / Our Location / + Email / Social network). */ + .elementor-6585 .dm-foot-label { + display: inline-flex !important; + align-items: center; + gap: 8px; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { + flex: 0 0 auto; + color: #C01227; + } + + /* ── Compact mobile contact footer (<=600px) ── + On phones the upper contact section stacked into one very tall + column with 50px margins between every block. Tighten the heading, + collapse those stack margins, and pair Email + Social side-by-side + (both are short) so the footer is far shorter without losing the + full-width address readability. */ + @media (max-width: 600px) { + /* Trim the band's oversized top/bottom padding on phones. */ + .elementor-6585 .elementor-element.elementor-element-b29b8fc > .e-con-inner { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .elementor-6585 .elementor-element.elementor-element-687d944 .logico-title { + font-size: clamp(24px, 6.6vw, 32px) !important; + line-height: 1.2 !important; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { width: 14px; height: 14px; } + /* The Call Center / Our Location group carries a 10px side padding + the Email / Social group doesn't, leaving its labels indented + 10px out of line with everything else — zero it so all four + contact blocks share the same left edge as the heading. */ + .elementor-6585 .elementor-element.elementor-element-2631b42 { + padding-left: 0 !important; + padding-right: 0 !important; + } + /* All four contact blocks stack in one left-aligned column with a + consistent gap (Social network sits below Email). */ + .elementor-6585 .elementor-element.elementor-element-2631b42, + .elementor-6585 .elementor-element.elementor-element-f5d8e63, + .elementor-6585 .elementor-element.elementor-element-645be8d, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + margin-top: 22px !important; + } + .elementor-6585 .elementor-element.elementor-element-645be8d > .e-con-inner { + flex-direction: column !important; + gap: 0 !important; + align-items: stretch !important; + } + .elementor-6585 .elementor-element.elementor-element-a96d151, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + width: 100% !important; + } + } + + @media (max-width: 480px) { + .elementor-6585 .elementor-element.elementor-element-3f1ba7a { + display: flex !important; + flex-direction: row !important; + flex-wrap: wrap !important; + gap: 36px 16px !important; + } + .elementor-6585 .elementor-element.elementor-element-64e2e81 { + flex: 0 0 100% !important; + width: 100% !important; + } + .elementor-6585 .elementor-element.elementor-element-5b73dd3, + .elementor-6585 .elementor-element.elementor-element-451f15c, + .elementor-6585 .elementor-element.elementor-element-44a1f5d { + flex: 1 1 calc(50% - 8px) !important; + width: calc(50% - 8px) !important; + min-width: 0 !important; + } + /* Allow long links (e.g. "Women entrepreneurship") to wrap inside + the narrow columns instead of overflowing. */ + .elementor-6585 .logico-custom-menu-widget li a { + white-space: normal !important; + } + /* Trim the large social-icons top gap so the brand block stays tight. */ + .elementor-6585 .elementor-element.elementor-element-e4e6486 > .elementor-widget-container { + margin-top: 24px !important; + } + } + \ No newline at end of file diff --git a/build/solutions.txt b/build/solutions.txt index 1a4d910..f11bc13 100644 --- a/build/solutions.txt +++ b/build/solutions.txt @@ -1,16 +1,16 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -12:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +12:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -56,21 +56,21 @@ c:T5ca, margin: 0 !important; } } - 0:{"P":null,"c":["","solutions"],"q":"","i":false,"f":[[["",{"children":["solutions",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$c"}}],"$Ld"],["$Le"],"$Lf"]}],{},null,false,null]},null,false,"$@10"]},null,false,null],"$L11",false]],"m":"$undefined","G":["$12",["$L13"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} -14:I[89937,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0.lr32w8agd2s.js"],"default"] -15:I[40086,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0.lr32w8agd2s.js"],"default"] -16:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] + 0:{"P":null,"c":["","solutions"],"q":"","i":false,"f":[[["",{"children":["solutions",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$c"}}],"$Ld"],["$Le"],"$Lf"]}],{},null,false,null]},null,false,"$@10"]},null,false,null],"$L11",false]],"m":"$undefined","G":["$12",["$L13"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +14:I[89937,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0y0w40785mt~m.js"],"default"] +15:I[40086,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0y0w40785mt~m.js"],"default"] +16:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 17:"$Sreact.suspense" -1a:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -1c:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +1a:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +1c:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] d:["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"59","className":"elementor elementor-59","children":[["$","$L14",null,{}],["$","$L15",null,{}]]}]}]}]}] -e:["$","script","script-0",{"src":"/_next/static/chunks/0.lr32w8agd2s.js","async":true,"nonce":"$undefined"}] +e:["$","script","script-0",{"src":"/_next/static/chunks/0y0w40785mt~m.js","async":true,"nonce":"$undefined"}] f:["$","$L16",null,{"children":["$","$17",null,{"name":"Next.MetadataOutlet","children":"$@18"}]}] 19:[] 10:"$W19" 11:["$","$1","h",{"children":[null,["$","$L1a",null,{"children":"$L1b"}],["$","div",null,{"hidden":true,"children":["$","$L1c",null,{"children":["$","$17",null,{"name":"Next.Metadata","children":"$L1d"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] -13:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +13:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] 1b:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -1e:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +1e:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] 18:null 1d:[["$","title","0",{"children":"Solutions – Doormile"}],["$","meta","1",{"name":"description","content":"Discover how Doormile's connected logistics platform serves diverse industries (FMCG, Pharma, and Enterprise) with tailored solutions."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L1e","7",{}]] diff --git a/build/solutions/__next._full.txt b/build/solutions/__next._full.txt index 1a4d910..f11bc13 100644 --- a/build/solutions/__next._full.txt +++ b/build/solutions/__next._full.txt @@ -1,16 +1,16 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -12:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +12:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -56,21 +56,21 @@ c:T5ca, margin: 0 !important; } } - 0:{"P":null,"c":["","solutions"],"q":"","i":false,"f":[[["",{"children":["solutions",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$c"}}],"$Ld"],["$Le"],"$Lf"]}],{},null,false,null]},null,false,"$@10"]},null,false,null],"$L11",false]],"m":"$undefined","G":["$12",["$L13"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} -14:I[89937,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0.lr32w8agd2s.js"],"default"] -15:I[40086,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0.lr32w8agd2s.js"],"default"] -16:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] + 0:{"P":null,"c":["","solutions"],"q":"","i":false,"f":[[["",{"children":["solutions",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$c"}}],"$Ld"],["$Le"],"$Lf"]}],{},null,false,null]},null,false,"$@10"]},null,false,null],"$L11",false]],"m":"$undefined","G":["$12",["$L13"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +14:I[89937,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0y0w40785mt~m.js"],"default"] +15:I[40086,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0y0w40785mt~m.js"],"default"] +16:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 17:"$Sreact.suspense" -1a:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -1c:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +1a:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +1c:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] d:["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"59","className":"elementor elementor-59","children":[["$","$L14",null,{}],["$","$L15",null,{}]]}]}]}]}] -e:["$","script","script-0",{"src":"/_next/static/chunks/0.lr32w8agd2s.js","async":true,"nonce":"$undefined"}] +e:["$","script","script-0",{"src":"/_next/static/chunks/0y0w40785mt~m.js","async":true,"nonce":"$undefined"}] f:["$","$L16",null,{"children":["$","$17",null,{"name":"Next.MetadataOutlet","children":"$@18"}]}] 19:[] 10:"$W19" 11:["$","$1","h",{"children":[null,["$","$L1a",null,{"children":"$L1b"}],["$","div",null,{"hidden":true,"children":["$","$L1c",null,{"children":["$","$17",null,{"name":"Next.Metadata","children":"$L1d"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] -13:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +13:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] 1b:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -1e:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +1e:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] 18:null 1d:[["$","title","0",{"children":"Solutions – Doormile"}],["$","meta","1",{"name":"description","content":"Discover how Doormile's connected logistics platform serves diverse industries (FMCG, Pharma, and Enterprise) with tailored solutions."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L1e","7",{}]] diff --git a/build/solutions/__next._head.txt b/build/solutions/__next._head.txt index c7fbc13..f671bfb 100644 --- a/build/solutions/__next._head.txt +++ b/build/solutions/__next._head.txt @@ -1,6 +1,6 @@ 1:"$Sreact.fragment" -2:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -3:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] 4:"$Sreact.suspense" -5:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] -0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Solutions – Doormile"}],["$","meta","1",{"name":"description","content":"Discover how Doormile's connected logistics platform serves diverse industries (FMCG, Pharma, and Enterprise) with tailored solutions."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Solutions – Doormile"}],["$","meta","1",{"name":"description","content":"Discover how Doormile's connected logistics platform serves diverse industries (FMCG, Pharma, and Enterprise) with tailored solutions."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/solutions/__next._index.txt b/build/solutions/__next._index.txt index d8e09a9..9c09249 100644 --- a/build/solutions/__next._index.txt +++ b/build/solutions/__next._index.txt @@ -1,15 +1,15 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/solutions/__next._tree.txt b/build/solutions/__next._tree.txt index 04d2494..41bbb97 100644 --- a/build/solutions/__next._tree.txt +++ b/build/solutions/__next._tree.txt @@ -1,4 +1,4 @@ -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -6,4 +6,4 @@ :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"solutions","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"solutions","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/solutions/__next.solutions.__PAGE__.txt b/build/solutions/__next.solutions.__PAGE__.txt index f6ac3a2..0bc9eef 100644 --- a/build/solutions/__next.solutions.__PAGE__.txt +++ b/build/solutions/__next.solutions.__PAGE__.txt @@ -1,7 +1,7 @@ 1:"$Sreact.fragment" -3:I[89937,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0.lr32w8agd2s.js"],"default"] -4:I[40086,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0.lr32w8agd2s.js"],"default"] -5:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +3:I[89937,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0y0w40785mt~m.js"],"default"] +4:I[40086,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js","/_next/static/chunks/0y0w40785mt~m.js"],"default"] +5:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 6:"$Sreact.suspense" 2:T5ca, /* Fix "Why Businesses Choose Doormile" section — anchor absolute image left, push content right */ @@ -41,5 +41,5 @@ margin: 0 !important; } } - 0:{"rsc":["$","$1","c",{"children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$2"}}],["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"59","className":"elementor elementor-59","children":[["$","$L3",null,{}],["$","$L4",null,{}]]}]}]}]}]],[["$","script","script-0",{"src":"/_next/static/chunks/0.lr32w8agd2s.js","async":true}]],["$","$L5",null,{"children":["$","$6",null,{"name":"Next.MetadataOutlet","children":"$@7"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} + 0:{"rsc":["$","$1","c",{"children":[[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"$2"}}],["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","div",null,{"data-elementor-type":"wp-page","data-elementor-id":"59","className":"elementor elementor-59","children":[["$","$L3",null,{}],["$","$L4",null,{}]]}]}]}]}]],[["$","script","script-0",{"src":"/_next/static/chunks/0y0w40785mt~m.js","async":true}]],["$","$L5",null,{"children":["$","$6",null,{"name":"Next.MetadataOutlet","children":"$@7"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} 7:null diff --git a/build/solutions/__next.solutions.txt b/build/solutions/__next.solutions.txt index 1983a3d..e7f2861 100644 --- a/build/solutions/__next.solutions.txt +++ b/build/solutions/__next.solutions.txt @@ -1,5 +1,5 @@ 1:"$Sreact.fragment" -2:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] 4:[] -0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/terms-of-service.html b/build/terms-of-service.html index 6b89d38..089afb3 100644 --- a/build/terms-of-service.html +++ b/build/terms-of-service.html @@ -1,4 +1,4 @@ -Terms of Service – Doormile
\ No newline at end of file + + /* Compact footer link columns on phones (<=480px). The kit only sets + column --width at min-width:481px, so below that all four blocks + fall back to 100% and stack into one very tall column. Put the + logo+social full-width on top, then lay the three link groups out + in a 2-up grid (matching the tablet 47% intent) so the footer is + roughly half as tall. */ + /* Inline icon beside each contact label (Call Center / Our Location / + Email / Social network). */ + .elementor-6585 .dm-foot-label { + display: inline-flex !important; + align-items: center; + gap: 8px; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { + flex: 0 0 auto; + color: #C01227; + } + + /* ── Compact mobile contact footer (<=600px) ── + On phones the upper contact section stacked into one very tall + column with 50px margins between every block. Tighten the heading, + collapse those stack margins, and pair Email + Social side-by-side + (both are short) so the footer is far shorter without losing the + full-width address readability. */ + @media (max-width: 600px) { + /* Trim the band's oversized top/bottom padding on phones. */ + .elementor-6585 .elementor-element.elementor-element-b29b8fc > .e-con-inner { + padding-top: 40px !important; + padding-bottom: 40px !important; + } + .elementor-6585 .elementor-element.elementor-element-687d944 .logico-title { + font-size: clamp(24px, 6.6vw, 32px) !important; + line-height: 1.2 !important; + } + .elementor-6585 .dm-foot-label .dm-foot-ic { width: 14px; height: 14px; } + /* The Call Center / Our Location group carries a 10px side padding + the Email / Social group doesn't, leaving its labels indented + 10px out of line with everything else — zero it so all four + contact blocks share the same left edge as the heading. */ + .elementor-6585 .elementor-element.elementor-element-2631b42 { + padding-left: 0 !important; + padding-right: 0 !important; + } + /* All four contact blocks stack in one left-aligned column with a + consistent gap (Social network sits below Email). */ + .elementor-6585 .elementor-element.elementor-element-2631b42, + .elementor-6585 .elementor-element.elementor-element-f5d8e63, + .elementor-6585 .elementor-element.elementor-element-645be8d, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + margin-top: 22px !important; + } + .elementor-6585 .elementor-element.elementor-element-645be8d > .e-con-inner { + flex-direction: column !important; + gap: 0 !important; + align-items: stretch !important; + } + .elementor-6585 .elementor-element.elementor-element-a96d151, + .elementor-6585 .elementor-element.elementor-element-9ba4b82 { + width: 100% !important; + } + } + + @media (max-width: 480px) { + .elementor-6585 .elementor-element.elementor-element-3f1ba7a { + display: flex !important; + flex-direction: row !important; + flex-wrap: wrap !important; + gap: 36px 16px !important; + } + .elementor-6585 .elementor-element.elementor-element-64e2e81 { + flex: 0 0 100% !important; + width: 100% !important; + } + .elementor-6585 .elementor-element.elementor-element-5b73dd3, + .elementor-6585 .elementor-element.elementor-element-451f15c, + .elementor-6585 .elementor-element.elementor-element-44a1f5d { + flex: 1 1 calc(50% - 8px) !important; + width: calc(50% - 8px) !important; + min-width: 0 !important; + } + /* Allow long links (e.g. "Women entrepreneurship") to wrap inside + the narrow columns instead of overflowing. */ + .elementor-6585 .logico-custom-menu-widget li a { + white-space: normal !important; + } + /* Trim the large social-icons top gap so the brand block stays tight. */ + .elementor-6585 .elementor-element.elementor-element-e4e6486 > .elementor-widget-container { + margin-top: 24px !important; + } + } + \ No newline at end of file diff --git a/build/terms-of-service.txt b/build/terms-of-service.txt index afed8cf..5626d35 100644 --- a/build/terms-of-service.txt +++ b/build/terms-of-service.txt @@ -1,16 +1,16 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -19:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +19:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -18,11 +18,11 @@ b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4 :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"P":null,"c":["","terms-of-service"],"q":"","i":false,"f":[[["",{"children":["terms-of-service",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","section",null,{"className":"dm-legal","aria-label":"Terms of Service","children":[["$","div",null,{"className":"dm-legal__wrap","children":[["$","aside",null,{"className":"dm-legal__toc","aria-label":"On this page","children":["$","div",null,{"className":"dm-legal__toc-inner","children":[["$","p",null,{"className":"dm-legal__toc-label","children":"On this page"}],["$","nav",null,{"children":["$","ul",null,{"children":[["$","li","Acceptance of Terms",{"children":["$","a",null,{"href":"#acceptance-of-terms","children":"Acceptance of Terms"}]}],["$","li","Permitted Use",{"children":["$","a",null,{"href":"#permitted-use","children":"Permitted Use"}]}],["$","li","Intellectual Property Rights",{"children":["$","a",null,{"href":"#intellectual-property-rights","children":"Intellectual Property Rights"}]}],"$Lc","$Ld","$Le","$Lf","$L10","$L11","$L12","$L13"]}]}]]}]}],"$L14"]}],"$L15"]}]}]}]}],null,"$L16"]}],{},null,false,null]},null,false,"$@17"]},null,false,null],"$L18",false]],"m":"$undefined","G":["$19",["$L1a"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} -20:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +0:{"P":null,"c":["","terms-of-service"],"q":"","i":false,"f":[[["",{"children":["terms-of-service",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","section",null,{"className":"dm-legal","aria-label":"Terms of Service","children":[["$","div",null,{"className":"dm-legal__wrap","children":[["$","aside",null,{"className":"dm-legal__toc","aria-label":"On this page","children":["$","div",null,{"className":"dm-legal__toc-inner","children":[["$","p",null,{"className":"dm-legal__toc-label","children":"On this page"}],["$","nav",null,{"children":["$","ul",null,{"children":[["$","li","Acceptance of Terms",{"children":["$","a",null,{"href":"#acceptance-of-terms","children":"Acceptance of Terms"}]}],["$","li","Permitted Use",{"children":["$","a",null,{"href":"#permitted-use","children":"Permitted Use"}]}],["$","li","Intellectual Property Rights",{"children":["$","a",null,{"href":"#intellectual-property-rights","children":"Intellectual Property Rights"}]}],"$Lc","$Ld","$Le","$Lf","$L10","$L11","$L12","$L13"]}]}]]}]}],"$L14"]}],"$L15"]}]}]}]}],null,"$L16"]}],{},null,false,null]},null,false,"$@17"]},null,false,null],"$L18",false]],"m":"$undefined","G":["$19",["$L1a"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +20:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 21:"$Sreact.suspense" -24:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -26:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +24:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +26:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] c:["$","li","User Submissions",{"children":["$","a",null,{"href":"#user-submissions","children":"User Submissions"}]}] d:["$","li","Service Availability",{"children":["$","a",null,{"href":"#service-availability","children":"Service Availability"}]}] e:["$","li","Disclaimer of Warranties",{"children":["$","a",null,{"href":"#disclaimer-of-warranties","children":"Disclaimer of Warranties"}]}] @@ -210,13 +210,13 @@ f:["$","li","Limitation of Liability",{"children":["$","a",null,{"href":"#limita 23:[] 17:"$W23" 18:["$","$1","h",{"children":[null,["$","$L24",null,{"children":"$L25"}],["$","div",null,{"hidden":true,"children":["$","$L26",null,{"children":["$","$21",null,{"name":"Next.Metadata","children":"$L27"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] -1a:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] -28:I[22016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] +1a:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +28:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] 1b:["$","section","Indemnification",{"id":"indemnification","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Indemnification"}],[["$","p","0",{"className":"dm-legal__p","children":"Users agree to indemnify and hold harmless Doormile, its employees, partners, and affiliates from claims arising from misuse of the website or violation of these terms."}]]]}] 1c:["$","section","Modifications",{"id":"modifications","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Modifications"}],[["$","p","0",{"className":"dm-legal__p","children":"We reserve the right to update or modify these Terms of Service at any time. Continued use of the website following updates constitutes acceptance of the revised terms."}]]]}] 1d:["$","section","Governing Law",{"id":"governing-law","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Governing Law"}],[["$","p","0",{"className":"dm-legal__p","children":"These Terms shall be governed by and interpreted in accordance with applicable laws and regulations in the jurisdictions where Doormile conducts business."}]]]}] 1e:["$","section","Contact Us",{"id":"contact-us","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Contact Us"}],[["$","p","0",{"className":"dm-legal__p","children":["Questions regarding these Terms of Service may be submitted through our ",["$","$L28",null,{"href":"/contact","className":"dm-legal__link","children":"Contact page"}],"."]}]]]}] 25:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -29:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +29:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] 22:null 27:[["$","title","0",{"children":"Terms of Service – Doormile"}],["$","meta","1",{"name":"description","content":"The Terms of Service governing your access to and use of the Doormile website and related services."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L29","7",{}]] diff --git a/build/terms-of-service/__next._full.txt b/build/terms-of-service/__next._full.txt index afed8cf..5626d35 100644 --- a/build/terms-of-service/__next._full.txt +++ b/build/terms-of-service/__next._full.txt @@ -1,16 +1,16 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -19:I[68027,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +19:I[68027,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default",1] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -18,11 +18,11 @@ b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4 :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"P":null,"c":["","terms-of-service"],"q":"","i":false,"f":[[["",{"children":["terms-of-service",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","section",null,{"className":"dm-legal","aria-label":"Terms of Service","children":[["$","div",null,{"className":"dm-legal__wrap","children":[["$","aside",null,{"className":"dm-legal__toc","aria-label":"On this page","children":["$","div",null,{"className":"dm-legal__toc-inner","children":[["$","p",null,{"className":"dm-legal__toc-label","children":"On this page"}],["$","nav",null,{"children":["$","ul",null,{"children":[["$","li","Acceptance of Terms",{"children":["$","a",null,{"href":"#acceptance-of-terms","children":"Acceptance of Terms"}]}],["$","li","Permitted Use",{"children":["$","a",null,{"href":"#permitted-use","children":"Permitted Use"}]}],["$","li","Intellectual Property Rights",{"children":["$","a",null,{"href":"#intellectual-property-rights","children":"Intellectual Property Rights"}]}],"$Lc","$Ld","$Le","$Lf","$L10","$L11","$L12","$L13"]}]}]]}]}],"$L14"]}],"$L15"]}]}]}]}],null,"$L16"]}],{},null,false,null]},null,false,"$@17"]},null,false,null],"$L18",false]],"m":"$undefined","G":["$19",["$L1a"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"stHCYLWgK385AnoV1Kxkn"} -20:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +0:{"P":null,"c":["","terms-of-service"],"q":"","i":false,"f":[[["",{"children":["terms-of-service",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L9",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","section",null,{"className":"dm-legal","aria-label":"Terms of Service","children":[["$","div",null,{"className":"dm-legal__wrap","children":[["$","aside",null,{"className":"dm-legal__toc","aria-label":"On this page","children":["$","div",null,{"className":"dm-legal__toc-inner","children":[["$","p",null,{"className":"dm-legal__toc-label","children":"On this page"}],["$","nav",null,{"children":["$","ul",null,{"children":[["$","li","Acceptance of Terms",{"children":["$","a",null,{"href":"#acceptance-of-terms","children":"Acceptance of Terms"}]}],["$","li","Permitted Use",{"children":["$","a",null,{"href":"#permitted-use","children":"Permitted Use"}]}],["$","li","Intellectual Property Rights",{"children":["$","a",null,{"href":"#intellectual-property-rights","children":"Intellectual Property Rights"}]}],"$Lc","$Ld","$Le","$Lf","$L10","$L11","$L12","$L13"]}]}]]}]}],"$L14"]}],"$L15"]}]}]}]}],null,"$L16"]}],{},null,false,null]},null,false,"$@17"]},null,false,null],"$L18",false]],"m":"$undefined","G":["$19",["$L1a"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"TAuyMDUsvWIfF6U_s0MKe"} +20:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] 21:"$Sreact.suspense" -24:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -26:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +24:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +26:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] c:["$","li","User Submissions",{"children":["$","a",null,{"href":"#user-submissions","children":"User Submissions"}]}] d:["$","li","Service Availability",{"children":["$","a",null,{"href":"#service-availability","children":"Service Availability"}]}] e:["$","li","Disclaimer of Warranties",{"children":["$","a",null,{"href":"#disclaimer-of-warranties","children":"Disclaimer of Warranties"}]}] @@ -210,13 +210,13 @@ f:["$","li","Limitation of Liability",{"children":["$","a",null,{"href":"#limita 23:[] 17:"$W23" 18:["$","$1","h",{"children":[null,["$","$L24",null,{"children":"$L25"}],["$","div",null,{"hidden":true,"children":["$","$L26",null,{"children":["$","$21",null,{"name":"Next.Metadata","children":"$L27"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}] -1a:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] -28:I[22016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] +1a:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] +28:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] 1b:["$","section","Indemnification",{"id":"indemnification","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Indemnification"}],[["$","p","0",{"className":"dm-legal__p","children":"Users agree to indemnify and hold harmless Doormile, its employees, partners, and affiliates from claims arising from misuse of the website or violation of these terms."}]]]}] 1c:["$","section","Modifications",{"id":"modifications","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Modifications"}],[["$","p","0",{"className":"dm-legal__p","children":"We reserve the right to update or modify these Terms of Service at any time. Continued use of the website following updates constitutes acceptance of the revised terms."}]]]}] 1d:["$","section","Governing Law",{"id":"governing-law","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Governing Law"}],[["$","p","0",{"className":"dm-legal__p","children":"These Terms shall be governed by and interpreted in accordance with applicable laws and regulations in the jurisdictions where Doormile conducts business."}]]]}] 1e:["$","section","Contact Us",{"id":"contact-us","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Contact Us"}],[["$","p","0",{"className":"dm-legal__p","children":["Questions regarding these Terms of Service may be submitted through our ",["$","$L28",null,{"href":"/contact","className":"dm-legal__link","children":"Contact page"}],"."]}]]]}] 25:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] -29:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +29:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] 22:null 27:[["$","title","0",{"children":"Terms of Service – Doormile"}],["$","meta","1",{"name":"description","content":"The Terms of Service governing your access to and use of the Doormile website and related services."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L29","7",{}]] diff --git a/build/terms-of-service/__next._head.txt b/build/terms-of-service/__next._head.txt index c43bed7..30a994a 100644 --- a/build/terms-of-service/__next._head.txt +++ b/build/terms-of-service/__next._head.txt @@ -1,6 +1,6 @@ 1:"$Sreact.fragment" -2:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] -3:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] +2:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"ViewportBoundary"] +3:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"MetadataBoundary"] 4:"$Sreact.suspense" -5:I[27201,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] -0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Terms of Service – Doormile"}],["$","meta","1",{"name":"description","content":"The Terms of Service governing your access to and use of the Doormile website and related services."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +5:I[27201,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"IconMark"] +0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Terms of Service – Doormile"}],["$","meta","1",{"name":"description","content":"The Terms of Service governing your access to and use of the Doormile website and related services."}],["$","meta","2",{"name":"robots","content":"index, follow"}],["$","link","3",{"rel":"shortcut icon","href":"/images/cropped-image-2.png"}],["$","link","4",{"rel":"icon","href":"/favicon.ico?favicon.14w3bhkxgz946.ico","sizes":"40x40","type":"image/x-icon"}],["$","link","5",{"rel":"icon","href":"/images/cropped-image-2.png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/images/cropped-image-2.png"}],["$","$L5","7",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/terms-of-service/__next._index.txt b/build/terms-of-service/__next._index.txt index d8e09a9..9c09249 100644 --- a/build/terms-of-service/__next._index.txt +++ b/build/terms-of-service/__next._index.txt @@ -1,15 +1,15 @@ 1:"$Sreact.fragment" -2:I[67989,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[8971,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -4:I[48064,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -5:I[26290,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -6:I[82637,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] -7:I[92260,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -8:I[3374,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -9:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -a:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -b:I[58234,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +2:I[67989,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[8971,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +4:I[48064,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +5:I[26290,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +6:I[82637,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"HeaderUIProvider"] +7:I[92260,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +8:I[3374,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +9:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +a:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +b:I[58234,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0mj5g~jkoe.ou.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0x56skhob._h5.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/13otmx4jlwoeg.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/07p.f8bslwkh6.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0ejo5d-~uyw2f.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/09319k21oxyrj.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03-hxrp~efw2j.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/04xui0pxt.et1.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/172o.szw5ilgb.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/0d3shmwh5_nmn.js","async":true}]],["$","html",null,{"lang":"en-US","data-scroll-behavior":"smooth","className":"manrope_67dc055e-module__BHrBnq__variable space_grotesk_2e42c3c6-module__3Wl9rq__variable syne_ef5854ac-module__2TJB3a__variable dm_sans_2770e922-module__TdA3fW__variable inter_5dbe1e89-module__i9oJOa__variable","children":[["$","head",null,{"children":[["$","link",null,{"rel":"stylesheet","href":"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"}],["$","link",null,{"rel":"stylesheet","href":"/css/site.css"}]]}],["$","body",null,{"className":"wp-singular page-template-default page wp-theme-logico wp-child-theme-logico-child theme-logico ehf-header ehf-footer ehf-template-logico ehf-stylesheet-logico-child logico-front-end logico-theme-style-rounded elementor-default elementor-kit-5 elementor-page","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{}],["$","$L6",null,{"children":[["$","$L7",null,{}],["$","div",null,{"className":"body-container","children":["$","div",null,{"id":"page","className":"hfeed site","children":[["$","$L8",null,{}],["$","$L9",null,{"parallelRouterKey":"children","template":["$","$La",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$Lb",null,{}]]}]}]]}]]}]]}]]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/terms-of-service/__next._tree.txt b/build/terms-of-service/__next._tree.txt index f41d856..03dc214 100644 --- a/build/terms-of-service/__next._tree.txt +++ b/build/terms-of-service/__next._tree.txt @@ -1,4 +1,4 @@ -:HL["/_next/static/chunks/0mj5g~jkoe.ou.css","style"] +:HL["/_next/static/chunks/0ejo5d-~uyw2f.css","style"] :HL["/_next/static/media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2","font",{"crossOrigin":"","type":"font/woff2"}] @@ -6,4 +6,4 @@ :HL["/_next/static/media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css","style"] :HL["/css/site.css","style"] -0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"terms-of-service","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"terms-of-service","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} diff --git a/build/terms-of-service/__next.terms-of-service.__PAGE__.txt b/build/terms-of-service/__next.terms-of-service.__PAGE__.txt index b9de8d5..5933596 100644 --- a/build/terms-of-service/__next.terms-of-service.__PAGE__.txt +++ b/build/terms-of-service/__next.terms-of-service.__PAGE__.txt @@ -1,8 +1,8 @@ 1:"$Sreact.fragment" -c:I[22016,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] -e:I[97367,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] +c:I[22016,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],""] +e:I[97367,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"OutletBoundary"] f:"$Sreact.suspense" -0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","section",null,{"className":"dm-legal","aria-label":"Terms of Service","children":[["$","div",null,{"className":"dm-legal__wrap","children":[["$","aside",null,{"className":"dm-legal__toc","aria-label":"On this page","children":["$","div",null,{"className":"dm-legal__toc-inner","children":[["$","p",null,{"className":"dm-legal__toc-label","children":"On this page"}],["$","nav",null,{"children":["$","ul",null,{"children":[["$","li","Acceptance of Terms",{"children":["$","a",null,{"href":"#acceptance-of-terms","children":"Acceptance of Terms"}]}],["$","li","Permitted Use",{"children":["$","a",null,{"href":"#permitted-use","children":"Permitted Use"}]}],["$","li","Intellectual Property Rights",{"children":["$","a",null,{"href":"#intellectual-property-rights","children":"Intellectual Property Rights"}]}],["$","li","User Submissions",{"children":["$","a",null,{"href":"#user-submissions","children":"User Submissions"}]}],["$","li","Service Availability",{"children":["$","a",null,{"href":"#service-availability","children":"Service Availability"}]}],["$","li","Disclaimer of Warranties",{"children":["$","a",null,{"href":"#disclaimer-of-warranties","children":"Disclaimer of Warranties"}]}],["$","li","Limitation of Liability",{"children":["$","a",null,{"href":"#limitation-of-liability","children":"Limitation of Liability"}]}],["$","li","Indemnification",{"children":["$","a",null,{"href":"#indemnification","children":"Indemnification"}]}],["$","li","Modifications",{"children":["$","a",null,{"href":"#modifications","children":"Modifications"}]}],["$","li","Governing Law",{"children":["$","a",null,{"href":"#governing-law","children":"Governing Law"}]}],["$","li","Contact Us",{"children":["$","a",null,{"href":"#contact-us","children":"Contact Us"}]}]]}]}]]}]}],["$","div",null,{"className":"dm-legal__main","children":[["$","header",null,{"className":"dm-legal__hero","children":[["$","h1",null,{"className":"dm-legal__title","children":"Terms of Service"}],["$","p",null,{"className":"dm-legal__updated","children":["Last Updated: ","June 2026"]}],["$","p",null,{"className":"dm-legal__lead","children":"These Terms of Service govern your access to and use of the Doormile website and related services. By accessing or using our website, you agree to comply with these terms."}]]}],["$","article",null,{"className":"dm-legal__content","children":[["$","section","Acceptance of Terms",{"id":"acceptance-of-terms","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Acceptance of Terms"}],[["$","p","0",{"className":"dm-legal__p","children":"By accessing this website, you acknowledge that you have read, understood, and agreed to these Terms of Service and all applicable laws and regulations."}]]]}],["$","section","Permitted Use",{"id":"permitted-use","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Permitted Use"}],[["$","p","0",{"className":"dm-legal__p","children":"You agree to use the website and services only for lawful purposes and in accordance with these terms."}],["$","p","1",{"className":"dm-legal__p","children":"You agree not to:"}],["$","ul","2",{"className":"dm-legal__ul","children":[["$","li","0",{"children":"Violate applicable laws or regulations"}],["$","li","1",{"children":"Attempt unauthorized access to systems or networks"}],["$","li","2",{"children":"Interfere with website functionality or security"}],["$","li","3",{"children":"Distribute malicious software or harmful code"}],["$","li","4",{"children":"Misrepresent your identity or organization"}],["$","li","5",{"children":"Use website content without authorization"}]]}]]]}],["$","section","Intellectual Property Rights",{"id":"intellectual-property-rights","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Intellectual Property Rights"}],[["$","p","0",{"className":"dm-legal__p","children":"All content, technology, software, graphics, trademarks, logos, text, designs, and other materials available on this website are the property of Doormile or its licensors and are protected by applicable intellectual property laws."}]]]}],"$L2","$L3","$L4","$L5","$L6","$L7","$L8","$L9"]}]]}]]}],"$La"]}]}]}]}],null,"$Lb"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[["$","div",null,{"className":"content-wrapper content-wrapper-may-contain-elementor-code content-wrapper-sidebar-position-none","children":["$","div",null,{"className":"content","children":["$","div",null,{"className":"content-inner","children":["$","section",null,{"className":"dm-legal","aria-label":"Terms of Service","children":[["$","div",null,{"className":"dm-legal__wrap","children":[["$","aside",null,{"className":"dm-legal__toc","aria-label":"On this page","children":["$","div",null,{"className":"dm-legal__toc-inner","children":[["$","p",null,{"className":"dm-legal__toc-label","children":"On this page"}],["$","nav",null,{"children":["$","ul",null,{"children":[["$","li","Acceptance of Terms",{"children":["$","a",null,{"href":"#acceptance-of-terms","children":"Acceptance of Terms"}]}],["$","li","Permitted Use",{"children":["$","a",null,{"href":"#permitted-use","children":"Permitted Use"}]}],["$","li","Intellectual Property Rights",{"children":["$","a",null,{"href":"#intellectual-property-rights","children":"Intellectual Property Rights"}]}],["$","li","User Submissions",{"children":["$","a",null,{"href":"#user-submissions","children":"User Submissions"}]}],["$","li","Service Availability",{"children":["$","a",null,{"href":"#service-availability","children":"Service Availability"}]}],["$","li","Disclaimer of Warranties",{"children":["$","a",null,{"href":"#disclaimer-of-warranties","children":"Disclaimer of Warranties"}]}],["$","li","Limitation of Liability",{"children":["$","a",null,{"href":"#limitation-of-liability","children":"Limitation of Liability"}]}],["$","li","Indemnification",{"children":["$","a",null,{"href":"#indemnification","children":"Indemnification"}]}],["$","li","Modifications",{"children":["$","a",null,{"href":"#modifications","children":"Modifications"}]}],["$","li","Governing Law",{"children":["$","a",null,{"href":"#governing-law","children":"Governing Law"}]}],["$","li","Contact Us",{"children":["$","a",null,{"href":"#contact-us","children":"Contact Us"}]}]]}]}]]}]}],["$","div",null,{"className":"dm-legal__main","children":[["$","header",null,{"className":"dm-legal__hero","children":[["$","h1",null,{"className":"dm-legal__title","children":"Terms of Service"}],["$","p",null,{"className":"dm-legal__updated","children":["Last Updated: ","June 2026"]}],["$","p",null,{"className":"dm-legal__lead","children":"These Terms of Service govern your access to and use of the Doormile website and related services. By accessing or using our website, you agree to comply with these terms."}]]}],["$","article",null,{"className":"dm-legal__content","children":[["$","section","Acceptance of Terms",{"id":"acceptance-of-terms","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Acceptance of Terms"}],[["$","p","0",{"className":"dm-legal__p","children":"By accessing this website, you acknowledge that you have read, understood, and agreed to these Terms of Service and all applicable laws and regulations."}]]]}],["$","section","Permitted Use",{"id":"permitted-use","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Permitted Use"}],[["$","p","0",{"className":"dm-legal__p","children":"You agree to use the website and services only for lawful purposes and in accordance with these terms."}],["$","p","1",{"className":"dm-legal__p","children":"You agree not to:"}],["$","ul","2",{"className":"dm-legal__ul","children":[["$","li","0",{"children":"Violate applicable laws or regulations"}],["$","li","1",{"children":"Attempt unauthorized access to systems or networks"}],["$","li","2",{"children":"Interfere with website functionality or security"}],["$","li","3",{"children":"Distribute malicious software or harmful code"}],["$","li","4",{"children":"Misrepresent your identity or organization"}],["$","li","5",{"children":"Use website content without authorization"}]]}]]]}],["$","section","Intellectual Property Rights",{"id":"intellectual-property-rights","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Intellectual Property Rights"}],[["$","p","0",{"className":"dm-legal__p","children":"All content, technology, software, graphics, trademarks, logos, text, designs, and other materials available on this website are the property of Doormile or its licensors and are protected by applicable intellectual property laws."}]]]}],"$L2","$L3","$L4","$L5","$L6","$L7","$L8","$L9"]}]]}]]}],"$La"]}]}]}]}],null,"$Lb"]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"TAuyMDUsvWIfF6U_s0MKe"} 2:["$","section","User Submissions",{"id":"user-submissions","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"User Submissions"}],[["$","p","0",{"className":"dm-legal__p","children":"Any information submitted through forms, inquiries, or communications must be accurate and lawful. Users are responsible for the content they submit."}]]]}] 3:["$","section","Service Availability",{"id":"service-availability","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Service Availability"}],[["$","p","0",{"className":"dm-legal__p","children":"While we strive to maintain uninterrupted access, we do not guarantee that the website or services will always be available, secure, or error-free."}]]]}] 4:["$","section","Disclaimer of Warranties",{"id":"disclaimer-of-warranties","className":"dm-legal__section","children":[["$","h2",null,{"className":"dm-legal__h2","children":"Disclaimer of Warranties"}],[["$","p","0",{"className":"dm-legal__p","children":"The website and services are provided on an \"as is\" and \"as available\" basis without warranties of any kind, whether express or implied."}]]]}] diff --git a/build/terms-of-service/__next.terms-of-service.txt b/build/terms-of-service/__next.terms-of-service.txt index 1983a3d..e7f2861 100644 --- a/build/terms-of-service/__next.terms-of-service.txt +++ b/build/terms-of-service/__next.terms-of-service.txt @@ -1,5 +1,5 @@ 1:"$Sreact.fragment" -2:I[39756,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] -3:I[37457,["/_next/static/chunks/0x56skhob._h5.js","/_next/static/chunks/13otmx4jlwoeg.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/07p.f8bslwkh6.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +2:I[39756,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] +3:I[37457,["/_next/static/chunks/09319k21oxyrj.js","/_next/static/chunks/03-hxrp~efw2j.js","/_next/static/chunks/04xui0pxt.et1.js","/_next/static/chunks/172o.szw5ilgb.js","/_next/static/chunks/0d3shmwh5_nmn.js"],"default"] 4:[] -0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"stHCYLWgK385AnoV1Kxkn"} +0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"TAuyMDUsvWIfF6U_s0MKe"}